Logistic回归与最大熵模型-理论推导

logistics与最大熵思维导图.png

1. logistics 回归模型

Logistic回归与最大熵模型-理论推导_第1张图片
logistics模型

1.1 logistics模型构建

对于数据集有
Logistics模型的基本思想也是线性回归,其公式为:

公式(1.1)被称为sigmoid函数,一般来说,若则分类判定为1,否则为0。

1.2 估计参数

设,则似然函数为:

目标是找到使得达到最大值,一般使用梯度上升


2. 最大熵模型

2.1 最大熵原理

首先要明确两个问题:

  • 熵最大有什么意义吗?
    我们之前提过信息熵表示不确定程度,所以熵最大,也就是系统的不确定程度最大,系统中没有任何个人的主观假设。
  • 最大熵是什么?
    当你要猜一个概率分布时,如果你对这个分布一无所知,那就猜熵最大的均匀分布,如果你对这个分布知道一些情况,那么,就猜满足这些情况的熵最大的分布。

下面两个网址是描述的比较清楚的:

  • 图解最大熵原理(The Maximum Entropy Principle)
  • 决策树-脚注:为什么在等概率的情况下,熵能达到最大值?

2.2 最大熵模型

看完《机器学习面试之最大熵模型》之后,我的理解:

假设有一个样本空间为N的数据集,共有个特征,为,类标签为,我们的目标是求,那么,根据样本空间中的N条数据,可以计算出和(因为是根据已知数据求出来的,并不能代表真实世界中的分布,所以上面加了波浪线),然后,定义了一个函数:

特征f是指x与y之间存在的某种特定的关系

“如果满足某种条件”,这句话一开始让我摸不着头脑,后来才明白,可以把它看成,这种组合若出现在样本空间中,则为1,否则为0。它们的个数为个。

Logistic回归与最大熵模型-理论推导_第2张图片
小资的AI课堂-最大熵模型

这样的话,就可以算的期望了:

  • 特征函数关于的期望值为:

    由于我们的目标是求,那么,借助贝叶斯公式,我们可以得出第二个期望的计算公式:

如果,这俩公式能相等的话,就十分完美了(注意,这里要把看成是的约束条件),于是有:

根据的定义可知,有多少种特征和类标签前的组合,就有多少个约束条件:。那么,把样本空间中的所有约束条件都算上,

又因为,条件熵为:(为什么请看这里:《决策树【python实现】》— 条件熵)

那么,也就是说,我们要在这个空间中找一个“没有任何主观假设的模型”,即条件概率的最大熵。
Logistic回归与最大熵模型-理论推导_第3张图片

2.3 最大熵模型的目标函数

找出了约束最优化问题, 下面来求解一下。

1. 把求max的问题转化成求min的问题。要求


等价于求

引入拉格朗日算子,可得到方程:
\begin{align} L(P, w) &= -H(P) + w_0(1-\sum_{y}P(y|x)) + \sum_{i=1}^{n}[w_i (E_P(f_i(x,y))-E_{ \widetilde{P}}(f_i(x,y)))] \tag{2.6}\\ &= \sum_{x,y} \widetilde{P}(x)P(y|x)logP(y|x) + w_0[1-\sum_{y}P(y|x)] + \sum_{i=1}^{n} \{ w_i [\sum_{x,y }P(x,y)f_i(x,y) - \sum_{x,y }\widetilde{P}(x)P(y|x)f_i(x,y)] \}\tag{2.7} \end{align}

2. 由最优化问题可知,我们的目标是求:

对偶问题

基本思想是:先把的解用表示出来,然后再求的解即可。

a.先求:

当满足约束条件时,令

设的解为,求对的偏导数,并令其为0:
\begin{align} \frac{\partial {L(P, w)}}{\partial{p(y|x)}} &= \sum_{x,y} \{ \widetilde{P}(x)logP(y|x) + \widetilde{P}(x)\} - \sum_{y}w_0 + \sum_{i=1}^{n} \{ w_i [0 - \sum_{x,y }\widetilde{P}(x)f_i(x,y) ] \} \\ &= \sum_{x,y}\widetilde{P}(x) ( logP(y|x) + 1) - \sum_{x,y}\widetilde{P}(x)w_0 - \sum_{i=1}^{n} \{ w_i \sum_{x,y }\widetilde{P}(x)f_i(x,y) \} \\ &= \sum_{x,y}\widetilde{P}(x) ( logP(y|x) + 1) - \sum_{x,y}\widetilde{P}(x)w_0 - \sum_{i=1}^{n} \{ w_i \sum_{x,y }\widetilde{P}(x)f_i(x,y) \} \\ &= \sum_{x,y}\widetilde{P}(x) \{( logP(y|x) + 1) - w_0 - \sum_{i=1}^{n} w_i f_i(x,y) \}\tag{2.10} \end{align}
令式(2.10)为,则有:
\begin{align} 0 =& \sum_{x,y}\widetilde{P}(x) \{( logP(y|x) + 1) - w_0 - \sum_{i=1}^{n} w_i f_i(x,y)\} \\ p(y|x) =& exp ( w_0 + \sum_{i=1}^{n} w_i f_i(x,y)-1 ) \\ p(y|x) =& \frac{exp (\sum_{i=1}^{n} w_i f_i(x,y))} {exp ( w_0 -1) }\tag{2.11} \end{align}
又因,代入公式(2.11),则有:

