keras中的损失函数

只是为了记录下如何选择损失函数,把公式贴上来了,有些损失函数的公式没找到,以后找到了再贴上来。

损失函数是模型优化的目标,所以又叫目标函数、优化评分函数,在keras中,模型编译的参数loss指定了损失函数的类别,有两种指定方法:

model.compile(loss='mean_squared_error', optimizer='sgd')

或者

from keras import losses
model.compile(loss=losses.mean_squared_error, optimizer='sgd')

你可以传递一个现有的损失函数名,或者一个TensorFlow/Theano符号函数。 该符号函数为每个数据点返回一个标量,有以下两个参数:

  • y_true: 真实标签. TensorFlow/Theano张量
  • y_pred: 预测值. TensorFlow/Theano张量,其shape与y_true相同

实际的优化目标是所有数据点的输出数组的平均值。

mean_squared_error

mean_squared_error(y_true, y_pred)

源码:

def mean_squared_error(y_true, y_pred):
    return K.mean(K.square(y_pred - y_true), axis=-1)

说明:

MSE:

L=1ni=1n(y(i)predy(i)true)2 L = 1 n ∑ i = 1 n ( y p r e d ( i ) − y t r u e ( i ) ) 2

mean_absolute_error

mean_absolute_error(y_true, y_pred)

源码:

def mean_absolute_error(y_true, y_pred):
    return K.mean(K.abs(y_pred - y_true), axis=-1)

说明:

MAE:

L=1ni=1n|(y(i)predy(i)true)| L = 1 n ∑ i = 1 n | ( y p r e d ( i ) − y t r u e ( i ) ) |

mean_absolute_percentage_error

mean_absolute_percentage_error(y_true, y_pred)

源码:

def mean_absolute_percentage_error(y_true, y_pred):
    diff = K.abs((y_true - y_pred) / K.clip(K.abs(y_true),
                                            K.epsilon(),
                                            None))
    return 100. * K.mean(diff, axis=-1)

说明:

MAPE:

  • 6
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值