( 保证能看懂系列)集成算法之Boosting -XGboost 详细原理

预备知识:(1)GBDT实现原理https://blog.csdn.net/Lee_Yu_Rui/article/details/107309184https://blog.csdn.net/Lee_Yu_Rui/article/details/107294360(2)bias 和 variance(3)L1 和 L2 正则化(Ridge和lasso回归)其本质就是通过L1或者L2正则化使得被正则化的元素之间变小的过程,比如RIdge对w或者说成直线的斜率进行L2正则化的时候,就会.
摘要由CSDN通过智能技术生成

预备知识:

(1)GBDT实现原理

 https://blog.csdn.net/Lee_Yu_Rui/article/details/107309184

https://blog.csdn.net/Lee_Yu_Rui/article/details/107294360

(2)bias 和 variance

(3)L1 和 L2 正则化(Ridge和lasso回归)

其本质就是通过L1或者L2正则化使得被正则化的元素之间变小的过程,比如RIdge对w或者说成直线的斜率进行L2正则化的时候,就会使得最后的斜率相比正则化之间变小,这就较少了对数据自变量的敏感性,从而使得产生的拟合直线的bias增加,从而减少方差,提高泛化能力

假设预备知识都没有问题,我们开看看XGboost的原理。

根据boosting算法族的思路,根据前一个学习器的训练效果对样本分布进行调整,再根据新的样本分布训练下一个学习器。以前谈到的算法如 AdaBoost或者GBDT的弱分类器都是基于CART树进行的。这里XGboost有它自己生成决策树的方式,要生成一个决策树,主要就是解决3个方面:

(1)如何划分特征

(2)输出数据O_{value}的规则(回归:采用何种计算输出值的方式,分类:大数原则还是加权概率等方式)

(3)如何在不同特征组合的树之间,选择一个最好的树(如CART分类是根据GINI系数增益,ID3 信息增益  C4.5信息增益率)

另外作为集成算法,还要(4)明确XGboost的损失函数以及最后的结合策略

所以本节会详细解释以上问题

明确XGboost的损失函数

XGboost的损失函数是在常规损失函数的基础上加入了L1正则项和L2正则项,所以降低XGboost过拟合的可能。

                                                               \sum_{i=1}^{n}L(y_{i},f(x)) + \gamma T + \frac{1}{2} \lambda O_{value}^{2}

T是叶子节点个数,O_{value} 是叶子节点输出值,所以可见后两项的作用分别是当gamma>0时,叶子节点的个数就会被抑制,从而起到限制树的大小的作用;当lambda>0时,O_{value}就会被抑制,从而抑制了对独立数据点的敏感性,也就是增加了算法的抗噪性。

Output value 和 Similarity score

  1. Output value

整个的决策过程其实就是不断最小化损失函数的过程,所以O_{value}就是所有数据的损失函数和最小所对应的O_{value}值,XGboost采用的是将损失函数通过二次展开后进行分析的。另外无论是分类还是回归,其初始值都是一个常数,默认情况f_{0}(x) = 0.5 ,所以损失函数的第一部分可以写成以下的样子,并进行泰勒展开

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: SSA-XGBoost是一种基于XGBoost算法的时间序列预测方法,它结合了小波分析和奇异谱分析(SSA)技术,可以更好地捕捉时间序列的周期性和趋势性。具体来说,它使用SSA将原始时间序列分解成多个子序列,并使用小波分析技术进一步分析每个子序列,然后使用XGBoost算法对每个子序列进行预测,并将预测结果汇总得到最终的预测结果。相比于传统的时间序列预测方法,SSA-XGBoost在处理非线性、非平稳、周期性强的时间序列方面表现更好。 ### 回答2: SSA-XGBoost是一种集成了谱聚类算法(Singular Spectrum Analysis,SSA)和XGBoost算法的方法。 谱聚类是一种经典的无监督聚类方法,它利用了数据的频域特征,将数据映射到低维子空间中,然后使用传统的聚类算法进行聚类。这种方法在处理时间序列数据时表现优势,因为时间序列数据通常具有明显的频域特征。 而XGBoost是一种提升树算法,它通过串行训练多个弱学习器,并通过优化损失函数的梯度来逐步提高整体模型的性能。XGBoost具有较强的泛化能力和鲁棒性,已经在许多领域中被广泛应用。 SSA-XGBoost结合了谱聚类和XGBoost的优点。首先,它利用SSA算法将时间序列数据映射到低维子空间中,通过谱聚类将数据划分为不同的簇。然后,对每个簇使用XGBoost算法进行精细调整和训练。 SSA-XGBoost在时间序列数据聚类和预测任务中具有很好的表现。它可以帮助我们发现数据中的隐藏模式和关联关系,并将数据划分为不同的簇,从而更好地理解和分析数据。此外,通过对每个簇进行XGBoost训练,可以进一步提高预测的准确性和稳定性。 总之,SSA-XGBoost是一种利用谱聚类和XGBoost算法的方法,用于时间序列数据聚类和预测,它具有较好的性能和泛化能力,可广泛应用于各个领域。 ### 回答3: SSA-XGBoost是一种基于时空分析(Spatio-temporal Analysis)方法与XGBoost模型相结合的预测模型。它的全称是Spatio-temporal Semi-supervised Attention-based XGBoost。 首先,Spatio-temporal Analysis是一种利用时间和空间信息进行数据分析和建模的方法。它能够考虑数据在时间和空间上的相关性,从而提取出更具有预测能力的特征。 而XGBoost是一种基于Gradient Boosting框架的机器学习模型,它在处理大规模数据和复杂特征时表现出色。XGBoost通过不断迭代训练多个弱分类器(即决策树),并加权组合它们的结果,从而实现更准确的预测。 SSA-XGBoost结合了Spatio-temporal Analysis方法和XGBoost模型的优势,用于时空数据的预测和分析。它首先利用Spatio-temporal Analysis方法提取出数据中的时空特征,包括数据在不同时间点和空间位置上的变化趋势和相关性。然后,它将这些特征作为输入,利用XGBoost模型进行训练和预测。 相较于传统的时空数据分析方法和单一的机器学习模型,SSA-XGBoost具有以下优势: 1. 能够更准确地捕捉时空数据的特征和趋势,提高预测的准确性。 2. 能够处理大规模和复杂的时空数据,适用于各种实际应用场景。 3. 能够自动学习和选择最重要的特征,提高模型的泛化能力和解释性。 总而言之,SSA-XGBoost是一种利用时空分析方法与XGBoost模型相结合的预测模型,能够更准确地预测和分析时空数据。它在许多领域中都有广泛的应用,如气象预测、交通流量预测、环境监测等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lee_Yu_Rui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值