欧几里得范数_从范数到正则化
范數是一個在數學領域中常用的工具,同時也是學習機器學習原理中經常碰到的概念。本文將從范數的定義出發,逐步帶你理解其在機器學習中的應用。
首先需要明確的是,范數是一個函數,在機器學習中我們通常用它來衡量向量的大小。
范數定義為:1.常見的范數
下面簡要介紹一些常見的范數,到這一步暫且只需要記住它們的形式。
1.1
范數當p = 2時,
范數也被稱為歐幾里得范數,表示從遠點出發到向量 確定的點的歐幾里得距離。這個范數在機器學習中應用的非常頻繁,我們先記住它的簡化表示: 。1.2 平方
范數顧名思義就是
范數的平方,好處就是它顯然比 ?范數容易計算,可以簡單的通過點積 計算。1.3
范數有些情況下平方
范數不是很受歡迎,因為它在原點附近增長得十分緩慢。有時候區分恰好是零和非零但值很小的元素是很重要的,這時候就可以使用各位置斜率相同的 范數:1.4
范數 范數也被稱為最大范數,表示向量中具有最大幅值的元素的絕對值:2.深度學習中的正則化
2.1偏差(bias)和方差(variance)
在介紹深度學習中的正則化之前,我們先要從機器學習的場景出發思考,是什么問題促使我們需要用正則化這個工具呢??
偏差和方差通常可以用來判斷模型擬合數據的情況,看下面這張圖,
和 代表兩種不同的樣本點。第一個坐標系中由于分類器接近于線性,擬合數據的能力比較差,表現出欠擬合,對應高偏差high bias;第三個坐標系對于訓練數據過擬合,對應高方差high variance;而中間的坐標系則是恰到好處的,我們比較希望得到的泛化能力較強的模型。
因此:
- if high bias:{更大的網絡/更長的訓練時長/(更合適的算法)}
- if high variance:{更多的數據/正則化/(更合適的算法)}
我們可以將正則化理解為“對學習算法的修改——目的是為了減少泛化誤差,以偏差的增加換取方差的減少,從而抑制過擬合。”
2.2正則化如何抑制過擬合
我們將目標函數定義為
,正則化后的目標函數為 , 。通常只對權重 做正則化懲罰而不針對偏置項b,為了簡單起見,我們假設沒有偏置項: 是權衡正則化強度的超參。2.2.1
正則化 范數正則化也被稱為權重衰減,這時:帶入正則化后的目標函數
從上文1.2 平方
范數的介紹中得到 ?,因此與之對應的梯度為:
使用梯度下降更新權重,
為學習率:即:
可以看出加入權重衰減后會引起學習規則的修改,在每步梯度更新之前都會先收縮權重向量——將權重向量前邊乘上一個小于1的權重因子
,也就是說,正則化懲罰系數 升高會將權重 拉向0。可以從兩個角度進一步理解一下這個操作:a.在神經網絡中,當一些權重趨近于0時,則可以理解為去掉了一些邏輯單元,簡化后的網絡雖然小但深度很大。從而將高方差的模型往高偏差的方向拉,直到獲取一個恰到好處的模型。
b.假設神經網絡每層的激活函數為
,正則化懲罰系數 ,從而使得 從①③的非線性狀態區域進入②接近于線性狀態的區域,導致每層幾乎是線性的(線性函數疊加仍然為線性),起到抑制過擬合的效果。總結
以上是生活随笔為你收集整理的欧几里得范数_从范数到正则化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: XLNET原理详解
- 下一篇: qdialog 只有点击才能获得焦点_4