(作者還處於小白階段,,,一下皆是自行搜索總結的結果,像信息論還處於學習階段,暫時無法給出相關解釋,還請各位大神給予相關指點,謝謝)
目標函數,或稱損失函數,是網絡中的性能函數,也是編譯一個模型必須的兩個參數之一。由於損失函數種類眾多,下面以keras官網手冊的為例。
在官方keras.io里面,有如下資料:
-
mean_squared_error或mse
-
mean_absolute_error或mae
-
mean_absolute_percentage_error或mape
-
mean_squared_logarithmic_error或msle
-
squared_hinge
-
hinge
-
binary_crossentropy(亦稱作對數損失,logloss)
-
categorical_crossentropy:亦稱作多類的對數損失,注意使用該目標函數時,需要將標簽轉化為形如
(nb_samples, nb_classes)
的二值序列 -
sparse_categorical_crossentrop:如上,但接受稀疏標簽。注意,使用該函數時仍然需要你的標簽與輸出值的維度相同,你可能需要在標簽數據上增加一個維度:
np.expand_dims(y,-1)
-
kullback_leibler_divergence:從預測值概率分布Q到真值概率分布P的信息增益,用以度量兩個分布的差異.
-
cosine_proximity:即預測值與真實標簽的余弦距離平均值的相反數
mean_squared_error
顧名思義,意為均方誤差,也稱標准差,縮寫為MSE,可以反映一個數據集的離散程度。
標准誤差定義為各測量值誤差的平方和的平均值的平方根,故又稱為均方誤差。
公式:
公式意義:可以理解為一個從n維空間的一個點到一條直線的距離的函數。(此為在圖形上的理解,關鍵看個人怎么理解了)
mean_absolute_error
譯為平均絕對誤差,縮寫MAE。
平均絕對誤差是所有單個觀測值與算術平均值的偏差的絕對值的平均。
公式:(fi是預測值,yi是實際值,絕對誤差
)
mean_absolute_percentage_error
譯為平均絕對百分比誤差 ,縮寫MAPE。
公式:(At表示實際值,Ft表示預測值)
mean_squared_logarithmic_error
譯為均方對數誤差,縮寫MSLE。
公式:(n是整個數據集的觀測值,pi為預測值,ai為真實值)
squared_hinge
公式為max(0,1-y_true*y_pred)^2.mean(axis=-1),取1減去預測值與實際值的乘積的結果與0比相對大的值的平方的累加均值。
hinge
公式為為max(0,1-y_true*y_pred).mean(axis=-1),取1減去預測值與實際值的乘積的結果與0比相對大的值的累加均值。
Hinge Loss 最常用在 SVM 中的最大化間隔分類中,
對可能的輸出 t = ±1 和分類器分數 y,預測值 y 的 hinge loss 定義如下:
可以看出當 t 和 y 有相同的符號時(意味着 y 預測出正確的分類)
此時的 hinge loss
但是如果它們的符號相反
binary_crossentropy
即對數損失函數,log loss,與sigmoid相對應的損失函數。
公式:L(Y,P(Y|X)) = -logP(Y|X)
該函數主要用來做極大似然估計的,這樣做會方便計算。因為極大似然估計用來求導會非常的麻煩,一般是求對數然后求導再求極值點。
損失函數一般是每條數據的損失之和,恰好取了對數,就可以把每個損失相加起來。負號的意思是極大似然估計對應最小損失。
categorical_crossentropy
多分類的對數損失函數,與softmax分類器相對應的損失函數,理同上。
tip:此損失函數與上一類同屬對數損失函數,sigmoid和softmax的區別主要是,sigmoid用於二分類,softmax用於多分類(小編還在入門階段,,對於兩種對數損失函數的區別不甚清楚,推導也不大懂,歡迎大神補充,謝謝)。
sparse_categorical_crossentrop
在上面的多分類的對數損失函數的基礎上,增加了稀疏性(即數據中多包含一定0數據的數據集),如目錄所說,需要對數據標簽添加一個維度np.expand_dims(y,-1)。
kullback_leibler_divergence
(譯自WIKI)
對於離散隨機變量,其概率分布P 和 Q的KL散度可按下式定義為
即按概率P求得的P和Q的對數差的平均值。KL散度僅當概率P和Q各自總和均為1,且對於任何i皆滿足
Q(i)>0及P(i)>0時,才有定義。式中出現0Ln0的情況,其值按0處理。
對於連續隨機變量,其概率分布P和Q可按積分方式定義為
其中p和q分別表示分布P和Q的密度。
更一般的,若P和Q為集合X的概率測度,且Q關於P絕對連續,則從P到Q的KL散度定義為
其中,假定右側的表達形式存在,則為Q關於P的R–N導數。
相應的,若P關於Q絕對連續,則
即為P關於Q的相對熵,用以度量兩個分布的差異。
cosine_proximity
此方法用余弦來判斷兩個向量的相似性。
設向量 A = (A1,A2,...,An),B = (B1,B2,...,Bn),則有
余弦值的范圍在[-1,1]之間,值越趨近於1,代表兩個向量的方向越趨近於0,他們的方向更加一致。相應的相似度也越高。