第五节,损失函数:MSE和交叉熵

损失函数用于描述模型预测值与真实值的差距大小,一般有两种比较常见的算法——均值平方差(MSE)和交叉熵。

1、均值平方差(MSE):指参数估计值与参数真实值之差平方的期望值。

在神经网络计算时,预测值要与真实值控制在同样的数据分布内,假设将预测值经过Sigmoid激活函数得到取值范围在0~1之间,那么真实值也归一化到0~1之间。

2、交叉熵:预测输入样本属于某一类的概率。

其中y代表真实值分类(0或1),a代表预测值,交叉熵值越小,预测结果越准。

3、损失函数的选取

损失函数的选取取决于输入标签数据的类型,如果输入的是实数、无界的值,损失函数使用平方差;如果输入标签是位矢量(分类标签),使用交叉熵会更合适。

 4、Tensorflow常见的loss函数

  • 均值平方差
# logits代表标签值,outputs代表预测值
MSE = tf.reduce_mean(tf.pow(tf.sub(logits,outputs),2.0))
MSE = tf.reduce_mean(tf.square(logits-outputs))
  •  交叉熵:Sigmoid交叉熵、softmax交叉熵、Sparse交叉熵、加权Sigmoid交叉熵

原文地址:https://www.cnblogs.com/wyx501/p/10548657.html