第二周作业

3.1 线性回归

回归(regression)是指一类为一个或多个自变量与因变量之间关系建模的方法。

 回归和分类的比较

回归:

1.估计一个连续值  2. 单连续值输出  3.自然区间   4.跟真实值的区别作为损失

分类:

1.预测一个离散类别  2. 通常分为多个输出  3.输出i是预测为第i类的置信度

图片分类数据集

出现问题:在Jupyter notebook中用matplotlib.pyplot出现服务器挂掉、崩溃

已经找寻到解决方案:

在pytorch中导入以下模块:

 

3.5 图像分类数据集

MNIST数据集

 

读取数据集

Fashion-MNIST由10个类别的图像组成,每个类别由训练数据集中的6000张图像和测试数据集中的1000张图像组成。测试数据集(test dataset)不会用于训练,只用于评估模型性能。训练集和测试集分别包含60000和10000张图像。 

 

 

 每个输入图像的高度和宽度均为28像素。数据集由灰度图像组成,其通道数为1。

 Fashion-MNIST中包含的10个类别分别为t-shirt(T恤)、trouser(裤子)、pullover(套衫)、dress(连衣裙)、coat(外套)、sandal(凉鞋)、shirt(衬衫)、sneaker(运动鞋)、bag(包)和ankle boot(短靴)。以下函数用于在数字标签索引及其文本名称之间进行转换。

 

 3.5.2. 读取小批量

为了使我们在读取训练集和测试集时更容易,我们使用内置的数据迭代器,而不是从零开始创建一个。

 

读取训练数据所需的时间。

 定义load_data_fashion_mnist函数,用于获取和读取Fashion-MNIST数据集。它返回训练集和验证集的数据迭代器。

因此,权重将构成一个784×10784×10的矩阵,偏置将构成一个1×101×10的行向量。与线性回归一样,我们将使用正态分布初始化我们的权重W,偏置初始化为0。

 3.6.2. 定义softmax操作

我们现在已经准备好实现softmax操作了。回想一下,softmax由三个步骤组成: (1)对每个项求幂(使用exp); (2)对每一行求和(小批量中每个样本是一行),得到每个样本的归一化常数; (3)将每一行除以其归一化常数,确保结果的和为1。

 3.6.3. 定义模型

现在我们已经定义了softmax操作,我们可以实现softmax回归模型。下面的代码定义了输入如何通过网络映射到输出。注意,在将数据传递到我们的模型之前,我们使用reshape函数将每张原始图像展平为向量。

 

 3.6.4. 定义损失函数

 

不理解的代码 

 3.6.5. 分类准确率

首先,如果y_hat是矩阵,那么假定第二个维度存储每个类的预测分数。我们使用argmax获得每行中最大元素的索引来获得预测类别。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值