'關於兩種統計模型文化的思考'

""關於兩種統計模型文化的思考

本文作者:Will Koehrsen

編譯:camel,楊曉凡

引言:本篇文章重新回顧了Breiman於2001年發表的《Statistical Modeling:The Two Cultures》一文,對數據建模和算法建模兩種文化做了詳細的反思,並指出要想發展統計學,應當秉持「先有模型準確性,再有模型可解釋」的觀點。

這是值得深思的一篇文章,一起來看 Koehrsen 的觀點。

在 2001 年的論文《Statistical Modeling: The Two Cultures》中,隨機森林、袋模型以及提升集成算法的提出者 Leo Breiman 總結了應對統計建模問題的兩種截然不同的處理方式:

  • 數據建模:依靠直覺選擇一個簡單的描述數據生成機制的模型(比如線性模型)。這裡的考慮重點在於模型的可解釋性以及可驗證性,然後在擬合度的反覆檢驗中期待找到理想的建模結果。

  • 算法建模:完全不考慮模型的可解釋性,只需要選擇具有最高預測驗證準確率的模型即可。

當年寫這篇論文的時候,Leo Breiman 估計大約有 98% 的統計學學者都習慣用前一種數據建模方法,而使用算法建模方法的只有大概 2%。他自己屬於後者,所以他寫這篇論文的目的就是希望提醒統計學學者們,不要完全依賴數據建模方法(他認為這會帶來有誤導性的結論和沒有什麼學術價值的理論),如今面對越來越大的數據集、越來越新穎也越貼近真實世界的問題,大家應當轉向算法建模。

Breiman自己是位學者,他在UC伯克利研究統計學有21年了。不過在此之前他還做過13年的獨立顧問,這讓他同時也非常瞭解工業界是如何使用統計學的。

Breiman當時是很沮喪的,因為他知道數據建模沒辦法解決收集到的大規模數據中產生的新挑戰,而且統計學的學術研究由於不斷拒絕這些新的工具(高預測表現、低可解釋性的複雜算法)而開始走向邊緣化。十八年之後,機器學習和統計學都有了許多變化,98%-2%的比例相信現在也有所不同,但他在論文中提出一些觀點如今仍然能對機器學習的實踐起到幫助,尤其是對於正在考慮從學術界轉向工業界的人。其中有這麼幾點我覺得很有價值:

  • 根據不同的特徵建立的模型經常可以達到相似的預測準確率

  • 對於機器學習模型來說,往往需要在模型的可解釋性和預測表現之間做出權衡

  • 更多的特徵可以提高複雜算法模型的表現

  • 隨著我們從世界中獲得的信息越來越多,我們的模型也從簡單模型逐漸發展為了複雜模型

總的來說,這篇論文想要表達的觀點和我自己在工業界的機器學習實踐中的感悟是相符的:首先關注模型準確率,然後只有在建立完畢一個具有很好預測表現的模型之後才開始考慮如何解釋它。一個高度複雜、高度準確、但難以解釋的模型,要比簡單、線性、完全理解但是預測準確率低下的模型有價值得多。

下面我談談在Breiman這篇論文基礎上的一些個人想法。不過我也需要提前說明,我自己只有一年的學術經驗和一年的工業界經驗,要比Breiman寫這篇論文的時候稚嫩太多了。我建議各位首先閱讀一下Breiman的原文(以及,可能的話,對這篇論文的批評之聲),形成一個自己的基本判斷。

雖然機器學習的發展驚人地快,但是較早的論文、專著裡仍然有許多很有價值的信息值得我們回看,像Breiman這樣對整個領域的發展產生了巨大影響的知名學者的論文尤其值得關注

統計建模的兩種路線

在我們討論一個好的模型需要考慮哪些因素之前,我們需要首先理解,建模的目標同時包含了這兩點:

  • 預測:根據一組新的獨立變量,估計可能的結果(目標)

  • 信息:對於數據的產生過程有更多的瞭解

