目录 |
1. XGB算法原理 |
-
目标
建立K个回归树,使得树群的预测值尽量接近真实值(准确率)而且有尽量大的泛化能力(更为本质的东西),从数学角度看这是一个泛函最优化,多目标,定义目标函数:
直观上看,目标要求预测误差尽量小,叶子节点尽量少,节点数值尽量不极端 -
目标实现策略
贪心策略+最优化
贪心策略:就是决策时刻按照当前目标最优化决定
最优化:XGBoost采用对损失函数进行二阶Taylor展开来近似
方式: 先建完全树后剪枝 -
推导
(1) 泰勒展开式
(2) xgboost 损失函数求最值
2. 损失函数 |
机器学习中所有的算法都需要最大化或最小化一个函数,这个函数被称为“目标函数”。其中,我们一般把最小化的一类函数,称为“损失函数”。它能根据预测结果,衡量出模型预测能力的好坏。
在实际应用中,选取损失函数会受到诸多因素的制约,比如是否有异常值、机器学习算法的选择、梯度下降的时间复杂度、求导的难易程度以及预测值的置信度等等。因此,不存在一种损失函数适用于处理所有类型的数据。
损失函数大致可分为两类:分类问题的损失函数和回归问题的损失函数
适用于回归问题的损失函数
- 均方误差
均方误差(MSE)是最常用的回归损失函数,计算方法是求预测值与真实值之间距离的平方和- 平均绝对值误差(也称L1损失)