线性回归算法和逻辑斯谛回归算法详细介绍及其原理详解

news2024/11/19 2:44:07

相关文章

  1. K近邻算法和KD树详细介绍及其原理详解
  2. 朴素贝叶斯算法和拉普拉斯平滑详细介绍及其原理详解
  3. 决策树算法和CART决策树算法详细介绍及其原理详解
  4. 线性回归算法和逻辑斯谛回归算法详细介绍及其原理详解

文章目录

  • 相关文章
  • 前言
  • 一、线性回归
  • 二、逻辑斯谛回归
  • 总结


前言

  今天给大家带来的主要内容包括:线性回归算法、逻辑斯谛回归算法。废话不多说,下面就是本文的全部内容了!


一、线性回归

  假设小明现在有一个游戏战队,我们称其为蓝色战队,这支战队队员的游戏手感都比较慢热,在整个游戏比赛期间不同阶段的两个战队的得分情况如下所示:

请添加图片描述

图1:蓝色战队和橙色战队的得分情况
  • 第5min:蓝色战队和橙色战队零十开
  • 第10min:蓝色战队和橙色战队一九开
  • 第20min:蓝色战队和橙色战队五五开
  • 第35min:蓝色战队和橙色战队九一开
  • 第40min:蓝色战队和橙色战队十零开

  由于游戏赛场上的情况变化莫测,作为游戏战队老板的小明想知道在比赛的第26min的时候,蓝色战队和橙色战队几几开呢?或者在比赛的其他时间,蓝色战队和橙色战队又是几几开呢?如果可以得到这样的数据,就可以帮助小明发掘他战队队员的最大潜力了。

请添加图片描述

图2:游戏比赛第26min蓝色战队和橙色战队的得分情况如何?

  为了得到以上信息,我们需要进行计算,在进行计算之前,首先我们要明确,几几开就代表着事情发生的几率,也就是蓝色战队赢下对局和输掉对局可能性的比值。我们把这些几率值列出来:

请添加图片描述

图3:在游戏比赛不同时间段的蓝色战队获胜的概率

  为了方便观察,我们把它转化为小数:

请添加图片描述

图4:将在游戏比赛不同时间段的蓝色战队获胜的概率转换为小数

  根据以上计算结果可以发现,当队伍十分可能输给对面的时候,赢的几率接近于零;当战队非常可能赢的时候,赢得几率接近于正无穷:

请添加图片描述

图5:将在游戏比赛不同时间段的蓝色战队获胜的概率刻画在数轴上

  虽然我们现在可以得到不同比赛时间的蓝色队伍获胜的概率分布情况,但是这种在正半轴十分不对称的分布不太好分析问题,所以我们使用几率的对数来分析数据:

请添加图片描述

图6:将在游戏比赛不同时间段的蓝色战队获胜的概率转换为对数概率

  可以看到,这样就可以把数据从正半轴重新映射回整条数轴上了:

请添加图片描述

图7:将在游戏比赛不同时间段的蓝色战队获胜的概率转换重新刻画在数轴上

  如果我们以对数几率作为 y y y轴,比赛时间作为 x x x轴,就可以把所有比赛的数据映射到 x ⋅ y x \cdot y xy平面上了:

请添加图片描述

图8:将在整场比赛中的数据映射到x·y平面上

  可以发现,上图就是我们耳熟能详的线性回归。我们都知道,通过每一个点到直线的距离差,然后做一个最小二乘法的优化:
e ( w , b ) = 1 2 ∑ i = 1 N ∣ ∣ e i ∣ ∣ 2 e(w,b)=\frac{1}{2}\sum_{i=1}^{N}||e_{i}||^{2} e(w,b)=21i=1N∣∣ei2
  利用上式进行最小二乘法的优化后,就可以得到一条最完美的直线来拟合这些数据,得到这条直线之后,我们只需要查询 x x x轴所对应的时间,就可以求出赢下这场比赛的可能性了:

请添加图片描述