在不同的情境中,這兩個目標之間的權衡可以完全不同:如果你想要預測股價漲跌,你大概除了模型準確率之外什麼都不關心;而如果是在醫學研究中使用,建模的主要目標很可能是為了瞭解某種疾病的誘因。不過,Breiman也在論文中提出,算法建模的方法其實對於任一個目標都更有優勢。

一、數據建模

使用數據建模方法的研究人員首先構建了數據生成方式的合理機制。(Breiman認為數據模型是線性迴歸或邏輯迴歸等)也就是說,研究人員想出了一個線性方程,它將自變量(特徵)與直覺、經驗或領域知識中的因變量(目標)聯繫起來。

通過將其擬合到數據集來找到模型中的係數(特徵權重)。得到的線性方程表示實際的數據生成機制——自然界產生因變量和自變量值的黑匣子。係數用作變量重要性的度量(權重),顯示特徵對響應的影響。

在數據建模中進行校驗是通過R^2或殘差分析等擬合優度度量來完成的——兩者都是在訓練數據集上測量的。這裡很少考慮預測準確性;相反,模型的重點在於如何更好地解釋研究中的現象。如果係數上的p值足夠低,那麼它們就是“重要的”,模型就成了“真理”,用Breiman的話來說,從模型中得出的任何結論都是絕對可靠的。

整個過程以直覺和主觀決策為指導:研究人員不是讓數據說話,而是通過選擇來強加自己的個人理論,例如使用哪些特徵以及將哪些數據點作為異常值拋出。

Breiman引用了Mosteller和Tukey的教科書來總結他對數據建模的失望:“整個引導迴歸領域充滿了知識、統計、計算和主題的困難。”

換句話說,數據建模採用簡單的線性模型和直覺不是從數據中學習的客觀方法。然而據Breiman表示,這是98%的學術統計學家採取的方法!

難怪他對自己的領域感到沮喪。

二、算法建模

算法建模方法圍繞著這樣一個問題:模型在校驗數據上的性能是什麼?

對於選擇模型,不考慮模型是否代表生成數據的基礎機制,而只考慮模型是否可以對新(或保持)觀察進行可靠估計。

Breiman將算法文化的興起歸功於新算法的發明,例如隨機森林(他自己的工作)、支持向量機和神經網絡。這些都是——至少在當時——理論上並未得到很好理解的模型,但產生了非凡的預測準確性,特別是在大型數據集上。

算法社區的中心思想是:自然是一個黑盒子,我們的模型也應該是一個黑盒子。

嘗試解釋一個不準確的模型幾乎沒有用處,因此在專注於從中學習任何有關自然的知識之前,首先要集中精力構建具有最佳性能的模型。準確的模型,無論多麼複雜,對於預測和信息收集都更有用。

算法文化不是來自學術統計,而是來自“年輕的計算機科學家、物理學家和工程師加上一些老化的統計學家”。換句話說,那些不怕採用(甚至發明)新技術來解決新問題的人。這些是從業者而不是理論家,他們使用神經網絡和隨機森林來解決從醫學,到基因組學,到股票市場,到天文學等各個領域的問題。

Breiman在擔任企業顧問時,認識到計算機是一種非常寶貴的工具,因為它能夠將複雜的技術應用於大量數據。回到學術界後,他對依賴數據模型而忽視預測準確性感到失望。

即使你的主要目標是通過建模提取有關自然的信息,首要任務也應該是準確性。

1、模型的多樣性

許多具有不同特徵集的模型具有幾乎相同的預測精度。

我在最初建立的幾個模型中,被一個反覆出現的模式所困擾。我試圖通過測量校驗分數來選擇“最佳”功能,但每次我嘗試不同的子集時,整體校驗分數幾乎保持相同。這令人很費解,但反覆出現:改變特徵,甚至嘗試不同的超參數值仍然產生類似的性能。

