机器学习算法——线性回归与非线性回归

目录

    • 1. 梯度下降法
      • 1.1 一元线性回归
      • 1.2 多元线性回归
      • 1.3 标准方程法
      • 1.4 梯度下降法与标准方程法的优缺点
    • 2. 相关系数与决定系数

1. 梯度下降法

1.1 一元线性回归

定义一元线性方程
y = ω x + b y=\omega x+b y=ωx+b
则误差(残差)平方和
C ( ω , b ) = ∑ i = 1 n ( y i ^ − y i ) 2 C(\omega,b)=\sum_{i=1}^n(\hat{y_i}-y_i)^2 C(ω,b)=i=1n(yi^yi)2

C ( ω , b ) = ∑ i = 1 n ( ω x i + b − y i ) 2 C(\omega,b)=\sum_{i=1}^n(\omega x_i+b-y_i)^2 C(ω,b)=i=1n(ωxi+byi)2
为方便计算,常写为如下形式
C ( ω , b ) = 1 2 n ∑ i = 1 n ( ω x i + b − y i ) 2 C(\omega,b)=\frac{1}{2n}\sum_{i=1}^n(\omega x_i+b-y_i)^2 C(ω,b)=2n1i=1n(ωxi+byi)2
其中, y i y_i yi为真实值, y i ^ \hat{y_i} yi^为预测值。
若用一元线性方程拟合上面的数据集,那么最佳的拟合直线方程需满足 C ( ω , b ) C(\omega,b) C(ω,b)最小,即使得真实值到直线竖直距离的平方和最小。因此需要求解使得 C ( ω , b ) C(\omega,b) C(ω,b)最小的参数 ω \omega ω b b b,即 min ⁡ ω , b C ( ω , b ) \min_{\omega,b}C(\omega,b) ω,bminC(ω,b)
梯度下降公式
ω : = ω − α ∂ C ( ω , b ) ∂ ω = ω − α 1 n ∑ i = 1 n ( ω x i + b − y i ) 2 x i \omega:=\omega-\alpha \frac{\partial C(\omega,b)}{\partial \omega}=\omega-\alpha \frac{1}{n}\sum_{i=1}^n(\omega x_i+b-y_i)^2x_i ω:=ωαωC(ω,b)=ωαn1i=1n(ωxi+byi)2xi
b : = b − α ∂ C ( ω , b ) ∂ b = b − α 1 n ∑ i = 1 n ( ω x i + b − y i ) 2 b:=b-\alpha \frac{\partial C(\omega,b)}{\partial b}=b-\alpha \frac{1}{n}\sum_{i=1}^n(\omega x_i+b-y_i)^2 b:=bαbC(ω,b)=bαn1i=1n(ωxi+byi)2
其中 α \alpha α为步长(学习率), : = := :=表示赋值操作。
梯度下降基本步骤

  1. 初始化 ω \omega ω b b b(常取0)
  2. 不断改变 ω \omega ω b b b,直到 C ( ω , b ) C(\omega,b) C(ω,b)到达一个全局最小值,或局部极小值。

下图使用梯度下降能到达局部最小值
在这里插入图片描述
下图使用梯度下降能到达全局最小值
在这里插入图片描述


下图中,将 θ 1 \theta1 θ1看成 ω \omega ω J ( θ 1 ) J(\theta 1) J(θ1)看成 C ( ω , b ) C(\omega,b) C(ω,b)。则

  • 在第一个点处, ∂ C ( ω , b ) ∂ ω \frac{\partial C(\omega,b)}{\partial \omega} ωC(ω,b)小于0,根据梯度下降公式,此时 ω \omega ω的值会增大,即往代价函数最小值的方向靠近。
  • 在第三个点处, ∂ C ( ω , b ) ∂ ω \frac{\partial C(\omega,b)}{\partial \omega} ωC(ω,b)大于0,根据梯度下降公式,此时 ω \omega ω的值会减小,即往代价函数最小值的方向靠近。
    在这里插入图片描述

1.2 多元线性回归

定义多元线性方程
y = ω 1 x 1 + ω 2 x 2 + . . . + ω n x n + b y=\omega_1 x_1+\omega_2 x_2+...+\omega_n x_n+b y=ω1x1+ω2x2+...+ωnxn+b
误差平方和
C ( ω 1 , . . . , ω n , b ) = 1 2 n ∑ i = 1 n ( y ^ ( x i ) − y i ) 2 C(\omega_1,...,\omega_n,b)=\frac{1}{2n}\sum_{i=1}^n(\hat{y}(x^i)-y^i)^2 C(ω1,...,ωn,b)=2n1i=1n(y^(xi)yi)2
注: y ^ ( x i ) \hat{y}(x^i) y^(xi)为预测值, y i y^i yi为真实值,这里的 x i x^i xi表示的是第 i i i个数据(包含多列属性)。

