极大似然估计、softmax函数与交叉熵损失函数三者的关系

介绍

Logistic的基本形式:

1

需要明确的概念:

  • 逻辑回归解决的不是回归的问题,而是分类的问题
  • 逻辑回归是线性模型,其中sigmoid函数只是非线性激活函数

极大似然视角下的Logistic

极大似然与伯努利分布

假设 x,yB(±1,p)x,y∼B(±1,p)

考虑一个二分类问题:f(x){+1,1}f(x)→{+1,−1}

5

其极大化条件似然估计:

6
转化成负对数似然损失函数:

Loss(w)=1Ni=1Nln(1+exp(yif(xi,w)))ALoss(w)=1N∑i=1Nln(1+exp(−yif(xi,w)))(损失函数A)

需要明确的概念

  • 与逻辑回归对应的是伯努利分布,而不是二项分布(重复N次(N>1)伯努利分布实验)
  • 逻辑回归中,模型的二值输出服从伯努利分布,而输入数据不服从伯努利分布,输入数据服从等方差高斯分布
  • 模型的输出中,线性内积 WTxWTx 所得结果是连续型随机变量,不服从伯努利分布,而经过非线性变换二值化之后的输出才服从伯努利分布

形式化损失函数视角下的Logistic

7
注:红线是logistic回归损失函数,绿虚线是SVM损失函数

MarginCost:minJ(w)=1ni=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,yB(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)1yi∏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))=1Ni=1N[yiln(P(1|xi,w))+(1yi)ln(P(0|xi,w))]BE(w)=−1Nln(∏i=1NP(y|xi,w))=−1N∑i=1N[yiln(P(1|xi,w))+(1−yi)ln(P(0|xi,w))](损失函数B)

负对数似然损失函数 VS. 交叉熵损失函数

因为极大似然视角下的二分类标签为yy∗(1,0),这导致其最终的损失函数(损失函数A损失函数B)的形式不一样,但其最优解是一样的。下面介绍单个实例下两个损失函数如何转换:

  1. y=2y1y∗=2y−1

那么:

10

所以这两个损失函数是可以相互转化的,只不过对了一个常系数项2,不影响变量的最优解,具体可参考:
https://www.zhihu.com/question/38777817/answer/78140608

Logistic求解

基本问题:无约束凸优化问题

3

MarginCost:MarginCost:

可用的优化方法:

  • 一阶梯度法(梯度下降及其变种)
  • 二阶梯度法(牛顿法及其变种)

为什么用softmax作为激活函数?

如果logistic回归最后只是需要一个非线性激活函数将线性内积输出 WTxWTx 范围内,那么可不可以不用softmax?(一般不, 考虑到概率机器学习观点)

因为sigmoid刚刚好可以表示为等方差高斯分布下的后验概率

4

References:

1. 集智公开课
2. 知乎

你可能感兴趣的:(深度学习,回归)