0 写在前面
- 二分类问题是多分类问题的一种特殊情况,区别在于多分类用softmax代替sigmoid函数。
- softmax函数将所有分类的分数值转化为概率,且各概率的和为1。
1 softmax函数
- softmax函数首先对所有的输出值通过指数函数,将实数输出映射到正无穷
- 然后将所有的结果相加作为分母
2 数据预处理
首先cluster数据,形状为500×2,各元素值为1。然后用normal()函数,以4为均值,2 为标准差生产data0
其他同理
import torch
import matplotlib.pyplot as plt
cluster = torch.ones(500, 2)
data0 = torch.normal(4*cluster, 2)
data1 = torch.normal(-4*cluster, 1)
data2 = torch.normal(-8*cluster, 1)
label0 = torch.zeros(500)
label1 = torch.ones(500)
label2 = 2*label1
x = torch.cat((data0, data1, data2), ).type(torch.FloatTensor)
y = torch.cat((label0, label1, label2), ).type(torch.LongTensor)
plt.scatter(x.numpy()[:, 0], x.numpy()[:, 1], c=y.numpy(), s=10, lw=0, cmap='Accent')
plt.sh