美文网首页
Machine Learning基础:softmax函数

Machine Learning基础:softmax函数

作者: 肥了个大西瓜 | 来源:发表于2018-11-06 20:15 被阅读0次

1. softmax函数介绍

  softmax用于多分类过程中,它将多个神经元的输出,映射到(0,1)区间内,可以看成概率来理解,从而来进行多分类!

  假设我们有一个数组,V,Vi表示V中的第i个元素,那么这个元素的softmax值就是

image

  更形象的如下图表示:

image

2 softmax相关求导

  当我们对分类的Loss进行改进的时候,我们要通过梯度下降,每次优化一个step大小的梯度,这个时候我们就要求Loss对每个权重矩阵的偏导,然后应用链式法则。那么这个过程的第一步,就是对softmax求导传回去,不用着急,我后面会举例子非常详细的说明。在这个过程中,你会发现用了softmax函数之后,梯度求导过程非常非常方便!

  下面我们举出一个简单例子,原理一样,目的是为了帮助大家容易理解!

image

  我们能得到下面公式:

  z4 = w41o1+w42o2+w43*o3

  z5 = w51o1+w52o2+w53*o3

  z6 = w61o1+w62o2+w63*o3

  z4,z5,z6分别代表结点4,5,6的输出,01,02,03代表是结点1,2,3往后传的输入.

  那么我们可以经过softmax函数得到

[图片上传失败...(image-80ab41-1541506525579)]

[图片上传失败...(image-49cd48-1541506525579)]

[图片上传失败...(image-af16d3-1541506525579)]

  要使用梯度下降,肯定需要一个损失函数,这里我们使用交叉熵作为我们的损失函数,交叉熵函数形式如下:

  利用链式法则求导,举个例子此时求w41的偏导为:

image

  w51.....w63等参数的偏导同理可以求出,那么我们的关键就在于Loss函数对于结点4,5,6的偏导怎么求,如下:

  这里分为俩种情况:

  第一种情况为j=I的情况:

image

  第二种情况为j!=I的情况:

image

Reference:

  1. 详解softmax函数以及相关求导过程

相关文章

网友评论

      本文标题:Machine Learning基础:softmax函数

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