算法系列——有监督学习——1.线性回归

news/2025/3/20 9:25:24/

一、背景

1. 学习参数:

直线可写为y=w0+w1*x。这是一次函数,w1是斜率(或者叫权重 ),w0相当于在y轴上的截距。斜率w1和截距w0是由有监督学习的算法学到的参数,称之为学习参数。在线性回归中,需要根据不在一条直线上的点求出学习参数。

2. 损失函数:

表示误差和学习参数之间关系的函数叫作误差函数(或损失函数)

线性回归需要在各条直线中找出使误差函数值最小的参数

二、案例

尝试对以下数据进行线性回归。使用LinearRegression类创建线性回归模型,并使用fit方法训练后,输出intercept_的值以查看截距,输出coef_的值以查看斜率。

from sklearn.linear_model import LinearRegression
X = [[10.0], [8.0], [13.0], [9.0], [11.0], [14.0],[6.0], [4.0], [12.0], [7.0], [5.0]]
y = [8.04, 6.95, 7.58, 8.81, 8.33, 9.96,7.24, 4.26, 10.84, 4.82, 5.68]
model = LinearRegression()
model.fit(X, y)
print(model.intercept_)  # 截距
print(model.coef_)  # 斜率
y_pred = model.predict([[0], [1]])
print(y_pred) # 对x=0, x=1的预测结果

输出如下:

三、线性回归不成功的例子

如图显示,对安斯库姆四重奏数据集的每一组数据分别进行线性回归的结果。尽管图中的4张图是不同的散点图,但线性回归的学习参数(截距和斜率)却相同。另外,这些数据的平均值、方差和相关系数也几乎相同。

注意:对原本不遵循线性分布的数据强行进行线性回归也得不到好的结果。拿到数据之后,首先应该进行可视化,再考虑是否进行线性回归

四、学习参数的求法

通过均方误差进行定量判断。均方误差指的是目标变量和直线的差的平方的平均值。当存在n个数据时,可如下表示:

如何获得使均方误差最小的学习参数:

由于学习参数的变化,作为误差函数的均方误差也会发生变化。也就是说,均方误差可以使用学习参数的函数表示:

这时将训练数据代入目标变量yi和特征变量xi,就可以仅用w0、w1表示均方误差:

该式是w0 、w1 的二次函数,当w0 、w1 发生变化时,误差的值也各不相同。函数图形如图所示

本文主要说明了一元回归。一元回归是指独立特征变量只有一个时的线性回归,独立特征变量为两个及以上时的线性回归叫作多元回归。另外,尽管独立特征变量只有一个,但包含x2、x3这种特征变量的次方项的线性回归叫作多项式回归。

线性回归的例子

如图所示这些函数中的学习参数w1和目标变量y之间的关系不是线性关系,所以被分类为非线性回归

 


http://www.ppmy.cn/news/1580562.html

相关文章

3.1 在VisionPro脚本中添加CogGraphicLabel

本案例需要实现如下功能: 1.加载toolBlock 2.加载图片, 3.运行Block 4.VisionPro中添加脚本显示数值。 见下图:详细代码(C#以及visionPro)见下面链接: https://download.csdn.net/download/qq_340474…

OpenManus:无需邀请码的开源版Manus,开启自动化新纪元

对于那些渴望拥有自己的AI助手但苦于无法获取Manus邀请码的用户来说,OpenManus提供了一个绝佳的选择。这款开源项目不仅复刻了Manus的核心功能,还允许用户在自己的电脑上执行包括网页浏览、文件操作和代码编写在内的多种任务。本文将详细介绍OpenManus的功能及其使用方法。 …

Netty基础—6.Netty实现RPC服务二

大纲 1.RPC的相关概念 2.RPC服务调用端动态代理实现 3.Netty客户端之RPC远程调用过程分析 4.RPC网络通信中的编码解码器 5.Netty服务端之RPC服务提供端的处理 6.RPC服务调用端实现超时功能 3.Netty客户端之RPC远程调用过程分析 NettyRpcClient.remoteCall()方法的执行逻…

【JavaEE】-- SpringBoot快速上手

文章目录 1. Maven1.1 什么是Maven1.2 为什么要学Maven1.3 创建一个Maven项目1.4 Maven核心功能1.4.1 项目创建1.4.2 依赖管理1.4.3 Maven Help插件 1.5 Maven仓库1.5.1 本地仓库1.5.2 中央仓库1.5.3 私有服务器(私服) 1.6 Maven设置国内源1.6.1 配置当前…

sqlite mmap

https://www.sqlite.org/mmap.html 1. 内存映射 I/O 的基本原理 默认机制(传统 I/O) SQLite 默认通过 xRead() 和 xWrite() 方法(对应 read()/write() 系统调用)访问数据库文件。这些方法需要将数据从内核缓冲区复制到用户空间&am…

图莫斯TOOMOSS上位机TCANLINPro使用CAN UDS功能时 编写、加载27服务dll解锁算法文件

【本文发布于https://blog.csdn.net/Stack_/article/details/146303690,未经许可不得转载,转载须注明出处】 软件安装目录下找到如下压缩包,此为dll文件示例工程 使用VisualStudio打开工程GenerateKeyExImpl.vcxproj,可能会提示版…

常用的pdf技术有哪些?--笔记

常用的pdf技术有哪些? 1.iText PDF:iText 是著名的开放项目,是用于生成 PDF 文档的一个 java 类库。通过 iText 不仅可以生成 PDF 或 rtf 的文档,而且可以将 XML、Html 文件转化为 PDF 文件。 Openoffice:openoffice 是…

【数据分析】数据筛选(布尔索引:多个判断条件)

在pandas模块中,逻辑运算符有以下几种: 1.&表示并且 2.|表示或者 3.~表示非 1. &(并且)运算符 当且仅当运算符两边的布尔值均为 True 时,运算结果才为 True,其他情况为 False。 a True b Tr…