統計學和機器學習到底有什麼區別?

2021-02-23 python遇見NLP
關注星標『』python遇見NLP『』,更多乾貨,第一時間送達

統計學和機器學習之間的界定一直很模糊。

無論是業界還是學界一直認為機器學習只是統計學批了一層光鮮的外衣。
例如,諾獎得主託馬斯·薩金特曾經說過人工智慧其實就是統計學,只不過用了一個很華麗的辭藻。
薩金特在世界科技創新論壇上表示,人工智慧其實就是統計學當然也有一些不同的聲音。但是這一觀點的正反雙方在爭吵中充斥著一堆看似高深實則含糊的論述,著實讓人摸不著頭腦。
一位名叫Matthew Stewart的哈佛大學博士生從統計與機器學習的不同;統計模型與機器學習的不同,這兩個角度論證了機器學習和統計學並不是互為代名詞。

與大部分人所想的正相反,機器學習其實已經存在幾十年了。當初只是因為那時的計算能力無法滿足它對大量計算的需求,而漸漸被人遺棄。然而,近年來,由於信息爆炸所帶來的數據和算力優勢,機器學習正快速復甦。言歸正傳,如果說機器學習和統計學是互為代名詞,那為什麼我們沒有看到每所大學的統計學系都關門大吉而轉投'機器學習'系呢?因為它們是不一樣的!我經常聽到一些關於這個話題的含糊論述,最常見的是這樣的說法:"機器學習和統計的主要區別在於它們的目的。機器學習模型旨在使最準確的預測成為可能。統計模型是為推斷變量之間的關係而設計的。雖然技術上來說這是正確的,但這樣的論述並沒有給出特別清晰和令人滿意的答案。機器學習和統計之間的一個主要區別確實是它們的目的。然而,說機器學習是關於準確的預測,而統計模型是為推理而設計,幾乎是毫無意義的說法,除非你真的精通這些概念。首先,我們必須明白,統計和統計建模是不一樣的。統計是對數據的數學研究。除非有數據,否則無法進行統計。統計模型是數據的模型,主要用於推斷數據中不同內容的關係,或創建能夠預測未來值的模型。通常情況下,這兩者是相輔相成的。因此,實際上我們需要從兩方面來論述:第一,統計與機器學習有何不同;第二,統計模型與機器學習有何不同?說的更直白些就是,有很多統計模型可以做出預測,但預測效果比較差強人意。而機器學習通常會犧牲可解釋性以獲得強大的預測能力。例如,從線性回歸到神經網絡,儘管解釋性變差,但是預測能力卻大幅提高。從宏觀角度來看,這是一個很好的答案。至少對大多數人來說已經足夠好。然而,在有些情況下,這種說法容易讓我們對機器學習和統計建模之間的差異產生誤解。讓我們看一下線性回歸的例子。

