美文网首页
深度学习-softmax

深度学习-softmax

作者: 不烫的热水袋 | 来源:发表于2020-02-14 14:56 被阅读0次

1.基本概念

softmax regression是logistics regression的一般形式,两者都用于解决分类问题。区别在于,logistic regression一般用来解决二分类问题,而softmax regression 用来解决多分类问题。举例:

分类问题:根据给出的图像判断图中的动物为猫、狗还是鸡。

输入:2*2的图片,对应四象素为x_{1},x_{2}, x_{3},x_{4}

标签:猫,狗,鸡,对应的离散值为y_{1},y_{2},y_{3}

参数:\omega _{ij} ,b_{j}   (  1\leq i\leq 4,1\leq j\leq 3)

      softmax 回归是一个简单的神经网络

计算公式:


 \begin{aligned} o_1 &= x_1 w_{11} + x_2 w_{21} + x_3 w_{31} + x_4 w_{41} + b_1 \end{aligned}


 \begin{aligned} o_2 &= x_1 w_{12} + x_2 w_{22} + x_3 w_{32} + x_4 w_{42} + b_2 \end{aligned}




 \begin{aligned} o_3 &= x_1 w_{13} + x_2 w_{23} + x_3 w_{33} + x_4 w_{43} + b_3 \end{aligned}

假设最终\sigma_{1}=20,\sigma_{2}=2.7,\sigma_{3}=0.05,通过比较数值大小可知,该动物为猫。

输出问题:1.输出值大小不确定,没有具体含义。

                  2.真实值是离散值,与不确定范围的输出值之间的误差难以衡量。

解决办法:softmax operator。将一个K维的任意实数向量压缩(映射)成另一个K维的实数向量,其中向量中的每个元素取值都介于(0,1)之间并且和为1。 是不是有点像Logistic 中sigmod函数?

                              \hat{y}_1, \hat{y}_2, \hat{y}_3 = \text{softmax}(o_1, o_2, o_3)

                                \hat{y}1 = \frac{ \exp(o_1)}{\sum_{i=1}^3 \exp(o_i)},\quad \hat{y}2 = \frac{ \exp(o_2)}{\sum_{i=1}^3 \exp(o_i)},\quad \hat{y}3 = \frac{ \exp(o_3)}{\sum_{i=1}^3 \exp(o_i)}.

最终,输出值为\sigma_{1}=0.88,\sigma_{2}=0.12,\sigma_{3}=0.00。由此可知,该图中动物存在0.88的概率为猫,0.12的概率为狗,几乎不可能是鸡。因此该图中动物根据分类结果显示为猫。

相关文章

网友评论

      本文标题:深度学习-softmax

      本文链接:https://www.haomeiwen.com/subject/zavdfhtx.html