科普| 貝葉斯概率模型一覽

2021-01-10 雷鋒網

雷鋒網按:本文出自美圖數據研究院

什麼是貝葉斯概率模型?

機器學習狹義上是指代統計機器學習,如圖 1 所示,統計學習根據任務類型可以分為監督學習、半監督學習、無監督學習、增強學習等。

圖 1

在每類任務中,又可以將各類模型歸結為概率模型和非概率模型,以下以監督學習為例說明。

概率模型(生成模型)通過函數 F 來描述 X 和 Y 的聯合概率或者條件概率分布,如 P(X|Y);非概率模型(判別模型)通過函數 F 來直接描述 X 到 Y 的映射,如 Y=f(X)。判別模型的優化目標五花八門,但都符合人類認知;而在概率模型中,所有模型的優化目標是統一的,即最大化觀測數據在概率模型中出現的概率。這兩者在部分模型表現形式上又可以互相解釋,如神經網絡等。

貝葉斯概率模型的誕生

所有概率模型描述的都是在系統參數 w 下觀測變量對 X,Y 的聯合概率分布或條件概率分布,即 P(Y,X|w) 。設計好概率模型後,剩下的問題就是如何通過大量的觀測數據來決定參數 w, 這時出現了貝葉斯理論。

頻率學派主張大數定律,對參數的最佳選擇是使觀測變量概率最大的值;而貝葉斯學派提出了貝葉斯公式和主觀概率,他們認為參數可以是一個分布,並且最初可以通過主觀經驗設置。頻率學派的人對此是無法接受的,他們認為參數應該是一個確定的值不應該有隨機性。

舉個例子,有個檢測太陽是否爆炸的探測器,它有 0.3 左右的概率撒謊。當探測器說出太陽爆炸時,兩個學派的人答案是不一樣的。

圖 2

如圖 3 所示這裡太陽的狀態是系統參數 w,探測器回答是觀測變量 data。以頻率學派的理論來討論,如果參數只能是一個確定的值,那麼應該選取出錯概率最小的那個參數,那太陽應該是爆炸了;如果以貝葉斯學派來討論,將參數視為分布,並根據我們的經驗賦予先驗,得到的後驗認為太陽應該是沒有爆炸的,只有當探測器多次回答「yes」,後驗分布才會相信太陽爆炸了。

圖 3

貝葉斯學派和概率學派在小數據量的場景下的推論結果常常是有一定區別的,因此它有存在的必要。

構建貝葉斯概率模型

接下裡通過構建貝葉斯概率模型案例直觀地感受貝葉斯概率模型的核心概念、構建思想和優勢。

CKF(Collaborative Kalman filter)

圖 4

如圖 4 所示,這種基於頻率學派模型存在兩個比較大的缺陷:

無法增量訓練。理論上每新增一條用戶行為,模型就要重新估計一遍參數;無法處理用戶興趣漂移。粗暴的做法是設置時間衰減,但是衰減的函數和力度都需要人工把握,模型對超參數很敏感,而且每個用戶的興趣漂移能力應該是不同的,這點無法建模。

根據以上提到的兩大缺陷,通過貝葉斯將該模型進行改造。首先將參數都變成分布的,把用戶向量 u 和物品向量 w 都賦予維納過程:

給 u 和 w 賦予一個方差很大的先驗分布。輸入數據時計算後驗。將後驗通過維納過程得到下一刻的先驗:

每個用戶的興趣漂移能力不同:

*這裡通過維納過程算下一刻先驗,實質上在上一刻後驗的基礎上加一個方差 α。從而保證狀態始終有一個漂移能力,如果這個 α 等於 0,就會出現隨著推理的進行 u 的分布只會越來越集中,這樣即便後面用戶興趣漂移了,由於先驗分布集中,似然函數無法調整。所以這裡的 α 控制的是興趣漂移的能力。

