天天看點

機器學習基本概念總結

深度學習是機器學習的一個特定分支,要想充分了解深度學習,就必須對機器學習的基本原理有深刻的了解。機器學習的本質屬于應用統計學,其更多地關注如何用計算機統計地估計複雜函數,而不太關注為這些函數提供置信區間,大部分機器學習算法可以分成監督學習和無監督學習兩類;通過組合不同的算法部分,例如優化算法、代價函數、模型和資料集可以建立一個完整的機器學習算法。

一,餘弦相似度與歐氏距離

1.1,餘弦相似度

通過對兩個文本分詞,

TF-IDF

算法向量化,利用空間中兩個向量的夾角,來判斷這兩個向量的相似程度:(

計算夾角的餘弦,取值 0-1

)

  • 當兩個向量夾角越大,距離越遠,最大距離就是兩個向量夾角 180°;
  • 夾角越小,距離越近,最小距離就是兩個向量夾角 0°,完全重合。
  • 夾角越小相似度越高,但由于有可能一個文章的特征向量詞特别多導緻整個向量次元很高,使得計算的代價太大不适合大資料量的計算。

計算兩個向量a、b的夾角餘弦:

我們知道,餘弦定理: c o s ( θ ) = a 2 + b 2 + c 2 2 a b cos(\theta) = \frac {a^2+b^2+c^2}{2ab} cos(θ)=2aba2+b2+c2​ ,由此推得兩個向量夾角餘弦的計算公式如下:

c o s ( θ ) = a b ∣ ∣ a ∣ ∣ × ∣ ∣ b ∣ ∣ = x 1 x 2 + y 1 y 2 x 1 2 + y 1 2 x 2 2 + y 2 2 cos(\theta) = \frac {ab}{||a|| \times ||b||} = \frac {x_{1}x_{2}+y_1y_2}{\sqrt{x^2_1+y^2_1}\sqrt{x^2_2+y^2_2}} cos(θ)=∣∣a∣∣×∣∣b∣∣ab​=x12​+y12​

​x22​+y22​

​x1​x2​+y1​y2​​

(分子就是兩個向量的内積,分母是兩個向量的模長乘積)

1.2,歐式距離

歐式距離和 L2 範數計算公式相同。

在歐幾裡得空間中,歐式距離其實就是向量空間中兩點之間的距離。點 x = ( x 1 , . . . , x n ) x = (x_{1}, ..., x_{n}) x=(x1​,...,xn​) 和 y = ( y 1 , . . . , y n ) y = (y_{1}, ..., y_{n}) y=(y1​,...,yn​) 之間得歐氏距離計算公式如下:

d ( x , y ) = ( ( x 1 − y 1 ) 2 + ( x 2 − y 2 ) 2 + . . . + ( x n − y n ) 2 ) d(x,y) = \sqrt {((x_{1}-y_{1})^{2} + (x_{2}-y_{2})^{2} + ... + (x_{n}-y_{n})^{2})} d(x,y)=((x1​−y1​)2+(x2​−y2​)2+...+(xn​−yn​)2)

1.3,餘弦相似度和歐氏距離的差別

  • 歐式距離和餘弦相似度都能度量

    2

    個向量之間的相似度
  • 放到向量空間中看,歐式距離衡量

    兩點之間

    的直線距離,而餘弦相似度計算的是

    兩個向量

    之間的夾角
  • 沒有歸一化時,歐式距離的範圍是

    [0, +∞]

    ,而餘弦相似度的範圍是

    [-1, 1]

    ;餘弦距離是計算相似程度,而歐氏距離計算的是相同程度(對應值的相同程度)
  • 歸一化的情況下,可以将空間想象成一個超球面(三維),歐氏距離就是球面上兩點的直線距離,而向量餘弦值等價于兩點的球面距離,本質是一樣。

二,Bias(偏差)和Varience(方差)

