目標函數:
keras文檔: http://keras.io/objectives/
- mean_squared_error / mse 均方誤差,常用的目標函數,公式為((y_pred-y_true)**2).mean()
- mean_absolute_error / mae 絕對值均差,公式為(|y_pred-y_true|).mean()
- mean_absolute_percentage_error / mape公式為:(|(y_true - y_pred) / clip((|y_true|),epsilon, infinite)|).mean(axis=-1) * 100,和mae的區別就是,累加的是(預測值與實際值的差)除以(剔除不介於epsilon和infinite之間的實際值),然后求均值。
- mean_squared_logarithmic_error / msle公式為: (log(clip(y_pred, epsilon, infinite)+1)- log(clip(y_true, epsilon,infinite)+1.))^2.mean(axis=-1),這個就是加入了log對數,剔除不介於epsilon和infinite之間的預測值與實際值之后,然后取對數,作差,平方,累加求均值。
- squared_hinge 公式為:(max(1-y_true*y_pred,0))^2.mean(axis=-1),取1減去預測值與實際值乘積的結果與0比相對大的值的平方的累加均值。
- hinge 公式為:(max(1-y_true*y_pred,0)).mean(axis=-1),取1減去預測值與實際值乘積的結果與0比相對大的值的的累加均值。
- binary_crossentropy: 常說的邏輯回歸, 就是常用的交叉熵函數
- categorical_crossentropy: 多分類的邏輯, 交叉熵函數的一種變形吧,沒看太明白
性能評估函數:
- binary_accuracy: 對二分類問題,計算在所有預測值上的平均正確率
- categorical_accuracy:對多分類問題,計算再所有預測值上的平均正確率
- sparse_categorical_accuracy:與
categorical_accuracy
相同,在對稀疏的目標值預測時有用 - top_k_categorical_accracy: 計算top-k正確率,當預測值的前k個值中存在目標類別即認為預測正確
- sparse_top_k_categorical_accuracy:與top_k_categorical_accracy作用相同,但適用於稀疏情況
自定義方法:
自定義方法:
(y_true, y_pred) as arguments and return a single tensor value. import keras.backend as K def mean_pred(y_true, y_pred): return K.mean(y_pred) model.compile(optimizer='rmsprop', loss='binary_crossentropy', metrics=['accuracy', mean_pred])