首页 理论教育 深度学习中的损失函数选择及常见类型

深度学习中的损失函数选择及常见类型

时间:2023-11-18 理论教育 版权反馈
【摘要】:所以,在神经网络的训练中,选择正确的损失函数显得尤为重要,否则对网络训练将会产生意想不到的副作用。幸运的是,大多数问题不需要自主设计和开发损失函数。下面,简单说明这两种常见的损失函数。均方误差作为机器学习中的常用损失函数,用于预测和回归。除了均方误差之外,交叉熵误差也常被用作损失函数。这说明,交叉熵损失函数的计算结果是由正确解标签所对应的输出决定的。

深度学习中的损失函数选择及常见类型

神经网络的训练中,损失函数用来衡量预测值与真实值差异大小,而且优化器需要根据损失函数对网络进行参数更新,可见选择合理的损失函数对网络训练非常重要。神经网络训练的目的是使预测值尽量接近真实值,体现为损失尽可能最小化,因此,如果损失函数与当前任务关联不大,那么可能会出现的问题是,无论网络经过多少次迭代,最终训练的模型可能会不符合预期。所以,在神经网络的训练中,选择正确的损失函数显得尤为重要,否则对网络训练将会产生意想不到的副作用。

幸运的是,大多数问题不需要自主设计和开发损失函数。对于分类、回归等常见问题,可以遵循一些简单的原则来选择合适的损失函数。对于回归问题,可以使用均方误差(mean squared error)损失函数;对于分类问题,一般采用交叉熵(cross entropy)损失函数。下面,简单说明这两种常见的损失函数。

(1)均方误差(mse, mean squared error)。均方误差是全部样本数据偏离真实值的距离平方和的平均数,即误差平方和的平均数。均方误差作为机器学习中的常用损失函数,用于预测和回归。均方误差如下式所示:

式中,k表示数据的维数,y k是表示神经网络的输出,t k表示标签数据,为方便导数显示在累加和前乘以1/2。(www.xing528.com)

(2)交叉熵误差(cross entropy error)。除了均方误差之外,交叉熵误差也常被用作损失函数。交叉熵误差如下式所示:

上式中,log表示以e为底数的自然对数。k表示数据的维数,yk是表示神经网络的输出,tk表示标签数据。在tk中只有正确分类标签的索引为1,其他均为0。由于乘法运算,交叉熵损失函数实际上只计算对应正确解标签的输出的自然对数值。这说明,交叉熵损失函数的计算结果是由正确解标签所对应的输出决定的。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