机器学习——4.案例: 简单线性回归求解

案例目的

寻找一个良好的函数表达式,该函数表达式能够很好的描述上面数据点的分布,即对上面数据点进行拟合。

求解逻辑步骤

  1. 使用Sklearn生成数据集
  2. 定义线性模型
  3. 定义损失函数
  4. 定义优化器
  5. 定义模型训练方法(正向传播、计算损失、反向传播、梯度清空)
  6. 模型训练
  7. 模型预测与线性关系展示

代码实现

import numpy as np
from sklearn import datasets
import matplotlib.pyplot as plt
import torch# 生成数据集 n_samples-样本数量,n_features-自变量数量,random_state-随机种子,noise-噪声
data = datasets.make_regression(n_samples=100,n_features=1,random_state=5,noise=10)
X,Y = data
# 数据集转换成张量
X = torch.from_numpy(X.astype(np.float32))
Y = torch.from_numpy(Y.astype(np.float32))
# 行列形状要相同
Y = Y.view(100,1)# 线性模型函数的定义
n_samples,n_features = X.size()
model = torch.nn.Linear(n_features,1)# 定义损失函数
loss = torch.nn.MSELoss()# 定义优化器
learn_rate = 0.01 
optimizer = torch.optim.SGD(model.parameters(),lr=learn_rate)# 实现梯度下降函数
def gradient_descent():# 正向传播pre_y = model(X)# 计算损失l = loss(pre_y,Y)# 反向传播l.backward()# 梯度更新optimizer.step()# 梯度清空optimizer.zero_grad()return l,list(model.parameters())# 模型训练
for i in range(500):l,parameters = gradient_descent()print(l,parameters)# 模型预测
predect = model(X)# X,Y线性拟合效果展示
plt.scatter(X,Y)
plt.plot(X,predect.detach().numpy(),color="r")

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

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

相关文章

react+antd --- 日期选择器,动态生成日期表格表头

先看一下效果---有当前月的日期 技术: 1: react 2:antd-UI库 -- table 3:moment--时间处理库 代码效果: import { Button, DatePicker, Table } from antd; import { useEffect, useState } from react; import momen…

信号和槽的使用

🐌博主主页:🐌​倔强的大蜗牛🐌​ 📚专栏分类:QT❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、连接信号和槽 二、查看内置信号和槽 三、通过 Qt Creator 生成信号槽代码 一、连接信号和槽 …

快捷自由定时重启、注销、关机

首先,需要用到的这个工具: 度娘网盘 提取码:qwu2 蓝奏云 提取码:2r1z 1、打开工具,进入定时器编辑版块 2、左侧目录新建一个定时器 3、选择需要的周期,这里是每天0点,一次执行一条 4、添加具…

牛客热题:二叉树的中序遍历

📟作者主页:慢热的陕西人 🌴专栏链接:力扣刷题日记 📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言 文章目录 牛客热题:二叉树的中序遍历题目链接方法一…

【算法基础实验】排序-最小优先队列MinPQ

