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