Breiman說,這沒什麼可擔心的,對於大多數問題,當使用複雜模型時,有許多特徵和超參數可以提供大致相同的性能。換句話說,單個最佳模型的想法是不存在的,所以我們不應該操心如何找到它。

不過這樣的問題確實讓那些依賴數據模型的人感到不安,因為簡單的線性模型不能很好地處理大量特徵,所以它們必須從中選擇,通常是用直覺或形式方法的組合。通過選擇特徵和通過擬合計算係數而創建的從特徵到目標的映射被假定為表示基礎事實,即數據生成過程。但是,如果實際上有許多特徵可以提供相同的性能,那麼如何才能成為真理的最終來源呢?實際上,有許多同樣好的模型,因此只選擇一個並不能準確地表示問題。

是什麼導致模型的多樣性?我的經驗是:特徵相關(變量之間的關聯)。儘管線性迴歸假設輸入變量是獨立的,但在實際數據集中,幾乎所有特徵都具有一定程度的相關性,而且通常相當高。因此,一個特徵可以替代模型中的另一個特徵而不會降低精度。

構建一個單一的數據模型並將其稱為真理的來源,會錯過所有其他可以執行的模型。算法建模者就不用擔心選擇特徵的問題:只需將它們全部交給隨機森林,讓它找出哪些是重要的;訓練之後,要認識到擬合模型只是從特徵到目標諸多映射中的一種可能表示。

2、機器學習權衡:簡單和準確

這是一個論文顯示年齡的時代。Breiman當年提出了一個主張,即:複雜的機器學習模型是完全無法解釋的(特別是隨機森林和神經網絡)。因此在選擇模型時,他說我們總是需要在可解釋性和提高準確率之間進行權衡。

然而,過去幾年在解釋負責模型方面取得了重大進展,特別是SHAP值和局部可解釋模型-不可知解釋(LIME)。這些操作基於構建複雜模型的一般原則,然後使用簡單模型(如線性迴歸)解釋其中的一部分(局部)。

(有關可解釋機器學習的課程,請參閱Kaggle的機器學習解釋性)。

這些模型解釋技術可以適用於從隨機森林到神經網絡的任何模型,並提供對各個模型預測的合理解釋。

不過,Breiman對缺乏可解釋性的擔憂仍然是有效的。算法開發的速度比解釋快得多。這可以理解——我們需要在嘗試解釋它們之前確保算法是準確的。解釋不準確模型的預測沒有用處。現在,模型解釋技術已經趕上了算法,我們可以同時具有預測背後的推理和高預測準確性。

雖然我們人類能夠對自己的行為進行解釋,但要注意,人類對他們決定的解釋是很糟糕的。一個人做出選擇確實可以給出理由,但這事實上包含了影響決策的環境、遺傳、情境、情緒、神經遞質等各種因素。當我們問某人為什麼上班遲到,他會告訴我們“因為我採取了不同的地鐵路線”,我們可能會接受這一點並不再提問。我們沒有深入研究推理或提出詳細的後續行動,因為這會導致更多後續行動(我們需要知道這個人整個人生歷史,甚至完全解釋他們做出的每一個選擇)。

我發現人們總想對任何事情得到一個解釋,不管這個解釋多麼站不住腳;即使它是一個重言式(男孩將是男孩)或循環推理(因為我的拼寫很差,我犯了許多拼寫錯誤),人們都有可能接受。

與人類的原因相反,機器學習模型輸出的SHAP值則更加全面,它能夠顯示分配給每個變量的確切權重。從這一點來看,我更喜歡這些模型解釋技術中的數字,而不是人類給出的誤導性理由。相比於擔心模型可解釋性,也許我們更應該處理人類決策的問題!

我們在解釋機器學習輸出方面取得了比弄清個人行為背後的複雜影響網絡方面取得了更多的進展。

3、使用算法模型,更多特徵可以提高性能

