神经网络基础-损失函数

1. 损失函数定义

损失函数衡量模型输出与真实值标签之间的差距。损失函数有三个名称。

(1) 损失函数(Loss Function)是单个样本的名词:

loss=f(\widehat{y}-y)

(2)代价函数(Cost Function)是总体样本的损失函数平均值:

cost=\frac{1}{N}\sum_{i}^{N}f(\widehat{y_{i}}-y_{i})

(3)目标函数(Objective Function)是总体优化目标,不仅包括损失函数,还有正则项:

Obj = Cost + Regularization Term

2. 回归任务的损失函数

在回归任务中,常见的损失函数是均方误差MSE(Mean Squared Error),输出与标签之差的平方的均值

MSE=\frac{\sum_{i=1}^{N}(\widehat{y}-y)^{2}}{N}

 3. 分类任务的损失函数

在分类任务中,常见的损失函数是交叉熵CE(Cross Entropy),来源于信息论的概念,它将输出数据和标签数据看成两个不同分布的序列,用两个分布的差异来衡量输出和标签的差异

H(p,q)=-\sum_{i=1}^{n}p(x_{i})*log(q(x_{i}))

神经网络基础-损失函数_第1张图片 

分类任务中,预测值一般以概率分布的形式进入交叉熵的计算。

因此在计算损失函数前,output需要通过softmax层,将数据变化到符合概率分布的形式,再计算损失函数CE。

神经网络基础-损失函数_第2张图片

 softmax的计算公式

y_{i}=S(z)_{i}=\frac{e^{z_{i}}}{\sum_{j=1}^{C}e^{z_{j}}}

上图中,

S=e^{2}+e^{1}+e^{0.1}

y_{0}=\frac{e^{2}}{S}=0.7, y_{1}=\frac{e^{1}}{S}=0.2,y_{2}=\frac{e^{0.1}}{S}=0.1

你可能感兴趣的:(深度学习,深度学习,神经网络)