热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

评分算法_评分卡基础—逻辑回归算法理解

风控业务背景逻辑回归(LogisticRegression,LR)是建立信贷金融评分卡的重要模型,其具有形式简单、易于解释、
369d2ef557497874c6b74e53615d1a39.png

风控业务背景

逻辑回归(Logistic Regression,LR)是建立信贷金融评分卡的重要模型,其具有形式简单、易于解释、鲁棒性强等优点。然而,很多建模同学并不是很清楚其原理。本文尝试对逻辑回归基础加以分析理解。

目录
Part 1. 从线性回归到逻辑回归
Part 2. 为什么采用sigmoid函数
Part 3. 利用极大似然估计法估计参数
Part 4. 最优化问题求解之梯度下降法
Part 5. 正则项的作用和种类
Part 6. 总结
致谢
版权声明
参考资料

符号定义:

  • : 样本集,具有
    个样例
  • :标签集,具有
    个样例
  • : 第
    个样例的特征向量,具有
    维特征
  • :第
    个样例的类别标识,二分类问题
  • :样本集,维度为
  • :权重向量,与n维特征一一对应

Part 1. 从线性回归到逻辑回归

线性模型是指对各种属性进行线性加权组合的函数:

这一过程将信息进行整合;不同的权重(weight)反映了自变量对因变量不同的贡献程度 。

线性回归(Liner Regression)具有广泛应用,例如:预测房价、天气等等。

061fb9ce8bb7248edeadb8d085157b07.png
图 1 - 线性回归(Liner Regression)

但在实际应用中,很多人会忽略线性回归的几大假设:

  • 零均值假设:随机误差项均值为0。
  • 同方差假设:随机误差项方差相同。若满足这一特性,称模型具有同方差性
  • 无自相关假设:若不满足这一特性,称模型具有自相关性(Autocorrelation)。
  • ...

显然,线性回归的输出结果

。那如果要做分类呢?我们就考虑将线性回归的输出与分类任务的真实标签
联系起来,即再找一个映射函数。

我们采用一个

函数(也叫对数几率):

其函数图像如图2所示,直观感受其优美的姿态,对称、平滑,且输出

.
0b05bf7a8848b18bce6c0576429c6997.png
图 2 - sigmoid函数

我们尝试把

函数模块拼接到线性回归的输出后面,如图3所示。
116b0d3ed14b753aa623490755a515c5.png
图 3 - 线性回归与逻辑回归的关系

把图3用公式表达,也就是在

函数内嵌套一个线性回归:

我们再将其变换得到逻辑回归的另一种常见形式:

为什么要这样做呢?这是因为右边就是线性回归,而左边则引入了

(几率) 的概念,即
事件发生概率相对于不发生概率的比值。

显然可以得到正负样例的概率表达式:

Part 2. 为什么采用sigmoid函数

至此,你可能会有疑问:为什么这里就直接选择了

函数?

如果只是为了将输出结果从

映射到
,完全可以选择其他函数,比如单位阶跃函数:

若预测值

则判为正例,
则判为负例,
则可任意判别。

你可能会说,这个阶跃函数不可微,也无法像

函数那样输出概率。这就冒出两个问题:
  1. 为什么这个映射函数一定要求可微?
  2. 为什么
    函数输出值可以代表概率?

首先,我们先分析

函数的基本性质:
  1. 定义域:
  2. 值域:
  3. 函数在定义域内为连续和光滑函数
  4. 处处可导,导数为
    ,以下是推导过程:

可以看到,

函数确实具有很多优点,但这仍不是我们选择它的
根本原因。这是因为,我们仍可以找到一些与之类似性质的函数。

探索的脚步继续前进 ...