令(2.12)为,代入(2.11),结果记为,则有

因此,优化目标的解为公式(2.13),其中被称为规范化因子

b. 再使(2.13)极大化,求

即求

在公式(2.6)中,因为是在的条件下得出,故而有:
\begin{align} L(P_w, w) &= -H(P_w) + \sum_{i=1}^{n} [w_i (E_{\widetilde{P}} (f_i(x,y)) - E_{P_w}(f_i(x,y)))] \\ &=\sum_{x,y} \widetilde{P}(x) P_w(y|x) log P_w(y|x) + \sum_{i=1}^{n} w_i (E_\widetilde{P} (f_i(x,y)) - \sum_{x,y}\widetilde{P}(x)·P_w(y|x)·f_i(x,y)) \\ &= \sum_{i=1}^{n}w_i ·E_{\widetilde{P}}(f_i(x,y)) + \sum_{x,y} \widetilde{P}(x) P_w(y|x)·(log P_w(y|x) - \sum_{i=1}^{n} w_if_i(x,y)) \tag{2.15} \end{align}



代入公式(2.15),得
\begin{align} L(P_w, w) &= \sum_{i=1}^{n}w_i ·E_{\widetilde{P}}(f_i(x,y)) + \sum_{x,y} \widetilde{P}(x) P_w(y|x)·(\sum_{i=1}^{n} w_i f_i(x,y)-logP_w(x) - \sum_{i=1}^{n} w_if_i(x,y)) \\ &= \sum_{i=1}^{n}w_i ·E_{\widetilde{P}}(f_i(x,y)) - logZ_w(x) · \sum_{x,y} \widetilde{P}(x) P_w(y|x) \tag{2.16} \\ &=\sum_{i=1}^{n}w_i ·E_{\widetilde{P}}(f_i(x,y)) - logZ_w(x) ·( \sum_{x}\sum_{y} \widetilde{P}(x) P_w(y|x)) \\ &=\sum_{i=1}^{n}w_i ·E_{\widetilde{P}}(f_i(x,y)) - logZ_w(x) ·( \sum_{x}\widetilde{P}(x))\\ &=\sum_{i=1}^{n}w_i ·\sum_{x,y} \widetilde{P}(x,y)f_i(x,y) - logZ_w(x) ·( \sum_{x}\widetilde{P}(x))\tag{2.17} \end{align}
由于(2.13)式并没有一个显式的解析解,因此需要借助于数值的方法。由于是一个光滑的凸函数,所以可以求解的方法很多。可以使用的方法有:

  1. 通用迭代尺度法(GIS: Generalized Iterative Scaling)。
  2. 改进的迭代尺度法(IIS: Improved Iterative Scaling)。
  3. 梯度下降算法
  4. 拟牛顿法(牛顿法)

其中,前两个方法是专门为最大熵模型而设计的,后两种方法为通用的算法。


3. 灵魂两问

3.1 为什么对偶函数的极大化 = 最大熵模型的似然估计

3.1.1 对偶函数极大化

如果不好理解,可以将看成是关于的函数。

3.1.1 最大熵模型的似然估计

\begin{align} L_{\widetilde{P}}(P_w) &= \sum_{x,y} \widetilde{P}(x,y)logP(y|x) \\ &=\sum_{x,y} \widetilde{P}(x,y)·(\sum_{i=1}^{n}w_i f_i(x,y)-logZ_w(x)) \\ &= \sum_{x,y} \widetilde{P}(x,y)·\sum_{i=1}^{n}w_i f_i(x,y) - logZ_w(x) · \sum_{x,y} \widetilde{P}(x) P_w(y|x) \tag{3.1} \end{align}
因为公式(2.1)

所以公式(3.1)=(2.16)。故而,对偶函数的极大化 = 最大熵模型的似然估计。

3.2 logistics模型和最大熵模型,有什么关系?

3.2.1 logistics模型
二分类模型

多分类模型

logistics模型的通用表达式

3.2.2 最大熵模型


当类标签只有两个的时候,最大熵模型就是logistics回归模型。具体原因

Logistic回归与最大熵模型-理论推导_第4张图片
小资的AI课堂-最大熵模型


4. 参考文献

  • 《统计学习方法》
  • 决策树【python实现】
  • 图解最大熵
  • 机器学习面试之最大熵模型
  • 详解最大熵
  • 最大熵模型推导
  • 如何理解最大熵模型里面的特征?

你可能感兴趣的:(Logistic回归与最大熵模型-理论推导)