PyTorch线性回归实战指南

神经网络实验3:线性回归的技术实现与分析

线性回归是机器学习中最基础的模型之一,常用于预测连续值目标变量。在神经网络框架下实现线性回归,能够更好地理解梯度下降、损失函数等核心概念。

线性回归的数学原理

线性回归模型的数学表达式为:

y = Wx + b

其中:

  • y 是预测值
  • x 是输入特征
  • W 是权重矩阵
  • b 是偏置项

损失函数通常采用均方误差(MSE):

L = (1/n) * Σ(y_pred - y_true)2

使用PyTorch实现线性回归

import torch
import torch.nn as nn
import torch.optim as optim

# 准备数据
X = torch.randn(100, 1)  # 100个样本,每个样本1个特征
y = 3 * X + 2 + torch.randn(100, 1) * 0.1  # 添加噪声

# 定义模型
class LinearRegression(nn.Module):
    def __init__(self):
        super().__init__()
        self.linear = nn.Linear(1, 1)  # 输入输出维度都是1
        
    def forward(self, x):
        return self.linear(x)

model = LinearRegression()
criterion = nn.MSELoss()
optimizer = optim.SGD(model.parameters(), lr=0.01)

# 训练过程
epochs = 1000
for epoch in range(epochs):
    # 前向传播
    outputs = model(X)
    loss = criterion(outputs, y)
    
    # 反向传播
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()
    
    if (epoch+1) % 100 == 0:
        print(f'Epoch [{epoch+1}/{epochs}], Loss: {loss.item():.4f}')

关键参数调优

学习率的选择对模型收敛至关重要。过大的学习率会导致震荡,过小则收敛缓慢。建议尝试0.1、0.01、0.001等不同值。

批量大小影响梯度更新的稳定性。全批量梯度下降使用所有样本,随机梯度下降每次使用单个样本,小批量梯度下降折中两者优点。

实验结果分析

成功的线性回归实现应能准确学习到数据生成过程中的真实参数(本例中W=3,b=2)。训练后期损失值应稳定在较低水平。

可通过可视化真实数据点与预测直线来直观评估模型性能:

import matplotlib.pyplot as plt

predicted = model(X).detach().numpy()
plt.scatter(X.numpy(), y.numpy(), label='Original data')
plt.plot(X.numpy(), predicted, label='Fitted line', color='r')
plt.legend()
plt.show()

常见问题与解决方案

梯度消失问题在浅层线性回归中较少出现,但学习率不当会导致收敛困难。建议使用学习率调度器动态调整学习率。

过拟合在简单线性回归中不常见,但对于高维数据可考虑添加L1/L2正则化:

optimizer = optim.SGD(model.parameters(), lr=0.01, weight_decay=0.1)  # L2正则化

扩展应用

多元线性回归只需调整输入维度:

self.linear = nn.Linear(n_features, 1)  # n_features为特征数量

多项式回归可通过特征工程实现,将原始特征的幂次作为新特征输入线性模型。

