Advertisement

神经网络常用损失函数

阅读量:

神经网络模型中普遍采用的损失函数主要包括以下三类:

均方误差计算方式如下:

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)

还没有任何评论哟~