全文共1268个字,36张图,预计阅读时间10分钟。
关于logistic regression一些常见问题,整理出来,方便大家应对各种坑爹的面试官。
01
为什么用sigmoid函数?
the odds of experiencing an event
如果我们想预测每天股票涨多少,可以假设线性模型
要解决这个问题,我们先理解一个概念the odds of experiencing an event:
假设我们认为股票涨的概率为p,对于伯努利分布而言,不涨的概率即为1-p。那么我们构造了p/(1-p),就是the odds of experiencing an event胜率,
趋向负无穷。这就又转化为可以用线性模型预测的问题了:即为对数胜率。当我们坚信它会涨的情况下,p趋于1,
趋向正无穷;当我们坚信它不会涨的情况下,p趋向0,
趋于负无穷。这就又转化为可以用线性模型预测的问题了:
将展开就可以得到:
。这就解释了为什么说logistic regression是线性模型,因为它的决策边界是线性的;这就解释了为什么想到了要用sigmoid作为压缩函数。
exponential model
就这一种办法么?当然不是:
假设第i个特征对涨的贡献是
,则记数据点(
,属于涨的概率为
,
正比于;
假设第i个特征对不涨的贡献是,则记数据点(
属于不涨的概率为
,正比于
所以,令涨=1则有:
,上下同除以
且令,则依旧得到了
的sigmoid结果。
exponential family
如果大家对数学有点点研究的话,exponential family指出:如果一类分布(a class of distribution)属于exponential family,那么它能写成如下形式:
伯努利分布可以写成:
把后面的展开,就有了sigmoid形式出现了:
对应上方的exponential family的形式,,这不又回到了the odds of experiencing an event胜率的问题了嘛。
02
为什么要用交互熵做损失函数?
极大似然角度
我们假设预测结果服从伯努利分布,那么可以把一个case预测结果写成:
其中为给定前提
下
率值要使当前参数下所有事情发生的概率最大,联合分布为各边缘分布的乘积,得到:
其中取log后方便计算:
这个就是我们最初的交互熵的形式。
信息熵角度
熵
用来衡量信息量大小,熵越大,越不稳定,信息量越大。
KL散度
用来衡量两份数据的相似程度,KL散度越大,越不相似。
从公式上,我们就可以看出:
其实很好理解的,对应训练数据traindata分布,和未知的真实数据分布越一致越好;同理,模型预测的分布,和训练数据traindata分布也是越一致越好,所以用KL散度来度量就是一个不错的方法。
至于为什么不直接最小化而是选择了最小化H(A,B),我是觉得就和交互熵求导前面加上1/2一样,为了简化计算量,本质上是一致的。
原文链接:https://www.jianshu.com/p/61ac39a57f9d
查阅更为简洁方便的分类文章以及最新的课程、产品信息,请移步至全新呈现的“LeadAI学院官网”:
www.leadai.org
请关注人工智能LeadAI公众号,查看更多专业文章
大家都在看
![640.png?](https://i-blog.csdnimg.cn/blog_migrate/8dba62aea749ad39a8b526a7d425ff2f.png)