![深度学习与神经网络](https://wfqqreader-1252317822.image.myqcloud.com/cover/351/46418351/b_46418351.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.2.3 Softmax输出分类
Softmax函数也称归一化指数函数或多项(Multinomial)、多类(Multi-Class)的回归。将一个含任意实数的K维向量Z压缩到一个K维实向量σ(z)中,使得向量中每一个元素的值都在(0,1)区间,且所有元素的和为1,即向量离散概率分布的梯度对数归一化。
在人工神经网络中,该函数主要用于解决多分类问题。对于多分类任务,类别标签y∈{1,2,…,K},可以有K个取值。Softmax回归预测的属于每个分类i的概率为
![](https://epubservercos.yuewen.com/2D541D/25638820209150006/epubprivate/OEBPS/Images/44429_57_1.jpg?sign=1738757078-9G37UiWKSN6IxVL0yNB4eYJHDZwadWO1-0-4258cc68a59f9b83c00d3a49ef6a1f37)
其中,分母充当了正则项的作用,有。
对于一个有K个神经元x的输出层,式(2-21)中的每个分类i的条件概率为
![](https://epubservercos.yuewen.com/2D541D/25638820209150006/epubprivate/OEBPS/Images/44429_57_3.jpg?sign=1738757078-bjHje5YjBhHQ4cYxKjW39UaojGWnYYJ7-0-44a24cf5cecde2377b8cd87d4481b8b4)
其中,wi是分类i的权重向量。
式(2-22)的向量形式表示为
![](https://epubservercos.yuewen.com/2D541D/25638820209150006/epubprivate/OEBPS/Images/44429_57_4.jpg?sign=1738757078-Rpwy70IPTzWI9LhVWIMqBXTLnm3p5pey-0-47e748e0cea4445309b23223a54e6229)
其中,W=[w1,…,wK]是由K个类的权值向量组成的矩阵;1K为K维的全1向量;为所有类别的预测条件概率组成的向量,第i维的值是分类i的预测条件概率。
Softmax模型的训练过程为首先初始化W0←0,然后通过下式进行迭代更新:
![](https://epubservercos.yuewen.com/2D541D/25638820209150006/epubprivate/OEBPS/Images/44429_57_6.jpg?sign=1738757078-6zBLICwvfSoT04N7TpqtoEK4gmQ7DhnQ-0-3dbaa6a119595c86b1d577864e94417e)
其中,η是学习率;是当参数为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,所以有
![](https://epubservercos.yuewen.com/2D541D/25638820209150006/epubprivate/OEBPS/Images/44429_58_2.jpg?sign=1738757078-CdpGTFxsj53Tu3FEl9n708ZIwZolObHP-0-c66ce7c11f96f09d840344204006b78c)
P5≈0.00012
P6≈0.00033
P7≈0.00091
因此最后输出二分类one-hot编码形式的结果为[0,0,0,1,0,0,0]。以下为例2.1的代码实现过程。
![](https://epubservercos.yuewen.com/2D541D/25638820209150006/epubprivate/OEBPS/Images/44429_58_3.jpg?sign=1738757078-0itbqmDrGrnXXNIfVA2HpoBTY0HJErRN-0-74e7f252effa2f08f517d482a02c2eb0)