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