统计学习方法学习笔记5—— 逻辑斯谛回归与最大熵模型

目录

1.概述

2.逻辑斯谛回归模型

2.1.逻辑斯谛分布

2.2.1.二线逻辑斯谛回归模型的条件概率分布

2.3.多项逻辑斯谛回归

2.3.1.多项逻辑斯谛回归模型

2.3.2.二元推广

2.4.对数线性模型

2.5.模型参数估计

3.最大熵模型

3.1.信息论相关的概念

3.1.1.信息量

3.1.2.信息和概率的关系

3.1.3.概率

3.1.4.熵

3.1.5.联合熵

3.1.6.条件熵

3.1.7.互信息

3.1.8.信息增益

3.1.9.相对熵(KL散度)

3.1.10.交叉熵

3.2.最大熵原理

4.模型学习

4.1.目标函数

4.1.1.逻辑斯谛回归模型目标函数

4.1.2.最大熵模型的目标函数

4.1.3.模型学习的最优化算法

参考:



1.概述

逻辑斯谛回归是统计学习中经典的分类方法。最大熵是概率模型学习的一个准则,将其推广到分类问题就可以得到最大熵模型。逻辑斯谛回归与最大熵模型都属于对数线性模型。

2.逻辑斯谛回归模型

2.1.逻辑斯谛分布

设X为连续随机变量,X服从逻辑斯谛分布是指X具有以下的分布函数F(x)和密度函数f(x):

                                    $$ F(x)=P(X\leqslant x)=\frac{1}{1+\exp(-(x-\mu)/\gamma)} $$

                     $$ f(x)=F{}'(x)=\frac{\exp(-(x-\mu )/\gamma)}{\gamma(1+\exp(-(x-\mu)/\gamma))^2} $$

统计学习方法学习笔记5—— 逻辑斯谛回归与最大熵模型_第1张图片

2.2.二项逻辑斯谛回归模型

2.2.1.二线逻辑斯谛回归模型的条件概率分布

x为输入,y为输出{0,1},w,b分别表示权重和偏置,w.x表示内积:

        $$ \begin{aligned} P(Y=1|x)&=\frac{\exp(w\cdot x)}{1+\exp(w\cdot x)}\ &=\frac{\exp(w\cdot x)/\exp(w\cdot x)}{(1+\exp(w\cdot x))/(\exp(w\cdot x))}\ &=\frac{1}{e^{-(w\cdot x)}+1} \end{aligned} $$

       $$\begin{aligned} P(Y=0|x)&=\frac{1}{1+\exp(w\cdot x)}\ &=1-\frac{1}{1+e^{-(w\cdot x)}}\ &=\frac{e^{-(w\cdot x)}}{1+e^{-(w\cdot x)}}\end{aligned} $$

2.3.多项逻辑斯谛回归

2.3.1.多项逻辑斯谛回归模型

假设离散型随机变量Y的取值集合是${1,2,\dots,K}$, 多项逻辑斯谛回归模型是:

                         $$ \begin{aligned} P(Y=k|x)&=\frac{\exp(w_k\cdot x)}{1+\sum_{k=1}^{K-1}\exp(w_k\cdot x)}, k=1,2,\dots,K-1\end{aligned} $$

                        $$\begin{aligned} P(Y=K|x)&=\frac{1}{1+\sum_{k=1}^{K-1}\exp(w_k\cdot x)} \end{aligned} $$

2.3.2.二元推广

计算K-1种可能的取值发生的概率相对取值K发生的概率的比值, 假设其取对数的结果是x的线性模型, 有 :

                 $$ \begin{aligned} \ln\frac{P(Y=1|x)}{P(Y=K|x)}&=w_1\cdot x\ \ln\frac{P(Y=2|x)}{P(Y=K|x)}&=w_2\cdot x\ \cdots\ \ln\frac{P(Y=K-1|x)}{P(Y=K|x)}&=w_{K-1}\cdot x\ \end{aligned} $$

