Tại sao trọng lượng nhỏ hơn dẫn đến các mô hình đơn giản hơn trong chính quy?


27

Tôi đã hoàn thành khóa học Machine Learning của Andrew Ng khoảng một năm trước và hiện đang viết bài khám phá Toán học ở trường trung học về các hoạt động của Hồi quy logistic và các kỹ thuật để tối ưu hóa hiệu suất. Một trong những kỹ thuật này, tất nhiên, là chính quy.

Mục đích của chính quy hóa là ngăn chặn quá mức bằng cách mở rộng hàm chi phí để bao gồm mục tiêu đơn giản hóa mô hình. Chúng ta có thể đạt được điều này bằng cách xử phạt kích thước của các trọng số bằng cách thêm vào hàm chi phí mỗi trọng số bình phương, nhân với một số thông số chính quy.

Bây giờ, thuật toán Machine Learning sẽ nhằm mục đích giảm kích thước của các trọng số trong khi vẫn giữ được độ chính xác trên tập huấn luyện. Ý tưởng là chúng ta sẽ đạt đến một điểm nào đó ở giữa nơi chúng ta có thể tạo ra một mô hình khái quát hóa dữ liệu và không cố gắng phù hợp với tất cả các nhiễu ngẫu nhiên bằng cách ít phức tạp hơn.

Sự nhầm lẫn của tôi là tại sao chúng ta phạt kích thước của trọng lượng? Tại sao trọng lượng lớn hơn tạo ra các mô hình phức tạp hơn và trọng lượng nhỏ hơn tạo ra các mô hình đơn giản / mượt mà hơn? Andrew Ng tuyên bố trong bài giảng của mình rằng lời giải thích là một điều khó dạy, nhưng tôi đoán bây giờ tôi đang tìm kiếm lời giải thích này.

Giáo sư Ng thực sự đã đưa ra một ví dụ về cách hàm chi phí mới có thể khiến trọng số của các tính năng (ví dụ: x ^ 3 và x ^ 4) có xu hướng về 0 để giảm mức độ của mô hình, nhưng điều này không tạo ra sự hoàn chỉnh giải trình.

Trực giác của tôi là các trọng số nhỏ hơn sẽ có xu hướng "chấp nhận được" hơn đối với các tính năng có số mũ lớn hơn so với các số mũ nhỏ hơn (vì các tính năng có trọng số nhỏ giống như cơ sở của chức năng). Trọng lượng nhỏ hơn ngụ ý "đóng góp" nhỏ hơn cho các tính năng có thứ tự cao. Nhưng trực giác này không cụ thể lắm.


2
đây có vẻ như là một câu hỏi cần câu trả lời "vì vậy bà tôi sẽ hiểu nó".
EngrStudent - Phục hồi Monica

2
@EngrStudent Bởi vì đó chính xác là cách tôi cần trình bày nó trong Math IA cho giáo viên toán cấp ba và giám khảo toán trung học của tôi đọc.
MCKapur

Câu trả lời:


4

Nếu bạn sử dụng chính quy, bạn không chỉ giảm thiểu lỗi trong mẫu mà là .OutOfSampleErrorInSampleError+ModelComplexityPenalty

Chính xác hơn, cho giả thuyết , trong đó là một số tham số, thường là , là số ví dụ trong tập dữ liệu của bạn và là một số hình phạt phụ thuộc vào trọng số , . Điều này được gọi là lỗi tăng cường . Bây giờ, bạn chỉ có thể giảm thiểu chức năng trên nếu trọng lượng khá nhỏ.hHbước sóngbước sóng(0,1)mΩwΩ=wTwJaug(h(x),y,λ,Ω)=J(h(x),y)+λ2mΩhHλλ(0,1)mΩwΩ= =wTw

Đây là một số mã R để đồ chơi với

w <- c(0.1,0.2,0.3)
out <- t(w) %*% w
print(out)

Vì vậy, thay vì phạt toàn bộ không gian giả thuyết , chúng tôi xử phạt từng giả thuyết riêng lẻ. Đôi khi chúng ta đề cập đến giả thuyết bởi vectơ trọng lượng của nó w .h hHhhw

Về lý do tại sao các trọng số nhỏ đi cùng với độ phức tạp của mô hình thấp, hãy xem xét giả thuyết sau: . Trong tổng số chúng tôi đã nhận ba hoạt động các thông số trọng lượng w 1 , ... , w 3 . Bây giờ, hãy đặt w 3 thành một giá trị rất nhỏ, w 3 = 0 . Điều này làm giảm độ phức tạp của mô hình thành: hh1(x)=x1×w1+x2×w2+x3×w3w1,,w3w3w3=0 . Thay vì ba thông số trọng lượng hoạt động, chúng tôi chỉ còn lại hai.h1(x)=x1×w1+x2×w2


