import tensorflow as tf
import numpy as np
公式
e r r o r = 1 m ∑ i = 1 m ( x i − y i ) 2 error = \frac{1}{m}\sum_{i=1}^{m}(x_{i}-y_{i})^{2} error=m1∑i=1m(xi−yi)2
y_true = np.array([[1., 2.], [3., 4.]])
y_pred = np.array([[5., 6.], [9., 10.]])
mse = tf.keras.losses.MeanSquaredError() # 均方差损失函数
mse(y_true, y_pred).numpy()
26.0
计算过程
1 4 × [ ( 1 − 5 ) 2 + ( 2 − 6 ) 2 + ( 3 − 9 ) 2 + ( 4 − 10 ) 2 ] = 26 \frac{1}{4}\times [(1-5)^{^{2}}+(2-6)^{2}+(3-9)^{2}+(4-10)^{2}] = 26 41×[(1−5)2+(2−6)2+(3−9)2+(4−10)2]=26
mse = tf.keras.losses.MeanSquaredError(
reduction=tf.keras.losses.Reduction.NONE # 分开计算损失值
) # 均方差损失函数
mse(y_true, y_pred).numpy()
array([16., 36.])
计算过程
1 2 × [ ( 1 − 5 ) 2 + ( 2 − 6 ) 2 ] , 1 2 × [ ( 3 − 9 ) 2 + ( 4 − 10 ) 2 ] = [ 16 , 36 ] \frac{1}{2}\times [(1-5)^{^{2}}+(2-6)^{2}],\frac{1}{2}\times[(3-9)^{2}+(4-10)^{2}] = [16,36] 21×[(1−5)2+(2−6)2],21×[(3−9)2+(4−10)2]=[16,36]