PyTorch 深度学习实践 第9讲:多分类问题(上)
第9讲:多分类问题(上)
- 用softmax 解决多分类问题
- 用pytorch 实现多分类问题
1.softmax

softmax:让线形层的输出结果(进行softmax前的input)有负数,通过幂指变换,得到正数。所有类的概率求和为1。
2.softmax如何做到上面的操作:

- 对每一L层的输出进行幂指运算,使其>0
- 所有K个分类的输出幂指再求和,结果=1
- 计算各分类的分布
example:
输入向量的每个元素求指数,与它们求和的结果相除,可以得到各个类的分布函数

3.交叉熵损失Cross Entropy in PyTorch

说明:
-
标签y的类型是LongTensor。此处torch.LongTensor([0])说明下标0是1.
比如说0-9分类问题,如果y = torch.LongTensor([2]),对应的one-hot是[0,1,0,0,0,0,0,0,0,0]. -
CrossEntropyLoss <==> LogSoftmax + NLLLoss。
LogSoftmax = softmax + Log
nn.CrossEntropy,nn.NLLLoss,nn.BCELoss的区别和使用
https://pytorch.org/docs/stable/nn.html#nllloss
https://pytorch.org/docs/stable/nn.html#crossentropyloss

浙公网安备 33010602011771号