日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

贝叶斯线性回归方法的解释和优点

發(fā)布時間:2024/8/23 编程问答 65 豆豆
生活随笔 收集整理的這篇文章主要介紹了 贝叶斯线性回归方法的解释和优点 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文對比了頻率線性回歸和貝葉斯線性回歸兩種方法,并對后者進行了詳細的介紹,分析了貝葉斯線性回歸的優(yōu)點和直觀特征。


我認為貝葉斯學派和頻率學派之間的紛爭是「可遠觀而不可褻玩」的學術爭論之一。與其熱衷于站隊,我認為同時學習這兩種統(tǒng)計推斷方法并且將它們應用到恰當?shù)膱鼍爸聲痈挥谐尚?。出于這種考慮,最近我努力學習和應用貝葉斯推斷方法,補充學校課程所學的頻率統(tǒng)計方法。


貝葉斯線性模型是我最早對應用貝葉斯推斷的關注點之一。在我們學習的過程中,最重要的部分也許就是將一個概念介紹給別人。本文是我介紹貝葉斯線性回歸的一次嘗試。我會對線性回歸的頻率派方法做一個簡要的回顧,介紹貝葉斯解釋(Bayesian interpretation),并查看將其應用于簡單數(shù)據(jù)集的結果。


代碼地址:https://github.com/WillKoehrsen/Data-Analysis/blob/master/bayesian_lr/Bayesian%20Linear%20Regression%20Demonstration.ipynbRecap of Frequentist Linear Regression


回顧頻率派線性回歸


線性回歸的頻率派視角可能是你所熟悉的、從學校學到的版本:模型假設反應變量(y,也稱因變量)是一組權重和預測變量(x,也稱自變量)乘積的線性組合。完整的公式還包含一個代表隨機采樣噪聲的誤差項。例如,如果我們有兩個預測變量,公式可以寫成:


其中,y 是反應變量(也被稱為因變量),β 為權重(也被稱為模型參數(shù)),x 為預測變量,ε 為代表隨機采樣噪聲的誤差項或者沒有被包含在模型中的變量的影響。


線性回歸是一個易于解釋的簡單模型: β_0 是截距項,其它的權重(β's)表示預測變量的增加對反應變量的影響。例如:如果 β_1 為 1.2,那么 x_1 每增加一個單位,反應變量就會增加 1.2。


我們可以通過矩陣方程將線性模型泛化到有任意數(shù)量預測變量的情況。將一個值為 1 的常量項添加到預測變量矩陣中代表截距,這樣我們就可以將矩陣公式寫成:



從訓練數(shù)據(jù)中學習線性模型的目標是找出系數(shù) β,該系數(shù)能夠最好地解釋數(shù)據(jù)。在頻率派線性回歸中,對數(shù)據(jù)最好的解釋指的是系數(shù) β 能夠最小化殘差平方和(RSS)。RSS 是已知的真實值(y)和預測模型的輸出(?,讀作「y—hat」,表示一個估計值)之間差的平方的總和。殘差平方和是關于模型參數(shù)的函數(shù):



這個求和涵蓋了訓練集中的 N 個數(shù)據(jù)點。我們在此并不深究細節(jié)(參考資料:http://www.stat.cmu.edu/~cshalizi/mreg/15/lectures/13/lecture-13.pdf),不過該方程具備模型參數(shù)β的封閉解,能夠最小化誤差。這就是對參數(shù) β 的最大似然估計,因為它是在給定輸入 X 和輸出 y 的條件下最有可能的 β 值。矩陣形式表達的封閉解如下:



(同樣地,我們必須給 β 加一個「帽子」,因為它代表對模型參數(shù)的估計值。)別被這里的矩陣數(shù)學嚇倒了!得益于像 Python 中的 Scikit-learn 這樣的庫,我們通常不需要對其進行手動的計算(盡管自己編寫一個線性回歸的代碼是很好的做法)。這種通過最小化 RSS 來擬合模型參數(shù)的方法被稱為普通最小二乘法(OLS)。


我們從頻率線性回歸中得到的是僅僅基于訓練數(shù)據(jù)的對模型參數(shù)的單次估計。我們的模型是完全通過數(shù)據(jù)訓練出來的:這樣看來,我們所需要的所有關于模型的信息都被編碼在了訓練數(shù)據(jù)中。


當?shù)玫搅?β hat 后,我們可以通過使用模型的等式來估計任意新數(shù)據(jù)點的輸出值:



舉一個最小二乘法的例子,我們可以對真實世界中的數(shù)據(jù)進行線性回歸,數(shù)據(jù)中包含對 15,000 次運動的持續(xù)時間和燃燒的卡路里的觀測值。




通過最小二乘法,我們得到了對模型參數(shù)的單次估計。在這個例子中,參數(shù)是直線的截距和斜率。我們可以寫出通過 OLS 生成的方程:


calories = -21.83 + 7.17 * duration


從斜率上,我們可以看到每多鍛煉一分鐘就會額外消耗 7.17 卡路里的熱量。這個例子中的截距貌似沒有什么作用,因為它告訴我們?nèi)绻\動 0 分鐘,我們會消耗 -21.86 卡路里!這只是一個 OLS 擬合過程的案例,在不考慮它的物理意義是否說得通的情況下,它找到了在訓練數(shù)據(jù)集上最小化誤差的直線。