图9:使用最小二乘法得到对于整场比赛数据的最佳拟合直线

  以上就是对于线性回归的介绍。

二、逻辑斯谛回归

  虽然看起来我们可以得到比赛中不同时间段的蓝色队伍获胜的可能性,但是其中有许多数据点的 y y y值是正负无穷,这种情况可是没有办法计算数据和直线的距离误差的:

请添加图片描述

图10:使用直线拟合数据无法计算正负无穷时数据和直线距离误差

  为了解决这个问题,我们可以考虑把这条直线重新映射回概率空间,我们是以对数几率作为 y y y轴的,所以 y y y的值为:
y = log ⁡ ( p 1 − p ) y = \log(\frac{p}{1-p}) y=log(1pp)
  我们现在要把概率 p p p写成 y y y的函数,所以等式两边做一个自然对数的幂:
e y = p 1 − p e^{y}=\frac{p}{1-p} ey=1pp
  然后等式两边同时乘以 1 − p 1-p 1p
( 1 − p ) e y = p (1-p)e^{y}=p (1p)ey=p
  把括号展开:
e y − p e y = p e^{y}-pe^{y}=p eypey=p
  然后等式两边交换 p e y pe^{y} pey
e y = p + p e y e^{y}=p+pe^{y} ey=p+pey
  这样等式的右面就可以提出公共项 p p p
e y = ( 1 + e y ) p e^{y}=(1+e^{y})p ey=(1+ey)p
  此时,我们就可以得到 p p p的表达式:
p = e y 1 + e y p=\frac{e^{y}}{1+e^{y}} p=1+eyey
  上式就是逻辑斯谛函数,当我们把直线 y = w x + b y=wx+b y=wx+b的表达式代入到公式中,就得到了概率空间的表达:
p = e w x + b 1 + e w x + b p=\frac{e^{wx+b}}{1+e^{wx+b}} p=1+ewx+bewx+b
  上式就是逻辑斯谛回归的概率函数,因此,我们可以这样理解,概率空间内的逻辑斯谛回归,其实就是对数几率空间内的线性回归:

请添加图片描述

图11:线性回归和逻辑斯谛回归

  此时,我们已经可以在概率空间中讨论不同比赛时间的蓝色队伍获胜的可能性了:

请添加图片描述

图12:在概率空间讨论不同比赛时间的蓝色队伍获胜的可能性

  既然回到了概率空间,我们就可以使用概率论中的极大似然估计,来得到拟合情况最好的逻辑斯谛曲线。首先,我们假设对于在时间 x x x时蓝色队伍赢下比赛的概率为 p p p
p ( y = 1 ∣ x ) = p p(y=1|x)=p p(y=1∣x)=p
  那么蓝色队伍在时间 x x x时输掉比赛的概率就是 1 − p 1-p 1p
p ( y = 0 ∣ x ) = 1 − p p(y=0|x)=1-p p(y=0∣x)=1p
  因为 y y y的值只能取零或一,所以我们可以按照下式来表达任意样本 x i x_{i} xi的概率:
p ( y = ? ∣ x i ) = p i y i ( 1 − p i ) 1 − y i p(y=?|x_{i})=p_{i}^{y_{i}}(1-p_{i})^{1-y_{i}} p(y=?xi)=piyi(1pi)1yi
  使用最大似然估计法得到的似然值就是这些样本概率的乘积:
L = ∏ i = 1 N p ( y = ? ∣ x i ) L=\prod_{i=1}^{N}p(y=?|x_{i}) L=i=1Np(y=?xi)
  我们可以把 p ( y = ? ∣ x i ) = p i y i ( 1 − p i ) 1 − y i p(y=?|x_{i})=p_{i}^{y_{i}}(1-p_{i})^{1-y_{i}} p(y=?xi)=piyi(1pi)1yi代入到上式中:
