Softmax函数,损失函数,交叉熵,softmax损失函数详解

Softmax函数:

softmax用于多分类过程中,二分类一般是S型函数,S型函数可以看做是softmax函数的特殊形式!

softmax的数学公式:

Softmax函数,损失函数,交叉熵,softmax损失函数详解_第1张图片

例子:

假设数组v=[3,1,-3],则数组v中每个元素经过softmax()的值如下:

Softmax函数,损失函数,交叉熵,softmax损失函数详解_第2张图片

以上是softmax()函数的详解!!!

损失函数:

衡量期望值与实际值之间的误差的函数。深度学习的目的是最小化损失函数!因为期望值与实际值之间误差越小所得的模型的权重系数越好!

交叉熵函数(该函数越小预测结果越正确):

交叉熵就是用来判定实际的输出与期望的输出的接近程度!!!交叉熵刻画的是实际输出(概率)与期望输出(概率)的距离,也就是交叉熵的值越小,两个概率分布就越接近!!!所以可以用交叉熵来作为损失函数!!!以下公式中的H(p,q)就是交叉熵!

第一种交叉熵函数:

第二种交叉熵函数:

其中,p(x)是期望输出,q(x)是实际输出。

softmax()交叉熵损失函数:

在神经网络后面添加Softmax,真实的标签(或者是类别)就相当于真实的分布,经过Softmax得出的值就是预测的结果,因此利用softmax()函数的预测结果作为交叉熵函数的q(x)所得的交叉熵就叫做softmax()交叉熵损失函数。

上溢:

下溢:

float表示的最大值:

    float f1 = FLT_MAX;
    float f2 = FLT_MIN;
    float x = exp(100);
    cout << "x:" <     cout << "f1:" << f1 << endl;

参考文章:

https://blog.csdn.net/lilong117194/article/details/81542667(解释交叉熵)

https://blog.csdn.net/u014380165/article/details/77284921(解释softmax()交叉熵损失函数)

 

你可能感兴趣的:(Softmax函数,损失函数,交叉熵,softmax损失函数详解)