逻辑回归和sigmod函数的由来

2020-09-08 16:34:33 浏览数 (1)

记得刚工作的时候,用的第一个模型就是逻辑回归。虽然从大二(大一暑假参加系里建模培训,感谢老师!)就参加了全国大学生数学建模比赛,直到研究生一直在参加数学建模,也获了大大小小一些奖。

但是这些都是纸上谈兵,只要结果好、程序高级、图文美观,就能得到评审老师的青睐。和实际模型上线,真金白银实战还是有很大的区别。

逻辑回归已经在各大银行和公司都实际运用于业务,已经有很多前辈写过逻辑回归。本文将从我实际应用的角度阐述逻辑回归的由来,致力于让逻辑回归变得清晰、易懂。

逻辑回归又叫对数几率回归,是一种广义线性回归分析模型。虽然名字里有回归,但其实是分类模型,常用于二分类。

这篇文章是逻辑回归三部曲中的第一部,介绍逻辑回归的由来和为什么会使用sigmod函数。如果觉得看起来有难度也可以先看逻辑回归原理一文,再回过头来看这篇文章。

本文目录

  1. 广义线性模型
  2. 指数分布族
  3. 伯努利分布
  4. 逻辑回归优缺点

接下来将从广义线性模型、指数分布族、伯努利分布阐释逻辑回归和sigmod函数的由来。

一、广义线性模型(GLM)

由于线性回归往往用来预测连续值,但是受限于其连续性的特征,对于分类问题往往效果不好。且线性模型的值域为(-∞,∞),对于某些现实问题可能出现无意义的情况。

比如某店铺用线性回归模型做预测:温度每上升10摄氏度,购买毛衣的人数会下降100人。现在的温度为5摄氏度,购买毛衣的人数为80人。按此模型预测,当温度为15度时,购买毛衣的人数为-20人。显然人数不可能为负数,该模型的预测结果有违常识。

但是线性回归有“模型简单且效果还可以”的特点,为了保留该特点,又想让它能够进行分类。因此,考虑对线性回归的预测值做一次处理,这个处理函数称为连接函数。通过引进处理函数解决线性回归在分类问题中效果不好和值域在现实情况中无意义的问题。从而推导出了广义线性模型的概念:

给定x和参数θ后,广义线性模型需要满足以下三个假设:

① p(y|x;θ)服从指数分布族,即认为因变量属于指数分布(可以理解为一种限制);

② 给定x,我们的目标是预测y的期望值,即g(y)=E(y|x);

二、指数分布族

E(T(Y))=g(y)

三、伯努利分布

现在有一个二分类问题,要判断一个来借款的人是否会逾期。如果会逾期给这个人的标记为1,不会逾期给这个人标记为0。

由于线性回归模型对于分类问题往往效果不好,所以我们想构建一个广义线性模型来对该问题进行求解,而广义线性模型的因变量要服从指数分布,现在要挑选一个服从指数分布的分布函数。

这时我们很自然就会想到我们常见的0-1分布,伯努利分布。它的分布形式如下:

对比指数分布:

可以得到伯努利分布是满足参数如下的指数分布:

b(y)=1

T(y)=y

现在来推导广义线性函数g(y)

由于

且E(T(Y))=g(y),从而可以推导出广义线性函数(逻辑回归函数)的表达式:

从上面的推导可以看出逻辑回归的因变量g(y)就是伯努利分布中样本为1的概率。所以把线性回归中参数求出来,代入逻辑回归函数的表达式中,可以预测样本为1的概率。

至此,可以得出结论,当因变量服从伯努利分布时,广义线性模型就为逻辑回归。所以不是因为逻辑函数有很多很好的性质而选择了逻辑函数,而是假设因变量服从伯努利分布推导出了逻辑函数。恰好这个函数满足连续、任意阶可导等很多优良性质。从而让逻辑回归成为广泛应用的一个基础模型。

四、逻辑回归优缺点

1 逻辑回归优点

  • 容易使用和解释。由于逻辑回归不像神经网络那样有一个黑匣子。它通过样本训练出对应特征的参数(系数)。如果参数间不存在多重共线性,一般参数绝对值越大,说明该特征对因变量的影响越大(不过用原始数据建模时由于数据没有归一化处理,可能会由于数据本身的差异导致这个结果有偏,可以把原始数据转成woe消除量纲后再进行评估),该结果可以直观地展示给建模人员和业务使用人员。
  • 对数据中小噪声鲁棒性好。不会受到轻微多重共线性的影响,保证了模型的准确性。
  • 使用灵活。因为逻辑回归的结果(概率prob)是0到1之间的连续值,在信贷中可以根据资金松紧程度和公司策略对阈值进行灵活调整,从而划定放贷人群、拒绝人群和转人工人群。
  • 上线方便。相比其它机器学习模型,逻辑回归可以轻松转成hive sql脚本,进行线上运用。同时在Java、spark等软件中也有可直接调用的模块。
  • 计算代价不高,容易实现。LR在时间和内存需求上相当高效。它可以应用于分布式数据,并且还有在线算法实现(Python、R等很多软件中都有已封装好可以直接调用的函数),用较少的资源处理大型数据。

2 逻辑回归缺点

  • ①相比其它复杂模型,逻辑回归模型容易欠拟合,分类的精度不高。
  • ②数据特征有缺失或特征空间很大时效果不会很好。

说明:

1.逻辑回归看名字像一个回归问题,实际是一个分类问题。

一般是二分类。比如模型的概率小于0.5认为该客户能正常还款,模型概率大于0.5认为该客户有可能逾期。也可以用OvR(one-vs-rest)和MvM(Many-vs-Many)等方法把二分类推广到多分类。而不把逻辑回归叫成逻辑分类,个人看法有可能和逻辑回归输出的值是0到1之间的连续值,而不是单纯的几个类别有关。

2.sigmod函数有哪些优良的性质

这个函数简单、平滑、任意阶可导、梯度式子容易计算,可以把(−∞,∞)映射到(0,1),从而可以和现实中的概率结合起来。

一直对逻辑回归,这个风控建模中必不可少的一员,抱有很大的敬意。逻辑回归三部曲的文章也从2月份断断续续准备到了4月份,有些数学推导还不够严谨,总感觉有还可以完善的地方,今天先和大家分享三部曲中的第一部和第二部,第三部逻辑回归项目实战争取在下周和大家见面,大家有好的建议可以私信我。

之前由于工作需要,自己看了很多资料把逻辑回归的结果转成了评分卡的形式,写完了Python的实现函数,在接下来的时间我会好好总结评分卡的内容,争取评分卡的文章也早日和大家见面。

参考文献

https://zhuanlan.zhihu.com/p/30116307 https://zhuanlan.zhihu.com/p/43492827 https://zhuanlan.zhihu.com/p/59137998 https://zhuanlan.zhihu.com/p/111260930 https://baijiahao.baidu.com/s?id=1639202882632470513&wfr=spider&for=pc

-end-

0 人点赞