我说一下自己的理解。参考https://stats.stackexchange.com/questions/317073/explanation-of-min-child-weight-in-xgboost-algorithm
1、对于回归问题,假设损失函数是均方误差函数,每个样本的二阶导数是一个常数,这个时候 min_child_weight就是这个叶子结点中样本的数目。如果这个值设置的太小,那么会出现单个样本成一个叶子结点的情况,这很容易过拟合。
2、对于分类问题,假设为二分类问题,损失函数为交叉熵,则每个样本的二阶导数可以写成几个因子相乘的形式,其中一项为sigmoid(y_hat)*(1-sigmoid(y_hat))。对分类问题,我们考虑叶子结点的纯度。假设某个叶子节点只包含一类,y = 1,那个这个节点有很大的可能是: 该节点包含的y_hat非常正,也就是我们给这个节点打分非常正,这个时候sigmoid(y_hat)非常接近1,上面的式子接近0;反之,假设某个叶子节点只包含y=0,情况也是类似的。从分析中可知,如果某个叶子结点的二阶导之和越小,或者越接近0,这个节点就越纯,这种情况下容易过拟合。
XGBoost中参数min_child_weight的理解
最新推荐文章于 2024-03-19 22:45:00 发布