决策树总结
决策树是一种应用广泛的机器学习算法,过程简单,结果易于解释。决策树是一种贪心算法,它在给定时间给做出最佳选择,并不关心能否达到全局最优。
决策树特点
- 精确度高,容易解释
- 可表达非线性的关系
- 不需要大量数据
- 可能存在过拟合问题
- 结果不稳定,泛化能力差
ID3:不能处理连续数据,没有剪枝过程,采用信息增益作为标准寻找最优特征,这种方法偏向属性取值多的特征。
ID3每次选取当前最佳的特征来分割数据,并按照该特征的所有可能取值来切分。一旦按某种特征切分后,该特征在之后的算法执行过程中将不会再起作用,这种切分方法过于迅速。ID3不能直接出来连续特征。只有事先将连续特征转换成离散特征,才能在ID3算法中使用。这种转换过程会破坏连续性特征的内在性质。
C4.5:对连续值离散处理,对于连续值,采用二元切分法,也可对缺失值处理,有剪枝过程。C4.5采用信息增益率作为特征选择的标准,它和ID3一样,只能用于分类。
CART树是十分著名且广泛记载的树构建算法,可用于分类和回归,它使用二元切分来处理连续型变量。分类时使用基尼指数选择特征,回归时采用平方误差选择特征。ID3和C4.5对于离散特征,根据特征的不同取值,可构建多叉子节点,而CART采用多次二分的方法,每个节点只有两个子节点,所以CART树是二叉树。CART树有剪枝过程,可减少过拟合,增强树模型的泛化能力。对于连续属性,若当前节点划分属性为连续属性,该属性还可作为其后代节点的划分属性。
- 连续值处理
对于连续型数据,可采用二元切分法,如果特征大于给定值就走左子树,否则就走右子树。二元切分法节省了树的构建时间。二元切分法:把中位点作为候选划分点。从小到大排序,取(ai+ai+1)/2作为候选划分点。然后,就可以像离散属性值一样来考察这些划分点,选取最优的划分点进行样本集合的划分。
- 缺失值处理
当样本的某些属性值缺失时,在选择属性时,仅使用不缺失该属性的数据来计算信息增益,最后乘以一个代表缺失数据比例的比例系数;在对某个属性进行划分子节点时,对于不缺失该属性的数据正常划分,对于缺失该属性的数据,按不同的权重划分进行每个子节点
多变量决策树
决策树“增量学习”,接受到新样本后对已学得的模型进行调整,不用完全重新学习,主要机制是通过调整分支路径上的划分属性次序来度数进行部分重构。代表算法有ID4。增量学习可有效地降低每次接受到新样本后的迅雷时间开销,但多步增量学习后的模型会与汲取全部数据训练而得到的模型有较大差别。