Là ngưỡng quyết định một siêu tham số trong hồi quy logistic?


13

Các lớp được dự đoán từ hồi quy logistic (nhị phân) được xác định bằng cách sử dụng ngưỡng trên xác suất thành viên của lớp được tạo bởi mô hình. Theo tôi hiểu, thông thường 0,5 được sử dụng theo mặc định.

Nhưng việc thay đổi ngưỡng sẽ thay đổi các phân loại dự đoán. Điều này có nghĩa là ngưỡng là một siêu tham số? Nếu vậy, tại sao (ví dụ) không thể dễ dàng tìm kiếm trên lưới các ngưỡng bằng GridSearchCVphương pháp scikit-learn (như bạn sẽ làm với tham số chính quy C).


1
"Theo tôi hiểu, thông thường 0,5 được sử dụng theo mặc định." Phụ thuộc vào ý nghĩa của từ "điển hình". Trong thực tế, không ai nên làm điều này.
Matthew Drury


Nghiêm túc, bạn không có nghĩa là hồi quy logistic, bạn có nghĩa là sử dụng một hồi quy logistic với ngưỡng phân loại nhị phân (bạn cũng có thể đào tạo một hồi quy cho mỗi trong hai lớp, với một chút ngẫu nhiên hoặc trọng số hạt giống để tránh chúng bị phụ thuộc tuyến tính).
smci

Câu trả lời:


12

Ngưỡng quyết định tạo ra sự đánh đổi giữa số lượng tích cực mà bạn dự đoán và số lượng tiêu cực mà bạn dự đoán - bởi vì, về mặt phương pháp, việc tăng ngưỡng quyết định sẽ làm giảm số lượng tích cực mà bạn dự đoán và tăng số lượng tiêu cực bạn dự đoán.

Ngưỡng quyết định không phải là một siêu tham số theo nghĩa điều chỉnh mô hình vì nó không thay đổi tính linh hoạt của mô hình.

C(ví dụ: các hệ số hồi quy logistic sẽ khác nhau), trong khi điều chỉnh ngưỡng chỉ có thể thực hiện hai điều: đánh đổi TP cho FN và FP cho TN. Tuy nhiên, mô hình vẫn giữ nguyên, vì điều này không thay đổi các hệ số. (Điều tương tự cũng đúng với các mô hình không có hệ số, chẳng hạn như rừng ngẫu nhiên: thay đổi ngưỡng không thay đổi bất cứ điều gì về cây.) Vì vậy, theo nghĩa hẹp, bạn đã đúng khi tìm ra sự đánh đổi tốt nhất giữa các lỗi là "điều chỉnh", nhưng bạn đã sai khi nghĩ rằng việc thay đổi ngưỡng được liên kết với các tham số siêu mô hình khác theo cách được tối ưu hóa theo GridSearchCV.

Nói cách khác, thay đổi ngưỡng quyết định phản ánh sự lựa chọn của bạn về số lượng sai tích cực và phủ định sai mà bạn muốn có. Hãy xem xét giả thuyết rằng bạn đặt ngưỡng quyết định thành một giá trị hoàn toàn hợp lý như -1. Tất cả các xác suất đều không âm, vì vậy với ngưỡng này, bạn sẽ dự đoán "dương" cho mọi quan sát. Từ một góc độ nhất định, điều này là tuyệt vời, bởi vì tỷ lệ âm tính giả của bạn là 0,0. Tuy nhiên, tỷ lệ dương tính giả của bạn cũng ở mức cực cao là 1.0, vì vậy theo nghĩa đó, sự lựa chọn ngưỡng của bạn ở -1 là rất tệ.

Tất nhiên, lý tưởng là có TPR là 1.0 và FPR là 0,0 và FNR là 0,0. Nhưng điều này thường là không thể trong các ứng dụng trong thế giới thực, vì vậy câu hỏi sau đó trở thành "tôi sẵn sàng chấp nhận bao nhiêu FPR cho bao nhiêu TPR?" Và đây là động lực của đường cong .


