歡迎您光臨本站 註冊首頁

keras:model.compile損失函數的用法

←手機掃碼閱讀     hongdian2012 @ 2020-07-05 , reply:0

損失函數loss:該參數為模型試圖最小化的目標函數,它可為預定義的損失函數名,如categorical_crossentropy、mse,也可以為一個損失函數。詳情見losses

可用的損失目標函數:

mean_squared_error或mse

mean_absolute_error或mae

mean_absolute_percentage_error或mape

mean_squared_logarithmic_error或msle

squared_hinge

hinge

categorical_hinge

binary_crossentropy(亦稱作對數損失,logloss)

logcosh

categorical_crossentropy:亦稱作多類的對數損失,注意使用該目標函數時,需要將標籤轉化為形如(nb_samples, nb_classes)的二值序列

sparse_categorical_crossentrop:如上,但接受稀疏標籤。注意,使用該函數時仍然需要你的標籤與輸出值的維度相同,你可能需要在標籤數據上增加一個維度:np.expand_dims(y,-1)

kullback_leibler_divergence:從預測值概率分佈Q到真值概率分佈P的信息增益,用以度量兩個分佈的差異.

poisson:即(predictions - targets * log(predictions))的均值

cosine_proximity:即預測值與真實標籤的餘弦距離平均值的相反數

補充知識:keras.model.compile() 自定義損失函數注意點

基本用法

model.compile(optimizer=Adam(lr=1e-4), loss='binary_crossentropy', metrics=['accuracy'])

注意

loss後類似'binary_crossentropy'、'mse'等代稱

loss為函數名稱的時候,不帶括號

函數參數必須為(y_true, y_pred, **kwards)的格式

不能直接使用tf.nn.sigmoid_cross_entropy_with_logits等函數,因為其參數格式為(labels=None,

logits=None),需要指定labels=、logits=這兩個參數


   


[hongdian2012 ] keras:model.compile損失函數的用法已經有565次圍觀

http://coctec.com/docs/python/shhow-post-241248.html