在我讀研究生時上的數據科學建模課中,教授花了大量的時間使用方差膨脹因子(variance inflation factor)或互信息(mutual information)等技術進行特徵選擇。在實驗室中,我也見到了許多特徵選擇幾乎都是由直覺而不是標準化程序選擇的。原因聽起來也很合理:線性模型往往不能很好地處理許多特徵,因為它們沒有足夠的能力對特徵中的所有信息進行建模。但這裡所使用的方法通常是主觀的,這導致模型更多的是人類驅動,而不是數據驅動。

相比之下,算法模型可以從大量特徵中獲益。Breiman指出,更多的變量意味著更多的信息,而更有效的模型應該能夠從噪聲中挑選出信號。像隨機森林這樣的模型可以用大量特徵得到準確預測,即使變量的數量遠超數據點的數量。我們可以為算法模型提供所有特徵,並讓它找出於任務最相關的特徵,而不是花大量時間用直覺去選擇特徵。此外,我們還可以根據現有變量生成輔助特徵,以便提取更多信息。

直覺在算法建模文化中沒有地位,這與在數據模型不同。如果我們真的想從數據中學習,那麼我們就必須信任數據本身,而不是我們主觀的觀點。算法建模不需要我們選擇任何的特徵;相反,我們保留所有特徵,甚至添加更多新的特徵,並以更少的工作量來獲得更好的性能。

4、科學:簡單到複雜

隨著我們對世界的瞭解,我們需要更復雜的預測和學習信息的模型。

宇宙的早期模型是將中心置於地球,然後是移到太陽,而現在我們知道即使更大的銀河系也不過是數十億個星系中渺小的一個。在每一步改進中,模型都變得越來越複雜,因為我們收集了更多不適合現有模型的信息。牛頓萬有引力定律在幾百年中一直運作良好,直到我們觀察到它的侷限性。現在我們需要愛因斯坦的相對論才能確保GPS系統的準確性。

類似其他領域不斷開發出更復雜的模型來解決新的困難(例如為了解決微觀物理問題,人們開發除了量子力學),統計學也應該拋棄在實用性方面已經過時的線性模型,去擁抱更復雜的非線性模型。數據模型適用於一小部分問題,但我們現在在數據科學中面臨的挑戰要大得多。用於解決這些問題的技術也應當擴展。

科學的其他部分正朝著更大的複雜性發展,為什麼統計學要仍然堅持最簡單的模型呢?

目前,在統計領域仍然存在大量令人興奮的問題等待探索,去設計最合適的工具,或發明新的技術。所以這仍然是一個讓有學術抱負的人可以馳騁的學科。

批評

Breiman在其論文的附錄中貼出了4位統計學家的批評及對他們的迴應。我認為這種傳統對於科學來說是非常好的傳統,科學可以通過公開討論來推進,因為沒有任何一個人能夠有正確的答案,提出一個想法,接受批評,對之改進,形成閉環的迭代過程,由此在科學創新上才能取得巨大的成功。

1、簡單模型仍然有用

這是Breiman承認的一點:在某些情況下,線性模型是合適的。例如,如果我們將距離建模為速率的函數,則這是線性關係:距離=速率×時間。然而,自然界中很少有現象遵循這樣一個好機制(即使上面的例子幾乎從未在現實世界中存在過。)線性模型可以在非常小的數據集(特徵很少)中使用,但在處理新問題時很快就會過時,在諸如天文學、氣候、股票市場預測、自然語言處理等領域,其數據集很大並且包含數千或更多變量。

算法文化不是放棄數據模型。其強調的重點是:在任何情況下都使用最合適的模型。如果線性模型在數據集上能夠獲得最高的預測準確度,那就選擇它。Breiman的觀點準確來說應該是,我們不應該提前假設正確模型。

2、過度擬合校驗數據

過度擬合是機器學習中的一個基本問題:在部分數據集上學習到的參數,並不能代表問題面向的所有數據。通過選擇具有最佳分數的模型,我們可能無意中選擇了對未來數據概括並不那麼好的模型。

