Thúc đẩy mô hình hồi quy logistic


11

Adaboost là một phương pháp tập hợp kết hợp nhiều người học yếu để tạo thành một phương pháp mạnh. Tất cả các ví dụ về adaboost mà tôi đã đọc sử dụng gốc cây / quyết định như những người học yếu. Tôi có thể sử dụng những người học yếu khác nhau trong adaboost không? Ví dụ: làm thế nào để triển khai adaboost (nói chung là tăng) để tăng mô hình hồi quy logistic?

Một sự khác biệt chính của cây phân loại và hồi quy logistic là các lớp đầu ra trước đây (-1,1) trong khi hồi quy logistic đưa ra các probs. Một ý tưởng là chọn tính năng X tốt nhất từ ​​một tập hợp các tính năng và chọn ngưỡng (0,5?) Để chuyển đổi các probs thành các lớp và sau đó sử dụng hồi quy logistic có trọng số để tìm tính năng tiếp theo, v.v.

Nhưng tôi tưởng tượng rằng có tồn tại một thuật toán chung để thúc đẩy những người học yếu khác nhau khác với những gốc cây quyết định đưa ra xác suất. Tôi tin rằng Logitboost là câu trả lời cho câu hỏi của tôi nhưng tôi đã cố đọc bài báo "Hồi quy logistic bổ sung" và bị kẹt ở giữa.

Câu trả lời:


7

Đừng nhầm lẫn giữa việc xử lý các yếu tố dự đoán (thông qua người học cơ sở, ví dụ như gốc cây) và việc xử lý chức năng mất trong việc tăng cường. Mặc dù AdaBoost có thể được coi là tìm kiếm sự kết hợp của những người học cơ sở để giảm thiểu lỗi phân loại sai, bài báo "Hồi quy logistic bổ sung" mà bạn trích dẫn cho thấy nó cũng có thể được tạo ra để giảm thiểu hàm mất theo hàm mũ. Cái nhìn sâu sắc này đã mở ra cách tiếp cận thúc đẩy cho một loạt các vấn đề về máy học nhằm giảm thiểu các chức năng mất khác nhau, thông qua việc tăng cường độ dốc . Phần dư phù hợp ở mỗi bước là phần dư giả được tính từ độ dốc của hàm mất. Ngay cả khi các yếu tố dự đoán được mô hình hóa thành gốc nhị phân, thì đầu ra của mô hình do đó không cần phải là lựa chọn nhị phân.

Như một câu trả lời khác nêu rõ, người học cơ sở tuyến tính có thể không hoạt động để tăng cường, nhưng người học cơ sở tuyến tính không bắt buộc phải có "hồi quy tăng cường" theo nghĩa tiêu chuẩn hoặc theo nghĩa logistic. Các gốc cây quyết định phi tuyến tính có thể được kết hợp như những người học cơ sở chậm để giảm thiểu các hàm mất thích hợp. Nó vẫn được gọi là "hồi quy tăng cường" mặc dù nó khác xa so với mô hình hồi quy tiêu chuẩn tuyến tính trong các hệ số của các yếu tố dự đoán. Hàm mất có thể giống nhau về mặt chức năng đối với các mô hình tuyến tính và mô hình "hồi quy tăng cường" với gốc cây hoặc cây làm công cụ dự đoán. Chương 8 của ISLR làm cho điều này khá rõ ràng.

Vì vậy, nếu bạn muốn một hồi quy logistic tương đương với hồi quy tăng cường, hãy tập trung vào chức năng mất hơn là vào những người học cơ sở. Đó là cách tiếp cận LogitBoost trong bài báo mà bạn trích dẫn: giảm thiểu tổn thất log thay vì mất theo cấp số nhân ẩn trong adaboost. Trang Wikipedia AdaBoost mô tả sự khác biệt này.

