神经网络(Softmax函数)

0 阅读1分钟

前向传播

数据在神经网络中从输入层流向输出层的过程,逐层计算得到最终预测结果

Softmax分类器

将一个人任意实数向量(通常是分类器输出的分数)转换为一个概率分布,使得所有输出值在(0,1)之间且总和为1。通常用于多分类问题的输出层。

公式

对于输入向量z = [z1,z2,...,zk](K个类别),softmax的第i个输出为:

image.png

其中e是自然常数,指数运算保证了输出为正数

案例

假设三分类

s=[s猫,s狗,s鸟] = [3.2,5.1,-1.7]

步骤一:计算每个类别的指数

  • e3.2 ≈ 24.53
  • e5.1 ≈ 164.02
  • e-1.7 ≈ 0.1827

步骤二:计算指数和

sum = 24.53 + 164.02 + 0.1827 = 188.7327

步骤三:每个指数除以总和,得到概率

  • P(猫) = 24.53 / 188.7327 ≈ 0.13 (13%)
  • P(狗) = 164.02 / 188.7327 ≈ 0.869 (86.9%)
  • P(鸟) = 0.1827 / 188.7327 ≈ 0.001 (0.1%)

Softmax输出为[0.13,0.869,0.001],模型预测狗的概率最高

Softmax的作用

  • 归一化:将任意范围的分数压缩到(0,1)且和为1,可解释为概率
  • 放大差异:指数函数会扩大较大分数之间的差距,使最大概率更突出(例如5.1比3.2大1.9,但是概率比是0.869:0.13)