基于 mlr 包的逻辑回归算法介绍与实践(上)(一)

简介: 本期介绍的是 《Machine Learning with R, tidyverse, and mlr》 一书的第四章——逻辑回归(logistic regression)。逻辑回归是基于概率分类的有监督学习算法,它依赖于直线方程,产生的模型非常容易解释和交流。在其最简单的形式中,逻辑回归被用来预测二分类问题,但算法的变体也可以处理多个类。

前言


本期介绍的是 《Machine Learning with R, tidyverse, and mlr》 一书的第四章——逻辑回归(logistic regression)。逻辑回归是基于概率分类的有监督学习算法,它依赖于直线方程,产生的模型非常容易解释和交流。在其最简单的形式中,逻辑回归被用来预测二分类问题,但算法的变体也可以处理多个类。

(5}OE0%]T@_6C`CHPIX`KVP.png



1. 逻辑回归简介

逻辑回归算法通常应用于二分类问题,称为二项逻辑回归 (binomial logistic regression),当处理三分类或更多分类问题时,称为多项逻辑回归 (multinomial logistic regression)。该算法的应用过程如 Fig 1 所示,其中虚线表示中间还有其他过程,稍后会有介绍。

`IT%[$I89[I33QHY1Q{DT2Y.png

image.gifFig 1. 逻辑回归过程

逻辑回归学习的模型输出新数据属于每个类的概率,再将新数据分配到它们最有可能属于的类。


1.1 二分类问题

假设你是一家 15 世纪艺术博物馆的馆长,当一些据称出自著名画家之手的艺术品来到博物馆时,你的工作就是判断它们是真品 (original)还是赝品 (forgery) (一个二分类问题)。我们可以对每幅画进行化学分析,并知道这一时期的许多赝品使用的颜料铜含量低于真品。通过使用逻辑回归来学习一个模型,它可以根据一幅画的铜含量来告诉你一幅画是真品的概率。

Fig 2 是一些已知画作的铜含量,并用一条直线来模拟画作的类别和铜含量的关系。平均而言,赝品的铜含量低于真品。

10LP160B5{SYNRONUAQY@{K.png

image.gifFig 2. 画作类别与铜含量直线关系图

x 轴表示铜含量,y 轴显示分类类别,就像是一个连续变量一样,赝品和真品分别取 0 和 1 的值。y = 0.5 处的红色虚线表示分类阈值。蓝色实线表示在铜含量和类别之间建立的线性关系。由图可以看出,该直线关系有许多错误分类,分类效果较差。

XM$E{$[2I(~6L2}GVK~J6MN.png


Fig 3. 画作类别和铜含量 logistic 关系图

Fig 3 是使用 logistic 函数来模拟画作类别和铜含量的关系,使用和 Fig 2 相同的数据。由图中可以看出,和直线关系相比,分类效果较好。更重要的是,由于 logistic 函数将铜含量映射为 0 和 1 之间的值,所以 x 轴可以将其输出解释为含有特定铜含量的画作是真品的概率。另外,随着铜含量的增加,是真品的概率趋近于 1,相反,随着铜含量的减少,是真品的概率趋近于 0。


上文所介绍的内容中,只有一个预测变量——铜含量,但是如果我们有多个预测变量应该如何进行呢?可以借助接下来要介绍的 log odds


1.1.1 log odds

一幅画是真品的 odds 是:

AV]C_5ZG{QRR)MHMCLTDFJV.png

其中,p 是一幅画是真品的概率,范围为 0-1。odds 是表示某事发生可能性的一种方便的方式,其值大于 0,它可以告诉我们一件事发生的可能性比它不发生的可能性大多少。

image.gifFig 4. 根据铜含量计算的真品的 odds

Fig 4 所示,这幅画的铜含量与这幅画是否是真品的 odds 之间并不是线性关系。接下来,对 odds 取对数,即为 log odds:

1TTJ2W8AFU8PVKM]_A[SLDQ.png

这个函数又称为 logit 函数。

image.gifFig 5. 根据铜含量计算的真品的 log odds

Fig 5 可以看出,此时铜含量和这幅画是否是真品的 log odds 之间呈线性关系,且 log odds 的值是无界的。正值意味着某事更有可能发生而不是不发生,负值则相反。此外,线性关系意味着当我们有多个预测变量时,我们可以将它们的贡献加到 log odds 中,根据所有预测变量的信息,得到一幅画是真品的总的 log odds


1.1.2 如何预测分类

那么,我们如何从铜含量和 log odds 的直线关系中得出结论呢? 设我们有以下线性关系:

ffc8e169a9bccbf416ef05c8980a313.png

当通过新数据的铜含量计算出 log odds 后,再将其转换为画作为真品的概率 p:

5dac7da6addce5120fb5c1476864ac4.png

若 p>0.5,则为真品。这种 log oddsoddsprobability 的转换如 Fig 6 所示。

51TYF9TQMDDB223F5E8`O3R.png