得到取值1,2,...,K-1的概率表示 :

 

                      $$ \begin{aligned} {P(Y=1|x)}&={P(Y=K|x)}\exp(w_1\cdot x)\ {P(Y=2|x)}&={P(Y=K|x)}\exp(w_2\cdot x)\ \cdots\ {P(Y=K-1|x)} \end{aligned} $$

                                              $$\begin{aligned} ={P(Y=K|x)}\exp(w_{K-1}\cdot x)\ \color{red}{P(Y=k|x)}&\color{red}={P(Y=K|x)}\exp(w_k\cdot x), k=1,2,\dots,K-1\end{aligned}$$

上面红色部分有点像书上的(6.7), 又有K种可能取值概率和为1,可以得到下面推导 :

所以之前红色部分的表达可以表示为:  

        $$ \begin{aligned} P(Y=K|x)&=1-\sum_{j=1}^{K-1}P(Y=j|x)\ &=1-P(Y=K|x)\sum_{j=1}^{K-1}\exp(w_j\cdot x)\ &=\frac{1}{1+\sum_{j=1}^{K-1}\exp(w_j\cdot x)} \end{aligned} $$

                                                $$ \begin{aligned} \color{red}{P(Y=k|x)}&\color{red}={P(Y=K|x)}\exp(w_k\cdot x), k=1,2,\dots,K-1\\ \end{aligned} $$

                                                                        $$=\frac{1}{1+\sum_{j=1}^{K-1}\exp(w_j\cdot x)}\exp(w_k\cdot x), k=1,2,\dots,K-1

                                                                        =\frac{\exp(w_k\cdot x)}{1+\sum_{j=1}^{K-1}\exp(w_j\cdot x)}, k=1,2,\dots,K-1

2.4.对数线性模型

假设归一化因子Z有如下关系:

                    $$ \begin{aligned} \ln (ZP(Y=k|x))&=w_k\cdot x, k=1,2,\dots,K\ P(Y=k|x)&=\frac{1}{Z}\exp(w_k\cdot x), k=1,2,\dots,K \end{aligned} $$

又对所有的P(Y=k|x)可以形成概率分布,有 :


                                                $$ \begin{aligned} \sum_{k=1}^KP(Y=k|x)&=1\ &=\sum_{k=1}^K\frac{1}{Z}\exp(w_k\cdot x)\ &=\frac{1}{Z}\sum_{k=1}^K\exp(w_k\cdot x) \end{aligned} $$

可以得到:

                                                                   $$ Z=\sum_{k=1}^K\exp(w_k\cdot x) $$

所以:

                                $$ P(Y=k|x)=\frac{1}{Z}\exp(w_k\cdot x)=\frac{\exp(w_k\cdot x)}{\sum_{k=1}^K\exp(w_k\cdot x)}, k=1,2,\dots,K $$

上面这个叫Softmax,针对多项的情况也叫Softmax Regression

2.5.模型参数估计

逻辑斯谛回归模型学习时,对于给定的数据集T={(x1,y1),(x2,y2),...,(xn,yn)},yi={0, 1},可以使用极大似然估计法去估计模型的参数,从而的得到逻辑斯谛回归:模型。

似然函数表示为:

                                                                   $$ \prod^N_{i=1}[\pi(x_i)]^{y_i}[1-\pi(x_i)]^{1-y_i} $$

因为对数函数时单调递增的函数,最大化对数似然函数等价于最大化似然函数:

$$ \begin{aligned} \log \prod_{i=1}^N[\pi(x_i)]^{y_i}[1-\pi(x_i)]^{1-y_i}=\sum_{i=1}^N[y_i\log(\pi(x_i))+(1-y_i)\log(1-\pi(x_i))]\ \end{aligned} $$

                                                    $$ \begin{aligned}=\sum_{i=1}^N[y_i\log(\frac{\pi(x_i)}{1-\pi(x_i)})+\log(1-\pi(x_i))]\ =\sum_{i=1}^N[y_i(w\cdot x_i)-\log(1+\exp(w\cdot x_i))]\ \end{aligned} $$

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

