一文讀懂統計學與機器學習的本質區別(附案例)

THU資料派發表於2019-05-06

兩者之間並不一樣。如果機器學習僅僅是統計學基礎上的錦上添花,那麼其結構只能像沙堡一樣脆弱。


老實說,我已經厭倦了在社交媒體和我的大學裡聽到這種爭論,而且兩方通常都會用一些模糊的描述來解釋這個問題。其實大家都對這樣做感到內疚。希望在本文的最後,你可以對這些模糊的術語有一個更為全面的瞭解。

一文讀懂統計學與機器學習的本質區別(附案例)

論點

與人們的普遍認識相反,機器學習實際上已經有數十年的歷史了。受模型計算需求和早期算力限制的影響,這一領域之前並未興起。然而,得力於近年來資訊爆炸所帶來的海量資料優勢,機器學習正方興未艾。

想想看,如果機器學習和統計學彼此相同的話,那麼大學裡的統計專業為什麼沒有關閉或是改名叫“機器學習”呢?因為他們確實不一樣!

我們常常聽到與這一問題有關的一些模糊陳述:

機器學習與統計學之間的區別在於其目的不同。機器學習旨在進行精確預測。而統計學模型則用於推斷變數之間的關係。”

從技術角度看,這一陳述是正確的,然而卻並非令人滿意且明確的答案。可以肯定的是,目的確實是機器學習與統計學之間的主要區別,但關於機器學習的精確預測與統計學的關係推斷這一論斷則沒有什麼意義,除非你精通這些概念。

首先,我們需要區分統計學與統計模型。統計學是關於資料的數學研究。沒有資料,統計學則無用武之地。統計模型則是一種資料模型,可用於推斷資料中的關係或建立具有預測功能的模型。通常情況下,兩者相輔相成。

所以,我們需要討論兩個問題:首先,統計學與機器學習之間的區別;其次,統計建模與機器學習之間區別。更明確地說,可用統計模型進行預測,然而預測精度並非它的專長。

同樣,機器學習模型提供了不同程度的可解釋性,從具有高度可解釋性的lasso迴歸到我們一無所知的神經網路,通常它們會犧牲可解釋性以獲得預測能力。

從某種意義上講,對大多數人來說這已經是一個很好的答案了。然而,在某些情況下,這種解釋會令人們對機器學習和統計學之間的區別存在誤解。先來看一個線性迴歸的例子。

統計模型 vs 機器學習 ——線性迴歸

一文讀懂統計學與機器學習的本質區別(附案例)

在我看來,統計建模與機器學習所用方法非常相似,因此人們認為兩者是一致的。這一觀點可以理解,但並不正確。

最明顯的同樣也是最易造成誤解的例子就是線性迴歸了。線性迴歸是一種統計學方法,我們可以訓練一個基於平方誤差最小的線性迴歸器,並輸出與統計線性迴歸模型相同的結果。

可以看到,一方面我們對模型進行“訓練”,這需要一個資料子集。另外,直到我們用非訓練資料對模型測試前,我們並不知道這個模型的效能。在這種情況下,機器學習的目的在於獲得基於測試資料集的模型最佳效能。

對於統計模型,我們假設資料是一個基於高斯分佈且有隨機噪聲的線性迴歸函式,並且要在其中找到一條均方誤差最小的線,但不需要訓練和測試資料集。在許多情況下特別是研究中(比如下面將提到的感測器研究),統計模型的重點在於刻畫資料與結果變數之間的關係,而不是對未來的資料進行預測。該過程被稱為統計推斷過程,而非預測過程。不過,我們仍然可以使用這一模型來進行預測,而且這可能是你的主要目的。對該模型的評估並不涉及測試資料集,而是對模型引數進行重要性和魯棒性評估。

有監督的機器學習的目的是構建一個可重複預測的模型。實際上我們只關心這個模型能不能用,而不是去解釋它的機制。因此我個人建議必須對模型進行測試,從而確定預測結果的可行性。機器學習是以結果為導向的,更像是隻以成敗論英雄。統計模型雖然也適合預測,但更關注於發現變數間的關係以及這一關係的重要性。

