Logistic回归与最大熵模型-理论推导
1. logistics 回归模型
logistics模型1.1 logistics模型构建
对于数据集有
Logistics模型的基本思想也是线性回归,其公式为:
公式(1.1)被称为sigmoid函数,一般来说,若则分类判定为1,否则为0。
1.2 估计参数
设,则似然函数为:
目标是找到使得达到最大值,一般使用梯度上升。
2. 最大熵模型
2.1 最大熵原理
首先要明确两个问题:
- 熵最大有什么意义吗?
我们之前提过信息熵表示不确定程度,所以熵最大,也就是系统的不确定程度最大,系统中没有任何个人的主观假设。- 最大熵是什么?
当你要猜一个概率分布时,如果你对这个分布一无所知,那就猜熵最大的均匀分布,如果你对这个分布知道一些情况,那么,就猜满足这些情况的熵最大的分布。
下面两个网址是描述的比较清楚的:
- 图解最大熵原理(The Maximum Entropy Principle)
- 决策树-脚注:为什么在等概率的情况下,熵能达到最大值?
2.2 最大熵模型
看完《机器学习面试之最大熵模型》之后,我的理解:
假设有一个样本空间为N的数据集,共有个特征,为,类标签为,我们的目标是求,那么,根据样本空间中的N条数据,可以计算出和(因为是根据已知数据求出来的,并不能代表真实世界中的分布,所以上面加了波浪线),然后,定义了一个函数:
“如果满足某种条件”,这句话一开始让我摸不着头脑,后来才明白,可以把它看成,这种组合若出现在样本空间中,则为1,否则为0。它们的个数为个。
这样的话,就可以算的期望了:
- 特征函数关于的期望值为:
由于我们的目标是求,那么,借助贝叶斯公式,我们可以得出第二个期望的计算公式:
如果,这俩公式能相等的话,就十分完美了(注意,这里要把看成是的约束条件),于是有:
根据的定义可知,有多少种特征和类标签前的组合,就有多少个约束条件:。那么,把样本空间中的所有约束条件都算上,
又因为,条件熵为:(为什么请看这里:《决策树【python实现】》— 条件熵)
2.3 最大熵模型的目标函数
找出了约束最优化问题, 下面来求解一下。
1. 把求max的问题转化成求min的问题。要求
等价于求
引入拉格朗日算子,可得到方程:
2. 由最优化问题可知,我们的目标是求:
对偶问题是[1]
基本思想是:先把的解用表示出来,然后再求的解即可。
a.先求:
当满足约束条件时,令
设的解为,求对的偏导数,并令其为0:
令式(2.10)为,则有:
又因,代入公式(2.11),则有:
令(2.12)为,代入(2.11),结果记为,则有
因此,优化目标的解为公式(2.13),其中被称为规范化因子。
b. 再使(2.13)极大化,求
即求
在公式(2.6)中,因为是在的条件下得出,故而有:
将
代入公式(2.15),得
由于(2.17)式并没有一个显式的解析解,因此需要借助于数值的方法。由于是一个光滑的凸函数,所以可以求解的方法很多。可以使用的方法有:
- 通用迭代尺度法(GIS: Generalized Iterative Scaling)。
- 改进的迭代尺度法(IIS: Improved Iterative Scaling)。
- 梯度下降算法
- 拟牛顿法(牛顿法)
其中,前两个方法是专门为最大熵模型而设计的,后两种方法为通用的算法。
3. 灵魂两问
3.1 为什么对偶函数的极大化 = 最大熵模型的似然估计
3.1.1 对偶函数极大化
如果不好理解,可以将看成是关于的函数。
3.1.1 最大熵模型的似然估计
因为公式(2.1)
所以公式(3.1)=(2.16)。故而,对偶函数的极大化 = 最大熵模型的似然估计。
3.2 logistics模型和最大熵模型,有什么关系?
3.2.1 logistics模型
二分类模型
多分类模型
logistics模型的通用表达式
3.2.2 最大熵模型
当类标签只有两个的时候,最大熵模型就是logistics回归模型。具体原因
4. 参考文献
-
拉格朗日对偶性(截图取自李航——统计学习方法)
↩