决策树算法讨论
(1)硬件环境
根据数据在纸上进行手动演算得到初期结果,使用电脑使用代码进行验证。
(2)软件环境
在电脑上验证时使用了python作为主要工具。
1.3 设计思想
(1)回归树概念:
回归决策树主要指CART(classification and regression tree)算法,内部结点特征的取值为“是”和“否”, 为二叉树结构。
所谓回归,就是根据特征向量来决定对应的输出值。回归树就是将特征空间划分成若干单元,每一个划分单元有一个特定的输出。因为每个结点都是“是”和“否”的判断,所以划分的边界是平行于坐标轴的。对于测试数据,我们只要按照特征将其归到某个单元,便得到对应的输出值。
划分的过程也就是建立树的过程,每划分一次,随即确定划分单元对应的输出,也就多了一个结点。当根据停止条件划分终止的时候,最终每个单元的输出也就确定了,也就是叶结点。
(2)回归树建立:
寻找切分点和确定输出值是回归决策树的核心。
1)切分点的选择使用最小二乘法
2)输出值的确定用单元内均值
原理如下:
1)设X和Y分别为输入和输出变量,并且Y是连续变量。给定训练数据集为D,其中x为输入实例,n为特征个数,i=1,2,...,N, N为样本容量。
2)特征空间的划分采用启发式方法,每次划分逐一考察当前集合中所有特征的所有取值,根据平方误差最小化准则选择其中最优的一个作为切分点。
也就是找出使要划分的两个区域平方误差和最小的j和s。
其中,c1,c2为划分后两个区域内固定的输出值,方括号内的两个min意为使用的是最优的c1和c2,也就是使各自区域内平方误差最小的c1和c2,易知这两个最优的输出值就是各自对应区域内Y的均值,所以上式可写为