當我們讨論預測模型時,預測誤差可以分解為我們關心的兩個主要子成分:“偏差”引起的誤差和“方差”引起的誤差。 在模型最小化偏差和方差的能力之間存在權衡。 了解這兩類錯誤可以幫助我們診斷模型結果,避免出現過拟合或欠拟合的錯誤。

有兩個不同的概念都被稱為“方差”。一種是理論機率分布的方差。而另一種方差是一組觀測值的特征(統計意義上的方差)。

2.1,概念定義

統計領域為我們提供了很多工具來實作機器學習目标,不僅可以解決訓練集上的任務,還可以泛化。偏差-方差名額方法是試圖對學習算法(模型)的期望泛化錯誤率進行拆解:

E r r o r = B i a s + V a r i e n c e Error = Bias + Varience Error=Bias+Varience

Varience(Error due to Variance), Bias(Error due to Bias)
  • Error

    : 反映的是整個模型的準确度。
  • Bias

    :偏差引起的誤差被視為我們模型的預期(或平均)預測與我們試圖預測的正确值之間的差異,即模型的準确性。當然,您隻有一個模型,是以談論預期或平均預測值可能看起來有點奇怪。但是,想象一下您可以多次重複整個模型建構過程:每次您收集新資料并運作新分析時都會建立一個新模型。由于基礎資料集中的随機性,生成的模型将具有一系列預測。偏差通常衡量這些模型的預測與正确值之間的差距。
  • Varience

    :方差引起的誤差被視為給定資料點的模型預測的可變性,即**即模型的穩定性。同樣,假設您可以多次重複整個模型建構過程。方差是給定點的預測在模型的不同實作之間的變化程度。
  • Bias

    : 反映的是模型在樣本上的輸出與真實值之間的誤差,即模型的準确性。以打靶事件為例,

    low bias

    ,一般就得複雜化模型,表現出來就是點都打在靶心中間,但這樣容易過拟合 (

    overfitting

    ),過拟合對應下圖是

    high variance

    ,點很分散。
  • Varience

    : 反映的是模型每一次輸出的結果與模型輸出期望之間的誤差,即模型的穩定性,是訓練集上訓練出來的模型在測試集上的表現。同樣以打靶事件為例,

    low variance

    對應就是點都打的很集中,但不一定是靶心附近,手很穩,但是瞄的不準。

2.2,圖形定義

Bias

Varience

的圖形定義:

我們可以使用靶心圖建立偏差和方差的圖形可視化。想象一下,目标的中心是一個可以完美預測正确值的模型。當我們遠離靶心時,我們的預測會變得越來越糟。

Low Bias

表現出來就是點都打在靶心中間,但這樣容易過拟合 (

overfitting

),過拟合對應下圖是

High Variance

,表現就是點很分散,沒有集中在一起,手不穩啊(對應就是模型預測結果變化性太大)。

Low Variance

對應就是點都打的很集中,但不一定是靶心附近,手很穩,但是瞄的不一定準。

我們可以繪制四種不同的情況,代表高低偏差和方差的組合。

機器學習基本概念總結
圖檔來源 Understanding the Bias-Variance Tradeoff。

總的來說,參數估計、偏差和方差雖然是統計領域的基本概念,但它們的關系也和機器學習的模型容量、欠拟合和過拟合的概念緊密相聯。

偏差和方差度量着估計量的兩個不同誤差來源:

  • 偏差度量着偏離真實函數或參數的誤差期望。
  • 方差度量着資料上任意特定采樣可能導緻的估計期望的偏差。
機器學習基本概念總結

2.3,數學定義

假設對測試樣本 x x x, 令 y D y_{D} yD​ 為 x x x 在資料集中的标記, y y y 為 x x x 的真實标記, f ( x ; D ) f(x;D) f(x;D) 為在訓練集 D D D 上學習到的模型 f f f 在 x x x 上的預測輸出。

  • 訓練過程中期望輸出與真實标記(标簽)的差别稱為偏差(

    bias

    ): b i a s 2 ( x ) = ( f ˉ − y ) 2 bias^{2}(x) = (\bar{f} - y)^{2} bias2(x)=(fˉ​−y)2
  • (交叉驗證訓練模型)使用樣本數相同不同訓練集訓練出來的模型在測試集上産生的

    方差

    為: $var(x) = E_{D}[(f(x;D) - \bar{f})^{2}] $

