[统计学习]第六章逻辑斯蒂回归与最大熵模型
逻辑斯蒂回归,即逻辑回归(Logistic Regression),虽然是使用了回归方程但实际该模型是用于解决分类问题的经典算法。逻辑回归的方程 $f(x)=\frac{\exp^{w \cdot x}}{1+\exp^{w\cdot x}}$ ,在 $w \cdot x$ 的结果在实数范围内的分布结果如下:
1. 逻辑斯谛模型
该模型在分类上是通过事件几率(odds,判断事件发生的概率和不发生的概率的比值)来判断事件的分类,其中发生和不发生的概率分别表示为 $P(y=1|X)$ 和 $P(y=0|X)$ 。因此模型相关计算过程如下:
$$
\begin{align}
P(y=1|X)&=\frac{\exp^{(W\cdot X)}}{1+\exp^{W\cdot X}} \
P(y=0|X)&= 1- P(y=1|X)\
&=1-\frac{\exp^{(W\cdot X)}}{1+\exp^{W\cdot X}}\
&=\frac{1}{1+\exp^{W\cdot X}} \
\text{odds}&=\frac{P(y=1|X)}{P(y=0|X)} \
&=\frac{P(y=1|X)}{1-P(y=1|X)}
\end{align}
$$
通过对上面的几率表达式进行取对数之后,得到的是一个线性模型 $\log{\frac{P(y=1|X)}{P(y=0|X)}}=W\cdot X$。通过该表达式来判断分类情况,线性函数越趋近于正无穷那么值越趋近于类别为 $1$ 的分类,反之则越趋近于 $0$ 的分类。综合以上信息,可以看出逻辑斯谛模型是一个对数线性模型,也被称为逻辑回归模型的原因。
1.1 逻辑斯谛模型参数估计
逻辑回归模型的参数估计方法,是针对给定的训练数据集 $T={(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N) }$ 通过最大似然估计的方法进行计算参数 $\displaystyle{\prod_{i=1}^N}P(\hat{y}=1|x_i)^{y_i} P(\hat{y}=0|x_i)^{1-y_i}$。
将似然函数进行对数处理,那么最终的模型参数估计的损失函数为 $L(W)=\displaystyle{\sum_{i=1}^N}[y_i(W\cdot x_i)-\log{(1+\exp^{W\cdot x_i})}]$。当 $L(W)$ 取得极大值时,即得到对参数 $W$ 的估计值。训练过程中的方法时采用了梯度下降法和拟牛顿法,进行训练得到参数 $W$ 即可以用于搭建逻辑回归模型。
2. 最大熵模型
最大熵模型(Maximum Entropy Model)是以最大熵原理实现的模型。搭建概率模型时当找到熵达到最大的模型,即在概率模型空间中找到了最佳模型。
2.1 最大熵原理
最大熵是以给定数据中,当概率分布的熵最大时能够表达出当前数据状态信息。对一个随机变量 $X$ 的概率质量函数(Probability Mass Function) $p(X)$,计算其熵 $H(X)=-\displaystyle{\sum_{x}p(x)\log p(x)}$(注意在信息论中,通常对数底取 $2$,熵的单位为位(bit))。
最大熵模型应用的是分类模型中条件概率分布 $P(Y|X), X\in \mathcal{X}, Y\in \mathcal{Y}$,其中 $\mathcal{X}\subseteq R^{n}$ 是表示数据输入,而 $\mathcal{Y}$ 表示输出分类结果。模型的概率分布使用联合分布和边缘分布,进行搭建 $P(Y|X)=\frac{P(Y,X)}{P(X)}$。对于联合分布和边缘分布,是根据给定数据集的经验值进行计算。模型中的经验分布以及其他相关的计算概念:
- 联合分布的经验分布, $\widetilde{P}(X=x,Y=y)=\frac{\nu(X=x,Y=y)}{N}$
- 边缘分布的经验分布,$\widetilde{P}(X=x)=\frac{\nu(X=x)}{N}$
- 根据数据集搭建的二值特征的函数 $f(x,y)$ ,在 $x$ 和 $y$ 满足条件时取 $1$ 否者取 $0$
$\nu$ 表示的计数函数, $N$ 表示样本容量
使用特征函数、边缘分布 $\widetilde{P}(X)$ 以及模型 $P(Y|X)$ 的期望值 $E_P(f)$ 结果为: $E_P(f)=\displaystyle{\sum_{x,y; x\in X, y \in Y}\widetilde{P}(X)P(y|x)f(x,y)}$ 。当模型能够获取到数据信息,联合分布的经验分布与特征函数的期望值 $E_{\widetilde{P}}(f)=\displaystyle{\sum_{x,y}\widetilde{P}(x,y)f(x,y)}$ 与$E_p(f)$ 值相同。
根据 $E_{\widetilde{P}}(f)=E_P(f)$ 的条件得到所有的模型 $\mathcal{C}\equiv {P\in \mathcal{P}| E_P(f_i)=E_{\widetilde{P}}(f_i), i=1,2,\cdots,n }$,当满足熵 $H(P)=-\displaystyle{\sum_{x,y}\widetilde{P}(x)P(y|x)\log{P(y|x)}}$ 最大时得到的最佳模型。
2.2 最大熵模型学习
根据最大熵条件及其约束条件进行约束最优化学习:
$$
\begin{align}
&\max_{P \in \mathcal{C}} H(P)=-\displaystyle{\sum_{x,y} \widetilde{P}(x) P(y|x) \log{P(y|x)}} \Longleftrightarrow \min_{P \in \mathcal{C}} -H(P)=\displaystyle{\sum_{x,y} \widetilde{P}(x) P(y|x) \log{P(y|x)}}\
& \text{s.t.}\hspace{1cm} E_P(f_i)=E_{\widetilde{P}}(f_i)\Longleftrightarrow E_P(f_i)-E_{\widetilde{P}}(f_i)=0,\hspace{2mm} i=1,2,\cdots,n \
&\text{and}\hspace{1cm}\sum_{y}P(y|x)=1 \Longleftrightarrow 1-\sum_{y}P(y|x)=0
\end{align}
$$
通过广义拉格朗日函数(Generalized Lagrange Function)^1对约束学习转化对偶问题:
$$
\begin{align}
\text{Lag}(P,w)&=-H(P)+w_0\big(1-\sum_{y}P(y|x)\big)+\sum_{i=1}^n w_1\big(E_{\widetilde{P}}(f_i)-E_P(f_i)\big) \
&=\sum_{x,y}\widetilde{P}(x)P(y|x)\log P(y|x) + w_0\big(1-\sum_{y}P(y|x)\big)+ \
&\hspace{.7cm}\sum_{n=1}^n(\sum_{x,y}\widetilde{P}(x,y)f_i(x,y)-\sum_{x,y}\widetilde{P}(x)P(y|x)f_i(x,y))
\end{align}
$$
其他
逻辑回归模型中损失函数推导过程
需要将最大似然函数的乘积转换为求和的方式,因此使用对数是一种转换方法:
$$
\begin{align}
L(W)&=\log\displaystyle{\prod_{i=1}^N}P(\hat{y}=1|x_i)^{y_i} (1-P(\hat{y}=1|x_i))^{1-y_i} \
&=\displaystyle{\sum_{i=1}^N y_i \log{P(\hat{y}=1|x_i)}+(1-y_i)\log{(1-P(\hat{y}=1|x_i))}} \
&=\displaystyle{\sum_{i=1}^N y_i \log{P(\hat{y}=1|x_i)}+\log{(1-P(\hat{y}=1|x_i))}-y_i\log{(1-P(\hat{y}=1|x_i))}} \
&=\displaystyle{\sum_{i=1}^N} y_i \log{\frac{P(\hat{y}=1|x_i)}{1-P(\hat{y}=1|x_i)}+\log{(1-P(\hat{y}=1|x_i))}} \
&=\displaystyle{\sum_{i=1}^N y_i W\cdot x_i+\log{\frac{1}{1+\exp^{W\cdot x_1}}}} \
\end{align}
$$
参考
- 逻辑回归是一个线性分类器,其判断的依据是分类决策边界是否为线性的,而非算法中使用的模型是线性模型还是非线性模型。
- Principle of maximum entropy - Wikipedia
- 概率质量函数,是离散随机变量在特定取值熵的概率,其本身是一个概率值。和概率密度函数差异,一方面后者是针对连续随机变量的定义,另一方面对于任意的值上不能通过概率密度函数估计概率值(没有意义)
备注
是原始的约束最优化问题转换为无约束的对偶问题的方法,带约束条件的原始问题:
$$
\begin{align}
&\min_{x\in R^n} \hspace{0.2cm} f(x) \
&\text{s.t.} \hspace{1cm} c_i(x)\le 0, i=1,2,\cdots,n \
&\hspace{2cm} h_j(x)=0, j=1,2,\cdots, l
\end{align}
$$
上式中约束函数 $c_i(x)$ 和 $h_i(x)$ 需要在 $R^n$ 是连续可微函数。转换之后得到对偶问题:
$$
\begin{align}
\text{Lag}(x, \alpha, \beta)=f(x)+\sum_{i=1}^k \alpha_i c_i(x)+\sum_{j=1}^l\beta_j h_j(x)
\end{align}
$$