您的位置:首页 > 其它

为什么 LR 模型要使用 sigmoid 函数,背后的数学原理是什么?

2016-01-21 11:06 567 查看
为什么 LR 模型要使用 sigmoid 函数,背后的数学原理是什么?

这个问题经常被问到,但一直没找到较好的资料。Ng的视频里提到过Exponential Family相关的东西,但觉得并不能很好的解释这个问题。

著作权归作者所有。

商业转载请联系作者获得授权,非商业转载请注明出处。

作者:谢澎涛

链接:https://www.zhihu.com/question/35322351/answer/65308207

来源:知乎

设计一个分类模型,首先要给它设定一个学习目标。在支持向量机中,这个目标是max-margin;在adaboost中,目标是优化一个指数损失函数。那么在logistic regression (LR)中,这个目标是什么呢?最大化条件似然度。考虑一个二值分类问题,训练数据是一堆(特征,标记)组合,(x1,y1), (x2,y2), .... 其中x是特征向量,y是类标记(y=1表示正类,y=0表示反类)。LR首先定义一个条件概率p(y|x;w)。
p(y|x;w)表示给定特征x,类标记y的概率分布,其中w是LR的模型参数(一个超平面)。有了这个条件概率,就可以在训练数据上定义一个似然函数,然后通过最大似然来学习w。这是LR模型的基本原理。

那么接下来的问题是如何定义这个条件概率呢?sigmoid函数就派上用场了。我们知道,对于大多数(或者说所有)线性分类器,response value(响应值) <w,x> (w和x的内积) 代表了数据x属于正类(y=1)的confidence (置信度)。<w,x>越大,这个数据属于正类的可能性越大;<w,x>越小,属于反类的可能性越大。<w,x>在整个实数范围内取值。现在我们需要用一个函数把<w,x>从实数空间映射到条件概率p(y=1|x,w),并且希望<w,x>越大,p(y=1|x,w)越大;<w,x>越小,p(y=1|x,w)越小(等同于p(y=0|x,w)越大),而sigmoid函数恰好能实现这一功能(参见sigmoid的函数形状):首先,它的值域是(0,1),满足概率的要求;其次,它是一个单调上升函数。最终,p(y=1|x,w)=sigmoid
(<w,x>).

综上,LR通过最大化类标记的条件似然度来学习一个线性分类器。为了定义这个条件概率,使用sigmoid 函数将线性分类器的响应值<w,x>映射到一个概率上。sigmoid的值域为(0,1),满足概率的要求;而且是一个单调上升函数,可将较大的<w,x>映射到较大的概率p(y=1|x,w)。sigmoid的这些良好性质恰好能满足LR的需求。

著作权归作者所有。

商业转载请联系作者获得授权,非商业转载请注明出处。

作者:匿名用户

链接:https://www.zhihu.com/question/35322351/answer/67193153

来源:知乎

看了一下,几乎所有的回答都只解释了“为什么可以用sigmoid”,而没有解释“为什么要用sigmoid”。虽然也有回答提到了exponential family中bernoulli的形式,但高票回答基本只说明了sigmoid的各种良好性质。

若是光从这个角度解释的话,probit也具有相同的性质,为什么除了做GLM的,基本上就没人用呢?

说到底源于sigmoid,或者说exponential family所具有的最佳性质,即maximum entropy的性质。

虽然不清楚历史上孰先孰后,但这并不妨碍maximum entropy给了logistic regression一个很好的数学解释。

为什么maximum entropy好呢?entropy翻译过来就是熵,所以maximum entropy也就是最大熵。熵原本是information theory中的概念,用在概率分布上可以表示这个分布中所包含的不确定度,熵越大不确定度越大。所以大家可以想象到,均匀分布熵最大,因为基本新数据是任何值的概率都均等。

而我们现在关心的是,给定某些假设之后,熵最大的分布。也就是说这个分布应该在满足我假设的前提下越均匀越好。比如大家熟知的正态分布,正是假设已知mean和variance后熵最大的分布。

回过来看logistic regression,这里假设了什么呢?首先,我们在建模预测 Y|X,并认为 Y|X 服从bernoulli distribution,所以我们只需要知道 P(Y|X);其次我们需要一个线性模型,所以 P(Y|X) = f(wx)。接下来我们就只需要知道 f 是什么就行了。而我们可以通过最大熵原则推出的这个 f,就是sigmoid。

其实前面也有人剧透了bernoulli的exponential family形式,也即是 1/ (1 + e^-z)

具体推导详见:http://www.win-vector.com/dfiles/LogisticRegressionMaxEnt.pdf
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  最大熵 机器学习