MSE,MAE和CE的區別

2021-10-10 17:50:43 字數 1389 閱讀 5063

mse對異常值敏感,因為它的cost是平方的,所以異常值的loss會非常大,下面的公式中y表示標註,a表示網路**值。

mae對異常之不敏感,

不妨設擬合函式為常數,那麼mse就相當於所有資料的均值(列出loss對c求導即可),而mae相當於所有資料的中位數,所以會對異常值不敏感。

mae不可導而且所有的導數的絕對值都相同,優化時無法確定更新速度,

mse可導,有closed-form解,只需要令偏導數為0即可。

因為mse對異常值敏感,

1. 如果想要檢測異常值則使用mse,比如裂縫分割,缺陷分割。

2. 如果想學習乙個分類**模型則建議使用mae,或者先進行異常值處理再使用mse。

首先列出mse的公式,並對w和b求導數。

導數中有(y-a)和x當出現異常值的時候很可能出現梯度**的情況,而且mse中採用了sigmoid啟用函式,所以肯定帶有sigmoid啟用函式的一些弊端。

由上述公式可以看出,在使用mse時,w、b的梯度均與sigmoid函式對z的偏導有關係,而sigmoid函式的偏導在自變數非常大或者非常小時,偏導數

的值接近於零,這將導致w、b的梯度將不會變化,也就是出現所謂的梯度消失現象。

2. 再列出交叉熵的損失函式,並對w和b求導數。

而使用cross-entropy時,w、b的梯度就不會出現上述的情況。

當mse和交叉熵同時應用到多分類場景下時,(標籤的值為1時表示屬於此分類,標籤值為0時表示不屬於此分類),mse對於

每乙個輸出的結果都非常看重,而交叉熵只對正確分類的結果看重。例如:在乙個三分類模型中,模型的輸出結果為(a,b,c),

而真實的輸出結果為(1,0,0)。

從上述的公式可以看出,交叉熵的損失函式只和分類正確的**結果有關係,而mse的損失函式還和錯誤的分類有關係,

該分類函式除了讓正確的分類盡量變大,還會讓錯誤的分類變小,但實際在分類問題中這個調整是沒有必要的。但是對

於回歸問題來說,這樣的考慮就顯得很重要了。所以,回歸問題熵使用交叉上並不合適。

最簡單的選擇CE和XPE的方法

為了有助於選擇最適合的windows嵌入式作業系統,可以在cpu架構,實時支援,基於win32的應用程式和作業系統ram配置四個方面加以考慮.cpu架構 xpe只支援x86架構,ce支援x86,arm,mips,shx架構 實時支援 xpe不支援或通過第三方擴充套件來支援,ce是實時作業系統 win...

CE上的藍芽開發

ce上的藍芽開發,分為驅動和應用。ce下的藍芽整體比較複雜,有提供一些元件可以直接使用,相對於在mobile5.0上面還是麻煩多了,一些藍芽的應用,對於我們這些不是專業做藍芽方面的人員來說,難於入手。跌跌碰碰總算也是實現了藍芽的一些基本功能,滿足藍芽的基本應用 ce5.0下通過pda上的藍芽和gps...

Docker入門之快速安裝和解除安裝使用Centos7

1.docker簡介 docker是乙個用go語言開發的乙個開源容器引擎,docker 可以讓開發者打包他們的應用以及依賴包到乙個輕量級 可移植的容器中,然後發布到任何流行的 linux 機器上,也可以實現虛擬化。2.安裝docker 一.檢查核心版本 注意 docker要求作業系統必須是64位,如...