無論l1、l2正則化方法,本質上都是乘法引數w使其等於或者趨向於0;但有沒有可能有一種正則化方法會使引數w趨向於非零值呢?
答案是:
可以這樣做 將w約束到a附近。
為什麼會產生這樣的結果呢?
可以從兩種角度去解釋:
解釋1:
黃色區域表示正則項限制,藍色區域表示優化項的等高線,要滿足在二者交點上的點才符合最優解w*。
故:當w的等高線逐步向正則限制條件區域擴散時,前者交點大多在非座標軸上,後者在座標軸上哪個形成稀疏解顯而易見、
解釋2:
先看l2正則:為什麼無法產生稀疏解,而只是將w各個引數壓縮。
l(w)+λw² 其導數為:
l』(w)+2λw
當w=0時,導數值為l『(0)。這和不帶正則項的損失函式在w=0時的導數一致。
如果此時的導數值為0,則說明w=0點為極值點,說明模型得到最優解。
這也就說明不帶正則項時的普通損失函式在w=0時模型也是最優解,正則項此時沒有任何意義,則說明如果w=0時,如果模型取得最優解,則導數為零,取決於l』(0)本身,而非正則項,因為正則項當w=0時不產生任何作用。
而為什麼l2正則可以壓縮模型的w值呢?
回到最初的公式:
而其中最小化 λ||w||² 則是讓w²的和最小,故可以使每個w都進行壓縮。
再看l1正則:為什麼就可以產生稀疏解呢?
l(w)+λ|w| 其導數由於|w|在0處不可導,則分情況討論:
我們想找到最優解,則令導數等於0。
當w>0時,l』(w)=-λ
當w<0時,l『(w)=λ
當w≠0時,只有當l』(w) = -λ 或者 λ 才可以使導數為0,概率極小;
而當w=0時,-λ< l』(w) < λ使得導數為零(利用次梯度方法),此時概率極大。
故l1範數可以產生稀疏解。
泰勒展開:
以二階導為例
則f(x+v)-f(x)=df(x)v,則我們可以得出: df(x)v為函式值的變化量,注意的是df(x)和v均為向量,df(x)v也就是兩個向量進行點積,而向量進行點積的最大值,也就是兩者共線的時候,也就是說v的方向和df(x)方向相同的時候,點積值最大,這個點積值也代表了從a點到b點的上公升量。
而df(x)正是代表函式值在x處的梯度。前面又說明了v的方向和df(x)方向相同的時候,點積值(變化值)最大,所以說明了梯度方向是函式區域性上公升最快的方向。也就證明了梯度的負方向是區域性下降最快的方向。
神經網路損失函式
2018,aug 3 顧名思義,從標題就能知道損失函式 loss function 一定就是來計算神經網路在訓練中的損失的。說完了定義那到了舉例時間了 主要拿softmax loss來分析 這裡的k也就是我們分類的類別。然後這個函式是怎麼用的呢,我們可以簡單的舉乙個分類的例子來看下。假設我們輸入一張...
神經網路 損失函式
開始之前我們先進入數字識別這樣乙個場景 以識別數字1為例,神經網路模型的輸出結果越接近 0,1,0,0,0,0,0,0,0,0 越好。神經網路解決多分類的問題,最常見的方法是設定n個輸出節點,其中n類別個數,那麼上述數字判斷就應該有n 10個輸出。那麼如何判斷乙個輸出向量和期望向量的接近程度呢?交叉...
神經網路 損失函式
先上結論 在使用sigmoid作為啟用函式的時候,cross entropy相比於quadratic cost function,具有收斂速度快,更容易獲得全域性最優的特點 使用softmax作為啟用函式,log likelihood作為損失函式,不存在收斂慢的缺點。對於損失函式的收斂特性,我們期望...