如果示例都是猫或单个类,那就很纯净了,如果不是猫,那也很纯洁,但如果介于两者之间,该如何量化这组例子有多纯粹,看看熵的定义。
熵——它是对一组数据杂质的度量。给出一组像这样的六个例子,有三只猫和三只狗,我们把p定义为猫的例子分数,这是带有标签的示例分数,所以在本例中,P1=3/6,我们将测量一组例子的杂质,使用一个叫做熵的函数,如下所示,熵函数通常表示为这个数字的大写H(p1),函数看起来很像这条曲线,横轴是p,样本中猫的比例,垂直轴是熵的值,所以在这个例子中,其中P1=0.5,P1的熵值等于1,可以看出,当例子是50时,这条曲线是最高的,所以它是最不纯洁的,相比之下,你的一组例子要么都是猫,要么都不是猫,那么熵为0。
这里有一组不同的例子,有五只猫和一只狗,所以P1=5/6≈0.83,可以发现,它的熵大约为0.65,下一个例子,六张图片的样本都是猫,所以P1=6/6=1,熵是最后的点是零,所以,可以看出杂质从1降到零,换句话说,纯度提高。
另一个有两只猫和四只狗的样本,所以P1=2/6=1/3≈0.33,H(p1)=0.92,这其实挺不纯洁的,最后一个例子,如果我们有六只狗,那么P1=0,H(p1)=0,所以这是一个零和纯度或者这将是一个完全纯粹的集合,不是所有的猫或狗。
让我们看看P1的熵函数H的实际方程,回想一下,P1是等于猫的例子的一小部分,所以如果你有两三只猫的样本,那么这个样本必须有三分之一不是猫,所以定义P0等于不是猫的粒子的分数,所以P0=1-P1,然后将熵函数定义为-logP1,一个注意事项,P1或P0等于0,像这样的表达式看起来像零,零的对数等于零。
熵函数是一组数据杂质的度量,从零开始上升然后又回到零,作为样本中正面例子比例的函数,还有其他类似的函数,从零上升到1然后下降。这对于构建决策树也很有效。