在神经网络中,常用的损失函数来评估算法模型得到的预测值与真实值之间的差距。损失函数值越小,说明二者之间的差距越小,表明模型拟合的越好。
一般用来表示损失函数,其中y表示真实值,表示预测值,在分类问题中,使用作为损失函数的变量,而在回归问题中,则使用作为损失函数的变量。
分类问题中常使用的损失函数:
(1)0-1损失
0-1损失对输入数据做最直接的判断,当数据输入为真时,结果为1,否则结果为0。
(2)Logistic损失
Logistic损失函数是0-1损失函数的凸上届,函数处处可导,一般使用梯度下降法优化损失值。
(3)Hinge损失
Hinge损失函数常被用于SVM算法中,使得SVM仅通过少量的支持向量就能确定最终超平面。
(4)指数损失
指数损失函数一般用在Adaboost算法中。
(5)交叉熵损失
交叉熵损失函数是分类问题中最常用的损失函数。当使用Sigmoid作为激活函数的时候,常用交叉熵损失函数而不用均方误差损失函数,因为它可以完美解决平方损失函数权重更新过慢的问题,具有“误差大的时候,权重更新快;误差小的时候,权重更新慢”的良好性质。
回归问题中常用的损失函数:
(1)均方误差
均方误差是预测值与实际值的距离平方的平均值。
(2)平均绝对误差
平均绝对误差是预测值与实际值的距离的平均绝对误差。
(3)Huber误差
Huber误差综合了均方误差和平均绝对误差,在变量较小时使用均方误差,在变量较大时使用平均绝对误差。