本系列为深入篇,尽可能完善专题知识,并不会所有的都会出现在面试中,更多内容,详见:Reflection_Summary,欢迎交流。
另外,欢迎大家关注我的个人bolg,知乎,更多代码内容欢迎follow我的个人Github,如果有任何算法、代码疑问都欢迎通过邮箱发消息给我。
adaboost,gbdt等等
Cart tree,但是都是回归树
image
image
image
image
当loss函数为均方误差
image
,gbdt中的残差的负梯度的结果y-H(x)正好与boostingtree的拟合残差一致
image 可以计算得到x对应的损失函数的负梯度
image ,据此我们可以构造出第t棵回归树,其对应的叶子结点区域
image j为叶子结点位置
image
image
image
image
image
image
image 进行泰勒展开:
image ,其中m-1轮对残差梯度为
image
image ,所以
image 内会让损失向下降对方向前进
每次走一小步逐渐逼近结果的效果,要比每次迈一大步很快逼近结果的方式更容易得到精确值,即它不完全信任每一棵残差树,认为每棵树只学到了真理的一部分累加的时候只累加了一小部分多学几棵树来弥补不足。 这个技巧类似于梯度下降里的学习率
image
image
会,同时因为特征会进行多次使用,特征用的越多,则该特征的重要性越大
优点:
缺点:
image
image 为泰勒一阶展开,
image
image
image 为第j个叶子结点中的最优值
image 为泰勒二阶展开,
image
MAE:
image
MAPE:
image