由1.1可得
b : = b − α 1 n ∑ i = 1 n ( y ^ ( x i ) − y i ) 2 x 0 i b:=b-\alpha \frac{1}{n}\sum_{i=1}^n(\hat{y}(x^i)-y^i)^2x_0^i b:=bαn1i=1n(y^(xi)yi)2x0i
这里 x 0 i = 1 x^i_0=1 x0i=1,以实现格式统一。
ω 1 : = ω 1 − α 1 n ∑ i = 1 n ( y ^ ( x i ) − y i ) 2 x 1 i \omega_1:=\omega_1-\alpha \frac{1}{n}\sum_{i=1}^n(\hat{y}(x^i)-y^i)^2x^i_1 ω1:=ω1αn1i=1n(y^(xi)yi)2x1i
ω 2 : = ω 2 − α 1 n ∑ i = 1 n ( y ^ ( x i ) − y i ) 2 x 2 i \omega_2:=\omega_2-\alpha \frac{1}{n}\sum_{i=1}^n(\hat{y}(x^i)-y^i)^2x^i_2 ω2:=ω2αn1i=1n(y^(xi)yi)2x2i
. . . ... ...
ω n : = ω n − α 1 n ∑ i = 1 n ( y ^ ( x i ) − y i ) 2 x n i \omega_n:=\omega_n-\alpha \frac{1}{n}\sum_{i=1}^n(\hat{y}(x^i)-y^i)^2x^i_n ωn:=ωnαn1i=1n(y^(xi)yi)2xni
改写为矢量版本
y = ω T x y=\omega ^Tx y=ωTx
ω : = ω − α 1 n X T ( y ^ ( x ) − y ) \omega:=\omega-\alpha \frac{1}{n} X^T(\hat{y}(x)-y) ω:=ωαn1XT(y^(x)y)
其中, ω \omega ω x x x(某行数据)均为列向量,实际应用。

1.3 标准方程法

调用sklearn实现一元线性回归与多元线性回归的梯度下降时,sklearn内部的实现并没有使用梯度下降法,而是使用标准方程法。
公式推导(利用最小二乘法)12
在这里插入图片描述
上述公式推导使用到的矩阵求导公式
在这里插入图片描述

在这里插入图片描述

由推导的公式可知,需要满足的条件是 ( X T X ) − 1 (X^TX)^{-1} (XTX)1存在。在机器学习中, ( X T X ) − 1 (X^TX)^{-1} (XTX)1不可逆的原因通常有两种,一种是自变量间存在高度多重共线性,例如两个变量之间成正比(例如:x1 为房子的面积,单位是平方英尺;x2为房子的面积,单位是平方米;而1
平方英尺=0.0929 平方米),那么在计算 ( X T X ) − 1 (X^TX)^{-1} (XTX)1时,可能得不到结果或者结果无效;另一种则是当特征变量过多(样本数 m ≤ \le 特征数量 n)的时候也会导致 ( X T X ) − 1 (X^TX)^{-1} (XTX)1不可逆。 ( X T X ) − 1 (X^TX)^{-1} (XTX)1不可逆的情况很少发生,如果有这种情况,其解决问题的方法之一便是使用正则化以及岭回归等来求最小二乘法。


单变量情况下利用最小二乘法求解最佳参数
在这里插入图片描述

1.4 梯度下降法与标准方程法的优缺点

梯度下降法
优点

  • 当特征值非常多的时候也可以很好的工作

缺点

  • 需要选择合适的学习率
  • 需要迭代多个周期
  • 只能得到最优解的近似值

标准方程法
优点

  • 不需要学习率不需要迭代可以得到全局最优解

缺点

  • 需要计算 ( X T X ) − 1 (X^TX)^{-1} (XTX)1,时间复杂度大约是 O ( n 3 ) O(n^3) O(n3),n是特征数量

2. 相关系数与决定系数

常用相关系数来衡量两个变量间的相关性,相关系数越大,相关性越高,使用直线拟合样本点时效果就越好。

