引子
系統(tǒng)的學(xué)習(xí)機(jī)器學(xué)習(xí)課程讓我覺(jué)得受益匪淺,有些基礎(chǔ)問(wèn)題的認(rèn)識(shí)我覺(jué)得是非常有必要的,比如機(jī)器學(xué)習(xí)算法的類(lèi)別。
為什么這么說(shuō)呢?我承認(rèn),作為初學(xué)者,可能無(wú)法在初期對(duì)一個(gè)學(xué)習(xí)的對(duì)象有全面而清晰的理解和審視,但是,對(duì)一些關(guān)鍵概念有一個(gè)初步并且較為清晰的認(rèn)識(shí),有助于讓我們把握對(duì)問(wèn)題的認(rèn)識(shí)層次,說(shuō)白了,就是幫助我們有目的的去學(xué)習(xí)新的知識(shí),帶著問(wèn)題去學(xué)習(xí),充滿對(duì)解決問(wèn)題的動(dòng)力去實(shí)驗(yàn),我覺(jué)得這種方式是有益并且良性的。
之前,我遇到過(guò)很多這方面的問(wèn)題,可能出于對(duì)問(wèn)題分析不夠,在尋找解決的問(wèn)題的方法或者模型的時(shí)候,有可能不知所措。造成這種情況的原因可能有兩點(diǎn):1、基礎(chǔ)不深厚,不了解最常用的算法模型;2、學(xué)習(xí)過(guò)程中,缺乏對(duì)模型適用的實(shí)際問(wèn)題的了解,缺乏將模型應(yīng)用于實(shí)際問(wèn)題的經(jīng)驗(yàn)。
所以,在學(xué)習(xí)過(guò)程中,要特別注意的不光是深入研究算法的精髓,還要知道該算法的應(yīng)用場(chǎng)合、適用條件和局限性。如果只是去探究原理,而不懂實(shí)際應(yīng)用,只能是書(shū)呆子,只會(huì)紙上談兵;如果只想拿來(lái)用,不去深究算法精髓,又只能游離在核心技術(shù)的邊界,無(wú)法真正的領(lǐng)悟。只有結(jié)合理論和實(shí)踐,才可以達(dá)到學(xué)習(xí)效果的最大化。從這條路徑出發(fā),一定要堅(jiān)持不懈。
輸入空間、特征空間和輸出空間
輸入空間和輸出空間其實(shí)就是輸入和輸出所有可能取值的集合。輸入和輸出空間可以是有限元素的集合,也可以是整個(gè)歐式空間。輸入空間和輸出空間可以是一個(gè)空間,也可以是不同的空間;通常情況下,輸出空間要遠(yuǎn)遠(yuǎn)小于輸入空間。
特征空間是所有特征向量存在的空間。特征空間的每一維對(duì)應(yīng)于一個(gè)特征。有時(shí)假設(shè)輸入空間與特征空間為相同的空間,對(duì)它們不予區(qū)分;有時(shí)假設(shè)輸入空間與特征空間為不同的空間,將實(shí)例從輸入空間映射到特征空間。模型實(shí)際上都是定義在特征空間上的。
這就為機(jī)器學(xué)習(xí)算法的分類(lèi)提供了很好的依據(jù),可以根據(jù)輸入空間、特征空間和輸出空間的具體情況的不同,對(duì)算法限定的具體條件進(jìn)行分類(lèi)。
各種學(xué)習(xí)型算法的分類(lèi)
首先聲明一下,下面的分類(lèi)是我在學(xué)習(xí)相關(guān)課程和自己學(xué)習(xí)過(guò)程中進(jìn)行的歸納,不盡完善,但是可以概括一定的問(wèn)題,希望在此能總結(jié)一下,以備以后能理清思路并完善。
接下來(lái)介紹的算法的分類(lèi)是根據(jù)初學(xué)者學(xué)習(xí)的內(nèi)容的普遍角度展開(kāi)的,分類(lèi)角度從常用的分類(lèi)方式到相對(duì)陌生的分類(lèi)方式。
以輸出空間的不同作為分類(lèi)依據(jù)
二類(lèi)分類(lèi)(binary classification),俗稱是非問(wèn)題(say YES/NO)。其輸出空間Y={-1,+1}
多類(lèi)別分類(lèi)(multiclass classification),輸出空間Y={1,2,...,K}
回歸問(wèn)題(regression),輸出空間Y=R,即實(shí)數(shù)范圍,輸出是無(wú)限種可能
結(jié)構(gòu)學(xué)習(xí)(structured learning),Y=structures,該學(xué)習(xí)模型也可以看做是多類(lèi)別學(xué)習(xí)的一種,這里可能涉及到數(shù)量很大的類(lèi)別
舉例:
二類(lèi)分類(lèi)應(yīng)用非常廣泛,比如判斷是否為垃圾郵件、廣告投資是否能盈利、學(xué)習(xí)系統(tǒng)上在下一題答題是否正確。二類(lèi)分類(lèi)在機(jī)器學(xué)習(xí)中地位非常重要,是其他算法的基矗
多類(lèi)別分類(lèi)的應(yīng)用,比如根據(jù)一張圖片,得出圖片中是蘋(píng)果、橘子還是草莓等;還有像Google郵箱,將郵件自動(dòng)分成垃圾郵件、重要郵件、社交郵件、促銷(xiāo)郵件等。多類(lèi)別分類(lèi)在視覺(jué)或聽(tīng)覺(jué)的辨識(shí)中應(yīng)用很廣泛。
回歸分析在股票價(jià)格預(yù)測(cè)和天氣氣溫的預(yù)測(cè)上被廣泛應(yīng)用。
結(jié)構(gòu)學(xué)習(xí)(Structured Learning)
在自然語(yǔ)言處理中,自動(dòng)的詞性標(biāo)注是很典型的結(jié)構(gòu)學(xué)習(xí)的例子。比如給定機(jī)器一個(gè)句子,由于詞語(yǔ)在不同的句子當(dāng)中可能會(huì)有不同的詞性,所以該方法是用來(lái)對(duì)句子的結(jié)構(gòu)特性的理解。這種學(xué)習(xí)方法可以被看做是多類(lèi)別分類(lèi),但與多類(lèi)別分類(lèi)不同的是,其目標(biāo)的結(jié)構(gòu)種類(lèi)可能規(guī)模很大,其類(lèi)別是隱藏在句子的背后的。
這種結(jié)構(gòu)學(xué)習(xí)的例子還有例如說(shuō),生物中蛋白質(zhì)3D立體結(jié)構(gòu),自然語(yǔ)言處理方面。
結(jié)構(gòu)學(xué)習(xí)在有些地方被描述成標(biāo)注(tagging)問(wèn)題,標(biāo)注問(wèn)題的輸入是一個(gè)觀測(cè)序列,輸出是一個(gè)標(biāo)記序列或狀態(tài)序列。標(biāo)注問(wèn)題的目標(biāo)在于學(xué)習(xí)一個(gè)模型,使它能夠?qū)τ^測(cè)序列給出標(biāo)記序列作為預(yù)測(cè)。
以數(shù)據(jù)標(biāo)簽的不同作為分類(lèi)依據(jù)
按照這種分類(lèi)方法,最常見(jiàn)的類(lèi)別就是監(jiān)督學(xué)習(xí)(supervised learning)、無(wú)監(jiān)督學(xué)習(xí)(unsupervised learning)和半監(jiān)督學(xué)習(xí)(semi-supervised learning)。在上面討論的以輸出空間的不同作為分類(lèi)依據(jù)中,介紹的基本都是監(jiān)督學(xué)習(xí),下面我們來(lái)具體看看另外兩個(gè)。
無(wú)監(jiān)督學(xué)習(xí)(unsupervised learning)
聚類(lèi)(clustering),{x[n]} => cluster(x) , 這里數(shù)據(jù)的類(lèi)別是不知道的,根據(jù)某種規(guī)則得到不同的分類(lèi)。
它可以近似看做無(wú)監(jiān)督的多類(lèi)別分類(lèi)。
密度估計(jì)(density estimation),{x[n]} => density(x) ,這里的density(x) 可以是一個(gè)概率密度函數(shù)或者概率函數(shù)。
它可以近似看做無(wú)監(jiān)督的有界回歸問(wèn)題。
異常檢測(cè)(outlier detection), {x[n]} => unusual(x) 。
它可以看做近似的無(wú)監(jiān)督二類(lèi)分類(lèi)問(wèn)題。
聚類(lèi)的例子像是將網(wǎng)絡(luò)上各式各樣的文章分成不同的主題,商業(yè)公司根據(jù)不同的顧客的資料,將顧客分成不同的族群,進(jìn)而采取不同的促銷(xiāo)策略。
密度估計(jì)的典型例子是根據(jù)位置的交通情況報(bào)告,預(yù)測(cè)事故危險(xiǎn)多發(fā)的區(qū)域。
異常檢測(cè)的例子是,根據(jù)網(wǎng)絡(luò)的日志的情況,檢測(cè)是否有異常入侵行為,這是一個(gè)極端的“是非題”,可以用非監(jiān)督的方法來(lái)得出。
半監(jiān)督學(xué)習(xí)(Semi-supervised learning)
半監(jiān)督學(xué)習(xí)(Semi-supervised Learning)是監(jiān)督學(xué)習(xí)與無(wú)監(jiān)督學(xué)習(xí)相結(jié)合的一種學(xué)習(xí)方法。它主要考慮如何利用少量的標(biāo)注樣本和大量的未標(biāo)注樣本進(jìn)行訓(xùn)練和分類(lèi)的問(wèn)題。半監(jiān)督學(xué)習(xí)是利用未標(biāo)記的大量數(shù)據(jù)提升機(jī)器學(xué)習(xí)算法的表現(xiàn)效果。
半監(jiān)督學(xué)習(xí)的主要算法有五類(lèi):基于概率的算法;在現(xiàn)有監(jiān)督算法基礎(chǔ)上作修改的方法;直接依賴于聚類(lèi)假設(shè)的方法;基于多試圖的方法;基于圖的方法。
半監(jiān)督學(xué)習(xí)的例子,比如Facebook上有關(guān)人臉照片的識(shí)別,可能只有一小部分人臉是被標(biāo)記的,大部分是沒(méi)有被標(biāo)記的。
增強(qiáng)學(xué)習(xí)(Reinforce learning)
強(qiáng)化學(xué)習(xí)是一種以環(huán)境反饋?zhàn)鳛檩斎氲?、特殊的、適應(yīng)環(huán)境的機(jī)器學(xué)習(xí)方法。所謂強(qiáng)化學(xué)習(xí)是指從環(huán)境狀態(tài)到行為映射的學(xué)習(xí),以使系統(tǒng)行為從環(huán)境中獲得的累積獎(jiǎng)賞值最大。該方法不同與監(jiān)督學(xué)習(xí)技術(shù)那樣通過(guò)正例、反例來(lái)告知采取何種行為,而是通過(guò)試錯(cuò)(trial-and-error)的方法來(lái)發(fā)現(xiàn)最優(yōu)行為策略。
這里的輸出并不一定是你真正想要得到的輸出,而是用過(guò)獎(jiǎng)勵(lì)或者懲罰的方式來(lái)告訴這個(gè)系統(tǒng)做的好還是不好。
比如一個(gè)線上廣告系統(tǒng),可以看做是顧客在訓(xùn)練這個(gè)廣告系統(tǒng)。這個(gè)系統(tǒng)給顧客投放一個(gè)廣告,即可能的輸出,而顧客有沒(méi)有點(diǎn)或者有沒(méi)有因?yàn)檫@個(gè)廣告賺錢(qián),這評(píng)定了這個(gè)廣告投放的好壞。這就讓該廣告系統(tǒng)學(xué)習(xí)到怎么樣去放更適合的廣告。
以與機(jī)器溝通方式的不同作為分類(lèi)依據(jù)
批量學(xué)習(xí)(batch learning),一次性批量輸入給學(xué)習(xí)算法,可以被形象的稱為填鴨式學(xué)習(xí)。
線上學(xué)習(xí)(online learning),按照順序,循序的學(xué)習(xí),不斷的去修正模型,進(jìn)行優(yōu)化。
hypothesis 'improves' through receiving data instances sequentially
前兩種學(xué)習(xí)算法分類(lèi)可以被看做是被動(dòng)的學(xué)習(xí)算法。
主動(dòng)學(xué)習(xí)(active learning),可以被看做是機(jī)器有問(wèn)問(wèn)題的能力,指定輸入x[n],詢問(wèn)其輸出y[n]
improve hypothesis with fewer labels (hopefully) by asking questions strategically
當(dāng)label的獲取成本非常昂貴時(shí),會(huì)利用此法
很多機(jī)器學(xué)習(xí)大都是批量學(xué)習(xí)的情況。
線上學(xué)習(xí)的例子有像是垃圾郵件過(guò)濾器中,郵件并不是一下子全部拿來(lái)訓(xùn)練并且辨識(shí)的,而是呈序列形式,一封一封的到來(lái),這樣子循序?qū)W習(xí)的方式不斷更新。
主動(dòng)學(xué)習(xí)的一個(gè)簡(jiǎn)單例子是,像QQ空間中,有好友照片的標(biāo)注,即機(jī)器向人提問(wèn)問(wèn)題。
以輸入空間的不同作為分類(lèi)依據(jù)
具體特征(concrete features),輸入X的每一維特征都被人類(lèi)進(jìn)行的整理和分析,這種分析常常是與專(zhuān)業(yè)領(lǐng)域關(guān)聯(lián)的
原始特征(raw features),需要人或者機(jī)器進(jìn)行轉(zhuǎn)化,將原始特征轉(zhuǎn)化成為具體的特征,在機(jī)器視覺(jué)和聲音信號(hào)的辨識(shí)都是屬于該類(lèi)
抽象特征(abstract features),
抽象特征的例子,比如在一個(gè)在線教學(xué)系統(tǒng)中學(xué)生的編號(hào)信息,還有廣告系統(tǒng)中廣告的編號(hào)ID。使用它們都需要更多特征抽取的動(dòng)作。
原始特征的補(bǔ)充
這里要補(bǔ)充一下raw features中有關(guān)時(shí)興的深度學(xué)習(xí)(deep learning)的有關(guān)知識(shí)。
深度學(xué)習(xí)是通過(guò)機(jī)器自動(dòng)的進(jìn)行特征提取的。它需要有大量的資料或者非監(jiān)督式學(xué)習(xí)的方式去學(xué)習(xí)如何從中抽取出非常具體的特征。
深度學(xué)習(xí)通過(guò)組合低層特征形成更加抽象的高層表示屬性類(lèi)別或特征,以發(fā)現(xiàn)數(shù)據(jù)的分布式特征表示。
以上是我在初學(xué)階段針對(duì)學(xué)習(xí)型算法的類(lèi)別簡(jiǎn)述,可能有失準(zhǔn)確的地方,還需要讀者自行分析判斷。最后,我還想對(duì)自己說(shuō)一下,我在學(xué)習(xí)的過(guò)程中,不必追求將記錄的內(nèi)容表述的盡可能的細(xì)致全面,而是要在記錄書(shū)寫(xiě)文字的過(guò)程中真正能加深對(duì)問(wèn)題的理解,不斷的進(jìn)行自我思考。畢竟,我寫(xiě)這些內(nèi)容不是為了出書(shū),而是要靈活的積累學(xué)習(xí)中的關(guān)鍵內(nèi)容,進(jìn)行更好的知識(shí)管理。當(dāng)然,如果能幫助到讀者就更好了。
評(píng)論
查看更多