前言:
用途:分类。
类似于if-then集合
优点:速度快。
原则:损失函数最小化,这是所有机器学习算法的原则。
步骤:1> 特征选择 2> 决策树生成 3> 决策树修剪
决策树模型
内部结点和叶结点,太好理解了,无需讨论。
if-then 集合
if-then 需要保证重要的一点:就是互斥且完备。很好理解。完备保证每个实例都有选择。互斥保证每个实例只有一个选择。
决策树与条件概率分布
分类时候讲结点的实例分到概率较大的一方去。
决策树学习
决策树要学习的本质上就是各种分类的规则。至少要保证分类获得的规则要和训练的数据矛盾不大。
决策树往往会过拟合(插句嘴,GBDT也往往会过拟合)。越好的分类特征越先使用。只要有样本还没有分类,就继续构建特征进行分类。
决策树生成对应着局部选择。剪枝的时候就要考虑全局最优了。
常用算法有ID3,C4.5 CART 三种。
特征选择
特征选择的准则:信息增益和信息增益比。
信息增益
g(D,A) = H(D) – H(D|A)
就选择g(D,A) 最大的那个作为首选特征。
信息增益比
gr(D,A) = g(D,A) / H(D) H(D) 为信息增益/训练集关于特征A的熵。
ID3算法
决策树最典型的方法。从根节点开始,选对应的最大信息增益的特征作为选择特征。建立子结点之后,还是构建对应的最大信息增益的特征。
有一种可能会发生的情况。就是能构建树的所有特征都用完了。而训练数据还没有完全区分开。出现这种情况就不要再想尽办法去区分了。把留下的训练数据看哪种结果多,就作为该结点的结果好了。
还有一种情况,就是你构建了特征,但是信息增益特别小。小到小于可以忍受的阈值。那也按上面的同样的方法给定这个叶子结点的值。
C4.5的生成算法
在ID3的基础上进行了改进。
特征的选择用的是信息增益比。
其他的一样。
决策树的剪枝
剪枝是将树进行简化。
剪枝原则:极小化 loss function 或者 cost function。用正则化的极大似然估计进行模型选择。
损失函数好复杂,就不记了。知道上面这两句就够了。
CART算法 前言
CART: 分类树 与 回归树。
走三步:特征选择,生成树,对树剪枝。