5G.okacbd061.asia/PoSt/1123_791589.HtM
5G.okacbd062.asia/PoSt/1123_176354.HtM
5G.okacbd063.asia/PoSt/1123_058801.HtM
5G.okacbd064.asia/PoSt/1123_232280.HtM
5G.okacbd065.asia/PoSt/1123_441164.HtM
5G.okacbd066.asia/PoSt/1123_868259.HtM
5G.okacbd067.asia/PoSt/1123_623808.HtM
5G.okacbd068.asia/PoSt/1123_205620.HtM
5G.okacbd069.asia/PoSt/1123_081256.HtM
5G.okacbd070.asia/PoSt/1123_643741.HtM
5G.okacbd061.asia/PoSt/1123_516763.HtM
5G.okacbd062.asia/PoSt/1123_865070.HtM
5G.okacbd063.asia/PoSt/1123_063824.HtM
5G.okacbd064.asia/PoSt/1123_544203.HtM
5G.okacbd065.asia/PoSt/1123_274367.HtM
5G.okacbd066.asia/PoSt/1123_016177.HtM
5G.okacbd067.asia/PoSt/1123_328256.HtM
5G.okacbd068.asia/PoSt/1123_116085.HtM
5G.okacbd069.asia/PoSt/1123_939231.HtM
5G.okacbd070.asia/PoSt/1123_610614.HtM
5G.okacbd061.asia/PoSt/1123_738506.HtM
5G.okacbd062.asia/PoSt/1123_166624.HtM
5G.okacbd063.asia/PoSt/1123_844789.HtM
5G.okacbd064.asia/PoSt/1123_679382.HtM
5G.okacbd065.asia/PoSt/1123_321040.HtM
5G.okacbd066.asia/PoSt/1123_882025.HtM
5G.okacbd067.asia/PoSt/1123_956624.HtM
5G.okacbd068.asia/PoSt/1123_973912.HtM
5G.okacbd069.asia/PoSt/1123_144873.HtM
5G.okacbd070.asia/PoSt/1123_605967.HtM
5G.okacbd061.asia/PoSt/1123_297637.HtM
5G.okacbd062.asia/PoSt/1123_311571.HtM
5G.okacbd063.asia/PoSt/1123_949543.HtM
5G.okacbd064.asia/PoSt/1123_567328.HtM
5G.okacbd065.asia/PoSt/1123_059611.HtM
5G.okacbd066.asia/PoSt/1123_180848.HtM
5G.okacbd067.asia/PoSt/1123_014974.HtM
5G.okacbd068.asia/PoSt/1123_813925.HtM
5G.okacbd069.asia/PoSt/1123_173467.HtM
5G.okacbd070.asia/PoSt/1123_362619.HtM
5G.okacbd061.asia/PoSt/1123_775365.HtM
5G.okacbd062.asia/PoSt/1123_218339.HtM
5G.okacbd063.asia/PoSt/1123_704641.HtM
5G.okacbd064.asia/PoSt/1123_530478.HtM
5G.okacbd065.asia/PoSt/1123_096079.HtM
5G.okacbd066.asia/PoSt/1123_494694.HtM
5G.okacbd067.asia/PoSt/1123_533092.HtM
5G.okacbd068.asia/PoSt/1123_334481.HtM
5G.okacbd069.asia/PoSt/1123_519900.HtM
5G.okacbd070.asia/PoSt/1123_176670.HtM
5G.okacbd061.asia/PoSt/1123_991069.HtM
5G.okacbd062.asia/PoSt/1123_717871.HtM
5G.okacbd063.asia/PoSt/1123_574402.HtM
5G.okacbd064.asia/PoSt/1123_367753.HtM
5G.okacbd065.asia/PoSt/1123_652673.HtM
5G.okacbd066.asia/PoSt/1123_376798.HtM
5G.okacbd067.asia/PoSt/1123_168881.HtM
5G.okacbd068.asia/PoSt/1123_630256.HtM
5G.okacbd069.asia/PoSt/1123_519104.HtM
5G.okacbd070.asia/PoSt/1123_698691.HtM
5G.okacbd071.asia/PoSt/1123_172314.HtM
5G.okacbd072.asia/PoSt/1123_770655.HtM
5G.okacbd073.asia/PoSt/1123_991078.HtM
5G.okacbd074.asia/PoSt/1123_152820.HtM
5G.okacbd075.asia/PoSt/1123_294043.HtM
5G.okacbd076.asia/PoSt/1123_266792.HtM
5G.okacbd077.asia/PoSt/1123_113745.HtM
5G.okacbd078.asia/PoSt/1123_647750.HtM
5G.okacbd079.asia/PoSt/1123_488758.HtM
5G.okacbd080.asia/PoSt/1123_919570.HtM
5G.okacbd071.asia/PoSt/1123_498761.HtM
5G.okacbd072.asia/PoSt/1123_909556.HtM
5G.okacbd073.asia/PoSt/1123_943640.HtM
5G.okacbd074.asia/PoSt/1123_289574.HtM
5G.okacbd075.asia/PoSt/1123_621879.HtM
5G.okacbd076.asia/PoSt/1123_845748.HtM
5G.okacbd077.asia/PoSt/1123_840580.HtM
5G.okacbd078.asia/PoSt/1123_041521.HtM
5G.okacbd079.asia/PoSt/1123_444832.HtM
5G.okacbd080.asia/PoSt/1123_926539.HtM

#牛客AI配图神器#

全部评论

相关推荐

不愿透露姓名的神秘牛友
11-21 15:42
百度 产品 (25K+)x16+n/y 其他
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务