从零开始学Python26-Logistic回归

在《从零开始学Python【20】--线性回归(理论部分)》和《从零开始学Python【24】--岭回归及LASSO回归(理论部分)》我们已经详细介绍了线性回归及带惩罚项的岭回归、LASSO回归的理论知识,但这些线性回归一般用来解决类似房价、身高、GDP、学生成绩等连续数值的建模和预测。如果你的因变量并非是这些连续的数值型,而是类似于成功或失败、流失或不流失、涨或跌等二元问题,那就不能使用线性回归了。

所以,我们接着线性回归,再跟大家聊聊Logistic回归。它是一个非线性的回归模型,其最大的好处恰恰是可以解决二元类问题,目前在金融行业,基本都是使用Logistic回归来预判一个用户是否为好客户,因为它还弥补了其他黑盒模型(SVM、神经网络、随机森林等)不具解释性的缺点。接下来,我们先从理论的角度,好好剖析一下这个神奇而强大的回归模型。

对于Logistic回归来说,它的思想就是依赖已知的X变量,去构造Y变量(某个事件发生)的概率值,说白了就是一个条件概率:P=P(y=1X)。我们都知道,概率的范围是0~1,而且还是连续值,那接下来是不是就可以往线性回归这个思路去延伸了呢。那问题来了,如何根据X的值,去构造一个属于0~1之间的概率值呢?聪明的统计学家们,构造了一个Logit函数,其函数形式为:

如果把这个函数以图形的方式展示的话,将会是:

从图形上来看,确实y值是落在0~1之间的。假设线性回归写成如下表达式:

再将g(x)套入到Logit函数,再来看看某个事件发生的概率表达式:

OK,请睁大眼睛,接下来就要开始变魔术了,通过详细的推导就能将上面的非线性函数变成一个线性回归模型啦:

上面得到的exp(g(x)),一般称为事件的发生比,即某个事件发生概率与不发生概率的比值。如果将上式的两边取一下对数,那么不就演变成了一个线性回归模型了嘛:

问题又来了,只要能够通过X数据集,找到对应的beta系数,就能够计算出某个感兴趣事件发生的概率P,那这个beta系数该如何求解呢?对于聪明的统计学家兼数学家来说,他们构造了极大似然函数,作为一个搬运工的我来说,就简单说说这个似然函数是怎么实现beta系数求解的。

对于每一个观测样本(不妨有n个样本),某个事件发生的概率(y变量不妨用1表示)和不发生(y变量用0表示)的概率可以表示成:

其中概率pi就是关于beta系数的Logit函数。那么,将上面两种情况合起来,就是一个简单的二元分布,可以表示为:

二元分布是一种常用的离散型分布,接下来我们就可以应用这个二元分布构造似然函数。在Logistic回归中,一般会假设样本之间是相互独立的,那么 它们的联合分布就可以表示为各边缘分布的乘积。可以通过下面这个式子来表达这个似然函数:

要想求得beta系数,可以根据上面这个似然函数计算它的极大值,具体求解的推导步骤如下:

为了求解上式的极大值,我们可以对每一个beta进行偏导,并将求导结果设置为0,最后就可以得到n+1个方程组,再根据这么多的方程组求出每一个beta系数值。下面不妨对beta1求偏导作为演示:

为了能够让大家理解上面式子的进一步求解,我们再来回顾一下大学里学习的微分知识点

OK,有了上面的理论铺垫,你再看下面这个式子就一定很轻松了:

上面理论知识的推导过程是不是比较容易理解呢?小编特别希望各位看官能够推导一遍,这对数学知识的提升有一定的帮助,反过来,也会促进你理解模型的结果。

OK,关于Logistic回归模型的理论部分我们就分享到这里,下一期我们将针对该回归模型进行使用Python和R语言进行实战分析。如果你有任何问题,欢迎在公众号的留言区域表达你的疑问。同时,也欢迎各位朋友继续转发与分享文中的内容,让更多的人学习和进步。

关注“每天进步一点点2015”,与小编同进步!

本文来自企鹅号 - 每天进步一点点2015媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器学习算法与Python学习

干货 | 详解scikit-learn中随机森林(RF)和梯度提升决策树(GBDT)的参数调优

关键字全网搜索最新排名 【机器学习算法】:排名第一 【机器学习】:排名第二 【Python】:排名第三 【算法】:排名第四 转自:博客园 作者:jasonfre...

5945
来自专栏SIGAI学习与实践平台

视觉多目标跟踪算法综述(上)-附开源代码下载链接整理

目标跟踪是机器视觉中一类被广为研究的重要问题,分为单目标跟踪与多目标跟踪。前者跟踪视频画面中的单个目标,后者则同时跟踪视频画面中的多个目标,得到这些目标的运动轨...

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

LDA入门级学习笔记

一.问题描述 传说搜狗公司请了个大牛,把这方面搞得风生水起。最近组内的LDA用得风风火火的,组内同事也是言必称LDA。 不花点时间看看,都快跟人说不上话了。 当...

3775
来自专栏机器学习从入门到成神

交叉熵代价函数定义及其求导推导(读书笔记)

神经元的输出就是 a = σ(z),其中z=\sum w_{j}i_{j}+b是输⼊的带权和。

45218
来自专栏SIGAI学习与实践平台

理解生成模型与判别模型

我们都知道,对于有监督的机器学习中的分类问题,求解问题的算法可以分为生成模型与判别模型两种类型。但是,究竟什么是生成模型,什么是判别模型?不少书籍和技术文章对这...

592
来自专栏大数据文摘

斯坦福CS231N深度学习与计算机视觉第六弹:神经网络结构与神经元激励函数

1726
来自专栏人工智能

机器学习基础之模型评估(四)

标题: 损失函数与风险 正则化 这次,我们来介绍一下机器学习模型中常用到的一种对付模型过拟合问题的方法,也是许多模型常用的优化模型的一个方法:正则化。 正则化是...

1838
来自专栏灯塔大数据

原创译文|从神经网络说起:深度学习初学者不可不知的25个术语和概念(下)

人工智能,深度学习和机器学习,不论你现在是否能够理解这些概念,你都应该学习。否则三年内,你就会像灭绝的恐龙一样被社会淘汰。 ——马克·库班(NBA小牛队老板,...

4237
来自专栏人工智能头条

数据挖掘十大经典算法

1535
来自专栏编程

图文详解高斯过程(一)——含代码

作者:Alex Bridgland 编译:Bot 编者按:高斯过程(Gaussian process)是概率论和统计学中的一个重要概念,它同时也被认为是一种机器...

5197

扫码关注云+社区