2.2.3 Softmax输出分类

Softmax函数也称归一化指数函数或多项(Multinomial)、多类(Multi-Class)的回归。将一个含任意实数的K维向量Z压缩到一个K维实向量σz)中,使得向量中每一个元素的值都在(0,1)区间,且所有元素的和为1,即向量离散概率分布的梯度对数归一化。

在人工神经网络中,该函数主要用于解决多分类问题。对于多分类任务,类别标签y∈{1,2,…,K},可以有K个取值。Softmax回归预测的属于每个分类i的概率为

其中,分母充当了正则项的作用,有

对于一个有K个神经元x的输出层,式(2-21)中的每个分类i的条件概率为

其中,wi是分类i的权重向量。

式(2-22)的向量形式表示为

其中,W=[w1,…,wK]是由K个类的权值向量组成的矩阵;1KK维的全1向量;为所有类别的预测条件概率组成的向量,第i维的值是分类i的预测条件概率。

Softmax模型的训练过程为首先初始化W0←0,然后通过下式进行迭代更新:

其中,η是学习率;是当参数为Wt时,Softmax模型的输出。

例2.1 某个神经元网络有7个输出值,向量为[1.0,2.0,3.0,10.0,1.0,2.0,3.0]。求Softmax函数的值,并输出一个one-hot编码形式的二分类结果。

解:因为e1≈2.72,e2≈7.39,e3≈20.09,e4≈22026.47,e5≈2.72,e6≈7.39,e7≈20.09,所以有

P5≈0.00012

P6≈0.00033

P7≈0.00091

因此最后输出二分类one-hot编码形式的结果为[0,0,0,1,0,0,0]。以下为例2.1的代码实现过程。