keras - 目標函數 詳細說明及公式


目標函數:

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])

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM