找回密码
 立即注册
搜索

「精读」自然言语处理基础之softmax函数

在后面几节【精读】中,终极君向大家引见了自然言语处理中的几个重要的基础内容。

这些内容外面都有一个异样的部分--softmax函数。

也就是各种类型的神经网络和言语模型最后输入的一个激活函数

先举个例子





在深度学习中,最常见的就是多分类成绩。

比如我们要让人工智能判别图片的内容。

判别之前我们曾经训练人工智能可以辨认小猫,小狗,小兔(3种动物)。




再让它去区分一张从未见过的新图片。

而最后的结果又是互斥的(即这张图片不能既是小猫又是小狗)

那么首先我们要建立数学的映射关系ϕ1(x)。

将我们的图片和结果(上述的3种动物)分别对应起来,那么ϕ1(x)会映射到一个3维向量(y={c1,c2,c3})当中。

向量中的每一维,都对应着一个能够的分类结果(如c1=1或0,是小猫或不是小猫)。

由于结果是互斥的,所以y存在以下n种方式:小猫=[1,0,0],小狗=[0,1,0],小兔=[0,0,1]

电脑看了这张新图片后,假设最后输入的结果为:新图片= [3,1,-3]

那么我们经过softmax的函数公式,计算得到不同类别之间的相对概率,新图片=[0.88,0.12,0]。不难发现0.88最大,也就是说这张图片是小猫的能够性最大。

概念组成

我们首先来看softmax这个词的组成:

max:从数学下去讲,有两个数a和b, 假如a>b,当取max的时分,就直接取a,没有第二种能够。

用代码表示 if a > b return a; else b

在分类成绩中(尤其是多分类成绩),这样做太相对了些。

所以我们更想用一个概率去表示分类结果,也就是说大的那个我们常常可以获得到,但是小的那个偶然也可以获得到。

这个时分softmax就派上用场了,它把分类结果映射为0-1之间的实数,并且归一化保证和为1,因此分类的概率之和也刚好为1。

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




即该元素的对数值与一切的元素对数的和的比值

下图更笼统的展现了softmax函数的详细求解过程




好了,明天就先讲到这儿

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

大神点评3

大佬,这是大佬
回复

使用道具 举报

茻匸 2019-6-5 16:55:35 显示全部楼层
好棒的分享楼主多写点吧,写完记得通知我,哈哈
回复

使用道具 举报

zlc940218 2019-6-7 07:17:45 显示全部楼层
众里寻他千百度,蓦然回首在这里!
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies