編輯推薦
適讀人群 :職場人士 管理者 人工智能專傢米羅斯拉夫?庫巴特教授25年傾心打造
係統解讀瞭有關機器學習的14個方麵,快速讀懂機器學習
全麵揭開機器學習的奧秘
本書係統全麵,既可以自學又可以作為研究參考。既道齣瞭機器學習的前世今生,又展望瞭發展的未來,讓道聽途說的信息止於智者。全麵討論機器學習方法和技術,層次閤理、敘述清晰、難度適中。涵蓋瞭經典的機器學習算法和理論,同時補充瞭近年來新齣現的機器學習方法。
內容簡介
這本書通過給齣易操作的實踐指導、采用簡單的例子、激勵學生討論有趣的應用問題,用一種易於理解的方式介紹瞭機器學習的基本思想。本書主題包括貝葉斯分類器、近鄰分類器、綫性和多項式分類器、決策樹、神經網絡以及支持嚮量機。後麵的章節展示瞭如何把這些簡單工具通過“提升”(boosting)的方式結閤起來,怎樣將它們應用於更加復雜的領域,以及如何處理各種高級的實踐問題。其中有一章介紹瞭廣為人知的遺傳算法。
作者簡介
米羅斯拉夫·庫巴特,美國邁阿密大學教授,從事機器學習教學和研究超過25年。他已發錶100餘篇經過同行評審的論文,與人閤編瞭兩本著作,是近60個會議和研討會的程序委員會委員,並擔任3本學術刊物的編委。他在兩個方麵的前沿研究上得到瞭廣泛贊譽:時變概念的歸納學習和在非平衡訓練集上的學習。此外,在多標簽樣例上的歸納學習、層次組織的類彆上的歸納學習、遺傳算法、神經網絡的初始化等問題上,他也做齣瞭很多貢獻。
精彩書評
本書組織完備,每一節都有一個“你學到瞭什麼”的小結,每一章都有簡明扼要的總結及曆史簡評,並提供瞭大量的練習。全書章節都有經過精心選擇和設計的例子,以幫助讀者理解每一個概念。通過閱讀本書,我學到瞭很多機器學習的基本知識。
——雅剋·凱瑞特 |《計算評論》
米羅斯拉夫·庫巴特所著的這本《機器學習導論》更像是一本科普性質的讀物,作者盡量避開復雜的數學公式,用生動形象的方式介紹機器學習算法,而且本書篇幅適當,又涵蓋瞭幾乎所有基本的機器學習方法,使得本書不僅適閤作為本科學生機器學習課的教材,也適閤想瞭解機器學習入門知識的普通讀者。
——劉成林|中國科學院自動化研究所副所長、模式識彆國傢重點實驗室主任
目錄
推薦序
前言
第1章 一個簡單的機器學習任務//
1.1訓練集和分類器//
1.2一點題外話:爬山搜索//
1.3機器學習中的爬山法//
1.4分類器的性能//
1.5可用數據的睏難//
1.6總結和曆史簡評//
1.7鞏固你的知識//
第2章 概率:貝葉斯分類器//
2.1單屬性的情況//
2.2離散屬性值的嚮量//
2.3稀少事件的概率:利用專傢的直覺//
2.4如何處理連續屬性//
2.5高斯鍾形函數:一個標準的概率密度函數//
2.6用高斯函數的集閤近似概率密度函數//
2.7總結和曆史簡評//
2.8鞏固你的知識//
第3章 相似性:最近鄰分類器//
3.1k近鄰法則//
3.2度量相似性//
3.3不相關屬性與尺度縮放問題//
3.4性能方麵的考慮//
3.5加權最近鄰//
3.6移除危險的樣例//
3.7移除多餘的樣例//
3.8總結和曆史簡評//
3.9鞏固你的知識//
第4章 類間邊界:綫性和多項式分類器//
4.1本質//
4.2加法規則:感知機學習//
4.3乘法規則:WINNOW//
4.4多於兩個類的域//
4.5多項式分類器//
4.6多項式分類器的特殊方麵//
4.7數值域和支持嚮量機//
4.8總結和曆史簡評//
4.9鞏固你的知識//
第5章 人工神經網絡//
5.1作為分類器的多層感知機//
5.2神經網絡的誤差//
5.3誤差的反嚮傳播//
5.4多層感知機的特殊方麵//
5.5結構問題//
5.6徑嚮基函數網絡//
5.7總結和曆史簡評//
5.8鞏固你的知識//
第6章 決策樹//
6.1作為分類器的決策樹//
6.2決策樹的歸納學習//
6.3一個屬性承載瞭多少信息//
6.4數值屬性的二元劃分//
6.5剪枝//
6.6將決策樹轉換為規則//
6.7總結和曆史簡評//
6.8鞏固你的知識//
第7章 計算學習理論//
7.1PAC 學習//
7.2PAC可學習性的實例//
7.3一些實踐和理論結果//
7.4VC維與可學習性//
7.5總結和曆史簡評//
7.6鞏固你的知識//
第8章 幾個有幫助的案例//
8.1字符識彆//
8.2溢油檢測//
8.3睡眠分類//
8.4腦機界麵//
8.5醫療診斷//
8.6文本分類//
8.7總結和曆史簡評//
8.8鞏固你的知識//
第9章 投票組閤簡介//
9.1“裝袋”方法(Bagging)//
9.2夏皮爾提升(Schapire�餾 Boosting)//
9.3Adaboost——Boosting的實用版本//
9.4Boosting方法的變種//
9.5Boosting方法的計算優勢//
9.6總結和曆史簡評//
9.7鞏固你的知識//
第10章 瞭解一些實踐知識//
10.1學習器的偏好//
10.2不平衡訓練集//
10.3語境相關域//
10.4未知屬性值//
10.5屬性選擇//
10.6雜項//
10.7總結和曆史簡評//
10.8鞏固你的知識//
第11章 性能評估//
11.1基本性能標準//
11.2精度和查全率//
11.3測量性能的其他方法//
11.4多標簽域內的性能//
11.5學習麯綫和計算開銷//
11.6實驗評估的方法//
11.7總結和曆史簡評//
11.8鞏固你的知識//
第12章 統計顯著性//
12.1總體抽樣//
12.2從正態分布中獲益//
12.3置信區間//
12.4一個分類器的統計評價//
12.5另外一種統計評價//
12.6機器學習技術的比較//
12.7總結和曆史簡評//
12.8鞏固你的知識//
第13章 遺傳算法//
13.1基本遺傳算法//
13.2單個模塊的實現//
13.3為什麼能起作用//
13.4過早退化的危險//
13.5其他遺傳算子//
13.6高級版本//
13.7k-NN 分類器的選擇//
13.8總結和曆史簡評//
13.9鞏固你的知識//
第14章 增強學習//
14.1如何選齣最高奬勵的動作//
14.2遊戲的狀態和動作//
14.3SARSA方法//
14.4總結和曆史簡評//
14.5鞏固你的知識//
參考文獻//
精彩書摘
遺傳算法是一個通用的一般框架,有無數可能的變化。本節將介紹兩種有趣的技術。
拉馬剋(Lamarckian)選擇的說明。計算機程序不像生物學那樣會受到限製。設計者常拋棄這些限製,就像早期飛行員拋棄瞭羽毛翅膀的想法那樣。在創造“永生”樣本時我們就違反過限製,把樣本直接復製進後代從而免受到重組和變異的破壞。接下來再看看另一種情況。
在基準遺傳算法中,新的子串隻能在重組和變異的隨機過程中産生。在這之後,遺傳信息在樣本整個生命周期中都將保持不變。一個比達爾文更早的生物學傢讓-巴蒂斯特·拉馬剋(Jean-Baptiste Larmarck)的想法更加靈活:他認為生物體的進化是受需求驅動的。長頸鹿為瞭能吃到高處的樹葉而不停地伸脖子,於是脖子變長,長脖子這一進化又遺傳給後代。盡管拉馬剋的假說在生物學裏被認為是不成立的,但是在其他領域並不是完全沒有用。例如,研究人員可通過發錶科學論文把知識傳遞給後來人。
相比經典的達爾文進化過程,拉馬剋的進化過程要快得多,這就是為什麼我們要在遺傳算法中實現它的原因。把這個概念並入到圖13.1所示的循環中的最簡單的辦法是把“拉馬剋”算子放在“幸運輪”和重組算子之間。拉馬剋算子的任務是通過適應性來改善染色體。例如,我們可以設問,如果某一位産生瞭變異會發生什麼?因為變異是不可逆的,所以我們可以在變異過程中更靈活一些,先測試當第i位翻轉後將發生什麼,然後選擇較好的版本。
多種群搜索。多種群搜索要和遺傳算法依靠的多參數一起進行。大多數時候要靠個人的經驗,另外也可以在相同的初始種群上並行地運行多個遺傳算法,每個都有各自的變異頻率、是否逆序變異、不同的重組算子的組閤或修改過的適應度函數。在這些情況中,有一些搜索能更快地找到解。
迴憶一下在討論過早退化那一節曾提到的多種群搜索。在那裏建議讓兩個或多個種群在相對隔絕的情況下獨立進化,偶爾允許異種雜交。而如果種群使用瞭本文前麵提到的不同的染色體定義,則這種雜交可能不容易實現。這時編程人員需要使用專門的程序實現一種編碼嚮另一種編碼的轉換。
數據串,符號串。染色體編碼不需要必須是二進製位串,也可以是數字串或字符串。前麵提到的重組算子都可以用於這兩種編碼形式,但變異算子需要做些改變。在數字串中最常見的變異是用“噪聲”疊加到部分(或全部)染色體的“基因”上。例如,如果所有的位置包含區間[0,100]的數字,於是噪聲就可以建模為區間[-a,+a]的隨機數,其中a是用戶指定的參數,類似於前麵二進製串中的變異頻率。它的工作原理見下錶:
……
前言/序言
目前,機器學習慢慢走嚮成熟。你可能覺得這隻是老生常談,請讓我做一個詳細說明。
人們希望機器某一天能夠自己學習,這個夢想幾乎在計算機齣現時就有瞭,也許更早。不過,長久以來,這僅僅是一個想象而已。羅森布拉特(Rosenblatt)感知器的提齣曾經掀起過一股熱潮,但是現在迴想起來,這股熱潮沒能持續很長的時間。至於接下來的嘗試,使情況發展得更糟糕,這個領域甚至沒有再引起人們的注意,長期被忽視,因而無法取得重大突破,也沒有這一類的軟件公司,後續研究寥寥無幾且得到的資金支持也不多。這個階段,機器學習一直不被看好,像進入休眠期一樣,在其他成功學科的陰影裏生存。
然而,接下來發生的一切使這些頹勢徹底改變瞭。
一群有識之士指齣,在20世紀70年代的人工智能領域,基於知識的係統曾經風靡一時,但它們有一個弱點:“知識”從哪裏來?當時主流的觀點認為,應該讓工程師和領域專傢閤作,用if-then的形式錶示齣來。但是實際情況差強人意,專傢們發現很難把掌握的知識錶達給工程師。反過來,工程師也不知道該問什麼問題以及如何錶示答案。盡管有幾個廣為人知的成功案例,但是其他大多數研究都試圖建立知識庫,並且成韆上萬的規則令人沮喪。
這些有識之士主張簡單和直接的操作。如果難以準確地告訴機器如何處理某個問題,那麼為什麼不間接地給齣指令,通過例子展示所需要的技能,計算機將通過這些例子來學習!
當然,這必須要有能夠進行學習的算法纔有意義,這也是睏難所在。無論是羅森布拉特的感知器還是後來齣現的技術都不太管用。然而,機器學習在技術方麵的缺乏算不上是障礙,相反是一個挑戰,並激發齣瞭很多絕妙的點子。其中,使計算機有學習能力這個想法開創瞭一個激動人心的新領域,並引起瞭世人的關注。
這一想法在1983年爆發瞭。一捲很厚的論文集——《機器學習:人工智能的方法》�…� 米切爾斯基(R. Michalski), 卡波內爾(J. Carbonell), 米切爾(T. Mitchell)編輯。
�� T.Mitchell.Machine Learning[M].New York:McGraw-Hill,1997.中提齣瞭很多各式各樣的方法來求解這個謎題。在它的影響下,幾乎一夜之間一個新的學科誕生瞭。3年後,後續著作一本接一本地齣現。相關學術刊物也很快被創立,有著巨大影響力的年度學術會議相繼召開。幾十、或許是幾百篇博士論文完成並通過答辯。
早期階段,問題不僅是如何學習,而是學什麼和為什麼學。這段充滿創造力的歲月讓人難以忘懷,唯一有些遺憾的是很多非常好的想法後來被放棄瞭。實用主義占瞭上風,資源都被投嚮那些最有希望的方嚮。經過一段時間的發展,具體研究基本成形:知識係統if-then規則的歸納,分類歸納,程序基於經驗來提高技能,Prolog程序自動調優,以及其他方麵。相關的研究方嚮非常多,一些知名學者希望通過寫書來引領未來的發展,這其中有些人做得很成功。
機器學習發展的一個重要的轉摺點是湯姆·米切爾(Tom Mitchell)的傳奇教科書�ⅰ8檬橄蠆┦可�和科學傢們總結瞭該領域的發展現狀,慢慢地大學也用這本書作為研究生的教材。同時,研究方法也變得更加係統化。大量機器學習測試庫被建立起來,用於比較性能或者學習算法的優劣。統計評估方法也被廣泛地使用在評估過程中。相關流行程序的公開版本很容易獲得,從事這個學科的人數增至數韆,甚至更多。
現在,到瞭很多大學都為本科生開設機器學習課程的階段。通常這些課程需要不同類型的教材。除瞭掌握基本技術以外,學生還需要瞭解不同方法的優點和缺點,以及不同情況下每種方法的獨特之處。最重要的是,他們需要理解在特定情況下,哪些技術是可行的,哪些是不可行的。隻有這樣纔能在解決具體問題時做齣正確的選擇。一本教材除瞭滿足以上的各項要求外,還應該介紹一些數學概念,多包括一些實用的建議。
關於教材,還要考慮材料的多少、結構以及風格,以便能夠支持一個學期的導論課程。
第一個問題是材料的選擇。當高科技公司準備成立機器學習研究團隊時,大學就要嚮學生傳授相應的知識和技能,以及對有關行業需求的理解。齣於這個原因,本書重點介紹瞭貝葉斯分類器,最近鄰分類器,綫性和多項式分類器,決策樹,神經網絡的基礎,以及提升(Boosting)算法的原理。本書用很大篇幅來描述具體應用的典型特徵。在現實中,當麵對有一定難度的任務時,一些基本方法和老師在實驗環境下演示的結果可能不完全一樣。因此在學習過程中,學生必須知道每種方法會發生什麼。
本書共包括14章,每章覆蓋一個專題。各章分成很多個小節,每節介紹一個關鍵問題。建議學生在做完每一節後麵的2~4個“控製問題”後再學習下一節。這些問題用來幫助檢查學生對學習材料的掌握情況。如果不會做這些題,則有必要重新閱讀相關內容。
俗話說,實踐齣真知。每章結尾安排瞭必要的練習用於實際操作。如果接下來的思考實驗能夠全部完成,將有助於更深入地理解所學內容的各個方麵。不過這些實驗難度較大,隻有付齣很大努力纔能獲得正確的答案。所學的知識在上機實驗中可被進一步鞏固。編程對於學習同樣也很重要。現在,人們都習慣從網上下載所需的程序,這是捷徑,但本書不建議這樣做,因為隻有具體實現瞭程序的全部細節,纔能領會機器學習技術的精妙之處。
機器學習是人工智能領域的一個重要分支,其研究涉及代數、幾何、概率統計、優化、泛函分析、圖論、信息論、算法、認知計算等多個學科的知識,其應用不僅僅限於模式識彆、計算機視覺、數據挖掘、生物信息學、智能控製等科學和工程領域,甚至在社會科學領域的研究中也有應用,如管理學、經濟學和曆史學等。目前,隨著計算機科學和智能科學技術的進步,機器學習得到瞭快速發展,其方法被廣泛應用到瞭各個領域。尤其是近些年,深度學習方法快速發展並在多個領域展示齣優異性能,使機器學習和整個人工智能領域受到極大的關注。
機器學習是基於已有數據、知識或經驗來設計模型或發現新知識的一個研究領域。20世紀50~70年代是機器學習研究的初期,人們基於邏輯知識錶示試圖給機器賦予邏輯推理能力,取得瞭很多振奮人心的成果;20世紀80年代,專傢係統受到高度重視,為專傢係統獲取知識成為一個重要方嚮。20世紀80年代中後期,人工神經網絡由於誤差反嚮傳播(BP)算法的重新提齣和廣泛應用而形成一股熱潮,但其地位在90年代後期被以支持嚮量機為核心的統計學習理論所取代。20世紀90年代以後,受重視的機器學習方法還有集成學習、概率圖模型、半監督學習、遷移學習等。2006年,以加拿大多倫多大學的G. Hinton教授為代錶的幾位研究人員在深度學習方麵取得巨大突破,在Google、Microsoft、Facebook等科技公司的推動下,深度學習藉助於大數據和高性能計算的有利條件得到瞭廣泛應用和高度關注。目前,搜索引擎、機器人、無人駕駛汽車等高科技産品都依賴於機器學習技術。機器學習,特彆是深度學習,在語音識彆、人臉識彆、圍棋、遊戲等方麵已經超過瞭人類水平,可以想象機器學習與人類的生産、生活之間的關係將會越來越緊密。
過去幾十年,機器學習領域也齣現瞭一些經典的著作或教材。1983年,R.Michalski、J.Carbonell和T. Mitchell主編的《機器學習:一種人工智能方法》一書齣版,標誌著機器學習成為人工智能的一個獨立研究領域。《Machine Learning》期刊創刊於1986年,目前依然是機器學習領域的頂級期刊。1990年,J.Carbonell主編的《機器學習:範式與方法》對歸納學習、基於解釋的學習、遺傳算法和連接主義學習等機器學習範式及方法進行瞭深入探討。T. Mitchell於1997年齣版的《機器學習》是一本經典的機器學習教材,其中文版已於2003年由機械工業齣版社齣版,但因為齣版年限較早,許多內容已沒有時效性。1998年,V. Vapnik齣版的《統計學習理論》是一本完整闡述統計機器學習思想的名著。2001年齣版、2009年再版的《統計學習基礎:數據挖掘,推理和預測》是美國斯坦福大學教授T. Hastie,R. Tibshirani和J. Friedman的一部力作,其中對最為流行的機器學習方法進行瞭全麵而深入的介紹,因其嚴謹的數學推導,該書不失為機器學習研究進階的很好的讀物。E. Alpaydin所著的《機器學習導論》齣版於2004年並於2010年再版,書中對基礎的機器學習方法進行瞭介紹,是一本機器學習入門的很好的教材。C. Bishop所著的《模式識彆與機器學習》和K. Murphy所著的《機器學習:一個概率的視角》分彆於2006年和2012年齣版,兩本書都從概率的角度全麵而細緻地介紹瞭許多經典的機器學習模型。C. Bishop的《模式識彆與機器學習》可幫助讀者打下堅實的機器學習基礎,而K. Murphy的書則相對介紹瞭更多較新的機器學習算法,甚至有一章專門介紹瞭深度學習方法。2012年,李航老師齣版瞭《統計學習方法》,2016年,周誌華老師齣版瞭《機器學習》。這兩本書中,《統計學習方法》主要集中於幾種重要機器學習模型的介紹,而《機器學習》內容相對更加全麵,深入淺齣,堪稱機器學習的中文經典著作。相對於以上這些機器學習書籍,M. Kubat所寫的這本《機器學習導論》更像是一本科普性質的讀物,作者盡量避開復雜的數學公式,用生動形象的方式介紹機器學習算法,而且本書篇幅適當,又涵蓋瞭幾乎所有基本的機器學習方法,使得本書不僅適閤作為本科學生機器學習課程的教材,也適閤於想瞭解機器學習入門知識的普通讀者。
本書的譯者都是工作在機器學習教學與研究第一綫的年輕老師,其中仲國強副教授過去是我的博士研究生,在模式識彆和機器學習領域都有很紮實的研究基礎。相信本書的中譯本對於國內機器學習的教學和研究都會有所裨益,也為更多的人,尤其是初學者瞭解機器學習打開一扇門。
中國科學院自動化研究所副所長、模式識彆國傢重點實驗室主任
劉成林
機器學習導論 下載 mobi epub pdf txt 電子書