学习路线:
1.李航 统计学习方法 5.5CART算法 看不懂,尤其是剪枝那一段
2.Peter Harrington 机器学习实战 第9章树回归 看懂了,但不是想要的(后来发现这仅是回归树的生成和剪枝)
短期总结一下:
CART是决策树的一种(顾名思义,分类与回归树),是ID3和C4.5的升级版(个人认为)!
但CART不是一个算法,它是2大类,即分类和回归,分别对应离散值和连续值
对于分类树,生成采用基尼指数(Gini Index)来评估数据的混乱程度,这里与ID3和C4.5采用的熵不同的是,基尼指数更加适合表征分类的混乱程度,并且计算收敛速度快(参考了不明来源)
对于回归树,生成采用方差和遍历法,分别遍历各个feat和指定feat上的各个value寻找方差最小的数据,使得分类更加的"纯"
CART的剪枝,机器学习实战采用了方差法类似的手段,并未采用类似于Breiman所述的α,C(t)算法
统计学习方法简单介绍了Breiman的CCP方法,即代价复杂度剪枝算法,但并未详细介绍C(t)和Cα(t)的算法,因此陷入泥坑!
大力推荐CCP的解释文章
至此所有概念开始稍微明朗开来
接下来就是获得剪枝后的一系列树的集合{T0,T1,...,Tn}(逐次嵌套,类似于俄罗斯套娃),用预留的交叉验证数据集去逐个验证每一个树的准确率,即可对这一系列的树进行取舍
最终获得最好的那一个修剪过的树(当然有可能不剪的是最好的)
注意中途有可能会剪掉比较高层的节点,这个时候树的规模削减的比较大,也就是说,树的集合并不是逐个减小(每次递减1),但是是严格减小(每次递减>=1)
最后没有理解的就是为什么每次都是取最小的g(t)作为α?