多分类-softmax

本文来自于网易云课堂

Softmax回归

前面介绍的都是2分类问题,如果是多分类的问题怎么办呢?
多分类-softmax
最后一层输出的是一个向量,里面代表了各个概率,其总和为1。
多分类-softmax
对于l-1层,训练过程和二分类一样,对于l层,**函数有些区别,需要输入一个4*1维向量然后归一化输出4*1维向量。
Z[l]=W[l]a[l1]+b[l]
然后计算一个临时变量t
t=ez[l]
a[l]=ez[l]j=14ti
以没有隐藏层的网络为例,可以看出,其便捷都是线性的。
多分类-softmax
softmax与所谓的hardmax相反。对于hardmax来说,它会把向量中最大的量置为1,而其他值变为0,感觉很硬。而softmax让这种从z到概率的映射感觉更为温和。当分类问题变成两类,即C=2,那么softmax就会退回到logistic回归。比如softmax回归输出为[0.8 0.2],但是由于向量元素和为1,其实只需要知道1个就可以了,这样就变成了logistic回归。
多分类-softmax
多分类-softmax
实际上,损失函数的表达式是这样的:
L(y^,y)=j=14yjlogy^j
因为y^是小于1的,所以前面加了-,假如y2=1,y1=y3=y4=0,因为梯度下降法是用来减少损失的,所以应该让y^2更大,这样损失就小。这个过程和极大似然法比较相似。