ID3(Iterative Dichotmiser 3)算法是一种贪心算法,用于构造决策树。ID3算法起源于概念学习系统(CLS),以信息熵的降低速度为选取属性的标准,即每一个节点选取还还没有被用来划分的具备最高信息增益的属性做为划分标准,重复这个过程,知道找到全部完美匪类驯良样例。node
以上就是ID3算法的基本结构。这个结构的核心是:Get the best attribute,即获取最佳属性。web
在看本节以前须要先了解信息熵,若是不知道信息熵是什么,能够查看——信息熵算法
结合1.1的概念,ID3是基于信息熵降低速度为选取属性标准的,而信息熵是表示信息不肯定的数值。咱们能够经过信息熵获得当前信息的不肯定度,而最佳属性是全部属性中信息熵的变化最大的即为最佳属性。咱们也能够把他理解为:当最佳属性肯定以后,咱们能够将信息所表明的数据范围进行最优的切分。svg
从信息的角度讲解,就是这个最佳属性给咱们带来的信息量越多,这个特征越重要。系统在有这个属性和没有这个属性发生的信息量变化的差值,就是信息增益(Information Gain)。而这也是经过信息熵判断一个属性是不是最佳属性的理论依据。信息增益的公式以下:
post
那么这个公式表示:特定属性A的信息增益等于整个样本的信息熵与属性A各个值的信息熵和的差值。咱们经过这个公式计算出不一样属性的信息增益,而后进行相应的比较来决定那个属性给咱们带来的信息量最多,咱们就会将这个信息量最多的属性做为最优属性来处理。学习
为了不关于误差引发误解,若是读者不是对误差有很详细的了解,但愿先阅读这篇文章——误差atom
首先在考虑空间搜索的算法的时候,咱们出现两种误差:spa
ID3的概括误差:.net
因为计划的缘故,这一部分笔者将在后续过程当中补充上去。orm