舉例來說,作為一名環境科學家,我主要研究感測器資料。我試圖證明某個感測器能夠對某種特定的刺激進行響應(比如氣體濃度),然後我會使用統計模型來確定訊號的響應是否具有統計顯著性。我會試圖去弄清楚刺激和響應之間的關係並對其可重複性進行驗證,也因此我可以準確地表徵感測器響應並根據響應資料做出推斷。比如我所測試的響應是否是線性的,是否是由氣體濃度而非隨機噪聲導致的響應,等等。

另一方面,我可以用一個有20個不同感測器的陣列來預測新感測器的響應情況。對於不太瞭解感測器的人可能聽上去有點奇怪,不過這目前屬於環境科學的一個關鍵領域。使用20個不同的變數和一個模型則可以預測新感測器的輸出情況,而且我不需要進行特別的解釋性工作。由於化學動力學和物理變數與氣體濃度之間的非線性關係,這一模型更像是一張神經網。我特別希望這一模型能夠具有實際意義,而且我會非常樂意其具有精準預測的功能。

如果我試圖證明資料變數間的關係具有統計學意義,我會使用統計模型。這是因為我更關注變數間關係,而非預測。雖然預測很重要,但由於機器學習演算法缺少解釋性,因此很難證明資料間的關係(實際上這也正是當前學術界的一個關鍵問題,即使用一個人們並不真正理解的演算法,而且得到一個似是而非的推論。)

一文讀懂統計學與機器學習的本質區別(附案例)

可以清楚地看到,兩種方法殊途同歸。機器學習演算法的評價準確性可通過測試資料集來驗證。對於統計模型來說,基於置信區間的迴歸引數分析,重要性測試以及其他測試可以用於評價該模型的有效性。由於使用這些方法所得到的結果是一致的,因此他們認為他們完全相同也是可以理解的。

統計學 VS 機器學習——線性迴歸案例

個人認為這一誤解可以很好地包含在這看似詼諧的比較統計資料和機器學習的10年挑戰當中。

一文讀懂統計學與機器學習的本質區別(附案例)

然而,僅僅因為運用了同樣的概率理論就把它們合二為一是沒有道理的。比如,如果我們認為機器學習是基於優化的統計,那麼我們也可以這樣說:

  • 物理只是優美化了的數學

  • 動物學只是美化了的集郵

  • 建築學只是美化了的沙堡結構

以上這些陳述(尤其是最後一個)都很荒謬,而且都來自於將有相似概念的術語合併這一概念(建築學舉例中使用了雙關語)。實際上,物理建立在數學基礎之上,是數學的一種應用,從而理解現實中存在的物理現象。物理也包括了統計學的各個方面,且現代統計學形式的框架結構主要來自含有以Zermelo-Frankel集合理論和測度理論組合而成的概率空間。由於來自同一起源和同一思想,它們有很多共同之處,並且從邏輯角度看還可以得到相同的結論。同樣,建築學和沙堡結構很可能也是如此——由於我不是建築學家,所以無法給出有見地的解釋——但顯然他們是不同的。

為了瞭解這一爭論的影響範圍,《Nature Methods》雜誌上發表了一篇論文,概述了統計學和機器學習的不同。這個想法看起來可笑,但是卻證明了在這一層次探討的必要性。

Points of Significance: Statistics versus machine learning

Statistics draws population inferences from a sample, and machine learning finds generalizable predictive patterns. Two…

www.nature.com

在繼續之前,我想快速澄清一下另外常見的機器學習與統計學之間的誤解,即:AI並不等同於機器學習資料科學並不等同於統計學。這些都是沒有什麼爭議的問題,所以只簡要說明一下。

資料科學本質上是一種應用於資料的計算和統計方法,既可以是小資料集,也可以是大資料集。這還包括探索性資料分析,即檢查並視覺化資料,從而有助於科學家更好的理解資料並進行推斷。資料科學還包括資料整理和資料預測,由於涉及編碼、建立資料庫和網路伺服器之間的連線,因此資料科學在某種程度上還涉及電腦科學。

你並不需要用一臺電腦就可以研究統計學,但是當你研究資料科學時則必須要有一臺電腦。因此,顯然資料科學與統計學並不相同。

