Đóng gói, tăng cường và xếp chồng trong học máy


245

Điểm giống và khác nhau giữa 3 phương pháp này là gì:

  • Đóng bao,
  • Tăng cường,
  • Xếp chồng?

cái nào tốt nhất? Và tại sao?

Bạn có thể cho tôi một ví dụ cho mỗi?


3
để tham khảo sách giáo khoa, tôi khuyên bạn nên: "Phương pháp tập hợp: nền tảng và thuật toán" của Zhou, Zhi-Hua
Vadim Smolyakov

1
Xem ở đây một câu hỏi liên quan .
Ricardo Cruz

Câu trả lời:


252

Cả ba đều được gọi là "meta-thuật toán": phương pháp để kết hợp một số kỹ thuật học máy thành một mô hình dự báo để giảm phương sai ( đóng bao ), thiên vị ( tăng cường ) hoặc cải thiện lực lượng tiên đoán ( xếp chồng bí danh bộ quần áo đồng ).

Mỗi thuật toán bao gồm hai bước:

  1. Sản xuất một phân phối các mô hình ML đơn giản trên các tập hợp con của dữ liệu gốc.

  2. Kết hợp phân phối thành một mô hình "tổng hợp".

Dưới đây là một mô tả ngắn về cả ba phương pháp:

  1. Đóng bao (viết tắt của B ootstrap AGG regat ing ) là một cách để giảm phương sai của dự đoán của bạn bằng cách tạo ra dữ liệu bổ sung cho đào tạo từ tập dữ liệu ban đầu của bạn sử dụng kết hợp với lần lặp lại để sản xuất multisets của cardinality cùng / size như dữ liệu ban đầu của bạn. Bằng cách tăng kích thước tập huấn luyện của bạn, bạn không thể cải thiện lực dự đoán mô hình, mà chỉ cần giảm phương sai, điều chỉnh hẹp dự đoán theo kết quả mong đợi.

  2. Tăng cường là một cách tiếp cận hai bước, trong đó lần đầu tiên sử dụng tập hợp con của dữ liệu gốc để tạo ra một loạt các mô hình hoạt động trung bình và sau đó "tăng" hiệu suất của chúng bằng cách kết hợp chúng lại với nhau bằng cách sử dụng hàm chi phí cụ thể (= phiếu bầu đa số). Không giống như đóng bao, trong việc tăng cường cổ điển, việc tạo tập hợp con không phải là ngẫu nhiên và phụ thuộc vào hiệu suất của các mô hình trước: mọi tập hợp con mới chứa các phần tử (có khả năng) bị phân loại sai bởi các mô hình trước đó.

  3. Xếp chồng tương tự như tăng cường: bạn cũng áp dụng một số mô hình cho dữ liệu gốc của mình. Tuy nhiên, sự khác biệt ở đây là bạn không chỉ có một công thức thực nghiệm cho hàm trọng lượng của mình, thay vào đó bạn giới thiệu một mức meta và sử dụng một mô hình / cách tiếp cận khác để ước tính đầu vào cùng với đầu ra của mọi mô hình để ước tính trọng số hoặc nói cách khác, để xác định mô hình nào hoạt động tốt và điều gì đã đưa ra những dữ liệu đầu vào tồi tệ này.

Dưới đây là bảng so sánh:

Bảng so sánh

Như bạn thấy, tất cả đều là những cách tiếp cận khác nhau để kết hợp một số mô hình thành một mô hình tốt hơn và không có người chiến thắng duy nhất ở đây: mọi thứ phụ thuộc vào tên miền của bạn và những gì bạn sẽ làm. Bạn vẫn có thể đối xử với xếp như một loại nhiều tiến bộ đẩy mạnh , tuy nhiên, những khó khăn của việc tìm kiếm một phương pháp tốt cho meta cấp của bạn làm cho nó khó khăn để áp dụng phương pháp này trong thực tế.

Ví dụ ngắn về mỗi:

  1. Đóng bao : Dữ liệu Ozone .
  2. Boosting : được sử dụng để cải thiện độ chính xác nhận dạng ký tự quang học (OCR).
  3. Xếp chồng : được sử dụng trong phân loại các vi chất ung thư trong y học.

8
Có vẻ như định nghĩa thúc đẩy của bạn khác với định nghĩa trong wiki (mà bạn đã liên kết) hoặc trong bài viết này . Cả hai đều nói rằng trong việc thúc đẩy phân loại tiếp theo sử dụng kết quả của những người được đào tạo trước đó, nhưng bạn không đề cập đến điều đó. Phương pháp bạn mô tả mặt khác tương tự như một số kỹ thuật lấy trung bình biểu quyết / mô hình.
Alexander Rodin

