機器學習:最大似然估計與最大后驗概率估計

在機器學習領域,概率估計是經常用到的一種模型,而概率估計中,我們經常會看到兩種估計模型,一種是最大似然估計,即 Maximum likelihood, 另外一種就是最大后驗概率估計,即 Maximum posterior , 兩種模型可以由貝葉斯定理演化而來。

在介紹這兩種模型之前,我們先來看一下貝葉斯定理:

p(w|D)=p(D|w)p(w)p(D)

這里,D 表示觀察到的數據,而 w 表示我們要求的變量或者參數。我們來看看貝葉斯定理中,每一項所表示的含義:
p(D) 表示數據的概率分布
p(w) 表示參數w 的概率分布,一般稱為先驗概率分布,因為我們本意是要求 w 的,所以理論上來說,我們無法事先確切地知道 w 的概率分布,但是我們可以給出一個大概的經驗估計,所以稱為先驗分布 prior distribution。
p(D|w) 表示似然函數 likelihood function。
p(w|D) 表示后驗概率分布 posterior distribution。

p(D|w) 表示了一種 “似然率”, 對于不同的參數w, 我們觀測到數據D 的概率是不同的, 最大似然估計, 就是找到 w, 使得我們觀測到數據D 的概率最大。所以最大似然估計可以表示為:

maxwp(D|w)

p(w|D) 表示后驗概率,如果給定了觀測數據, 我們可以推測參數w 的概率分布, 根據貝葉斯定理,我們可以看出:

posteriorlikelihood×prior

即:

p(w|D)p(D|w)×p(w)

而貝葉斯定理中的分母 p(D) 是一個歸一化變量, 可以看出

p(D)=p(D|w)p(w)dw

換句話說,后驗概率與似然函數和先驗概率之積是成比例的。

我們可以看到,無論是最大似然估計還是最大后驗概率估計,似然函數都發揮著重要作用。但這兩種估計,反應了兩種觀點。最大似然估計是古典統計學派的觀點,古典統計學派認為,參數w 是固定的,可以通過觀測到的數據直接求出來。而最大后驗概率估計是貝葉斯學派的觀點,貝葉斯學派認為,只有數據是可見的,參數w 也是不固定的,而是滿足一定概率分布 p(w|D) 的。

這兩種模型,孰優孰劣,一直以來都是莫衷一是,未有定論。最大似然估計被人詬病之處是估計存在bias,在某些極端情況下,是違反經驗與直覺的。最大后驗概率估計可以有效地減弱這種bias,但是最大后驗概率需要引入先驗概率分布 p(w), 所以最大后驗概率估計的效果,也取決于先驗概率的設定,一個糟糕的先驗概率將會導致一個糟糕的后驗概率估計。

>
Andrew Ng, “Machine Learning”, Stanford University.
C.M.Bishop, “Pattern Recognition and Machine Learning”.

轉載于:https://www.cnblogs.com/mtcnn/p/9412495.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/457874.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/457874.shtml
英文地址,請注明出處:http://en.pswp.cn/news/457874.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ubuntu14.04安裝git

參考教程:git介紹:安裝,使用,創建分支 安裝的方法有兩種,一種直接是通過ubuntu的APT安裝,這種方法最簡便,缺點是版本可能不是最新的。所有還有另一種方法是下載源碼進行安裝,這種能…

微軟是如何戲耍程序員們的

2019獨角獸企業重金招聘Python工程師標準>>> 別用微軟的東西。商業目的性太強,千萬別被微軟牽著鼻子走,血淋淋的教訓。微軟推出的垃圾多了去了。它什么都想做,很多都沒做好: MFC:Win31時代出生,…

3d立體相冊特效html網頁代碼_新聞類網頁正文通用抽取器

項目起源開發這個項目,源自于我在知網發現了一篇關于自動化抽取新聞類網站正文的算法論文——《基于文本及符號密度的網頁正文提取方法》這篇論文中描述的算法看起來簡潔清晰,并且符合邏輯。但由于論文中只講了算法原理,并沒有具體的語言實現…

ubuntu14.04安裝 R16 Tina Linux SDK

第一步:由于是14.04系統所以這樣$sudo -i $cd /etc/apt/sources.list.d $echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" > ia32-libs-raring.list $apt-get update $apt-get install ia32-libs $r…

分答

用戶在分答上可以自我介紹或描述擅長的領域,設置付費問答的價格,其他用戶感興趣就可以付費向其提問。分答的收入分配機制增加了信息的價值,分答中信息接收者被區分成了兩種身份。首先提問的人是一種付費懸賞模式,當回答完畢內容沉…

字節數組轉換為圖片_每日一課 | Python 3 TypeError:無法將“字節”對象隱式轉換為str...

將Python 2套接字示例轉換為Python 3whois.py import sysimport sockets socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.connect(("whois.arin.net", 43))s.send((sys.argv[1] "\r\n").encode())response ""while True: data s.re…

php版redis插件,SSDB數據庫,增強型的Redis管理api實例