Fig 6. log odds 到 odds 到 probability 的转换

当我们有多个预测变量时,对应的线性方程形式可以写为:

c1521a1265ac112df33b26afd76d30f.png

新画作整个分类过程如 Fig 7 所示 (以两个预测变量(copper & lead)为例)。

@S()JI[[Y0M{[MP0W@Z2`DX.png


Fig 7. 新画作整个分类过程

通过使用算法学习得到的线性模型,将新数据的铜含量(copper)和铅含量(lead)转换为它们的 log odds (或 logits)。接下来,使用 logistic 函数将 log odds 转换为概率 p。若 P 大于 0.5,则为真品。


1.2 多分类问题

上面的例子介绍的是二项逻辑回归问题。但我们也可以使用逻辑回归的变体预测多分类问题,即多项逻辑回归。在多项逻辑回归中,该模型为每个实例的每个输出类估计了一个 logit,而不是仅对每个实例估计一个 logit。将这些输出类的 logit 输入到 softmax function 中转换为概率 p,其和为 1。然后,选择概率最大的类作为输出类。该过程如 Fig 8 所示。

LX~UQCC75%0SVEGFD)ZH6TO.png

Fig 8. 多项逻辑回归过程


目录
相关文章
机器学习/深度学习 算法 自动驾驶
301 0
|
2月前
|
算法 API 数据安全/隐私保护
深度解析京东图片搜索API:从图像识别到商品匹配的算法实践
京东图片搜索API基于图像识别技术,支持通过上传图片或图片URL搜索相似商品,提供智能匹配、结果筛选、分页查询等功能。适用于比价、竞品分析、推荐系统等场景。支持Python等开发语言,提供详细请求示例与文档。
|
5月前
|
监控 算法 安全
公司电脑监控软件关键技术探析:C# 环形缓冲区算法的理论与实践
环形缓冲区(Ring Buffer)是企业信息安全管理中电脑监控系统设计的核心数据结构,适用于高并发、高速率与短时有效的多源异构数据处理场景。其通过固定大小的连续内存空间实现闭环存储,具备内存优化、操作高效、数据时效管理和并发支持等优势。文章以C#语言为例,展示了线程安全的环形缓冲区实现,并结合URL访问记录监控应用场景,分析了其在流量削峰、关键数据保护和高性能处理中的适配性。该结构在日志捕获和事件缓冲中表现出色,对提升监控系统效能具有重要价值。
124 1
|
6月前
|
监控 算法 数据处理
基于 C++ 的 KD 树算法在监控局域网屏幕中的理论剖析与工程实践研究
本文探讨了KD树在局域网屏幕监控中的应用,通过C++实现其构建与查询功能,显著提升多维数据处理效率。KD树作为一种二叉空间划分结构,适用于屏幕图像特征匹配、异常画面检测及数据压缩传输优化等场景。相比传统方法,基于KD树的方案检索效率提升2-3个数量级,但高维数据退化和动态更新等问题仍需进一步研究。未来可通过融合其他数据结构、引入深度学习及开发增量式更新算法等方式优化性能。
169 17
|
6月前
|
存储 算法 安全
如何控制上网行为——基于 C# 实现布隆过滤器算法的上网行为管控策略研究与实践解析
在数字化办公生态系统中,企业对员工网络行为的精细化管理已成为保障网络安全、提升组织效能的核心命题。如何在有效防范恶意网站访问、数据泄露风险的同时,避免过度管控对正常业务运作的负面影响,构成了企业网络安全领域的重要研究方向。在此背景下,数据结构与算法作为底层技术支撑,其重要性愈发凸显。本文将以布隆过滤器算法为研究对象,基于 C# 编程语言开展理论分析与工程实践,系统探讨该算法在企业上网行为管理中的应用范式。
162 8
|
6月前
|
存储 监控 算法
基于 C# 时间轮算法的控制局域网上网时间与实践应用
在数字化办公与教育环境中,局域网作为内部网络通信的核心基础设施,其精细化管理水平直接影响网络资源的合理配置与使用效能。对局域网用户上网时间的有效管控,已成为企业、教育机构等组织的重要管理需求。这一需求不仅旨在提升员工工作效率、规范学生网络使用行为,更是优化网络带宽资源分配的关键举措。时间轮算法作为一种经典的定时任务管理机制,在局域网用户上网时间管控场景中展现出显著的技术优势。本文将系统阐述时间轮算法的核心原理,并基于 C# 编程语言提供具体实现方案,以期深入剖析该算法在局域网管理中的应用逻辑与实践价值。
137 5
|
11月前
|
机器学习/深度学习 人工智能 算法
深入解析图神经网络:Graph Transformer的算法基础与工程实践
Graph Transformer是一种结合了Transformer自注意力机制与图神经网络(GNNs)特点的神经网络模型,专为处理图结构数据而设计。它通过改进的数据表示方法、自注意力机制、拉普拉斯位置编码、消息传递与聚合机制等核心技术,实现了对图中节点间关系信息的高效处理及长程依赖关系的捕捉,显著提升了图相关任务的性能。本文详细解析了Graph Transformer的技术原理、实现细节及应用场景,并通过图书推荐系统的实例,展示了其在实际问题解决中的强大能力。
1209 30
|
11月前
|
存储 算法
深入解析PID控制算法:从理论到实践的完整指南
前言 大家好,今天我们介绍一下经典控制理论中的PID控制算法,并着重讲解该算法的编码实现,为实现后续的倒立摆样例内容做准备。 众所周知,掌握了 PID ,就相当于进入了控制工程的大门,也能为更高阶的控制理论学习打下基础。 在很多的自动化控制领域。都会遇到PID控制算法,这种算法具有很好的控制模式,可以让系统具有很好的鲁棒性。 基本介绍 PID 深入理解 (1)闭环控制系统:讲解 PID 之前,我们先解释什么是闭环控制系统。简单说就是一个有输入有输出的系统,输入能影响输出。一般情况下,人们也称输出为反馈,因此也叫闭环反馈控制系统。比如恒温水池,输入就是加热功率,输出就是水温度;比如冷库,
1463 15
|
12月前
|
存储 算法 安全
2024重生之回溯数据结构与算法系列学习之串(12)【无论是王道考研人还是IKUN都能包会的;不然别给我家鸽鸽丟脸好嘛?】
数据结构与算法系列学习之串的定义和基本操作、串的储存结构、基本操作的实现、朴素模式匹配算法、KMP算法等代码举例及图解说明;【含常见的报错问题及其对应的解决方法】你个小黑子;这都学不会;能不能不要给我家鸽鸽丢脸啊~除了会黑我家鸽鸽还会干嘛?!!!
2024重生之回溯数据结构与算法系列学习之串(12)【无论是王道考研人还是IKUN都能包会的;不然别给我家鸽鸽丟脸好嘛?】
|
12月前
|
算法 安全 NoSQL
2024重生之回溯数据结构与算法系列学习之栈和队列精题汇总(10)【无论是王道考研人还是IKUN都能包会的;不然别给我家鸽鸽丢脸好嘛?】
数据结构王道第3章之IKUN和I原达人之数据结构与算法系列学习栈与队列精题详解、数据结构、C++、排序算法、java、动态规划你个小黑子;这都学不会;能不能不要给我家鸽鸽丢脸啊~除了会黑我家鸽鸽还会干嘛?!!!

热门文章

最新文章