1. 程式人生 > 程式設計 >keras:model.compile損失函式的用法

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

損失函式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=這兩個引數

以上這篇keras:model.compile損失函式的用法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。