1
Rõ ràng nếu trọng lượng giảm về 0 thì độ phức tạp của mô hình sẽ giảm do bạn có thể loại bỏ một thuật ngữ và do đó là một hoạt động tính toán. Nhưng điều này không giúp giải thích tại sao độ phức tạp của mô hình giảm khi giá trị của trọng lượng gần bằng không. Bất cứ ai có thể giải thích rằng với các từ không phải công thức?
greg7gkb

6

Tôi không chắc là tôi có thực sự biết tôi đang nói gì không nhưng tôi sẽ thử. Nó không có quá nhiều trọng lượng nhỏ ngăn chặn quá mức (tôi nghĩ), thực tế là việc thường xuyên hóa mạnh hơn làm giảm không gian mô hình. Trong thực tế, bạn có thể thường xuyên khoảng 10000000 nếu bạn muốn bằng cách lấy định mức L2 của các giá trị X của bạn trừ đi một vectơ 10000000. Điều này cũng sẽ làm giảm quá mức (tất nhiên bạn cũng nên có một số lý do đằng sau việc đó (có lẽ giá trị Y của bạn lớn hơn 10000000 lần so với tổng giá trị X của bạn, nhưng không ai thực sự làm điều đó vì bạn chỉ có thể hủy dữ liệu).

Xu hướng và phương sai đều là một hàm của độ phức tạp mô hình. Điều này có liên quan đến lý thuyết VC vì vậy hãy nhìn vào đó. Không gian của các mô hình có thể càng lớn (tức là các giá trị mà tất cả các tham số của bạn có thể mất về cơ bản) thì mô hình sẽ có khả năng phù hợp hơn. Nếu mô hình của bạn có thể làm mọi thứ, từ một đường thẳng đến lắc lư theo mọi hướng như sóng hình sin cũng có thể lên xuống, thì nhiều khả năng bạn sẽ nhận và mô hình nhiễu loạn ngẫu nhiên trong dữ liệu của bạn không phải là kết quả của tín hiệu cơ bản nhưng kết quả của cơ hội may mắn chỉ trong tập dữ liệu đó (đây là lý do tại sao việc lấy thêm dữ liệu sẽ giúp vượt quá mức nhưng không bị thiếu).

Khi bạn thường xuyên hóa, về cơ bản, bạn đang giảm không gian mô hình. Điều này không nhất thiết có nghĩa là các hàm mượt hơn / phẳng hơn có độ lệch cao hơn và ít phương sai hơn. Hãy nghĩ về một mô hình tuyến tính được phủ một sóng hình sin bị hạn chế để có một dao động biên độ thực sự nhỏ mà về cơ bản không có gì (về cơ bản là một đường mờ). Hàm này siêu lung linh theo một nghĩa nào đó nhưng chỉ vượt qua một chút so với hồi quy tuyến tính. Lý do tại sao các chức năng mịn hơn / phẳng hơn có xu hướng sai lệch cao hơn và ít phương sai hơn là bởi vì chúng tôi là nhà khoa học dữ liệu cho rằng nếu chúng ta có một không gian mẫu giảm, chúng ta sẽ thay vì giữ cho các mô hình mượt mà và đơn giản hơn và loại bỏ các mô hình đó là lung lay và dao động khắp nơi. Nó có ý nghĩa để loại bỏ các mô hình wiggly đầu tiên,

Chính quy hóa như hồi quy sườn, làm giảm không gian mô hình vì nó làm cho nó đắt hơn khi nằm xa số 0 (hoặc bất kỳ số nào). Do đó, khi mô hình phải đối mặt với sự lựa chọn có tính đến một sự nhiễu loạn nhỏ trong dữ liệu của bạn, thì nhiều khả năng nó sẽ không bị lỗi, bởi vì điều đó (nói chung) sẽ làm tăng giá trị tham số của bạn. Nếu sự nhiễu loạn đó là do cơ hội ngẫu nhiên (nghĩa là một trong các biến x của bạn chỉ có tương quan ngẫu nhiên nhỏ với các biến y của bạn), mô hình sẽ không tính đến điều đó so với hồi quy không chính quy vì hồi quy không chính quy không có chi phí liên quan đến tăng kích thước beta. Tuy nhiên, nếu sự nhiễu loạn đó là do tín hiệu thực, hồi quy thường xuyên của bạn sẽ có nhiều khả năng bỏ lỡ nó, đó là lý do tại sao nó có độ lệch cao hơn (và tại sao có sự đánh đổi sai lệch).


Cảm ơn bạn đã trả lời chu đáo! Vì vậy, trong đoạn thứ tư, bạn nêu "Vì vậy, khi mô hình phải đối mặt với sự lựa chọn có tính đến một sự nhiễu loạn nhỏ trong dữ liệu của bạn, thì nhiều khả năng sẽ không có lỗi, vì điều đó (nói chung) sẽ làm tăng tham số của bạn giá trị.". Đây là những gì tôi hỏi cụ thể tại sao đây là trường hợp? Cảm ơn!
MCKapur

Bằng cách thêm một yếu tố hình phạt, bạn làm cho ít có khả năng mô hình sẽ có betas cao hơn, do đó không gian mô hình của bạn nhỏ hơn. Một điều khác cần nhớ là nếu mô hình của bạn toàn nhiễu, nó có thể sẽ có độ dốc bằng 0 vì không có mối tương quan nào (đây là một điều tôi không nghĩ đến khi đưa ra lập luận lung lay / phẳng của mình nhưng tôi nghĩ rằng cuộc tranh cãi vẫn còn nói chung là đúng). Do đó, nếu có một perterbation / mối quan hệ, nó có khả năng tăng beta. Do đó, chính quy hóa xử phạt thực tế này và ngăn chặn hồi quy phù hợp với những nhiễu loạn đó là tín hiệu hoặc nhiễu.
www3

@ ww3 tôi hiểu. Nhưng tại sao betas lớn hơn dẫn đến một không gian mô hình cao hơn?
MCKapur

Tôi không chắc nếu bạn cần điều này nữa nhưng tôi nghĩ tôi sẽ trả lời. Đó không phải là vấn đề lớn. Ví dụ, bạn có thể thực hiện hồi quy với Y hoặc 1000 * Y, mỗi cái sẽ có cùng độ phức tạp nhưng betas sẽ cao hơn 1000 trong trường hợp thứ hai. Chính quy hóa điển hình làm cho việc đạt được các kết hợp beta nhất định trở nên khó khăn hơn, như có một hệ số là 1000 và -1000 khác, và các hệ số khác phẳng hơn / đơn giản hơn như tất cả 0 dễ dàng hơn. Điều này có nghĩa là nếu mô hình của bạn có những quirks ồn ào nhất định từ dữ liệu thì mô hình chính quy sẽ ít có khả năng lấy nó hơn.
www3

Để tiếp tục, mô hình sẽ không bỏ qua tất cả các quirks ồn ào, nó sẽ chỉ bỏ qua các quirks làm tăng giá trị tuyệt đối của betas. Điều này có nghĩa là các quirks làm giảm giá trị của betas sẽ được nhấn mạnh hơn. Mặc dù vậy cũng không sao vì có nhiều đường uốn lượn hơn bạn có thể vẽ hơn các đường thẳng (tức là so sánh một phương trình bậc hai với một phương trình tuyến tính hoặc không đổi). Do đó, nếu có các quirks ồn ào ảnh hưởng đến dữ liệu, thì nhiều khả năng làm cho một mô hình phù hợp với một mô hình lung linh hơn (và do đó phức tạp hơn) so với mô hình phẳng hơn / căng hơn.
www3

3

Câu chuyện: Bà
tôi đi bộ, nhưng không leo lên. Một số bà làm. Một bà đã nổi tiếng vì leo Kilimanjaro .

Núi lửa không hoạt động đó là lớn. Nó là 16.000 feet trên cơ sở của nó. (Đừng ghét các đơn vị đế quốc của tôi.) Đôi khi, nó cũng có sông băng trên đỉnh.

Nếu bạn leo lên một năm mà không có sông băng, và bạn lên đỉnh, nó có phải là đỉnh giống như khi có sông băng không? Độ cao là khác nhau. Con đường bạn phải đi là khác nhau. Điều gì nếu bạn lên đỉnh khi độ dày của sông băng lớn hơn? Điều đó làm cho nó nhiều hơn một thành tựu? Khoảng 35.000 người cố gắng leo lên nó mỗi năm, nhưng chỉ có khoảng 16.000 người thành công.

Ứng dụng:
Vì vậy, tôi sẽ giải thích việc kiểm soát các trọng số (còn gọi là giảm thiểu độ phức tạp của mô hình) cho bà của tôi, như sau:

Bà ơi, bộ não của bạn là một nhà tư tưởng tuyệt vời cho dù bạn có biết hay không. Nếu tôi hỏi bạn có bao nhiêu trong số 16.000 người nghĩ rằng họ đạt đến đỉnh thực sự đã làm như vậy, bạn sẽ nói "tất cả trong số họ".

Nếu tôi đặt cảm biến trong giày của tất cả 30.000 người leo núi và đo chiều cao so với mực nước biển, thì một số người trong số họ đã không cao như những người khác và có thể không đủ điều kiện. Khi tôi làm điều đó tôi sẽ đi đến một mô hình không đổi - tôi đang nói nếu chiều cao không bằng một số phần trăm của chiều cao tối đa đo được thì nó không phải là đỉnh. Một số người nhảy lên trên đỉnh. Một số người chỉ cần băng qua đường và ngồi xuống.

Tôi có thể thêm vĩ độ và kinh độ vào cảm biến, và phù hợp với một số phương trình bậc cao hơn và có thể tôi có thể phù hợp hơn, và có nhiều người hơn, thậm chí có thể chính xác 45% trong tổng số người thử nó.

Vì vậy, hãy nói rằng năm tới là một năm "sông băng lớn" hoặc một năm "không có sông băng" bởi vì một số núi lửa thực sự biến đổi albedo của trái đất. Nếu tôi lấy mô hình phức tạp và chính xác của mình từ năm nay và áp dụng nó cho những người leo lên vào năm tới thì mô hình sẽ có kết quả kỳ lạ. Có lẽ mọi người sẽ "vượt qua" hoặc thậm chí là quá cao để vượt qua. Có lẽ không ai sẽ vượt qua, và nó sẽ nghĩ rằng không ai thực sự hoàn thành việc leo núi. Đặc biệt là khi mô hình phức tạp, nó sẽ có xu hướng không khái quát tốt. Nó có thể chính xác phù hợp với dữ liệu "đào tạo" của năm nay, nhưng khi dữ liệu mới xuất hiện, nó hoạt động kém.

Thảo luận:
Khi bạn giới hạn độ phức tạp của mô hình, thì bạn thường có thể có sự khái quát tốt hơn mà không cần quá khớp. Sử dụng các mô hình đơn giản hơn, các mô hình được xây dựng nhiều hơn để phù hợp với biến thể trong thế giới thực, có xu hướng cho kết quả tốt hơn, tất cả những thứ khác đều bằng nhau.

Bây giờ bạn có một cấu trúc liên kết mạng cố định, vì vậy bạn đang nói "số lượng tham số của tôi là cố định" - Tôi không thể có sự thay đổi về độ phức tạp của mô hình. Vô lý. Đo entropy trong các quả cân. Khi entropy cao hơn, điều đó có nghĩa là một số hệ số mang nhiều "thông tin" hơn đáng kể so với các hệ số khác. Nếu bạn có entropy rất thấp, điều đó có nghĩa là nhìn chung các hệ số mang mức độ "thông tin" tương tự. Tin học không nhất thiết là một điều tốt. Trong một nền dân chủ, bạn muốn tất cả mọi người đều bình đẳng, và những thứ như George Orwell "bình đẳng hơn những người khác" là thước đo cho những thất bại của hệ thống. Nếu bạn không có một lý do tuyệt vời cho nó, bạn muốn trọng lượng khá giống nhau.

Trên một lưu ý cá nhân: thay vì sử dụng voodoo hoặc heuristic, tôi thích những thứ như "tiêu chí thông tin" vì chúng cho phép tôi có được kết quả đáng tin cậy và nhất quán. AIC , AICcBIC là một số điểm khởi đầu phổ biến và hữu ích. Lặp lại phân tích để xác định tính ổn định của giải pháp hoặc phạm vi kết quả của tiêu chí thông tin là cách tiếp cận phổ biến. Người ta có thể nhìn vào việc đặt trần trên entropy ở trọng lượng.


2
Thú vị khác nhau. Góc của Pedant: bạn đã viết "Orson Wells". đánh vần là Welles. Tôi nghi ngờ bạn có nghĩa là George Orwell ( Trại súc vật ) tất cả cùng.
Nick Cox

@NickCox - Mình bị bệnh nặng. Bộ não của tôi không hoạt động tốt như tôi mong muốn. Orwell nó đã được.
EngrStudent - Tái lập Monica

Tôi muốn hiểu tại sao độ phức tạp của mô hình có thể thay đổi theo một số tham số cố định (ý tưởng của đoạn thứ hai đến đoạn cuối của bạn) và tôi không gặp bất kỳ may mắn nào về "entropy tham số" hoặc "entropy tham số". Bạn đã sử dụng khái niệm entropy bởi vì nó chỉ phù hợp hoặc đây là tên thực tế, được biết đến rộng rãi của một thuộc tính của các tham số mô hình? Cảm ơn trước.
Alvaro Fuentes

1
@AlvaroFuentes - Entropy, theo nghĩa này, xuất phát từ Lý thuyết thông tin. Đây là bài viết trên wikipedia. Hãy nghĩ về các trọng số như một danh sách và bạn có thể tính toán entropy của hệ thống tất cả các trọng số, sử dụng phương pháp kernel để xấp xỉ mật độ xác suất. Bạn có thể nhìn vào entropy trung bình trên mỗi nơ-ron để so sánh giữa các nơ-ron ở quy mô cao hơn.
EngrStudent - Phục hồi Monica

0

Một trực giác đơn giản là như sau. Hãy nhớ rằng để chuẩn hóa các tính năng nên được chuẩn hóa để có khoảng. cùng một quy mô.

Giả sử rằng hàm thu nhỏ chỉ là tổng của các lỗi bình phương:

SSE

SSESSE

Bây giờ hãy xem xét chính quy, LASSO trong trường hợp này. Các chức năng được tối thiểu hóa là sau đó

SSE+λΣ|β|

Thêm một tính năng bổ sung bây giờ dẫn đến một hình phạt bổ sung: tổng các hệ số tuyệt đối sẽ lớn hơn! Việc giảm SSE sẽ vượt xa mức phạt bổ sung. Không còn có thể thêm các tính năng bổ sung mà không có chi phí.

Sự kết hợp của tiêu chuẩn hóa tính năng và xử phạt tổng các hệ số tuyệt đối sẽ hạn chế không gian tìm kiếm, dẫn đến ít quá mức.

Bây giờ LASSO:

SSE+λΣ|β|

có xu hướng đặt hệ số về 0, trong khi hồi quy sườn:

SSE+λΣβ2

có xu hướng thu nhỏ hệ số theo tỷ lệ. Đây có thể được coi là một tác dụng phụ của loại hình phạt. Hình dưới đây giúp với điều này:

nhập mô tả hình ảnh ở đây

Hàm hình phạt chính quy trong thực tế cung cấp 'ngân sách' cho các tham số, như hình trên của khu vực màu lục lam.

SSE

Ảnh được lấy từ https://onlinecferences.science.psu.edu/stat857/node/158

Tóm tắt: chính quy hóa sẽ phạt thêm các tham số bổ sung và tùy thuộc vào loại chính quy sẽ thu hẹp tất cả các hệ số (sườn núi) hoặc sẽ đặt một số hệ số về 0 trong khi duy trì các hệ số khác theo như ngân sách cho phép (lasso)


1
Bạn chỉ đang giải thích sự khác biệt giữa hồi quy lasso và hồi quy nhưng câu hỏi là hỏi về lý do tại sao chính quy hóa dẫn đến độ phức tạp thấp hơn.
Sobi

Vui lòng đọc phần này: "Thêm một tính năng bổ sung bây giờ sẽ dẫn đến một hình phạt bổ sung: tổng các hệ số tuyệt đối sẽ lớn hơn! Việc giảm SSE sẽ vượt trội hơn hình phạt bổ sung. Không còn có thể thêm các tính năng bổ sung mà không phải trả phí."
spdrnl

L1λλL2

Ý chính là loại hình phạt cho việc thêm tham số sẽ ảnh hưởng đến các tham số theo những cách khác nhau. Trong thực tế, bạn có được một mô hình với các tham số phù hợp với dữ liệu huấn luyện ít chính xác hơn: đó là loại mục tiêu.
spdrnl

0

Bằng cách thêm tiếng ồn Guassian vào đầu vào, mô hình học tập sẽ hoạt động giống như một bộ chỉnh hình phạt L2.

Để xem lý do tại sao, hãy xem xét một hồi quy tuyến tính trong đó nhiễu iid được thêm vào các tính năng. Mất mát bây giờ sẽ là một hàm của các lỗi + đóng góp của định mức trọng số.

xem phái sinh: https://www.youtube.com/watch?v=qw4vtBYhLp0


0

Tôi nhớ trong một lớp học ở trường đại học, giáo viên của tôi nói rằng việc phạt các tham số lớn có thể làm giảm quá mức vì nó ngăn mô hình quá nặng đối với các tính năng cụ thể trong dữ liệu, điều này gây ra tình trạng thừa vì mô hình chỉ nhớ một số đặc điểm cụ thể của dữ liệu và liên quan đến nó nhãn thay vì cố gắng học các quy tắc chung.

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.