在人工智慧AI如火如荼的大潮下,越來越多的工程師們意識到算法是AI的核心。而面對落地的應用,不懂算法的AI產品經理將是空談,不僅無法與工程師溝通,更無法深刻理解應用的性能與方式。所以業界逐漸形成一種共識:i1yEETC-電子工程專輯
不懂算法的工程師做不了AI,不懂算法的產品經理將把AI帶入泥潭。i1yEETC-電子工程專輯
i1yEETC-電子工程專輯
而其實,AI算法沒有想像的那麼難,為此,機器人網整理了一整套AI算法知識,包括:i1yEETC-電子工程專輯
從最基本的數學基礎,譬如線性代數、概率論、牛頓法等數值計算、蒙特卡洛方法與MCMC採樣等;i1yEETC-電子工程專輯
到統計學,如:機器學習、向量、貝葉斯定理、決策樹、梯度、模型評估、降維、聚類、邊際、模型等等;i1yEETC-電子工程專輯
再到深度學習,如:前饋神經網絡、反向傳播算法、卷積升級網絡、CNN圖片分類、循環神經網絡等等;i1yEETC-電子工程專輯
以及自然語言處理NLP等等;i1yEETC-電子工程專輯
還有AI算法中的各種工具和模型。i1yEETC-電子工程專輯
i1yEETC-電子工程專輯
我們將把這些AI基礎理論和算法以連載的形式在機器人網公眾號和網站上發布,供AI愛好者免費學習。i1yEETC-電子工程專輯
本次連載將歷時一月有餘,通過這一個月的學習,AI初學者也將可能躍變成AI大神,進入未來二十年科技的金字塔尖。i1yEETC-電子工程專輯
當然,這需要你的堅持、專注,和努力。感興趣的同學可以關注我們,並加微信(Aspencore6)入群分享交流。i1yEETC-電子工程專輯
i1yEETC-電子工程專輯
蒙特卡洛方法與MCMC採樣i1yEETC-電子工程專輯
i1yEETC-電子工程專輯
作為一種隨機採樣方法,馬爾科夫鏈蒙特卡羅(Markov Chain Monte Carlo,以下簡稱MCMC)在機器學習,深度學習以及自然語言處理等領域都有廣泛的應用,是很多複雜算法求解的基礎。比如分解機(Factorization Machines)推薦算法,還有受限玻爾茲曼機(RBM)原理總結,都用到了MCMC來做一些複雜運算的近似求解。i1yEETC-電子工程專輯
i1yEETC-電子工程專輯
從名字我們可以看出,MCMC由兩個MC組成,即蒙特卡羅方法(Monte Carlo Simulation,簡稱MC)和馬爾科夫鏈(Markov Chain ,也簡稱MC)。要弄懂MCMC的原理我們首先得搞清楚蒙特卡羅方法和馬爾科夫鏈的原理。i1yEETC-電子工程專輯
i1yEETC-電子工程專輯
蒙特卡羅原來是一個賭場的名稱,用它作為名字大概是因為蒙特卡羅方法是一種隨機模擬的方法,這很像賭博場裡面的扔骰子的過程。最早的蒙特卡羅方法都是為了求解一些不太好求解的求和或者積分問題。i1yEETC-電子工程專輯
i1yEETC-電子工程專輯
蒙特卡羅方法的關鍵是得到的概率分布。如果求出了的概率分布,我們可以基於概率分布去採樣基於這個概率分布的n個的樣本集,帶入蒙特卡羅求和的式子即可求解。但是還有一個關鍵的問題需要解決,即如何基於概率分布去採樣基於這個概率分布的n個的樣本集。i1yEETC-電子工程專輯
i1yEETC-電子工程專輯
不過很多時候,我們的的概率分布不是常見的分布,這意味著我們沒法方便的得到這些非常見的概率分布的樣本集。那這個問題怎麼解決呢?i1yEETC-電子工程專輯
i1yEETC-電子工程專輯
對於概率分布不是常見的分布,一個可行的辦法是採用接受-拒絕採樣來得到該分布的樣本。既然 太複雜在程序中沒法直接採樣,那麼我設定一個程序可採樣的分布 比如高斯分布,然後按照一定的方法拒絕某些樣本,以達到接近 分布的目的,其中叫做 proposal distribution。i1yEETC-電子工程專輯
整個過程中,我們通過一系列的接受拒絕決策來達到用模擬概率分布的目的。i1yEETC-電子工程專輯
i1yEETC-電子工程專輯
使用接受-拒絕採樣,我們可以解決一些概率分布不是常見的分布的時候,得到其採樣集並用蒙特卡羅方法求和的目的。但是接受-拒絕採樣也只能部分滿足我們的需求,在很多時候我們還是很難得到我們的概率分布的樣本集。比如:i1yEETC-電子工程專輯
1)對於一些二維分布,有時候我們只能得到條件分布和和,卻很難得到二維分布一般形式,這時我們無法用接受-拒絕採樣得到其樣本集。i1yEETC-電子工程專輯
2)對於一些高維的複雜非常見分布,我們要找到一個合適的和非常困難。i1yEETC-電子工程專輯
i1yEETC-電子工程專輯
從上面可以看出,要想將蒙特卡羅方法作為一個通用的採樣模擬求和的方法,必須解決如何方便得到各種複雜概率分布的對應的採樣樣本集的問題。而我們下一篇要講到的馬爾科夫鏈就是幫助找到這些複雜概率分布的對應的採樣樣本集的白衣騎士。下一篇我們將總結馬爾科夫鏈的原理。i1yEETC-電子工程專輯
i1yEETC-電子工程專輯
i1yEETC-電子工程專輯
i1yEETC-電子工程專輯
i1yEETC-電子工程專輯
i1yEETC-電子工程專輯
i1yEETC-電子工程專輯
i1yEETC-電子工程專輯
i1yEETC-電子工程專輯
i1yEETC-電子工程專輯
i1yEETC-電子工程專輯
i1yEETC-電子工程專輯
i1yEETC-電子工程專輯
i1yEETC-電子工程專輯
i1yEETC-電子工程專輯
i1yEETC-電子工程專輯
i1yEETC-電子工程專輯
i1yEETC-電子工程專輯
i1yEETC-電子工程專輯
i1yEETC-電子工程專輯
i1yEETC-電子工程專輯
i1yEETC-電子工程專輯
本文理論部分部分引用了劉建平Pinard的博客:https://www.cnblogs.com/pinard/p/6625739.html。i1yEETC-電子工程專輯
本文算法部分作者華校專,曾任阿里巴巴資深算法工程師、智易科技首席算法研究員,現任騰訊高級研究員,《Python 大戰機器學習》的作者。這是作者多年以來學習總結的筆記,經整理之後開源於世。考慮到出版時間周期較長,而且書本購買成本高不利於技術廣泛傳播,因此作者採取開源的形式。 筆記內容僅供個人學習使用,非本人同意不得應用於商業領域。i1yEETC-電子工程專輯
i1yEETC-電子工程專輯