引子
系統(tǒng)的學(xué)習(xí)機(jī)器學(xué)習(xí)課程讓我覺得受益匪淺,有些基礎(chǔ)問題的認(rèn)識(shí)我覺得是非常有必要的,比如機(jī)器學(xué)習(xí)算法的類別。
為什么這么說(shuō)呢?我承認(rèn),作為初學(xué)者,可能無(wú)法在初期對(duì)一個(gè)學(xué)習(xí)的對(duì)象有全面而清晰的理解和審視,但是,對(duì)一些關(guān)鍵概念有一個(gè)初步并且較為清晰的認(rèn)識(shí),有助于讓我們把握對(duì)問題的認(rèn)識(shí)層次,說(shuō)白了,就是幫助我們有目的的去學(xué)習(xí)新的知識(shí),帶著問題去學(xué)習(xí),充滿對(duì)解決問題的動(dòng)力去實(shí)驗(yàn),我覺得這種方式是有益并且良性的。
之前,我遇到過(guò)很多這方面的問題,可能出于對(duì)問題分析不夠,在尋找解決的問題的方法或者模型的時(shí)候,有可能不知所措。造成這種情況的原因可能有兩點(diǎn):1、基礎(chǔ)不深厚,不了解最常用的算法模型;2、學(xué)習(xí)過(guò)程中,缺乏對(duì)模型適用的實(shí)際問題的了解,缺乏將模型應(yīng)用于實(shí)際問題的經(jīng)驗(yàn)。
所以,在學(xué)習(xí)過(guò)程中,要特別注意的不光是深入研究算法的精髓,還要知道該算法的應(yīng)用場(chǎng)合、適用條件和局限性。如果只是去探究原理,而不懂實(shí)際應(yīng)用,只能是書呆子,只會(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í)算法的分類提供了很好的依據(jù),可以根據(jù)輸入空間、特征空間和輸出空間的具體情況的不同,對(duì)算法限定的具體條件進(jìn)行分類。
各種學(xué)習(xí)型算法的分類
首先聲明一下,下面的分類是我在學(xué)習(xí)相關(guān)課程和自己學(xué)習(xí)過(guò)程中進(jìn)行的歸納,不盡完善,但是可以概括一定的問題,希望在此能總結(jié)一下,以備以后能理清思路并完善。
接下來(lái)介紹的算法的分類是根據(jù)初學(xué)者學(xué)習(xí)的內(nèi)容的普遍角度展開的,分類角度從常用的分類方式到相對(duì)陌生的分類方式。
以輸出空間的不同作為分類依據(jù)
二類分類(binary classification),俗稱是非問題(say YES/NO)。其輸出空間Y={-1,+1}
多類別分類(multiclass classification),輸出空間Y={1,2,...,K}
回歸問題(regression),輸出空間Y=R,即實(shí)數(shù)范圍,輸出是無(wú)限種可能
結(jié)構(gòu)學(xué)習(xí)(structured learning),Y=structures,該學(xué)習(xí)模型也可以看做是多類別學(xué)習(xí)的一種,這里可能涉及到數(shù)量很大的類別
舉例:
二類分類應(yīng)用非常廣泛,比如判斷是否為垃圾郵件、廣告投資是否能盈利、學(xué)習(xí)系統(tǒng)上在下一題答題是否正確。二類分類在機(jī)器學(xué)習(xí)中地位非常重要,是其他算法的基矗
多類別分類的應(yīng)用,比如根據(jù)一張圖片,得出圖片中是蘋果、橘子還是草莓等;還有像Google郵箱,將郵件自動(dòng)分成垃圾郵件、重要郵件、社交郵件、促銷郵件等。多類別分類在視覺或聽覺的辨識(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í)方法可以被看做是多類別分類,但與多類別分類不同的是,其目標(biāo)的結(jié)構(gòu)種類可能規(guī)模很大,其類別是隱藏在句子的背后的。
這種結(jié)構(gòu)學(xué)習(xí)的例子還有例如說(shuō),生物中蛋白質(zhì)3D立體結(jié)構(gòu),自然語(yǔ)言處理方面。
結(jié)構(gòu)學(xué)習(xí)在有些地方被描述成標(biāo)注(tagging)問題,標(biāo)注問題的輸入是一個(gè)觀測(cè)序列,輸出是一個(gè)標(biāo)記序列或狀態(tài)序列。標(biāo)注問題的目標(biāo)在于學(xué)習(xí)一個(gè)模型,使它能夠?qū)τ^測(cè)序列給出標(biāo)記序列作為預(yù)測(cè)。
以數(shù)據(jù)標(biāo)簽的不同作為分類依據(jù)
按照這種分類方法,最常見的類別就是監(jiān)督學(xué)習(xí)(supervised learning)、無(wú)監(jiān)督學(xué)習(xí)(unsupervised learning)和半監(jiān)督學(xué)習(xí)(semi-supervised learning)。在上面討論的以輸出空間的不同作為分類依據(jù)中,介紹的基本都是監(jiān)督學(xué)習(xí),下面我們來(lái)具體看看另外兩個(gè)。
無(wú)監(jiān)督學(xué)習(xí)(unsupervised learning)
聚類(clustering),{x[n]} => cluster(x) , 這里數(shù)據(jù)的類別是不知道的,根據(jù)某種規(guī)則得到不同的分類。
它可以近似看做無(wú)監(jiān)督的多類別分類。
密度估計(jì)(density estimation),{x[n]} => density(x) ,這里的density(x) 可以是一個(gè)概率密度函數(shù)或者概率函數(shù)。
它可以近似看做無(wú)監(jiān)督的有界回歸問題。
異常檢測(cè)(outlier detection), {x[n]} => unusual(x) 。
它可以看做近似的無(wú)監(jiān)督二類分類問題。
聚類的例子像是將網(wǎng)絡(luò)上各式各樣的文章分成不同的主題,商業(yè)公司根據(jù)不同的顧客的資料,將顧客分成不同的族群,進(jìn)而采取不同的促銷策略。
密度估計(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)練和分類的問題。半監(jiān)督學(xué)習(xí)是利用未標(biāo)記的大量數(shù)據(jù)提升機(jī)器學(xué)習(xí)算法的表現(xiàn)效果。
半監(jiān)督學(xué)習(xí)的主要算法有五類:基于概率的算法;在現(xiàn)有監(jiān)督算法基礎(chǔ)上作修改的方法;直接依賴于聚類假設(shè)的方法;基于多試圖的方法;基于圖的方法。
半監(jiān)督學(xué)習(xí)的例子,比如Facebook上有關(guān)人臉照片的識(shí)別,可能只有一小部分人臉是被標(biāo)記的,大部分是沒有被標(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è)廣告,即可能的輸出,而顧客有沒有點(diǎn)或者有沒有因?yàn)檫@個(gè)廣告賺錢,這評(píng)定了這個(gè)廣告投放的好壞。這就讓該廣告系統(tǒng)學(xué)習(xí)到怎么樣去放更適合的廣告。
以與機(jī)器溝通方式的不同作為分類依據(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í)算法分類可以被看做是被動(dòng)的學(xué)習(xí)算法。
主動(dòng)學(xué)習(xí)(active learning),可以被看做是機(jī)器有問問題的能力,指定輸入x[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ī)器向人提問問題。
以輸入空間的不同作為分類依據(jù)
具體特征(concrete features),輸入X的每一維特征都被人類進(jìn)行的整理和分析,這種分析常常是與專業(yè)領(lǐng)域關(guān)聯(lián)的
原始特征(raw features),需要人或者機(jī)器進(jìn)行轉(zhuǎn)化,將原始特征轉(zhuǎn)化成為具體的特征,在機(jī)器視覺和聲音信號(hào)的辨識(shí)都是屬于該類
抽象特征(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ò)組合低層特征形成更加抽象的高層表示屬性類別或特征,以發(fā)現(xiàn)數(shù)據(jù)的分布式特征表示。
以上是我在初學(xué)階段針對(duì)學(xué)習(xí)型算法的類別簡(jiǎn)述,可能有失準(zhǔn)確的地方,還需要讀者自行分析判斷。最后,我還想對(duì)自己說(shuō)一下,我在學(xué)習(xí)的過(guò)程中,不必追求將記錄的內(nèi)容表述的盡可能的細(xì)致全面,而是要在記錄書寫文字的過(guò)程中真正能加深對(duì)問題的理解,不斷的進(jìn)行自我思考。畢竟,我寫這些內(nèi)容不是為了出書,而是要靈活的積累學(xué)習(xí)中的關(guān)鍵內(nèi)容,進(jìn)行更好的知識(shí)管理。當(dāng)然,如果能幫助到讀者就更好了。
評(píng)論
查看更多