目录
1. 信息增益
- 熵
熵表示随机变量不确定性的度量。设X是一个取有限值的离散型随机变量,概率分布律为:
则随机变量X的熵定义为:
- 条件熵
设二维离散随机变量(X,Y)的联合概率分布律为:
随机变量X给定条件下随机变量Y的条件熵为H(Y|X),表示已知随机变量X的条件下随机变量Y的不确定性,定义为X给定条件下Y的条件概率分布的熵对X的数学期望:
- 信息增益(互信息)
特征A对训练集D的信息增益g(D,A),定义为训练集D的经验熵H(D)与特征A给定条件下D的条件经验熵之差:
- 信息增益算法
根据信息增益进行特征选择:对训练集D或其子集,依次计算每个特征的信息增益,选择信息增益最大的特征进行分裂。
- 信息增益计算示例
2. ID3
- 核心思想
从根结点开始,对节点计算所有可能的特征的信息增益,选择信息增益最大的特征作为该节点的特征,由该特征的不同取值建立子结点;再对子结点递归地调用以上方法,构建决策树;直到所有可选特征的信息增益都很小或没有特征可以选择时为止,最后得到一个决策树。ID3相当于用极大似然法进行概率模型的选择。
- 算法流程
- ID3算法举例
决策树基于训练集构建好后,对于新的样本,根据构建好的决策树,看他属于哪个叶子节点,返回该叶子节点的标签作为新样本的标签。
3. C4.5
- ID3的缺点
ID3使用信息增益进行特征选择,会偏向于选择具有大量取值的特征。对于取值比较多的特征,尤其是一些连续型特征,如身高、学号、姓名等。比如学号这一个单独的特征就可以划分所有样本,最极端的情况是每个叶子节点只有一个样本,此时信息增益更大,会首先挑选该特征作为根结点,训练会得到一个庞大且非常浅的树,虽然对训练集拟合程度很高,但泛化能留很差,比如来了一个新生,有一个新学号,就没办法进行分类了。
- C4.5
C4.5采用信息增益率进行特征选择:
信息增益率引入了分裂信息,取值数目多的特征分裂信息也会变大,将该特征的信息增益除以分裂信息, 再加上一些额外操作,可以有效控制信息增益过大的问题。
- C4.5 vs. ID3
1)用信息增益率来选择特征,克服了用信息增益选择特征时偏向选择取值多的特征的不足。