當貝葉斯,奧卡姆和夏農一起來定義機器學習
【導讀】當貝葉斯、奧卡姆和夏農一起給機器學習下定義,將統計學、資訊理論和自然哲學的一些核心概念結合起來,我們便會會發現,可以對監督機器學習的基本限制和目標進行深刻而簡潔的描述。
令人有點驚訝的是,在所有機器學習的流行詞彙中,我們很少聽到一個將統計學、資訊理論和自然哲學的一些核心概念融合起來的短語。
而且,它不是一個只有機器學習博士和專家懂得的晦澀術語,對於任何有興趣探索的人來說,它都具有精確且易於理解的含義,對於ML和資料科學的從業者來說,它具有實用的價值。
這個術語就是最小描述長度(Minimum Description Length)。
讓我們剝繭抽絲,看看這個術語多麼有用……
貝葉斯和他的理論
我們從托馬斯·貝葉斯(Thomas Bayes)說起,順便一提,他從未發表過關於如何做統計推理的想法,但後來卻因“貝葉斯定理”而不朽。
Thomas Bayes
那是在18世紀下半葉,當時還沒有一個數學科學的分支叫做“概率論”。人們知道概率論,是因為亞伯拉罕 · 棣莫弗(Abraham de Moievre)寫的《機遇論》(Doctrine of Chances)一書。
1763年,貝葉斯的著作《機會問題的解法》(An Essay toward solving a Problem in the Doctrine of opportunities)被寄給英國皇家學會,但經過了他的朋友理查德·普萊斯(Richard Price)的編輯和修改,發表在倫敦皇家學會哲學彙刊。在那篇文章中,貝葉斯以一種相當繁複的方法描述了關於聯合概率的簡單定理,該定理引起了逆概率的計算,即貝葉斯定理。
自那以後,統計科學的兩個派別——貝葉斯學派和頻率學派(Frequentists)之間發生了許多爭論。但為了迴歸本文的目的,讓我們暫時忽略歷史,集中於對貝葉斯推理的機制的簡單解釋。請看下面這個公式:
這個公式實際上告訴你,在看到資料/證據(可能性)之後更新你的信念(先驗概率),並將更新後的信念程度賦予後驗概率。你可以從一個信念開始,但每個資料點要麼加強要麼削弱這個信念,你會一直更新你的假設。
聽起來十分簡單而且直觀是吧?很好。
不過,我在這段話的最後一句話裡耍了個小花招。你注意了嗎?我提到了一個詞“假設”。
在統計推理的世界裡,假設就是信念。這是一種關於過程本質(我們永遠無法觀察到)的信念,在一個隨機變數的產生背後(我們可以觀察或測量到隨機變數,儘管可能有噪聲)。在統計學中,它通常被稱為概率分佈。但在機器學習的背景下,它可以被認為是任何一套規則(或邏輯/過程),我們認為這些規則可以產生示例或訓練資料,我們可以學習這個神祕過程的隱藏本質。
因此,讓我們嘗試用不同的符號重新定義貝葉斯定理——用與資料科學相關的符號。我們用D表示資料,用h表示假設,這意味著我們使用貝葉斯定理的公式來嘗試確定資料來自什麼假設,給定資料。我們把定理重新寫成:
現在,一般來說,我們有一個很大的(通常是無限的)假設空間,也就是說,有許多假設可供選擇。貝葉斯推理的本質是,我們想要檢驗資料以最大化一個假設的概率,這個假設最有可能產生觀察資料(observed data)。我們一般想要確定P(h|D)的argmax,也就是想知道哪個h的情況下,觀察到的D是最有可能的。為了達到這個目的,我們可以把這個項放到分母P(D)中,因為它不依賴於假設。這個方案就是最大後驗概率估計(maximum a posteriori,MAP)。
現在,我們應用以下數學技巧:
最大化對於對數與原始函式的作用類似,即採用對數不會改變最大化問題
乘積的對數是各個對數的總和
一個量的最大化等於負數量的最小化
那些負對數為2的術語看起來很熟悉是不是......來自資訊理論(Information Theory)!
讓我們進入克勞德·夏農(Claude Shannon)的世界吧!
夏農和資訊熵
如果要描述克勞德·夏農的天才和奇特的一生,長篇大論也說不完。夏農幾乎是單槍匹馬地奠定了資訊理論的基礎,引領我們進入了現代高速通訊和資訊交流的時代。
夏農在MIT電子工程系完成的碩士論文被譽為20世紀最重要的碩士論文:在這篇論文中,22歲的夏農展示瞭如何使用繼電器和開關的電子電路實現19世紀數學家喬治布林(George Boole)的邏輯代數。數字計算機設計的最基本的特徵——將“真”和“假”、“0”和“1”表示為開啟或關閉的開關,以及使用電子邏輯閘來做決策和執行算術——可以追溯到夏農論文中的見解。
但這還不是他最偉大的成就。
1941年,夏農去了貝爾實驗室,在那裡他從事戰爭事務,包括密碼學。他還研究資訊和通訊背後的原始理論。1948年,貝爾實驗室研究期刊發表了他的研究,也就是劃時代的題為“通訊的一個數學理論”論文。
夏農將資訊源產生的資訊量(例如,資訊中的資訊量)通過一個類似於物理學中熱力學熵的公式得到。用最基本的術語來說,夏農的資訊熵就是編碼資訊所需的二進位制數字的數量。對於概率為p的資訊或事件,它的最特殊(即最緊湊)編碼將需要-log2(p)位元。
而這正是在貝葉斯定理中的最大後驗表示式中出現的那些術語的本質!
因此,我們可以說,在貝葉斯推理的世界中,最可能的假設取決於兩個術語,它們引起長度感(sense of length),而不是最小長度。
那麼長度的概念是什麼呢?
Length (h): 奧卡姆剃刀
奧卡姆的威廉(William of Ockham,約1287-1347)是一位英國聖方濟會修士和神學家,也是一位有影響力的中世紀哲學家。他作為一個偉大的邏輯學家而享有盛名,名聲來自他的被稱為奧卡姆剃刀的格言。剃刀一詞指的是通過“剔除”不必要的假設或分割兩個相似的結論來區分兩個假設。
奧卡姆剃刀的原文是“如無必要勿增實體”。用統計學的話說,我們必須努力用最簡單的假設來解釋所有資料。
其他傑出人物響應了類似的原則。
牛頓說:“解釋自然界的一切,應該追求使用最少的原理。”
羅素說:“只要有可能,用已知實體的結構去替代未知實體的推論。”
人們總是喜歡更短的假設。
那麼我們需要一個關於假設的長度的例子嗎?
下面哪個決策樹的長度更小?A還是B?
即使沒有一個對假設的“長度”的精確定義,我相信你肯定會認為左邊的樹(A)看起來更小或更短。當然,你是對的。因此,更短的假設就是,它要麼自由引數更少,要麼決策邊界更不復雜,或者這些屬性的某種組合可以表示它的簡潔性。
那麼Length(D | h)是什麼?
給定假設是資料的長度。這是什麼意思?
直觀地說,它與假設的正確性或表示能力有關。給定一個假設,它支配著資料的“推斷”能力。如果假設很好地生成了資料,並且我們可以無錯誤地測量資料,那麼我們就根本不需要資料。
想想牛頓的運動定律。
牛頓運動定律第一次出現在《自然哲學的數學原理》上時,它們並沒有任何嚴格的數學證明。它們不是定理。它們很像基於對自然物體運動的觀察而做出的假設。但是它們對資料的描述非常好。因此它們就變成了物理定律。
這就是為什麼你不需要記住所有可能的加速度數字,你只需要相信一個簡潔的假設,即F=ma,並相信所有你需要的數字都可以在必要時從這個假設中計算出來。它使得Length(D | h) 非常小。
但是如果資料與假設有很大的偏差,那麼你需要對這些偏差是什麼,它們可能的解釋是什麼等進行詳細描述。
因此,Length(D | h)簡潔地表達了“資料與給定假設的匹配程度”這個概念。
實質上,它是錯誤分類(misclassication)或錯誤率( error rate)的概念。對於一個完美的假設,它是很短的,在極限情況下它為零。對於一個不能完美匹配資料的假設,它往往很長。
而且,存在著權衡。
如果你用奧卡姆剃刀刮掉你的假設,你很可能會得到一個簡單的模型,一個無法獲得所有資料的模型。因此,你必須提供更多的資料以獲得更好的一致性。另一方面,如果你建立了一個複雜的(長的)假設,你可能可以很好地處理你的訓練資料,但這實際上可能不是正確的假設,因為它違背了MAP 原則,即假設熵是小的。
將所有這些結合起來
因此,貝葉斯推理告訴我們,最好的假設就是最小化兩個項之和:假設的長度和錯誤率。
這句話幾乎涵蓋了所有(有監督)機器學習。
想想它的結果:
線性模型的模型複雜度——選擇多項式的程度,如何減少平方和殘差。
神經網路架構的選擇——如何不公開訓練資料,達到良好的驗證精度,並且減少分類錯誤。
支援向量機正則化和kernel選擇——軟邊界與硬邊界之間的平衡,即用決策邊界非線性來平衡精度
我們真正得出的結論是什麼?
我們從最小描述長度(MDL)原理的分析中得出什麼結論?
這是否一勞永逸地證明了短的假設就是最好的?
沒有。
MDL表明,如果選擇假設的表示(representation)使得h的大小為-log2 P(h),並且如果異常(錯誤)的表示被選擇,那麼給定h的D的編碼長度等於-log2 P(D | h),然後MDL原則產生MAP假設。
然而,為了表明我們有這樣一個表示,我們必須知道所有先驗概率P(h),以及P(D | h)。沒有理由相信MDL假設相對於假設和錯誤/錯誤分類的任意編碼應該是首選。
對於實際的機器學習,人類設計者有時可能更容易指定一種表示來獲取關於假設的相對概率的知識,而不是完全指定每個假設的概率。
這就是知識表示和領域專業知識變得無比重要的地方。它使(通常)無限大的假設空間變小,並引導我們走向一組高度可能的假設,我們可以對其進行最優編碼,並努力找到其中的一組MAP假設。
總結和思考
一個奇妙的事實是,如此簡單的一套數學操作就能在概率論的基本特徵之上產生對監督機器學習的基本限制和目標的如此深刻而簡潔的描述。對這些問題的簡明闡述,讀者可以參考來自CMU的一篇博士論文《機器學習為何有效》(Why Machine Learning Works)。
原文連結:
https://towardsdatascience.com/when-bayes-ockham-and-shannon-come-together-to-define-machine-learning-96422729a1ad
Why Machine Learning Works:
http://www.cs.cmu.edu/~gmontane/montanez_dissertation.pdf
∑編輯 | Gemini
來源 | 新智元
更多精彩:
☞ 曲面論
演算法數學之美微信公眾號歡迎賜稿
稿件涉及數學、物理、演算法、計算機、程式設計等相關領域,經採用我們將奉上稿酬。
投稿郵箱:math_alg@163.com
相關文章
- 【機器學習】--貝葉斯網路機器學習
- 機器學習——貝葉斯演算法機器學習演算法
- 機器學習中的MLE、MAP和貝葉斯估計機器學習
- 機器學習之樸素貝葉斯分類機器學習
- 機器學習Sklearn系列:(四)樸素貝葉斯機器學習
- 機器學習中貝葉斯建模和機率程式設計簡介機器學習程式設計
- 機器學習讀書筆記:貝葉斯分類器機器學習筆記
- 機器學習系列文章:貝葉斯決策理論機器學習
- Python機器學習 — 樸素貝葉斯演算法(Naive Bayes)Python機器學習演算法AI
- 100天搞定機器學習|Day15 樸素貝葉斯機器學習
- Python機器學習筆記:樸素貝葉斯演算法Python機器學習筆記演算法
- 人工智慧之機器學習基礎——貝葉斯(Bayesian Methods)人工智慧機器學習
- 機器學習演算法(二): 樸素貝葉斯(Naive Bayes)機器學習演算法AI
- 貝葉斯深度學習簡介深度學習
- 機器學習演算法筆記之4:貝葉斯分類器機器學習演算法筆記
- 一文讀懂機器學習中的貝葉斯統計學機器學習
- 機器學習之紅樓夢作者判斷(貝葉斯分類)機器學習
- 貝葉斯深度學習(bayesian deep learning)深度學習
- 機器學習經典演算法之樸素貝葉斯分類機器學習演算法
- 樸素貝葉斯和半樸素貝葉斯(AODE)分類器Python實現Python
- 機器學習(三):樸素貝葉斯+貝葉斯估計+BP人工神經網路習題手算|手工推導與習題計算機器學習神經網路
- 監督學習之樸素貝葉斯
- 天真貝葉斯學習機 | TiDB Hackathon 優秀專案分享TiDB
- 高階人工智慧系列(一)——貝葉斯網路、機率推理和樸素貝葉斯網路分類器人工智慧
- 有監督學習——支援向量機、樸素貝葉斯分類
- 貝葉斯與卡爾曼濾波(1)--三大機率
- 04貝葉斯演算法-貝葉斯網路演算法
- 深度學習中的貝葉斯統計簡介深度學習
- 用tensorflow學習貝葉斯個性化排序(BPR)排序
- 模式識別學習筆記——貝葉斯決策模式筆記
- 貝葉斯定理
- 貝葉斯公式公式
- 模式識別與機器學習筆記專欄之貝葉斯分類決策(一)模式機器學習筆記
- 【機器學習基礎】樸素貝葉斯對B站彈幕分類(是否永久封禁)機器學習
- 【資料科學系統學習】機器學習演算法 # 西瓜書學習記錄 [6] 樸素貝葉斯實踐資料科學機器學習演算法
- 變分貝葉斯自編碼器
- 全機率公式與貝葉斯公式公式
- 貝葉斯變換