Là một mô hình quá mức nhất thiết phải vô dụng?


25

Giả sử rằng một mô hình có độ chính xác 100% trên dữ liệu huấn luyện, nhưng độ chính xác 70% trên dữ liệu thử nghiệm. Là đối số sau đây đúng về mô hình này?

Rõ ràng rằng đây là một mô hình quá mức. Độ chính xác kiểm tra có thể được tăng cường bằng cách giảm quá mức. Nhưng, mô hình này vẫn có thể là một mô hình hữu ích, vì nó có độ chính xác chấp nhận được đối với dữ liệu thử nghiệm.


17
Nếu 70% được chấp nhận trong các ứng dụng cụ thể, thì tôi đồng ý với bạn.
Richard Hardy

6
Tôi hoàn toàn đồng ý với @RichardHardy. Lấy ví dụ, một khu rừng ngẫu nhiên: Thông thường, bằng cách xây dựng, hiệu suất mẫu (không phải hiệu suất vượt túi) gần 100%, do đó, quá mức. Tuy nhiên, hiệu năng thấp hơn được đánh giá ngoài túi hoặc trên các bộ kiểm tra / xác nhận có thể đủ cao để biến nó thành một mô hình hữu ích.
Michael M

1
@Metariat Tại sao không? Độ chính xác này thu được trên tập kiểm tra không được sử dụng trong giai đoạn huấn luyện.
Hossein

3
@Metariat, Một đối số như vậy có thể loại bỏ hầu hết thực tiễn thống kê, ví dụ: công cụ ước tính OLS trong mô hình tuyến tính Bình thường, -test cho sự bằng nhau của một mẫu có nghĩa là một giá trị giả định, và điều gì không. Điều thú vị là đối số không phụ thuộc vào mô hình quá mức trên mẫu đào tạo. Nó cũng giữ cho các mô hình underfit và bất kỳ mô hình nói chung. Điều đó có đúng không? t
Richard Hardy

4
Tôi sẽ không gọi mô hình đó quá mức. Một mô hình quá mức được thiết lập so sánh hiệu suất xác nhận với hiệu suất thử nghiệm. Ngay cả sau đó, chỉ khi hiệu suất thử nghiệm thấp hơn đáng kể so với chấp nhận được, có thể là thảm khốc. Hiệu suất đào tạo có nghĩa là không có gì.
Firebug

Câu trả lời:


32

Tôi nghĩ rằng lập luận là chính xác. Nếu 70% được chấp nhận trong ứng dụng cụ thể, thì mô hình sẽ hữu ích mặc dù nó được cung cấp quá mức (nói chung hơn, bất kể nó có bị quá mức hay không).

Trong khi cân bằng quá mức chống lại sự tối ưu mối quan tâm (tìm kiếm một giải pháp tối ưu), có hiệu suất thỏa đáng là về sự đầy đủ (mô hình có hoạt động đủ tốt cho nhiệm vụ không?). Một mô hình có thể đủ tốt mà không được tối ưu.

Chỉnh sửa: sau các nhận xét của Fireorms và Matthew Drury trong OP, tôi sẽ thêm điều đó để đánh giá xem mô hình có bị quá mức mà không biết hiệu suất xác thực có thể có vấn đề hay không. Fireorms đề nghị so sánh xác nhận so với hiệu suất thử nghiệm để đo lượng quá mức. Tuy nhiên, khi mô hình cung cấp độ chính xác 100% trên tập huấn luyện mà không cung cấp độ chính xác 100% trên tập kiểm tra, đó là một chỉ số về khả năng quá mức (đặc biệt là trong trường hợp hồi quy nhưng không nhất thiết phải phân loại).


Bạn đã hỏi một ví dụ: lấy mã mạng lưới thần kinh trên tập dữ liệu iris tại stats.stackexchange.com/a/273930/2958 và sau đó thử với set.seed(100)một minh họa như hiện tượng được mô tả ở đây và set.seed(15)ngược lại. Có lẽ tốt hơn để nói "một chỉ số của quá mức có thể "
Henry

Có bao giờ một mô hình có thể đạt được độ chính xác 100% trên cả tàu và thử nghiệm và không bị quá mức?
Rika

