码迷,mamicode.com
首页 > 其他好文 > 详细

最大熵模型

时间:2015-02-04 18:27:44      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:

1. logistic回归模型

1.1 Logsitic分布

设X是服从logistic分布的连续随即变量,则X的分布函数和密度函数如下:

      \( F(x)=P(x \le x)=\displaystyle\frac{1}{1+e^{-(x-\mu)/\gamma}} \)

      \( f(x)=F‘(x) = \displaystyle\frac{e^{-(x-\mu)/\gamma}}{\gamma(1+e^{-(x-\mu)/\gamma})^2} \)

分布函数属于Logistic函数,是一条S型曲线

 

1.2 logistic回归模型

 二项logistic回归模型是一种分类模型,有条件概率分布\( P(Y|X) \)表示,形式为参数化的logistic分布。这里X取值为实数,Y取值为1或0.通过监督学习的方法来估计模型参数。

二项logistic回归模型的条件概率分布:

      \( P(Y=1|x)=\displaystyle\frac{exp(w \cdot x +b)}{1+exp(w \cdot x + b)} \)

      \( P(Y=1|x)=\displaystyle\frac{1}{1+exp(w \cdot x + b)} \)

这里,\( x \in R^n \)是输入,\( Y \in \{0,1\} \)是输出,\( w \in R^n \)和\( b \in R \)是参数,w成为权值向量,b成为偏置。

对于给定的输入x,按照如上公式分别求得\( P(Y=1|x) \)和\( P(Y=0|x) \),比较里两个条件概率值的大小,将X分到概率值比较大的那个类。属于判别模型。

1.3 模型参数估计

 logistic回归模型学习时,对于给定的训练数据集\( T=\{ (x_1,y_1), (x_2, y_2),...,(x_N,y_N)\} \),其中\( x_i \in R^n, y_i \in \{0,1\} \),可以使用极大斯然估计法估计模型参数,从而得到logistic模型。

假设 \( \displaystyle P(Y=1|x) = \pi(x) , p(Y=0|x) = 1- \pi(x)\)

似然函数  

      \( \displaystyle\prod_{i=1}^{N} [\pi(x_i)]^{y_i}[1-/pi(x_i)]^{1-y_i} \)

对数似然函数

      \( \displaystyle L(w)=\sum_{i=1}^{N}[y_i log\pi(x_i) + (1-y_i)log(1-\pi(x_i))] \)

         \( \displaystyle=\sum_{i=1}^{N}\biggl[y_i log\frac{\pi(x_i)}{1-\pi(x_i)} + log(1-\pi(x_i))\biggr] \)

         \( \displaystyle=\sum_{i=1}^{N}[y_i(w \cdot x_i) - log(1+exp(w \cdot x_i))] \)

对\( L(w) \)求极大值,得到\( w \)的估计值。 这样,问题就变成了以对数似然函数为目标的最优化问题。logistic回归学总通常采用的方法是梯度下降法和拟牛顿法。

假设\( w \)极大似然估计为\( \hat w \),那么学到logistic的回归模型为

      \( P(Y=1|x)=\displaystyle\frac{exp(\hat w \cdot x)}{1 + exp(\hat w \cdot x)} \)

      \( P(Y=1|x)=\displaystyle\frac{1}{1+exp(\hat w \cdot x)} \)

2. 最大熵模型

2.1 最大熵原理

设随机变量X的概率分布为P(X),则其熵为

      \( H(P)=\displaystyle-\sum_{x}P(x)logP(x) \)

\( 0 \le H(P) \le log|X| \),\( |X| \)为X的取值个数,当且仅当X的分布式均匀分布时右边的等号成立。也就是说X均匀分布时,熵最大。

直观上,最大熵原理认为要选择的概率模型搜西安必须满足已有的事实,及约束条件。在没有更多信息的条件下,那些不确定的部分都是”等可能的“。最大熵原理通过熵的最大化来表示等可能性。

2.2 最大熵模型

 假设所有满足约束条件的模型集合为

      \(\displaystyle \mathcal{C}  \equiv \{ p \in \mathcal{p}|E_p(f_i)=E_{\tilde{p}}(f_i), i=1,2,...,n \} \)

定义在条件概率分布P(Y|X)上的条件熵为

      \(\displaystyle H(P)=-\sum_{x,y} \tilde{P}(x)P(y|x)logP(y|x) \)

则模型集合\( \mathcal{C} \)中条件熵\( H(P) \)最大的模型成为最大熵模型。式中的对数为自然对数。\( f_i\)为特征还函数

\( E_{\tilde{p}}(f) \)表示特征函数\( f(x,y) \)关于经验分布的期望

      \(\displaystyle E_{\tilde{P}}(f)=\sum_{x,y}\tilde{P}(x,y)f(x,y) \)