如果有一個新的數(shù)據(jù)點,假設運動持續(xù)時間為 15.5 分鐘,我們可以將它帶入到方程中得到消耗的卡路里的點估計:


calories = -21.83 + 7.17 * 15.5 = 89.2


普通最小二乘法給了我們對輸出的單次點估計,我們可以將其解釋為給定數(shù)據(jù)時可能性最大的估計。然而,如果有一個很小的數(shù)據(jù)集,我們可能希望將估計表示為一個可能值的分布。這就是貝葉斯估計起作用的地方。


貝葉斯線性回歸


從貝葉斯學派的觀點來看,我們使用概率分布而非點估計來構建線性回歸。反應變量 y 不是被估計的單個值,而是假設從一個正態(tài)分布中提取而來。貝葉斯線性回歸模型如下:



輸出 y 是從一個由均值和方差兩種特征刻畫的正態(tài)(高斯)分布生成的。線性回歸的均值是權重矩陣的轉置和預測變量矩陣之積。方差是標準差 σ 的平方(乘以單位矩陣,因為這是模型的多維表示)。


貝葉斯線性回歸的目的不是找到模型參數(shù)的單一「最佳」值,而是確定模型參數(shù)的后驗分布。不僅響應變量是從概率分布中生成的,而且假設模型參數(shù)也來自于概率分布。模型參數(shù)的后驗分布是以訓練的輸入和輸出作為條件的。




其中,P(β|y, X) 是給定輸入和輸出時的模型參數(shù)的后驗概率分布。它等于輸出的似然 P(y|β, X) 乘以給定輸入的參數(shù) β 的先驗概率 P(β|X) 并且除以歸一化常數(shù)。這是貝葉斯定理的一個簡單表達形式,是支撐貝葉斯推斷的基礎。