1
@Breeze, tôi nghĩ bạn có thể hỏi điều này trên một chủ đề riêng biệt (và liên kết đến chủ đề này cho bối cảnh nếu cần).
Richard Hardy

Tôi vừa làm ở đây là liên kết
Rika

25

Trong dự án trước đây của tôi với phát hiện gian lận thẻ tín dụng, chúng tôi cố tình muốn phù hợp với dữ liệu / mã hóa cứng để ghi nhớ các trường hợp gian lận. (Lưu ý, việc quá mức một lớp không chính xác là vấn đề quá mức chung mà OP đã nói đến.) Hệ thống như vậy có mức độ sai tương đối thấp và đáp ứng nhu cầu của chúng tôi.

Vì vậy, tôi sẽ nói, mô hình quá mức có thể hữu ích cho một số trường hợp.


5
Câu trả lời này khá thú vị vì nó trình bày một trường hợp sử dụng. Tôi nghĩ với "mã hóa khó nhớ" @ hxd1011 có nghĩa là mô hình đã đảm bảo rằng mỗi trường hợp gian lận được báo cáo đều dẫn đến "cờ lừa đảo" và chúng không được làm mịn hoặc bị nội suy bởi một chức năng, uhm, giả sử . Một cái gì đó như thế, phải không?
IcannotFix This 11/05/17

@IcannotFix Điều này có. Trên thực tế, chúng tôi đã thử nhiều cách khác để kiểm soát dương tính giả. Nhưng cố gắng để vượt qua các trường hợp gian lận, theo cách điên rồ làm việc tốt.
Haitao Du

3
ββ

3
Điều đó có thể gây phiền nhiễu, nhưng nó khó chịu hơn hàng ngàn lần so với việc tài chính của bạn bị hủy hoại vì ai đó bất chính đã lấy thông tin thẻ của bạn.
Matthew Drury

12

Có lẽ: coi chừng. Khi bạn nói rằng độ chính xác 70% (tuy nhiên bạn đo nó) là đủ tốt cho bạn, có cảm giác như bạn cho rằng các lỗi được phân phối ngẫu nhiên hoặc đồng đều.

Nhưng một trong những cách để xem xét quá mức là nó xảy ra khi một kỹ thuật mô hình cho phép (và quá trình đào tạo của nó khuyến khích) chú ý quá nhiều đến những điều kỳ quặc trong tập huấn luyện. Các đối tượng trong dân số chung có chung những điều kỳ quặc này có thể có kết quả không cân bằng cao.

Vì vậy, có lẽ bạn kết thúc với một mô hình nói rằng tất cả những con chó màu đỏ đều bị ung thư - bởi vì điều đó đặc biệt trong dữ liệu huấn luyện của bạn. Hoặc những người đã kết hôn trong độ tuổi từ 24 đến 26 gần như được đảm bảo nộp các yêu cầu bảo hiểm gian lận. Độ chính xác 70% của bạn để lại rất nhiều chỗ cho các đối tượng bị sai 100% vì mô hình của bạn quá phù hợp.

(Không phải là quá phù hợp không phải là một đảm bảo rằng bạn sẽ không có những dự đoán sai. .)


Cảm ơn. Bạn có nghĩa là có thể đạt được độ chính xác 70% này trên các quirks trong dữ liệu huấn luyện cũng có sẵn trong dữ liệu thử nghiệm? Chúng ta có thể đánh giá dựa trên độ chính xác của dữ liệu thử nghiệm không? Tôi nghĩ rằng những điều kỳ quặc trong dữ liệu đào tạo có sẵn trong dữ liệu kiểm tra nên được học trong quá trình đào tạo.
Hossein

1
Nếu tôi hiểu bạn, nó sẽ ngược lại: quá mức cho những điều kỳ quặc đã mang lại cho bạn sự chính xác cao trong đào tạo. Lý do bạn nhận được độ chính xác thấp hơn trong thử nghiệm là vì những điều kỳ quặc đó không áp dụng cho tổng số liệu của bạn. Nhưng tất nhiên các bộ đào tạo và kiểm tra của bạn - ngay cả khi bạn xác thực chéo, điều này có ích - có thể kỳ quặc liên quan đến dân số của bạn. Trong trường hợp đó, kết quả kiểm tra / xác nhận của bạn sẽ không dự đoán tốt về cách bạn thực sự thực hiện.
Wayne