2
@ a-Rodin: Cảm ơn bạn đã chỉ ra khía cạnh quan trọng này, tôi hoàn toàn viết lại phần này để phản ánh tốt hơn điều này. Theo nhận xét thứ hai của bạn, sự hiểu biết của tôi là tăng cường cũng là một loại bỏ phiếu / tính trung bình, hoặc tôi đã hiểu bạn sai?
Alexander Galkin

@AlexanderGalkin Tôi đã nghĩ đến việc tăng cường độ dốc tại thời điểm bình luận: nó không giống như biểu quyết mà là một kỹ thuật gần đúng chức năng lặp. Tuy nhiên, ví dụ AdaBoost trông giống như bỏ phiếu hơn, vì vậy tôi sẽ không tranh luận về điều đó.
Alexander Rodin

3
Trong câu đầu tiên của bạn, bạn nói Boosting làm giảm sự thiên vị, nhưng trong bảng so sánh bạn nói nó làm tăng lực dự đoán. Cả hai đều đúng?
Ben Lindsay

68

Đóng bao :

  1. quần thể song song : mỗi mô hình được xây dựng độc lập

  2. Nhằm mục đích giảm phương sai , không thiên vị

  3. thích hợp cho các mô hình sai lệch thấp phương sai cao (mô hình phức tạp)

  4. một ví dụ về phương pháp dựa trên cây là rừng ngẫu nhiên , nơi phát triển cây được trồng hoàn toàn (lưu ý rằng RF sửa đổi quy trình trồng để giảm sự tương quan giữa các cây)

Tăng cường :

  1. tập hợp tuần tự : cố gắng thêm các mô hình mới hoạt động tốt khi các mô hình trước đó thiếu

  2. Nhằm mục đích giảm sai lệch , không phương sai

  3. thích hợp cho các mô hình sai lệch cao sai lệch cao

  4. một ví dụ về phương pháp dựa trên cây là tăng cường độ dốc


5
Nhận xét từng điểm để trả lời tại sao nó lại như vậy và làm thế nào nó đạt được sẽ là một cải tiến lớn trong câu trả lời của bạn.
Tim

2
Bạn có thể chia sẻ bất kỳ tài liệu / liên kết nào giải thích rằng việc tăng giảm phương sai và làm thế nào để làm điều đó không? Chỉ muốn hiểu sâu hơn
GeorgeOfTheRF

1
Cảm ơn Tim, tôi sẽ thêm một số ý kiến ​​sau. @ML_Pro, từ quy trình tăng cường (ví dụ: trang 23 của cs.cornell.edu/cifts/cs578/2005fa/ mẹo ), có thể hiểu rằng việc tăng cường có thể làm giảm sự thiên vị.
yuqian

43

Chỉ để giải thích về câu trả lời của Yuqian một chút. Ý tưởng đằng sau việc đóng bao là khi bạn QUÁ TRÌNH bằng phương pháp hồi quy không theo tỷ lệ (thường là hồi quy hoặc phân loại cây, nhưng có thể chỉ là về bất kỳ phương pháp không tham số nào), bạn có xu hướng đi đến phương sai cao, không có (hoặc thấp) phần sai lệch / đánh đổi phương sai. Điều này là do một mô hình quá mức rất linh hoạt (độ lệch thấp so với nhiều mẫu trong cùng một quần thể, nếu có sẵn) nhưng có độ biến thiên cao (nếu tôi thu thập một mẫu và phù hợp với nó, và bạn thu thập một mẫu và phù hợp với nó, chúng tôi kết quả sẽ khác nhau vì hồi quy không tham số theo dõi nhiễu trong dữ liệu). Chúng ta có thể làm gì? Chúng ta có thể lấy nhiều mẫu (từ bootstrapping), mỗi phần thừa và trung bình chúng cùng nhau. Điều này sẽ dẫn đến sự thiên vị tương tự (thấp) nhưng loại bỏ một số phương sai,