L = ∏ i = 1 N p i y i ( 1 − p i ) 1 − y i L=\prod_{i=1}^{N}p_{i}^{y_{i}}(1-p_{i})^{1-y_{i}} L=i=1Npiyi(1pi)1yi
  一系列式子的乘积是一个不太容易优化的表达,所以我们取它的对数形式,把乘法转化为加法:
log ⁡ ( L ) = ∑ i = 1 N y i log ⁡ ( p i ) + ( 1 − y i ) log ⁡ ( 1 − p i ) \log (L)=\sum_{i=1}^{N} y_{i} \log \left(p_{i}\right)+\left(1-y_{i}\right) \log \left(1-p_{i}\right) log(L)=i=1Nyilog(pi)+(1yi)log(1pi)
  然后把括号展开整理一下:
log ⁡ ( L ) = ∑ i = 1 N y i log ⁡ p i 1 − p i + log ⁡ ( 1 − p i ) \log (L)=\sum_{i=1}^{N} y_{i} \log \frac{p_{i}}{1-p_{i}}+\log \left(1-p_{i}\right) log(L)=i=1Nyilog1pipi+log(1pi)
  可以看到,在上式中,等号右面的式子中出现了 log ⁡ p i 1 − p i \log \frac{p_{i}}{1-p_{i}} log1pipi这个熟悉的身影,这就是之前我们介绍的对数几率,因为逻辑斯谛回归就是对数几率空间内的线性回归,所以我们可以将 log ⁡ p i 1 − p i \log \frac{p_{i}}{1-p_{i}} log1pipi替换成直线的方程:
log ⁡ ( L ) = ∑ i = 1 N y i ( w x i + b ) + log ⁡ ( 1 − p i ) \log (L)=\sum_{i=1}^{N} y_{i} (wx_{i}+b)+\log \left(1-p_{i}\right) log(L)=i=1Nyi(wxi+b)+log(1pi)
  需要注意的是,上式最后面的 p i p_{i} pi值就是逻辑斯谛函数,所以我们将逻辑斯谛函数 p i = e w x i + b 1 + e w x i + b p_{i}=\frac{e^{wx_{i}+b}}{1+e^{wx_{i}+b}} pi=1+ewxi+bewxi+b代入上式即可:
log ⁡ ( L ) = ∑ i = 1 N y i ( w x i + b ) − log ⁡ ( 1 + e w x i + b ) \log (L)=\sum_{i=1}^{N} y_{i} (wx_{i}+b)-\log \left(1+e^{wx_{i}+b}\right) log(L)=i=1Nyi(wxi+b)log(1+ewxi+b)
  上式就是我们最终得到的式子,这个式子之和 w w w b b b这两个参数相关,我们可以使用最大似然估计优化方法得到最好的 w w w b b b这两个参数:
w ^ , b ^ = a r g m a x w , b ∑ i = 1 N y i ( w x i + b ) − log ⁡ ( 1 + e w x i + b ) \widehat{w}, \widehat{b}=argmax_{w,b}\sum_{i=1}^{N}y_{i}(wx_{i}+b)-\log(1+e^{wx_{i}+b}) w ,b =argmaxw,bi=1Nyi(wxi+b)log(1+ewxi+b)
  当我们得到最优的参数 w w w b b b的值后,就可以将 x = 26 x=26 x=26代入:
p ( 26 ) = e w ^ × 26 + b ^ 1 + e w ^ × 26 + b ^ p(26)=\frac{e^{\widehat{w}\times 26+ \widehat{b}}}{1+e^{\widehat{w}\times 26+ \widehat{b}}} p(26)=1+ew ×26+b ew ×26+b
  这样就可以得到在比赛的第26分钟时,蓝色战队获胜的概率了:

请添加图片描述

图13:通过逻辑斯谛回归计算在比赛的第26min时蓝色队伍获胜的概率

以上就是逻辑斯谛回归的全部过程。


总结

  以上就是本文的全部内容了,这个系列还会继续更新,给大家带来更多的关于机器学习方面的算法和知识,下篇博客见!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/371504.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2020 NOC 编程猫创新编程全国决赛小学组第一部分(客观题)

