Loss函式,啟用函式,規範化

2021-08-08 20:29:52 字數 1942 閱讀 8253

最近在看深度學習時,一直很好奇,loss函式,啟用函式,規範化到底是怎麼弄出來的。

一直以為這個是固定不變的,然後收集了很多自戀,檢視了很多部落格。最後才有點眉目。

以下是個人淺見,希望各位大神,各位大大門指正。

一般而言:機器學習可以分為兩大類:回歸、分類:

回歸:根據離散樣本(xi,yi)歸納出一條平滑的曲線(或直線),並用這條曲線來**事物的發展情況

分類:根據離散樣本(xi,yi)的某些性質,將該離散樣本分為幾類,每類資料有不同的性質,並用分類的引數對新樣本進行分類**:新樣本屬於哪個類別

我們要對未知情況進行**,就必須建立乙個切合實際的模型,用這樣的模型對新的資料進行**。而要建立乙個切合實際的模型,其實就是對樣本(xi,yi)進行處理的相關引數集的除錯。即我們需要找到能夠使樣本(xi,yi)進行正確分類的最佳引數集,用另一句話說,就是使分類結果(實際輸出)和理想結果(我們的期望)的誤差越小越好(鑑於很多模型可能沒有最小值解,所以一般希望越小越好),而用來表示這個誤差的函式就是我們所謂的誤差函式/損失函式/成本函式

一般而言,大多數神經網路採用了3類損失函式:二次代價函式(均方差函式),交叉熵函式,softmax所用的函式

1 均方差損失函式:在ufldl中採用的就是均方差損失函式,其模型為:

其中 f( ) 是正個模型的的輸出函式,具體化即為輸出層的函式,y 為我們希望的輸出,或者說資料帶有的標籤;

這樣,二者之間的差值自然是越小越滿足我們的要求,所以均方差損失函式可以作為代價函式。

2 交叉熵函式:熵起源於夏農資訊量的期望,可以參考下其模型為:

同樣的,f( )表示輸出,y表示期望的輸出或者標籤。

我們可以計算,當 y  很接近  f( ) 時, 即表示模型對資料的**很接近我們的期望時,此時 y = f( ) =1,或者y = f( ) = 0,代入上式均可以得到j = 0

當 y  不等於或者遠離  f( ) 時, 即表示模型對資料的**很不符合我們的期望時,此時 y =0, f( ) =1;或者y =1, f( ) = 0,代入上式均可以得到 j 趨近於無窮

所以我們可以用交叉熵來判斷模型引數是否符合我們的期望,即作為損失函式。

3  softmax分類器所用的函式:  可以參考:是乙個多分類器,是有一種特殊的交叉熵方法進行判斷的。

softmax是個多分類器,其輸出層的函式為:

此時採用的損失函式為:(下面用 i 來代替 j 了)

這樣,當第 i 個樣本存在的概率越大,l 值越接近於0;相反。該概率越小,其值越大,表示和我們希望不符合

以上是我收集的損失函式。

啟用函式是每個節點(不含輸入層)必須要有的功能,在這兒簡單地對啟用函式做乙個介紹:

1 sigmoid函式以其導數:

2 tanh函式:

3 softplus函式:

4 softsign:

5 relu:

此外,relu還有其他的型別:lrelu,prelu,rrelu三種變形。

6 softmax的輸出層,如上述。

規範化,也稱為正則化:

1 l2正則化:在損失函式中加入1/2 * λω^2,l2正則化對大的權重有很高的懲罰度,以求讓權重分配的更均勻一些

2 l1正則化:在損失函式中加入 λ|ω| ,l1正則化會在模型訓練過程中讓權重向量逐漸的稀疏化,即就是到最後只留下了對結果影響最大的一部分權重

3 最大範數約束:限制了乙個上行的權重邊界,然後約束每個神經元上的權重都要滿足這個約束,不新增懲罰項,要求每乙個神經元的權重向量必須滿足:小於一給定的常數

4 dropout正則化:設定以引數p,就是在訓練過程中,對每個神經元,都以概率p保持它是啟用狀態,1-p的概率直接關閉它

可以參考:

python 規範化函式 python之規範化開發

src.py 這個檔案主要存放的就是核心邏輯功能,需要進行選擇的核心功能函式,都應該放在這個檔案中。通常將其存放在core資料夾下。import os from lib import common 引用lib檔案中的common模組 存放裝飾器 通過common.的方式引用 from conf im...

規範化理論 函式依賴 正規化 簡單粗暴

一.為什麼要設計正規化?避免插入,刪除,更新,冗餘異常 二 基本概念 實體 一張資料庫表,比如 學生表,學生就是乙個實體 屬性 一張表 實體 會有很多屬性,比如乙個學生實體會有學號,班級等屬性 候選碼 可以決定其他屬性的集合,比如a b a c,c d 那麼a,b,c就是候選碼 主碼 主關鍵字 候選...

資料規範化

資料分析之前,我們通常需要先將資料標準化 normalization 利用標準化後的資料進行資料分析。資料標準化也就是統計資料的指數化。資料標準化處理主要包括資料同趨化處理和無量綱化處理兩個方面。資料同趨化處理主要解決不同性質資料問題,對不同性質指標直接加總不能正確反映不同作用力的綜合結果,須先考慮...