然后使用最大似然函数的方法即可求出解。

3.最大熵模型

逻辑斯谛回归模型和最大熵模型,既可以看作是概率模型,又可以看作是非概率模型。

3.1.信息论相关的概念

3.1.1.信息量

信息量是对信息的度量, PRML中有关于信息量的讨论, 信息是概率的单调函数.

                                                  $h(x)=-\log_2{p(x)}$

 符号保证了非负性. 低概率事件对应了高的信息量. 对数底选择是任意的, 信息论里面常用2, 单位是比特。

3.1.2.信息和概率的关系

                                                 $$h(x)=-\log_2{p(x)}=\log_2{\frac{1}{p(x)}}$$

  • 负号确保了信息非负
  • 低概率事件$x$对应了高的信息.

3.1.3.概率

                                                       $\sum _{i=1}^{n}{p_i=1}$ $p \in [0,1]$

3.1.4.熵

                                                      $Ent(D)=-\sum \limits ^{|\mathcal Y|}_{k=1}p_k\log_2{p_k}$

  • if p=0,then $p\log_2{p}=0$
  • Ent(D)越小,D的纯度越高。非均匀分布比均匀分布熵要小。
  • 熵衡量的是不确定性,概率描述的是确定性,其实确定性和不确定性差不多。

3.1.5.联合熵

                          $H(X, Y) = H(X) + H(Y|X) = H(Y)+H(X|Y) = H(X|Y)+H(Y|X)+I(X;Y)$

  • 如果X和Y独立同分布,联合概率分布P(X,Y)=P(X)P(Y)。

3.1.6.条件熵

最大条件熵:

                   $$\begin{aligned} p^*&=\arg\max\limits_{p\in \mathcal C}H(p)\ &=\arg \max\limits_{p\in \mathcal C}(-\sum\limits_{x,y} {\tilde p(x)p(y|x)\log p(y|x) }) \end{aligned} $$

3.1.7.互信息

  • 互信息(mutual information),对应熵里面的交集,常用来描述差异性
  • 一般的,熵$H(Y)$与条件熵H(Y|X)之差称为互信息。

3.1.8.信息增益

                                          $$ g(D,A)=H(D)-H(D|A) $$

  • 信息增益表示得知$X$的信息而使类$Y$的信息的不确定性减少的程度。
  • 在决策树学习中,信息增益等价于训练数据集中类与特征的互信息。

3.1.9.相对熵(KL散度)

  • 相对熵(Relative Entropy)描述差异性,从分布的角度描述差异性,可用于度量两个概率分布之间的差异。
  • KL散度不是一个度量,度量要满足交换性。
  • KL散度满足非负性。

如果变量的集合是独立的,那么他们的联合分布可以分解为边缘分布的乘积

                                                                     $p(x,y)=p(x)p(y)$

如果变量不是独立的,那么我们可以通过考察联合分布边缘分布乘积之间的KL散度来判断他们是否"接近"于相互独立。

                              $$I(x,y)=KL(p(x,y)|p(x)p(y))=-\iint p(x,y) \ln {\left( \frac{p(x)p(y)}{p(x,y)}\right)}$$

这被称为变量x和变量y之间的互信息.

互信息和条件熵之间的关系$$ I(x,y)=H(X)-H(x|y)=H(y)-H(y|x) $$ 可以把互信息看成由于知道y值而造成的x的不确定性的减小(反之亦然)。

3.1.10.交叉熵

