《機器學習》周志華

總的來說,除了前兩章是基礎,其余章節都是介紹模型方法,應用場景、理論推導、優化過程、算法等,每章都可獨立閱讀而不受其他章節影響。

如果只是每一章都看完,頂多就是了解了一種方法,相互之間是割裂的,這樣當碰到一個實際問題,仍然無法思路完整的求解,因而有必要在閱讀時就要有意識甚至刻意的建立起知識架構。實際上,所謂的機器學習,是面對一個具體的問題,從給定的數據中產生模型的算法,也就是說脫離了實際問題談機器學習算法是毫無意義的。

前面提到,脫離實際問題談機器學習是毫無意義的,那么在給定數據集(所謂大數據)和具體問題的前提下,一般解決問題的步驟可以概括如下:

1、數據抽象

將數據集和具體問題抽象成數學語言,以恰當的數學符號表示。這樣做自然是為了方便表述和求解問題,而且也更加直觀。

2、設定性能度量指標

機器學習是產生模型的算法,一般來說模型都有誤差。如果模型學的太好,把訓練樣本自身的一些特點當成所有潛在樣本具有的一般性質,這種情況稱為過擬合,這樣的模型在面對新樣本時就會出現較大誤差,專業表述就是導致模型的泛化性能下降。

與之相對的是欠擬合,模型對樣本的一般性質都沒學好,這種情況一般比較好解決,擴充數據集或者調整模型皆可。

而一般來說無論是機器學習還是現在很火的深度學習,面對的主要問題都是過擬合。那么為了保證模型的泛化能力足夠強,必須要有衡量模型泛化能力的評價標準,也就是性能度量的設定。

很顯然不同的性能度量會導致不同的評判結果,好的性能度量能夠直觀的顯示模型的好壞,同時也能看到不同模型,或者模型的不同參數下對解決問題的程度好壞。

進一步,有的問題可以直接基于設定的性能度量直接做最優化,得出該問題的一般求解模型。

比如回歸任務最常用的性能度量就是均方誤差,目標就是讓均方誤差最小,這就直接轉化成了一個最優化問題。

其他一些常用的有錯誤率與精度、查準查全率、ROC與AOC等。

當然更為重要的是,僅僅設定好性能度量是不夠的,不同模型或者不同參數下得到的性能度量結果一般是不同的,一般來說不能簡單的比較結果,而應該基于統計假設檢驗來做效果判定。也就是說通過比較檢驗的方法,我們就可以判斷,如果觀察到A比B好,在統計意義上A的泛化性能是否優于B,以及這個判斷的把握有多大。

3、數據預處理

之所以要做數據預處理,是因為提供的數據集往往很少是可以直接拿來用的。

可能的情況有:

樣本某些屬性值缺失

有未標記樣本

樣本的屬性太多

樣本量不足

沒有分出測試集和驗證集

不同類的樣本數相差比較大

不同類的樣本數相差比較大

這就是所謂類別不平衡問題。舉個例子,樣本里有998個反例,2個正例,如果一個模型對任何的新樣本都預測為反例,那么它的精度為99.8%,雖然很高,但沒有任何價值。

這種情況使用的基本策略是再縮放,具體方法則是采樣。通過不同的采樣方法來使類別達到平衡。

沒有分出測試集和驗證集

再說第五種情況,為了方便訓練和驗證模型好壞,數據集一般會以9:1或者其他合適比例(比例選擇主要基于實際問題)分為測試集和驗證集。如果給定的數據集只是已經標記好的樣本,那么劃分時必須保證數據集和測試集的分布大致均勻,這就涉及到具體的劃分算法了。

樣本量不足

第四種情況一般圖像問題比較常遇到,如果樣本量不足,不夠模型來學習,效果自然很差。常見的方法一般有兩種:

基于原數據集做擴充。比如對于圖片,可以做各種處理,比如旋轉、crop、對比度、亮度等基于像素值的調整,使得一個樣本能夠生成多個樣本,從而達到擴充數據集的目的。

通過人工標注生成樣本。比如大名鼎鼎的ImageNet數據集就是通過全球眾包完成的,當然這個不僅耗時長,人工成本也很高,需謹慎考慮。

樣本的屬性太多

對于第三種情況,如果樣本屬性太多,為了保證模型的泛化性能足夠強,則理論上必須保證數據集包括有所有屬性的所有值,而這隨著屬性數目以及屬性值是呈指數上升,很有可能達到天文數字,不僅難以計算,在現實情況也不可能收集到這么多的樣本。

從數學角度看,每個樣本的屬性可以看成向量,屬性數目是向量的維數,解決第三種情況一般有兩種方法:

降維

特征選擇

