Pytorch深度学习(六):Softmax函数实现多分类
- 参考B站课程:《PyTorch深度学习实践》完结合集
- 传送门:《PyTorch深度学习实践》完结合集
一、预备知识
-
多分类
与之前的二分类不同,这个例子要识别手写数字的多分类
需要求出各类别的概率分布,且这些概率之和为1 -
Softmax函数
softmax函数,又称归一化指数函数。它是二分类函数sigmoid在多分类上的推广,目的是将多分类的结果以概率的形式展现出来。下图展示了softmax的计算方法
下面给出一个简单的例子,展示softmax层的计算
同样,在处理手写数字图片识别时,我们可以通过softmax层求出概率分布 -
LOSS函数——交叉熵
我们不再使用之前的BCE损失函数(用于二分类)来度量,而选用CrossEntropy损失函数。
其中 Y ^ \hat{Y} Y^ 为预测的概率分布, Y Y Y 为训练集的数据 -
激活函数:ReLu
与之前的Sigmoid函数不同,这里我们使用ReLU(Rectified Linear Unit,修正线性单元)函数:
R e L u ( x ) = max { 0 , x } = { x , x ≥ 0 0 , x < 0 ReLu(x) = \max\{0,x\}=\begin{cases} x,\qquad x\geq 0\\0,\qquad x<0 \end{cases} ReLu(x)&