关于sigmoid和softmax

  • sigmoid和softmax是神经网络输出层使用的激活函数,分别用于两类判别和多类判别。binary cross-entropy和categorical cross-entropy是相对应的损失函数。
  • 两个函数的主要目的是对神经网络的输出logits值转化为概率。
    • 下文的logits值由ziz_izi​表示
  • 我们这里主要讨论两个问题,为什么这两个函数ziz_izi​越大,概率越大呢

sigmoid函数

f(z)=11+exp(−z)=(1+exp(−z))−1 f(z) = \frac {1} {1+exp(-z)} = {(1+exp(-z))}^{-1} f(z)=1+exp(−z)1​=(1+exp(−z))−1

即二分类概率p=f(z)p = f(z)p=f(z)

IMG_1865

由此,ppp表示的是概率,故p∈(0,1)p\in (0,1)p∈(0,1),其导数也是大于零的,对zzz越大明显有ppp越大

softmax函数

Pk=exp(zk)∑iexp(zi) {P}_{k}=\frac {exp({z}_{k})} {\sum _{i} {exp({z}_{i})}} Pk​=∑i​exp(zi​)exp(zk​)​

对于一个序列[z1,...,zk,...,zn][{z}_{1},...,{z}_{k},...,{z}_{n}][z1​,...,zk​,...,zn​]表示神经网络的输出logits值

将其转换为概率序列[p1,...,pk,...,pn][{p}_{1},...,{p}_{k},...,{p}_{n}][p1​,...,pk​,...,pn​],从softmax公式上可以看出,本质上是做一个归一化。

IMG_1867

由上图可以看出zk{z}_{k}zk​越大pk{p}_{k}pk​越大//zj{z}_{j}zj​越大pk{p}_{k}pk​越小


Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