但這不是算法模型所特有的問題,儘管使用更復雜的模型可能更容易過度擬合(因為有更多的自由參數來訓練)。

解決方案不是追溯到更簡單的模型,而應該是使用更魯棒的校驗。我個人更喜歡交叉驗證,使用多個訓練/測試子集,這樣性能就不會受到隨機選擇的偏差。模型可能仍然會過度擬合(這應該被稱為Kaggle效應),但魯棒的校驗設置應該能夠在新數據上提供一個良好的性能指標。

監控模型在生產中的持續性能也至關重要。定期檢查模型精度是否降低,可以讓你捕獲模型或數據的漂移。一旦發生這種情況,你就需要構建新的模型,收集更多其他數據或重新解決問題。

過度擬合是一個嚴重的問題,但可以用正確的方法解決。

3、特徵重要性

Breiman 關於從複雜模型中提取信息的大部分論點都依賴於「特徵重要性」的概念。他在論文中沒有定義,而是在對批評的迴應中給了定義。他的定義取決於準確率。特徵的重要性通過以下問題來衡量:模型中的特徵是否會提高性能?

傳統上,變量重要性是從線性模型的權重係數確定的。但我們已經看到多個特徵可以產生相同的性能,因此使用學習的權重作為重要性的度量並不能捕獲任何單一的基本事實。

事實上,變量重要性領域的問題仍未得到完全解決。當變量共線(高度相關)時,由於特徵重要性可能在特徵之間分開,所以問題依然存在。目前,還沒有一種令人滿意的方法來確定哪些變量是最重要的,但基於準確率的方法比基於權重的方法更不主觀。SHAP 值提供了變量重要性的每個預測度量,可以讓我們看到每個特徵值對輸出的確切影響。預測到的特徵重要性可能並不代表特徵本質上的“真實”相關性,但它可以給我們變量之間的相對比較。

4、建模目標

一些統計學家認為建模的目標是預測,因此主張重視信息收集。我的回答是,沒有預測準確性的模型無法提供有關問題的任何有用信息。它可能提供模型權重,但如果不能導致準確預測,我們為什麼要嘗試從中學習呢?相反,我們應該首先關注準確性 —— 也因此,我們知道我們的模型已經學到了一些有用的東西 —— 然後再試著弄清楚模型是如何運作的。

模型必須準確,才能提供有用信息!

試圖去理解一個連簡單的非機器學習極限都比不過的線性模型,這本身其實沒有意義。目標集中在準確性上,然後才是花費你的時間來解釋模型。擁有一個還沒有解釋的精確模型,比提供了清晰解釋卻只能產生無意義信息的模型要好得多。

結論

Breiman 的這篇論文對我從學術轉向工業非常重要。一開始,我花費了大量時間試圖理解各種模型背後的理論,或者通過直覺來解決問題,而不是針對準確性並讓數據來決定模型。

通過這篇論文,讓我明白了至關重要的一點:先準確,再解釋。一個模型值得用於知識提取的前提是它有很高的預測能力;否則就沒有意義。

這在實踐中意味著什麼(特別是對於那些在工業中的人)?很簡單:專注於建立一個強大的校驗方案並找到表現最佳的模型。在你知道模型有效之前,不要花太多時間擔心模型背後的理論。此外,經驗表明,許多模型可以使用不同的特徵集生成相同的精度,附加特徵可以提高複雜算法的性能,並且模型可解釋性和準確性之間存在平衡,儘管新技術在很大程度上縮小了差距。

當我們看到預測或決定時,我們都想要解釋。但是,我們必須承認,當我們的知識和大腦限制我們時:我們根本無法處理現在面臨的數據量,我們必須依靠機器為我們做大部分推理。機器學習是用於解決數據問題的工具,我們應該使用最好的工具。統計學是一個古老的領域,但這並不意味著它必須一直停留在過去:通過採用最新的算法,統計學家可以解決建模中出現的挑戰性的新問題。

End

"

相關推薦

推薦中...