softmax回归
文章目录
一、softmax用来干什么?
-
单一的线性模型只能处理二分类问题,对于多分类问题,引入softmax回归
-
线性回归模型适用于输出为连续值的情景。在另一类情景中,模型输出可以是一个像图像类别这样的离散值。对于这样的离散值预测问题,我们可以使用诸如softmax回归在内的分类模型。和线性回归不同,softmax回归的输出单元从一个变成了多个,且引入了softmax运算使输出更适合离散值的预测和训练
二、代码
1.引入库
import torch
import torchvision.transforms as transforms
import matplotlib.pyplot as plt
import torchvision
from d2l import torch as d2l
train_data=torchvision.datasets.FashionMNIST(root='~/data',train=True,download=True,transform=transforms.ToTensor())
test_data=torchvision.datasets.FashionMNIST(root='~/data',train=False,download=True,transform=transforms.ToTensor())
说明1、train_data,test_data,分别是FashionMNIST数据集的训练集和测试集,其中对于下载下来的图像集,需要把它转换为tensor类型,否则返回的是PIL图像,并且此时的尺寸由(H W C)变为(C H W)
2.验证第一张图像的尺寸和类别
print(train_data[0][0].shape,train_data[0][1])
#torch.Size([1, 28, 28]) 9
3.展示前十张图片
def show_images(images):
plt.Figure()
_,figs = plt.subplots(1,10,figsize=(