Tại sao quá mức xấu trong học máy?


49

Logic thường nói rằng bằng cách quá mức một mô hình, khả năng khái quát hóa của nó bị hạn chế, mặc dù điều này chỉ có nghĩa là việc quá mức ngăn chặn một mô hình cải thiện sau một sự phức tạp nhất định. Liệu quá mức gây ra các mô hình trở nên tồi tệ hơn bất kể sự phức tạp của dữ liệu, và nếu vậy, tại sao lại như vậy?


Liên quan: Theo dõi câu hỏi trên, " Khi nào một Mô hình bị thiếu? "


1
Có phải câu hỏi của bạn thực sự là liệu có trường hợp nào không thể vượt qua?
Sean Owen

@SeanOwen: Không, làm thế nào là không thể vượt qua?
sai lầm ngớ ngẩn

Đồng ý, chỉ cần kiểm tra khi bạn hỏi nếu quá mức khiến các mô hình trở nên tồi tệ hơn bất kể dữ liệu
Sean Owen

1
Quá mức là xấu theo định nghĩa. Nếu không, nó sẽ không được trang bị quá nhiều .
Gala

1
Tôi không có ý trích dẫn bạn về "thêm độ phức tạp của mô hình" - Tôi chỉ nhấn mạnh cụm từ. Dù sao, tôi đoán vấn đề của tôi về cơ bản giống như @GaLa, đó là việc quá mức có nghĩa là phù hợp quá nhiều. Vì vậy, có vẻ như bạn đang yêu cầu chúng tôi xác nhận một tautology. Vì vậy, tôi có xu hướng nghĩ rằng bạn thực sự muốn hỏi một câu hỏi khác. Ví dụ, sự phức tạp của mô hình ngày càng tăng làm cho các mô hình trở nên tồi tệ hơn? Hoặc, làm thế nào sự phức tạp của dữ liệu liên quan đến xu hướng của một mô hình để phù hợp hơn?
Nathan Gould

Câu trả lời:


44

Quá mức là thực nghiệm xấu. Giả sử bạn có một bộ dữ liệu mà bạn chia làm hai, kiểm tra và đào tạo. Một mô hình quá mức là một mô hình thực hiện kém hơn nhiều trên tập dữ liệu thử nghiệm so với tập dữ liệu huấn luyện. Người ta thường quan sát thấy rằng các mô hình như thế nói chung cũng hoạt động kém hơn trên các bộ dữ liệu thử nghiệm bổ sung (mới) so với các mô hình không được cung cấp quá mức.

Một cách để hiểu điều đó bằng trực giác là một mô hình có thể sử dụng một số phần có liên quan của dữ liệu (tín hiệu) và một số phần không liên quan (nhiễu). Một mô hình quá mức sử dụng nhiều tiếng ồn hơn, làm tăng hiệu suất của nó trong trường hợp nhiễu đã biết (dữ liệu huấn luyện) và giảm hiệu suất của nó trong trường hợp nhiễu mới (dữ liệu thử nghiệm). Sự khác biệt về hiệu suất giữa dữ liệu huấn luyện và kiểm tra cho biết mức độ nhiễu của mô hình; và thu tiếng ồn trực tiếp chuyển thành hiệu suất kém hơn trên dữ liệu thử nghiệm (bao gồm cả dữ liệu trong tương lai).

Tóm tắt: định nghĩa quá mức là xấu theo định nghĩa, điều này không liên quan nhiều đến sự phức tạp hoặc khả năng khái quát hóa, mà phải làm với việc nhầm lẫn nhiễu với tín hiệu.

PS Về phần "khả năng khái quát hóa" của câu hỏi, rất có thể có một mô hình vốn đã hạn chế khả năng khái quát hóa do cấu trúc của mô hình (ví dụ SVM tuyến tính, ...) nhưng vẫn dễ bị thừa. Trong một nghĩa nào đó, quá mức chỉ là một cách mà việc khái quát hóa có thể thất bại.


17

Nói quá, tóm lại, có nghĩa là tính đến quá nhiều thông tin từ dữ liệu của bạn và / hoặc kiến ​​thức trước đó, và sử dụng nó trong một mô hình. Để làm cho nó đơn giản hơn, hãy xem xét ví dụ sau: bạn được một số nhà khoa học thuê để cung cấp cho họ một mô hình để dự đoán sự phát triển của một số loại cây. Các nhà khoa học đã cung cấp cho bạn thông tin được thu thập từ công việc của họ với các nhà máy như vậy trong suốt cả năm và họ sẽ liên tục cung cấp cho bạn thông tin về sự phát triển trong tương lai của đồn điền của họ.

