神经网络中常用以下三种损失函数:
均方误差:
MSE(y_, y)= (Σn (y – y_ )2)/n
其中y_ 代表标准值,y代表预测值
Tensorflow 代码:
Loss = tf.reduce_mean(tf.square(y_,y))
自定义损失函数:
Loss = Σn f(y_,y)
如,将损失定义为分段函数:
其中profit、cost 为常数,y_ 代表标准值,y代表预测值
Tensorflow 代码:
Loss = tf.reduce_sum(tf.where(tf.greater(y,y_), COST*(y-y_),PROFIT*(y_-y)))
表示y是否大于y_ 是则返回COST*(y-y_),否则返回PROFIT*(y_-y)