结论 - 最大熵模型就是softmax分类 - 在满足广义线性模型的平衡条件下,满足最大熵条件的模型映射函数就是softmax函数 - 在统计机器学习方法一书中,给出了在特征函数定义下的最大熵模型,其与softmax回归都属于对数线性模型 - 当特征函数从二值函数扩展为特征值本身时,最大熵模型就化为softmax回归模型 - 最大熵最大化的是条件熵,不是条件概率的熵,也不是联合概率的熵。

分析这个等式:

大白话:我们希望得到这么一个映射函数\(\pi\),对某一维(j)特征,用所有样本被映射函数归为第u类的概率加权所有样本的特征值之和,等于第u类内所有样本的特征值之和。显然,最好的情况就是左右两个累加式内的元素完全一样,只有第u类的样本被累加,且第u类样本被映射函数归为第u类的概率为1,其他类样本被归为第u类样本的概率为0.

但是,这个等式非常的宽松,它只要求两个和式相同,并不要求每一个元素相同,而且这个式子没有显示的写出映射函数的表达式,任何满足该式的非线性映射都有可能称为映射函数。

由最大熵推出softmax

上面说到了平衡等式并没有要求映射函数的格式,那么为什么我们选择了softmax?换句话,什么条件下能从平衡等式的约束推出非线性映射为softmax?

答案是最大熵。我们现在回顾一下\(\pi\)需要满足的条件:

最大熵可以从两个角度理解:

最大熵也就是最大困惑度,即模型过拟合的风险低,模型复杂程度低,根据奥卡姆剃刀原则,在多个具有相同效果的模型中复杂程度小的模型具有更好的泛化能力,在满足了约束条件的情况下,当然我们希望要一个复杂程度小的模型,相当于正则化。

约束条件是我们的模型已知的需要满足、需要拟合的部分,剩下的部分是未知的部分,没有规则或者数据指导我们分配概率,那该怎么办?在未知的情况下就应该均匀分配概率给所有可能,这正是对应了最大熵的情况。

现在问题已经形式化带约束条件的最优化问题,利用拉格朗日乘子法求解即可。这里有一个trick,原文中说如果直接考虑概率的不等条件就有点复杂,需要使用KTT条件,这里先不考虑,之后如果求出的\(\pi\)满足不等式条件的话就可以跳过了(事实也正是如此)。