Pytorch学习_线性回归(1)

1.矢量计算表达式在模型训练或预测时,我们常常会同时处理多个数据样本并用到矢量计算。在介绍线性回归的矢量计算表达式之前,让我们先考虑对两个向量相加的两种方法。import torchfrom time import time#下面先定义两个1000维的向量。a = torch.ones(1000)b = torch.ones(1000)"""向量相加的一种方法是,将这两个向量按...
摘要由CSDN通过智能技术生成

1.矢量计算表达式

在模型训练或预测时,我们常常会同时处理多个数据样本并用到矢量计算。

在介绍线性回归的矢量计算表达式之前,让我们先考虑对两个向量相加的两种方法。

import torch
from time import time

#下面先定义两个1000维的向量。
a = torch.ones(1000)
b = torch.ones(1000)
"""向量相加的一种方法是,将这两个向量按元素逐一做标量加法。"""
start = time()
c = torch.zeros(1000)
for i in range(1000):
    c[i] = a[i] + b[i]
print(time() - start)
0.17760944366455078
"""向量相加的另一种方法是,将这两个向量直接做矢量加法。"""
start = time()
d = a + b
print(time() - start)
0.0

结果很明显,后者比前者更省时。因此,应该尽可能采用矢量计算,以提升计算效率。

y = w ∗ x + b y = w*x + b y=wx+b,其中会涉及广播操作

  • 和大多数深度学习模型一样,对于线性回归这样一种单层神经网络,它的基本要素包括模型、训练数据、损失函数和优化算法。
  • 既可以用神经网络图表示线性回归,又可以用矢量计算表示该模型。
  • 应该尽可能采用矢量计算,以提升计算效率。

2.线性回归的从零开始实现

本节将介绍如何只利用Tensorautograd来实现一个线性回归的训练。

首先,导入本节中实验所需的包或模块,其中的matplotlib包可用于作图,且设置成嵌入显示。

%matplotlib inline
import torch
from IPython import display
from matplotlib import pyplot as plt
import numpy as np
import random

2.1生成数据集

我们构造一个简单的人工训练数据集,它可以使我们能够直观比较学到的参数和真实的模型参数的区别。设训练数据集样本数为1000,输入个数(特征数)为2。给定随机生成的批量样本特征 X ∈ R 1000 × 2 , 我 们 使 用 线 性 回 归 模 型 真 实 权 重 w = [ 2 , − 3.4 ] T 和 偏 差 b = 4.2 , 以 及 一 个 随 机 噪 声 项 ϵ 来 生 成 标 签 X\in R^{1000}\times2,我们使用线性回归模型真实权重 w=[2,−3.4]^T和偏差b=4.2,以及一个随机噪声项\epsilon来生成标签

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值