【机器学习算法】XGBoost原理

一、基本内容
  • 基本内容:GBDT的基础上,在损失函数上加入树模型复杂度的正则项

与GBDT一样,也是使用新的弱学习器拟合残差(当前模型负梯度,残差方向

  • GBDT损失函数

L o s s = ∑ i = 1 N L ( y i , y i t ) Loss = \sum_{i=1}^{N}L(y_i, y_i^{t}) Loss=i=1NL(yi,yit)

  • XGboost损失函数

L o s s = ∑ i = 1 S L ( y i , y i t ) + ∑ j = 1 N Ω ( f j ) ) Loss = \sum_{i=1}^{S}L(y_i, y_i^{t}) + \sum_{j=1}^{N}\Omega(f_j)) Loss=i=1SL(yi,yit)+j=1NΩ(fj))

  • 正则项

Ω ( f t ) ) = γ L + 1 2 λ ∑ j = 1 L ω j 2 \Omega(f_t))=\gamma L+\frac{1}{2} \lambda \sum_{j=1}^L \omega_j^2 Ω(ft))=γL+21λj=1Lωj2

其中, L L L表示当前弱学习器的叶子节点个数, γ , λ \gamma,\lambda γ,λ表示惩罚项, ω j \omega_j ωj表示当前弱学习器的叶子节点 j j j值。

二、目标函数优化

​ 弱学习器损失函数可以写为:
L o s s = γ N + ∑ j = 1 L 【 ∑ i = 1 N ( L ( y i , y i t ) ) + 1 2 λ ω j 2 ) 】 Loss =\gamma N+ \sum_{j=1}^{L} 【\sum_{i=1}^{N}(L(y_i, y_i^{t})) + \frac{1}{2} \lambda \omega_j^2)】 Loss=γN+j=1Li=1N(L(yi,yit))+21λωj2)
​ 其中, y i t = y i t − 1 + ω j y_i^t = y_i^{t-1}+\omega_j yit=y

你可能感兴趣的:(【机器学习算法】XGBoost原理)