f_t(x_i) 可能存在下限
个人理解,在
l
l
l 为平方误差的时候,
f
t
(
x
)
f_{t}(x)
ft(x) 是有范围的,我们对上面一阶泰勒展开的式子详细写开
l
(
H
t
−
1
(
x
i
)
+
f
t
(
x
i
)
)
≈
l
(
H
t
−
1
(
x
i
)
)
+
∂
l
(
H
t
−
1
(
x
i
)
)
∂
H
t
−
1
(
x
i
)
×
f
t
(
x
i
)
=
[
y
i
−
H
t
−
1
(
x
i
)
]
2
−
2
[
y
i
−
H
t
−
1
(
x
i
)
]
×
f
t
(
x
i
)
\begin{aligned} l(H_{t-1}(x_i) + f_t(x_i) ) &\approx l(H_{t-1}(x_i)) + \frac{\partial{l(H_{t-1}(x_i))}}{\partial{H_{t-1}(x_i)}} \times f_t(x_i) \\ &= [y_{i}-H_{t-1}(x_{i})]^{2}-2[y_{i}-H_{t-1}(x_{i})]\times f_{t}(x_{i})\\ \end{aligned}
l(Ht−1(xi)+ft(xi))≈l(Ht−1(xi))+∂Ht−1(xi)∂l(Ht−1(xi))×ft(xi)=[yi−Ht−1(xi)]2−2[yi−Ht−1(xi)]×ft(xi)
这里需要注意的是,等式左面是平方损失,本身就是平方项,因此必须要大于等于 0,因此其最小值就为 0
[
y
i
−
H
t
−
1
(
x
i
)
]
2
−
2
[
y
i
−
H
t
−
1
(
x
i
)
]
×
f
t
(
x
i
)
=
0
f
t
(
x
i
)
=
1
2
[
y
i
−
H
t
−
1
(
x
i
)
]
f
t
(
x
i
)
=
−
1
4
g
t
\begin{aligned} \ [y_{i}-H_{t-1}(x_{i})]^{2}-2[y_{i}-H_{t-1}(x_{i})]\times f_{t}(x_{i})&=0\\ f_{t}(x_{i})&=\frac{1}{2}[y_{i}-H_{t-1}(x_{i})]\\ f_{t}(x_{i})&=-\frac{1}{4}g_{t} \end{aligned}
[yi−Ht−1(xi)]2−2[yi−Ht−1(xi)]×ft(xi)ft(xi)ft(xi)=0=21[yi−Ht−1(xi)]=−41gt
当然如果
l
l
l 使用其他的计算公式那么这个推导就不适用了
为什么取 f_t(x_i)=-g_t
从迭代的角度说,其实 f t ( x i ) f_{t}(x_{i}) ft(xi) 也没必要很大,因为此时梯度为 ∂ l ( H t − 1 ( x i ) ) ∂ H t − 1 ( x i ) \begin{aligned} \frac{\partial{l(H_{t-1}(x_i))}}{\partial{H_{t-1}(x_i)}}\end{aligned} ∂Ht−1(xi)∂l(Ht−1(xi)),但经过更新后,也就是 H t ( x ) = H t − 1 ( x ) + η f t ( x ) H_t(x) = H_{t-1}(x) + \eta f_t(x) Ht(x)=Ht−1(x)+ηft(x),梯度的值也会重新变化,也就是损失函数下降最快的方向就会随之变化,因此我们需要不断更新梯度
对于一个凸函数,用泰勒展开并令其等于 0 得到的
f
t
(
x
i
)
=
−
1
4
g
t
f_{t}(x_{i})=-\frac{1}{4}g_{t}
ft(xi)=−41gt
即使拟合的数完全符合这个规则,代入
H
t
(
x
)
=
H
t
−
1
(
x
)
+
f
t
(
x
)
H_t(x) = H_{t-1}(x) + f_t(x)
Ht(x)=Ht−1(x)+ft(x)
并不会直接使得损失函数为 0,泰勒展开是约等于,只是使得在当前梯度情况下的损失函数最小值,也就是满足
l
(
H
t
−
1
(
x
i
)
)
+
∂
l
(
H
t
−
1
(
x
i
)
)
∂
H
t
−
1
(
x
i
)
×
f
t
(
x
i
)
=
0
l(H_{t-1}(x_i)) + \frac{\partial{l(H_{t-1}(x_i))}}{\partial{H_{t-1}(x_i)}} \times f_t(x_i)=0
l(Ht−1(xi))+∂Ht−1(xi)∂l(Ht−1(xi))×ft(xi)=0
但
l
(
H
t
−
1
(
x
i
)
+
f
t
(
x
i
)
)
≠
0
l(H_{t-1}(x_i) + f_t(x_i) )\ne 0
l(Ht−1(xi)+ft(xi))=0
如果想要
l
(
H
t
−
1
(
x
i
)
+
f
t
(
x
i
)
)
=
0
l(H_{t-1}(x_i) + f_t(x_i) )= 0
l(Ht−1(xi)+ft(xi))=0
则需要拟合
f
t
(
x
i
)
=
−
g
t
f_{t}(x_{i})=-g_{t}
ft(xi)=−gt
感性的理解一下,也就是需要一步满足、
y
=
H
t
−
1
(
x
i
)
+
f
t
(
x
i
)
y=H_{t-1}(x_{i})+f_{t}(x_{i})
y=Ht−1(xi)+ft(xi)
这样损失函数就能直接为 0,但此时模型的泛化能力会很弱,整体模型偏差小,方差很大,也就是决策树模型,所以我们要在保证减小损失函数的前提下保证模型的泛化能力,因此就会有
η
\eta
η 以及参数 max_depth 等来限制模型一次性达到损失函数的最小值