优先队列 理论知识 MinPQ(最小优先队列)是一种常见的数据结构,用于有效管理一组元素,其中最小元素可以快速被检索和删除。这种数据结构广泛应用于各种算法中,包括图算法(如 Dijkstra 的最短路径算法和 Pr…

GPT-4o 免费开放!体验 AI 对话的无限可能!手把手教你普通用户如何切换到4o版本使用!

大家好,我是影子。今天一觉醒来,发现朋友圈传开了GPT-4o可以免费使用了。 相信大家都使用过GPT-3.5的版本,但是无论是智能程度还是联网查询等一些需求都无法给我们实现,这不,4o的出现直接解决了这些问题。 下面影子将…

ROS2 - 创建项目 (Ubuntu22.04)

本文简述:在 Ubuntu22.04 系统中使用 VS CODE 来搭建一个ROS2开发项目。 1. 创建工作空间 本文使用 Ubuntu 22.04, 已安装配置完成 VS Code,C 环境(g/gdb) 1.1 创建目录 选择文件夹作为工作空间,并在这…

空号检测接口如何对接?

手机运营商空号检测接口又叫空号过滤查询接口、手机号状态检测查询接口,指的是输入手机号,查询其在网活跃度,返回包括空号、实号、停机、库无、沉默号、风险号等状态。那么运营商空号检测接口如何对接呢? 首先我们找到一家有手机…

排序-冒泡排序(bubble sort)

冒泡排序(Bubble Sort)是一种简单的排序算法,它重复地遍历待排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成…

Weblogic 任意文件上传漏洞(CVE-2018-2894)

1 漏洞描述 CVE-2018-2894漏洞存在于Oracle WebLogic Server的Web服务测试页面(Web Service Test Page)中。这个页面允许用户测试Web服务的功能,但在某些版本中,它包含了一个未经授权的文件上传功能。攻击者可以利用这个漏洞&…

苹果cms:搜索功能的开关与设置

今天有个小伙伴问了个关于苹果cms搜索的问题:直接搜演员搜索不到影片信息(如下图) 1、我们拿演员王宝强为例:搜索王宝强后结果显示无相关视频 2、但是我们搜索王宝强主演的“大闹天竺”后却能得到关于王宝强的影片信息。这是为什…

跨ROS系统通信:使用TCP实现节点间的直连

当涉及到在机器人操作系统(ROS)环境中的通信时,标准做法通常是在同一个ROS网络内通过话题和服务进行。但在某些特定情况下,比如当你有两个分布在不同网络中的ROS系统时,标准的通信方法可能不太适用。此时,一…

【WEB前端2024】开源智体世界:乔布斯3D纪念馆-第21课-购买烟花插件

【WEB前端2024】开源智体世界:乔布斯3D纪念馆-第21课-购买烟花插件 使用dtns.network德塔世界(开源的智体世界引擎),策划和设计《乔布斯超大型的开源3D纪念馆》的系列教程。dtns.network是一款主要由JavaScript编写的智体世界引擎…

OmniDrive:具有 3D 感知推理和规划功能的自动驾驶整体 LLM-智体框架

24年5月北理工、Nvidia和华中科大的论文“OmniDrive:A Holistic LLM-Agent Framework for Autonomous Driving with 3D Perception Reasoning and Planning”。 多模态大语言模型(MLLMs)的进展导致了对基于LLM的自动驾驶的兴趣不断增长&…

软件各阶段资料(需求设计,系统架构,开发文档,测试文档,运维阶段的部署维护文档,概要设计,详细设计)

一、 引言 (一) 编写目的 (二) 范围 (三) 文档约定 (四) 术语 二、 项目概要 (一) 建设背景 (二) 建设目标 (三&#xff0…

解决Jmeter报错 :Error generating the report: java.lang.NullPointerException

当我们在使用命令行的方式来执行jmeter 脚本的时候,例如 ./jmeter -n -t /opt/jmeter/script/test.jmx -Juser50 -Jtime100 -l /opt/jmeter/script/restult2.jtl 上面脚本的含义解释如下: -n -t 通过命令行的方式执行脚本test.jmx -Juser50 并发用户…

【贪心的商人】-华为OD

系列文章目录 文章目录 系列文章目录前言一、题目描述二、输入描述三、输出描述四、java代码五、测试用例 前言 本人最近再练习算法,所以会发布自己的解题思路,希望大家多指教 一、题目描述 商人经营一家店铺,有number种商品,由…

一次完整的GC流程

Java堆中内存区分 Java的堆由新生代(Young Generation)和老年代(Old Generation)组成。新生代存放新分配的对象,老年代存放长期存在的对象。 新生代(Young)由年轻区(Eden&a…

亚马逊卖家,如何打造爆款,如何提高产品权重、曝光、流量?

新老卖家们要知道,亚马逊A9算法影响产品排名的关键因素:产品相关性、销售排名、产品价格、点击率、转化率、产品图片、买家评论、买家满意度、QA的答复情况、搜索结果页详细信息级别。亚马逊A9算法,是根据卖家提供的listing文案信息进行收录、…

新一代GPT!GPT-4O:更快、更懂人类情感的人工智能新纪元

今天凌晨(5.14凌晨),OpenAI 的 GPT-4O 版本在自然语言处理领域带来了革命性的改变。不仅在处理速度上获得了显著提升,GPT-4O 还增加了对人类情感的理解能力,这使得它在与人类的交互中更加自然和富有同理心。本文将深入…