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損失函式的用法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。