Là AdaBoost ít hoặc nhiều hơn có xu hướng quá mức?


20

Tôi đã đọc các tuyên bố khác nhau (dường như) mâu thuẫn cho dù AdaBoost (hoặc các kỹ thuật tăng cường khác) có ít hoặc dễ bị thừa hơn so với các phương pháp học tập khác.

Có những lý do tốt để tin người này hay người kia? Nếu nó phụ thuộc, nó phụ thuộc vào cái gì? Các lý do khiến AdaBoost ít / dễ bị thừa hơn là gì?


1
Trực giác của tôi là nó dễ bị thừa hơn là một khu rừng ngẫu nhiên. Tuy nhiên, thuật toán được thiết kế để tránh bị quá mức và dường như nó không phải là vấn đề. Tôi không có tài liệu tham khảo để sao lưu điều này, nhưng bạn có thể sử dụng caretgói để xác thực chéo adaboost và tôi thấy rằng nó thường khái quát tốt.
Zach

Câu trả lời:


17

Như bạn nói rất nhiều đã được thảo luận về vấn đề này, và có một lý thuyết khá nặng nề đi kèm với nó mà tôi phải thừa nhận rằng tôi chưa bao giờ hiểu đầy đủ. Theo kinh nghiệm thực tế của tôi, AdaBoost khá mạnh mẽ trong việc cung cấp quá nhiều và LPBoost (Tăng cường lập trình tuyến tính) thậm chí còn hơn thế (vì hàm mục tiêu yêu cầu sự kết hợp thưa thớt của những người học yếu, là một hình thức kiểm soát năng lực). Các yếu tố chính ảnh hưởng đến nó là:

  • "Sức mạnh" của những người học "yếu": Nếu bạn sử dụng những người học yếu rất đơn giản, chẳng hạn như gốc cây quyết định (cây quyết định 1 cấp), thì các thuật toán sẽ ít bị ảnh hưởng hơn. Bất cứ khi nào tôi đã thử sử dụng những người học yếu kém phức tạp hơn (như cây quyết định hoặc thậm chí siêu máy bay), tôi thấy rằng việc quá mức xảy ra nhanh hơn nhiều

  • Mức độ nhiễu trong dữ liệu: AdaBoost đặc biệt dễ bị quá tải trên các bộ dữ liệu ồn ào. Trong cài đặt này, các biểu mẫu chính quy (RegBoost, AdaBoostReg, LPBoost, QPBoost) được ưu tiên

  • Tính chiều của dữ liệu: Chúng tôi biết rằng nói chung, chúng tôi trải nghiệm quá mức trong không gian chiều cao ("lời nguyền của chiều") và AdaBoost cũng có thể phải chịu đựng về mặt đó, vì nó đơn giản là sự kết hợp tuyến tính của các phân loại mà chính họ phải chịu từ vấn đề Cho dù đó là dễ dàng như phân loại khác là khó xác định.

k


9

Tôi đồng ý với hầu hết các điểm được đề cập trong bình luận tdc. tuy nhiên, tôi phải thêm và sửa vài thứ.

  • Như Peter Bühlmann đã trình bày trong L2Boost, khi số lượng người học yếu (vòng tăng tốc) tăng lên, độ lệch hội tụ nhanh theo cấp số nhân trong khi phương sai tăng theo độ lớn giảm dần về mặt hình học có nghĩa là: Nó khắc phục chậm hơn hầu hết các phương pháp khác.
  • Nó đã được đề cập sai trong nhận xét của Zach rằng nó tốt hơn so với rừng ngẫu nhiên về mặt vượt trội. Điều đó là hoàn toàn sai. Trên thực tế, theo lý thuyết (nhìn vào tài liệu rừng ngẫu nhiên ban đầu của Breiman), Random Forest hoàn toàn miễn nhiễm với việc cung cấp quá nhiều miễn là các phân loại yếu của nó không phù hợp với dữ liệu.
  • Không giống như những gì được đề cập trong bình luận tdc, hầu hết các phương pháp tăng cường rất nhạy cảm với tiếng ồn ghi nhãn và có thể dễ dàng vượt quá sự hiện diện của tiếng ồn ghi nhãn.
  • Trong các bộ dữ liệu có tỷ lệ lỗi Bayes khác xa 0 (nghĩa là các tính năng không đủ phân biệt đối xử) cũng có thể dễ dàng vượt qua. Bởi vì họ cố gắng giảm lỗi đào tạo xuống 0 trong khi thực tế ngay cả trình phân loại tối ưu, nghĩa là, trình phân loại Bayes có thể đạt tới tỷ lệ lỗi cho phép 40%.
  • cuối cùng, và điều này đã không được công bố ở bất kỳ nơi nào (theo sự hiểu biết tốt nhất của tôi) có một loại quá mức trong đó lỗi tổng quát hóa không tăng khi các vòng tăng tăng nhưng nó cũng không giảm. Nó có nghĩa là thuật toán đã bị mắc kẹt trong một tối ưu cục bộ. Trong tình huống này, lỗi đào tạo liên tục giảm trong khi lỗi kiểm tra gần như không đổi. Cho đến nay, chúng tôi chưa bao giờ coi hiện tượng này là một dấu hiệu của việc quá mức nhưng tôi tin rằng đó là một dấu hiệu của việc quá mức và bằng cách sử dụng những người học yếu kém phức tạp hơn, thực tế chúng ta có thể đi ngược lại với nó (Điểm cuối cùng này cần được xem xét thận trọng : D)

1
Thật đáng để thêm vào câu trả lời này rằng tôi có thể đã trải qua loại quá mức thứ hai ngày hôm nay, với cả AdaBoost và Rừng ngẫu nhiên. Trong xác thực chéo, lỗi vượt quá hội tụ đến một hằng số chỉ có 20 ước lượng cơ sở, và sau đó bị trả lại xung quanh hằng số đó với phương sai cao. Sự nghi ngờ của tôi hoàn toàn giống nhau: các thuật toán tham lam đã bị mắc kẹt trong một số loại tối ưu cục bộ. Đây không phải là xác nhận về những gì đã xảy ra nhưng thật tuyệt khi biết người khác có cùng suy nghĩ.
Shadowtalker

@ssdecontrol Bạn có thể chia sẻ những gì bạn đã làm không? Tôi muốn tái tạo kết quả để hiểu rõ hơn
saurabh agarwal

@saurabhagarwal Tôi nghĩ rằng tôi đang làm việc trong dự án Kaggle Titanic
Shadowtalker
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.