本站原创文章,转载请说明来自《老饼讲解-深度学习》www.bbbdata.com
MLP神经网络可以用于解决数值预测与类别预测两种机器学习中的经典问题
本文讲解MLP神经网络用于解决数值问题、类别预测问题时的输出,以及损失函数
通过本文,可以了解MLP在解决数值问题、分类问题时的输出分别是什么,以及使用什么损失函数
本节讲解MLP神经网络在数值预测时的模型输出以及损失函数
MLP的输出与损失函数-数值预测
MLP神经网络是一种前馈神经网络,数值预测是它的基本功能
当MLP用于数值预测时,输出层一般不设激活函数,并使用MSE作为损失函数,如下
即MLP用于数值预测时,输出层的计算公式为:
损失函数为均方误差MSE,如下:
其中,
:训练样本个数
:输出个数
:第i个样本第j个输出的预测值
:第i个样本第j个输出的真实值
本节讲解MLP神经网络应用于类别预测时的输出以及损失函数
MLP应用于类别预测时的输出与损失函数(理论)
MLP神经网络应用于类别预测时的输出
MLP神经网络应用于类别预测时,样本有多少个类别,MLP的输出层就有多少个神经元
MLP应用于类别预测时的结构示例如下:
如图所示,有多少个类别,就有多少个输出神经元,第i个神经元代表样本属第i个类别的概率
其中,输出层的激活函数为softmax函数, softmax可以把向量归一化,例如softmax([3,2])=[0.73,0.27]
在输出层添加softmax激活函数的目的就是将输出值转换为概率,如此一来MLP就输出每个类别的概率
由上述结构可知,当MLP应用于类别预测时,MLP输出类别的概率
此时输出层的计算公式为:
其中,
MLP神经网络应用于类别预测时的损失函数
由于模型输出的是概率值,因此损失函数一般取为交叉熵损失函数CE
CE损失函数如下:
其中, :样本个数
:第i个样本属于真实类别的预测概率
MLP应用于类别预测时的输出与损失函数(实际)
在实际中,MLP应用于类别预测时,往往模型的输出不取softmax,直接取输出为:
然后将损失函数设为:
此时MLP的输出不再是类别的概率,而是类别的判别值,即判别值越大代表越可能是该类别
这样做是因为,对样本的类别判断并不需要softmax,只需要判别值就足以判断样本的类别
另一方面, 这样可以使得MLP在类别预测、数值预测时的输出层都是一致的
差异仅仅是两者的损失函数不同,类别预测时取为CE(softmax),数值预测时取为MSE
好了,以上就是MLP神经网络在数值预测、类别预测时的输出以及损失函数了~
End