关于对信息、熵、信息增益是信息论里的概念,是对数据处理的量化,这几个概念主要是在决策树里用到的概念,由于在利用特征来分类的时候会对特征选取顺序的选择,这几个概念比较抽象,我也花了好长时间去理解(本身认为的理解),废话很少说,接下来开始对这几个概念解释,防止本身忘记的同时,望对其余人有个借鉴的做用,若有错误还请指出。算法
一、信息机器学习
这个是熵和信息增益的基础概念,我以为对于这个概念的理解更应该把他认为是一用名称,就好比‘鸡‘(加引号意思是说这个是名称)是用来修饰鸡(没加引号是说存在的动物即鸡),‘狗’是用来修饰狗的,可是假如在鸡还未被命名为'鸡'的时候,鸡被命名为‘狗’,狗未被命名为‘狗’的时候,狗被命名为'鸡',那么如今咱们看到狗就会称其为‘鸡’,见到鸡的话会称其为‘鸡’,同理,信息应该是对一个抽象事物的命名,不管用不用‘信息’来命名这种抽象事物,或者用其余名称来命名这种抽象事物,这种抽象事物是客观存在的。函数
引用香农的话,信息是用来消除随机不肯定性的东西,固然这句话虽然经典,可是仍是很难去搞明白这种东西究竟是个什么样,可能在不一样的地方来讲,指的东西又不同,从数学的角度来讲可能更加清楚一些,数学原本就是建造在悬崖之上的一种理论,一种抽象的理论,利用抽象来解释抽象可能更加恰当,同时也是在机器学习决策树中用的定义,若是带分类的事物集合能够划分为多个类别当中,则某个类(xi)的信息定义以下:学习
I(x)用来表示随机变量的信息,p(xi)指是当xi发生时的几率,这里说一下随机变量的概念,随机变量时几率论中的概念,是从样本空间到实数集的一个映射,样本空间是指全部随机事件发生的结果的并集,好比当你抛硬币的时候,会发生两个结果,正面或反面,而随机事件在这里能够是,硬币是正面;硬币是反面;两个随机事件,而{正面,反面}这个集合即是样本空间,可是在数学中不会说用‘正面’、‘反面’这样的词语来做为数学运算的介质,而是用0表示反面,用1表示正面,而“正面->1”,"反面->0"这样的映射便为随机变量,即相似一个数学函数。spa
二、熵3d
既然信息已经说完,熵提及来就不会那么的抽象,更多的多是几率论的定义,熵是约翰.冯.诺依曼建议使用的命名(固然是英文),最初缘由是由于你们都不知道它是什么意思,在信息论和几率论中熵是对随机变量不肯定性的度量,与上边联系起来,熵即是信息的指望值,能够记做:blog
熵只依赖X的分布,和X的取值没有关系,熵是用来度量不肯定性,当熵越大,几率说X=xi的不肯定性越大,反之越小,在机器学期中分类中说,熵越大即这个类别的不肯定性更大,反之越小,当随机变量的取值为两个时,熵随几率的变化曲线以下图:事件
当p=0或p=1时,H(p)=0,随机变量彻底没有不肯定性,当p=0.5时,H(p)=1,此时随机变量的不肯定性最大数学
条件熵基础
条件熵是用来解释信息增益而引入的概念,几率定义:随机变量X在给定条件下随机变量Y的条件熵,对定义描述为:X给定条件下Y的条件干率分布的熵对X的数学指望,在机器学习中为选定某个特征后的熵,公式以下:
这里可能会有疑惑,这个公式是对条件几率熵求指望,可是上边说是选定某个特征的熵,没错,是选定某个特征的熵,由于一个特征能够将待分类的事物集合分为多类,即一个特征对应着多个类别,所以在此的多个分类即为X的取值。
三、信息增益
信息增益在决策树算法中是用来选择特征的指标,信息增益越大,则这个特征的选择性越好,在几率中定义为:待分类的集合的熵和选定某个特征的条件熵之差(这里只的是经验熵或经验条件熵,因为真正的熵并不知道,是根据样本计算出来的),公式以下:
注意:这里不要理解误差,由于上边说了熵是类别的,可是在这里又说是集合的熵,没区别,由于在计算熵的时候是根据各个类别对应的值求指望来等到熵
四、信息增益算法(举例,摘自统计学习算法)
训练数据集合D,|D|为样本容量,即样本的个数(D中元素个数),设有K个类Ck来表示,|Ck|为Ci的样本个数,|Ck|之和为|D|,k=1,2.....,根据特征A将D划分为n个子集D1,D2.....Dn,|Di|为Di的样本个数,|Di|之和为|D|,i=1,2,....,记Di中属于Ck的样本集合为Dik,即交集,|Dik|为Dik的样本个数,算法以下:
输入:D,A
输出:信息增益g(D,A)
(1)D的经验熵H(D)
此处的几率计算是根据古典几率计算,因为训练数据集总个数为|D|,某个分类的个数为|Ck|,在某个分类的几率,或说随机变量取某值的几率为:|Ck|/|D|
(2)选定A的经验条件熵H(D|A)
此处的几率计算同上,因为|Di|是选定特征的某个分类的样本个数,则|Di|/|D|,能够说为在选定特征某个分类的几率,后边的求和能够理解为在选定特征的某个类别下的条件几率的熵,即训练集为Di,交集Dik能够理解在Di条件下某个分类的样本个数,即k为某个分类,就是缩小训练集为Di的熵
(3)信息增益