第一次听到这个问题,大概大脑停顿了片刻,这是个问题吗?因为sigmoid值在0-1之间符合概率分布,处处可导,关键是在0附近变化很快...这些都只是sigmoid的优点。为什么LR不用别的也具有这些优点的激活函数呢?这是数学公式推导出来的——最大熵模型!
证明Logistic回归激活函数为什么是Sigmoid?假设我们已经证明:
最大熵模型中,条件概率
其中,wi是参数,f为特征函数(x,y满足某一条件为1,不满足为0),是不是很像softmax?
假设LR可以使用最大熵模型这个结论,fi选取为线性的,即fi用x+b替代,则
那么LR能否用最大熵模型的结论?接下来一探究竟---最大熵模型和最大熵模型的证明。
最大熵模型:对一批数据,我们可以采用很多模型,在满足所有约束条件下,我们选择条件熵最大的模型(条件熵最大的模型我们叫最大熵模型,为啥最大?就好比鸡蛋不能放在一个篮子里面)。什么是条件熵?先说一下熵,表示信息的不确定性,不确定性越大,熵越大,熵也是概率的函数,定义为
。
那为什么选择条件熵而不是熵?这不废话吗,因为我们是根据数据(即输入特征)预测输出的,也就是已经给定你条件x了,诺如LR中的P(y|x)。那这个条件熵怎么求呢?可不可以套用公式
答案是不可以,一知半解中...我按照书上的理解是:
H(Y|X=x)变量Y在变量X取特定值x下的熵,H(Y|X)是取遍所有可能的x值的平均,所以
模型的最大熵公式确定,但同时模型还要满足一些约束,如抛硬币,硬币反面出现的概率要小于正面,因为我硬币正面放了个磁铁。这些约束可用特征函数f(x,y)表示:
f(x,y)当x、y满足某一事实为1,否则为0(有人认为特征函数表示数据为训练集中的数,有点点偏,其实是表示约束)
我们希望这些约束不仅在训练集上成立,还能在模型当中也是成立的,即它的期望在训练集上和在整个模型中是相等的。因为这个模型本质上就是 概率分布p(y|x)。因此,提出约束征函数f关于经验概率的期望,用表示:
特征函数f关于模型P(Y|X)与经验概率(其实是P(X),这里用经验概率近似)的期望,用表示:
所以:
把条件熵也用经验概率替代:
s.t. (n个约束)
接下来是优化环节,最大熵的模型等价于约束最优化问题:
引入拉格朗日乘子,定义拉格朗日函数为:
最优化原始问题 ——>对偶问题
求L(P,w)最优解,求导,对P(y|x)求导
这里介绍一下为什么整理了一下公式w0还是w0,实际上对w0做了缩放,但w0本来就是变量,为了表达方便就还是用w0表示。
导数为0,可得最终条件概率模型:
但注意,
所以证明了最大熵模型的条件概率表达式。接下来可用梯度下降法去优化模型(即学习)
等等,还有一个问题,LR可以用最大熵模型吗?当然LR是假设伯努利分布(区别泊松),这是一个概率模型,而最大熵就是用在概率模型上,所以可以用最大熵模型。当然,西瓜书老师是这么引入LR的,这只是引入,而非为什么用sigmoid函数。
假设为1的概率是p,即P(1|x)=p,P(0|x)=1-p,然后预测值为概率大一点的值,定义一个odds,叫对偶几率:
log(p/(1-p)),当p>1-p,则说明类别是1,此时p/(1-p)>1,那么log(p/(1-p))>0,而sigmoid就是正数标签1,负数标签0。
所以对偶几率就很有意义啦,然后令它等于wx+b,最后可导出p=1/(1+exp^(wx+b))。