Tăng cường độ dốc tại trái tim của nó hoạt động với các hồi quy không theo tỷ lệ UNDERFIT, quá đơn giản và do đó không đủ linh hoạt để mô tả mối quan hệ thực sự trong dữ liệu (nghĩa là sai lệch), nhưng vì chúng phù hợp, có phương sai thấp (bạn có xu hướng để có được kết quả tương tự nếu bạn thu thập các tập dữ liệu mới). Làm thế nào để bạn sửa cho điều này? Về cơ bản, nếu bạn không phù hợp, thì CƯ DÂN trong mô hình của bạn vẫn chứa cấu trúc hữu ích (thông tin về dân số), vì vậy bạn tăng cây bạn có (hoặc bất kỳ công cụ dự đoán không tham số nào) bằng một cây được xây dựng trên phần dư. Điều này nên linh hoạt hơn so với cây ban đầu. Bạn liên tục tạo ra càng nhiều cây, mỗi cây ở bước k được tăng cường bởi một cây có trọng số dựa trên cây được trang bị cho phần dư từ bước k-1. Một trong những cây này phải là tối ưu, Vì vậy, bạn kết thúc bằng cách cân tất cả các cây này với nhau hoặc chọn một cây có vẻ phù hợp nhất. Do đó, tăng cường độ dốc là một cách để xây dựng một loạt các cây ứng cử viên linh hoạt hơn.

Giống như tất cả các phương pháp hồi quy hoặc phân loại không theo quy chuẩn, đôi khi đóng gói hoặc tăng cường hoạt động rất tốt, đôi khi một hoặc một cách tiếp cận khác là tầm thường, và đôi khi một hoặc một phương pháp khác (hoặc cả hai) sẽ sụp đổ và cháy.

Ngoài ra, cả hai kỹ thuật này đều có thể được áp dụng cho các phương pháp hồi quy khác với cây, nhưng chúng thường được kết hợp nhất với cây, có lẽ vì rất khó để đặt tham số để tránh bị khớp hoặc quá mức.


3
+1 cho đối số overfit = variance, underfit = bias! Một lý do để sử dụng cây quyết định là chúng không ổn định về mặt cấu trúc do đó được hưởng lợi nhiều hơn từ những thay đổi nhỏ của điều kiện. ( abbottanalytics.com/assets/pdf/
Mark Horvath


3

Tóm lại, BaggingBoosting thường được sử dụng trong một thuật toán, trong khi Stacking thường được sử dụng để tóm tắt một số kết quả từ các thuật toán khác nhau.

  • Đóng gói : Bootstrap tập hợp các tính năng và mẫu để có được một số dự đoán và trung bình (hoặc các cách khác), ví dụ, Random Forestloại bỏ phương sai và không có vấn đề quá mức.
  • Đẩy mạnh : Sự khác biệt từ đóng bao là mô hình sau đang cố gắng tìm hiểu những lỗi do trước đó, ví dụ GBMXGBoost, trong đó loại bỏ những sai nhưng có vấn đề overfitting.
  • Xếp chồng : Thường được sử dụng trong các cuộc thi, khi người ta sử dụng nhiều thuật toán để huấn luyện trên cùng một tập dữ liệu và kết quả trung bình (tối đa, tối thiểu hoặc các kết hợp khác) để có được độ chính xác dự đoán cao hơn.

2

cả đóng gói và tăng cường sử dụng một thuật toán học duy nhất cho tất cả các bước; nhưng họ sử dụng các phương pháp khác nhau để xử lý các mẫu đào tạo. cả hai đều là phương pháp học tập kết hợp các quyết định từ nhiều mô hình
Đóng gói :
1. lấy lại dữ liệu đào tạo để có được các tập con M (bootstrapping);
2. đào tạo bộ phân loại M (cùng thuật toán) dựa trên bộ dữ liệu M (các mẫu khác nhau);
3. phân loại cuối cùng kết hợp đầu ra M bằng cách bỏ phiếu;
trọng lượng mẫu bằng nhau;
phân loại trọng lượng như nhau;
giảm lỗi bằng cách giảm phương sai
Tăng tốc : ở đây tập trung vào thuật toán adaboost
1. bắt đầu với trọng số bằng nhau cho tất cả các mẫu trong vòng đầu tiên;
2. trong các vòng M-1 sau, tăng trọng số của các mẫu bị phân loại sai ở vòng trước, giảm trọng lượng của các mẫu được phân loại chính xác ở vòng trước
3. sử dụng biểu quyết có trọng số, phân loại cuối cùng kết hợp nhiều phân loại từ các vòng trước và cho trọng số lớn hơn để phân loại với ít phân loại sai.
bước tái mẫu khôn ngoan; trọng lượng cho mỗi vòng dựa trên kết quả từ
các mẫu cân lại vòng trước (tăng) thay vì lấy mẫu lại (đóng bao).


0

Đóng bao và tăng cường có xu hướng sử dụng nhiều mô hình đồng nhất.

Xếp chồng kết hợp kết quả từ các loại mô hình không đồng nhất.

Vì không có loại mô hình duy nhất nào có xu hướng phù hợp nhất trên toàn bộ phân phối, bạn có thể thấy lý do tại sao điều này có thể làm tăng sức mạnh dự đoán.

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.