Softmax概念:
Softmax
函数主要用于多分类问题。由于网络层的输出的区间一般是无法确定的,所以就需要将结果进行generalize
,softmax
的工作就是将输出转化为值为正且同一组输出值的和为1的一组概率值,将所有输出结果放入到同一个标尺中进行衡量,能够更加有效的估计输出值的误差。
理解起来也很容易,将大家看为一个整体,以整体为一个基准,看每个输出在整体中的占比(影响力)。这种方法也叫归一化,在数据预处理时经常会看到。
假设最终预测结果为三类,分别为 y 1 , y 2 , y 3 y_1,y_2,y_3 y1,y2,y3,特征为 x 1 , x 2 , x 3 , x 4 x_1,x_2,x_3,x_4 x1,x2,x3,x4,经过网络层后的输出值为 o 1 , o 2 , o 3 o_1,o_2,o_3 o1,o2,o3, y ^ 1 , y ^ 2 , y ^ 3 \hat{y}_{1},\hat{y}_{2},\hat{y}_{3} y^1,y^2,y^3为经过softmax
处理后的分类结果。其式子如下:
o 1 = x 1 w 11 + x 2 w 21 + x 3 w 31 + x 4 w 41 + b 1 o 2 = x 1 w 12 + x 2 w 22 + x 3 w 32 + x 4 w 42 + b 2 o 3 = x 1 w 13 + x 2 w 23 + x 3 w 33 + x 4 w 43 + b 3 \begin{aligned} &o_{1}=x_{1} w_{11}+x_{2} w_{21}+x_{3} w_{31}+x_{4} w_{41}+b_{1}\\ &\begin{array}{l} {o_{2}=x_{1} w_{12}+x_{2} w_{22}+x_{3} w_{32}+x_{4} w_{42}+b_{2}} \\ {o_{3}=x_{1} w_{13}+x_{2} w_{23}+x_{3} w_{33}+x_{4} w_{43}+b_{3}} \end{array} \end{aligned} o