模型树–M5

模型树–M5

模型树推广了回归树的概念,它与回归树的2个重要不同在于

  • 叶节点上不是常量,而是一个线性函数模型。
  • 分割空间的标准不是降低平方误差,而是降低样本标准差。
  • 相比于回归树,模型树的优点在于:回归树的计算量随着维度的增加而迅速增加,但模型树比模型小得多,所以模型树在处理高维(数百)数据时会比较轻松。由于叶节点是采用的是线性函数而非常量,所以预测的精度更高。
    M5模型树划分的标准是:将一个节点覆盖的样本的Y值(即目标属性值)的标准差看作误差的度量。计算SDR(standard deviation reduction)

    T是到达该节点的实例的集合,|T|表示集合的大小,sd表示标准差,T i 是第i个子树上的实例集合,一般采用的模型树是都是二叉树,所以i的取值只有1和2。
    最佳划分s*从候选划分集合S中取得,并且使得SDR最大。如何求得S呢?跟在回归树中的方法一样,按某一个属性对实例进行排序,只要相邻的两例在该属性上不相等,就在它们之间切开。一个属性上最多有n-1种切分方式,n是实例的个数。
    树停止生长的条件有2个:
    1. 节点包含的样本数小于一个阈值。
    2. 节点包含样本的Y值标准差与全体样本Y值标准差的比值小于一定阈值。
    在叶节点上,对本节点包含的实例利用线性回归算法产生一个多元回归方程,得到线性模型。
    剪枝是一个bottom-up的递归过程,利用线性回归方法拟合出每个节点的回归方程,计算出回归函数预测的均方误差:

    计算每个节点到其子节点的MSE的减小量:

    E R 大于0时该子树保留,否则将该子树转变成一个叶子节点。
    剪枝后树叶节点上邻近线性模型之间就会出现尖锋的不连续性,使用平滑算法修改相邻的线性方程,使得对应于不同方程的相邻输入向量的预测输出值变得接近。对于较少训练实例构造的模型,平滑过程尤其重要。

    f parent 为叶子上级父结点拟合方程,f child 为叶子结点拟合方程,n 为到达本叶子结点的训练样本数目,k 为一个常数(通常取值15),f new 为合并的方程。若子结点采用新函数后的R MSE 变化小于一定的阈值,则用f new  取代子结点的线性方程,否则不进行平滑处理。

    参考文献地址:http://www.voidcn.com/article/p-nngfccdl-zz.html

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值