特征選擇比較好理解,就是選擇有用相關的屬性,或者用另外一種表達方式:選擇樣本中有用、跟問題相關的特征。事實上這也很正常,并不一定樣本的所有屬性對具體問題都是有用的,通過一定的方法選擇合適的特征可以保證模型更優。常用的方法大致分三類:過濾式、包裹式和嵌入式。

所謂的降維,即是多屬性意味著是高維空間,在很多時候可以等價的映射到低維而不丟失主要信息。從空間映射的角度看,我們可以通過主成分分析PCA(線性映射)和核化主成分分析(非線性映射)來達到降維的目的。(補充:PCA是無監督降維方法,線性判別分析LDA則是監督降維防范)

有未標記樣本

現實情況下往往很多數據集都有大量的未標記樣本,有標記的樣本反而比較少。如果直接棄用,很大程度上會導致模型精度低。這種情況解決的思路往往是結合有標記的樣本,通過估計的方法把未標記樣本變為偽的有標記樣本。基本的方法有主動學習和半監督學習兩種方法。

樣本某些屬性值缺失

樣本的屬性值缺失是很常見的一種情況。比如做書籍、視頻、音樂等的個性化推薦時,需要用戶對不同種類的偏好或評價。而用戶不一定聽過所有種類的歌,也不一定做出了評價。這就需要通過他已產生的樣本數據和與之相類似的用戶的數據來恢復和補全。

從原理上講,這和壓縮感知根據部分信息恢復全部信息是有類似的。

常用的方法涉及到協同過濾、矩陣補全等技術和方法。

總的來說,數據預處理是一個非常重要的過程,實際上數據預處理往往會和模型選擇結合在一起。

4、選定模型

在數據集完美的情況下,接下來就是根據具體問題選定恰當的模型了。

一種方式是根據有沒有標記樣本考慮。

如果是有標記樣本,可以考慮有監督學習,反之則是無監督學習,兼而有之就看半監督學習是否派的上用場。

無監督學習方法主要提到的是聚類。隨機選定幾個樣本,通過一定的算法不停迭代直至收斂或者達到停止條件,然后便將所有樣本分成了幾類。

對有監督學習而言,根據最終所需要的輸出結果

如果涉及到分類,可以參考的模型有線性回歸及其非線性擴展、決策樹、神經網絡、支持向量機SVM、規則學習等

如果是回歸問題,可以認為是分類的連續形式,方法便是以上模型的變種或擴展

如果涉及到概率,可以參考的有神經網絡、貝葉斯、最大似然、EM、概率圖、隱馬爾科夫模型、強化學習等

5、訓練及優化

選定了模型,如何訓練和優化也是一個重要問題。

如果要評估訓練集和驗證集的劃分效果,常用的有留出法、交叉驗證法、自助法、模型調參等

如果模型計算時間太長,可以考慮剪枝

如果是過擬合,則可通過引入正則化項來抑制(補償原理)

如果單個模型效果不佳,可以集成多個學習器通過一定策略結合,取長補短(集成學習)

6、應用

模型訓練好之后,自然就是應用,針對未知樣本做預測、推薦等。

最后再簡單談一下神經網絡。本書中神經網絡僅僅是作為一個章節敘述,包括經典的BP算法。

但技術書籍的推出總是落后于當前技術發展的。《機器學習》上市的時間,已經是深度學習大行其道了。

多層的神經網絡伴隨的往往是大量參數的計算和對大數據的渴求。隨著互聯網的發展,人們產生的數據呈爆炸式增長,這使得大數據集越來越多,同時以NVIDIA為代表推出的基于GPU的機器的計算能力大幅提高,這使得應用多層神經網絡解決實際問題成為可能。尤其是在ImageNet競賽中基于卷積神經網絡的模型以大幅優勢奪冠后,無論是學術界還是工業界,都投入大量人力財力研究和應用。以前認為人工智能不可能擊敗圍棋的論點也在今年AlphaGO戰勝李世石不攻自破,AlphaGO賴以成功的基礎就是幾千萬名家的對戰棋譜(數據集)和多層神經網絡(模型),當然還包括了強化學習和評估網絡等輔助下棋策略。

一個非常有趣的事實是,神經網絡在經歷了幾次寒冬后,科學家們為了保證科研成果能夠更大概率的發表,啟用了新名詞深度學習。(以neural network為關鍵詞的paper拒稿率很高)所以從本質上講,深度學習可以簡單的認為是很深層的神經網絡。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,428評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,024評論 3 413
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,285評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,548評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,328評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,878評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 42,971評論 3 439
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,098評論 0 286
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,616評論 1 331
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,554評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,725評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,243評論 5 355
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 43,971評論 3 345
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,361評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,613評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,339評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,695評論 2 370

推薦閱讀更多精彩內容