讓我們稍微停下腳步,想想這意味著什么。與 OLS 相比,我們有一個模型參數(shù)的后驗分布,它與數(shù)據(jù)的似然和參數(shù)的先驗概率的乘積成正比。在此,我們可以看到貝葉斯線性回歸主要的兩個好處。


  • 先驗分布:如果具備領域知識或者對于模型參數(shù)的猜測,我們可以在模型中將它們包含進來,而不是像在線性回歸的頻率方法那樣:假設所有關于參數(shù)的所需信息都來自于數(shù)據(jù)。如果事先沒有沒有任何的預估,我們可以為參數(shù)使用無信息先驗,比如一個正態(tài)分布。

  • 后驗分布:使用貝葉斯線性回歸的結果是一個基于訓練數(shù)據(jù)和先驗概率的模型參數(shù)的分布。這使得我們能夠量化對模型的不確定性:如果我們擁有較少的數(shù)據(jù)點,后驗分布將更加分散。


  • 隨著數(shù)據(jù)點的增加,似然會降低先驗的影響,當我們有無限的數(shù)據(jù)時,輸出的參數(shù)會收斂到從 OLS 方法獲得的值。


    將模型參數(shù)作為概率分布的公式反映了貝葉斯學派的世界觀:我們從最初的估計和先驗分布開始,并隨著收集到更多的證據(jù),模型會變得更少犯錯。貝葉斯推理是我們直覺的自然延伸。通常,我們有一個初始的假設,并且隨著收集到那些或支持、或否定想法的數(shù)據(jù)越來越多,我們對于世界的模型將會發(fā)生改變(理想情況下,這就是我們進行推理的方式)。


    實現(xiàn)貝葉斯線性回歸


    實際上,對于連續(xù)變量來說,估算模型參數(shù)的后驗分布是很困難的。因此我們采用抽樣方法從后驗分布中抽取樣本,用來對后驗分布取近似。從分布中抽取隨機樣本來近似估計分布的技術是蒙特卡洛方法的應用之一。我們有許多蒙特卡洛抽樣的算法,其中最常用的是馬爾可夫鏈蒙特卡洛的變體。


    貝葉斯線性模型的應用


    我將跳過本文的代碼部分(請參閱 PyMC3 中的代碼實現(xiàn)),但是實現(xiàn)貝葉斯回歸的基本流程是:指定模型參數(shù)的先驗(在這個例子中我使用正態(tài)分布),創(chuàng)建將訓練數(shù)據(jù)中的輸入映射到輸出的模型,接著用一個馬爾可夫鏈蒙特卡洛(MCMC)算法從模型參數(shù)的后驗分布中抽取樣本。最終的結果是參數(shù)的后驗分布。我們可以查看這些得到的分布,看看究竟發(fā)生了什么!


    第一張圖展示了模型參數(shù)后驗分布的近似。這些是 MCMC 進行了 1000 步的結果,表示算法從后驗分布中采樣了 1000 步。




    如果我們將斜率和結局的平均值和通過 OLS 得到的相比(OLS 得到的截距為 -21.83 且斜率為 7.17),我們看到這二者得到的結果極為相似。然而,盡管可以使用均值作為一個單次的點估計,但我們還擁有一系列模型參數(shù)可能的值。隨著數(shù)據(jù)點數(shù)量的增加,這個范圍將會縮小并且收斂到一個確切的值,表示對模型參數(shù)有更大的置信度(在貝葉斯推斷中,一個變量的范圍被稱為可信區(qū)間,這與頻率推斷中的置信區(qū)間的解釋稍稍有些不同)。


    當我們想要展示從貝葉斯模型中得到的線性擬合效果時,我們可以畫出一系列的直線,每條線代表對于模型參數(shù)的不同的估計,而并非僅僅顯示估計值。隨著數(shù)據(jù)點的數(shù)目增加,這些直線開始重疊在一起,因為模型參數(shù)的不確定性降低了。


    為了顯示數(shù)據(jù)點的數(shù)目在模型中的影響,我使用了兩個模型。第一個模型的結果顯示在左邊,它使用了 500 個數(shù)據(jù)點;而右圖所示的模型使用了 15,000 個數(shù)據(jù)點。每張圖都顯示了從模型參數(shù)的后驗概率中抽樣得到的 100 個可能的模型。



    使用 500 個(左圖)觀測值和 15,000 個(右圖)觀測值的貝葉斯線性回歸模型的結果


    在使用更少的數(shù)據(jù)點時,線性擬合的變化更大,這代表著模型中更大的不確定性。有了所有的數(shù)據(jù)點,OLS 和貝葉斯模型的擬合結果幾乎是一樣的,因為先驗的影響被數(shù)據(jù)中的似然降低了。


    當使用我們的貝葉斯線性模型預測單個數(shù)據(jù)點的輸出時,我們?nèi)匀徊皇堑玫絾我坏闹?#xff0c;而是一個分布。下面是 15.5 分鐘的運動所消耗的卡路里的概率密度圖。紅色的垂直線代表 OLS 的估計值。



    從貝葉斯模型中得到的消耗卡路里的后驗概率密度


    我們看到,消耗掉的卡路里在 89.3 左右的達到概率的峰值,但是完整的估計是一系列的可能值。


    結論


    與其在貝葉斯學派和頻率學派的討論(或者爭論)中站在任何一方,同時學習這兩種方法才是更加有益的。這樣的話,我們就可以在正確的情況下應用它們。


    在擁有有限的數(shù)據(jù)或者想要在模型中使用先驗知識的問題中,貝葉斯線性回歸方法可以同時引入先驗信息并且顯示不確定性。貝葉斯線性回歸反映了貝葉斯學派處理問題的框架:我們先構造一個初始的估計,并且隨著收集到更多的數(shù)據(jù),不斷改進估計。貝葉斯觀點是一種直觀的看待世界的方法,并且貝葉斯推斷可以成為相應的頻率推斷的實用的替代方法。數(shù)據(jù)科學并不是選邊站,而是要找出最適合這份工作的工具,并且掌握更多的技能只會讓你更有效率!

    ∑編輯?|?Gemini

    來源 | TowardsDataScience 機器之心編譯


    算法數(shù)學之美微信公眾號歡迎賜稿

    稿件涉及數(shù)學、物理、算法、計算機、編程等相關領域

    經(jīng)采用我們將奉上稿酬。

    投稿郵箱:math_alg@163.com

    總結

    以上是生活随笔為你收集整理的贝叶斯线性回归方法的解释和优点的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。