深度神经网络——什么是线性回归?

线性回归是一种用于预测或可视化的算法 两个不同特征/变量之间的关系。 在线性回归任务中,要检查两种变量: 因变量和自变量。 自变量是独立的变量,不受其他变量的影响。 随着自变量的调整,因变量的水平将会波动。 因变量是正在研究的变量,也是回归模型求解/尝试预测的变量。 在线性回归任务中,每个观察/实例都由因变量值和自变量值组成。

这是对线性回归的快速解释,但让我们通过查看线性回归的示例并检查它使用的公式来确保我们更好地理解线性回归。

了解线性回归

假设我们有一个涵盖硬盘驱动器大小和这些硬盘驱动器成本的数据集。

假设我们拥有的数据集由两个不同的特征组成:内存量和成本。 我们为计算机购买的内存越多,购买成本就越高。 如果我们在散点图上绘制各个数据点,我们可能会得到如下所示的图表:

确切的内存成本比可能因硬盘驱动器制造商和型号而异,但总的来说,数据趋势是从左下角开始(硬盘驱动器更便宜且容量更小),然后移动到右上角(驱动器更昂贵且容量更大)。

如果 X 轴上有内存量,Y 轴上有成本,则捕获 X 和 Y 变量之间关系的线将从左下角开始,一直延伸到右上角。

回归模型的功能是确定 X 和 Y 变量之间的线性函数,该函数最能描述两个变量之间的关系。 在线性回归中,假设 Y 可以通过输入变量的某种组合来计算。 输入变量 (X) 和目标变量 (Y) 之间的关系可以通过在图中的点画一条线来描绘。 该线代表最能描述 X 和 Y 之间关系的函数(例如,每次 X 增加 3,Y 增加 2)。 目标是找到最佳“回归线”,或最适合数据的线/函数。

线通常由等式表示: Y = m ∗ X + b Y = m*X + b Y=mX+b。 X 指因变量,Y 指自变量。同时,m 是线的斜率,由“上升”相对于“运行”的定义。机器学习从业者以稍微不同的方式表示著名的斜线方程,而是使用以下方程:

y ( x ) = w 0 + w 1 ∗ x y(x) = w0 + w1 * x y(x)=w0+w1x

在上式中,y是目标变量,“w”是模型参数,输入是“x”。 因此,该方程可解读为:“根据 X 给出 Y 的函数等于模型参数乘以特征”。 在训练过程中调整模型的参数以获得最佳拟合回归线。

多元线性回归

上述过程适用于简单线性回归,或仅存在单个特征/自变量的数据集的回归。 然而,回归也可以用多个特征来完成。 如果是 ”多元线性回归”,该方程通过数据集中找到的变量数量进行扩展。 换句话说,常规线性回归的方程为 y ( x ) = w 0 + w 1 ∗ x y(x) = w0 + w1 * x y(x)=w0+w1x,而多元线性回归的方程为 y ( x ) = w 0 + w 1 ∗ 1 y(x) = w0 + w1*1 y(x)=w0+w11 加上各种特征的权重和输入。 如果我们将权重和特征的总数表示为 w(n)x(n),那么我们可以表示如下公式:

y ( x ) = w 0 + w 1 ∗ 1 + w 2 ∗ 2 + … + w ( n ) ∗ ( n ) y(x) = w0 + w1*1 + w2*2 + … + w(n)*(n) y(x)=w0+w11+w22++w(n)(n)

建立线性回归公式后,机器学习模型将使用不同的权重值,绘制不同的拟合线。 请记住,目标是找到最适合数据的线,以便确定哪种可能的权重组合(以及哪种可能的线)最适合数据并解释变量之间的关系。

成本函数用于测量给定特定权重值时假设的 Y 值与实际 Y 值的接近程度。 成本函数 线性回归是均方误差,它只取数据集中所有不同数据点的预测值和真实值之间的平均(平方)误差。 成本函数用于计算成本,该成本捕获预测目标值与真实目标值之间的差异。 如果拟合线距离数据点较远,则成本会较高,而线越接近捕获变量之间的真实关系,成本就会越小。 然后调整模型的权重,直到找到产生最小误差的权重配置。

