损失函数的迭取取决于输入标签数据的类型:如果输入的是实数,无界的值,损失函数使用平方差;如果输入的标签是位矢量(分类标志)使用交叉熵会更合适
均值平方差(Mean Squared Error, MSE)也称均方误差
神经网络中:表达预测值与真实值之间的差异
数理统计中:指参数估计值与参数真值之差平方的期望值
均方误差的值越小,表明模型越好
MSE: Mean Squared Error
均方误差是指参数估计值与参数真值之差平方的期望值;
MSE可以评价数据的变化程度,MSE的值越小,说明预测模型描述实验数据具有更好的精确度。
$$ MSE = frac{1}{N}sum_{t=1}^{N}left ( obersved_{t} - predicted_{t}
ight )^{2} $$
程序写法:
MSE=tf.reduce_mean(tf.pow(tf.sub(logits, outputs), 2.0))
MSE=tf.reduce_mean(tf.square(tf.sub(logits, outputs)))
MSE=tf.reduce_mean(tf.square(logits - outputs))
RMSE
均方误差:均方根误差是均方误差的算术平方根
$$ RMSE = sqrt{frac{1}{N}sum_{t=1}^{N} left ( obersved_{t} - predicted_{t}
ight)^{2} } $$
程序写法:
RMSE=tf.sqrt(tf.reduce_mean(tf.pow(tf.sub(logits, outputs), 2.0)))
MAE :Mean Absolute Error
平均绝对误差是绝对误差的平均值
平均绝对误差能更好地反映预测值误差的实际情况.
$widehat{y}$ 表示预测值 $y$ 表示真实值
$$ MAE = frac{1}{N}sum_{t=1}^{N}left | (widehat{y}-y)
ight | $$
程序写法:
MAE=tf.reduce_mean(tf.abs(tf.sub(logits, label)))
SD :standard Deviation
标准差:标准差是方差的算术平方根。标准差能反映一个数据集的离散程度。平均数相同的两组组数据,标准差未必相同。
$u$表示平均值$left ( u = frac{1}{N}left ( x_{1}+cdot cdot cdot + x_{N}
ight )
ight )$
$$ SD = sqrt{frac{1}{N}sum_{t=1}^{N}left ( x_{i}-u
ight )^{2}} $$
程序写法:
SD=tf.sqrt(tf.reduce_mean(tf.pow(tf.sub(x_i-u), 2.0)))