由于逻辑回归本质上属于线性模型,我们尝试从广义线性模型(Generalized Linear Model,GLM)角度入手解释。前文提到,线性回归存在诸多假设,实际应用中往往无法满足。这就会有以下问题:

  1. 的取值范围
    与某些场景矛盾。例如,要求
    。假设一个线性回归模型预测当温度下降10摄氏度,沙滩上的游客将减少1000人。那么,如果当前20摄氏度时,沙滩上只有50人,按此模型预测,当温度为10摄氏度时,沙滩上便有-950人。这显然不符合常理,因为人数不能为负数。
  2. 残差
    服从正态分布
    ,且要求方差
    是常数。但有时,均值
    越大,我们越预测不准确(方差
    越大)。

为了解决这些局限性,后人发展了GLM,用以提高线性模型的普适性。

In statistics, the generalized linear model (GLM) is a flexible generalization of ordinary linear regression that allows for response variables that have error distribution models other than a normal distribution. (摘自维基百科)
GLM允许因变量
的分布
并不一定要服从正态分布,而可以服从其它分布。

广义线性模型GLM由三要素组成,即:

  • 概率分布(Probability distribution):指因变量
    的分布假设,来自指数分布族。
  • 线性预测(Linear predictor):自变量的线性组合,即
  • 链接函数(Link function):通过均值
    来链接前两者,即
37cc87da3cf53fb09f69f1efd2bb9104.png
图 4 - 广义线性模型(Generalized Linear Model,GLM)

首先分析概率分布。对于只有单个参数

的指数分布族的通用形式为:

其中,

只是关于自变量
的函数;
只是关于未知参数
的函数。不同的线性模型具有不同的分布假设。比如:
  • 线性回归假设
    的残差
    服从正态分布
  • 逻辑回归假设
    服从伯努利分布(Bernoulli)

接下来,我们尝试:

  1. 将逻辑回归因变量
    变换到式
    的形式,确定以上几个函数,验证其属于指数分布族。
  2. 求解出逻辑回归对应的链接函数。注意,此时我们还没有认可sigmoid函数。⚠️

由于逻辑回归假设

服从伯努利分布(Bernoulli),即:

对比式

指数函数族的通用形式,我们发现:

这说明伯努利分布也是指数分布族(exponential family)的成员。按GLM的第二要素定义:

我们再计算

的反函数,就得到了
函数:

按类似方法,我们可以推导出各分布函数及其链接函数,如图5所示。

296fea5000d78629c3ca1b9827172ca0.png
图 5 - 常用分布及其正则链接函数(摘自维基百科)

从广义线性模型角度,我们确实推导出

函数与逻辑回归之间密不可分的联系。但是,sigmoid函数输出值为什么可以代表概率?

上文提到,逻辑回归中因变量

服从伯努利分布,而
伯努利分布的参数
的含义就是样例属于
的概率。

Part 3. 利用极大似然估计法估计参数

在模型参数估计问题上,两大主流学派持有不同观点:

  • 频率主义学派(Frequentist):认为参数虽然未知,但却是客观存在的固定值。因此,可通过优化似然函数等准则估计参数值。
  • 贝叶斯学派(Bayesian):认为参数是未观察到的随机变量,其本身也可有分布。因此,可假定参数服从一个先验分布,再基于观察到的数据来计算参数的后验分布。

极大似然估计法(Maximum Likelihood Estimation,MLE)属于频率主义学派方法,其蕴含的朴素思想在于:

我们已经确定了一个模型种类

,但还不清楚其真实参数
。既然目前观察样本已经出现,那么就
由果溯因,估计出一组参数
,使得出现目前结果的可能性
最大(优化目标),如图6所示。

由于一组样本中的所有样例是一个整体,因此我们将各样例的概率相乘(排列组合中的乘法原理)来得到我们的目标函数。

127d7d7d84a62a5c9fb72be12978f6f6.png
图 6 - 极大似然估计(Maximum Likelihood Estimation)

我们把第

个样例的类别属于
的概率记为:
.

现在,我们有观测样本

,那么似然函数为:

其中,样例