2.4,導緻偏差和方差的原因

機器學習中的Bias(偏差),Error(誤差),和Variance(方差)有什麼差別和聯系?
  • 偏差通常是由于我們對學習算法做了錯誤的假設,或者模型的複雜度不夠;
    • 比如真實模型是一個二次函數,而我們假設模型為一次函數,這就會導緻偏差的增大(欠拟合);
    • 由偏差引起的誤差通常在訓練誤差上就能展現,或者說訓練誤差主要是由偏差造成的
  • 方差通常是由于模型的複雜度相對于訓練集過高導緻的;
    • 比如真實模型是一個簡單的二次函數,而我們假設模型是一個高次函數,這就會導緻方差的增大(過拟合);
    • 由方差引起的誤差通常展現在測試誤差相對訓練誤差的增量上。

2.5,深度學習中的偏差與方差

  • 神經網絡的拟合能力非常強,是以它的訓練誤差(偏差)通常較小;
  • 但是過強的拟合能力會導緻較大的方差,使模型的測試誤差(泛化誤差)增大;
  • 深度學習的核心工作之一就是研究如何降低模型的泛化誤差,這類方法統稱為

    正則化方法

三,模型容量、過拟合和欠拟合

  • 模型容量是指模型拟合各種函數的能力,決定了模型是欠拟合還是過拟合。
  • 欠拟合就是指模型的訓練誤差過大,即偏差(

    bias

    )過大,表現為模型不夠”準“,優化算法目的在于解決欠拟合問題。
  • 過拟合就是指訓練誤差和測試誤差間距過大,即方差(

    variance

    )過大,表現為模型不夠”穩“,正則化目的在于解決過拟合問題。
  • 機器學習模型的目的是解決欠拟合和過拟合的問題,這也是機器學習算法的兩個挑戰。
訓練誤差

train error

,泛化誤差

generalization error

(也叫測試誤差

test error

)。

模型容量與偏差、方差的關系圖如下所示:

機器學習基本概念總結

從上圖可以看出,當容量增大(x 軸)時,偏差(藍色虛線)随之減小,而方差(綠色虛線)随之增大,使得泛 化誤差(加粗曲線)産生了另一種 U 形。如果我們沿着軸改變容量,會發現最佳容量(optimal capacity),當容量小于最佳容量會呈現欠拟合,大于時導緻過拟合。這種關系與第一章中讨論的容量、欠拟合和過拟合之間的關系類似。

四,樣本方差與總體方差

本章中樣本方差與總體方差概念是統計學意義上的。

4.1,方差定義

方差是在機率論和統計學中衡量随機變量或一組資料時離散程度的度量,在統計描述和機率分布中各有不同的定義,并有不同的公式。

機率論中,方差(variance)衡量的是當我們對 x \textrm{x} x 依據它的機率分布進行采樣時,随機變量 x \textrm{x} x 的函數值會呈現多大的差異,簡單了解就是用來度量随機變量和其數學期望之間的偏離程度。

統計學中,方差是一組觀測值的特征,觀測值通常是從真實世界的系統中測量的。如果給出系統的所有可能的觀測,則它們算出的方差稱為總體方差;然而,一般情況下我們隻使用總體的一個子集(樣本),由此計算出的方差稱為樣本方差。用樣本計算出的方差可認為是對整個總體的方差的估計量。

1,均方誤差(MSE,mean squared error)與均方根誤差(RMSE)

均方誤差是預測值與真實值之差的平方和的平均值,即誤差平方和的平均數。計算公式形式上接近方差,它的開方叫均方根誤差

RMSE

,均方根誤差才和标準差形式上接近。

計算公式如下:

1 n ∑ i = 1 n [ f ( x i ) − y i ] 2 \frac{1}{n} \sum_{i=1}^{n}[f(x_i)-y_i]^2 n1​i=1∑n​[f(xi​)−yi​]2