Python实现

from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt

# 示例数据
X = np.array([1, 2, 3, 4, 5]).reshape((-1, 1))  # 特征集
y = np.array([2, 4, 5, 4, 5])  # 目标值

# 创建线性回归模型实例
model = LinearRegression()

# 训练模型
model.fit(X, y)

# 进行预测
y_pred = model.predict(X)

# 可视化
plt.scatter(X, y, color='blue')  # 绘制原始数据点
plt.plot(X, y_pred, color='red')  # 绘制最佳拟合线
plt.title('Linear Regression with scikit-learn')
plt.xlabel('X')
plt.ylabel('y')
plt.show()

# 查看模型参数
print(f'Slope (weight): {model.coef_[0]}')
print(f'Intercept: {model.intercept_}')

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【计算机毕设】基于SpringBoot的房产销售系统设计与实现 - 源码免费(私信领取)

免费领取源码 | 项目完整可运行 | v:chengn7890 诚招源码校园代理! 1. 研究目的 随着房地产市场的发展和互联网技术的进步,传统的房产销售模式逐渐向线上转移。设计并实现一个基于Spring Boot的房产销售系统&#xff0…

NFT Insider #132:Solana链上NFT销售总额达到55.49亿美元, The Sandbox成立DAO

引言:NFT Insider由NFT收藏组织WHALE Members(https://twitter.com/WHALEMembers)、BeepCrypto (https://twitter.com/beep_crypto)联合出品,浓缩每周NFT新闻,为大家带来关于NFT最全面、最新鲜、…

VMware虚拟机安装Ubutu

打开vmware按步骤安装 选择安装虚拟机路径 选择下载好的镜像 开启虚拟机 等待 回车确认 空格选择/取消 等待等待好按回车 输入用户名,密码就好了

2024就业寒潮下的挑战与机遇:能否守住饭碗,人工智能能否成为新春天?

前言 随着时代的飞速发展,2024年的就业市场迎来了前所未有的挑战。数以百万计的高校毕业生涌入市场,使得就业竞争愈发激烈。然而,在这股就业寒潮中,我们也看到了新的曙光——人工智能的崛起。这一新兴行业以其独特的魅力和巨大的…

12 FreeRTOS 调试与优化

1、调试 1.1 打印 在FreeRTOS工程中使用了microlib,里面实现了printf函数。 只需要实现一下以下函数即可使用printf。 int fputc(int ch; FILE *f); 假如要从串口实现打印函数: int fputc( int ch, FILE *f ) {//指定串口USART_TypeDef* USARTx USAR…

地质灾害位移应急监测站

地质灾害位移应急监测站是一种专门用于地质灾害预警和应急响应的设施,它能够实时监测和分析山体、建筑物、管道等的位移变化情况。以下是关于地质灾害位移应急监测站的详细介绍: 主要组成部分 传感器:安装于需要监测的位置,用于…

【全开源】Java短剧系统微信小程序+H5+微信公众号+APP 源码

打造属于你的精彩短视频平台 一、引言:为何选择短剧系统小程序? 在当今数字化时代,短视频已经成为人们日常生活中不可或缺的一部分。而短剧系统小程序源码,作为构建短视频平台的强大工具,为广大开发者提供了快速搭建…

html+css web前端 多边形

<!DOCTYPE html><html><head><meta charset"UTF-8"><title>多边形</title><style type"text/css">#pentagon_6_1 {position: absolute;top: 0px;height: 0; width: 100; border-left: 100px solid rgb(255, 255…

机器人动力学模型与MATLAB仿真

机器人刚体动力学由以下方程控制&#xff01;&#xff01;&#xff01; startup_rvc mdl_puma560 p560.dyn 提前计算出来这些“disturbance”&#xff0c;然后在控制环路中将它“抵消”&#xff08;有时候也叫前馈控制&#xff09; 求出所需要的力矩&#xff0c;其中M项代表克服…

堆排序详细理解

目录 一、前备知识 二、建堆 2.2.1 向上调整算法建堆 2.2.2 向下调整算法建堆 三、排序 3.1 常见问题 3.2 思路 3.3 源码 一、前备知识 详细图解请点击&#xff1a;二叉树的顺序实现-堆-CSDN博客 本文只附上向上/向下调整算法的源码 //交换 void Swap(int* p, int* …

java中回调与Timer类的使用

回调&#xff1a;回调&#xff08;callback)是一种常见的程序设计模式。在这种模式中&#xff0c;可以指出某个特定事件发生时应该采取的动作。 Timer类&#xff1a;java.swing包中的Timer类&#xff0c;可以使用它在给定的时间间隔时发出通告。如程序中有一个时钟&#xff0c…

水位监测站的工作原理

TH-SW2在雨季&#xff0c;河道和湖泊的水文信息监测对于防洪减灾、水资源管理和环境保护等方面具有至关重要的意义。水文监测站作为实现这一目标的基础设施&#xff0c;发挥着关键作用。水文监测站是观测及搜集河流、湖泊、水库等水体的水文、气象资料的基层水文机构。在雨季&a…

算法与数据结构:红黑树

ACM大牛带你玩转算法与数据结构-课程资料 本笔记属于船说系列课程之一&#xff0c;课程链接&#xff1a; 哔哩哔哩_bilibilihttps://www.bilibili.com/cheese/play/ep66799?csourceprivate_space_class_null&spm_id_from333.999.0.0 你也可以选择购买『船说系列课程-年度会…

【计算机毕设】基于Spring Boot的课程作业管理系统 - 源码免费(私信领取)

免费领取源码 &#xff5c; 项目完整可运行 &#xff5c; v&#xff1a;chengn7890 诚招源码校园代理&#xff01; 1. 研究目的 课程作业管理系统旨在为教师和学生提供一个便捷的平台&#xff0c;用于发布、提交和评定课程作业。本系统旨在提高作业管理的效率&#xff0c;促进教…

NetMizer 日志管理系统前台RCE漏洞

声明 本文仅用于技术交流&#xff0c;请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;文章作者不为此承担任何责任。 一、产品介绍 NetMizer日志管理系统是一个与NetMizer流量管理设备配合…

nginx的安装002

之前001讲述了nginxyum安装现在讲一下nginx如何本地离线安装 操作系统&#xff1a; CentOS Stream 9 操作步骤&#xff1a; 首先访问nginx官网&#xff0c;下载。 用wget命令下载&#xff0c; [rootlocalhost ~]# wget -c https://nginx.org/download/nginx-1.26.0.tar.gz …

【网络原理】HTTP|认识请求“报头“|Host|Content-Length|Content-Type|UA|Referer|Cookie

目录 认识请求"报头"(header) Host Content-Length Content-Type User-Agent(简称UA) Referer &#x1f4a1;Cookie&#xff08;最重要的一个header&#xff0c;开发&面试高频问题&#xff09; 1.Cookie是啥&#xff1f; 2.Cookie怎么存的&#xff1f; …

在PostGIS中检查孤线(Find isolated lines in PostGIS)

场景 在PostGIS中有一张线要素表,需要检查该表中的孤线,并且进行自动纠正的计算。 其中孤线定义为两端端点都不在任何其他线的顶点上。 本文介绍在PostGIS中的线要素点,通过函数计算指定线要素表中的孤线,并计算最接近的纠偏位置。 In PostGIS, there is a table of line …

07-操作元素(键盘和鼠标事件)

在前面的文章中重点介绍了一些元素的定位方法&#xff0c;定位到元素后&#xff0c;就需要操作元素了。本篇总结了web页面常用的一些操作元素方法&#xff0c;可以统称为行为事件。 一、简单操作 点击按钮&#xff08;鼠标左键&#xff09;&#xff1a;click()清空输入框&…

git冲突

git冲突的产生&#xff1a; 首先用户A新建一个文件conflict&#xff0c;并在里面添加内容 然后通过add,commit,push将该文件上传到远端仓库 然后用户B通过pull将程序拉下来之后&#xff0c;也在这个文档里面进行编辑&#xff0c;并且内容不一样 如果这个时候其中一个人push&…