《动手学深度学习》笔记

这篇博客详细记录了《动手学深度学习》中Task01的学习笔记,涵盖了线性回归的模型、数据集、损失函数和优化方法的解释,并给出了PyTorch实现。接着介绍了Softmax如何解决分类模型的问题,包括其转换公式和训练预测过程。最后讨论了多层感知机中的激活函数选择,如ReLU和Sigmoid,并提供了多层感知机的PyTorch代码示例。
摘要由CSDN通过智能技术生成

《动手学深度学习》pytorch学习笔记

Task01:线性回归、Softmax与分类模型、多层感知机

刚开始学习pytorch,用打卡的方式来记录一下

1.线性回归

线性回归属于判别模型。什么是判别模式?
判别模型是由数据直接学习决策函数 y=f(x),或者由条件概率分布概率 P(y|x) 作为预测模型。判别模型是监督学习的一类,另外一类是生成模型。

生成模型即由数据学习联合概率密度分布函数 p(x,y) ,然后求出条件概率分布p(y|x) 作为预测的模型。

线性回归的基本要素
模型: 即输出与输入为线性关系,比如经常用 y=wx+b 来表示
数据集: 通常分为训练集和测试集。比如在房价预测中,一座房子为一个样本,它的真实售价为标签(y),用来预测标签的因素为特征(x)。
损失函数: 在模型的训练过程中,需要衡量预测值和真实值之间的误差。一般情况下选择平方损失。第i个样本的误差及模型的损失函数
优化函数: 由于大多数深度学习模型不能直接求出解析解,因此只能将优化算法进行有限次迭代来尽可能降低损失函数的值。其中,小批量随机梯度下降(mini-batch stochastic gradient descent)在深度学习中被广泛使用。它的算法很简单:先选取一组模型参数的初始值,如随机选取;接下来对参数进行多次迭代,使每次迭代都可能降低损失函数的值。在每次迭代中,先随机均匀采样一个由固定数目训练数据样本所组成的小批量(mini-batch) B ,然后求小批量中数据样本的平均损失有关模型参数的导数(梯度),最后用此结果与预先设定的一个正数的乘积作为模型参数在本次迭代的减小量。

小批量随机梯度下降
下面是线性回归模型使用pytorch的简洁实现:

import torch
from torch import nn
import numpy as np
torch.manual_seed(1)

print(torch.__version__)
torch.set_default_tensor_type('torch.FloatTensor')

生成数据集 这里使用线性模型来生成数据集

num_inputs = 2
num_examples = 1000

true_w = [2, -3.4]
true_b = 4.2

features = torch.tensor(np.random.normal(0, 1, (num_examples, num_inputs)), dtype=torch.float)
labels = true_w[0] * features[:, 0] + true_w[1] * features[:, 1] + true_b
labels += torch.tensor(np.random.normal(0, 0.01, size=labe

读取数据集

import torch.utils.data as Data

batch_size = 10

# combine featues and labels of dataset
dataset = Data.TensorDataset(features, labels)

# put dataset into DataLoader
data_iter = Data.DataLoader(
    dataset=dataset,            # torch TensorDataset format
    batch_size=batch_size,      # mini batch size
    shuffle=True,               # whether shuffle the data or not
    num_workers=2,              # read data in multithreading
)

                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值