暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase UP机器学习 梯度提升树

GBASE数据库 2023-03-01
199

梯度提升树(Gradient Tree Boosting)是一种组合算法,它的基分类器是决策树,既可以用来回归,也可以用作分类。在分类性能上,能够和随机森林媲美,甚至在有的数据集上表现的有过之而无不及。
梯度提升树和随机森林一样,都具备决策树的一些优点:可以处理类别特征和连续特征;不需要对数据进行标准化预处理;可以分析特征之间的相互影响。如今在数据挖掘领域,此类算法得到广泛的应用。例如,中国乃至全球最大的电商之一,阿里巴巴,2014 年开展的大数据应用,在基于天猫海量用户真实的访问数据,通过分析用户过去 4个月的访问日志,发现用户的爱好,进而为用户推荐商品。由于电子商务系统中商品种类众多,用户访问过的商品只占商品总数的很小一部分,导致用户对商品的评分十分稀疏,使得使用协同过滤计算的商品相似度准确率较低,因而推荐效果较差。因此引入了两种基于回归的方法,即逻辑回归和梯度提升回归树通过预测用户将来购买商品的概率来为用户实现推荐。另外,梯度提升树已经广泛的运用在 Web 搜索排行榜以及生态学上。

算法介绍
回归树总体流程类似于分类树,区别在于,回归树的每一个节点都会得一个预测值,以年龄为例,该预测值等于属于这个节点的所有人年龄的平均值。分枝时穷举每一个 feature 的每个阈值找最好的分割点,但衡量最好的标准不再是最大熵,而是最小化平方误差。也就是被预测出错的人数越多,错的越离谱,平方误差就越大,通过最小化平方误差能够找到最可靠的分枝依据。分枝直到每个叶子节点上人的年龄都唯一或者达到预设的终止条件(如叶子个数上限),若最终叶子节点上人的年龄不唯一,则以该节点上所有人的平均年龄做为该叶子节点的预测年龄。
提升树是迭代多棵回归树来共同决策。当采用平方误差损失函数时,每一棵回归树学习的是之前所有树的结论和残差,拟合得到一个当前的残差回归树,残差的意义如公式:残差 = 真实值- 预测值 。提升树即是整个迭代过程生成的回归树的累加。
梯度提升树,是提升树利用加法模型和前向分步算法实现学习的优化过程:

算法步骤解释:
1、初始化,估计使损失函数极小化的常数值,它是只有一个根节点的树,即一个常数值。
2、对输入的 x1,x2, … ,xm逐个进行以下训练过程:
(a)计算损失函数的负梯度在当前模型的值,将它作为残差的估计

(b)估计回归树叶节点区域,以拟合残差的近似值
(c)利用线性搜索估计叶节点区域的值,使损失函数极小化
(d)更新回归树
3、得到输出的最终模型 f(x)
2.2.7.2 演示用例
GBase UP 梯度提升树算法给出的示例是利用该算法预测一年以来婚外情的频率。用到的数据示例如下:


数据共包含 9 列,其中第一列为一年来婚外情的频率。其余的列则是影响婚外情的因素。各列按顺序依次如下:性别,年龄,婚龄,是否有孩子,宗教信仰程度(5 分制,1 分表示反对,5分表示非常行信仰),学历,职业,对婚姻的自我评分(5 分制,1 分表示非常不幸福,5 分表示非常幸福)。

采用梯度提升树算法,训练这些数据,得到模型来对新的数据进行预测。而要预测的数据则不包含第一列(或者第一列全指定为 0)。
算法示例如下:



输出结果示例如下:


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论