O
b
j
(
θ
)
=
L
(
θ
)
+
Ω
(
θ
)
Obj(\theta)=L(\theta) + \Omega(\theta)
Obj(θ)=L(θ)+Ω(θ)
L
(
θ
)
L(\theta)
L(θ)是误差函数,体现的是模型有多拟合数据;
Ω
(
θ
)
\Omega(\theta)
Ω(θ)正则化项:惩罚复杂模型的参数用于解决过拟合;
3.3 GBDT的目标函数
o
b
j
=
∑
i
=
1
n
l
(
y
i
,
y
i
−
(
t
)
)
obj=\sum_{i=1}^nl(y_i, y_i^-(t))
obj=∑i=1nl(yi,yi−(t))
逐步迭代
y
i
−
(
0
)
=
0
y_i^-(0)=0
yi−(0)=0
y
i
−
(
1
)
=
y
i
−
(
0
)
+
f
1
(
x
i
)
y_i^-(1)=y_i^-(0)+f_1(x_i)
yi−(1)=yi−(0)+f1(xi)
y
i
−
(
2
)
=
y
i
−
(
1
)
+
f
2
(
x
i
)
y_i^-(2)=y_i^-(1)+f_2(x_i)
yi−(2)=yi−(1)+f2(xi)
…
y
i
−
(
t
)
=
y
i
−
(
t
−
1
)
+
f
t
(
x
i
)
y_i^-(t)=y_i^-(t-1)+f_t(x_i)
yi−(t)=yi−(t−1)+ft(xi)
并没有考虑模型的复杂程度
3.4 XGBoost的目标函数
在GBDT的目标函数上增加正则化项[主要考虑基函数的复杂度]
o
b
j
=
∑
i
=
1
n
l
(
y
i
,
y
i
−
(
t
)
)
+
∑
i
=
1
t
Ω
(
f
i
)
obj=\sum_{i=1}^nl(y_i, y_i^-(t))+\sum_{i=1}^t\Omega(f_i)
obj=∑i=1nl(yi,yi−(t))+∑i=1tΩ(fi)
逐步迭代
y
i
−
(
0
)
=
0
y_i^-(0)=0
yi−(0)=0
y
i
−
(
1
)
=
y
i
−
(
0
)
+
f
1
(
x
i
)
y_i^-(1)=y_i^-(0)+f_1(x_i)
yi−(1)=yi−(0)+f1(xi)
y
i
−
(
2
)
=
y
i
−
(
1
)
+
f
2
(
x
i
)
y_i^-(2)=y_i^-(1)+f_2(x_i)
yi−(2)=yi−(1)+f2(xi)
…
y
i
−
(
t
)
=
y
i
−
(
t
−
1
)
+
f
t
(
x
i
)
y_i^-(t)=y_i^-(t-1)+f_t(x_i)
yi−(t)=yi−(t−1)+ft(xi)
假设
f
t
(
x
)
=
ω
q
(
x
)
f_t(x)=\omega_q(x)
ft(x)=ωq(x),
ω
q
(
x
)
\omega_q(x)
ωq(x)表示第q个叶子节点的预测值
第t次迭代之后,模型的预测等于前t-1次的模型加上第t棵树的预测结果:
y
i
−
(
t
)
=
y
i
−
(
t
−
1
)
+
f
t
(
x
i
)
y_i^-(t)=y_i^-(t-1)+f_t(x_i)
yi−(t)=yi−(t−1)+ft(xi)
目标函数可以写成:
l
o
s
s
=
∑
i
=
1
n
l
(
y
i
,
y
i
t
−
1
+
f
t
(
x
i
)
)
+
∑
t
=
1
t
−
1
Ω
(
f
i
)
+
Ω
(
f
t
)
loss=\sum_{i=1}^nl(y_i, y_i^{t-1}+f_t(x_i))+\sum_{t=1}^{t-1}\Omega(f_i)+\Omega(f_t)
loss=∑i=1nl(yi,yit−1+ft(xi))+∑t=1t−1Ω(fi)+Ω(ft)
将误差函数中的
y
i
t
−
1
+
f
t
(
x
i
)
y_i^{t-1}+f_t(x_i)
yit−1+ft(xi)当成一个整体在
y
i
t
−
1
y_i^{t-1}
yit−1初进行二阶泰勒展开
l
o
s
s
≈
∑
i
n
[
l
(
y
i
,
y
i
t
−
1
)
+
g
i
f
t
(
x
i
)
+
1
2
h
i
f
t
2
(
x
i
)
]
+
∑
i
=
1
t
−
1
Ω
(
f
i
)
+
Ω
(
f
t
)
loss\approx \sum_i^n [l(y_i,y_i^{t-1})+g_i f_t(x_i)+\frac{1}{2}h_i f_t^2(x_i)]+\sum_{i=1}^{t-1}\Omega(f_i)+\Omega(f_t)
loss≈∑in[l(yi,yit−1)+gift(xi)+21hift2(xi)]+∑i=1t−1Ω(fi)+Ω(ft)
g
i
=
∂
y
i
t
−
1
l
(
y
i
,
y
i
t
−
1
)
g_i=\partial_{y_i^{t-1}}l(y_i, y_i^{t-1})
gi=∂yit−1l(yi,yit−1)
h
i
=
∂
y
i
t
−
1
2
l
(
y
i
,
y
i
t
−
1
)
h_i=\partial_{y_i^{t-1}}^2l(y_i, y_i^{t-1})
hi=∂yit−12l(yi,yit−1)
t
=
y
i
+
f
t
(
x
)
,
t
0
=
f
t
−
1
(
x
)
t=y_i+f_t(x), t_0=f_{t-1}(x)
t=yi+ft(x),t0=ft−1(x) 5.