介绍
Logistic的基本形式:
需要明确的概念:
- 逻辑回归解决的不是回归的问题,而是分类的问题
- 逻辑回归是线性模型,其中sigmoid函数只是非线性激活函数
极大似然视角下的Logistic
极大似然与伯努利分布
假设 x,y∼B(±1,p)x,y∼B(±1,p)
考虑一个二分类问题:f(x)→{+1,−1}f(x)→{+1,−1} :
其极大化条件似然估计:
转化成负对数似然损失函数:
Loss(w)=1N∑i=1Nln(1+exp(−yif(xi,w)))(损失函数A)Loss(w)=1N∑i=1Nln(1+exp(−yif(xi,w)))(损失函数A)
需要明确的概念 :
- 与逻辑回归对应的是伯努利分布,而不是二项分布(重复N次(N>1)伯努利分布实验)
- 逻辑回归中,模型的二值输出服从伯努利分布,而输入数据不服从伯努利分布,输入数据服从等方差高斯分布
- 模型的输出中,线性内积 WTxWTx 所得结果是连续型随机变量,不服从伯努利分布,而经过非线性变换和二值化之后的输出才服从伯努利分布
形式化损失函数视角下的Logistic
注:红线是logistic回归损失函数,绿虚线是SVM损失函数
MarginCost:minJ(w)=1n∑i=1nH(yif(xi,w)),whereH(t)=ln(1+exp(−t))MarginCost:minJ(w)=1n∑i=1nH(yif(xi,w)),whereH(t)=ln(1+exp(−t))
熵的视角下的Logistic
交叉熵函数:
L(y|x)=∑−P(yi)lnP(f(xi=yi))L(y|x)=∑−P(yi)lnP(f(xi=yi))
相关熵与逻辑回归:
假设 x,y∼B(0,1|p)x,y∼B(0,1|p)
考虑一个二分类问题 f(x)→{0,1},f(x)→{0,1}, (与极大似然视角下的+1,-1不同)
似然:∏Ni=1P(y|xi,w)=∏Ni=1P(1|xi,w)yiP(0|xi,w)1−yi∏i=1NP(y|xi,w)=∏i=1NP(1|xi,w)yiP(0|xi,w)1−yi
交叉熵损失函数(cross-entropy):
E(w)=−1Nln(∏i=1NP(y|xi,w))=−1N∑i=1N[yiln(P(1|xi,w))+(1−yi)ln(P(0|xi,w))](损失函数B)E(w)=−1Nln(∏i=1NP(y|xi,w))=−1N∑i=1N[yiln(P(1|xi,w))+(1−yi)ln(P(0|xi,w))](损失函数B)
负对数似然损失函数 VS. 交叉熵损失函数
因为极大似然视角下的二分类标签为y∗y∗(1,0),这导致其最终的损失函数(损失函数A和损失函数B)的形式不一样,但其最优解是一样的。下面介绍单个实例下两个损失函数如何转换:
- 令 y∗=2y−1y∗=2y−1
那么:
所以这两个损失函数是可以相互转化的,只不过对了一个常系数项2,不影响变量的最优解,具体可参考:
https://www.zhihu.com/question/38777817/answer/78140608
Logistic求解
基本问题:无约束凸优化问题
MarginCost:MarginCost:
可用的优化方法:
- 一阶梯度法(梯度下降及其变种)
- 二阶梯度法(牛顿法及其变种)
为什么用softmax作为激活函数?
如果logistic回归最后只是需要一个非线性激活函数将线性内积输出 WTxWTx 范围内,那么可不可以不用softmax?(一般不, 考虑到概率机器学习观点)
因为sigmoid刚刚好可以表示为等方差高斯分布下的后验概率
References:
1. 集智公开课
2. 知乎