1.1 基本概念
ID3(Iterative Dichotmiser 3)算法是一种贪心算法,用于构造决策树。ID3算法起源于概念学习系统(CLS),以信息熵的下降速度为选取属性的标准,即每个节点选取还尚未被用来划分的具有最高信息增益的属性作为划分标准,重复这个过程,知道找到所有完美匪类驯良样例。
1.2 算法结构
- Get the best attribute as A
- Assign A as the decision tree for node
- For each the value of A And create a descendant of node A
- Sort the training examples to leaves.
- If examples perfectly classified the training set ,stop. If not , return to the first step.
以上就是ID3算法的基本结构。这个结构的核心是:Get the best attribute,即获取最佳属性。
1.3 最佳属性及信息增益
在看本节之前需要先了解信息熵,如果不知道信息熵是什么,可以查看——信息熵
结合1.1的概念,ID3是基于信息熵下降速度为选取属性标准的,而信息熵是表示信息不确定的数值。我们可以通过信息熵得到当前信息的不确定度,而最佳属性是所有属性中信息熵的变化最大的即为最佳属性。我们也可以把他理解为:当最佳属性确定之后,我们可以将信息所代表的数据范围进行最优的切分。
从信息的角度讲解,就是这个最佳属性给我们带来的信息量越多,这个特征越重要。系统在有这个属性和没有这个属性发生的信息量变化的差值,就是信息增益(Information Gain)。而这也是通过信息熵判断一个属性是否是最佳属性的理论依据。信息增益的公式如下:
Gai