Q1. 某角色的造型区及未完成的脚本如下,当前造型名称为猫,若想切换到熊冬眠的 浩型,变量次数的值不可能为( ) A. 2 B. 3 C. 4 D. 5 Q2. 运行下图所示脚本,角色的运动轨迹为( ) Q3. 运行脚本,变量“y”的值为( ) A. 200 B. 2200 C. 2000 D. 4000 Q4. 运行…

盘点:9款身份和访问管理工具

身份和访问管理(IAM)长期以来一直是安全领导者职业生涯的关键“试炼场”,许多人在身份技术部署方面做出了事关成败的决定。 确保安全访问和身份管理是网络安全态势的两大基础 。同时,人员、应用程序和系统登录的方式以及它们彼此集…

以业务行为驱动的反入侵安全能力建设

0x0 背景 最近听到一些甲方安全领域的专家分享了部分安全建设的经验,对安全运营下的反入侵技术能力建设有了些新的看法,依靠单个/多个异构的安全产品的关联能力形成的安全中台并不能在实际的攻防对抗当中占据主动地位,且很容易达到一个天花板…

Mr. Cappuccino的第45杯咖啡——Kubernetes之部署SpringBoot项目

Kubernetes之部署SpringBoot项目创建一个SpringBoot项目将SpringBoot项目打成Jar包使用Dockerfile制作镜像部署SpringBoot项目创建一个SpringBoot项目 pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache…

一、前端稳定性规约该如何制定

前言 稳定性是数学或工程上的用语&#xff0c;判别一系统在有界的输入是否也产生有界的输出。若是&#xff0c;称系统为稳定&#xff1b;若否&#xff0c;则称系统为不稳定。 前端稳定性的体系建设大约可以分为了发布前&#xff0c;发布后&#xff0c;以及事故解决后三个阶段…

建立做机器学习项目的范式

建立起做机器学习项目的范式&#xff0c;萃取出核心步骤&#xff0c;避免后面做项目没有明确的方向。 核心步骤&#xff1a; 1、明确自己想做什么样的项目&#xff0c;感兴趣的领域&#xff1b; 2、找到满足项目的数据集&#xff0c;开源的或者自建数据集&#xff1b; 数据…

《数据结构》二叉树面试题

&#x1f451;作者主页&#xff1a;Java冰激凌 &#x1f4d6;专栏链接&#xff1a;数据结构 目录 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先力扣 思路分析 代码 思路拓展 根据一棵树的前序遍历与中序遍历构造二叉树。力扣 思路分析 代码 根据一棵树的中序遍历与…

Linux系统看门狗应用编程

目录看门狗应用编程介绍打开设备获取设备支持哪些功能&#xff1a;WDIOC_GETSUPPORT获取/设置超时时间&#xff1a;WDIOC_GETTIMEOUT、WDIOC_SETTIMEOUT开启/关闭看门狗&#xff1a;WDIOC_SETOPTIONS喂狗&#xff1a;WDIOC_KEEPALIVE看门狗应用编程实战在产品化的嵌入式系统中&…

[计算机网络(第八版)]第二章 物理层(章节测试/章节作业)

章节作业 带答案版 选择题 (单选题)双绞线是用两根绝缘导线绞合而成的&#xff0c;绞合的目的是&#xff08; &#xff09;。 A. 减少干扰 B. 提高传输速度 C. 增大传输距离 D. 增大抗拉强度(单选题)在电缆中采用屏蔽技术可以带来的好处主要是&#xff08; &#xff09;。 A…

DNS 域名解析

介绍域名 网域名称&#xff08;英语&#xff1a;Domain Name&#xff0c;简称&#xff1a;Domain&#xff09;&#xff0c;简称域名、网域。 域名是互联网上某一台计算机或计算机组的名称。 域名可以说是一个 IP 地址的代称&#xff0c;目的是为了便于记忆。例如&#xff0c…

Latex中的表格(2)