php版redis插件,SSDB數據庫,增強型的Redis管理api實例 SSDB是一套基于LevelDB存儲引擎的非關系型數據庫(NOSQL),可用于取代Redis,更適合海量數據的存儲。另外,rocksdb是FB在LevelDB的二次開發版本,因此也存…

加速度計和陀螺儀數據融合

本帖翻譯自 IMU(加速度計和陀螺儀設備)在嵌入式應用中使用的指南。這篇文章主要介紹加速度計和陀螺儀的數學模型和基本算法,以及如何融合這兩者,側重算法、思想的討論介紹本指南旨在向興趣者介紹慣性MEMS(微機電系統&a…

循環嵌套練習題

//BOSS://讓用戶輸入一個奇數,打印菱形,最長的行內容個數為用戶輸入的個數,并且由英文字母拼接而成//比如用戶輸入了7// A// ABA// ABCBA// ABCDCBA// ABCBA// ABA// A//1、接收并判斷用戶輸入的是不是數字 try{#region 解法一…

python leetcode_leetcode 介紹和 python 數據結構與算法學習資料

for (剛入門的編程)的高中 or 大學生leetcode 介紹leetcode 可以說是 cs 最核心的一門“課程”了,雖然不是大學開設的,但基本上每一個現代的高水平的程序員都修過這門“課程”(或者類似的課程,比如數據結構…

平衡小車卡爾曼濾波算法

最近研究STM32的自平衡小車,發現有兩座必過的大山,一為卡爾曼濾波,二為PID算法。 網上看了很多關于卡爾曼濾波的代碼,感覺寫得真不咋地。一怒之下,自己重寫,不廢話,貼代碼 [pre lang"C&quo…

IOS 為UILabel添加長按復制功能

IOS 為UILabel添加長按復制功能 在iOS中下面三個控件,自身就有復制-粘貼的功能: 1、UITextView 2、UITextField 3、UIWebView UIKit framework提供了幾個類和協議方便我們在自己的應用程序中實現剪貼板的功能。 1、UIPasteboard:我們可以向其…

navicat 的查詢功能

navicat的查詢的位置在&#xff1a; 在編輯器界面寫代碼&#xff0c;代碼完成后點左上角的運行。 代碼&#xff1a; create&#xff08;創建&#xff09; table&#xff08;一個表&#xff09; <xxx>尖括號內的內容必填——我要創建并查詢一個名叫做xxx的表 &#xff08…

c++ sleep函數_Linux 多線程應用中如何編寫安全的信號處理函數

關于代碼的可重入性&#xff0c;設計開發人員一般只考慮到線程安全&#xff0c;異步信號處理函數的安全卻往往被忽略。本文首先介紹如何編寫安全的異步信號處理函數&#xff1b;然后舉例說明在多線程應用中如何構建模型讓異步信號在指定的線程中以同步的方式處理。Linux 多線程…

css特殊情況

如果一個父級div和一個子級div&#xff0c;要給父級div加&#xff08;opacity&#xff09;透明度那子級div也會繼承父級元素的透明度。那給父級元素加透明度就不用opacity加透明度&#xff0c;使用background:rgba(120,120,120,0.7);實現效果&#xff0c;r,g,b分別代表紅&#…

CoreAnimation (CALayer 動畫)

CoreAnimation基本介紹&#xff1a; CoreAnimation動畫位于iOS框架的Media層CoreAnimation動畫實現需要添加QuartzCore.FrameworkCoreAnimation基本上是LayerAnimationCoreAnimation分類&#xff1a; CoreAnimation作用&#xff1a; CoreAnimation CALayer基本介紹 CALayer的常…

匯編為什么分段執行總是執行不了_iOS匯編教程(六)CPU 指令重排與內存屏障...

系列文章iOS 匯編入門教程(一)ARM64 匯編基礎iOS 匯編入門教程(二)在 Xcode 工程中嵌入匯編代碼iOS 匯編入門教程(三)匯編中的 Section 與數據存取iOS 匯編教程(四)基于 LLDB 動態調試快速分析系統函數的實現iOS 匯編教程(五)Objc Block 的內存布局和匯編表示前言具有 ARM 體系…

GD32 使用stm32 固件庫

1、 系統 1) 晶振起振區別 描述&#xff1a;啟動時間&#xff0c;GD32 與STM32 啟動時間都是2ms&#xff0c;實際上GD 的執行效率快&#xff0c;所以ST 的HSE_STARTUP_TIMEOUT ((uint16_t)0x0500)是2ms&#xff0c;但是這個宏定義值在GD 上時間就更加短了&#xff0c;所以要加大…

干將莫邪

干將莫邪也為凡鐵鑄成&#xff0c;只是善加鍛造、融入心神&#xff0c;而成上古神兵。寶劍從來都是雙刃&#xff0c;正邪之道&#xff0c;存乎一心。

js反混淆還原工具_SATURN反混淆框架

本文為看雪論壇精華文章看雪論壇作者ID&#xff1a;夢野間摘要&#xff1a;近幾年&#xff0c;軟件的混淆強度一直在不斷提升。基于編譯器的混淆已經成為業界事實上的標準&#xff0c;最近的一些論文也表明軟件的保護方式使用的是編譯器級別的混淆。在這篇文章中&#xff0c;我…