\( E_P(f) \)表示特征函数\( f(x,y) \)关于模型\( P(Y|X) \)与经验分布\( \tilde{P}(X) \)的期望

      \(\displaystyle E_P(f)=\sum_{x,y}\tilde{P}(x)P(y|x)f(x,y) \)

假设模型能够获取训练数据中信息,那么就可以假设这两个期望是相等的,即

      \(\displaystyle E_P(f)=E_{\tilde{P}}(f)\)

      \(\displaystyle \sum_{x,y}\tilde{P}(x,y)f(x,y)=\sum_{x,y}\tilde{P}(x)P(y|x)f(x,y) \)

这就是模型学习的约束条件,如果有n个特征函数\( f_i(x,y) ,i=1,2,...,n \),那么就有n个约束条件。

2.3 最大熵模型的学习

 最大熵模型的学习过程就是求解最大熵模型的过程,最大熵模型的学习可以形式化为约束最优化问题。

对于给定的训练数据集\( \displaystyle T={(x_1,y_1),(x_2,y_2),...,(x_N, y_N)} \),及特征函数\( \displaystyle f_i(x,y),i=1,2,...,n \),最大熵模型的学习问题等价于约束最优化问题:

      \( \displaystyle \max_{p \in C} \quad H(P)=-\sum_{x,y}\tilde{P}(x)P(y|x)\log P(y|x) \)

      \(\displaystyle s.t.  \quad E_P(f_i)=E_{\tilde{P}}(f_i), i=1,2,...,n \)

          \(\sum_yP(y|x)=1  \) 

改写成最小化问题

      \(\displaystyle \min_{p \in C}  \quad -H(P)=\sum_{x,y}\tilde{P}P(x,y)\log P(y|x) \)

      \(\displaystyle  s.t. \quad E_P(f_i)-E_{\tilde{P}}(f_i)=0,i=1,2,...,n\)

      \(\displaystyle  \sum_{y}P(y|x)=1 \)

看到这种形式,想到引入拉格朗日乘子\( \displaystyle w_0,w_1,w_2,...,w_n \),定义拉格朗日函数\( L(P,w) \)

      \(\displaystyle  L(P,w) \equiv -H(P)+w_0 \biggl(1-\sum_yP(y|x) \biggr) + \sum_{i=1}^{n}w_i (E_{\tilde{P}}(f_i)- E_P(f_i))  \)

          \(\displaystyle  =\sum_{x,y}\tilde{P}(x)P(y|x)\log P(y|x) + w_0 \biggl(1-\sum_y P(y|x) \biggr) + \sum_{i=1}^{n}w_i \biggl(\sum_{x,y} \tilde{P}(x,y)f_i(x,y)-\sum_{x,y}\tilde{P}(x)P(y|x)f_i(x,y) \biggr) \)

最优化的原始问题是

      \(\displaystyle \min_{P \in C} \quad \max_{w} L(P,w)  \quad \quad (*)\)

对偶问题是

      \(\displaystyle  \max_{w} \min_{p \in C} L(P,w) \quad \quad (**)\)

由于拉格朗日函数\(\displaystyle  L(P,w) \)是P的凸函数,原始问题的解与对偶问题的解是等价的.

首先求解对偶问题**内部的极小化问题 \(\displaystyle \min_{P \in C}L(P,w)\),他是w的函数,记做

      \(\displaystyle \Psi(w) = \min_{P \in C}L(P,w)=L(P_w,w) \)

      \(\displaystyle P_w=arg \min_{P \in C}L(P,w)=P_w(y|x) \)

具体的,求\(\displaystyle  L(P,w) \)对\(\displaystyle P(y|x) \)的偏导

      \(\displaystyle \frac{\eth L(P,w)}{\eth P(y|x)}=\sum_{x,y} \tilde P(x)(\log P(y|x)+1)-\sum_y w_0 -\sum_{x,y} \biggl(\tilde P(x)\sum_{i=1}^{n}w_if_i(x,y) \biggr) \)

      \(\displaystyle =\sum_{x,y}\tilde P(x) \biggl(\log P(y|x)+1-w_0-\sum_{i=1}^{n}w_if_i(x,y) \biggr) \)

令其等0,在\(\displaystyle \tilde P(x) >0 \)的情况下,解得

      \(\displaystyle P(y|x)=\exp \biggl( \sum_{i=1}^{n}w_i f_i (x,y) + w_0 -1 \biggr) =\frac{\exp \bigl( \sum_{i=1}^{n}w_i f_i (x,y) \bigr)}{\exp (1-w_0)}\)

由于

      \(\displaystyle \sum_y P(y|x)=1 \)

      \(\displaystyle P_w(y|x)=\frac{1}{Z_w(x)}\exp  \)

2.4 极大似然估计

 

最大熵模型

标签:

原文地址:http://www.cnblogs.com/lemonqin/p/4252991.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!