同理,機器學習並不等同於人工智慧。事實上,機器學習是AI的子集,當我們教授(“訓練“)一臺機器時,可以根據以前的資料對某些型別的資料進行概括性推斷。

機器學習建立在統計學基礎上

在討論統計學和機器學習的區別之前,我們先來討論一下相同之處。在前幾節中也有涉及到這方面的內容。

顯然,機器學習建立在統計學的框架之上。這是因為機器學習涉及資料,而資料則必須使用統計學框架進行描述。然而,被擴充套件為大量粒子熱力學的統計力學同樣也建立在統計學框架之上。壓強的概念實際上也是一個統計量,溫度也是如此。如果你覺得很可笑,沒關係,但事實如此。這就是為什麼你不能描述一個分子的溫度或壓力。溫度實際上是分子間碰撞產生平均能量的表現。對於足夠多的分子,比如房子或戶外環境來說,描述其溫度才具有實際意義。

你會承認熱力學和統計學是一樣的嗎?不會的,實際上熱力學是用統計學來幫助我們理解功和熱相互作用產生的輸運現象。

事實上,除統計學外,熱力學的建立還以很多其他學科為基礎。同理,機器學習(ML)的建立也要以數學和電腦科學等領域為基礎,比如:

  • ML理論源於數學和統計學

  • ML演算法源於優化、接矩陣代數、微積分

  • ML的實現要依靠電腦科學和工程概念(如核心技巧、特性雜湊)

當我們用Python程式設計,引入sklearn庫並開始使用演算法時,很多概念都被抽象了,所以很難看到它們的區別。因此,這種抽象導致了對機器學習內涵的不瞭解。

統計學習理論——機器學習的統計學基礎

統計學與機器學習的主要區別在於統計學完全基於概率空間。你可以從集合理論中得到完整的統計學內容。集合理論主要探討如何對陣列進行分類,也就是集合的概念。

在該集合上進行測量,並確保測量值的總和為1,我們稱其為一個概率空間。

統計學只建立在集合和測度這兩個基本假設之上。這就是為什麼當我們用非常嚴格的數學定義指定了一個概率空間時,實際上我們指定了三件事:

  • 一個概率空間,可表示為(Ω, F, P),其由三部分組成

  • 樣本空間Ω,所有可能的結果;

  • 事件集合F,每個事件都是一組包含零或更多結果的集合;

  • 事件的概率分配P,即從事件到概率的函式。

機器學習基於統計學習理論,而統計學習理論也建立在概率空間這一公理上。統計學習理論興起於1960年,是對傳統統計學的擴充套件。

機器學習也有集中分類,這裡我只關注監督學習,因為它最容易解釋清楚(儘管它隱藏在數學中,仍然有些深奧)

監督學習統計學習理論可知,現有一個資料集合,表示為S = {(xᵢ, yᵢ)}。可認為有n個資料點,每個資料點都可以用被稱為特徵的值進行描述。這些特徵由x提供,且通過某對映函式可得到y值。

也就是說資料是已知的,我們的目標在於找到那個可以對映x和y值的函式。我們稱所有可能的函式集合為假設空間。

為了找到這個函式,我們需要讓演算法通過“學習”去解決該問題,可由損失函式提供。所以,對於每個假設(建議函式),我們需要檢視其對所有資料期望風險值來評估這一函式的效能。

期望風險本質上是損失函式的總和乘以資料的概率分佈,如果我們知道對映函式的聯合概率分佈,則會非常輕鬆地找到最佳函式。然而,這個分佈通常是不知道的。因此,最佳的方法是猜測最佳函式,然後根據經驗判斷損失函式的優劣。我們將其稱之為經驗風險。

接下來我們可以對比不同的函式,並尋找能帶來最小期望風險的假設,即這一假設可以給出全部資料假設的最小值(下確界)。

然而,演算法為了使損失函式最小,會有使資料過擬合的趨勢。這就是為什麼通過訓練資料學習後,函式可通過測試資料得到驗證,但測試資料並不包括訓練資料的內容。