Bạn đúng rằng bộ thử nghiệm có thể kỳ quặc liên quan đến dân số, nhưng điều này không cụ thể đối với các mô hình quá mức. Tất cả các đánh giá của chúng tôi đều chịu đựng điều đó và chúng tôi không có lựa chọn nào khác ngoài việc dựa vào bộ kiểm tra làm đại diện cho dân số thực sự.
Hossein

Đúng, nó không phải là duy nhất cho các mô hình quá mức, nhưng nó được khuếch đại trong một mô hình overfit. Tôi muốn nói theo định nghĩa mô hình là quá phù hợp bởi vì nó rõ ràng bị quá tập trung vào các quirks.
Wayne

7

Không, chúng có thể hữu ích, nhưng nó phụ thuộc vào mục đích của bạn. Một số điều mùa xuân đến tâm trí:

  1. Fββ1

  2. Một bộ phân loại như vậy có thể thực sự hữu ích trong một tập hợp . Chúng ta có thể có một bộ phân loại với trọng lượng bình thường, một loại vượt trội so với TPR, một phân loại áp đảo FNR. Sau đó, ngay cả việc bỏ phiếu theo quy tắc đơn giản, hoặc tính trung bình, sẽ cho AUC tốt hơn bất kỳ phân loại tốt nhất nào. Nếu mỗi mô hình sử dụng các siêu đường kính khác nhau (hoặc các tập huấn luyện mẫu phụ hoặc các kiến ​​trúc mô hình), thì nó sẽ mua được một số miễn dịch đối với quá mức.

  3. Tương tự, đối với chống thư rác, chống gian lận hoặc chấm điểm tín dụng theo thời gian thực , bạn có thể sử dụng hệ thống phân loại. Các trình phân loại cấp 1 nên đánh giá rất nhanh (ms) và có thể có FPR cao ; bất kỳ sai lầm nào họ mắc phải sẽ bị bắt bởi các phân loại cấp cao hơn chính xác hơn, đầy đủ tính năng hơn, chậm hơn hoặc cuối cùng là người đánh giá con người. Ví dụ rõ ràng: ngăn chặn các tiêu đề tin tức giả mạo từ các vụ chiếm đoạt tài khoản Twitter như "Vụ đánh bom Nhà Trắng" giết chết ba người "ảnh hưởng đến hàng tỷ đô la giao dịch trong vòng ms sau khi đăng. Việc phân loại cấp 1 được đánh dấu là dương tính với thư rác; hãy cho phép một chút thời gian để (tự động) xác định sự thật / sai của các báo cáo tin tức giật gân nhưng chưa được xác minh.


2

Tôi không phủ nhận rằng một mô hình quá mức vẫn có thể hữu ích. Nhưng hãy nhớ rằng 70% này có thể là một thông tin sai lệch. Những gì bạn cần để đánh giá xem một mô hình có hữu ích hay không là lỗi ngoài mẫu , không phải lỗi kiểm tra (không biết lỗi ngoài mẫu, vì vậy chúng tôi phải ước tính nó bằng cách sử dụng bộ kiểm tra bịt mắt ), và 70% đó chỉ là xấp xỉ tốt.

Để đảm bảo rằng chúng tôi ở cùng một trang về thuật ngữ sau nhận xét của @RichardHardy, hãy xác định lỗi kiểm tra là lỗi thu được khi áp dụng mô hình trên bộ kiểm tra mù. Và lỗi ngoài mẫu là lỗi khi áp dụng mô hình cho toàn bộ dân số.

Giá trị gần đúng của lỗi ngoài mẫu phụ thuộc vào hai điều: chính mô hình và dữ liệu.

  • Một mô hình "tối ưu" mang lại độ chính xác (thử nghiệm) hiếm khi phụ thuộc vào dữ liệu, trong trường hợp này, nó sẽ là một xấp xỉ tốt. "Bất kể" dữ liệu, lỗi dự đoán sẽ ổn định.

  • Nhưng, độ chính xác của một mô hình quá mức phụ thuộc rất nhiều vào dữ liệu (như bạn đã đề cập 100% trên tập huấn luyện và 70% cho tập khác). Vì vậy, có thể xảy ra rằng khi áp dụng cho một tập dữ liệu khác, độ chính xác có thể thấp hơn 70% (hoặc cao hơn) và chúng ta có thể có những bất ngờ xấu. Nói cách khác, 70% đó là cho bạn biết bạn tin nó là gì, nhưng thực tế không phải vậy.


