一、LR为什么是线性模型
Logistic Regression从几率的概念构建线性回归模型。一个事件发生的几率(odds)为该事件发生的概率与不发生概率的比值,几率的取值范围为[0,+∞),其对数的取值范围为实数域,所以,可以将对数几率作为因变量构建线性回归模型:
由此可得,即P(y=1|x,w)=p,这便是Logistic Regression采用sigmoid函数的原因,sigmoid函数将自变量的线性组合映射到(0,1),用以表述分类的概率特性。 从sigmoid函数看出,当
时,y=1,否则 y=0。
是模型隐含的分类平面(在高维空间中,我们说是超平面)。所以说逻辑回归本质上是一个线性模型.
二、LR如何解决低维不可分
特征映射:通过特征变换的方式把低维空间转换到高维空间,而在低维空间不可分的数据,到高维空间中线性可分的几率会高一些。具体方法:核函数,如:高斯核,多项式核等等。
三、从图模型角度看LR
LR模型可以看作是CRF模型的低配版,在完全不定义随机变量交互,只考虑P(Y|X)的情况下,得到的就是LR模型。
最大熵相比LR,可以提取多组特征(最大熵定义了多个特征函数),本质上等价的。CRF又是最大熵模型序列化的推广。
本质上,LR和softmax是等价的,而且也可证最大熵和softmax也等价,即可证LR和最大熵的等价性
LR(最大熵模型)统计的是训练集中的各种数据满足特征函数的频数(conditional);贝叶斯模型统计的是训练集中的各种数据的频数;CRF统计的是训练集中相关数据 (比如说相邻的词,不相邻的词不统计) 满足特征函数的频数。
PS,最大熵模型和CRF的区别:最大熵模型在每个状态都有一个概率模型,在每个状态转移时都要进行归一化。如果某个状态只有一个后续 状态,那么该状态到后续状态的跳转概率即为1。这样,不管输入为任何内容,它都向该后续状态跳转。而CRFs是在所有的状态上建立一个统一的概率模型,这 样在进行归一化时,即使某个状态只有一个后续状态,它到该后续状态的跳转概率也不会为1,从而解决了“labelbias”问题。因此,从理论上 讲,CRFs非常适用于中文的词性标注。
四、LR的损失函数
五、LR与SVM的区别与联系
共同点:
1,LR和SVM都是分类算法
2,如果不考虑核函数,LR和SVM都是线性分类算法,即分类决策面都是线性的
3,LR和SVM都是有监督学习算法
4,LR和SVM都是判别模型
不同点:
1,损失函数的不同,逻辑回归采用的是log loss(对数损失函数),svm采用的是hinge loss(合页损失函数)
2,分类原理的不同,LR基于概率理论,通过极大似然估计的方法估计出参数的值,而SVM基于几何间隔最大化原理,认为存在最大几何间隔的分类面为最优分类面,从最大间隔出发,转化为求对变量w和b的凸二次规划问题
3,由于分类原理的不同,也导致了LR是所有样本都有影响,而SVM只是少量样本有影响的(支持向量),在支持向量外添加样本点是没有影响的
4,正因为LR受数据影响较大,所以在数据不同类别时,要先对数据做balancing;同样的,由于SVM依赖数据表达的距离测度,所以要先对数据做normalization标准化
5,对于线性不可分的情况,SVM的核函数可以帮助将低维不可分的数据转换到高维,变成线性可分的,而LR很少用到核函数(并不是没有。。)假设我们在LR里也运用核函数的原理,那么每个样本点都必须参与核计算,这带来的计算复杂度是相当高的。所以,在具体应用时,LR很少运用核函数机制。
6,SVM的损失函数就自带正则(损失函数中的1/2||w||^2项),这就是为什么SVM是结构风险最小化算法的原因,而LR必须另外在损失函数上添加正则化
关于LR和SVM的选择:
1. 如果Feature的数量很大,跟样本数量差不多,这时候选用LR或者是Linear Kernel的SVM
2. 如果Feature的数量比较小,样本数量一般,不算大也不算小,选用SVM+Gaussian Kernel
3. 如果Feature的数量比较小,而样本数量很多,需要手工添加一些feature变成第一种情况
参考文献:
https://blog.csdn.net/jteng/article/details/50445134
https://tech.meituan.com/intro_to_logistic_regression.html
https://www.cnblogs.com/ooon/p/5829341.html(比较好)
https://zhuanlan.zhihu.com/p/34261803(也比较好理解)
https://blog.csdn.net/FigthingForADream/article/details/79869595