9.4 Softmax回归从零实现
这一段代码可能有点难理解
首先明确,这是2个样本在3个类别的预测问题
y = torch.tensor([0,2])
y_hat = torch.tensor([[0.1,0.3,0.6],[0.3,0.2,0.5]])
y_poss = y_hat[[0,1],y]
y代表样本真实标签,这里表示两个样本的真实标签分别是0和2
y = torch.tensor([0,2])
y_hat是所得的预测概率tensor,可以看到一行相加值为1,即每行代表一个样本的三种类别上预测概率
y_hat = torch.tensor([[0.1,0.3,0.6],[0.3,0.2,0.5]])
y_hat [ [0,1 ] , y ]中,0、1分别表示第一个和第二个样本
取第i个数据真实标签值的概率,即取第一个样本和第二个样本真实标签值(0,2)的概率
y_poss = y_hat[[0,1],y]
所以最后的输出应该是
tensor[0.1000,0.5000]