1
Vì bộ kiểm tra đã sử dụng đạt được độ chính xác 70% không được nhìn thấy trong giai đoạn huấn luyện, phải chăng đó là một ước tính tốt về lỗi ngoài mẫu? Tôi nghĩ rằng sự khác biệt giữa lỗi đào tạo (100%) và lỗi kiểm tra (70%) không phải là dấu hiệu tốt về sự khác biệt giữa lỗi ngoài mẫu và lỗi kiểm tra. Có thể mô hình quá mức thực hiện chính xác 70% trong thế giới thực, trong khi nó chính xác 100% cho dữ liệu đào tạo. Tôi hy vọng lỗi đào tạo sẽ thấp hơn lỗi thử nghiệm, vì dữ liệu đào tạo được sử dụng để tạo mô hình, nhưng dữ liệu thử nghiệm không được nhìn thấy trong quá trình đào tạo.
Hossein

5
Tôi nghĩ rằng bạn có thể đã nhầm lẫn bộ xác nhận và bộ kiểm tra và các lỗi tương ứng của chúng. Các bài kiểm tra lỗi các out-of-mẫu lỗi. Mặc dù lỗi xác nhận là một biện pháp lạc quan của một mô hình đã chọn, nhưng lỗi kiểm tra thì không. Các bài kiểm tra lỗi là một ước lượng không thiên vị về cách thức mô hình sẽ thực hiện trên một mẫu mới từ dân số tương tự. Chúng tôi có thể ước tính phương sai của lỗi kiểm tra, vì vậy chúng tôi khá ổn khi chỉ biết lỗi kiểm tra miễn là bộ kiểm tra không quá nhỏ. @Hossein
Richard Hardy

3
Bạn có thể giải thích về sự khác biệt giữa lỗi ngoài mẫu và lỗi kiểm tra không? Theo hiểu biết của tôi, cả hai đều là lỗi được tìm thấy khi áp dụng mô hình cho các mẫu không được sử dụng để huấn luyện mô hình. Sự khác biệt duy nhất có thể tôi có thể thấy là khi sử dụng dữ liệu chuỗi thời gian, dữ liệu ngoài mẫu nên từ các điểm thời gian sau, nhưng câu hỏi này không đề cập đến điều đó.
Hạt nhân Wang

1
Theo quan điểm của tôi, lỗi kiểm tra là lỗi thu được khi áp dụng mô hình vào tập hợp bịt mắt, đó là một lỗi gần đúng của lỗi ngoài mẫu, là lỗi thu được khi áp dụng mô hình vào toàn bộ dân số. Và nó không giống nhau, thông tin có giá trị là lỗi ngoài mẫu. Và khi mô hình bị quá mức, lỗi kiểm tra không ổn định và những bất ngờ xấu có thể xảy ra trên các tập dữ liệu khác.
Metariat

4
@Metariat, bạn đã đúng rằng lỗi kiểm tra là ước tính và nó có thể khác với một thử nghiệm được đặt khác. Tuy nhiên, như tôi đã đề cập trước đây, không có lý do gì để mong đợi rằng lỗi kiểm tra đánh giá thấp lỗi thực sự (trung bình không phải vậy). Vì vậy, bằng cách lấy một mẫu thử nghiệm đủ lớn, chúng tôi có thể ràng buộc lỗi thử nghiệm với mức độ tin cậy mong muốn ở một phạm vi mong muốn. Thực tế hơn, có lẽ bạn nên xác định lỗi kiểm tra bằng cách chỉnh sửa câu trả lời của mình để đảm bảo không có sự hiểu lầm về ý nghĩa của bạn khi đối chiếu lỗi kiểm tra với lỗi ngoài mẫu.
Richard Hardy
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.