Nhiều người tham gia trong trang này sẽ lập luận rằng dự đoán dựa trên tỷ lệ cược / xác suất dựa trên xác suất rất thích hợp với dự đoán phân loại có / không nghiêm ngặt, vì trước đây thường cho phép đánh đổi khác nhau giữa các chi phí bổ sung của dự đoán dương tính giả và âm tính giả . Như câu trả lời cho câu hỏi liên quan của bạn chỉ ra, có thể có được xác suất ước tính từ trình phân loại mạnh có nguồn gốc từ AdaBoost, nhưng LogitBoost có thể cho hiệu suất tốt hơn.

Việc triển khai tăng cường độ dốc để phân loại có thể cung cấp thông tin về các xác suất cơ bản. Ví dụ: trang này về tăng cường độ dốc cho thấy cách sklearnmã cho phép lựa chọn giữa mất độ lệch cho hồi quy logistic và mất theo hàm mũ cho AdaBoost và các hàm tài liệu để dự đoán xác suất từ ​​mô hình tăng cường độ dốc.


Cảm ơn bạn rất nhiều vì câu trả lời của bạn. Nếu tôi hiểu nó một cách chính xác để đạt được chức năng của hồi quy logistic trong bối cảnh thúc đẩy tất cả những gì tôi phải làm là sử dụng thuật toán tăng cường độ dốc với chức năng mất logistic và cây phân loại người học yếu? Nhưng các cây phân loại tạo ra {-1,1} trong khi hồi quy logistic đưa ra xác suất. Hơn nữa, các cây phân loại cố gắng giảm thiểu chỉ số gini thay vì mất logistic. Tôi bỏ lỡ một cái gì đó cơ bản ở đây. Đặt lỗ hậu cần ở đâu? Làm thế nào để đầu ra probs từ mô hình?
gnikol

Tôi hiểu khái niệm trong đó y là liên tục vì cây hồi quy giảm thiểu mse là hàm mất tương tự với hồi quy tuyến tính. Do đó tôi liên tục phù hợp với một cây hồi quy cho phần dư. Nhưng trong bối cảnh phân loại, các cây phân loại giảm thiểu chỉ số gini hoặc một cái gì đó tương tự. Làm thế nào mà được kết nối với hồi quy logistic hoặc hàm mất mát của hồi quy logistic?
gnikol

@gnikol Tôi đã sửa đổi câu trả lời của mình theo cách mà tôi hy vọng sẽ làm cho điều này rõ ràng hơn cho cả bạn và những người đọc khác. Phần dư phù hợp với việc tăng độ dốc là phần dư giả được tính từ độ dốc của hàm mất; sự lựa chọn của chức năng mất là những gì phân biệt AdaBoost với LogitBoost. Xác suất có thể được lấy từ người học mạnh trong mọi trường hợp; Tôi đã cung cấp một liên kết đến một ví dụ về việc thực hiện trong đoạn cuối.
EdM

5

Trong thực tế, chúng ta có một câu hỏi rất giống nhau ở đây về trường hợp hồi quy. Và chúng tôi đã có một câu trả lời rất hay của @Matthew Drury

Gradient Boosting cho hồi quy tuyến tính - tại sao nó không hoạt động?

Mô hình tuyến tính (như hồi quy logistic) không tốt cho việc tăng cường. Lý do là nếu bạn thêm hai mô hình tuyến tính với nhau, kết quả là một mô hình tuyến tính khác. Mặt khác, thêm hai gốc cây quyết định hoặc cây, sẽ có một mô hình phức tạp và thú vị hơn (không phải là một cây nữa).

Thông tin chi tiết có thể được tìm thấy trong bài viết này. Trong liên kết này tôi đã rút ra lý do tại sao việc thêm hai mô hình tuyến tính không thú vị. Và tôi đang cho thấy hiệu quả của việc thúc đẩy lặp đi lặp lại quyết định bằng cách lặp.

Làm thế nào để người học cơ sở tuyến tính làm việc trong việc thúc đẩy? Và nó hoạt động như thế nào trong thư viện xgboost?

Lưu ý rằng, cây quyết định / gốc cây không phải là "mô hình tuyến tính" tương tự như hồi quy logistic.

Xem bài đăng này để biết chi tiết

Là một quyết định gốc một mô hình tuyến tính?

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.