线性回归从零开始实现

一、生成数据集

1、生成一个包含1000个样本的数据集,每个样本包含从标准正态分布中采样的2个特征。所以生成的样本集合就是一个1000*2的矩阵。使用线性模型参数w=[2,−3.4]⊤、b=4.2和噪声项ϵ生成数据集及其标签。

2、可以将ϵ视为捕获特征和标签的潜在观测误差

 

%matplotlib inline
 
#matplotlib包用于作图,且设置成嵌入显示
import random #因为要随机梯度下降和初始化权重
import torch
from d2l import torch as d2l
 
 
#人造数据集:就是知道W与b
#生成数据集
def synthetic_data(w, b, num_examples):  #@save num_example为样本个数
    """生成 y = Xw + b + 噪声。"""
     
    # normal:返回一个张量,包含了从指定均值means和标准差std的离散正态分布中抽取的一组随机数
    X = torch.normal(0, 1, (num_examples, len(w)))   #均值为0,方差为1
     
    # matmul:矩阵乘法
    y = torch.matmul(X, w) + b
     
    # 生成噪音
    y += torch.normal(0, 0.01, y.shape)  #增加复杂度噪音,均值为0,方差为0.01,形状和Y相同
    return 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值