Cảm ơn câu trả lời @Sycorax. Bạn đã gần như thuyết phục tôi. Nhưng chúng ta không thể chính thức hóa ý tưởng "tôi sẵn sàng chấp nhận bao nhiêu FPR cho bao nhiêu TPR"? ví dụ: sử dụng ma trận chi phí. Nếu chúng ta có một ma trận chi phí thì sẽ không mong muốn tìm thấy ngưỡng tối ưu thông qua điều chỉnh, như bạn sẽ điều chỉnh một siêu tham số? Hoặc có cách nào tốt hơn để tìm ngưỡng tối ưu?
Nick

1
CGridSearchCV

@Sycorax Không phải là ngưỡng và chặn (thuật ngữ thiên vị) về cơ bản là giống nhau sao? Tức là bạn có thể giữ ngưỡng cố định ở mức 0,5 nhưng thay đổi mức chặn cho phù hợp; điều này sẽ "thay đổi mô hình" (theo nhận xét cuối cùng của bạn) nhưng sẽ có tác dụng giống hệt nhau về mặt dự đoán nhị phân. Điều này có đúng không? Nếu vậy, tôi không chắc sự khác biệt nghiêm ngặt giữa "thay đổi mô hình" và "thay đổi quy tắc quyết định" rất có ý nghĩa trong trường hợp này.
amip nói rằng Phục hồi lại

@amoeba Đây là một nhận xét mặc dù kích động. Tôi sẽ phải xem xét nó. Tôi cho rằng số tiền đề xuất của bạn là "giữ ngưỡng ở mức 0,5 và coi mức chặn là siêu tham số mà bạn điều chỉnh". Về mặt toán học không có gì ngăn cản bạn làm điều này, ngoại trừ quan sát rằng mô hình không còn tối đa hóa khả năng của nó. Nhưng đạt được MLE có thể không phải là ưu tiên trong một số bối cảnh cụ thể.
Sycorax nói Phục hồi lại

10

Nhưng việc thay đổi ngưỡng sẽ thay đổi các phân loại dự đoán. Điều này có nghĩa là ngưỡng là một siêu tham số?

Yup, nó có, sắp xếp. Đó là một siêu tham số của quy tắc quyết định của bạn , nhưng không phải là hồi quy cơ bản.

Nếu vậy, tại sao (chẳng hạn) không thể dễ dàng tìm kiếm trên lưới các ngưỡng bằng phương pháp GridSearchCV của scikit-learn (như bạn sẽ làm với tham số chính quy C).

Đây là một lỗi thiết kế trong sklearn. Cách thực hành tốt nhất cho hầu hết các kịch bản phân loại là phù hợp với mô hình cơ bản (dự đoán xác suất) bằng cách sử dụng một số thước đo chất lượng của các xác suất này (như mất log trong hồi quy logistic). Sau đó, một ngưỡng quyết định về các xác suất này sẽ được điều chỉnh để tối ưu hóa một số mục tiêu kinh doanh của quy tắc phân loại của bạn. Thư viện sẽ giúp bạn dễ dàng tối ưu hóa ngưỡng quyết định dựa trên một số thước đo chất lượng, nhưng tôi không tin rằng nó làm tốt điều đó.

Tôi nghĩ rằng đây là một trong những nơi sklearn đã hiểu sai. Thư viện bao gồm một phương thức predict, trên tất cả các mô hình phân loại có ngưỡng 0.5. Phương pháp này là vô ích, và tôi mạnh mẽ ủng hộ vì không bao giờ gọi nó. Thật không may khi sklearn không khuyến khích một quy trình làm việc tốt hơn.


Tôi cũng chia sẻ sự hoài nghi của bạn về predictlựa chọn mặc định của phương pháp là 0,5 như một điểm cắt, nhưng GridSearchCVchấp nhận scorercác đối tượng có thể điều chỉnh các mô hình liên quan đến mất mát entropy ngoài mẫu. Tôi có thiếu điểm của bạn không?
Sycorax nói Phục hồi lại

Đúng, đồng ý rằng đó là cách thực hành tốt nhất, nhưng nó không khuyến khích người dùng điều chỉnh ngưỡng quyết định.
Matthew Drury

Gotcha. Tôi hiểu ý của bạn!
Sycorax nói Phục hồi lại

1
@Sycorax đã cố gắng chỉnh sửa để làm rõ!
Matthew Drury
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.