上述機器學習定義中我們引入了過擬合問題,並證明了在進行機器學習時需要使用訓練集和測試集。而該方法並未遵循統計學固有的特徵,因為我們沒有試圖令經驗風險最小化。

選擇經驗風險最小化的學習演算法可稱為經驗風險最小化過程。

舉例

線性迴歸為例。傳統意義上我們會嘗試最小化資料誤差,從而找到一個可用於描述資料的函式。在這種情況下,我們通常使用均方誤差。我們對其進行平方,這樣正負誤差便不會相互抵消。接下來我們可以用封閉的方法求解迴歸係數。

正因為如此,如果我們取損失函式為均方誤差,並按統計學習理論進行經驗風險的最小化過程,最終得到的結果會與傳統線性迴歸分析相同。

這是因為兩種情況是等價的,同理,如果用同樣的方法對相同的資料進行最大似然估計,那麼結果也是一樣的。最大似然估計是一種實現同一目標的不同方法,然而沒有人會爭辯並且認為其與線性迴歸是一樣的。當然,進行最簡單的案例應用顯然無助於區分這些方法。

另外需要指出的關鍵是,傳統的統計學方法中沒有訓練集和測試集的概念,但可以使用一系列指標來幫助我們檢查模型的執行情況。所以,雖然評估的程式不同,但使用兩種方法都可以得到統計上魯棒的結果。

還有一點,考慮到經典統計學中的解空間是封閉的,則可求得最優解。它沒有檢驗任何其他假設,並收斂於一個解。然而,機器學習方法則嘗試了大量不同的模型並收斂至最終的假設,這與迴歸演算法的結果是一致的。

如果我們使用不同的損失函式,結果可能是不收斂的。比如,當我們使用鉸鏈損失函式(使用標準梯度下降法是不可微的,所以需要使用像近端梯度下降法這樣的技術)時,結果很可能會不同。

最後,可以通過模型偏置進行對比。可令機器學習演算法測試線性模型,多項式模型,指數模型等等,來看這些假設是否更適合已給定先驗損失函式的資料。這類似於增加相關的假設空間。在經典統計學中,我們會選擇一個模型並評估其精度,但不能令其自動選擇100個不同模型中的最優模型進行計算。顯然,受初始演算法選擇的影響,偏差一定存在。因此,找到資料集中求得最優解的任意函式本身是一個NP-hard問題。

哪種方法更好?

其實這是個很蠢的問題。從關係角度看,沒有統計學,機器學習是不存在的。然而,在當前人類所經歷的這個資訊爆炸的時代中,面對海量資料的湧入,機器學習倒是頗為有用。

比較機器學習統計模型確實有些困難。這主要取決於你的目的是什麼。如果你想構建一種可以精確預測房價的演算法,或是使用資料確定某人是否可能感染某種疾病的話,機器學習可能是更好的選擇。如果你想證明變數間的關係或用資料進行推斷,那麼統計模型則會成為更好的選擇。

一文讀懂統計學與機器學習的本質區別(附案例)

如果你沒有較好的統計學基礎的話,也不影響你研究或使用機器學習,這是因為機器學習庫已經將專業內容進行了提煉,使用起來簡單易懂。不過你還是需要多多少少知道一些統計學的基礎知識,以防止模型的過擬合或得到某種似是而非的推論。

在哪裡能夠深入學習?

如果你有興趣深入研究統計學習理論,這裡有很多統計相關的大學課程和書籍,以下是我推薦的一些課程:

9.520/6.860, Fall 2018

The course covers foundations and recent advances of machine learning from the point of view of statistical learning…

www.mit.edu

如果你對更深入地研究概率空間感興趣,那麼我要給你一個忠告,它在數學上很重要,而且通常只在研究生統計學課程中涉及。這裡有一些關於這個話題不錯的資料:

http://users.jyu.fi/~miparvia/Opetus/Stokastiikka/introduction-probability.pdf

https://people.smp.uq.edu.au/DirkKroese/asitp.pdf

感謝閱讀!

原文標題:
The Actual Difference Between Statistics and Machine Learning

原文連結:

https://towardsdatascience.com/the-actual-difference-between-statistics-and-machine-learning-64b49f07ea3

相關文章