Vì vậy, bạn chạy qua dữ liệu nhận được và xây dựng một mô hình từ đó. Bây giờ giả sử rằng, trong mô hình của bạn, bạn đã xem xét càng nhiều đặc điểm càng tốt để luôn tìm ra hành vi chính xác của các cây bạn đã thấy trong tập dữ liệu ban đầu. Bây giờ, khi sản xuất vẫn tiếp tục, bạn sẽ luôn luôn đưa vào tài khoản những đặc điểm, và sẽ tạo ra rất hạt mịn kết quả. Tuy nhiên, nếu đồn điền cuối cùng bị thay đổi theo mùa, kết quả bạn sẽ nhận được có thể phù hợp với mô hình của bạn theo cách mà dự đoán của bạn sẽ bắt đầu thất bại (có thể nói rằng sự tăng trưởng sẽ chậm lại, trong khi nó thực sự sẽ tăng tốc, hoặc mặt đối diện, sự đối nghịch).

Ngoài việc không thể phát hiện các biến thể nhỏ như vậy và thường phân loại các mục nhập của bạn không chính xác, hạt mịn trên mô hình, nghĩa là, số lượng lớn các biến, có thể khiến việc xử lý quá tốn kém. Bây giờ, hãy tưởng tượng rằng dữ liệu của bạn đã phức tạp. Việc quá mức mô hình của bạn vào dữ liệu không chỉ làm cho việc phân loại / đánh giá trở nên rất phức tạp, mà rất có thể sẽ khiến bạn mắc lỗi dự đoán về sự thay đổi nhỏ nhất bạn có thể có trên đầu vào.

Chỉnh sửa : Điều này cũng có thể được sử dụng, có lẽ thêm tính năng động cho lời giải thích ở trên: D


14

Nói một cách đơn giản, sự phù hợp quá mức thường xảy ra khi tỷ lệ

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

là quá cao.

Hãy nghĩ về sự phù hợp quá mức như một tình huống trong đó mô hình của bạn học thuộc dữ liệu đào tạo thay vì học những bức tranh lớn khiến nó không thể khái quát hóa dữ liệu thử nghiệm: điều này xảy ra khi mô hình quá phức tạp đối với kích thước của dữ liệu đào tạo, nghĩa là khi kích thước của dữ liệu đào tạo nhỏ so với độ phức tạp của mô hình.

Ví dụ:

  • nếu dữ liệu của bạn theo hai chiều, bạn có 10000 điểm trong tập huấn luyện và mô hình là một dòng, bạn có khả năng dưới -fit.
  • nếu dữ liệu của bạn có hai chiều, bạn có 10 điểm trong tập huấn luyện và mô hình là đa thức 100 độ, bạn có khả năng quá phù hợp.

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

Từ quan điểm lý thuyết, lượng dữ liệu bạn cần để đào tạo đúng mô hình của bạn là một câu hỏi quan trọng nhưng vẫn chưa được trả lời trong học máy. Một cách tiếp cận như vậy để trả lời câu hỏi này là kích thước VC . Một cái khác là sự đánh đổi sai lệch .

Từ quan điểm thực nghiệm, mọi người thường vẽ lỗi đào tạo và lỗi kiểm tra trên cùng một âm mưu và đảm bảo rằng họ không giảm lỗi đào tạo với chi phí của lỗi kiểm tra:

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

Tôi sẽ khuyên bạn nên xem khóa học về Machine Learning của Coursera , phần "10: Lời khuyên cho việc áp dụng Machine Learning".

(PS: vui lòng vào đây để yêu cầu hỗ trợ TeX trên SE này.)



5

Đó là bởi vì một cái gì đó được gọi là sai lệch sai lệch . Mô hình quá mức có nghĩa là chúng ta sẽ có ranh giới quyết định phức tạp hơn nếu chúng ta đưa ra nhiều phương sai hơn về mô hình. Vấn đề là, không chỉ các mô hình quá đơn giản mà cả các mô hình phức tạp cũng có khả năng có kết quả phân loại trên dữ liệu không nhìn thấy. Do đó, mô hình được trang bị quá mức là không tốt như mô hình được trang bị dưới. Đó là lý do tại sao quá mức là xấu và chúng ta cần phải phù hợp với mô hình ở đâu đó ở giữa.


+1 Cảm ơn, là kết quả của câu trả lời của bạn, tôi đã đăng một câu hỏi tiếp theo cho câu hỏi trên, " Khi nào một người mẫu bị thiếu? "
sai lầm ngớ ngẩn

4

Điều khiến tôi hiểu vấn đề về việc sử dụng quá mức là bằng cách tưởng tượng mô hình phù hợp nhất có thể là gì. Về cơ bản, nó sẽ là một bảng tra cứu đơn giản.

