神经网络常用损失函数
发布时间
阅读量:
阅读量
神经网络模型中普遍采用的损失函数主要包括以下三类:
均方误差计算方式如下:
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)。
交叉熵(Cross Entropy):用于衡量两个概率分布之间的差异程度。
H (y_, y) = -Σ y_* logy
在此表达式中,y_代表真实答案所对应的概率分
全部评论 (0)
还没有任何评论哟~
