大话逻辑回归

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

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

逻辑回归的数学描述

什么是逻辑回归

逻辑回归,是个二分类算法,即给定一个输入,输出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。

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

原文发布于微信公众号 - CreateAMind(createamind)

原文发表时间:2017-01-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏华章科技

机器学习算法入门:从贝叶斯到深度学习及各自优缺点(附导图下载)

导读:在我们日常生活中所用到的推荐系统、智能图片美化应用和聊天机器人等应用中,各种各样的机器学习和数据处理算法正尽职尽责地发挥着自己的功效。本文筛选并简单介绍了...

1411
来自专栏目标检测和深度学习

Google发布机器学习术语表 (包括简体中文)

Google 工程教育团队已经发布了多语种的 Google 机器学习术语表,该术语表中列出了一般的机器学习术语和 TensorFlow 专用术语的定义。语言版本...

2906
来自专栏企鹅号快讯

吴恩达机器学习学习笔记05

建议阅读时间:5-8min 类型:机器学习基础教程 适应人群:大数据、人工智能 一、The problem of overfitting What is ove...

2626
来自专栏大数据挖掘DT机器学习

【R语言】用gbm包来提升决策树能力

中国有句老话:三个臭皮匠,顶个诸葛亮。这个说法至少在变形金刚中得到了体现,没有组合之前的大力神只是五个可以被柱子哥随手秒掉工地苦力。但组合之后却是威力大增。在机...

3984
来自专栏张耀琦的专栏

【机器学习入门系列05】分类、概率生成模型

本文通过将神奇宝贝数值化的过程介绍了分类模型、先验概率以及高斯分布的应用;最大似然估计的方法;推导后验概率等

8590
来自专栏人工智能LeadAI

机器学习项目流程及模型评估验证

我之前一直在做Udacity的P1项目——波士顿房价预测。这个项目让我收获最大的就是理清了机器学习解决问题的整体流程,搭起一个框架,学会了寻找模型的最优参数以及...

3615
来自专栏机器之心

谷歌大脑提出新型激活函数Swish惹争议:可直接替换并优于ReLU?(附机器之心测试)

3276
来自专栏一名叫大蕉的程序员

机器学习虾扯淡之Logistic回归No.44

0x00 前言 大家好我是小蕉。上一次我们说完了线性回归。不知道小伙伴有没有什么意见建议,是不是发现每个字都看得懂,但是全篇都不知道在说啥?哈哈哈哈哈哈,那就...

1885
来自专栏智能算法

基于SURF算法相似图像相对位置的寻找

例如以下两个相似证件的模板,若以其中一幅图像为模板,并给出相应的位置,可以给出其他相似图像进行定位相对应的位置,如下图所示,其中除了标题和样式一样,内容确是不同...

3767
来自专栏AI科技大本营的专栏

详解|神经网络中BP算法的原理与Python实现

作者 | EdvardHua 最近这段时间系统性的学习了BP算法后写下了这篇学习笔记。 目录 什么是梯度下降和链式求导法则 神经网络的结构 BP算法中的执行流程...

5838

扫码关注云+社区

领取腾讯云代金券