1、香农熵
首先,你要很清楚什么是香农熵,如果不清楚的我可以贴出链接:香农熵
香农熵计算公式:
在Entopy Regularization中(我们姑且就叫熵正则化)。在熵正则化中,主要思想是利用香农熵来衡量class overlap。这个class overlap 我是翻译成类别的重叠程度。为什么香农熵可以用于衡量class overlap呢?我在下面举个例子。
假设我们给出一个未标记的点,x1-x8。我们训练出了两个Model,每个Model都可以用后验概率将未标记的点分成两类。先看model_1。可以明显地看到,model_1很清楚地将x1-x4分成第一类((p=0.9),不会分成第二类(p=0.1)。然而,model_2,各给了0.5的概率,明显这个model_2还是不知道如何将样点分类,随机性很强,效果非常差。类于类之间重叠度很高,无法将类别清楚地分类。这个就称作class overlap。
再看香农熵,可以非常明确地知识这个class_overlap的程度。当class_overlap高时它也高,低时它也低。
2、熵正则化
熵正则化很好地利用这一点,将香浓熵引入到目标函数中作为一个正则项,如下式:
这个式子很简单,前面是常规似然函数,后面是负的香农熵。值得注意的是,前面的似然函数的x的范围是在已标签数据中,而后面的香农熵正则化项是在未标记标签数据中。此处semi-supervised 将为标签数据信息作为一个正则化项引入。希望用未标签数据的分布的重叠程度的信息,参与构建判别函数p(y\x)。
此处,可能部分读者会有疑问,这个为什么在香农熵前面还有个负数实数参数。
因为这个提出是2006年,2006年似然函数都是取对数,并没有取负对数。因此此时目标函数是求最大值。香农熵一个负数再给一个常数。一方面,当最大化目标函数时,对香浓熵取负之后,是最小化香农熵,以此也有称作Entropy minimization。给一个常数是为了控制这个熵正则化项的强度,可以说是一般正则化项都有的超参数。
3、参考文献
这个思想是一个很简单的思想,里面很多公式的细节,因为时间有限我不方便一一说明,建议对公式表达有疑问的还是查阅原文参考文献。
以下给出两篇参考文献,这两篇异曲同工,一篇是教程,一篇是文章。