在機器學習中均方誤差常用作預測和回歸問題的損失函數,均方誤差越小,說明模型預測的越準确,反之則越不準确。

2,總體方差

統計中的總體方差 σ 2 \sigma^2 σ2 就是對整個總體運用方差計算方法得到的結果,即樣本實際值與實際值的總體平均值之差的平方和的平均值。

另一種定義:各個樣本誤差之平方(而非取絕對值,使之肯定為正數)相加之後再除以總數。

總體方差計算公式如下:

σ 2 = ∑ i = 1 N ( X i − μ ) 2 N \sigma ^2 = \frac{\sum_{i=1}^{N}(X_{i}-\mu)^2}{N} σ2=N∑i=1N​(Xi​−μ)2​

公式解析:

  1. 因為和樣本數無關,是以分母為樣本數
  2. 累加每個值和均值內插補點的平方,對應于每個值相對于均值的偏差,對應于離散程度,平方是對離散程度的加劇,同時能讓內插補點總為正數,以符合偏差的概念意義
  3. σ \sigma σ 的平方表示總體方差, X X X 表示變量,$\mu $ 表示總體均值(也叫數學期望), N N N 表示總體樣本數量。

由于方差是資料的平方,與檢測值本身相差太大,難以直覺的衡量,是以常用方差開根号換算回來,就成了标準差(Standard Deviation)用 σ \sigma σ 表示。

3,樣本方差

在實際項目中,總體均值很難獲得,是以常用樣本方差來估計總體方差(統計術語:樣本方差是對總體方差的無偏估計)。所謂樣本方差,是指樣本各機關變量值與其算術平均數的離差平方的平均數。

應用樣本統計量替代總體參數,經校正後,樣本方差的計算公式如下:

σ 2 = ∑ i = 1 n − 1 ( X i − x i . . x n ‾ ) 2 n − 1 \sigma ^2 = \frac{\sum_{i=1}^{n-1}(X_{i}-\overline{x_{i}..x_{n}})^2}{n-1} σ2=n−1∑i=1n−1​(Xi​−xi​..xn​​)2​

x i . . x n ‾ \overline{x_{i}..x_{n}} xi​..xn​​ 表示樣本均值公式分母由總體方差的

N

變為了

n-1

,使得樣本方差更能反映總體方差。

五,先驗機率與後驗機率

更多深入内容可參考《花書》第三章機率與資訊論。

5.1,條件機率

一個事件發生後另一個事件發生的機率。設 A 與 B 為樣本空間 Ω 中的兩個事件,其中 P(B)>0。那麼在事件 B 發生的條件下,事件 A 發生的條件機率為:

P ( A ∣ B ) = P ( A ∩ B ) P ( B ) P(A|B) = \frac {P(A\cap B)} {P(B)} P(A∣B)=P(B)P(A∩B)​

5.2,先驗機率

事件發生前的機率,可以是基于以往經驗/分析,也可以是基于曆史資料的統計,甚至可以是人的主觀觀點給出。一般是單獨事件機率,如 P ( x ) P(x) P(x), P ( y ) P(y) P(y)。