具有标签
。右边为什么要写成这种形式呢?主要原因在于这是
伯努利分布的常见形式。按正负样例分析,可以帮助你理解这个形式:
  • 时,
  • 时,

为便于求解,将连乘

转为
,我们对等式
两边同取对数
,写成对数似然函数:

我们的优化目标是:

认真考虑后,我们发现并没有其他约束项。(事实上,这里将蕴含正则项的思想)

接下来,我们将进入最优化理论的求解范畴。

Part 4. 最优化问题求解之梯度下降法

在最优化问题求解上,我们一般可分为两种:

  • 解析解:通过严格的公式推导,所求得的解。

例如,一元二次方程

,其求解公式是:
  • 数值解:采用某种计算方法,如数值逼近、插值等方法,得到的解。如图7所示。
bc0624f8ad9a35f891197c6628f8959c.png
图 7 - 基于数值计算求解方程

当然,能得到解析解自然是最好的,但在很多场景下我们无法精确计算,只能利用计算机模拟来近似计算,也就是数值解。

在式

这个问题中,我们很难通过解析求解,因此可采用数值计算方法。例如,以经典的梯度下降法(Gradient Descent)来介绍求解过程。

如图8所示,我们可以直观理解为,如果随着最陡的方向下山,那就会更快到达山谷。

5fae3ffd31210e18ef80c47e2b78f571.png
图 8 - 梯度下降法

那这个""在数学上是如何衡量的呢?答案就是导数,导数方向上,函数值变化最快。

对于多元函数

,我们也可以计算它们的“导数”,也就是偏导数。

偏导数是指先固定其他维度当作常数,只计算某一维度上的导数。如图9所示,对于所处位置点

:
  • 轴方向上,固定
    ,即
    ,则导数为
    .
  • 轴方向上,固定
    ,即
    ,则导数为
    .
8aab022df25a47ce75357d7198f44f77.png
图 9 - 二元函数的偏导数

图9所示二元函数的梯度可以定义为:

下山的方向已经找到了,但还有一个问题是,我们的步子(step)迈多大?

如图10所示,步长过大或过小都会产生一些问题。因此,在不同阶段能够自动调整步长,可以更好地保证收敛。

c6366015afa6e3a201649b1671e3b458.png
图 10 - 不同步长的影响

为简便起见,我们暂且忽略这个问题,假设步长

是一个常数,即在任意时候,我们都按梯度方向迈等长的步子。

回到式

这个问题中:

我们不断重复这一过程:达到某个点

后,继续计算下一个点
:

那么,这个迭代过程何时才能停止呢?一般满足以下任意条件即可:

  • 达到迭代次数上限:
  • 学习曲线变化很小:
    小于阈值。

Part 5. 正则项的作用和种类

在机器学习模型训练(也就是参数估计)时,我们常会遇到过拟合和欠拟合现象,如图11所示。那我们有没有办法来解决过拟合呢?

7ec6f1b24ab0f88d146b3a5cf83411b4.png
图 11 - 学习过拟合和欠拟合的理解

对于参数:

,我们理解其服从某个分布。从贝叶斯角度解释,正则项是
引入先验信息(初始化)来约束参数的取值分布

正则化一般会采用以下2种范数:

范数:
范数:
502e8827c4a4186ae8b031a07c5f31f1.png
图 12 - L1正则和L2正则的约束效果

从图12可见,

范数帮助更容易得到
稀疏解,而
范数帮助更容易得到
平滑解

接下来分析下引入正则项后,目标损失函数的变化情况,也就是前文所说的约束项。

1. LASSO回归

此时加入

正则,其假设参数
服从
零均值拉普拉斯分布,即:

此时,式

的似然函数变为:

取对数

并转换后,我们得到:

2. Ridge 回归

此时加入

正则,其假设参数
服从
零均值正态分布,即:

此时,式

的似然函数变为:

取对数

并转换后,我们得到:

Part 6. 总结

