AI算法连载04:数学基础之蒙特卡洛方法与MCMC采样
相關文章:
AI算法連載01:數學基礎之線性代數
AI算法連載02:概率論基礎
AI算法連載03:數學基礎之數值計算
導語:不懂算法的工程師做不了AI,不懂算法的產品經理將把AI帶入泥潭。
一、前言
在人工智能AI如火如荼的大潮下,越來越多的工程師們意識到算法是AI的核心。而面對落地的應用,不懂算法的AI產品經理將是空談,不僅無法與工程師溝通,更無法深刻理解應用的性能與方式。所以業界逐漸形成一種共識:
不懂算法的工程師做不了AI,不懂算法的產品經理將把AI帶入泥潭。
而其實,AI算法沒有想象的那么難,為此,機器人網整理了一整套AI算法知識,包括:
從最基本的數學基礎,譬如線性代數、概率論、牛頓法等數值計算、蒙特卡洛方法與MCMC采樣等;
到統計學,如:機器學習、向量、貝葉斯定理、決策樹、梯度、模型評估、降維、聚類、邊際、模型等等;
再到深度學習,如:前饋神經網絡、反向傳播算法、卷積升級網絡、CNN圖片分類、循環神經網絡等等;
以及自然語言處理NLP等等;
還有AI算法中的各種工具和模型。
我們將把這些AI基礎理論和算法以連載的形式在機器人網公眾號和網站上發布,供AI愛好者免費學習。
本次連載將歷時一月有余,通過這一個月的學習,AI初學者也將可能躍變成AI大神,進入未來二十年科技的金字塔尖。
當然,這需要你的堅持、專注,和努力。感興趣的同學可以關注我們,并加微信(Aspencore6)入群分享交流。
?
二、理論理解與數學基礎
蒙特卡洛方法與MCMC采樣
作為一種隨機采樣方法,馬爾科夫鏈蒙特卡羅(Markov Chain Monte Carlo,以下簡稱MCMC)在機器學習,深度學習以及自然語言處理等領域都有廣泛的應用,是很多復雜算法求解的基礎。比如分解機(Factorization Machines)推薦算法,還有受限玻爾茲曼機(RBM)原理總結,都用到了MCMC來做一些復雜運算的近似求解。
從名字我們可以看出,MCMC由兩個MC組成,即蒙特卡羅方法(Monte Carlo Simulation,簡稱MC)和馬爾科夫鏈(Markov Chain ,也簡稱MC)。要弄懂MCMC的原理我們首先得搞清楚蒙特卡羅方法和馬爾科夫鏈的原理。
蒙特卡羅原來是一個賭場的名稱,用它作為名字大概是因為蒙特卡羅方法是一種隨機模擬的方法,這很像賭博場里面的扔骰子的過程。最早的蒙特卡羅方法都是為了求解一些不太好求解的求和或者積分問題。
蒙特卡羅方法的關鍵是得到xx的概率分布。如果求出了xx的概率分布,我們可以基于概率分布去采樣基于這個概率分布的n個xx的樣本集,帶入蒙特卡羅求和的式子即可求解。但是還有一個關鍵的問題需要解決,即如何基于概率分布去采樣基于這個概率分布的n個xx的樣本集。
不過很多時候,我們的xx的概率分布不是常見的分布,這意味著我們沒法方便的得到這些非常見的概率分布的樣本集。那這個問題怎么解決呢?
?
對于概率分布不是常見的分布,一個可行的辦法是采用接受-拒絕采樣來得到該分布的樣本。既然?p(x)p(x)?太復雜在程序中沒法直接采樣,那么我設定一個程序可采樣的分布?q(x)q(x)?比如高斯分布,然后按照一定的方法拒絕某些樣本,以達到接近?p(x)p(x)?分布的目的,其中q(x)q(x)叫做 proposal distribution。
整個過程中,我們通過一系列的接受拒絕決策來達到用q(x)q(x)模擬p(x)p(x)概率分布的目的。
?
使用接受-拒絕采樣,我們可以解決一些概率分布不是常見的分布的時候,得到其采樣集并用蒙特卡羅方法求和的目的。但是接受-拒絕采樣也只能部分滿足我們的需求,在很多時候我們還是很難得到我們的概率分布的樣本集。比如:
1)對于一些二維分布p(x,y)p(x,y),有時候我們只能得到條件分布p(x|y)p(x|y)和p(y|x)p(y|x)和,卻很難得到二維分布p(x,y)p(x,y)一般形式,這時我們無法用接受-拒絕采樣得到其樣本集。
2)對于一些高維的復雜非常見分布p(x1,x2,...,xn)p(x1,x2,...,xn),我們要找到一個合適的q(x)q(x)和kk非常困難。
?
從上面可以看出,要想將蒙特卡羅方法作為一個通用的采樣模擬求和的方法,必須解決如何方便得到各種復雜概率分布的對應的采樣樣本集的問題。而我們下一篇要講到的馬爾科夫鏈就是幫助找到這些復雜概率分布的對應的采樣樣本集的白衣騎士。下一篇我們將總結馬爾科夫鏈的原理。
?
三、具體算法
?
?
?
?
?
?
?
?
?
本文理論部分部分引用了劉建平Pinard的博客:https://www.cnblogs.com/pinard/p/6625739.html。
本文算法部分作者華校專,曾任阿里巴巴資深算法工程師、智易科技首席算法研究員,現任騰訊高級研究員,《Python 大戰機器學習》的作者。這是作者多年以來學習總結的筆記,經整理之后開源于世??紤]到出版時間周期較長,而且書本購買成本高不利于技術廣泛傳播,因此作者采取開源的形式。筆記內容僅供個人學習使用,非本人同意不得應用于商業領域。
————
編輯?∑Gemini
?來源:機器人
?泰勒定理的奇聞軼事
?丘成桐:漫談微分幾何
?Leibniz 如何想出微積分?(一)
?線性相關和秩的物理意義
?數學史上你認為最丑陋的公式是什么?
?陶哲軒談什么是好的數學
?田淵棟:數學的用處(下篇)
?你絕對沒想過原來數學家這么流氓,一言不合就進行暴力證明
?世界上最牛的五篇博士論文
?數學中有哪些巧合讓人眼前一亮?
?算法立功!清華畢業教授美國被搶車,警察無能為力自己用“貪心算法”找回
?學術史上的奇文:怎樣用數學抓獅子
?臺大教授的反思:最難的一課 我們卻沒教給學生
?麻省理工學院(MIT)研究生學習指導—— 怎樣做研究生
?分享 數學,常識和運氣 ——投資大師詹姆斯·西蒙斯2010年在MIT的講座
算法數學之美微信公眾號歡迎賜稿
稿件涉及數學、物理、算法、計算機、編程等相關領域,經采用我們將奉上稿酬。
投稿郵箱:math_alg@163.com
總結
以上是生活随笔為你收集整理的AI算法连载04:数学基础之蒙特卡洛方法与MCMC采样的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 哈尔莫斯:怎样做数学研究
- 下一篇: 泰晤士高等教育亚洲大学排行榜发布:清华登