或許是因為統計建模和機器學習中使用方法的相似性,使人們認為它們是同一個東西。對這我可以理解,但事實上不是這樣。最明顯的例子是線性回歸,這可能是造成這種誤解的主要原因。線性回歸是一種統計方法,通過這種方法我們既可以訓練一個線性回歸器,又可以通過最小二乘法擬合一個統計回歸模型。
可以看到,在這個案例中,前者做的事兒叫"訓練"模型,它只用到了數據的一個子集,而訓練得到的模型究竟表現如何需要通過數據的另一個子集測試集測試之後才能知道。在這個例子中,機器學習的最終目的是在測試集上獲得最佳性能。
對於後者,我們則事先假設數據是一個具有高斯噪聲的線性回歸量,然後試圖找到一條線,最大限度地減少了所有數據的均方誤差。不需要訓練或測試集,在許多情況下,特別是在研究中(如下面的傳感器示例),建模的目的是描述數據與輸出變量之間的關係, 而不是對未來數據進行預測。我們稱此過程為統計推斷,而不是預測。儘管我們可以使用此模型進行預測,這也可能是你所想的,但評估模型的方法不再是測試集,而是評估模型參數的顯著性和健壯性。
機器學習(這裡特指有監督學習)的目的是獲得一個可反覆預測的模型。我們通常不關心模型是否可以解釋。機器學習只在乎結果。就好比對公司而言,你的價值只用你的表現來衡量。而統計建模更多的是為了尋找變量之間的關係和確定關係的顯著性,恰巧迎合了預測。
下面我舉一個自己的例子,來說明兩者的區別。我是一名環境科學家。工作的主要內容是和傳感器數據打交道。如果我試圖證明傳感器能夠對某種刺激(如氣體濃度)做出反應, 那麼我將使用統計模型來確定信號響應是否具有統計顯著性。我會嘗試理解這種關係,並測試其可重複性,以便能夠準確地描述傳感器的響應,並根據這些數據做出推斷。我還可能測試,響應是否是線性的?響應是否歸因於氣體濃度而不是傳感器中的隨機噪聲?等等。
而同時,我也可以拿著從20個不同傳感器得到的數據, 去嘗試預測一個可由他們表徵的傳感器的響應。如果你對傳感器了解不多,這可能會顯得有些奇怪,但目前這確實是環境科學的一個重要研究領域。
用一個包含20個不同變量的模型來表徵傳感器的輸出顯然是一種預測,而且我也沒期待模型是可解釋的。要知道,由於化學動力學產生的非線性以及物理變量與氣體濃度之間的關係等等因素,可能會使這個模型非常深奧,就像神經網絡那樣難以解釋。儘管我希望這個模型能讓人看懂, 但其實只要它能做出準確的預測,我就相當高興了。
如果我試圖證明數據變量之間的關係在某種程度上具有統計顯著性,以便我可以在科學論文中發表,我將使用統計模型而不是機器學習。這是因為我更關心變量之間的關係,而不是做出預測。做出預測可能仍然很重要,但是大多數機器學習算法缺乏可解釋性,這使得很難證明數據中存在的關係。很明顯,這兩種方法在目標上是不同的,儘管使用了相似的方法來達到目標。機器學習算法的評估使用測試集來驗證其準確性。然而,對於統計模型,通過置信區間、顯著性檢驗和其他檢驗對回歸參數進行分析,可以用來評估模型的合法性。因為這些方法產生相同的結果,所以很容易理解為什麼人們會假設它們是相同的。

有一個誤解存在了10年:僅基於它們都利用相同的基本概率概念這一事實,來混淆這兩個術語是不合理的。

然而,僅僅基於這兩個術語都利用了概率裡相同的基本概念這一事實而將他們混為一談是不合理的。就好比,如果我們僅僅把機器學習當作皮了一層光鮮外衣的統計,我們也可以這樣說:

物理只是數學的一種更好聽的說法。

動物學只是郵票收藏的一種更好聽的說法。

建築學只是沙堡建築的一種更好聽的說法。

這些說法(尤其是最後一個)非常荒謬,完全混淆了兩個類似想法的術語。實際上,物理是建立在數學基礎上的,理解現實中的物理現象是數學的應用。物理學還包括統計學的各個方面,而現代統計學通常是建立在Zermelo-Frankel集合論與測量理論相結合的框架中,以產生概率空間。它們有很多共同點,因為它們來自相似的起源,並運用相似的思想得出一個邏輯結論。同樣,建築學和沙堡建築可能有很多共同點,但即使我不是一個建築師,也不能給出一個清晰的解釋,但也看得出它們顯然不一樣。在我們進一步討論之前,需要簡要澄清另外兩個與機器學習和統計有關的常見誤解。這就是人工智慧不同於機器學習,數據科學不同於統計學。這些都是沒有爭議的問題,所以很快就能說清楚。數據科學本質上是應用於數據的計算和統計方法,包括小數據集或大數據集。它也包括諸如探索性數據分析之類的東西,例如對數據進行檢查和可視化,以幫助科學家更好地理解數據,並從中做出推論。數據科學還包括諸如數據包裝和預處理之類的東西,因此涉及到一定程度的計算機科學,因為它涉及編碼和建立資料庫、Web伺服器之間的連接和流水線等等。要進行統計,你並不一定得依靠電腦,但如果是數據科學缺了電腦就沒法操作了。這就再次說明了雖然數據科學藉助統計學,這兩者不是一個概念。同理,機器學習也並非人工智慧;事實上,機器學習是人工智慧的一個分支。這一點挺明顯的,因為我們基於以往的數據「教」(訓練)機器對特定類型的數據進行概括性的預測。