本文的思维导图为:

c07469f04defb504fe49ed42112fa94e.png

下一篇,我们将尝试探索:样本权重对逻辑回归的影响,包括权重系数、模型性能等

致谢

感谢参考资料的作者带给我的启发。本文尚有理解不当之处,欢迎批评指正。

版权声明

欢迎转载分享,请在文章中注明作者和原文链接,感谢您对知识的尊重和对本文的肯定。

原文作者:求是汪在路上(知乎ID)
原文链接:https://zhuanlan.zhihu.com/p/111260930/

⚠️著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处,侵权转载将追究相关责任

参考资料

CSDN-专业IT技术社区-登录​blog.csdn.net如何通俗地理解概率论中的「极大似然估计法」?​www.zhihu.com
6b66656e0f91e14f99dea5d2b88cabe5.png
机器学习中的logistic regression的sigmoid函数如何解释?为啥要用它?​www.zhihu.com
CSDN-专业IT技术社区-登录​blog.csdn.net什么是梯度下降法?​www.zhihu.com
a7778e25ad9c45bcf17c5e694da60398.png
https://encyclopedia.thefreedictionary.com/Generalized+linear+model​encyclopedia.thefreedictionary.com阿泽:【机器学习】逻辑回归(非常详细)​zhuanlan.zhihu.com
f0853eed613d243e63c90889cc2f149e.png

关于作者:

在某互联网金融公司从事风控建模、反欺诈、数据挖掘等方面工作,目前致力于将实践经验固化分享,量化成长轨迹。欢迎交流



推荐阅读
  • PRML读书会第十四章 Combining Models(committees,Boosting,AdaBoost,决策树,条件混合模型)...
    主讲人网神(新浪微博:豆角茄子麻酱凉面)网神(66707180)18:57:18大家好,今天我们讲一下第14章combiningmodel ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • 本文介绍了绕过WAF的XSS检测机制的方法,包括确定payload结构、测试和混淆。同时提出了一种构建XSS payload的方法,该payload与安全机制使用的正则表达式不匹配。通过清理用户输入、转义输出、使用文档对象模型(DOM)接收器和源、实施适当的跨域资源共享(CORS)策略和其他安全策略,可以有效阻止XSS漏洞。但是,WAF或自定义过滤器仍然被广泛使用来增加安全性。本文的方法可以绕过这种安全机制,构建与正则表达式不匹配的XSS payload。 ... [详细]
  • GPT-3发布,动动手指就能自动生成代码的神器来了!
    近日,OpenAI发布了最新的NLP模型GPT-3,该模型在GitHub趋势榜上名列前茅。GPT-3使用的数据集容量达到45TB,参数个数高达1750亿,训练好的模型需要700G的硬盘空间来存储。一位开发者根据GPT-3模型上线了一个名为debuid的网站,用户只需用英语描述需求,前端代码就能自动生成。这个神奇的功能让许多程序员感到惊讶。去年,OpenAI在与世界冠军OG战队的表演赛中展示了他们的强化学习模型,在限定条件下以2:0完胜人类冠军。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • cs231n Lecture 3 线性分类笔记(一)
    内容列表线性分类器简介线性评分函数阐明线性分类器损失函数多类SVMSoftmax分类器SVM和Softmax的比较基于Web的可交互线性分类器原型小结注:中文翻译 ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • vue使用
    关键词: ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 本文介绍了机器学习手册中关于日期和时区操作的重要性以及其在实际应用中的作用。文章以一个故事为背景,描述了学童们面对老先生的教导时的反应,以及上官如在这个过程中的表现。同时,文章也提到了顾慎为对上官如的恨意以及他们之间的矛盾源于早年的结局。最后,文章强调了日期和时区操作在机器学习中的重要性,并指出了其在实际应用中的作用和意义。 ... [详细]
  • 词袋模型的通俗介绍
    词,袋, ... [详细]
author-avatar
君哥哥
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有