多分类问题
对于多分类问题,与二分类问题类似,仅在损失函数部分有所区别,对于多分类问题,原论文中选择的是交叉熵损失函数
L({yk,Fk(x)}1K)=−k=1∑Kyklogpk(x)
同时多分类问题一般使用softmax 函数进行类别概率的计算,其中k表示当前的类别,K表示类别的数量
pk(x)=exp(Fk(x))/l=1∑Kexp(Fl(x))
然后同样的求负梯度(残差)
y~ik=−⎣⎡∂Fk(xi)∂L({yil,Fl(xi)}l=1K)⎦⎤{Fl(x)=Flm−1(α)}1K=yik−pk,m−1(xi)
我们需要求叶子节点的估计值
{rjkm}=argminγki=1∑Nk=1∑Kϕ(yik,Fk,m−1(xi)+j=1∑JγjkI(xi∈Rjm)})
可以通过Newton-Raphson来求近似结果
γjkm=KK−1∑xi∈Rjkm∣y~ik∣(1−∣y~ik∣)∑xi∈Rjkmy~ik
回归问题
在原论文中使用的是huber损失函数,为了简单,我们使用平方损失
L(y,F)=2(y−F)2
y~i=−[∂F(xi)∂L(y,F(xi))]F(x)=Fm−1(x)=yi−Fm−1(xi)
叶子节点值的估计
γjm=argminγ∑xi∈Rjm21(yi−(Fm−1(xi)+γ))2γjm=argminγ∑xi∈Rjm21(yi−Fm−1(xi)−γ)2γjm=argminγ∑xi∈Rjm21(y~i−γ)2
所以,我们可以去
y~i均值,来使得损失最小:
γjm=averagexi∈Rjmy~i