首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大话逻辑回归

大话逻辑回归

作者头像
用户1908973
发布2018-07-25 10:00:59
9210
发布2018-07-25 10:00:59
举报
文章被收录于专栏:CreateAMindCreateAMind

如果只能学习一个算法的话,我选择逻辑回归。 讲个笑话,逻辑回归既不讲逻辑,也不是回归。

本文目的是以大白话的方式介绍逻辑回归。我们先简要以公式的方式回顾什么是逻辑回归,如何训练。然后,我们用大白话的方式重新解释一次逻辑回归。最后,我们介绍逻辑回归和大脑的关系。是的,两者有关系。

逻辑回归的数学描述

什么是逻辑回归

逻辑回归,是个二分类算法,即给定一个输入,输出true/false判断是否属于某个类别,同时还能给出属于这个类别的概率。

数学描述

输入是x,输出是y,中间有个临时变量是t。w和b是模型参数。h(t)是属于某个类别的概率,大于0.5认为属于这个类别,即y=1。

简便起见,我们可以认为b始终和一个值为1的w相乘。于是我们把b放入w。模型简化为

这就是逻辑回归的公式,非常简单。

数学描述训练过程

极大似然估计

给定输入x1,x2,...,xn,并给定目标输出y1,y2,...,yn;请问w值最应该是多少呢?这句话,不说人话,就是极大似然估计

如何进行极大似然估计呢?极大似然估计,顾名思义,就是先有个似然,然后让它取最大值。说人话: 给定X,经过模型W得到Y的概率,这个概率要最大化。即P(Y|X)在什么W的情况下最大,即求W并使得P(Y|X;W)最大化。

似然定义

那么P(Y|X;W)怎么定义呢?由于我们有多个样本,每个样本都可以得到一个P(y|x;w),概率相乘即可得到总的概率。

这个公式如何进一步深化呢?

h(x)是w模型认为的结果,y是期望的输出,y只可能是0或者1。

  • y=1时,h(x)越大越好
  • y=0时,h(x)越小越好,1-h(x)越大越好

上述相当于if-else逻辑。如果我们将if-else放到一个公式中就好了。于是,利用一点技巧,我们得到下面公式。

将多个样本的上述公式的值相乘,即可以定义为总的似然函数。

如何极大似然估计

即然是求最大值,那么找到拐点就可以了。由于相乘不好计算,先log一下转为对数似然函数,即相乘转相加,问题转化为求对数似然函数的最大值时的w。

这下问题就简单了。就是求导数,梯度下降法。最终得到了迭代更新w的方法。

为什么是这个sigmoid函数

至此,我们成功得到了逻辑回归的训练方法。但是,有两个问题,我们忽略了。(1)为什么在线性t=wx+b的基础上又套了一层sigmoid函数,也称logistic函数?(2)为什么使用sigmoid函数,而不是其他的什么奇葩函数?

  • 为什么不直接线性回归?

对于二分类问题,线性回归原则上也能解决。然而,二分类问题一般伴随着y的分布是二项分布。线性回归的y不适合。

  • 为什么使用sigmoid函数?

这篇文章解释的还不错。大体可以回归到David Cox在1958年首先提出逻辑回归算法的思路上来。

即,先定义了一个直觉的概念优势比 p/(1-p),p是true时的概率,1-p是false时的概率,对优势比取log,即t=log(p/(1-p))进行值域转换,转到所有实数域。然后反过来求p,最终即可得到sigmoid函数。

sigmoid函数的有趣特点是,自变量是负无穷到正无穷,应变量是0到1。越接近0变化越大。导函数是p(1-p),导函数很有趣。总之,这个函数充满了数学美

逻辑回归大白话

前面讲了一大堆公式。这里我们对逻辑回归进行大白话解释,力求让外行小白也能听懂。

假设我们是一家银行,手里有很多人的收入信息,同时手里还有这些人是否按时还房贷的信息。现在我们想得到一个模型,依此模型来判断是否批复一个新客户的房贷申请。这里x就是收入信息(x为负表示此人现金流为负),y=1表示此人会按时还房贷,我们要得到w。h(x)表示这个人的0~1的信用分。

我们不知道怎么取w,不如先随机地取一个值。然后根据公式进行迭代。先h(x)估算出了一个概率,和目标值相差y-h(x)。如果目标值y是1,则y-h(x)是正的,否则是负的。

当y是1时,

  • 如果x是正的,(y-h(x))x就是正的,意思就是说w要加大一点。
    • 如果x很大,h(x)很小,说明离目标较远偏差太大,就得多多地加大一点。
    • 如果x很大,h(x)也很大,说明离目标很近,适当加一点
    • 如果x很小,h(x)很大,说明离目标很近,小小地加一点。
    • 如果x很小,h(x)很小,说明离目标很远,适当加一点。
  • 如果x是负的,(y-h(x))x就是负的。意思是说w要变小一点。

同样道理,当y为0时,若x为正,(y-h(x))x为负,说明w应该变小。

回到银行放贷的例子上。训练时,

  • 若模型给一个高收入的人低信用分,说明模型有错误。wx较低而x已经很高,所以,要加大w。
  • 若模型给一个低收入的人高信用分,说明模型有错误。wx较高而x已经很低,所以,要减少w。
  • 若模型给一个低收入的人低信用分或者高收入的人高信用分,说明模型正确,稍微调整即可。

好了,讲到这里x只是收入一个维度。我们把x变成两个维度,在收入之外,引入学历。在前面的所有描述中,两个维度之间是并行的,不相关的,所以,两个维度各算各的。这样我们很容易地可以引入多个维度。

总结一下,基本意思就是,我这个样本应该高你给我低,你应该加大权重。我这个样本应该低你给我高,你应该减少权重。很多个样本过来,每个人贡献一点调整信息,最后模型被调整到一个合理的位置。

逻辑回归与大脑的关系

大脑的基本单位是神经元。我们目前还不能完全理解大脑的运行机理,但是根据很多实验的到的结论来看,真实的大脑神经元和机器学习的神经元非常相似。这里我们卖个噱头,指的是和机器学习的神经元的关系。具体细节请参考sigmoid神经元

也有研究表明ReLU效果更好,更接近真实的大脑结构。这里有篇文章比较了ReLU和Sigmoid,从美的角度,我更愿意Sigmoid。

以后的篇幅,我们再更多地介绍神经元。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-01-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CreateAMind 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 逻辑回归的数学描述
    • 什么是逻辑回归
      • 数学描述
        • 数学描述训练过程
          • 极大似然估计
          • 似然定义
          • 如何极大似然估计
          • 为什么是这个sigmoid函数
      • 逻辑回归大白话
      • 逻辑回归与大脑的关系
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档