公式如下(两个变量的协方差除以标准差的乘积)
r ( X , Y ) = C o v ( X , Y ) V a r [ X ] V a r [ Y ] r(X,Y)=\frac{Cov(X,Y)}{\sqrt{Var[X]Var[Y]}} r(X,Y)=Var[X]Var[Y] Cov(X,Y)
= ∑ i = 1 n ( X i − X ˉ ) ( Y i − Y ˉ ) ∑ i = 1 n ( X i − X ˉ ) 2 ∑ i = 1 n ( Y i − Y ˉ ) 2 =\frac{\sum_{i=1}^n(X_i-\bar{X})(Y_i-\bar{Y})}{\sqrt{\sum_{i=1}^n(X_i-\bar{X})^2}\sqrt{\sum_{i=1}^n(Y_i-\bar{Y})^2}} =i=1n(XiXˉ)2 i=1n(YiYˉ)2 i=1n(XiXˉ)(YiYˉ)
下图的样本点中,左图的相关系数为0.993,右图的相关系数为0.957,即左图的样本点变量间的相关性更高
在这里插入图片描述
相关系数用于描述两个变量之间的线性关系,但决定系数 R 2 R^2 R2的适用范围更广,可以用于描述非线性或者有两个及两个以上自变量的相关关系,它可以用来评价模型的效果。
总平方和(SST)
∑ i = 1 n ( y i − y ˉ ) 2 \sum_{i=1}^{n}(y_i-\bar{y})^2 i=1n(yiyˉ)2
回归平方和(SSR)
∑ i = 1 n ( y ^ − y ˉ ) 2 \sum_{i=1}^{n}(\hat{y}-\bar{y})^2 i=1n(y^yˉ)2
残差平方和(SSE)
∑ i = 1 n ( y i − y ^ ) 2 \sum_{i=1}^{n}(y_i-\hat{y})^2 i=1n(yiy^)2
三者的关系
S S T = S S R + S S E SST=SSR+SSE SST=SSR+SSE
决定系数
R 2 = S S R S S T = 1 − S S E S S T = ∑ i = 1 n ( y i − y ^ ) 2 ∑ i = 1 n ( y i − y ˉ ) 2 R^2=\frac{SSR}{SST}=1-\frac{SSE}{SST}=\frac{\sum_{i=1}^{n}(y_i-\hat{y})^2}{\sum_{i=1}^{n}(y_i-\bar{y})^2} R2=SSTSSR=1SSTSSE=i=1n(yiyˉ)2i=1n(yiy^)2

R 2 R^2 R2的取值范围在0到1之间,值为0表示模型无法解释因变量的变化,值为1表示模型完全解释了因变量的变化。


  1. 覃秉丰——标准方程法 ↩︎

  2. 白板推导——最小二乘法及其几何意义 ↩︎

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

快速修复因相机断电导致视频文件打不开的问题

3-5 本文主要解决因相机突然断电导致拍摄的视频文件打不开的问题。 在日常工作中,有时候需要使用相机拍摄视频,比如现在有不少短视频拍摄的需求,如果因电池突然断电的原因,导致拍出来的视频播放不了,这时候就容易出大…

Linux系统初步了解

Linux系统由4个主要部分组成:内核、Shell、文件系统和应用程序。 本专题主要是围绕这四个来展开的。 POSIX(可移植操作系统接口)定义了操作系统应该为应用程序提供的标准接口,其意愿是获得源码级别的软件可移植性。所以Linux选择…

ubuntu上如何移植thttpd

thttpd的特点 thttpd 是一个简单、小巧、便携、快速且安全的 HTTP 服务器。 简单: 它只处理实现 HTTP/1.1 所需的最低限度。好吧,也许比最低限度多一点。 小: 请参阅比较图表。它还具有非常小的运行时大小,因为它不会分叉并且非…

Springboot+vue的高校办公室行政事务管理系统(有报告)。Javaee项目,springboot vue前后端分离项目。

