機器學習Lesson 18 — 模型的自由度是什麼東西?有什麼用?

施威銘研究室
5 min readJan 26, 2022

--

很多文章會跟你說自由度(Degree of Freedom)比樣本數小,是因為估計統計量時讓模型被限制住了。講好像很有道裡,但其實還是不懂。今天,我們用幾個範例來看看自由度是什麼吧。

一、4 筆資料 3 個特徵的線性迴歸

現在,我們有一個簡單的資料集,特徵(Feature)分別是 X1、X2、X3,標籤(Label)則是 Y:

  X1    X2    X3    Y   
----- ----- ----- -----
1 2 3 15
2 2 1 10
3 1 2 12
1 3 2 14

我們使用的模型是線性迴歸(Linear Regression),模型有1 個偏誤(Bias),外加每個特徵都有 1 個權重(Weight),因此模型總共有 4 個參數(Parameter)。

大家實際去訓練這個模型,可以發現此模型的誤差會是 0,也就是模型可以根據特徵,完美地預測標籤。

其實,上述這個資料集,你可以用線性聯立方程組來表示。當有 4 條方程式、4 個參數的情況下(不考慮多重共線性(Multicollinearity)),線性聯立方程組是可以解出唯一的一組參數解,同時滿足 4 條方程式,也就是誤差會是 0。

二、4 筆資料 2 個特徵的線性迴歸

接下來,我們把上一節資料集裡頭的 X3 刪去,只留下特徵 X1、X2,標籤則不變:

  X1    X2     Y   
----- ----- -----
1 2 15
2 2 10
3 1 12
1 3 14

一樣使用線性迴歸,但是因為特徵少了 1 個,所以模型的參數自然也就少了 1 個:

這時候該怎麼訓練模型呢?我們可以試試看用上一節提到的解線性聯立方程組的方法:

這時候會發現無法解出來...因為解線性聯立方程組的過程中需要使用反矩陣(Inverse Matrix),然而只有方陣(Square Matrix)才有反矩陣!既然如此,我們可以考慮建立一個模型,透過解線性聯立方程組的方法,來完美預測前 3 筆資料,而剩下的最後 1 筆資料,就讓它有誤差吧。

用這組參數去預測最後 1 筆資料,得到的誤差是 6。

三、4 筆資料 1 個特徵的線性迴歸

我們進一步刪減特徵,現在只留下 1 個特徵,標籤則維持一樣:

  X1     Y   
----- -----
1 15
2 10
3 12
1 14

從前一節的討論,我們知道如果想要使用解線性聯立方程組,那只能做到完美預測前 2 筆資料,後 2 筆資料就會有誤差。

第 3 筆資料的誤差是 7,第 4 筆資料的誤差是 1。

四、模型比較

為了方便比較,我們可以計算模型的平方平均誤差,也就是將誤差平方後,再相加,最後取平均,我們先考慮根據資料筆數做平均。

含有 2 個特徵的資料集,模型的平方平均誤差是 9 。含有 1 個特徵的資料集,模型的平方平均誤差是 12.5。

所以,特徵比較多的模型,誤差越小。因此,如果考慮根據資料筆數做平均來算誤差,想要降低模型誤差,就是一直加特徵

你覺得這樣合理嗎?

五、自由度

如果我們的模型有越多特徵,就可以透過解線性聯立方程組的方式,得到更多筆完美預測的資料,真正會有誤差的資料筆數就會減少,所以誤差自然會降低。

但是,這樣衡量模型的方式,可能會讓我們走向不斷加特徵的路上。然而,我們認為的好模型,應該是可以用適當數量的特徵,來做出精準的預測吧!

因此,當我們用平方平均誤差來衡量模型時,可以考慮根據資料筆數減去模型參數做平均,而這剛好是模型無法使用解線性聯立方程組得到完美預測的資料筆數。

考慮根據資料筆數減去模型參數做平均,含有 2 個特徵的資料集,模型的平方平均誤差是 36。含有 1 個特徵的資料集,模型的平方平均誤差是 25。可以發現加越多特徵,模型的預測能力並不一定更好!

最後,我們將資料筆數減去模型參數,稱為模型的自由度

雖然我們真正在找出模型參數時,並不是解線性聯立方程組。但是透過上述的範例,可以讓我們直覺感受到模型特徵、參數越多,通常會越逼近標籤,模型真正預測的資料其實是會減少。如此一來計算預測的誤差,並不適合根據資料筆數做平均,而是要根據自由度比較合理。

關於作者

Chia-Hao Li received the M.S. degree in computer science from Durham University, United Kingdom. He engages in computer algorithm, machine learning, and hardware/software codesign. He was former senior engineer in Mediatek, Taiwan. His currently research topic is the application of machine learning techniques for fault detection in the high-performance computing systems.

--

--

施威銘研究室
施威銘研究室

Written by 施威銘研究室

致力開發AI領域的圖書、創客、教具,希望培養更多的AI人才。整合各種人才,投入創客產品的開發,推廣「實作學習」,希望實踐學以致用的理想。

No responses yet