作者:Jason Browniee
翻譯:張若楠
校對:林鶴沖
本文長度為2800字,建議閱讀8分鐘
本文介紹了自由度的概念,以及如何判斷統計學模型和機器學習模型中的自由度。
标簽:數據處理
自由度是統計和工程學的重要概念,它通常用于總結在人們在計算樣本統計或統計假設檢驗統計量時所使用的數據量。在機器學習中,自由度可以指模型中的參數數量,例如線性回歸模型中的系數數量或深度學習神經網絡中的權重數量。
其中值得關注的地方在于,如果機器學習模型中存在過多的自由度(即模型參數),那麼這個模型将會過拟合訓練集,這是統計學上的普遍認識。可以通過使用正則化技術來克服這種問題,比如正則化線性回歸,以及深度學習神經網絡模型中常用的各種正則化手段。
在本文中,你将進一步了解統計學和機器學習中的自由度。閱讀這篇文章後,你會認識到:
讓我們開始吧。
概覽本文分為以下三部分:
一、什麼是自由度
二、統計學中的自由度
三、機器學習中的自由度
自由度表示的是一個系統、模型或一個計算中的控制因子數。每個可以變換的獨立參數都是d維空間中的一個維度,這個d維空間定義了可能影響系統的值的範圍。某一個觀測值或樣本點就是該空間中的一個單獨點。
在數學上,自由度通常用希臘字母ν表示,看起來像小寫的“ v”。也可以縮寫為“ d.o.f”、“ dof”、“ d.f.”,或直接寫作“ df”。自由度是統計學和工程學中的術語,也通用于機器學習。
統計學中的自由度
在統計中,自由度是用于計算一個統計量時,所用的一系列數值中可以變換的個數。
自由度:大緻來說,就是計算統計所需的最少數據量。實際上,它是一個或多個數字,來近似數據集中觀測值的數量,從而确定統計顯着性。
---《Statistics in Plain English》,2010年第三版P60
它的計算方法是:計算統計量時使用的獨立值的數量減去所計算的統計量的個數,即:
自由度 = 獨立值的數量 – 統計數量
例如我們有50個獨立樣本,希望計算樣本的統計量,比如均值。我們在計算中使用了全部50個樣本,并且隻有一個統計量,因此在這種情況下,均值的自由度計算為:
自由度 = 獨立值的數量–統計數量
自由度 = 50 – 1
自由度 = 49
自由度通常是數據分布和統計假設檢驗中需要重點考慮的因素。例如,通常有針對不同自由度查詢臨界值的表格(相比起直接計算統計數據,既簡單又常用)。以上是統計學中的自由度,那麼對于數據拟合的模型(例如在機器學習模型)又如何呢?
機器學習中的自由度
在預測建模中,自由度通常是指模型中從數據估計的參數數量。這可以涵蓋模型的系數以及用于模型誤差計算的數據。
理解這一點的最佳例子是線性回歸模型。
線性回歸模型中的自由度
下面考慮數據集中有兩個輸入變量的線性回歸模型。對于每個輸入變量,我們将在模型中給定一個系數,也就是說該模型将具有兩個參數。
該模型如下所示,其中x1和x2是輸入變量,beta1和beta2是模型參數。
yhat = x1 * beta1 x2 * beta2
該線性回歸模型具有兩個自由度,因為它有兩個參數必須從訓練數據集中估計得到。在數據中再增加一列(增加一個輸入變量)将為模型增加一個度自由度。
模型自由度 = 根據數據估算的參數數量
人們通常根據模型訓練的參數數量來表達一個模型的複雜程度。例如,具有兩個參數的線性回歸模型的複雜度等于自由度,在這種情況下為2。相對于較高複雜度的模型,我們通常更喜歡較低複雜度的模型。簡單的模型通常更有普适性。
自由度是對模型估計多少參數的解釋,也是對線性回歸模型的複雜度的衡量
— P71,應用預測建模 (2013)
線性回歸誤差的自由度
訓練集的數據量很重要,并且會影響回歸模型的總體自由度。
假設使用包含100個樣本的訓練集拟合線性回歸模型的系數,通過最小化模型預測值與實際值之間的誤差來拟合模型。考慮該模型的誤差時,誤差值對于模型訓練集的每一個樣本具有一個自由度,同時需要減去參數的個數。
在這種情況下,模型誤差的參數個數為100減2,即98個自由度。
在模型分析的報告中通常要提及線性模型的誤差以及其誤差自由度是有益的,或者至少可以彙報訓練數據中的樣本量,以便确定模型誤差的自由度。
線性回歸的總體自由度
線回歸模型的總體自由度就是模型自由度與模型誤差自由度的和。
通常,自由度等于用于訓練集的樣本量。現在仍然考慮一個包含100個樣本的數據集,但是假設現在我們有70個輸入變量。這意味着該模型現在有70個拟合的參數。因此,模型誤差将為30 (100 – 70 ) 自由度。
而模型的總自由度仍等于樣本量,即70 30 = 100。
負自由度
當我們的數據集列多于行時會發生什麼?
例如,我們可能有100行數據和10000個變量,例如100位患者的基因标記。這種情況下,線性回歸模型将具有10000個參數,這意味着該模型将具有10000個自由度。
我們可以如下計算模型誤差的自由度:
我們可以如下計算總自由度:
該模型仍具有100個總自由度,但是模型誤差具有負的自由度。負自由度是有效的。這表明我們計算出的統計量多于我們有的變量。在這種情況下,模型中的參數要多于要訓練集樣本量。這就是所謂的p >> n,即參數遠大于樣本量。
自由度和過拟合
當我們的參數量比樣本量大時,模型就存在過拟合訓練集的風險。如果我們将模型中的每個系數都視為一個控制點就很容易理解。如果在模型中的控制點多于觀察點,則理論上我們可以通過調參來百分百正确的預測實際值。過度學習訓練集的細節,從而降低了準确預測新數據的性能,這就是過拟合的定義。
統計學家們普遍擔憂深度學習神經網絡模型容易過拟合。深度學習模型通常有比樣本量更多的參數(模型權重)。如果按照我們對線性模型的理解,這是很可能過拟合的。然而,通過仔細選擇模型架構和采用正則化技術,可以防止它們過度拟合并保持較低的誤差。
此外,在深度模型中,有效自由度可以與模型中參數的數量分開讨論。
如我們所述,對于簡單的分類模型,自由度等于模型中的參數數量。在深度網絡中,自由度通常遠小于模型中參數的數量,深度網絡往往有較小的自由度。
---《深度神經網絡的自由度》2016
因此,統計學家和機器學習從業人員開始傾向于不再使用自由度來表示模型複雜性,以及不用其并判斷是否會過拟合。
對于大多數應用統計學家來說,拟合過程的自由度是其模型複雜度或對數據過拟合可能性的代名詞。[…]而我們認為恰恰相反,模型的複雜性和自由度或許并沒有很強的對應關系。
---《有效自由度:存在缺陷的指标》2013
總結在本文中,你了解了統計和機器學習的自由度,要點如下:
編輯:于騰凱
校對:林亦霖
譯者簡介
張若楠,UIUC統計研究生畢業,南加州傳媒行業data scientist。曾實習于國内外商業銀行,互聯網,零售行業以及食品公司,喜歡接觸不同領域的數據分析與應用案例,對數據科學産品研發有很大熱情。
—完—
想要獲得更多數據科學領域相關動态,誠邀關注清華-青島數據科學研究院官方微信公衆平台“ 數據派THU ”。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!