关于SoftMax函数的一些介绍[通俗易懂]

您所在的位置:网站首页 关于概率的通俗书籍名称有哪些 关于SoftMax函数的一些介绍[通俗易懂]

关于SoftMax函数的一些介绍[通俗易懂]

2024-07-04 10:39| 来源: 网络整理| 查看: 265

大家好,又见面了,我是你们的朋友全栈君。

前言

SoftMax函数是在机器学习中经常出现的,时常出现在输出层中。对于这个函数,大部分blog作者对于它介绍已经很完善了,包括如何玄学设计,如何使用等等,这里只是从数学来源上讨论下这个函数名字的来历,或者说数学的来源,为什么叫做Soft Max(有没有Hard Max)等等。

1.Soft Max的形式

Soft Max 函数,全名Soft Maximum函数。从机器学习过来的同学,更熟其形式为 σ ( z ) j = e z j Σ k = 1 K e z k , ( 1 ) \sigma(\mathbf{z})_j=\frac{e^{z_j}}{\Sigma^{K}_{k=1}e^{z_k}}, (1) σ(z)j​=Σk=1K​ezk​ezj​​,(1)for j = 1 , . . . , K j=1,…,K j=1,...,K. 也被称为归一化指数函数,可以认为其是logistic 函数的一种一般化推广[1](当k=2就是logistic函数),其将任意的K维实向量 z \mathbf{z} z压缩到(squash)各分量为0-1上的K维实向量 σ ( z ) \sigma(\mathbf{z}) σ(z),并且所有的分量加起来为1(为了保证映射后 σ ( z ) j \sigma(\mathbf{z})_j σ(z)j​加在一起和为1,你可以理解成概率值)。在概率论里面将softmax函数的输出用来作为分类分布[2](Categorical distribution)。这也就是softmax函数广泛应用于多类分类器,例如:softmax回归,多类线性判别分析,朴素贝叶斯分类,人工神经网络,以及,最近火热的各种深度学习(ai算法)等等。 相关数学性质详细介绍可以看参考文献[1]以及各类文献。本文在这里无意重复这些工作(例如softmax的求导优势),我们想讨论的是,这个函数的数学由来(而不是数学特性)。

2.大家都想知道的问题

实际上,很多人都想问的一个问题是,softmax函数中的soft如何解释,是不是有hard max,到底这里是怎么算的soft,文献[3][4][5]就是关于这个问题的一部分讨论。 一句话解释:实际上softmax对应的是(hard)max函数即 m a x ( x 1 , . . . , x n ) max(x_1,…,x_n) max(x1​,...,xn​)。如果在此基础上用类似(1)构造一个n维的映射,你会发现,max函数将 x i x_i xi​中最大的数映射到1,其他的都映射到0,而softmax是对max函数的soft,如图。 其中红线是 m a x ( 0 , x ) max(0,x) max(0,x), 蓝色线是 s o f t m a x ( 0 , x ) softmax(0,x) softmax(0,x).

关于SoftMax函数的一些介绍[通俗易懂]关于SoftMax函数的一些介绍[通俗易懂]

Figure 1. “softmax function” vs “max function” from: Abhishek Patnia

至于为什么叫做softmax,其一是因为是Max函数的一种近似,其二是因为它光滑(smooth)近似了Max函数,注意它在0点的尖锐部分(不可导点)它光滑了函数。

3. Softmax详细解释

让我们从头开始说,这部分内容主要参考自文献[6],加上一部分自己的理解。主要讨论如下的一些问题。

到底soft maximum是什么,他为什么被叫做这个名字怎么和maximum函数联系起来的maximum函数的sharp edges是怎么个意思soft maximum函数的优势有哪些怎么来控制soft 的程度

首先,我们给出两种函数的对比: f ( x , y ) = m a x ( x , y ) , ( 2. a ) f(x,y)=max(x,y),(2.a) f(x,y)=max(x,y),(2.a) g ( x , y ) = L o g ( e x + e y ) , ( 2. b ) g(x,y)=Log(e^x+e^y) ,(2.b) g(x,y)=Log(ex+ey),(2.b) (可以扩展到n维形式)。其中a是我们常见的求两个数的最大值的函数形式,我们在这里为了方便对应,称其为(hard)maximum函数,b是 soft maximum函数(实际上(1)中的soft maximum是在机器学习在分类中的应用形式)。

其次,我们解释下为什么称b(soft maximum)函数是a(hard maximum)近似。假设b中 x ; y x;y x>y, x x x是略大的数,那么经过 e x e^x ex放大后 e x ; ; e y e^x;;e^y ex>>ey,将会远远的大于 e y e^y ey(注, x ; 0 x;0 x



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3