Scikit Binomial Deviance Chức năng mất


11

Đây là hàm mất lệch nhị thức của GradientBoosting,

   def __call__(self, y, pred, sample_weight=None):
        """Compute the deviance (= 2 * negative log-likelihood). """
        # logaddexp(0, v) == log(1.0 + exp(v))
        pred = pred.ravel()
        if sample_weight is None:
            return -2.0 * np.mean((y * pred) - np.logaddexp(0.0, pred))
        else:
            return (-2.0 / sample_weight.sum() *
                    np.sum(sample_weight * ((y * pred) - np.logaddexp(0.0, pred))))

Hàm mất này không giống nhau giữa lớp có 0 và lớp có 1. Có ai có thể giải thích điều này được coi là OK không.

Ví dụ, không có mẫu nào, hàm mất cho lớp 1 là

-2(pred - log(1 + exp(pred))

so với lớp 0

-2(-log(1+exp(pred))

Cốt truyện cho hai người này không giống nhau về chi phí. Ai có thể giúp tôi hiểu.

Câu trả lời:


17

Có hai quan sát cần thiết để hiểu việc thực hiện này.

Đầu tiên là predkhông một xác suất, đó là một tỷ lệ cược log.

Thứ hai là một thao tác đại số tiêu chuẩn của sai lệch nhị thức đi như thế này. Đặt là tỷ lệ cược log, gọi là gì . Khi đó, định nghĩa về độ lệch nhị thức của một quan sát là (tối đa là hệ số )Psklearnpred2

ylog(p)+(1y)log(1p)=log(1p)+ylog(p1p)

Bây giờ hãy quan sát rằng và (kiểm tra nhanh là tổng hợp chúng trong đầu bạn, bạn sẽ nhận được ). Vì thếp=eP1+eP1p=11+eP1

log(1p)=log(11+eP)=log(1+eP)

log(p1p)=log(eP)=P

Vì vậy, hoàn toàn, độ lệch nhị thức bằng

yPlog(1+eP)

Đó là phương trình sklearnđang sử dụng.


Cảm ơn bạn. Nếu tôi thay thế predbằng tỷ lệ cược log, hàm mất là thống nhất cho cả hai lớp.
Kumara

Câu hỏi tương tự này đã đưa ra cho tôi gần đây. Tôi đã xem gradientboostedmodels.googlecode.com/git/gbm/inst/doc/gbm.pdf trang 10 trong đó độ dốc của độ lệch được liệt kê. Nhưng có vẻ như độ dốc mà chúng hiển thị là dành cho log-like chứ không phải log-thích âm. Điều này có đúng không - có vẻ phù hợp với lời giải thích của bạn ở đây?
B_Miner

1
@B_Miner liên kết bị hỏng
GeneX

Cảm ơn rất nhiều
@Matthew
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.