損失函式的選擇
損失函式的迭取取決於輸入標籤資料的型別:如果輸入的是實數,無界的值,損失函式使用平方差;如果輸入的標籤是位向量(分類標誌)使用交叉熵會更合適
均值平方差(Mean Squared Error, MSE)也稱均方誤差
神經網路中:表達預測值與真實值之間的差異
數理統計中:指引數估計值與引數真值之差平方的期望值
均方誤差的值越小,表明模型越好
MSE: Mean Squared Error
均方誤差是指引數估計值與引數真值之差平方的期望值;
MSE可以評價資料的變化程度,MSE的值越小,說明預測模型描述實驗資料具有更好的精確度。
$$ MSE = \frac{1}{N}\sum_{t=1}^{N}\left ( obersved_{t} - predicted_{t} \right )^{2} $$
程式寫法:
MSE=tf.reduce_mean(tf.pow(tf.sub(logits, outputs), 2.0))
MSE=tf.reduce_mean(tf.square(tf.sub(logits, outputs)))
MSE=tf.reduce_mean(tf.square(logits - outputs))
RMSE
均方誤差:均方根誤差是均方誤差的算術平方根
$$ RMSE = \sqrt{\frac{1}{N}\sum_{t=1}^{N} \left ( obersved_{t} - predicted_{t} \right)^{2} } $$
程式寫法:
RMSE=tf.sqrt(tf.reduce_mean(tf.pow(tf.sub(logits, outputs), 2.0)))
MAE :Mean Absolute Error
平均絕對誤差是絕對誤差的平均值
平均絕對誤差能更好地反映預測值誤差的實際情況.
$\widehat{y}$ 表示預測值 $y$ 表示真實值
$$ MAE = \frac{1}{N}\sum_{t=1}^{N}\left | (\widehat{y}-y) \right | $$
程式寫法:
MAE=tf.reduce_mean(tf.abs(tf.sub(logits, label)))
SD :standard Deviation
標準差:標準差是方差的算術平方根。標準差能反映一個數據集的離散程度。平均數相同的兩組組資料,標準差未必相同。
$u$表示平均值$\left ( u = \frac{1}{N}\left ( x_{1}+\cdot \cdot \cdot + x_{N} \right ) \right )$
$$ SD = \sqrt{\frac{1}{N}\sum_{t=1}^{N}\left ( x_{i}-u \right )^{2}} $$
程式寫法:
SD=tf.sqrt(tf.reduce_mean(tf.pow(tf.sub(x_i-u), 2.0)))