SoftMax 函数
Softmax在机器学习中有非常广泛的应用,刚看到论文时,一直奇怪SoftMax到底是什么东西,接下来就简要介绍一下什么是SoftMax函数。
s o f t m a x softmax softmax用来将多个输入映射到[0,1]空间去,且和为1,因此可以当作概率来使用。
假设我们有一个数组
V
V
V,
V
i
V_i
Vi表示
V
V
V中的第
i
i
i个元素,那么这个元素的softmax值就是:
S
i
=
e
i
∑
j
e
j
S_{i}=\frac{e^{i}}{\sum_{j} e^{j}}
Si=∑jejei
SoftMax 的求导相关
当我们对分类的Loss进行改进的时候,我们要通过梯度下降,每次优化一个step大小的梯度,这个时候我们就要求Loss对每个权重矩阵的偏导,然后应用链式法则。那么这个过程的第一步,就是对softmax求导传回去。在这个过程中,你会发现用了softmax函数之后,梯度求导过程非常非常方便!
计算与标注样本的差距
在神经网络的计算当中,我们经常需要计算
l
o
s
s
loss
loss来反向传播,我们定义
l
o
s
s
loss
loss为交叉熵:
L
i
=
−
log
(
e
f
y
i
∑
j
e
j
)
L_{i}=-\log \left(\frac{e^{f_{y_{i}}}}{\sum_{j} e^{j}}\right)
Li=−log(∑jejefyi)