通常我们为了量化分类效果的好坏,会引入信息增益(ID3)、信息增益率(C4.5)、基尼系数(CART)等。一般采用熵(Entropy)来度量信息增益。
ID3算法的核心思想就是以信息增益度量属性的选择,选择分裂后能够获得最大信息增益的属性进行分裂。信息增益(Information Gain)是用来衡量给定的属性区分训练样例的能力。先了解一下信息增益相关联的一个名词“熵”(entropy),熵是信息论中广泛使用的一个名词,刻画任意数据集的纯度。假设一个二分类的问题,正反样例集为S,那么这个数据集S相对于这个二分类的熵为:
其中代表正样例的先验概率(统计概率,占比),代表负样例的先验概率,在熵的计算中任务。
举个例子对于人脸特征区分男女的例子,样本集S一共15个样本,其中包括7个男生、8个女生,我们把样本集S记为:
,那么熵为:
根据上面公式可以很容易得到如下结论:
1. 如果S所有的成员都属于一类,那么Entrop(S)=0
2. 如果S所有成员的正负例个数相等,那么Entrop(S)=1
3. 如果S的正反例数量不等,那么0 < Entropy(S) < 1
可以根据上面公式的正例和entropy的关系简单画出示意图。
泛化一下,如果目标属性包含n个不同的值,那么S相对于n个状态的分类熵定义为:
,其中为第i个状态的比率(统计概率)