Bạn nói với mô hình những thuộc tính mà mỗi phần dữ liệu có và nó chỉ cần nhớ nó và không làm gì thêm với nó. Nếu bạn cung cấp cho nó một phần dữ liệu mà nó đã thấy trước đó, nó sẽ tìm kiếm nó và chỉ đơn giản là lấy lại những gì bạn đã nói trước đó. Nếu bạn cung cấp cho nó dữ liệu mà nó chưa từng thấy trước đây, kết quả là không thể đoán trước hoặc ngẫu nhiên. Nhưng quan điểm của học máy không phải là để cho bạn biết điều gì đã xảy ra, đó là để hiểu các mẫu và sử dụng các mẫu đó để dự đoán những gì đang diễn ra.

Hãy nghĩ về một cây quyết định. Nếu bạn tiếp tục phát triển cây quyết định của mình ngày càng lớn hơn, cuối cùng bạn sẽ kết thúc với một cây trong đó mỗi nút lá dựa trên chính xác một điểm dữ liệu. Bạn vừa tìm thấy một cách backlink để tạo bảng tra cứu.

Để khái quát hóa kết quả của bạn để tìm hiểu điều gì có thể xảy ra trong tương lai, bạn phải tạo một mô hình khái quát những gì đang diễn ra trong tập huấn luyện của bạn. Các mô hình Overfit thực hiện rất tốt việc mô tả dữ liệu bạn đã có, nhưng các mô hình mô tả không nhất thiết là các mô hình dự đoán.

Định lý bữa trưa miễn phí nói rằng không có mô hình nào có thể vượt trội hơn bất kỳ mô hình nào khác trên tập hợp tất cả các trường hợp thể. Nếu bạn muốn dự đoán điều gì sẽ xảy ra tiếp theo trong chuỗi các số "2, 4, 16, 32", bạn không thể xây dựng một mô hình chính xác hơn bất kỳ mô hình nào khác nếu bạn không đưa ra giả định rằng có một mô hình cơ bản. Một mô hình quá phù hợp không thực sự đánh giá các mẫu - nó chỉ đơn giản là mô hình hóa những gì nó biết là có thể và cung cấp cho bạn các quan sát. Bạn có được sức mạnh dự đoán bằng cách giả sử rằng có một số chức năng cơ bản và nếu bạn có thể xác định chức năng đó là gì, bạn có thể dự đoán kết quả của các sự kiện. Nhưng nếu thực sự không có mô hình, thì bạn đã hết may mắn và tất cả những gì bạn có thể hy vọng là một bảng tra cứu để cho bạn biết những gì bạn biết là có thể.


1

Bạn đang nhầm lẫn giữa hai thực thể khác nhau: (1) độ lệch phương sai và (2) độ phức tạp của mô hình.

ϕ^ϕn

|ϕϕ^|eϕ as neϕ

ϕϕ^ϕϕ={m,c}

E[|yM(ϕ^)|]eM as neM

Tóm tắt: Có, cả độ lệch mẫu và độ phức tạp của mô hình đều góp phần vào 'chất lượng' của mô hình đã học, nhưng chúng không ảnh hưởng trực tiếp đến nhau. Nếu bạn có dữ liệu sai lệch, thì bất kể có số lượng tham số chính xác và đào tạo vô hạn, mô hình đã học cuối cùng sẽ có lỗi. Tương tự, nếu bạn có ít hơn số lượng tham số cần thiết, thì bất kể lấy mẫu hoàn toàn không thiên vị và đào tạo vô hạn, mô hình đã học cuối cùng sẽ có lỗi.


0

Đã có rất nhiều lời giải thích tốt về việc quá mức. Dưới đây là những suy nghĩ của tôi. Quá mức xảy ra khi phương sai của bạn quá cao và sai lệch quá thấp.

Giả sử bạn có dữ liệu đào tạo với bạn, mà bạn chia thành N phần. Bây giờ, nếu bạn huấn luyện một mô hình trên mỗi bộ dữ liệu, bạn sẽ có N mô hình. Bây giờ hãy tìm mô hình trung bình và sau đó sử dụng công thức phương sai để tính toán mỗi mô hình thay đổi bao nhiêu so với giá trị trung bình. Đối với các mô hình quá mức, phương sai này sẽ thực sự cao. Điều này là do, mỗi mô hình sẽ có các tham số ước tính rất cụ thể cho tập dữ liệu nhỏ mà chúng tôi cung cấp cho nó. Tương tự, nếu bạn lấy mô hình trung bình và sau đó tìm xem nó khác bao nhiêu so với mô hình ban đầu sẽ có độ chính xác tốt nhất, thì nó sẽ không khác biệt chút nào. Điều này biểu thị sự thiên vị thấp.

Để tìm hiểu xem mô hình của bạn có bị quá mức hay không, bạn có thể xây dựng các ô được đề cập trong các bài viết trước.

Cuối cùng, để tránh bị quá mức, bạn có thể thường xuyên hóa mô hình hoặc sử dụng xác nhận ché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.