在本合集的上一篇文章完成了目标函数的泰勒展开,得到了形如(4)式的函数:
接下来,求其最小值。
1.(4)式的变体
先引入几个新的变量和函数定义:
Ij:若特征空间X存在划分I1, I2,…,Im 则 Ij 是该划分的一项,即X的第j个子集。对于XGBoost树,Ij包含且只包含所有映射到某一个叶子节点的特征值。
q(xi):一个以特征空间为出发域,以叶子节点索引值为到达域的映射,即给定一个输入项xi,得到一个叶子节点的索引。
ωq(xi):既然q(xi)是叶子节点的索引,那么ωq(xi)就是该叶子节点的值(或权重)。参考本合集第4篇文章关于fk的定义可知:
在XGBoost树中,n维特征向量映射了T个叶子节点值,因此有:
将(5)式替换(4)式相同的项得:
至此,第t颗树的目标函数中仅ωj未知,即obj是关于ωj的函数,因此可记为:
2.目标函数的最小值
由(6)式可知,z(ωj)是一开口向上的二次抛物线,因此在其导数为0处取得最小值。
如前所述obj是以X的划分为出发域,以全体ωj为到达域的映射,而X的划分的各子集是相互独立的,因此对于任一叶子节点: