作者:心语忆录_288 | 来源:互联网 | 2023-10-14 10:47
文章转载自Softmax函数的特点和作用和Logistic分类器与softmax分类器,顺便加了一点自己的理解。Logistic分类器分类问题,是机器学习里最基础的问题
文章转载自Softmax函数的特点和作用以及Logistic分类器和Softmax分类器,顺便稍微增加了自己的理解。
Logistic分类器分类问题是机器学习中最基础的问题。
我们从最简单的二分类任务开始考虑。 假设要对西瓜是否成熟进行分类,对于每一个西瓜,都会有{熟、不熟} {熟、不熟}两个结果。 首先,我们必须自己知道西瓜是“熟”的、“不熟”的,或者是根据颜色,或者是根据敲击的声音如何判断。 这是下一步转变为数学映射关系的基础。
为了建立数学模型,必须将这个判断西瓜是否成熟的任务转化为数学关系。 假设“熟”对应于轴上的“1”,不熟对应于轴上的“0”。 下一步是两个映射关系 1 1 , 2 2
1将待分类西瓜样本(假设为s s )映射到一个轴上,#x03D5; 1(s )=z'role='presentation'1) s )=Z1 ) s )=z; 然后使用2(z )2(z )将第一个映射的结果映射到标签分类。 假设分类标记为{ 0,1 } { 0,1 },则通常会选择这样的步骤函数来创建第二个映射2。
2(z )=0,0.5,1,z0z=0z02 ) z )={ 0,z0.5,z=0 1,z0
然而,由于这样的阶跃函数是不连续的,并且在计算过程中不能导出,所以通常使用对数概率函数logistic function来代替它。 需要注意的是,这种替代并不是唯一的对数概率函数(logistic function )具有以下形式:
2(z )=11ez2) z )=11ez
函数的图像如下所示。
可见,zzz大于0时函数值迅速偏向1,小于0时迅速偏向0。 softmax函数
对于二分类任务,由于只有两种结果,#x03D5; 1 ) x ) role='presentat
ion">ϕ1(x)ϕ1(x)将样本 x x 映射到数轴上。而拓展到多分类任务时,假设有n" role="presentation">nn种结果,那么 ϕ1(x) ϕ 1 ( x ) 会映射到一个 n n 维向量(y={c1,c2,...,cn}" role="presentation">y={c1,c2,...,cn}y={c1,c2,...,cn})当中。向量中的每一维,都对应着一个可能的分类结果( ci=0 c i = 0 或1)。由于结果是互斥的,所以 y y 存在以下n" role="presentation">nn种形式:
y1=⎡⎣⎢⎢⎢⎢10⋮0⎤⎦⎥⎥⎥⎥,y2=⎡⎣⎢⎢⎢⎢01⋮0⎤⎦⎥⎥⎥⎥,⋯,yn=⎡⎣⎢⎢⎢⎢00⋮1⎤⎦⎥⎥⎥⎥ y 1 = [ 1 0 ⋮ 0 ] , y 2 = [ 0 1 ⋮ 0 ] , ⋯ , y n = [ 0 0 ⋮ 1 ]
先看下softmax函数的公式:
P(y|x)=eh(x,yi)∑nj=1eh(x,yi) P ( y | x ) = e h ( x , y i ) ∑ j = 1 n e h ( x , y i )
Softmax 的输出表征了不同类别之间的相对概率。
假设最后输出的向量是:
v=⎡⎣⎢⎢⎢−32−10⎤⎦⎥⎥⎥ v = [ − 3 2 − 1 0 ]
根据softmax,计算得到:
s=⎡⎣⎢⎢⎢0.00570.83900.04180.1135⎤⎦⎥⎥⎥ s = [ 0.0057 0.8390 0.0418 0.1135 ]
我们可以清晰地看出, s2=0.8390 s 2 = 0.8390 ,对应的概率最大,则更清晰地可以判断预测为第2类的可能性更大。根据向量 v v ,其实也可以判断出那个类别更可能,之所以写成softmax的形式,可能是为了后面的计算能够求导,计算梯度。
参考 Softmax的理解与应用三分钟带你对 Softmax 划重点斯坦福大学深度学习公开课cs231n学习笔记(1)softmax函数理解与应用softmax的多分类周志华的“西瓜书”