Tránh lạm dụng quá mức trong hồi quy: các lựa chọn thay thế cho chính quy


19

Chính quy trong hồi quy (tuyến tính, logistic ...) là cách phổ biến nhất để giảm sự phù hợp quá mức.

Khi mục tiêu là độ chính xác dự đoán (không giải thích), có sự thay thế tốt nào cho việc chính quy hóa, đặc biệt phù hợp với các tập dữ liệu lớn (mi / tỷ tỷ quan sát và hàng triệu tính năng) không?


3
"Bộ dữ liệu lớn" có thể có nghĩa là rất nhiều quan sát, rất nhiều biến hoặc cả hai và câu trả lời có thể phụ thuộc vào số lượng quan sát và biến.
Pere

Tại sao không sử dụng chính quy định mức? Đối với các mạng thần kinh, có sự bỏ học
seanv507

4
Ưu điểm của chính quy là giá rẻ về mặt tính toán. Các phương pháp tập hợp như đóng bao và tăng cường (vv) kết hợp với các phương pháp xác thực chéo cho chẩn đoán mô hình là một lựa chọn tốt, nhưng nó sẽ là một giải pháp tốn kém hơn nhiều.
Digio

1
Điều này có thể được quan tâm: stats.stackexchange.com/a/161592/40604
Dan

1
Để thêm vào nhận xét của Digio: chính quy hóa rẻ so với đóng bao / tăng tốc nhưng vẫn đắt so với phương án "không chính quy hóa" (xem ví dụ bài đăng này của Ben Recht về cách chính quy hóa làm cho việc học sâu khó khăn ). Nếu bạn có một số lượng lớn các mẫu, không có chính quy có thể hoạt động tốt với giá rẻ hơn nhiều. Mô hình vẫn có thể khái quát tốt như @ hxd1001 chỉ ra )
Berk U.

Câu trả lời:


11

Hai điểm quan trọng không liên quan trực tiếp đến câu hỏi của bạn:

  • Đầu tiên, ngay cả mục tiêu là độ chính xác thay vì giải thích, việc chính quy hóa vẫn cần thiết trong nhiều trường hợp, vì nó sẽ đảm bảo "độ chính xác cao" trên tập dữ liệu thử nghiệm / sản xuất thực chứ không phải dữ liệu được sử dụng để mô hình hóa.

  • Thứ hai, nếu có hàng tỷ hàng và hàng triệu cột, có thể không cần chính quy hóa. Điều này là do dữ liệu rất lớn và nhiều mô hình tính toán có "sức mạnh hạn chế", nghĩa là gần như không thể phù hợp. Đây là lý do tại sao một số mạng thần kinh sâu có hàng tỷ thông số.


