【機器學習筆記】xgboost中的min_child_weight參數理解。

對於xgboost,min_child_weight是一個非常重要的參數,官方文檔描述如下:

minimum sum of instance weight (hessian) needed in a child. If the tree partition step results in a leaf node with the sum of instance weight less than min_child_weight, then the building process will give up further partitioning. In linear regression mode, this simply corresponds to minimum number of instances needed to be in each node. The larger, the more conservative the algorithm will be.

直譯即:決定最小葉子節點樣本權重和。如果在一次分裂中,葉子節點上所有樣本的權重和小于min_child_weight則停止分裂,能夠有效的防止過擬合,防止學到特殊樣本。

解釋什么是樣本的權重和:
對於回歸問題,在一個節點上的損失為:
这里写图片描述
這個表達式的相對於 yihat y i h a t 的二階導數為1。所以,對於這個節點上所有點的二階導數的加和,即所有樣本格數的和,即樣本權重和。在這裏,min_child_weight代表的意思是,儅一個節點下的樣本數小於給定的閾值時,則停止分裂!
對於二分類的邏輯回歸(a binary logistic regression),在節點上每一個點的海森矩陣(hessian)的表達式是:
这里写图片描述
其中σ代表sigmod函數。所以對於所有衹有一個樣本的節點node,則,所有的 yi y i hat有可能是一個非常大的正數,則所有的这里写图片描述 都將接近1,則整個海森表達式接近於0,則在每個節點上的樣本權重都會接近於0,因此,此時min_child_weight代表一旦达到某个节点的纯度并停止尝试分裂,并且您的模型可以适合它。
海森矩陣是一個明智的選擇,能夠起到正則化并且限制樹的深度防止過擬合的作用。对于回归,很容易看出如果你总是用一个观察值分解到节点,你可能会过度拟合。 同样,对于分类,如果你坚持分裂直到每个节点都是纯粹的,那麽也會導致過擬合的狀態。

參考:
1.https://stats.stackexchange.com/questions/317073/explanation-of-min-child-weight-in-xgboost-algorithm#
2.https://stats.stackexchange.com/questions/268276/what-does-min-child-weight-option-mean-in-xgboost-package-in-r-how-to-decide

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: XGBoost(eXtreme Gradient Boosting)是一种机器学习算法,通过集成多个弱学习器的预测结果来构建强学习器。它基于梯度提升框架,使用变种的决策树作为弱学习器,并在训练过程优化损失函数。 XGBoost的核心思想是迭代地增加决策树的规模,每次新建一个决策树并进行训练,在训练过程,根据之前决策树的预测结果与真实标签之间的差异,调整模型参数,使得模型能够更好地拟合训练数据。同时,为了防止过拟合,XGBoost采用了正则化方法。 在训练过程XGBoost使用了梯度提升技术优化损失函数。梯度提升是通过最小化损失函数的负梯度来逐步优化模型的方法。XGBoost在每次迭代,计算损失函数的一阶导数和二阶导数,以此来训练新建的决策树,并通过梯度提升的方式将新决策树集成到模型XGBoost还引入了一些创新的技术来提高模型性能,例如,使用特定的数据结构(稠密压缩列存储)存储训练数据以优化内存使用;通过按特征值排序的方式加速特征分裂的搜索;使用分布式计算框架进行大规模训练等。 总的来说,XGBoost是一种强大且高效的机器学习算法,能够处理各种类型的数据,并在许多机器学习竞赛取得了优异的成绩。它的优点包括可解释性强、鲁棒性好、可扩展性强等,在工业界和学术界都得到了广泛应用。 ### 回答2: XGBoost(eXtreme Gradient Boosting)是一种广泛应用于机器学习领域的集成学习算法。它的基本原理是通过多个弱学习器的集成来构建一个更强大的模型。 XGBoost的主要特点包括: 1. 高度灵活:XGBoost可以应用在各种数据和任务上,包括分类、回归和排序等。 2. 高效性能:XGBoost采用了并行计算技术,使得模型训练和预测速度都非常快。 3. 可解释性:XGBoost提供了特征重要性排序功能,可以帮助我们理解模型的决策过程。 4. 鲁棒性:XGBoost通过正则化项和剪枝方法,可以有效地减少过拟合的风险。 XGBoost的工作原理如下: 1. 初始化:首先,将一个简单的模型作为初始模型,一般是选择一个常数值作为初始预测。 2. 偏差修正:计算初始预测值与实际目标值之间的差异,得到残差。然后,使用回归树来拟合这些残差。 3. 加法模型:将拟合的回归树与初始模型进行加权相加,得到新的预测值。即将之前的预测值与回归树的预测值相加,得到新的预测值。 4. 更新残差:计算新的预测值与实际目标值之间的差异,得到新的残差。 5. 迭代:重复上述过程,不断迭代生成新的回归树,并更新预测值和残差,直到模型收敛或达到预设的迭代次数。 在每一轮迭代XGBoost通过梯度和近似的海森矩阵对目标函数进行优化,选择最佳的分割点和叶子权重来构建回归树。同时,通过正则化项对树的复杂度进行控制,避免过拟合现象。 总之,XGBoost通过迭代的方式不断优化模型的预测能力,同时考虑了数据结构、特征重要性和模型复杂度等因素,使得其在各种机器学习任务表现出色。 ### 回答3: XGBoost(eXtreme Gradient Boosting)是一种机器学习算法,是基于决策树的集成学习方法。它通过多个弱分类器的集成来构建一个强分类器。 XGBoost的核心思想是通过不断迭代训练,通过添加弱分类器并纠正先前的错误来提高整体模型的准确率。在每轮迭代XGBoost会计算每个样本的梯度信息,并使用这些信息来训练下一个弱分类器。新的弱分类器将根据梯度信息来修正上一轮分类器的错误。 与传统的Gradient Boosting算法相比,XGBoost通过引入一些改进来提高模型的性能。其一个改进是使用了正则化项,以避免模型过拟合。另一个改进是引入了二阶梯度信息,以更准确地估计每个样本的预测误差。 XGBoost还使用了一种特殊的数据结构,称为"分布式虚拟内存",以在大规模数据集上高效地进行训练。此外,XGBoost还具有并行计算能力,可以利用多核处理器和分布式计算资源来加速训练过程。 XGBoost在多个机器学习竞赛取得了显著的成绩,并被广泛应用于实际问题。它可以用于分类问题和回归问题,还可以处理缺失值和异常值。XGBoost具有较高的预测准确性和鲁棒性,同时也具备良好的解释性,可以帮助我们理解特征的重要性和模型的逻辑。 总之,XGBoost是一种强大的机器学习算法,它通过集成多个弱分类器来构建一个准确性较高的分类器。它的优点包括高性能、良好的鲁棒性和解释性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值