常见的损失函数
损失函数就是计算预测值与真实值之间的误差,然后想办法让损失函数不断减小,然后反调预测函数的权重参数,直至预测结果达到我们的要求。按照预测值与真实值之间误差计算方式不同,产生了不同类型的损失函数,常用损失函数有均方误差、二元交叉熵、多分类交叉熵等几种。
均方误差(MSE)
顾名思义,均方误差就是所有样本实际值与预测值之差的平方的平均值,常常由于回归计算中。
n为样本个数,为样本预测,
为函数真实值。
二元交叉熵(Binary Cross Entropy Loss,BCE)
用于二分类问题如逻辑回归问题,预测一个样本只能得到两种情况(类似掷硬币正面或者反面),BCE公式如下:
N为样本个数,为样本i的标签,
p
i
p_i
pi为样本
i
i
i预测为正面的概率,通常是sigmoid函数输出结果这,里为方便表达设硬币正面标签为1,反面标签为0。
当样本标签为1时(硬币为正面), y i y_i yi为1,公式中括号后半部分为0,要想让等式成立 p i p_i pi会尽量向1靠近,达到预测目的。
当样本标签为0时(硬币为反面), y i y_i yi为0,公式中括号前半部分为0,要想让等式成立 p i p_i pi会尽量向0靠近,达到预测目的。
交叉熵损失(Cross Entropy Loss,CE)
交叉熵函数用于多分类任务,可以看作二分类交叉熵的扩展,公式如下:
N为样本个数, y i c y_ic yic为样本i的标签,当样本i的真实类别为c时,其值取1,否则取0, p i c p_ic pic为样本 i i i预测为c 类概率,通常是sigmax函数输出结果,M表示类别数量。交叉熵运用到神经网络上去的时候要注意一个问题就是输出节点数要与分类类别数个数保持一致。
此外还有稀疏类交叉熵(SCCE)、均方根误差RMSE(将MSE开平方)、平均绝对值误差MAD(对一个真实值与预测值相减的绝对值取平均值)等损失函数。
初来乍到,如有不对,多多指教。