逻辑斯蒂回归是一个比较经典的分类方法,最大熵模型是按照最大熵准则来进行分类的算法,两个都属于对数线性模型。
逻辑斯蒂回归
在二分类中的模型:
$$
\begin{aligned}
P(Y=1|X)&=\frac{exp(\omega X+b)}{1+exp(\omega X+b)}\\
P(Y=0|X)&=\frac{1}{1+exp(\omega X+b)}
\end{aligned}
$$
这里\(X\in \boldsymbol{R}^n\)是输入,\(Y\in \{0,1\}\)是输出,比较两个条件概率的大小,将实例x分到概率值大的那一类。这个公式对于求解问题不是很直观,将分类的概率变成对数几率或logit
函数:
$$
logit(p)=log\frac{p}{1-p}=\omega X+b,p表示事件发生的概率
$$
这样的好处是直接对分布进行建模,避免了假设分布不准确所带来的问题。
采用极大似然法来估计\(\omega,b\):
$$
l(\omega,b)=\sum_{i=1}^{m}\ln p(y_i|x_i;w,b)
$$
令\(\beta=(\omega;b),\hat{x}=(x;1)\),则\(\omega^Tx+b\)可简写为\(\beta^Tx\),最后得到:
$$
l(\beta)=\sum_{i=1}^{m}(-y_i\beta^T\hat{x}_i+\ln(1+e^{\beta^T\hat{x}_i}))\\
\beta^*=\arg\min_\beta l(\beta)
$$
最大熵模型
求出给定数据集的联合分布\(f(x,y)\)和边缘分布\(f(x)\)。
最大熵模型定义了在给定输入变量\(x\)时,输出变量y的条件分布:
$$
P(y|x,\theta)=\frac{e^{\theta f(x,y)}}{\sum_{y\in M}e^{\theta f(x,y)}}
$$
\(f(x,y)\)相当于约束条件,输入和输出的需要满足的条件,可以当作对输入和输出同时抽取的特征,分类效果还可以,但运行速度不理想。
在具体计算时,将条件分布转换成对偶问题进行的求解,过程比较复杂,感兴趣的可以看看《统计学习方法》。