tf.keras.losses.MeanSquaredError()

import numpy as np
import tensorflow as tf
y_true = [[0., 1.], [2., 3.],[4., 5.]]
y_pred = [[6., 7.], [8., 9.],[10., 11.]]

mse = tf.keras.losses.MeanSquaredError()
print(mse(y_true, y_pred,sample_weight=[0.1,0.2,3]).numpy())

用上例简述tf.kears.losses.MeanSquaredError()中的sample_weight的作用:

解释:

0-11:按照位置对应即可。

0.1,0.2,0.3:权重参数。 

3:sample_weight的个数

6:len(tf.reshape(y_pred,(-1,1))),也就是y_pred里面数字的个数。

如果sample_weight换成[0.2,0.1,0.3]、[0.3,0.2,0.1]结果和[0.1,0.2,0.3]结果相同。看下面的例子。

import numpy as np
import tensorflow as tf


y_true = [[1., 2.], [3., 4.],[5., 6.]]
y_pred = [[7., 8.], [9., 10.],[11., 12.]]
mse = tf.keras.losses.MeanSquaredError()

print(mse(y_true, y_pred,sample_weight=[2,4,5]).numpy())
print(mse(y_true, y_pred,sample_weight=[2,5,4]).numpy())
print(mse(y_true, y_pred,sample_weight=[4,2,5]).numpy())
print(mse(y_true, y_pred,sample_weight=[4,5,2]).numpy())
print(mse(y_true, y_pred,sample_weight=[5,2,4]).numpy())
print(mse(y_true, y_pred,sample_weight=[5,4,2]).numpy())

结果

 可见参数的顺序并不能改变最后的结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值