在我們討論統計學和機器學習之間的區別前,我們先來說說其相似性,其實文章的前半段已經對此有過一些探討了。

機器學習基於統計的框架,因為機器學習涉及數據,而數據必須基於統計學框架來進行描述,所以這點十分明顯。然而,擴展至針對大量粒子的熱力學的統計機制,同樣也建立在統計學框架之下。壓力的概念其實是數據,溫度也是一種數據。你可能覺得這聽起來不合理,但這是真的。這就是為什麼你不能描述一個分子的溫度或壓力,這不合理。溫度是分子相撞產生的平均能量的顯示。而例如房屋或室外這種擁有大量分子的,我們能用溫度來描述也就合理了。你會認為熱力學和統計學是一個東西嗎?當然不會,熱力學藉助統計學來幫助我們理解運動的相互作用以及轉移現象中產生的熱。事實上,熱力學基於多種學科而非僅僅統計學。類似地,機器學習基於許多其他領域的內容,比如數學和計算機科學。舉例來說:機器學習的實現來源於計算機科學和工程學概念,比如核映射、特徵散列等。當一個人開始用Python開始編程,突然從Sklearn程序庫裡找出並使用這些算法,許多上述的概念都比較抽象,因此很難看出其中的區別。這樣的情況下,這種抽象定義也就致使了對機器學習真正包含的內容一定程度上的無知。

統計學和機器學習之間最主要的區別在於統計學完全基於概率空間。你可以從集合論中推導出全部的統計學內容,集合論討論了我們如何將數據歸類(這些類被稱為「集」),然後對這個集進行某種測量保證其總和為1.我們將這種方法成為概率空間。

統計學除了對這些集合和測量有所定義之外沒有其他假設。這就是為什麼我們對概率空間的定義非常嚴謹的原因。一個概率空間,其數學符號寫作(Ω,F,P),包含三部分:機器學習基於統計學習理論,統計學習理論也依舊基於對概率空間的公理化語言。這個理論基於傳統的統計學理論,並發展於19世紀60年代。機器學習分為多個類別,這篇文章我僅著眼於監督學習理論,因為它最容易解釋(雖然因其充斥數學概念依然顯得晦澀難懂)。統計學習理論中的監督學習,給了我們一個數據集,我們將其標為S= {(xᵢ,yᵢ)},也就是說我們有一個包含N個數據點的數據集,每個數據點由被稱為「特徵」的其它值描述,這些特徵用x描述,這些特徵通過特定函數來描繪以返回我們想要的y值。已知這個數據集,問如何找到將x值映射到y值的函數。我們將所有可能的描述映射過程的函數集合稱為假設空間。為了找到這個函數,我們需要給算法一些方法來「學習」如何最好地著手處理這個問題,而這由一個被稱為「損失函數」的概念來提供。因此,對我們所有的每個假設(也即提議的函數),我們要通過比較所有數據下其預期風險的值來衡量這個函數的表現。預期風險本質上就是損失函數之和乘以數據的概率分布。如果我們知道這個映射的聯合概率分布,找到最優函數就很簡單了。但是這個聯合概率分布通常是未知的,因此我們最好的方式就是猜測一個最優函數,再實證驗證損失函數是否得到優化。我們將這種稱為實證風險。之後,我們就可以比較不同函數,找出最小預期風險的那個假設,也就是所有函數中得出最小下確界值的那個假設。然而,為了最小化損失函數,算法有通過過度擬合來作弊的傾向。這也是為什麼要通過訓練集「學習」函數,之後在訓練集之外的數據集,測試集裡對函數進行驗證。我們如何定義機器學習的本質引出了過度擬合的問題,也對需要區分訓練集和測試集作出了解釋。而我們在統計學中無需試圖最小化實證風險,過度擬合不是統計學的固有特徵。最小化統計學中無需視圖程向於一個從函數中選取最小化實證風險的學習算法被稱為實證風險最小化以線性回歸做一個簡單例子。在傳統概念中,我們試圖最小化數據中的誤差找到能夠描述數據的函數,這種情況下,我們通常使用均值方差。使用平方數是為了不讓正值和負值互相抵消。然後我們可以使用閉合表達式來求出回歸係數。如果我們將損失函數計為均值方差,並基於統計學習理論進行最小化實證風險,碰巧就能得到傳統線性回歸分析同樣的結果。
這個巧合是因為兩個情況是相同的,對同樣的數據以相同的方式求解最大概率自然會得出相同的結果。最大化概率有不同的方法來實現同樣的目標,但沒人會去爭論說最大化概率與線性回歸是一個東西。這個最簡單的例子顯然沒能區分開這些方法。
這裡要指出的第二點在於,傳統的統計方法中沒有訓練集和測試集的概念,但我們會使用不同的指標來幫助驗證模型。驗證過程雖然不同,但兩種方法都能夠給我們統計穩健的結果。另外要指出的一點在於,傳統統計方法給了我們一個閉合形式下的最優解,它沒有對其它可能的函數進行測試來收斂出一個結果。相對的,機器學習方法嘗試了一批不同的模型,最後結合回歸算法的結果,收斂出一個最終的假設。如果我們用一個不同的損失函數,結果可能並不收斂。例如,如果我們用了鉸鏈損失(使用標準梯度下降時不太好區分,因此需要使用類似近梯度下降等其它方法),那麼結果就不會相同了。最後可以對模型偏差進行區分。你可以用機器學習算法來測試線性模型以及多項式模型,指數模型等,來檢驗這些假設是否相對我們的先驗損失函數對數據集給出更好的擬合度。在傳統統計學概念中,我們選擇一個模型,評估其準確性,但無法自動從100個不同的模型中摘出最優的那個。顯然,由於最開始選擇的算法不同,找出的模型總會存在一些偏誤。選擇算法是非常必要的,因為為數據集找出最優的方程是一個NP-hard問題。