再設一層概率分布,令 α 也為一個維納過程,讓每個用戶的興趣漂移能力可以自適應去調整和變化:

經過貝葉斯改造之後,CFK 模型有以下優勢:

訓練過程中是增量進行的;無參化,數據越來越多時,後驗方差會越來越小,分布越來越集中,實現先驗與數據的自動權衡;漂移參數自適應,當用戶興趣發生漂移時,狀態會跟隨著漂移。

Bayesian Neural Networks

Bayesian Neural Networks 是指通過後驗推理擴展標準網絡。通過優化標準神經網絡訓練(從概率學派的角度來看)等同於權重的最大似然估計。

圖 5

它存在以下三大缺陷:

無法增量訓練;網絡結構等需要超參數設置;無法衡量預測不確定性。

針對以上問題的解決方案是引入正則化,從貝葉斯學派的角度來看,這相當於在權重上引入先驗。從概率學派的角度來看這不是正確的做法,儘管它在實踐中確實很有效。改造後它有以下優勢:

可以進行增量訓練;非參數模型,無參並非沒有超參數,而是把超參數隱藏到更深層,以達到更弱的參數敏感性;可以刻畫預測的不確定性;先驗與數據自動權衡。

如何更新模型?

變分推理 Variational inference

問題描述:觀測變量 X={x1,x2,……,xn}, 隱變量 Z={z1,z2,……zm},已知 P(X,Z) 或 P(X | Z),求後驗分布 P(Z | X)。由於後驗分布有時很難獲得解析解,在受限制函數空間中搜索與後驗分布函數近似的函數,這裡需要一個函數相似性的度量(泛函):

那麼如何獲得近似解 q(Z) 呢?

Step 1: 通過調整 q(Z), 最小化 q(Z) 與 後驗 p(Z|X) 的 KL 散度 KL(q||p)

Step 2: 將最小優化散度 KL(q||p)的問題轉化為最大化 L(q)

*MinKL(q||p) 等價於 MaxL(q)

考慮概率分布 q(Z)是受限制的類別,我們的標是充分限制 q(Z)可以取得的概率分布的類別範圍,使得這個範圍中的所有概率分布都是可以處理的概率分布。同時還要使得這個範圍充分、充分靈活,從它能夠提供對真實後驗概率分布的個夠好的近似。

Step 3: 利用平均場理論限制函數空間,將 q(Z)簡化為互不相關的幾個組:

Step 4: 將分組簡化後的q(Z)代入以上公式,將其它組視為常來,輪流優化

所有模型的變分推理,都是在交替計算該公式。該公式與模型無關,當對 P(X,Z)賦予具體形式,便可算出 q 的更新公式:

在對 q(Z)分組的原則及 q(Z)函數族的選取原則有兩個小建議:

1.在概率模型中同一層次的隱變量分在一組,在算積分的時候可以使其它層次的對應的條件概率因為不含有改組內的變量而被當做常量,不需計算。

2.q(Z) 的函數族選取條件分布的共軛分布族,在計算期望的積分時需要建條件分布與 q(z)相乘,選取條件分布的共軛分布族保證相乘完的形式還是原來的簡單形式。

概率反向傳播 Probabilistic Backpropagation

概率反向傳播是貝葉斯神經網絡的更新方式,已知:

求後驗分布 q(ω,Υ,λ)。

Step 1:利用 KL 逼近 w 的後驗

w 的後驗分布可以寫成

,其中 f(w)是與 w 相關的似然,設待求後驗為高斯分布

在算關於 w 的後驗過程中,不含有 w 的函數部分都可以看成常數忽略掉。因為 w 與另外兩個方差 γ 和 λ 在不同層次,所以 f(w)中不含有這兩個參數。

*這裡雖然是搜索最優函數,但因為限制了函數空間的形式,所以其實是在搜索最優參數 m 和 v

通過最小化 KL 散度 KL(q^new||s),可以得到直接得到如下的最優值:

