当前位置: 首页 > news >正文

免费的wordpress主题好seo网站有优化培训吗

免费的wordpress主题好,seo网站有优化培训吗,举报网站建设运行汇报,joomla可以做预订类网站吗线性回归:从理论到实现 1. 什么是线性回归? 线性回归是一种用于预测因变量(目标值)和自变量(特征值)之间关系的基本模型。它假设目标值(y)是特征值(x)的线性…

线性回归:从理论到实现

1. 什么是线性回归?

线性回归是一种用于预测因变量(目标值)和自变量(特征值)之间关系的基本模型。它假设目标值(y)是特征值(x)的线性组合,公式如下:

y=w⋅x+b

其中:

  • w 是权重(也称为斜率),表示自变量对因变量的影响程度。
  • b 是偏置(也称为截距),表示当自变量为零时因变量的值。
  • x 是自变量(输入数据)。
  • y 是预测的目标值(输出)。
2. 线性回归的工作流程

线性回归的目标是找到最优的 wb,使得预测的 y 值与真实的目标值之间的差距最小。这个差距通常用 均方误差(MSE,Mean Squared Error)来衡量。为了最小化 MSE,通常使用 梯度下降算法 来迭代更新 wb

3. 代码实现:用 PyTorch 实现线性回归

我们接下来用代码一步步实现一个线性回归模型。PyTorch 是一个非常强大的深度学习框架,它能够方便地实现梯度计算、自动求导和优化操作。

3.1 数据准备

我们使用 numpy 来生成模拟数据。这里我们假设目标值 y 是一个线性函数,公式为 y = 2 * x + 1,并添加一些噪声以模拟实际中的数据误差。

import numpy as np  # numpy数组库
import matplotlib.pyplot as plt  # 画图库
import torch  # torch基础库
import torch.nn as nn  # torch神经网络库# 数据准备
x_sample = np.linspace(0, 5, 64)  # 生成64个均匀分布的点,范围在0到5之间
noise = np.random.randn(64)  # 生成高斯噪声
y_sample = 2 * x_sample + 1 + noise  # 模拟 y = 2 * x + 1,并加上噪声# 将数据转换为适合 PyTorch 处理的格式
x_numpy = x_sample.reshape(-1, 1).astype('float32')  # 转换为列向量
y_numpy = y_sample.reshape(-1, 1).astype('float32')  # 转换为列向量# 转换为 PyTorch 张量
x_train = torch.from_numpy(x_numpy)
y_train = torch.from_numpy(y_numpy)
3.2 模型和损失函数

PyTorch 提供了一个非常方便的 nn.Linear 模块来实现线性回归。我们将输入特征数和输出特征数都设为1,因为这是一个简单的一元线性回归问题。

# 模型和损失函数
model = nn.Linear(in_features=1, out_features=1)  # 输入特征为1,输出特征也为1
loss_fn = nn.MSELoss()  # 使用均方误差作为损失函数
optimizer = torch.optim.SGD(model.parameters(), lr=0.01)  # 使用随机梯度下降,学习率为0.01
3.3 模型训练

为了训练我们的模型,我们需要执行以下几个步骤:

  1. 前向传播:将输入数据传入模型,得到预测输出 y_pred
  2. 计算损失:将模型的预测输出与真实值进行比较,计算损失。
  3. 反向传播:通过误差计算得到梯度,更新模型参数。
  4. 更新参数:使用优化器(这里使用的是随机梯度下降,SGD)来调整权重和偏置,使得损失减小。
# 模型训练
epochs = 500  # 设置训练迭代次数
loss_history = []  # 记录每次迭代的损失for i in range(epochs):y_pred = model(x_train)  # 前向计算,得到预测值loss = loss_fn(y_pred, y_train)  # 计算损失optimizer.zero_grad()  # 清零梯度loss.backward()  # 反向传播,计算梯度optimizer.step()  # 优化器更新参数loss_history.append(loss.item())  # 记录损失if i % 100 == 0:  # 每100个 epoch 输出一次损失print(f'Epoch {i}, Loss: {loss.item():.4f}')
3.4 提取最终的模型参数

经过 500 轮迭代后,模型的权重和偏置已经收敛到一个合理的值。我们可以提取并打印最终的 wb

# 提取最终模型参数
final_w, final_b = model.weight.item(), model.bias.item()  # 提取权重和偏置
print("Final weight (w):", final_w)
print("Final bias (b):", final_b)
3.5 可视化

为了直观地查看模型的拟合效果,我们将原始数据点与模型预测的直线绘制在同一张图上。

 
4. 结果分析

通过上面的代码,我们实现了一个简单的线性回归模型。在模型训练过程中,我们可以观察到损失逐渐减小,模型参数 wb 最终收敛到接近真实值 21。在绘制的图像中,我们可以看到模型拟合的直线与数据点非常接近,这表明我们的线性回归模型成功地拟合了数据。

5. 总结

通过本文的介绍,你应该已经理解了线性回归的基本概念以及如何使用 PyTorch 实现一个简单的线性回归模型。具体来说,你学习了:

  • 如何生成和处理数据。
  • 使用 PyTorch 搭建线性回归模型。
  • 梯度下降的基本流程:前向传播、计算损失、反向传播、参数更新。
  • 如何提取训练完成后的模型参数并进行可视化。

线性回归虽然简单,但它是理解更复杂机器学习模型的基础。接下来,你可以进一步探索多元线性回归、正则化、以及更复杂的神经网络模型。希望这篇博客能为你理解线性回归和深度学习的入门奠定坚实的基础!

 

 

 

http://www.hkea.cn/news/429712/

相关文章:

  • 海外推广工作内容搜索引擎优化seo是什么
  • wordpress 发短信西安网络优化大的公司
  • dreamweaver个人网站南宁求介绍seo软件
  • 网站常用素材企业培训视频
  • 北京市通州区建设委员会网站网站新站整站排名
  • 太原网站推广只选中联传媒推广排名seo
  • 企业网站建设的常见流程为百度互联网营销顾问
  • 养殖企业网站网络营销策划名词解释
  • 如何进行电子商务网站推广?百度网盘app
  • 做情趣网站需要什么资质sem推广外包
  • 国外网站做任务赚钱的最近新闻有哪些
  • 建设部网站查资质中裕隆百度推广登录平台网址
  • 黄页网站大全免费山东网络推广优化排名
  • 网站文字代码常见的网络营销工具
  • 计算机毕设网站建设怎么改长沙网站设计拓谋网络
  • 类似红盟的网站怎么做aso优化推广
  • vs2013做网站怎样制作免费网页
  • b2c网站的开发无锡网络优化推广公司
  • 网站做视频在线观看营销活动推广方案
  • wordpress多站点统计google图片搜索引擎入口
  • 麻章手机网站建设百度网盘提取码入口
  • 网站后台管理系统的重要技术指标sem竞价托管费用
  • 包头怎样做网站我想做电商怎么加入
  • 株洲企业网站建设品牌2023免费b站推广大全
  • 仿制单页面网站多少钱免费制作网站app
  • 商城网站制作网站长尾词挖掘工具
  • 夹克定制公司trinseo公司
  • 四川智能网站建设制作网站链接分析工具
  • 制作销售网站有哪些宁波网络营销推广咨询报价
  • 佛山做外贸网站服务新闻发稿平台