1. 程式人生 > >【ML經典書籍系列1】解讀PRML

【ML經典書籍系列1】解讀PRML

本書第8章之前的生成模型都是很簡單的,就是一個基本概率分佈加一個先驗。第8章之後,講了對基本模型的混合和時序擴充套件,其實各種概率生成模型就是這兩個東西拼起來的,無非就是時序擴充套件一般就是用馬爾科夫性,共享成分一般就用混合,更進一步用更多層次的混合

4.
本書重點和圖模型的相關演算法
1)
引數的似然估計(除了普通的梯度優化、牛頓,還有強大的EM。注意,即使是貝葉斯模型,還是有引數的,就算叫超引數,還是要估計的。就算為它再加先驗,但是先驗裡的引數還是要算。這裡不考慮加無資訊先驗)這塊基本相關的書都講,PRML講的也算比較清晰的。 EM是單獨拿了一章講,因為確實太重要了,理解了EM,很多論文的訓練演算法就能看懂了。個人在
ML領域覺得最漂亮的演算法就是EM,純個人喜好。
2)
求變數的後驗概率這個算是重點之一,每一章都有涉及,但是如果情況較簡單,一個貝葉斯條件概率公式就能求出來,那就沒這麼多理論了,可是因為條件概率裡面那個分母,需要把變數積分掉,這導致分佈沒法算了。所以有一些估計的演算法。11 12章都是講這個的。前面某章還介紹了拉普拉斯估計,也是幹這個得。第十章的訊息傳播其實也是給出了樹狀模型求變數的聯合後驗分佈的一種動態規劃的方法。這裡解釋下什麼是常說的後驗分佈,即在觀察到樣本時模型中隱變數的條件概率,這往往是很多工建模後的最終任務,就是推斷這些隱變數的後驗概率。不懂沒事,以後隨著學的越來越多,看上幾篇
nips之類會議的論文,就明白了。從上面這也可以看出,prml很多內容是分散在各章節的。
XXX
待補充

5 PRML
沒有什麼?

1) PRML
沒有很多演算法的進一步擴充套件。這是正常的,不是bishop不懂,而是已經1000頁了啊。5000頁的書,誰敢開啟呢。任何這類書都有側重點,一般是跟作者的研究側重點相關:如kevin murphy的書,對DBN講了很多(不是深度學習的東西,是動態貝葉斯網路,即時序上的有向圖模型);統計學習基礎在模型選擇引數規整和boosting tress上講了很多;而以kernel為線索的書都會側重將一些計算理論的東西,像誤差界分析,這類書碩士讀了更加沒用,但是博士應該好好研習下。

PRML
沒有太偏重某一模型或者方法,而是把貝葉斯方法融入到每一章每一種模型中,所以包含的東西就更多,雖然沒有展開太多,但是足矣幫助入門。另外要明確的是,這本書是應用性質的!也就是幫助讀者掌握一套基本方法和思路,可以進入到這個圈子,能夠對一些問題用這些方法來進行建模。(這個不太適用於大部分對機器學習抱"急功近利"態度的程式設計師學習,或許對程式設計師,更需要的是掌握幾種具體模型,即logistic regressionnn,最大熵(尤其是一種時序最大熵模型crf),svm,決策樹和boosting treeGMMLDA)。至於一些非常理論的東西,即使是圈子裡的人,也只是非常少的大牛們在搞,大多數人不太需要。如果想了解更多,對於PML每章都可以擴充套件去閱讀,這裡簡單說一下。第五章關於神經網路,當年研究很熱,書籍很多,但是我沒覺得有多少要寫的,如今實踐證明了,用的時候掌握BP就行了(bishop也寫了一本書,不過我一直沒找到,難道是還沒出版)BP這個演算法對程式設計師比較好理解,就是一種動態規劃來減少重複計算嘛。第六章,講kernel相關的東西,去看pattern analysis,絕對有些啟發的。高斯過程,可看RasmussenGaussian processes for machine learning。第七章,最大margin,也就是SVM,想看理論性的同第六章的patternanalysis,想看實踐性的,看libsvm程式碼吧。第八章,圖模型可參考jordan那本未出版的(其實是從圖模型角度把整個概率模型的基礎知識講了一遍)koller的寫的更長更細,讀起來慢。第九章,混合模型和EM,講的非常不錯了,沒什麼要補充了,混合模型可以進一步擴充套件成超混合,離散觀察的貝葉斯版本模型就是常說的LDA,這個是工程中常用的模型,可看Blei的論文,這塊跟DP(狄利克雷過程)有點關係,可以利用其擴充套件成無線混合模型,可看teh的論文。第十章,主要是變分推斷,舉例詳實,如果不滿足,可以去看WainwrightJordan寫的Graphical ModelsExponential Familiesand Variational Inference,此書讀起來相比於prml要難很多。第十一章,如果想去鑽研mcmc,相關書籍很多,自己去搜吧,有本就叫mcmc。但是其實用的時候很多時候都是gibbs取樣就行。第十二章,是離散混合模型的擴充套件,PCA這塊我不太用,就沒擴充套件讀過什麼。第十三章,序列模型,就是離散狀態的HMM和連續狀態的LDS,書上講的蠻不錯,可以進一步參考kevin murphy的書。和第十四章,boosting,這塊我從沒用過,沒認真研究過,統計學習基礎裡講的多一些,另外PAC是理論基礎,對這個我也是隻知道名詞解釋,就不誤導同學了。

2) PRML
完全沒有涉及狄利克雷過程(只是在第二章提了一下teh的論文)畢竟這是06年的書當時狄利克雷過程還不太普及想了解這塊東西的同學可以看teh的論文國內的英子同學寫的綜述也不錯,包括後面bleiwangchongsuddertheb.fox,之前的neal等各位大牛的論文。本人去年初開始瞭解相關東西,中間看看停停也算是把相關模型演算法搞明白了,最近剛寫的畢業論文也是這個相關的。

3) PRML
有深度學習麼?hinton的那套RBM系列確實沒有,不過現在市面上炒作的深度學習,真正用的就是神經網路而已,第五章足矣,剩下的就靠著各位去寫並行程式解決了。