在本系列的第一篇文章中,談及了數據科學的關鍵概念和過程。在這篇文章中,會更深入一點。首先,將定義什麼是統計學習(Statistical Learning )。然後,將深入到統計學習的關鍵概念,了解統計學習。
什麼是統計學習
根據維基百科,統計學習理論是從統計學和功能分析領域進行機器學習的框架。
機器學習是通過軟體應用程式實現統計學習技術的一種體現。
這在實踐中意味著什麼?統計學習是指讓我們能夠更好地理解數據的工具和技術。那麼理解數據意味著什麼?
在統計學習的背景下,有兩種類型的數據:
可以直接控制功能的獨立變量數據
不能直接控制功能的因變量數據
像因變量這樣無法控制的數據,則需要預測或估計。
更好的理解數據是通過獨立變量來更多地了解因變量。例如下面的例子:
假設想根據分配給電視、廣播和紙質廣告的不同預算來衡量銷售額。分配給不同渠道的廣告預算是可以控制的,但是無法控制的是它們將如何影響銷售。於是想用把無法控制的數據(銷售額)表達為可以控制的數據(廣告預算)的功能,揭開這種隱藏的關係。
統計學習則能夠揭示隱藏的數據關係,不論是依賴的還是獨立的數據之間的關係。
參數和模型
運營管理中著名的商業模式之一是ITO模型,即輸入-轉化-輸出(Input-Transformation-Output)模型。這很好理解,有一些輸入,這些輸入經歷一些轉化,然後生成了輸出。
統計學習也適用於類似的邏輯,有數據輸入,數據輸入後經歷轉化,然後生成需要預測或估計的輸出。
而上述的轉化引擎部分被稱之為模型,一些用來預估輸出的函數。
轉化過程是和數學相關的,用數學成分計算輸入數據來預估輸出,這些數學成分稱為參數。
如下例:
是什麼決定了某人的收入?例如收入是由受教育程度和工作經驗決定的。那麼估計收入的模型可能是這樣的:
收入 = c + β0 受教育程度 + β1 經驗
其中,β0和β1是表示收入函數中教育和經驗的參數。而教育和經驗是可控的變量,這些可控變量具有不同的含義,它們被稱為獨立變量,也稱之為特徵。收入是不可控變量,它們被稱為目標。
訓練與測試(Training and Testing)
當你準備一場考試的時候,都做些什麼呢?研究、學習、消化知識點、做筆記、不斷練習等。這些都是學習和準備未知測試的過程或者工具。
機器學習也使用類似的概念進行學習。數據一般是有限的,因此在使用數據時需要謹慎。模型的構建也需要進行驗證,而驗證的方法可以參考如下方式:
將數據集分割為兩部分;
使用其中一部分作為訓練數據,讓模型從中進行學習,也就是說這部分數據對模型來說是可見的、已知的。這部分數據集被稱為訓練數據;
使用另一部分來測試模型,給予模型一部分未知的測試數據,來核查模型的性能。這部分數據稱為測試數據。
在競爭性考試中,如果準備充分、歷史學習有效,那麼考試中的表現一般也是令人滿意的。同樣的,在機器學習中,如果模型很好地學習了訓練數據,那麼在測試數據上也應該有良好的表現。
一般情況下,在機器學習中,一旦模型在測試數據集上進行測試,就會評估模型的性能,根據它預估的輸出與實際值的接近程度來進行評估。
方差與偏差(Variance and Bias)
英國著名統計學家George Box曾經說:
「All models are wrong, but some are useful.」
「所有模型都是錯誤的,但其中一些是有用的。」
沒有哪個模型能夠達到100%的準確度,所有的模型都有些錯誤,這些錯誤可以從兩方面進行衡量:
偏差(Bias)
方差(Variance)
下面使用類比來解釋這兩個維度:
Raj,是一個七歲的孩子,剛剛接觸了乘法的概念。他已經掌握了1和2的乘法,接下來將挑戰3的,他非常興奮,開始了3的乘法練習,他寫下了如下的等式:
3 x 1 = 4
3 x 2 = 7
3 x 3 = 10
3 x 4 = 13
3 x 5 = 16
Raj的同學Bob也在練習3的乘法。他的計算結果看起來是這樣的:
3 x 1 = 5
3 x 2 = 9
3 x 3 = 18
3 x 4 = 24
3 x 5 = 30
讓我們從機器學習的角度來研究由Bob和Raj創建的乘法模型。
Raj的模型有一個無效的假設,他假設了乘法運算意味著需要在結果後面加1。這個假設引入了偏差誤差。假設是一致的,即將1加到輸出。這意味著Raj的模型低偏差;
Raj的模型導致輸出始終與實際相距1。這意味著他的模型具有低方差;
Bob的模型輸出結果毫無規律,他的模型輸出與實際值偏差很大。沒有一致的偏差模式。Bob的模型具有高偏差和高方差。
上面的例子是對方差和偏差這一重要概念的粗略解釋。
偏差,是模型不考慮數據中的所有信息,而持續學習錯誤信息的傾向。
方差,是模型不考慮實際的數據情況,而持續學習隨機信息的傾向。
偏差 - 方差權衡(Bias-Variance Trade-Off)
有的人學習數學的方式是靠死記硬背,這些人能夠學習和記住數學問題,並且很好背誦出來。
但問題是,他們背下的問題和考試時遇到的問題是不一樣的,考試題是數學概念的泛化應用。顯然,靠死記硬背很難考好。
機器學習也是同樣的模式。如果模型對某一特定的數據集學習過多,並試圖將該模型應用在其他未知數據上,則可能具有很高的誤差。從給定的數據集中學習過多被稱為過擬合。此種情況下,模型難以有效地推廣應用於未知的數據。相反的,從給定的數據集中學習太少稱為欠擬合。此種情況下,模型表現太差,甚至無法從給定的數據中學習。
阿爾伯特·愛因斯坦簡潔地概括了這個概念。他說:
「Everything should be made as simple as possible, but not simpler.」 *
「凡事應儘可能簡單,但不應過於簡單。」
機器學習解決問題的方式是不斷努力尋找到一個恰當的平衡點,構建一個不過於複雜也不過於簡單、能夠泛化的、相對不準確但是有用的模型。
過擬合的模型會過於複雜,它在訓練數據上表現非常好,但是在測試數據上表現欠佳;
欠擬合的模型又過於簡單,它在訓練數據和測試數據上的表現都欠佳;
一個良好的模型是在過擬合和欠擬合之間找到平衡,它表現良好,簡單但不過於簡單。
這種平衡行為被稱為偏差 - 方差權衡。
結語
統計學習是複雜機器學習應用的基石。本文介紹了統計學習的一些基礎和核心概念,請記住以下五大要點:
統計學習揭示依賴數據和獨立數據之間的隱藏關係;
模型是轉換引擎,參數是實現轉換的要素;
模型使用訓練數據進行學習,使用測試數據進行評估;
所有模型都是錯誤的,但有些是有用的;
偏差-方差權衡是一種平衡行為,以找到最優化模型、最佳點。