机器学习与统计学的本质差异
爭論
與流行的看法相反,機器學習實際上已經存在了幾十年。由于其龐大的計算要求和當時存在的計算能力的限制,最初被避開了。然而,由于信息爆炸引起的數據占優勢,機器學習近年來出現了崛起。
那么,如果機器學習和統計是彼此的同義詞,為什么我們沒有看到每所大學的每個統計部門都關閉或轉變為"機器學習"部門?因為他們不一樣!
我經常聽到關于這個主題的幾個含糊的陳述,最常見的是這些話:
"機器學習和統計學之間的主要區別在于它們的目的。機器學習模型旨在使最準確的預測成為可能。統計模型被設計用于推斷變量之間的關系。"
雖然這在技術上是正確的,但它沒有給出特別明確或令人滿意的答案。機器學習和統計之間的主要區別確實是它們的目的。然而,說機器學習是關于準確的預測,而統計模型設計用于推理幾乎是無意義的陳述,除非你精通這些概念。
首先,我們必須了解統計數據和統計模型是不一樣的。統計學是數據的數學研究。除非您有數據,否則無法進行統計。統計模型是數據的模型,用于推斷數據中的關系或創建能夠預測未來值的模型。通常,這兩者是相輔相成的。
因此,實際上我們需要討論兩件事:首先,統計數據與機器學習有何不同,其次,統計模型與機器學習有何不同。
為了使其更加明確,有許多統計模型可以進行預測,但預測準確性并不是它們的優勢。
同樣,機器學習模型提供了不同程度的可解釋性,從高度可解釋的到不可穿透的黑箱,但它們通常犧牲了對預測能力的可解釋性。
從高層來看,這是一個很好的答案。對大多數人來說足夠好。但是,有些情況下,這種解釋使我們對機器學習和統計建模之間的差異產生了誤解。讓我們看一下線性回歸的例子。
統計模型與機器學習 - 線性回歸實例
在我看來,統計建模和機器學習中使用的方法的相似性使人們認為它們是同一個東西。這是可以理解的,但根本不是這樣。
最明顯的例子是線性回歸的情況,這可能是造成這種誤解的主要原因。線性回歸是一種統計方法,我們可以訓練線性回歸量并獲得與統計回歸模型相同的結果,旨在最小化數據點之間的平方誤差。
我們看到,在一個案例中,我們做了一個名為"訓練"模型的事情,其中涉及使用我們數據的一個子集,我們不知道模型將如何執行,直到我們"測試"此數據不存在的其他數據在訓練期間,稱為測試集。在這種情況下,機器學習的目的是在測試集上獲得最佳性能。
對于統計模型,我們發現一條線可以最小化所有數據的均方誤差,假設數據是一個線性回歸量,加上一些隨機噪聲,本質上通常是高斯噪聲。無需訓練,也無需測試。
對于許多情況,特別是在研究中(例如下面的傳感器示例),我們模型的要點是表征數據與結果變量之間的關系,而不是對未來數據進行預測。我們將此過程稱為統計推斷,而不是預測。但是,我們仍然可以使用此模型進行預測,這可能是您的主要目的,但評估模型的方式不涉及測試集,而是涉及評估模型參數的重要性和穩健性。
機器學習的目的是獲得可以進行可重復預測的模型。我們通常不關心模型是否可解釋,盡管我個人建議始終進行測試以確保模型預測確實有意義。然而,統計建模更多的是發現變量之間的關系和這些關系的重要性,盡管也適合預測。
為了給出這兩個程序之間差異的具體例子,我將舉一個個人的例子。白天,我是一名環境科學家,主要研究傳感器數據。如果我試圖證明傳感器能夠響應某種刺激(例如氣體濃度),那么我將使用統計模型來確定信號響應是否具有統計顯著性。我會嘗試理解這種關系并測試其可重復性,以便我能夠準確地表征傳感器響應并根據這些數據做出推斷。我可能測試的一些事情是響應是否實際上是線性的,響應是否可以歸因于氣體濃度而不是傳感器中的隨機噪聲等。
相比之下,我還可以獲得20個不同傳感器的陣列,我可以用它來嘗試預測我新近表征的傳感器的響應。一個預測傳感器結果的20個不同變量的模型顯然都是關于預測的,我不認為它是特別可解釋的。由于化學動力學和物理變量與氣體濃度之間的關系引起的非線性,這個模型可能會像神經網絡一樣更深奧。我希望這個模型有意義,但只要我能做出準確的預測,我就會非常高興。
如果我試圖證明我的數據變量之間的關系達到一定程度的統計意義,以便我可以在科學論文中發表它,我會使用統計模型而不是機器學習。這是因為我更關心變量之間的關系,而不是做出預測。做出預測可能仍然很重要,但是大多數機器學習算法缺乏可解釋性使得難以證明數據內的關系。
應該清楚的是,這兩種方法的目標不同,盡管使用類似的方法實現目標。機器學習算法的評估使用測試集來驗證其準確性。然而,對于統計模型,可以使用置信區間,顯著性檢驗和其他檢驗對回歸參數進行分析,以評估模型的合法性。由于這些方法產生相同的結果,因此很容易理解為什么人們可能認為它們是相同的。
統計與機器學習 - 線性回歸舉例
我認為這種誤解很好地包含在比較統計數據和機器學習這個表面上非常詼諧的10年挑戰中。
然而,僅基于它們都利用相同的基本概率概念這一事實來混淆這兩個術語是不合理的。例如,如果我們根據這個事實做出機器學習只是美化統計的陳述,我們也可以做出以下陳述。
物理學只是美化數學。動物學只是美化郵票收藏。建筑只是美化沙城堡建筑。這些陳述(尤其是最后一個陳述)非常荒謬,所有這些陳述都基于這種混淆基于類似想法的術語的想法。
在我們繼續討論之前,我將很快清除另外兩個與機器學習和統計相關的常見誤解。這些是AI與機器學習不同,數據科學與統計學不同。這些是相當無爭議的問題所以它會很快。
數據科學本質上是應用于數據的計算和統計方法,這些方法可以是小型或大型數據集。這還可以包括探索性數據分析,其中數據被檢查和可視化,以幫助科學家更好地理解數據并從中做出推論。數據科學還包括數據爭用和預處理等內容,因此涉及某種程度的計算機科學,因為它涉及編碼,在數據庫,Web服務器等之間建立連接和管道。
您不一定需要使用計算機來進行統計,但如果沒有計算機,您就無法真正進行數據科學。你可以再次看到雖然數據科學使用統計數據,但它們顯然不一樣。
同樣,機器學習與人工智能不同。事實上,機器學習是AI的一個子集。這是非常明顯的,因為我們正在教授("訓練")一臺機器,根據以前的數據對某些類型的數據做出可推廣的推斷。
機器學習基于統計學
在我們討論統計和機器學習的不同之前,讓我們首先討論相似之處。
機器學習建立在統計框架之上。這應該是顯而易見的,因為機器學習涉及數據,并且必須使用統計框架來描述數據。然而,統計力學也擴展到大量粒子的熱力學,也建立在統計框架之上。壓力的概念實際上是一個統計量,溫度也是一個統計量。盡管你覺得這聽起來很荒謬可笑,但事實上確實如此。這就是為什么你無法描述分子的溫度或壓力,這是荒謬的。溫度是分子碰撞產生的平均能量的表現。對于足夠大量的分子,我們可以描述像房子或戶外的溫度。
你會承認熱力學和統計學是一樣的嗎?不,熱力學使用統計數據來幫助我們以運輸現象的形式理解工作和熱量的相互作用。
實際上,熱力學是建立在除了統計之外的更多項目之上的。同樣,機器學習也利用了大量其他數學和計算機科學領域,例如:
來自數學和統計學等領域的ML理論 ML算法來自優化,矩陣代數,微積分等領域 來自計算機科學與工程概念的ML實現(例如內核技巧,特征散列)當一個人開始使用Python進行編碼并剔除sklearn庫并開始使用這些算法時,很多這些概念都被抽象出來,因此很難看出這些差異。在這種情況下,這種抽象導致了對機器學習實際涉及的一種無知形式。
統計學習理論 - 機器學習的統計基礎
統計學與機器學習之間的主要區別在于統計學僅基于概率空間。可以從集合論中推導出整個統計數據,它討論了我們如何將數字組合成類別,稱為集合,然后對此集合強加一個度量,以確保所有這些的總和值為1,我們稱之為概率空間。
除了這些集合和度量的概念之外,統計數據不對宇宙做任何其他假設。這就是為什么當我們用非常嚴格的數學術語指定概率空間時,我們指定了3個東西。
概率空間,我們這樣表示,(Ω,F,P)由三部分組成:
1. Ω,這是一組所有可能的結果的。
2. F,其中每個事件是含有零個或多個的一組。
3. 為事件分配,P ; 也就是說,從事件到概率的函數。
機器學習基于統計學習理論,它仍然基于概率空間的這種公理概念。該理論是在20世紀60年代發展起來的,并擴展到傳統統計學。
有幾種類型的機器學習,因此我只關注這里的監督學習,因為它是最容易解釋的。
監督學習的統計學習理論告訴我們,我們有一組數據,我們將其表示為S = {(x,y)}。這基本上說我們是一個n個數據點的數據集,每個數據點由我們稱之為功能的其他一些值描述,這些值由x提供,并且這些特征由某個函數映射以給出值y。
它說我們知道我們有這些數據,我們的目標是找到將x值映射到y值的函數。我們將可以描述此映射的所有可能函數的集合稱為假設空間。
要找到這個函數,我們必須給算法一些"學習"什么是解決問題的最佳方法。這是由稱為損失函數的東西提供的。因此,對于我們所擁有的每個假設,我們需要通過查看其對所有數據的預期風險值來評估該函數的執行情況。
預期風險基本上是損失函數乘以數據概率分布的總和。如果我們知道映射的聯合概率分布,就很容易找到最佳函數。然而,這通常是未知的,因此我們最好的選擇是猜測最佳函數,然后憑經驗確定損失函數是否更好。我們稱之為經驗風險。
然后,我們可以比較不同的函數,并尋找給出最小預期風險的假設,即假設給出數據上所有假設的最小值(稱為下限)。
然而,該算法具有作弊的傾向,以便通過過擬合數據來最小化其損失函數。這就是為什么在學習基于訓練集數據的函數之后,該函數要在測試數據集上驗證。
我們剛剛定義的機器學習的本質引入了過擬合的問題,并且證明了在執行機器學習時需要訓練和測試集。這不是統計學的固有特征,因為我們并不是試圖最小化我們的經驗風險。
例子
以線性回歸的簡單情況為例。在傳統意義上,我們嘗試最小化某些數據之間的錯誤,以便找到可用于描述數據的函數。在這種情況下,我們通常使用均方誤差。我們將它調整為正負誤差不會相互抵消。然后我們可以以封閉形式的方式求解回歸系數。
恰好如此,如果我們將損失函數作為均方誤差并執行統計學習理論所支持的經驗風險最小化,我們最終得到與傳統線性回歸分析相同的結果。
這只是因為這兩種情況是等價的,就像在同一數據上執行最大似然性也會給你相同的結果一樣。最大似然性有一種不同的方式來實現同一目標,但沒有人會爭論并說最大似然與線性回歸相同。最簡單的情況顯然無助于區分這些方法。
這里要做的另一個重點是,在傳統的統計方法中,沒有訓練集和測試集的概念,但我們確實使用度量來幫助我們檢查模型的執行方式。因此評估程序不同,但兩種方法都能夠給我們統計上穩健的結果。
另一點是,傳統的統計方法為我們提供了最優解,因為解決方案具有封閉形式。它沒有測試任何其他假設并收斂到解決方案。然而,機器學習方法嘗試了一堆不同的模型并收斂到最終假設,這與回歸算法的結果一致。
如果我們使用了不同的損失函數,結果可能就不會收斂。例如,如果我們使用鉸鏈損耗(使用標準梯度下降不可微分,那么將需要其他技術,如梯度下降),那么結果將不相同。
可以通過考慮模型的偏差來進行最終比較。可以要求機器學習算法測試線性模型,以及多項式模型,指數模型等,以查看這些假設是否更適合我們的先驗損失函數。這類似于增加相關的假設空間。在傳統的統計意義上,我們選擇一個模型并可以評估其準確性,但不能自動選擇100個不同模型中的最佳模型。顯然,模型中總有一些偏差源于最初的算法選擇。這是必要的,因為找到對數據集最佳的任意函數是NP難問題。
哪個更好?
這實際上是一個愚蠢的問題。在統計與機器學習方面,沒有統計學就不會存在機器學習,但機器學習在現代時代非常有用,因為自信息爆炸以來人類可以獲得大量數據。
比較機器學習和統計模型有點困難。您使用哪種方法在很大程度上取決于您的目的。如果您只是想創建一種能夠高精度地預測住房價格的算法,或者使用數據來確定某人是否可能感染某些類型的疾病,那么機器學習可能是更好的方法。如果您試圖證明變量之間的關系或從數據推斷,統計模型可能是更好的方法。
如果你沒有強大的統計學背景,你仍然可以學習機器學習并利用它,機器學習庫提供的抽象使得它們非常容易被用作非專家,但你仍然需要一些理解基本的統計思想,以防止模型過擬合和給出似是而非的推論。
總結
以上是生活随笔為你收集整理的机器学习与统计学的本质差异的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 七步带你认识计算机视觉
- 下一篇: MIT、CMU 美国计算机专业最牛20名