softmax 简析

什么是softmax

意为 soft max,柔软的最大值。softmax的数学公式为

                       (1)

一组原始数据共k个Z_1 Z_2Z_3...Z_jZ_{j+1}...Z_k (j=1...k),每一个元素Z_j根据公式(1)转为 \sigma (Z)_j  ,得到一组新的数据共k个。即将原有数据指数后标准化处理为0~1间的数,且k个数据总和为1.

 

这样的softmax公式一般用于分类问题。

 

如何用softmax分类:

1,人们对样本进行分类时,一般会给每个样本一些特征值,如样本学生A:数学12分,英语16分,生物20分。例子中的一系列分数值即为研究样本的特征,在此例中,共3个特征。

即输入值A(12,16,20),即输入值X(X_1, X_2, X_3X_2X_3

 

2,在输入值的基础上,使用一定分类器F,y=F(x),根据自己需要的类别数确定一共输出几个y,如两类,(1,0),(0,1),则输出值(y_1 ,y_2),希望y_1 ,y_2的值尽可能接近(1,0)或者(0,1)。由于分类器不定,输出的y_1 ,y_2不一定在(0,1)之间,所以需要一个对y_1 ,y_2标准化处理的过程。这时就可以使用softmax公式,将y_1 ,y_2,转化成0~1之间的数。

 

3,对分类器输出值y_1 ,y_2,使用softmax函数,转化成0~1之间的数。

4,经过softmax的y_1 ,y_2,只是0~1间的数,并非绝对的(1,0)(0,1),即计算出的样本分类值和实际样本的分类值之间有差距,好的分类器需要使两者之间的差距尽可能小。这时候需要一个损失函数,来表述计算样本分类值和实际样本的分类值的差距。损失函数最小,差距最小,分类器越好。这里可以采用交叉熵函数计算。

 

综上过程回答两点:

1,什么是softmax函数

将一组数据标准化为0~1的一组数据,且数的总和为1

2,softmax函数如何用到分类问题上

将特征值输入到分类器,得到分类器输出值,对这组输出值使用softmax使输出值成为0~1之间的数,将计算输出值与实际样本输出值(一般为one-hot输出)计算损失函数,损失函数极小值时,训练得到模型最优参数。

one-hot:一组数据中,只有1个数为1,其他都为0。在分类中应用,分n类(n=3),其中一类的标签one-hot为(1,0 ,0 ),(0,1,0),(0,0,1)

 

 

你可能感兴趣的:(softmax 简析)