一般來講這裡需使用變分推理,是因為這裡的 Z 比較難求(需要求這個積分):

但是這裡通過 Z 的近似形式來替代,它約等於最後一層神經元響應的分布:

Step 2:前向傳播,得到 Z^L 的均值和方差

前向過程本質上是一個概率分布的傳播過程,但是由於都是高斯分布,所以可以簡化成分布參數的傳播過程。

Step 3:利用該公式反向傳播,更新參數

最後 Z 將變成含有各層參數的高斯函數,從而可以進行反向梯度計算並更新各層分布的參數,這樣就解決了貝葉斯神經網絡的模型更新問題。

本文主要介紹了機器學習中的概率模型及貝葉斯理論在概率模型中的應用,這也是人工智慧目前比較活躍的方向,相信會有越來越多的工作在這方面進行探索,期待新的發展。我們也會把貝葉斯神經網絡應用於實際的業務中,後續的文章中將會與各位交流一些實踐經驗。

相關焦點

  • 數據分析經典模型——樸素貝葉斯
    編輯導語:做過數據分析的人,想必對貝葉斯模型都不會陌生。貝葉斯預測模型是運用貝葉斯統計進行的一種預測,不同於一般的統計方法,其不僅利用模型信息和數據信息,而且充分利用先驗信息。通過實證分析的方法,將貝葉斯預測模型與普通回歸預測模型的預測結果進行比較,結果表明貝葉斯預測模型具有明顯的優越性。
  • 貝葉斯及概率統計角度
    理解概念學習逆概問題所謂的貝葉斯方法源於他生前為解決一個「逆概」問題寫的一篇文章,而這篇文章是在他死後才由他的一位朋友發表出來的。在貝葉斯寫這篇文章之前,人們已經能夠計算「正向概率」,如「假設袋子裡面有N個白球,M個黑球,你伸手進去摸一把,摸出黑球的概率是多大」。
  • 條件概率與貝葉斯統計
    貝葉斯統計學家在建立概率模型時會加入額外的信息。他也認為探測器不太可能擲出一對 6,然而,他主張要將探測器說真話的概率與太陽沒有爆炸的先驗概率進行比較。這位貝葉斯統計學家最終認為,太陽沒有爆炸的概率比 97.22% 還要大,並決定賭一把「太陽明天照常升起」。1.條件概率構成貝葉斯推理基礎的核心思想就是條件概率。
  • 貝葉斯模型下
    當然也可以用過n-gram之類的語言模型(後續博客馬上提到,盡請關注),拿到最常見短語。對於英文等天生自帶空格來間隔單詞的語言,分詞則不是什麼問題,使用樸素貝葉斯方法將會更加順暢。3.工程上的一些tricks應用樸素貝葉斯方法的過程中,一些tricks能顯著幫助工程解決問題。我們畢竟經驗有限,無法將它們全都羅列出來,只能就所知的一點點經驗與大家分享,歡迎批評指正。
  • 「NLP」經典分類模型樸素貝葉斯解讀
    貝葉斯模型是一種生成模型,先計算聯合概率P(c,x),再通過聯合概率計算後驗概率,也就是利用如下的貝葉斯公式:OK,那聯合概率和先驗概率該怎麼計算呢?樸素貝葉斯模型就該登場了。2 樸素貝葉斯分類器我們再來仔細的分析貝葉斯公式,在有一個訓練集的情況下:1、P(c)為樣本為某個類別的概率,給定樣本及其label後容易計算2、P(x)為某個樣本(所有屬性相同)出現的概率,給定樣本後,容 易得到比較難計算的是P(x|c):其中m為樣本屬性的個數,例如預測西瓜是不是甜的模型,如果基於西瓜的花紋是否清晰
  • 科普丨樸素貝葉斯了解一下
    要理解樸素貝葉斯,我們首先需要了解貝葉斯推斷。貝葉斯推斷是一種用貝葉斯定理來迭代假設概率的方法。貝葉斯定理是在掌握與相關事件的先決信息下,計算該事件的概率。假設你想計算星期天下午5點得到一個停車位的概率。那麼你如何計算這一事件的概率呢?是的,貝葉斯定理!數學上貝葉斯定理寫為:這裡"B"是一個條件,"A"是一個事件。
  • 條件概率,全概率,貝葉斯公式理解
    貝葉斯公式表示成:P(Bi|A)=P(A|Bi)P(Bi)/(P(A|B1)P(B1)+P(A|B2)P(B2)+..P(A|Bn)P(Bn));常常把P(Bi|A)稱作後驗概率,而P(A|Bn)P(Bn)為先驗概率。而P(Bi)又叫做基礎概率。貝葉斯公式:貝葉斯公式看起來很簡單,但是在自然科學領域應用範圍及其廣泛。
  • 常見概率模型在金融市場中的應用
    概率模型簡介  概率模型是一大類模型的統稱,是常規金融模型的概率化表達。通常概率模型會把常規金融模型中的某些參數看作是一個未知的概率分布,這個未知的分布通常會預先給定一個基本假設,即先驗概率,然後再根據具體的觀測數據去推斷或者逐步修正這些假設。一種比較常見的概率模型就是貝葉斯線性回歸模型,這類模型把線性回歸中的係數 和截距等參數作為未知的概率分布。
  • 條件概率和貝葉斯公式 - 圖解概率 03
    條件概率與貝葉斯公式給定條件 B 發生時, A 的條件概率:現在用文氏圖直觀來看什麼是條件概率
  • 教程| 概率編程:使用貝葉斯神經網絡預測金融市場價格
    使用概率的觀點看待這個問題能夠讓我們從數據本身學習正則化、估計預測結果的確定性、使用更少的數據進行訓練,還能在模型中引入額外的概率依賴關係。我不會過多深入貝葉斯模型或變分原理的數學、技術細節,而是會給出一些概述,也更多地將討論集中在應用場景當中。
  • 基於貝葉斯推斷的回歸模型(理論篇)| 機器學習你會遇到的「坑」
    數學準備 貝葉斯定理:,它的意義是,在B發生的情況下,A發生的概率。在貝葉斯框架下,P(A)叫做先驗概率,P(B|A)叫做似然,P(B)是證據因子,P(A|B)叫做後驗概率。 樸素貝葉斯:基於貝葉斯定理的分類器,需要估計類先驗概率P(l)和屬性的類條件概率,為計算聯合概率,引入了屬性獨立性假設。 共軛先驗:如果先驗分布與後驗分布屬於同一類型的分布,那麼我們將先驗分布稱為似然函數的共軛先驗。
  • 概率|全概率公式和貝葉斯公式
    註:有些條件概率不方便直接求,而用貝葉斯公式將其轉換後,每一項我們都可以求得,這種迂迴的方式很方便,但是剛開始使用大家可能在思路上轉不過來,覺得很亂,多做幾個題就會清晰許多,不信你試試    最後我想致謝白志惠老師,在這裡引用她之前寫的一篇文章——「狼來了」的貝葉斯公式解讀:    狼來了這個故事大家都聽過,那麼從心理角度分析,這個小孩是如何一步步喪失村民信任的呢?我們可以藉助貝葉斯公式來解讀。
  • 全概率公式&貝葉斯公式
    該怎樣理解這兩個公式呢ԅ(¯ㅂ¯ԅ)?簡單來說,如果導致一個事件發生的原因有很多種,而且各種原因是互斥的,那麼這個事件發生的概率就是每種原因引起該事件發生的概率的總和,而求出這個概率,就是全概率公式要解決的問題而如果一個事件已經發生了,有很多原因都能導致這個事件發生。
  • 科學家使用貝葉斯公式算出了外星人存在的概率
    哥倫比亞大學天文學系助理教授大衛·基平在5月20日出版的《美國國家科學院學報》上發表的一篇新論文中,使用一種稱為貝葉斯推斷的統計技術進行分析,揭示外星生命在外星世界中的複雜演化過程。外星生命的支持者們常常會回到宇宙如此之大以至於生命必須存在於某處的觀點。在任何一點上都沒有其他生命的可能性,從天文學的角度來似乎是接近於零。
  • 資源| Python上的圖模型與概率建模工具包:pomegranate
    新版本為概率分布、k 均值、混合模型、隱馬爾可夫模型、貝葉斯網絡、樸素貝葉斯/貝葉斯分類器等模型提供模型擬合、結構化學習和推斷過程的修正,並重點關注於處理數據缺失值。pomegranate 簡介pomegranate 是基於 Python 的圖模型和概率模型工具包,它使用 Cython 實現以加快反應速度。它源於 YAHMM,可實現快速、高效和極度靈活的概率模型,如概率分布、貝葉斯網絡、混合隱馬爾可夫模型等。概率建模最基礎的級別是簡單的概率分布。
  • 全概率公式和貝葉斯公式
    條件概率公式 設A, B是兩個事件,且P(B)>0, 則在事件B發生的條件下,事件A發生的條件概率(conditional probability)為:P(A|B)=P(AB)/P(B)條件概率是理解全概率公式和貝葉斯公式的基礎,可以這樣來考慮,如果P(A|B)大於P(A)則表示B的發生使A發生的可能性增大了。
  • 【華泰金工林曉明團隊】金工:人工智慧選股之樸素貝葉斯模型
    本報告對樸素貝葉斯模型及線性判別分析、二次判別分析進行系統測試  「生成模型」是機器學習中監督學習方法的一類。與「判別模型」學習決策函數和條件概率不同,生成模型主要學習的是聯合概率分布。本文中,我們從樸素貝葉斯算法入手,分析比較了幾種常見的生成模型(包括線性判別分析和二次判別分析)應用於多因子選股的異同,希望對本領域的投資者產生有實用意義的參考價值。
  • 貝葉斯和貝葉斯公式
    貝葉斯在數學方面主要研究概率論。他首先將歸納推理法用於概率論基礎理論,並創立了貝葉斯統計理論,對於統計決策函數、統計推斷、統計的估算等做出了貢獻。貝葉斯思想和方法對概率統計的發展產生了深遠的影響。今天,貝葉斯思想和方法在許多領域都獲得了廣泛的應用。從二十世紀20~30年代開始,概率統計學出現了「頻率學派」和「貝葉斯學派」的爭論,至今,兩派的恩恩怨怨仍在繼續。貝葉斯決策理論是主觀貝葉斯派歸納理論的重要組成部分。
  • 解讀實踐中最廣泛應用的分類模型:樸素貝葉斯算法
    貝葉斯模型在機器學習以及人工智慧中都有出現,cherry 分類器使用了樸素貝葉斯模型算法,經過簡單的優化,使用 1000 個訓練數據就能得到 97.5% 的準確率。雖然現在主流的框架都帶有樸素貝葉斯模型算法,大多數開發者只需要直接調用 api 就能使用。但是在實際業務中,面對不同的數據集,必須了解算法的原理,實現以及懂得對結果進行分析,才能達到高準確率。
  • 硬幣到底是正面還是反面,關於貝葉斯概率的思考
    歷史文章回顧:心理經濟學之常見概念說明心理經濟學之二 直覺思維和理性思維行為經濟學中反直覺的概率故事吸菸和禽流感哪個危害更大--被忽略的基礎比率貝葉斯定理,讓你「大吃一驚」的概率前一篇文章已經介紹了貝葉斯定理的概念,並且舉例說明貝葉斯定理的反直覺之處。那麼貝葉斯定理是否是否就是萬能的呢?世界真的都是反直覺的嗎?