這個問題其實很蠢。沒有統計學,機器學習根本沒法存在,但由於當代信息爆炸人類能接觸到的大量數據,機器學習是非常有用的。

對比機器學習和統計模型還要更難一些,你需要視乎你的目標而定究竟選擇哪種。如果你只是想要創建一個高度準確的預測房價的算法,或者從數據中找出哪類人更容易得某種疾病,機器學習可能是更好的選擇。如果你希望找出變量之間的關係或從數據中得出推論,選擇統計模型會更好。

對的,你從這頭把數據都倒進這一大堆或者線性代數裡,然後從那頭裡拿答案就好了。如果你統計學基礎不夠紮實,你依然可以學習機器學習並使用它——機器學習程序庫裡的抽象概念能夠讓你以業餘者的身份來輕鬆使用它們,但你還是得對統計概念有所了解,從而避免模型過度擬合或得出些貌似合理的推論。https://towardsdatascience.com/the-actual-difference-between-statistics-and-machine-learning-64b49f07ea3?gi=412e8f93e22e

相關焦點

  • 數據科學、機器學習、人工智慧的區別到底是什麼?
    AI 前線導讀:當我向別人介紹我是一個數據科學家的時候,我常常聽到這樣的疑問:「這和機器學習有什麼區別
  • AI、機器學習和深度學習的區別到底是什麼?
    所有論斷都是正確的,只是要看你所談到的AI到底是什麼。例如,當谷歌DeepMind開發的AlphaGo程序打敗韓國職業圍棋高手Lee Se-dol,媒體在描述DeepMind的勝利時用到了AI、機器學習、深度學習等術語。AlphaGo之所以打敗Lee Se-dol,這三項技術都立下了汗馬功勞,但它們並不是一回事。
  • AI、機器學習和深度學習的區別到底是什麼
    所有論斷都是正確的,只是要看你所談到的AI到底是什麼。例如,當谷歌DeepMind開發的AlphaGo程序打敗韓國職業圍棋高手Lee Se-dol,媒體在描述DeepMind的勝利時用到了AI、機器學習、深度學習等術語。AlphaGo之所以打敗Lee Se-dol,這三項技術都立下了汗馬功勞,但它們並不是一回事。
  • 獨家 | 一文讀懂機器學習中的貝葉斯統計學
    這是科學的一個重要方面,理論通過實驗和模擬得到證實,做這些實驗和驗證這些理論的人越多,這些理論就越強大和可信。然而,比如有宗教信仰的人可能認為他們不需要經驗證據(至少是同類的)來相信某些東西,我們稱之為信仰。 有趣的是,在我們日常生活中如此普遍的事情對統計學和機器學習如此重要,但它確實如此,我們將討論原因。
  • 機器學習和深度學習的區別
    人工智慧是一類非常廣泛的問題,機器學習是其中一個重要領域和手段,深度學習則是機器學習的一個分支。在很多人工智慧問題上,深度學習的方法突破了傳統機器學習的瓶頸,因而影響力迅速擴大。什麼是機器學習?為什麼叫做「學習」呢?
  • MR到底是什麼?和AR、VR有什麼區別?
    那MR到底是什麼東西呢?和AR、VR有什麼區別呢?MR的中文意思是混合現實,英文是Mix Reality。是在VR、AR之後才提出的新的技術概念。所以,我們要了解MR,把VR、AR放在一起通俗理解一下。👇這個技術就是在我們的計算機虛擬世界裡,通過人工建模模擬出現實的世界。然後將體驗者帶入。讓體驗者沉浸其中。舉例說明:我們想體驗走在懸崖邊的感覺。
  • 日版 iPhone 和國行到底有什麼區別?
    官解雖然慢一些,但是解開之後可以隨意折騰,跟無鎖機沒區別;4. 黑解後關機換卡可能導致手機出現新激活狀態,建議換卡採用熱插拔方式,不關機可以隨意換卡;5. 原封包裝內置卡貼機,使用前請提前取出卡貼。這些看起來很暈,其實不買日版就沒那麼多事了。至於市面上銷售的到底是什麼機,只能問賣家。
  • 在大公司和小公司做數據科學家, 有什麼區別?
    隨著大數據和雲技術的快速發展,很多同學對數據科學家這個薪資高、前景好的崗位產生了濃厚的興趣。但是,也有部分同學開始有了新的疑惑:聽說在大公司和小公司做數據科學家有很大區別,是真的嗎?如何才能找到數據中隱含的信息,選取或建立什麼樣統計學、機器學習或深度學習的模型進行預測,需要對模型進行怎樣的參數調整,最終能從模型輸出怎樣的結果.這些都是對數據科學家核心能力的考驗。結果成型了,現在要做的就是把數據化的結果用能讓非專業人士也能理解的語言/圖表表達出來。
  • 軟體中 Debug 和 Release 到底有什麼區別?
    >號,不錯過精彩內容作者 | strongerHuang微信公眾號 | 嵌入式專欄有很多軟體集成開發環境(IDE),比如VS(VC)、IAR等,在創建工程時都會自動生成有Debug 和 Release兩個版本。
  • 資源|13個機器學習和人工智慧的免費培訓課程
    本次課程主要講解機器學習的應用,它討論了最好的機器學習技術和基於統計學的模式識別,並教你如何實現相關機器學習算法。廣泛地說,它包括監督和無監督學習,線性和邏輯回歸,正則化方法,以及樸素貝葉斯理論。他在課程中使用Octave和MATLAB軟體輔助分析。該課程使用了豐富的案例研究和最新實際應用。默認聽課的學生已經具備一定的概率,線性代數和計算機科學方面的基礎知識。本課程獲得用好評如潮。
  • 人工智慧,機器學習和深度學習之間的差異是什麼?
    人工智慧:人工智慧的定義可以分為兩部分,即「人工」和「智能」。「人工」比較好理解,爭議性也不大。有時我們會要考慮什麼是人力所能及製造的,或者人自身的智能程度有沒有高到可以創造人工智慧的地步,等等。但總的來說,「人工系統」就是通常意義下的人工系統。
  • 坦桑石和藍寶石到底有什麼區別?
    這一期,就跟著小編的腳步一起學習一下它們兩者到底有什麼區別吧!藍色的藍寶石,是由於其中混有少量鈦(Ti)和鐵(Fe)雜質所致。藍寶石的顏色,可以有粉紅、黃、綠、白、甚至在同一顆石有多種顏色。藍寶石最大的特點是顏色不均,可見平行六方柱面排列的,深淺不同的平直色帶和生長紋。聚片雙晶發育,常見百葉窗式雙晶紋。裂理多沿雙晶面裂開。
  • 【深度解析】LoRa 和LoRaWAN到底有什麼區別?
    提到物聯網通信,就不得不提LoRa,而LoRa技術包含LoRaWAN協議和LoRa協議。那麼LoRa和LoRaWAN到底是什麼?它們之間有什麼區別呢?LoRa是什麼?LoRa是一種低功耗遠程無線通信技術,LoRa後續通過LoRa聯盟來開始覆蓋推廣普及。
  • 機器學習導論 | 第一講
    加入北京大學之前為上海交通大學計算機科學與工程系教授,上海交通大學數據科學研究中心兼職教授,計算機科學與技術和統計學雙學科的博士生指導導師。也曾是浙江大學計算機學院教授和浙江大學統計科學中心兼職教授。主要從事人工智慧、機器學習與應用統計學領域的教學與研究。迄今在國際重要學術期刊和重要的計算機學科會議上發表70餘篇論文。
  • 15分鐘看懂人工智慧和機器學習!
    圖靈測驗(Turing Test)假設若一人透過一介面去跟一電腦(或另一人)互動,若測試者無法判斷電腦和人類的差別,那該電腦之人工智慧便達到跟人類一樣的等級。但隨著知識庫增長,大部分知識庫都發生了語義歧異性(Semantic Ambiguity)的問題,比如說阿帕契發射飛彈、阿帕契來自於墨西哥,以及阿帕契是開放原始碼軟體等語句都合理(但同時也都不合理),因為阿帕契這詞有太多定義,必須靠更精準的語義分析去判斷,而很難客觀地(獨立於語言的情況下)儲存知識。這類問題成為知識庫方法最大的缺點。
  • 美版iPhone和國行iPhone到底有什麼區別
    什麼是美版iPhone&美版iPhone顧名思義就是在美國發售的iPhone(有點廢話了),如何分辨美版iPhone,在【手機——設置——通用——關於本機】中查找型號, 根據型號最後2位或者1位字母查看。美版型號後兩位尾數為LL。
  • 現代統計學本科生培養的課程體系與路線圖
    統計學是一門與時俱進的應用學科,它的研究問題和研究手段是「常為新」的。統計學植根於早年的農牧業、後來生物醫學、以及當今的IT網際網路等領域,這驅動和豐富了統計學的研究問題。而數學特別是概率論給統計帶來基礎支撐,使得從經驗中獲得的方法系統化、普適化,從而奠定了統計學的學科基礎和體系。計算技術的迅速發展給統計學帶來新的發展階段,算法的作用日益突出,與機器學習交融貫通拓寬了統計學科邊界。
  • 人工智慧、機器學習和深度學習的區別和聯繫
    機器學習:一種實現人工智慧的方法機器學習最基本的做法,是使用算法來解析數據、從中學習,然後對真實世界中的事件做出決策和預測。與傳統的為解決特定任務、硬編碼的軟體程序不同,機器學習是用大量的數據來「訓練」,通過各種算法從數據中學習如何完成任務。舉個簡單的例子,當我們瀏覽網上商城時,經常會出現商品推薦的信息。
  • 人工智慧、機器學習和深度學習的區別?
    本文整理自 菜園子產品經理四園 的討論:整理者@瀋陽~親子互動~阿南 討論者@杭州-醫療產品-Kai @上海-產品-Shawn @深圳-產品經理-華成 第一,人工智慧做到真正的內容匹配第二,有價值的信息才是信息
  • KPI和OKR到底有什麼區別?這篇文章講透了
    於是,他們請了一位谷歌的高管,來教他們什麼是OKR,以及怎麼使用OKR。高管詳細地分享著,但他們越聽越覺得不對勁。於是,他們忍不住問了一句:這麼說的話,OKR到底跟KPI有什麼區別?高管說:OKR本質上就是KPI啊。所有人當場吐血……所有人都覺得OKR是幹掉KPI真正有效的靈丹妙藥。