什么是softmax
意为 soft max,柔软的最大值。softmax的数学公式为
(1)
一组原始数据共k个 (j=1...k),每一个元素根据公式(1)转为 ,得到一组新的数据共k个。即将原有数据指数后标准化处理为0~1间的数,且k个数据总和为1.
这样的softmax公式一般用于分类问题。
如何用softmax分类:
1,人们对样本进行分类时,一般会给每个样本一些特征值,如样本学生A:数学12分,英语16分,生物20分。例子中的一系列分数值即为研究样本的特征,在此例中,共3个特征。
即输入值A(12,16,20),即输入值X(,,)
2,在输入值的基础上,使用一定分类器F,y=F(x),根据自己需要的类别数确定一共输出几个y,如两类,(1,0),(0,1),则输出值( ,),希望 ,的值尽可能接近(1,0)或者(0,1)。由于分类器不定,输出的 ,不一定在(0,1)之间,所以需要一个对 ,标准化处理的过程。这时就可以使用softmax公式,将 ,,转化成0~1之间的数。
3,对分类器输出值 ,,使用softmax函数,转化成0~1之间的数。
4,经过softmax的 ,,只是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)