【手推公式】softmax和logits
·
关于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)
由此,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=∑iexp(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公式上可以看出,本质上是做一个归一化。
由上图可以看出zk{z}_{k}zk越大pk{p}_{k}pk越大//zj{z}_{j}zj越大pk{p}_{k}pk越小
更多推荐
所有评论(0)