刻画两个分布之间的差异(CNN中常用交叉熵) :

               $$ \begin{aligned} CH(p,q)&=-\sum\limits_{i=1}^{n}p(x_i)\log{q(x_i)}\ &=-\sum\limits_{i=1}^{n}p(x_i)\log{p(x_i)}+\sum\limits_{i=1}^{n}p(x_i)\log{p(x_i)}-\sum\limits_{i=1}^{n}p(x_i)\log{q(x_i)}\ \end{aligned} $$

                                                                                 $$\begin{aligned} =H(p)+\sum\limits_{i=1}^{n}p(x_i)\log{\frac{p(x_i)}{q(x_i)}}\ &=H(p)+KL(p||q)\end{aligned}$$

3.2.最大熵原理

统计学习方法学习笔记5—— 逻辑斯谛回归与最大熵模型_第2张图片

  1. 最大熵原理认为要选择的概率模型首先必须满足已有的事实,即约束条件
  2. 最大熵原理根据已有的信息(约束条件),选择适当的概率模型。
  3. 最大熵原理认为不确定的部分都是等可能的,通过熵的最大化来表示等可能性
  4. 最大熵的原则,承认已有的,且对未知无偏
  5. 最大熵原理并不直接关心特征选择,但是特征选择是非常重要的,因为约束可能是成千上万的。

4.模型学习

逻辑斯谛回归模型和最大熵模型学习归结为以似然函数目标函数的最优化问题,通常通过迭代算法求解。

4.1.目标函数

4.1.1.逻辑斯谛回归模型目标函数

$$ \begin{aligned} L(w)&=\sum\limits^{N}{i=1}[y_i\log\pi(x_i)+(1-y_i)\log(1-\pi(x_i))]\ &=\sum\limits^{N}{i=1}[y_i\log{\frac{\pi(x_i)}{1-\pi(x_i)}}+\log(1-\pi(x_i))]\ &=\sum\limits^{N}_{i=1}[y_i(w\cdot x_i)-\log(1+\exp(w\cdot{x_i})] \end{aligned} $$

4.1.2.最大熵模型的目标函数

$$ \begin{align} L_{\widetilde {P}}(P_w)&=\sum \limits_{x,y}\widetilde {P}(x,y)\log{P}(y|x)\ &=\sum \limits_{x,y}\widetilde {P}(x,y)\sum \limits_{i=1}^{n}w_if_i(x,y) -\sum \limits_{x,y}\widetilde{P}(x,y)\log{(Z_w(x))}\ &=\sum \limits_{x,y}\widetilde {P}(x,y)\sum \limits_{i=1}^{n}w_if_i(x,y) -\sum \limits_{x,y}\widetilde{P}(x)P(y|x)\log{(Z_w(x))}\ \end{align} $$

         $$ \begin{align} &=\sum \limits_{x,y}\widetilde {P}(x,y)\sum \limits_{i=1}^{n}w_if_i(x,y) -\sum \limits_{x}\widetilde{P}(x)\log{(Z_w(x))}\sum_{y}P(y|x)\ &=\sum \limits_{x,y}\widetilde {P}(x,y)\sum \limits_{i=1}^{n}w_if_i(x,y) -\sum \limits_{x}\widetilde{P}(x)\log{(Z_w(x))} \end{align} $$

4.1.3.模型学习的最优化算法

  • 改进的迭代尺度算法IIS:

 

统计学习方法学习笔记5—— 逻辑斯谛回归与最大熵模型_第3张图片

  • 拟牛顿法

统计学习方法学习笔记5—— 逻辑斯谛回归与最大熵模型_第4张图片

统计学习方法学习笔记5—— 逻辑斯谛回归与最大熵模型_第5张图片

  • 最大熵模型学习的BFGS算法

统计学习方法学习笔记5—— 逻辑斯谛回归与最大熵模型_第6张图片

参考:

  1. https://github.com/SmirkCao/Lihang/blob/master/CH05/README.md
  2. 《统计学习方法》 李航
  3. http://sklearn.apachecn.org/#/

你可能感兴趣的:(机器学习,机器学习算法)