5.3,後驗機率

  • 事情已經發生,要求這件事情發生的原因是由某個因素引起的可能性的大小(由果推因:就是在知道“果”之後,去推測“因”的機率)
  • 後驗機率和和先驗機率的關系可以通過

    貝葉斯

    公式求得,公式如下:

    P ( B i ∣ A ) = P ( B i ⋅ P ( A ∣ B i P ( B 1 ) ⋅ P ( A ∣ B 1 ) + P ( B 2 ) ⋅ P ( A ∣ B 2 ) P(B_{i}|A) = \frac {P(B_{i}\cdot P(A|B_{i}}{P(B_{1})\cdot P(A|B_{1}) + P(B_{2})\cdot P(A|B_{2}) } P(Bi​∣A)=P(B1​)⋅P(A∣B1​)+P(B2​)⋅P(A∣B2​)P(Bi​⋅P(A∣Bi​​

5.4,貝葉斯公式

貝葉斯公式是建立在條件機率的基礎上尋找事件發生的原因(即大事件

A

已經發生的條件下,分割中的小事件

Bi

的機率),設

B1,B2,...

是樣本空間

Ω

的一個劃分,則對任一事件

A(P(A)>0)

, 有: P ( B i ∣ A ) = P ( A ∣ B i ) P ( B i ) ∑ j = 1 n P ( B j ) P ( A ∣ B j ) P(B_{i}|A) = \frac {P(A|B_{i})P(B_{i})}{\sum_{j=1}^{n}P(B_{j})P(A|B_{j})} P(Bi​∣A)=∑j=1n​P(Bj​)P(A∣Bj​)P(A∣Bi​)P(Bi​)​

  • Bi

    常被視為導緻試驗結果A發生的”原因“;
  • P(Bi)(i=1,2,...)

    表示各種原因發生的可能性大小,故稱先驗機率;
  • P(Bi|A)(i=1,2...)

    則反映當試驗産生了結果A之後,再對各種原因機率的新認識,故稱後驗機率。

5.5,後驗機率執行個體

假設一個學校裡有

60%

男生和

40%

女生。女生穿褲子的人數和穿裙子的人數相等,所有男生穿褲子。一個人在遠處随機看到了一個穿褲子的學生。那麼這個學生是女生的機率是多少?

  • 使用貝葉斯定理,事件A是看到女生,事件B是看到一個穿褲子的學生。我們所要計算的是 P ( A ∣ B ) P(A|B) P(A∣B)。
  • P ( A ) P(A) P(A) 是忽略其它因素,看到女生的機率,在這裡是 40%;
  • P ( A ′ ) P(A') P(A′) 是忽略其它因素,看到不是女生(即看到男生)的機率,在這裡是 60%;
  • P ( B ∣ A ) P(B|A) P(B∣A) 是女生穿褲子的機率,在這裡是 50%;
  • P ( B ∣ A ′ ) P(B|A') P(B∣A′) 是男生穿褲子的機率,在這裡是 100%;
  • P ( B ) P(B) P(B) 是忽略其它因素,學生穿褲子的機率, P ( B ) = P ( B ∣ A ) P ( A ) + P ( B ∣ A ′ ) P ( A ′ ) P(B) = P(B|A)P(A) + P(B|A')P(A') P(B)=P(B∣A)P(A)+P(B∣A′)P(A′),在這裡是 0.5×0.4 + 1×0.6 = 0.8。

根據貝葉斯定理,我們計算出後驗機率P(A|B):

P ( A ∣ B ) = P ( B ∣ A ) P ( A ) P ( B ) = 0.5 × 0.4 0.8 P(A|B) = \frac {P(B|A)P(A)}{P(B)} = \frac {0.5\times 0.4} {0.8} P(A∣B)=P(B)P(B∣A)P(A)​=0.80.5×0.4​

六,相對熵(KL散度)與交叉熵

也可參考文章【直覺詳解】資訊熵、交叉熵和相對熵、為什麼交叉熵(cross-entropy)可以用于計算代價和神經網絡基礎部件-損失函數詳解。

6.1,資訊熵

其實資訊熵是香農資訊量( l o g 1 p log\frac{1}{p} logp1​)的期望(均值),它不是針對每條資訊,而是針對整個不确定性結果集而言,資訊熵越大,事件不确定性就越大。單條資訊隻能從某種程度上影響結果集機率的分布。資訊熵定義:

H ( P ) = ∑ i P ( i ) l o g a 1 P ( i ) = − ∑ i P ( i ) l o g a P ( i ) H(P) = \sum_{i} P(i)log_{a} \frac{1}{P(i)} = -\sum_{i}P(i)log_{a} P(i) H(P)=i∑​P(i)loga​P(i)1​=−i∑​P(i)loga​P(i)

P i P_{i} Pi​ 表示第 i i i 個事件發生得機率,總的來說資訊熵其實從某種意義上反映了資訊量存儲下來需要多少存儲空間。

總結為:根據真實分布,我們能夠找到一個最優政策,以最小的代價消除系統的不确定性(比如編碼),而這個代價的大小就是資訊熵。

6.2,相對熵/KL散度

KL

散度,有時候也叫

KL 距離

,一般被用于計算兩個分布之間的不同,記為 D K L ( P ∣ ∣ Q ) = H ( P , Q ) − H ( P ) D_{KL}(P||Q) = H(P,Q) - H(P) DKL​(P∣∣Q)=H(P,Q)−H(P),對于同一個離散随機變量 x \textrm{x} x 有兩個單獨的機率分布 P ( x ) P(x) P(x) 和 Q ( x ) Q(x) Q(x),其

KL

散度為:

D K L ( P ∥ Q ) = ∑ i P ( i ) l o g a P ( i ) Q ( i ) = ∑ i P ( i ) [ l o g P ( x ) − l o g Q ( x ) ] D_{KL}(P \| Q) = \sum_i P(i)log_{a} \frac{P(i)}{Q(i)} = \sum_i P(i)[logP(x) - log Q(x)] DKL​(P∥Q)=i∑​P(i)loga​Q(i)P(i)​=i∑​P(i)[logP(x)−logQ(x)]

當 P ( i ) = Q ( i ) P(i) = Q(i) P(i)=Q(i) 的時候,該值為

,深度學習過程也是一個降低該值的過程,該值越低,訓練出來的機率 Q Q Q 越接近樣本集機率 P P P,即越準确,或者可以了解為相對熵是一把标尺,用來衡量兩個函數是否相似,相似就是 0。即,相對熵 = 某個政策的交叉熵 - 資訊熵(根據系統真實分布計算而得的資訊熵,為最優政策),當資訊熵為常量時,交叉熵與KL散度相等。

6.3,交叉熵 cross-entroy

交叉熵是由資訊熵而得來的,和

KL

散度關系密切,拓展用在機器學習/深度學習中作損失函數。假定在确定性更大的機率分布情況下,用更不确定的存儲政策來計算,比如使用

P

的機率乘上

Q

的存儲因子,套用資訊熵公式:

H ( P , Q ) = ∑ i P ( i ) l o g a 1 Q ( i ) = − ∑ i P ( x i ) l o g a Q ( x i ) H(P,Q) = \sum_{i} P(i)log_{a} \frac{1}{Q(i)} = -\sum_{i}P(x_i)log_{a} Q(x_i) H(P,Q)=i∑​P(i)loga​Q(i)1​=−i∑​P(xi​)loga​Q(xi​)

用預測機率 q q q 分布,去編碼真實标簽 p p p 的分布,得到的資訊量。交叉熵,用來衡量在給定的真實分布下,使用非真實分布指定的政策消除系統的不确定性所需要付出努力的大小。總的來說,我們的目的是:讓熵盡可能小,即存儲空間小(消除系統的不确定的努力小)。交叉熵的一些性質:

  • 非負。
  • KL

    散度相同,交叉熵也不具備對稱性,即 H ( P , Q ) ≠ H ( Q , P ) H(P,Q)≠H(Q,P) H(P,Q)=H(Q,P)。
  • 交叉熵主要用于描述兩個事件之間的互相關系,對同一個分布求交叉熵等于對其求熵

6.4,為什麼交叉熵可以用作代價

從數學上來了解就是,為了讓學到的模型分布更接近真實資料的分布,我們需要最小化模型資料分布與訓練資料之間的

KL 散度

,而因為訓練資料的分布是固定的,是以最小化

KL 散度

等價于最小化交叉熵,而且交叉熵計算更簡單,是以機器/深度學習中常用交叉熵

cross-entroy

作為分類問題的損失函數。

使用交叉熵損失大大提高了具有

sigmoid

softmax

輸出的模型的性能,而當使用均方誤差損失時會存在飽和和學習緩慢的問題。

6.5,KL 散度與交叉熵的關系

  • KL

    散度和交叉熵在特定條件下等價
  • D K L ( P ∣ ∣ Q ) = H ( P , Q ) − H ( P ) D_{KL}(P||Q) = H(P,Q) - H(P) DKL​(P∣∣Q)=H(P,Q)−H(P)

七,随機梯度下降算法

  • 随機梯度下降算法是目前最為廣泛應用的一種神經網絡優化算法,形式為 θ = θ − ϵ g θ=θ − ϵg θ=θ−ϵg, ϵ ϵ ϵ 是學習率, g g g 是梯度, θ θ θ 是權重。
  • 随機梯度下降優化算法不一定能保證在合理的時間内達到一個局部最小值,但它通常能及時地找到代價函數一個很小的值,并且是有用的。

八,超參數和驗證集

  • 普通參數指算法權重 w w w 的值,是可以通過學習算法本身學習得到。超參數的值不是通過學習算法本身學習出來的,可通過驗證集人為選擇合适的超參數。
  • 将訓練資料劃分為兩個不相交的子集,即訓練集和驗證集,訓練集用于學習普通參數,驗證集用于估計訓練中或訓練後的泛化誤差,更新超參數(“訓練超參數”)。通常,

    80%

    的訓練資料用于訓練,

    20%

    用于驗證。
  • 交叉驗證方法适合小規模資料集(例如幾百上千張圖檔)訓練模型的情況。

九,正則化方法

所謂正則化,是指我們通過修改學習算法,使其降低泛化誤差而非訓練誤差的方法。

正則化是一種思想(政策),它是機器學習領域的中心問題之一,其重要性隻有優化能與其相媲美。

許多正則化方法通過對目标函數 J J J 添加一個參數範數懲罰項 Ω ( θ ) \Omega(\theta) Ω(θ),限制模型 (如神經網絡、線性回歸或邏輯回歸)的學習能力。我們将正則化後的目标函數記為

J ~ \tilde{J} J~ :

J ~ ( θ ; X , y ) = J ( θ ; X , y ) + α Ω ( θ ) \tilde{J}(\theta; X, y) = J(\theta; X, y) + \alpha \Omega(\theta) J~(θ;X,y)=J(θ;X,y)+αΩ(θ)

其中 α ∈ [ 0 , ∞ ) \alpha \in[0,∞) α∈[0,∞) 是權衡範數懲罰項 Ω \Omega Ω 和标準目标函數 J ( X ; θ ) J(X;\theta) J(X;θ) 相對貢獻的超參數。将 α \alpha α 設為 0 表示沒有正則化。 α \alpha α 越大,對應正則化懲罰越大。

常用的參數正則化政策有 L1 和 L2 範數。L1 範數(

L1 norm

)是指向量中各個元素絕對值之和,也有個美稱叫“稀疏規則算子”(Lasso regularization)。 比如,向量 A = [ 1 , − 1 , 3 ] A = [1,-1,3] A=[1,−1,3], 那麼 A 的 L1 範數為 ∣ 1 ∣ + ∣ − 1 ∣ + ∣ 3 ∣ |1|+|-1|+|3| ∣1∣+∣−1∣+∣3∣。簡單總結就是:

  • L1 範數: 為向量 x 各個元素絕對值之和。
  • L2 範數: 為向量 x 各個元素平方和的 1/2 次方,L2 範數又稱 Euclidean 範數或 Frobenius 範數
  • Lp 範數: 為向量 x 各個元素絕對值 p p p 次方和的 1 / p 1/p 1/p 次方.

L1

範數可以使權值參數稀疏,友善特征提取。L2 範數可以防止過拟合,提升模型的泛化能力。

參考資料

  1. 機器學習中的Bias(偏差),Error(誤差),和Variance(方差)有什麼差別和聯系?
  2. 先驗機率,後驗機率,似然機率,條件機率,貝葉斯,最大似然
  3. 你對貝葉斯統計有何了解
  4. Different types of Distances used in Machine Learning Explained
  5. Understanding the Bias-Variance Tradeoff

繼續閱讀