Bây giờ, về câu hỏi của bạn. Như Ben và Andrey đã đề cập, có một số lựa chọn thay thế cho việc chính quy hóa. Tôi muốn thêm nhiều ví dụ.

  • Sử dụng mô hình đơn giản hơn (Ví dụ: giảm số lượng đơn vị ẩn trong mạng thần kinh. Sử dụng hạt nhân đa thức bậc thấp hơn trong SVM. Giảm số lượng Gaussian trong hỗn hợp Gaussian, v.v.)

  • Dừng lại sớm trong việc tối ưu hóa. (Ví dụ: giảm kỷ nguyên trong đào tạo mạng thần kinh, giảm số lần lặp trong tối ưu hóa (CG, BFGS, v.v.)

  • Trung bình trên nhiều mô hình (Ví dụ: rừng ngẫu nhiên, v.v.)


Cảm ơn rất nhiều. Tùy chọn thứ hai (dừng sớm) là những gì chúng tôi đang cố gắng hiện tại với SGD. Nó hoạt động khá tốt. Chúng tôi muốn so sánh nó với chính quy hóa sớm. Bạn có biết bất kỳ bài viết nào đề cập đến phương pháp này?
Benoit Sanchez

1
Có một gợi ý về mối quan hệ hình học giữa dừng sớm với độ dốc giảm dần và chính quy hóa. Ví dụ, hồi quy sườn ở dạng nguyên thủy của nó yêu cầu các tham số giảm thiểu hàm mất nằm trong một hình elip đặc ở giữa gốc, với kích thước của hình elip là hàm của cường độ chính quy. Các tham số sườn nằm trên bề mặt của hình elip nếu chúng khác với giải pháp không chính quy. Nếu bạn chạy lên bắt đầu từ điểm gốc, và sau đó dừng lại sớm, bạn sẽ ở trên ranh giới của một trong những hình elip này ...
Matthew Drury

Bởi vì bạn đã theo dõi độ dốc, bạn đã đi theo con đường đến mức tối thiểu thực sự, do đó bạn sẽ kết thúc khoảng thời gian xung quanh giải pháp sườn núi trong phần lớn thời gian. Tôi không chắc bạn có thể tạo ra dòng suy nghĩ nghiêm ngặt đến mức nào, nhưng có thể có một mối quan hệ.
Matthew Drury

@BenoitSanchez Bài viết này có thể có liên quan. Các tác giả giải quyết một vấn đề khác nhau (quá mức trong tính toán eigenvector), nhưng chiến lược để xử lý quá mức là như nhau (nghĩa là chính quy hóa ngầm bằng cách giảm tính toán). Chiến lược là giải quyết một vấn đề rẻ hơn tạo ra một giải pháp gần đúng (mà tôi nghĩ - cũng giống như dừng lại sớm trong việc tối ưu hóa).
Berk U.

@BenoitSanchez Tôi khuyên bạn nên điều này. Các bài giảng của Lorenzo có sẵn trên youtube, nhưng trang này cũng có các liên kết đến một vài bài báo mit.edu/~9.520/fall17/Class/early_stopping.html
David Kozak

14

Hai lựa chọn thay thế cho chính quy:

  1. Có nhiều, nhiều quan sát
  2. Sử dụng một mô hình đơn giản hơn

Geoff Hinton (đồng phát minh ra propogation) đã từng kể một câu chuyện về các kỹ sư đã nói với anh ta (diễn giải nặng nề), "Geoff, chúng tôi không cần bỏ học trong mạng lưới sâu của chúng tôi vì chúng tôi có quá nhiều dữ liệu." Và câu trả lời của anh ấy là "Chà, sau đó bạn nên xây dựng các lưới sâu hơn nữa, cho đến khi bạn bị thừa , và sau đó sử dụng bỏ học." Lời khuyên tốt sang một bên, rõ ràng bạn có thể tránh việc thường xuyên ngay cả với lưới sâu, miễn là có đủ dữ liệu.

Với số lượng quan sát cố định, bạn cũng có thể chọn mô hình đơn giản hơn. Bạn có thể không cần chính quy để ước tính đánh chặn, độ dốc và phương sai lỗi trong hồi quy tuyến tính đơn giản.


3

Một số khả năng bổ sung để tránh lạm dụng

  • Giảm kích thước

    mtôi<<m

  • Lựa chọn tính năng (cũng giảm kích thước)

    Bạn có thể thực hiện một vòng lựa chọn tính năng (ví dụ: sử dụng LASSO) để có được không gian tính năng chiều thấp hơn. Một cái gì đó giống như lựa chọn tính năng bằng LASSO có thể hữu ích nếu một số tập hợp con lớn nhưng chưa biết của các tính năng không liên quan.

  • Sử dụng các thuật toán ít có xu hướng quá mức như rừng ngẫu nhiên. (Tùy thuộc vào cài đặt, số lượng tính năng, v.v ..., chúng có thể đắt hơn về mặt tính toán so với bình phương tối thiểu thông thường.)

    Một số câu trả lời khác cũng đã đề cập đến những lợi thế của kỹ thuật / thuật toán tăng cường và đóng bao.

  • Phương pháp Bayes

    Thêm một ưu tiên vào vectơ hệ số làm giảm quá mức. Đây là khái niệm liên quan đến chính quy hóa: vd. hồi quy sườn núi là một trường hợp đặc biệt của ước lượng posteriori tối đa.


2

Nếu bạn đang sử dụng một mô hình với bộ giải, trong đó bạn có thể xác định số lần lặp / epoch, bạn có thể theo dõi lỗi xác thực và áp dụng dừng sớm: dừng thuật toán, khi lỗi xác thực bắt đầu tăng.


1
Câu hỏi này rõ ràng hỏi về mô hình hồi quy (tuyến tính, logistic).
Matthew Drury

2
Về mặt kỹ thuật, hồi quy tuyến tính và logistic là các mạng thần kinh rất đơn giản.
Andrey Lukyanenko

2
Tôi không nghĩ rằng điều đó thay đổi niềm tin của tôi rằng điều này không trả lời câu hỏi như đã hỏi. Nếu bạn làm lại nó để nói "nếu bạn phù hợp với hồi quy với một số hình thức giảm độ dốc và áp dụng dừng sớm" thì sẽ tốt hơn.
Matthew Drury

Ngay cả sklearn cũng có một số mô hình hỗ trợ tham số giới hạn số lần lặp. Nó có thể được sử dụng để theo dõi độ chính xác. Nhưng tôi cho rằng bạn đúng rằng từ ngữ không chính xác.
Andrey Lukyanenko

1

Hai suy nghĩ:

  1. Tôi thứ hai chiến lược "sử dụng một mô hình đơn giản hơn" được đề xuất bởi Ben Ogorek .

    Tôi làm việc trên các mô hình phân loại tuyến tính thực sự thưa thớt với các hệ số nguyên nhỏ (ví dụ: tối đa 5 biến có hệ số nguyên nằm trong khoảng từ -5 đến 5). Các mô hình khái quát tốt về độ chính xác và số liệu hiệu suất phức tạp hơn (ví dụ hiệu chuẩn).

    n/d

  2. Nếu bạn có thể chỉ định các ràng buộc bổ sung cho mô hình của mình (ví dụ: các ràng buộc đơn điệu, thông tin bên lề), thì điều này cũng có thể giúp khái quát hóa bằng cách giảm không gian giả thuyết (xem ví dụ trong bài viết này ).

    Điều này cần được thực hiện một cách cẩn thận (ví dụ: bạn có thể muốn so sánh mô hình của mình với đường cơ sở mà không bị ràng buộc và thiết kế quy trình đào tạo của bạn theo cách đảm bảo bạn không bị hạn chế chọn anh đào).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.