Latex中的表格一、一个加脚注的三线表的例子二、一个表格中加注释的例子三、两个并排的两个表格的例子3.1 使用小页环境并排表格3.2 使用子表格并排表格四、一个格式复杂的表格的例子五、一个长表格的例子这篇文章主要罗列一些特殊的表格例子。内容来自&#xff1a;一篇北师大学…

深度剖析数据在内存的存储

目录1.深度剖析数据在内存的存储(前言)数据类型介绍类型的基本归类整形在内存中的存储原码、反码、补码大小端练习总结1.深度剖析数据在内存的存储(前言) 今天就让我戴佳伟给大家讲一下数据在内存中的存储。之中有好多让我们深思的点&#xff0c;大家都拿起笔记本&#xff0c;…

【机器学习笔记】Python基础笔记

目录基础语法加载数据&#xff1a;pd.read_csv查看数据大小&#xff1a;shape浏览数据行字段&#xff1a;columns浏览少量数据&#xff1a;head()浏览数据概要&#xff1a;describe()基础功能语法缺省值去除缺失值&#xff1a;dropna按行删除&#xff1a;存在空值&#xff0c;即…

【数据库】第二章 关系数据库

第二章 关系数据库 2.1关系数据结构及形式化定义 关系 域&#xff08;domain) :域是一组具有相同数据类型的值的集合&#xff0c;可以取值的个数叫基数 笛卡尔积 &#xff1a;一个记录叫做一个元组&#xff08;tuple),元组中每一个属性值&#xff0c;叫一个分量 基数&…

35测试不如狗?是你自己技术不够的怨怼罢了

一、做软件测试怎么样&#xff1f; 引用著名软件测试专家、清华大学郑人杰教授的说法&#xff1a;软件测试工程师是一个越老越吃香的职业。 其中就表达了软件测试工作相对稳定、对年龄没有限制、而且随着项目经验的不断增长和对行业背景的深入了解&#xff0c;会越老越吃香。…

刚上岸字节测试开发岗,全网最真实的大厂面试真题

首先我来解释一下为什么说是全网最真实的面试题&#xff0c;相信大家也发现软件测试面试题在网上流传也已不少&#xff0c;但是经过仔细查看发现了两个很重要的问题。 第一&#xff0c;网上流传的面试题的答案并不能保证百分百正确。也就是说各位朋友辛辛苦苦花了很多时间准备…

《程序员的自我修养》阅读笔记

文章目录【第2部分】静态链接1 编译过程2 编辑器的工作流程3 链接——模块的拼接4 目标文件目标文件中的段&#xff08;section&#xff09;ELF文件结构5 静态链接1 空间与地址分配2 符号解析与重定位【第3部分】装载与动态链接1 装载的方式2 进程的启动3 为什么需要动态链接&a…

通俗易懂,十分钟读懂DES,详解DES加密算法原理,DES攻击手段以及3DES原理。Python DES实现源码

文章目录1、什么是DES2、DES的基本概念3、DES的加密流程4、DES算法步骤详解4.1 初始置换(Initial Permutation&#xff0c;IP置换)4.2 加密轮次4.3 F轮函数4.3.1 拓展R到48位4.3.2 子密钥K的生成4.3.3 当前轮次的子密钥与拓展的48位R进行异或运算4.3.4 S盒替换&#xff08;Subs…

学习 create-vite 源码后,感觉真不一样

前言 已经学习了一段时间的源码了&#xff0c;在写源码 demo 小例子的时候都是使用 react 项目作为模板&#xff0c;而我的 react 项目正好是由create-vite来创建的&#xff0c;因此&#xff0c;今天来学习一下关于create-vite的源码。话不多说&#xff0c;咱们直接开始学习。…

【深度学习】什么是线性回归逻辑回归单层神经元的缺陷

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录逻辑回归&线性回归单层神经元的缺陷单层神经元的缺陷逻辑回归&线性回归 线性回归预测的是一个连续值&#xff0c; 逻辑回归给出的”是”和“否”的回答. 等…