pytorch深度学习

1、线性回归

模型
为了简单起见,这里我们假设价格只取决于房屋状况的两个因素,即面积(平方米)和房龄(年)。接下来我们希望探索价格与这两个因素的具体关系。线性回归假设输出与各个输入之间是线性关系:
在这里插入图片描述
损失函数
在模型训练中,我们需要衡量价格预测值与真实值之间的误差。通常我们会选取一个非负数作为误差,且数值越小表示误差越小。一个常用的选择是平方函数。 它在评估索引为i的损失函数为i的样本误差的表达式为:
在这里插入图片描述
优化函数 - 随机梯度下降
在求数值解的优化算法中,小批量随机梯度下降(mini-batch stochastic gradient descent)在深度学习中被广泛使用。它的算法很简单:先选取一组模型参数的初始值,如随机选取;接下来对参数进行多次迭代,使每次迭代都可能降低损失函数的值。在每次迭代中,先随机均匀采样一个由固定数目训练数据样本所组成的小批量(mini-batch)β, 然后求小批量中数据样本的平均损失有关模型参数的导数(梯度),最后用此结果与预先设定的一个正数的乘积作为模型参数在本次迭代的减小量。
在这里插入图片描述
学习率:η 代表在每次优化中,能够学习的步长的大小
批量大小: B是小批量计算中的批量大小batch size
pytorch命令

gather:
y.gather(dim = ,index = )  dim =1表示按行寻找  index表示索引为几的位置
yield  可看做  return
view可看做reshape
一个元素张量用item()可以得到元素值
w = torch.tensor(np.random.normal(0, 0.01, (num_inputs, 1)), dtype=torch.float32)  #初始化w
b = torch.zeros(1, dtype=torch.float32)  #初始化b
w.requires_grad_(requires_grad=True)  #求w梯度
b.requires_grad_(requires_grad=True) #b的梯度
y_hat = torch.mm(X, w) + b  #线性模型
loss = (y_hat - y.view(y_hat.size())) ** 2 / 2   #损失值
loss.backward()  #反向传播
torch.tensor(np.random.normal(0, 0.01, size=labels.size()), dtype=torch.float)

sotfmax分类

softmax主要解决问题:
1.由于输出层的输出值的范围不确定,难以直观上判断这些值的意义。例如,模型输出值10表示“很置信”图像类别为猫,因为该输出值是其他两类的输出值的100倍。但如果,那么输出值10却又表示图像类别为猫的概率很低。
2.另一方面,由于真实标签是离散值,这些离散值与不确定范围的输出值之间的误差难以衡量。
在这里插入图片描述
softmax分类模型矢量计算表达式为:
在这里插入图片描述
在这里插入图片描述
交叉熵损失函数:

在这里插入图片描述

print(X.sum(dim=0, keepdim=True)) #dim=0表示按列求和,dim=1表示按行  keepdim表示是否按原来的维度保留行特征或者列特征

多层感知机

在这里插入图片描述
在这里插入图片描述
激活函数包括:
1、relu激活函数 范围[0,+∞)
在这里插入图片描述

relu激活函数图像及其梯度图像
2、sigmoid激活函数 范围(0,1)
在这里插入图片描述
sigmoid激活函数图像及其梯度图像
3、tanh激活函数 范围(-1,1)
在这里插入图片描述
tanh激活函数图像及其梯度图像

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PyTorch是一个基于Python的开源深度学习框架,它提供了丰富的工具和库,用于构建和训练神经网络模型。以下是PyTorch深度学习的一些重要特点和组成部分: 1. 张量(Tensor):PyTorch使用张量作为数据的基本单位,类似于NumPy的多维数组。张量可以在CPU和GPU上进行计算,并且支持自动求导。 2. 动态计算图:PyTorch使用动态计算图来跟踪和优化神经网络模型的计算过程。这意味着你可以在运行时改变计算图的结构,使得模型的构建更加灵活。 3. 自动求导:PyTorch提供了自动求导的功能,可以根据输入和输出自动计算梯度。这使得反向传播算法可以自动计算模型参数的梯度,从而进行模型的优化。 4. 模型构建:PyTorch提供了丰富的模型构建工具,包括各种层(如全连接层、卷积层、循环神经网络等)、激活函数、损失函数等。你可以使用这些工具来构建各种类型的神经网络模型。 5. 训练与推理:PyTorch提供了灵活的训练和推理接口,可以方便地进行模型的训练和预测。你可以使用内置的优化器(如SGD、Adam等)来优化模型参数,并使用训练数据进行模型的训练。然后,你可以使用训练好的模型进行推理,得到预测结果。 6. 生态系统:PyTorch拥有庞大的生态系统,有大量的社区贡献和第三方库支持。你可以使用这些库来扩展PyTorch的功能,例如图像处理、自然语言处理等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值