Softmax函数
softmax
函数常用于多分类问题,我们希望模型的输出可以作为预测的概率,即输出值越大的那个参数在预测的时候很有可能就是正确答案。
但是回想一下概率的计算公式(扔骰子),对于总的概率空间样本来说,其概率的总和一定是1,而我们的预测输出基本上总和不可能是1,这里softmax
函数的作用就是压缩这些输出值,从而使用概率的方式进行表示
softmax函数长这样
给定一个K维向量$ z=[z_1,z_2,…,z_K]$,Softmax函数的定义为:
这里,$\mathbf{z}$ 是一个K维向量,$z_j$ 是向量中的第 $j$ 个元素,$ 1 \leq j \leq K$。
$$ \sigma(\mathbf{z})j = \frac{e^{z_j}}{\sum{k=1}^{K} e^{z_k}} $$
计算过程
对于给定的一个list
输入,先计算得到softmax
函数的分母值
|
|
我们也可以使用numpy
进行计算
|
|
numpy
的方便之处在于不用编写循环和计算快!