本文主要来讨论一下决策树中ID3算法的缺陷,以及为什么倾向于特征选择项较多的特征.
一、ID3 算法的缺点:
1、考虑不全面
(1)没有考虑连续特征.只对于离散型特征进行信息增益的比较,极大的限制了ID3的用途.
(2)没有考虑到缺失值的情况.
(3)没有考虑过拟合问题.因为决策树会把特征不停的划分,以逼近与测试数据集,所以很容易导致过度的贴合训练数据.ID3算法采用贪心算法,每次划分都是考虑局部最优化,而局部最优化并不是全局最优化,生成的决策树容易过拟合.
(4)没有考虑变量之间相关性,每次筛选都只考虑一个变量(因此不需要归一化)
2、原理缺陷
(1)ID3算法采用信息熵原理,会优先选择特征项较多的属性来建立决策树点,会形成较多的分支从而使信息熵变大.(下一部分我们来讨论这一点)
二、ID3 算法为什么要选择特征多的属性:
我们先来举个例子:
假设有数据集如下:
计算随机变量X的随机熵的表达式:H(X) = - ∑ i = 0 n P i log 2 P i \sum_{i=0}^{n}P_i \log_2 P_i ∑