logistic regression一点理解


全文共1268个字,36张图,预计阅读时间10分钟。


关于logistic regression一些常见问题,整理出来,方便大家应对各种坑爹的面试官。


01

为什么用sigmoid函数?


the odds of experiencing an event


如果我们想预测每天股票涨多少,可以假设线性模型

640?wx_fmt=jpeg

要解决这个问题,我们先理解一个概念the odds of experiencing an event:
假设我们认为股票涨的概率为p,对于伯努利分布而言,不涨的概率即为1-p。那么我们构造了p/(1-p),就是the odds of experiencing an event胜率,

640?wx_fmt=jpeg趋向负无穷。这就又转化为可以用线性模型预测的问题了:即为对数胜率。当我们坚信它会涨的情况下,p趋于1,640?wx_fmt=jpeg趋向正无穷;当我们坚信它不会涨的情况下,p趋向0,640?wx_fmt=jpeg趋于负无穷。这就又转化为可以用线性模型预测的问题了:

640?wx_fmt=jpeg

640?wx_fmt=jpeg展开就可以得到:640?wx_fmt=jpeg这就解释了为什么说logistic regression是线性模型,因为它的决策边界是线性的;这就解释了为什么想到了要用sigmoid作为压缩函数。


exponential model


就这一种办法么?当然不是:
假设第i个特征对涨的贡献是

640?wx_fmt=jpeg,则记数据点(640?wx_fmt=jpeg属于涨的概率为640?wx_fmt=jpeg

正比于640?wx_fmt=jpeg


假设第i个特征对不涨的贡献是640?wx_fmt=jpeg,则记数据点(640?wx_fmt=jpeg于不涨的概率为

640?wx_fmt=jpeg,正比于

640?wx_fmt=jpeg


所以,令涨=1则有:

640?wx_fmt=jpeg

,上下同除以

640?wx_fmt=jpeg

且令640?wx_fmt=jpeg,则依旧得到了640?wx_fmt=jpeg的sigmoid结果。


exponential family


如果大家对数学有点点研究的话,exponential family指出:如果一类分布(a class of distribution)属于exponential family,那么它能写成如下形式:

640?wx_fmt=jpeg

伯努利分布可以写成:

640?wx_fmt=jpeg

640?wx_fmt=jpeg


把后面的640?wx_fmt=jpeg展开,就有了sigmoid形式出现了:

640?wx_fmt=jpeg

对应上方的exponential family的形式,640?wx_fmt=jpeg,这不又回到了the odds of experiencing an event胜率的问题了嘛。


02

为什么要用交互熵做损失函数?

极大似然角度


我们假设预测结果服从伯努利分布,那么可以把一个case预测结果写成:

640?wx_fmt=jpeg

其中640?wx_fmt=jpeg为给定前提640?wx_fmt=jpeg640?wx_fmt=jpeg率值要使当前参数下所有事情发生的概率最大,联合分布为各边缘分布的乘积,得到:

640?wx_fmt=jpeg


其中640?wx_fmt=jpeg取log后方便计算:

640?wx_fmt=jpeg

这个就是我们最初的交互熵的形式。


信息熵角度


用来衡量信息量大小,熵越大,越不稳定,信息量越大。


640?wx_fmt=jpeg


KL散度


用来衡量两份数据的相似程度,KL散度越大,越不相似。


640?wx_fmt=jpeg

从公式上,我们就可以看出:

640?wx_fmt=jpeg

其实很好理解的,对应训练数据traindata分布,和未知的真实数据分布越一致越好;同理,模型预测的分布,和训练数据traindata分布也是越一致越好,所以用KL散度来度量就是一个不错的方法。


至于为什么不直接最小化640?wx_fmt=jpeg而是选择了最小化H(A,B),我是觉得就和交互熵求导前面加上1/2一样,为了简化计算量,本质上是一致的。


原文链接:https://www.jianshu.com/p/61ac39a57f9d


查阅更为简洁方便的分类文章以及最新的课程、产品信息,请移步至全新呈现的“LeadAI学院官网”:

www.leadai.org


请关注人工智能LeadAI公众号,查看更多专业文章

640?wx_fmt=jpeg

大家都在看

640.png?

LSTM模型在问答系统中的应用

基于TensorFlow的神经网络解决用户流失概览问题

最全常见算法工程师面试题目整理(一)

最全常见算法工程师面试题目整理(二)

TensorFlow从1到2 | 第三章 深度学习革命的开端:卷积神经网络

装饰器 | Python高级编程

今天不如来复习下Python基础

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值