近日,著名機器學習教材《Pattern Recognition and Machine Learning》的作者Christopher Bishop教授更新了他的機器學習新書:Model-Based Machine Learning。
Christopher Bishop
微軟研究院在英國劍橋的實驗室主任,愛丁堡大學教授
在這本書中介紹了一種新穎的基于模型的機器學習方式——model based machine learning,將具體問題所面臨的假設精確地用模型的方式表達出來,隨后利用這一模型來建立適用于特定情況的算法,從而定制化地解決問題。由于算法可以被解耦成模型和推理使得構建的算法的過程可以部分的自動化。
近年來機器學習逐漸成為技術舞臺的主角,在各個廣泛的領域得到了應用。然而有效的使用機器學習,特別是對于初學者來說不是一件容易的事情。很多同學在利用機器學習解決真實世界的問題時常常會遇到下面一些疑惑:
“機器學習的方法和技術常常讓我感到不知所措、要學的東西實在太多啦!”
“到底該用哪個算法呀?為啥這個的結果會比哪個好呢?”
“我面對的問題不滿足任何標準算法的要求啊!”
······
還有很多各式各樣的疑問充滿了機器學習的歷程和工程實踐中。但這本書為我們帶來了一個對機器視覺的全新視角:model-based 機器學習。基于模型的機器學習將會給你不同的視角解答上面的問題,并將幫助你創造出更加有效的算法,當然算法也更加透明。
那么,什么是基于模型的機器學習呢?
在過去的五年里,研究人員們構建了很多機器學習算法。工程師如果希望利用機器學習解決一個問題,要么選擇其中的一個或幾個來嘗試,要們就創造自己的新算法。而在選擇算法的時候,工程師們很大程度上都會選擇自己熟悉的算法,同時選擇也會收到響應軟硬件條件的限制,最后選擇的算法并不是最適合解決問題的算法。
然而基于模型的方法則為每一個問題尋求定制化的解決方案。與其將所面對的問題轉換為適配于標準算法的形式,基于模型的機器學習則會設計出一種精確匹配問題的算法。
基于模型的機器學習,其核心觀點在于與問題相關的所有假設都能通過模型的形式來構成。實際上,一個模型也正是由一系列假設所構成的,并用精確的數學形式表達出來。 這些假設包含了問題中變量的個數與類型以及變量之間的相互關系。例如,在本書中將以離奇的謀殺案為例建立一個模型來尋找兇手。這一模型的假設包含了嫌疑人的名單、可以的兇器以及不同嫌疑人使用不同兇器的可能。
這一模型隨后被用于解決這一特定的機器學習問題。基于模型的機器學習幾乎可以被用于解決任何種類的問題,這種通用的思路意味著你無須學習種類繁多的機器學習算法和技術。
那么為什么模型中的假設起到了如此重要的作用呢?難道它會證明機器學習不能單純從數據中得到結果么?我們需要明白的是:任何算法都建立在一系列假設之上,盡管很多時候這些假設看起來不那么明顯。不同的算法對應著不同的假設,當假設不是那么清晰的時候評判算法表現的唯一方法就是通過比較來獲得經驗結果。
做過項目的小伙伴對于這項工作一定深有體會,會耗費大量的時間,同時也不精確。如果嘗試的算法都不滿足要求的話,創造一個更好的算法更是難上加難。
模型還是算法?
讓我們進一步分析模型和算法。可以把標準的機器學習算法看成是一個功能模塊,輸入數據輸出結果。算法一定需要假設來將它從數千種不同算法中區分出來,然而在算法中這種假設很多時候是隱含且朦朧的。
從基于模型的觀點來看,它包含了我們對特定問題所作的一系列假設。為了從模型中進行預測,我們需要讀入數據并計算我們希望得到的變量。這一計算過程通常稱為推理,將模型與推理結合起來就可以定義出一個機器學習算法,如下圖所示:
按照基于模型的觀點,算法是有一特定的模型和推理方法組成的,而模型則又由一系列假設組成,改變假設就可以——甚至在保持推理方法不變的情況下——得到不同的機器學習算法。
雖然推理的方法很多,但這一教科書為了解耦推理方法的影響,選擇使用了相同的推理方法來與不同的模型組合。
基于模型的機器學習可應用與任何標準的機器學習任務,包括分類、聚類等,同時還將幫助更好地理解和掌控算法的表現,這些都將在書的后續章節中呈現。這種方式還可以通過改變模型來拓展任務的適用范圍和提高精度。
此外模型的假設十分清晰,這也為模型的可解釋性做出了貢獻,既有利于理解性能增強的原因,有利于溝通與交流,同時還可以幫助我們在出現問題的時候更好地解決,也有利于與適應、拓展和結合他人的解決方案。
一個例子
假設我們有一個任務是預測游戲中玩家技能的變化情況,機器學習參考書會告訴你有一個稱為卡爾曼濾波的算法可以用于處理這一類問題。為了使用卡爾曼濾波,首先你需要將技能預測問題轉換為標準卡爾曼濾波器可以處理的形式。如果運氣好的話,將轉換后的結果輸入到卡爾曼濾波器中就可以得到較好的結果。
但很多情況是,這種現成算法的精度往往滿足不了實際要求。那么你該如何去改造算法和軟件來獲得更好的結果呢?也許你應該成為卡爾曼濾波器方面的專家才能更好地改進算法,并實現更好的軟件來解決問題。
然而如果用基于模型的觀點來看,我們會從一系列解決方案必須滿足的假設開始來定義模型,隨后利用這一模型來創造對應的機器學習算法。如果你的假設恰好和卡爾曼濾波中隱含的假設對應的話,你的算法很可能得到精確的卡爾曼濾波器。不過你的模型可能在假設上有所不同,在這個例子中你得到了可能是一個卡爾曼濾波器的變種來解決問題。無論這個算法是否存在是否是一個新的算法,都沒關系。你的目標是為問題找到最好的解決方案。
基于這些你就能得到一個改進結果的框架,可以通過檢視和改造假設來得到更好的模型,同時也得到了更好的算法。作為一個領域的專家,理解和改變問題的假設比改進機器學習算法容易多了。即使你的目標是理解卡爾曼濾波器,那么從模型的假設出發也是一條更為清晰和簡單的路徑來學習算法那并理解它是如何運行的。
工具
這本書和其他教材一樣也提供了有力的工具供大家使用學習。由于算法被分解成了模型和相應的推理方法,只需要定義模型和選擇相應的推理方法即可定義算法。這樣研究人員可以聚焦于創造專業問題的模型,而不是糾結于各種推理方法和算法本身。作者在微軟研究院工作期間開發了一套稱為Infer.NET的工具,通過將假設表示成簡潔的代碼隨后自動化生成復雜的算法代碼。作者提供了一系列模型源碼和infer模塊。
http://research.microsoft.com/infernet
如何閱讀?
這本書面向所有想要使用機器學習算法解決現實問題的技術人員,是一本應用導向的書。(但對于想要理解數學原理的讀者,作者提供了Deep-dive章節)。書中的每一章都是對于一個案例的解決過程,對于一個真實世界的案例,作者將帶領我們從數據獲取、知識分析、可視化、構建模型、推理、驗證、發現問題和改進系統等方面來學會如何通過基于模型的方式構建出更好的算法來解決問題。
主要分為以下幾個章節的內容:
第一章:通過破解一個離奇謀殺案來介紹基于模型機器學習的基本概念;
第二章:基于測試答案來判斷個人能力的例子用于介紹如何使用model-based方法;
第三章:model-based方法的真實應用,匹配在線游戲的玩家;
第四章:構建一個模型幫助人們處理雜亂的收件箱;
第五章:構建一個推薦系統,匹配用戶和喜歡的電影;
第六章:通過為過敏建模來理解兒童哮喘病;
第七章:治理擁堵;
第八章:其它模型。
-
機器視覺
+關注
關注
161文章
4348瀏覽量
120134 -
模型
+關注
關注
1文章
3178瀏覽量
48731 -
機器學習
+關注
關注
66文章
8382瀏覽量
132444
原文標題:從Model-based獨特視角看機器學習
文章出處:【微信號:thejiangmen,微信公眾號:將門創投】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論