演示视频: Springbootvue的高校办公室行政事务管理系统(有报告)。Javaee项目,springboot vue前后端分离项目 项目介绍: 本文设计了一个基于Springbootvue的高校办公室行政事务管理系统,采用M(m…

5 Paimon数据湖之表数据查询详解

更多Paimon数据湖内容请关注:https://edu.51cto.com/course/35051.html 虽然前面我们已经讲过如何查询Paimon表中的数据了,但是有一些细节的东西还需要详细分析一下。 首先是针对Paimon中系统表的查询,例如snapshots\schemas\options等等这些…

【每日OJ—— 206. 反转链表(链表)】

每日OJ—— 206. 反转链表(链表) 1.题目:206. 反转链表(链表)2.方法讲解:2.1解法:2.1.1.图文解析2.1.2.代码实现2.1.3.提交通过展示 1.题目:206. 反转链表(链表&#xff…

LoRAShear:微软在LLM修剪和知识恢复方面的最新研究

LoRAShear是微软为优化语言模型模型(llm)和保存知识而开发的一种新方法。它可以进行结构性修剪,减少计算需求并提高效率。 LHSPG技术( Lora Half-Space Projected Gradient)支持渐进式结构化剪枝和动态知识恢复。可以通过依赖图分析和稀疏度…

Sentinel网关限流

背景 在微服务架构下,每个服务的性能都不同,为避免出现流量洪峰将服务冲垮,需要依赖限流工具来保护服务的稳定性。sentinel是阿里提供的限流工具,社区活跃,功能也很全面,包含实时监控、流控、熔断等功能。…

基于SpringBoot+Redis的前后端分离外卖项目-苍穹外卖(二)

新增员工功能开发 1. 新增员工1.1 需求分析和设计1.1.1 产品原型1.1.2 接口设计1.1.3 表设计 1.2 代码开发1.2.1 设计DTO类1.2.2 Controller层1.2.3 Service层接口1.2.4 Service层实现类1.2.5 Mapper层 1.3 功能测试1.3.1 接口文档测试 1.4 代码完善1.4.1 问题一1.4.2 问题二1.…

PyGWalker :数据分析中最优秀工具库!

假设你在 Jupyter Notebook 中有一堆数据需要分析和可视化。PyGWalker 就像一个神奇的工具,使这一切变得非常容易。它接受你的数据并将其转换成一种特殊的表格,你可以像使用 Tableau 一样与之交互。 你可以通过视觉方式探索数据,进行互动&am…

电脑想要微信多开——打开多个微信的必胜法宝!

一个不知名大学生,江湖人称菜狗 original author: Jacky Li Email : 3435673055qq.com Time of completion:2023.11.11 Last edited: 2023.11.11 导读:在生活当中经常遇到工作和生活相撞的事情,导致在处理私人的事情同时不得不处理…

asp.net学生宿舍管理系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio

一、源码特点 asp.net 学生宿舍管理系统是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为vs2010,数据库为sqlserver2008,使用c#语言 开发 asp.net学生宿舍管理系统1 应用技…

python实现全向轮EKF_SLAM

python实现全向轮EKF_SLAM 代码地址及效果运动预测观测修正参考算法 代码地址及效果 代码地址 运动预测 简化控制量 u t u_t ut​ 分别定义为 v x Δ t v_x \Delta t vx​Δt, v y Δ t v_y \Delta t vy​Δt,和 ω z Δ t \omega_z \Delta t ωz…

如何设计一个网盘系统的架构

1. 概述 现代生活中已经离不开网盘,比如百度网盘。在使用网盘的过程中,有没有想过它是如何工作的?在本文中,我们将讨论如何设计像百度网盘这样的系统的基础架构。 2. 系统需求 2.1. 功能性需求 用户能够上传照片/文件。用户能…

【华为OD题库-007】代表团坐车-Java

题目 某组织举行会议,来了多个代表团同时到达,接待处只有一辆汽车,可以同时接待多个代表团,为了提高车辆利用率,请帮接待员计算可以坐满车的接待方案,输出方案数量。 约束: 1.一个团只能上一辆车&#xff0…

Postman基本页面和请求/响应页签介绍

近期在复习Postman的基础知识,在小破站上跟着百里老师系统复习了一遍,也做了一些笔记,希望可以给大家一点点启发。 一、Postman的界面介绍 Home主页、Workspace工作空间、Collections集合、Environments环境变量、Mock Server虚拟服务器、Mo…

PDF有限制密码,不能复制怎么办?

大家现在接触PDF文件越来越多,有的时候在网上下载的PDF文件打开之后,发现选中文字之后无法复制。甚至其他功能也都无法使用,这是怎么回事?该怎么办? 当我们发现文件打开之后,编辑功能无法使用,很…

传统企业数字化转型都要面临哪些挑战?_数据治理平台_光点科技

数字化转型已经成为传统企业发展的必经之路,但在这个过程中,企业往往会遭遇多方面的挑战。 1.文化和组织惯性 最大的挑战之一是企业文化和组织惯性的阻力。传统企业往往有着深厚的历史和根深蒂固的工作方式,员工和管理层可能对新的数字化工作…

【Java】I/O流—转换流、序列化流的初学者指南及RandomAccessFile类

🌺个人主页:Dawn黎明开始 🎀系列专栏:Java ⭐每日一句:我不在意你曾堕落,我只在意你是否会崛起 📢欢迎大家:关注🔍点赞👍评论📝收藏⭐️ 文章目录…

Clickhouse学习笔记(3)—— Clickhouse表引擎

前言: 有关Clickhouse的前置知识详见: 1.ClickHouse的安装启动_clickhouse后台启动_THE WHY的博客-CSDN博客 2.ClickHouse目录结构_clickhouse 目录结构-CSDN博客 Cickhouse创建表时必须指定表引擎 表引擎(即表的类型)决定了&…