1. 程式人生 > >機器學習發展簡史

機器學習發展簡史

本文主要參考中科院自動化研究所複雜系統與智慧科學實驗室王珏研究員《關於機器學習的討論》,討論機器學習的描述,理論基礎,發展歷史以及研究現狀。

0 引言

20世紀90年代初,當時的美國副總統提出了一個重要的計劃——國家資訊基本設施計劃(NationalInformation Infrastructure,NII)。這個計劃的技術含義包含了四個方面的內容:
(1)不分時間與地域,可以方便地獲得資訊。
(2)不分時間與地域,可以有效地利用資訊。
(3)不分時間與地域,可以有效地利用軟硬體資源。
(4)保證資訊保安。
本文主要討論解決“資訊有效利用”問題,其本質是:如何根據使用者的特定需求從海量資料中建立模型或發現有用的知識。對電腦科學來說,這就是機器學習。
電腦科學,特別是人工智慧的研究者一般公認Simon對學習的論述:“如果一個系統能夠通過執行某個過程改進它的效能,這就是學習。”這是一個相當廣泛的說明, 其要點是“系統”, 它涵蓋了計算系統、控制系統以及人系統等, 對這些不同系統的學習, 顯然屬於不同的科學領域。即使計算系統, 由於目標不同, 也分為了“從有限觀察概括特定問題世界模型的機器學習”、“發現觀測資料中暗含的各種關係的資料分析”,以及“從觀測資料探勘有用知識的資料探勘”等不同分支。由於這些分支發展的各種方法的共同目標都是“從大量無序的資訊到簡潔有序的知識”,因此,它們都可以理解為Simon 意義下的“過程”,也就都是“學習”。

1 機器學習描述

本文將討論限制在“從有限觀察概括特定問題世界模型的機器學習”與“從有限觀察發現觀測資料中暗含的各種關係的資料分析”的方法上, 並統稱其為機器學習。
我們描述機器學習如下:
令W是給定世界的有限或無限的所有觀測物件的集合, 由於我們觀察能力的限制, 我們只能獲得這個世界的一個有限的子集Q W, 稱為樣本集。機器學習就是根據這個樣本集, 推算這個世界的模型, 使它對這個世界(儘可能地)為真。
這個描述隱含了三個需要解決的問題:
(1) 一致: 假設世界W與樣本集Q有相同的性質。例如,如果學習過程基於統計原理,獨立同分布( i. i. d )就是一類一致條件。
(2) 劃分: 將樣本集放到n維空間,尋找一個定義在這個空間上的決策分介面(等價關係),使得問題決定的不同物件分在不相交的區域。
(3) 泛化: 泛化能力是這個模型對世界為真程度的指標。從有限樣本集合, 計算一個模型,使得這個指標最大(最小)。
這些問題對觀測資料提出了相當嚴厲的條件,首先需要人們根據一致假設採集資料,由此構成機器學習演算法需要的樣本集; 其次, 需要尋找一個空間, 表示這個問題; 最後, 模型的泛化指標需要滿足一致假設, 並能夠指導演算法設計。這些條件限制了機器學習的應用範圍。

2 機器學習的發展歷史

2.1 機器學習與人工智慧

機器學習是人工智慧研究的核心內容。它的應用已遍及人工智慧的各個分支,如專家系統、自動推理、自然語言理解、模式識別、計算機視覺、智慧機器人等領域。
人工智慧涉及到諸如意識(consciousness)、自我(self)、心靈(mind)(包括無意識的精神(unconscious_mind))等等問題。人唯一瞭解的智慧是人本身的智慧,這是普遍認同的觀點。但是我們對我們自身智慧的理解都非常有限,對構成人的智慧的必要元素也瞭解有限,所以就很難定義什麼是“人工”製造的“智慧”了。因此人工智慧的研究往往涉及對人的智慧本身的研究。其它關於動物或其它人造系統的智慧也普遍被認為是人工智慧相關的研究課題。下圖展示了人工智慧的發展路線:
機器學習是人工智慧研究發展到一定階段的必然產物。從 20 世紀50 年代到 70 年代初,人工智慧研究處於“推理期”,人們認為只要給機器賦予邏輯推理能力,機器就能具有智慧。這一階段的代表性工作主要有 A. Newell 和 H. Simon 的“邏輯理論家”程式以及此後的“通用問題求解”程式等,這些工作在當時取得了令人振奮的成果。例如,“邏輯理論家”程式在 1952 年證明了著名數學家羅素和懷特海的名著《數學原理》中的 38 條定理,在1963年證明了全部的52 條定理,而且定理 2.85甚至比羅素和懷特海證明得更巧妙。A. Newell和 H. Simon因此獲得了 1975 年圖靈獎。然而,隨著研究向前發展,人們逐漸認識到,僅具有邏輯推理能力是遠遠實現不了人工智慧的。E.A. Feigenbaum等人認為,要使機器具有智慧,就必須設法使機器擁有知識。在他們的倡導下,20 世紀 70 年代中期開始,人工智慧進入了“知識期”。在這一時期,大量專家系統問世,在很多領域做出了巨大貢獻。E.A. Feigenbaum 作為“知識工程”之父在 1994 年獲得了圖靈獎。但是,專家系統面臨“知識工程瓶頸”,簡單地說,就是由人來把知識總結出來再教給計算機是相當困難的。於是,一些學者想到,如果機器自己能夠學習知識該多好!實際上,圖靈在1950年提出圖靈測試的文章中,就已經提到了機器學習的可能,而20世紀50年代其實已經開始有機器學習相關的研究工作,主要集中在基於神經網路的連線主義學習方面,代表性工作主要有 F. Rosenblatt 的感知機、B. Widrow 的 Adaline 等。在 20 世紀 6、70 年代,多種學習技術得到了初步發展,例如以決策理論為基礎的統計學習技術以及強化學習技術等,代表性工作主要有 A.L. Samuel 的跳棋程式以及 N.J. Nilson 的“學習機器”等,20 多年後紅極一時的統計學習理論的一些重要結果也是在這個時期取得的。在這一時期,基於邏輯或圖結構表示的符號學習技術也開始出現,代表性工作有 P. Winston的“結構學習系統”、R.S. Michalski等人的“基於邏輯的歸納學習系統”、E.B. Hunt 等人的“概念學習系統”等。1980 年夏天,在美國卡內基梅隆大學舉行了第一屆機器學習研討會;同年,《策略分析與資訊系統》連出三期機器學習專輯;1983年,Tioga出版社出版了R.S. Michalski、J.G. Carbonell和T.M. Mitchell主編的《機器學習:一種人工智慧途徑》,書中彙集了 20 位學者撰寫的 16 篇文章,對當時的機器學習研究工作進行了總結,產生了很大反響;1986 年,《Machine Learning》創刊;1989 年,《Artificial Intelligence》出版了機器學習專輯,刊發了一些當時比較活躍的研究工作,其內容後來出現在J.G. Carbonell主編、MIT出版社 1990 年出版的《機器學習:風範與方法》一書中。總的來看,20 世紀 80 年代是機器學習成為一個獨立的學科領域並開始快速發展、各種機器學習技術百花齊放的時期。R.S. Michalski等人中把機器學習研究劃分成“從例子中學習”、“在問題求解和規劃中學習”、“通過觀察和發現學習”、“從指令中學習”等範疇;而 E.A. Feigenbaum在著名的《人工智慧手冊》中,則把機器學習技術劃分為四大類,即“機械學習”、“示教學習”、“類比學習”、“歸納學習”。

2.2 機器學習的理論基礎

機器學習的科學基礎之一是神經科學, 然而, 對機器學習進展產生重要影響的是以下三個發現, 分別是:
(1) James關於神經元是相互連線的發現。
(2) McCulloch 與Pitts 關於神經元工作方式是“興奮”和“抑制”的發現。
(3) Hebb 的學習律(神經元相互連線強度的變化)。
其中, McCulloch 與Pitts 的發現對近代資訊科學產生了巨大的影響。對機器學習, 這項成果給出了近代機器學習的基本模型, 加上指導改變連線神經元之間權值的Hebb學習律,成為目前大多數流行的機器學習演算法的基礎。
1954年, Barlow 與Hebb 在研究視覺感知學習時,分別提出了不同假設: Barlow 倡導單細胞學說, 假設從初級階段而來的輸入集中到具有專一性響應特點的單細胞, 並使用這個神經單細胞來表象視覺客體。這個考慮暗示, 神經細胞可能具有較複雜的結構; 而Hebb主張視覺客體是由相互關聯的神經細胞集合體來表象, 並稱其為ensemble。在神經科學的研究中, 儘管這兩個假設均有生物學證據的支援, 但是, 這個爭論至今沒有生物學的定論。這個生物學的現實, 為我們電腦科學家留下了想象的空間, 由於在機器學習中一直存在著兩種相互補充的不同研究路線, 這兩個假設對機器學習研究有重要的啟示作用。
在機器學習劃分的研究中, 基於這兩個假設, 可以清晰地將機器學習發展歷程總結為: 以感知機、BP與SVM 等為一類;以樣條理論、k-近鄰、Madalin e、符號機器學習、叢集機器學習與流形機器學習等為另一類。
在McCulloch 與Pitts 模型的基礎上, 1957 年, Rosenblatt 首先提出了感知機演算法,這是第一個具有重要學術意義的機器學習演算法。這個思想發展的坎坷歷程, 正是機器學習研究發展歷史的真實寫照。感知機演算法主要貢獻是: 首先, 借用最簡單的McCulloch與Pitts模型作為神經細胞模型; 然後,根據Hebb叢集的考慮, 將多個這樣的神經細胞模型根據特定規則叢集起來,形成神經網路, 並將其轉變為下述機器學習問題: 計算一個超平面, 將在空間上不同類別標號的點劃分到不同區域。在優化理論的基礎上, Rosenblatt 說明, 如果一個樣本集合是線性可分, 則這個演算法一定可以以任何精度收斂。由此導致的問題是, 對線性不可分問題如何處理。
1969年,Minsky 與Paper出版了對機器學習研究具有深遠影響的著作Perceptron(《感知機》)。目前, 人們一般的認識是, 由於這本著作中提出了XOR 問題, 從而扼殺了感知機的研究方向。然而, 在這本著作中對機器學習研究提出的基本思想, 至今還是正確的, 其思想的核心是兩條:
(1) 演算法能力: 只能解決線性問題的演算法是不夠的, 需要能夠解決非線性問題的演算法。
(2) 計算複雜性: 只能解決玩具世界問題的演算法是沒有意義的, 需要能夠解決實際世界問題的演算法。
在1986 年, Rumelhart 等人的BP 演算法解決了XOR 問題, 沉寂近二十年的感知機研究方向重新獲得認可,人們自此重新開始關注這個研究方向, 這是Rumelhart等人的重要貢獻。
在20 世紀60 年代的另一個重要研究成果來自Widrow。1960 年,Widrow 推出了Madaline 模型, 在演算法上,對線性不可分問題, 其本質是放棄劃分樣本集的決策分介面連續且光滑的條件, 代之分段的平面。從近代的觀點來看, 這項研究與感知機的神經科學假設的主要區別是: 它是確認Barlow 假設中神經細胞具有較複雜結構的思想,由此,將線性模型(例如, 感知機)考慮為神經細胞模型( 而不是簡單的McCulloch與Pitts模型) ,然後, 再基於Hebb 神經元集合體假設, 將這些區域性模型叢集為對問題世界的表徵, 由此解決線性不可分問題。但是, 這項研究遠不如感知機著名, 其原因是: 其一, 儘管Madaline可以解決線性不可分問題, 但是, 其解答可能是平凡的; 其二,Widrow 沒有給出其理論基礎, 事實上,其理論基礎遠比感知機複雜, 直到1990 年, Schapire根據Valiant 的“概率近似正確(PAC)”理論證明了“弱可學習定理”之後, 才真正引起人們的重視。
進一步比較機器學習中兩個不同路線的神經科學啟示是有趣的: 對機器學習來說, 它們最顯著的差別是對神經細胞模型的假設, 例如, 感知機是以最簡單的McCulloch與Pitts 模型作為神經細胞模型, 而Madaline 是以問題世界的區域性模型作為神經細胞模型,兩種方法都需要根據Hebb 思想叢集。因此, 對機器學習研究, 兩個神經科學的啟示是互補的。但是, 兩者還有區別: 前者強調模型的整體性, 這與Barlow“表徵客體的單一細胞論”一致, 因此, 我們稱其為Barlow 路線; 而後者則強調對世界的表徵需要多個神經細胞叢集, 這與Hebb“表徵客體的多細胞論”一致, 我們稱其為Hebb 路線。鑑於整體模型與區域性模型之間在計算上有本質差別, 儘管根據Barlow 與Hebb 假設區分機器學習的方法。
在這一節的最後, 將1989 年Carbonell對機器學習以後十年的展望與十年後Diet terich 的展望作一個對比, 可能是有趣的, 我們希望以此說明機器學習研究由於面臨問題的改變所發生的變遷(表1) 。

3 統計機器學習

統計機器學習是近幾年被廣泛應用的機器學習方法,事實上,這是一類相當廣泛的方法。更為廣義地說, 這是一類方法學。當我們獲得一組對問題世界的觀測資料, 如果我們不能或者沒有必要對其建立嚴格物理模型,我們可以使用數學的方法, 從這組資料推算問題世界的數學模型, 這類模型一般沒有對問題世界的物理解釋, 但是, 在輸入輸出之間的關係上反映了問題世界的實際, 這就是“黑箱”原理。一般來說,“黑箱”原理是基於統計方法的(假設問題世界滿足一種統計分佈) , 統計機器學習本質上就是“黑箱”原理的延續。與感知機時代不同, 由於這類機器學習科學基礎是感知機的延續, 因此,神經科學基礎不是近代統計機器學習關注的主要問題, 數學方法成為研究的焦點。

3.1 統計機器學習概述

統計機器學習方法的基本假設是同類資料具有一定的統計規律性。其目標是從假設空間(也即模型空間,從輸入空間到輸出空間的對映函式空間)中尋找一個最優的模型。
通過對統計機器學習目標的描述,我們可以發現統計機器學習方法主要研究三個問題:
(1)模型假設:這個問題解決的是如何將樣本從輸入空間轉化到輸出空間的,它往往是一個後驗概率或者是一個對映函式。
(2)模型選擇:模型所在空間也就是假設空間,往往包含無窮多個滿足假設的可選模型,如何從假設空間中選擇一個最優模型,應該採用怎樣的選擇標準?這就是模型選擇應該解決的問題。一般採用損失函式來制定模型選擇策略,將模型選擇轉化為一個最優化問題來求解。常用的損失函式包括0-1損失、平方誤差損失、絕對損失、對數損失等等。通常我們也會在損失函式中加上正則化項,從而降低模型的複雜性,提高模型的泛化能力,拒絕Overfitting。
(3)學習演算法:學習演算法是用來解決最優化問題的方法。在給定損失函式後,如何快速找到損失函式約定條件下的最優解就是學習演算法需要解決的問題。常用的學習演算法包括梯度下降、擬牛頓法等等。
統計機器學習方法的三個問題都是非常值得研究的,對於模型假設這個問題,如果模型都選擇錯誤,無論後面如何選擇模型,也都難以反映資料集的正確分佈。因此,首先需要選擇對模型做出正確假設,如何選擇模型的假設空間是一個學問,除掉交叉驗證的方法之外還有不少其他方法。模型選擇的關鍵在於如何設計損失函式,而損失函式通常包括損失項和正則化項,不同的模型選擇策略通常選出的模型也非常不同,從而導致模型的預測效果也大大不同。學習演算法比較定式,不同的學習演算法不僅學習的效率不同,而且學習出來的效果也不一樣。

3.2 統計機器學習的理論基礎

機器學習早期研究的特點是以劃分為主要研究課題, 這個考慮一直延續到Vapnik 在20 世紀70 年代發展的關於有限樣本統計理論, 並於20 世紀80 年代末流傳到西方之後,在泛化能力意義下指導演算法設計才成為人們關注的主要問題, 這是本文需要進一步討論的問題。
儘管以Open 問題驅動的BP 演算法研究大大推動了感知機研究方向的發展, 然而, 近十年電腦科學與技術的快速發展,使得人們獲得資料的能力大大提高, BP 這類演算法已不能完全適應這種需求, 同時,Minsky 的演算法設計原則愈顯重要。
然而,沿著Barlow 路線的機器學習研究並沒有終止,自1992年開始,Vapnik 將有限樣本統計理論介紹給全世界, 並出版了統計機器學習理論的著作儘管這部著作更多地是從科學、哲學上討論了機器學習的諸多問題, 但是, 其暗示的演算法設計思想對以後機器學習演算法研究產生了重要的影響。
Vapnik 的研究主要涉及機器學習中兩個相互關聯的問題, 泛化問題與表示問題。前者包含兩個方面的內容: 其一, 有限樣本集合的統計理論; 其二, 概率近似正確的泛化描述。而後者則主要集中在核函式, 由此, 將演算法設計建立線上性優化理論之上。
Valiant的“概率近似正確”學習的考慮在機器學習的發展中扮演了一個重要的角色。1984 年,Valiant 提出了機器學習的一個重要考慮, 他建議評價機器學習演算法應該以“概率近似正確(PAC)”為基礎,而不是以傳統模式識別理論中以概率為1 成立為基礎,由此, 他引入了類似在數學分析中的ε-δ語言來描述PAC, 這個考慮對近代機器學習研究產生了重要的影響。首先, 統計機器學習理論中泛化不等式的推導均以這個假設為基礎;其次, 基於這個考慮的“弱可學習理論”,為研究基於Hebb 路線的學習演算法設計奠定了理論基礎, 併產生被廣泛應用的叢集機器學習理念( ensemble )。

3.3 統計機器學習的研究現狀

3.3.1 SVM與Deep Learning的競爭

當前統計學習領域最熱門方法主要有deep learning和SVM(supportvector machine),它們是統計學習的代表方法。
可以認為神經網路與支援向量機都源自於感知機(Perceptron)。感知機是由Rosenblatt發明的線性分類模型(1958年)。感知機對線性分類有效,但現實中的分類問題通常是非線性的。
神經網路與支援向量機(包含核方法)都是非線性分類模型。1986年,Rummelhart與McClelland發明了神經網路的學習演算法Back Propagation。後來,Vapnik等人於1992年提出了支援向量機。神經網路是多層(通常是三層)的非線性模型,支援向量機利用核技巧把非線性問題轉換成線性問題。
神經網路與支援向量機一直處於“競爭”關係。SVM應用核函式的展開定理,無需知道非線性對映的顯式表示式;由於是在高維特徵空間中建立線性學習機,所以與線性模型相比,不但幾乎不增加計算的複雜性,而且在某種程度上避免了“維數災難”。而早先的神經網路演算法比較容易過訓練,大量的經驗引數需要設定;訓練速度比較慢,在層次比較少(小於等於3)的情況下效果並不比其它方法更優。
神經網路研究領域領軍者Hinton在2006年提出了神經網路Deep Learning演算法,使神經網路的能力大大提高,向支援向量機發出挑戰。Deep Learning假設神經網路是多層的,首先用RestrictedBoltzmann Machine(非監督學習)學習網路的結構,然後再通過Back Propagation(監督學習)學習網路的權值。

3.3.2 支援向量機SVM

SVM方法是通過一個非線性對映p,把樣本空間對映到一個高維乃至無窮維的特徵空間中(Hilber空間),使得在原來的樣本空間中非線性可分的問題轉化為在特徵空間中的線性可分的問題。升維,就是把樣本向高維空間做對映,一般情況下這會增加計算的複雜性,甚至會引起“維數災難”,因而人們很少問津。但是作為分類、迴歸等問題來說,很可能在低維樣本空間無法線性處理的樣本集,在高維特徵空間中卻可以通過一個線性超平面實現線性劃分(或迴歸)。一般的升維都會帶來計算的複雜化,SVM方法巧妙地解決了這個難題:應用核函式的展開定理,就不需要知道非線性對映的顯式表示式;由於是在高維特徵 空間中建立線性學習機,所以與線性模型相比,不但幾乎不增加計算的複雜性,而且在某種程度上避免了“維數災難”.這一切要歸功於核函式的展開和計算理論.
選擇不同的核函式,可以生成不同的SVM,常用的核函式有以下4種:
⑴ 性核函式K(x,y)=x·y;
⑵多項式核函式K(x,y)=[(x·y)+1]d;
⑵ 向基函式K(x,y)=exp(-|x-y|^2/d^2)
⑶ 層神經網路核函式K(x,y)=tanh(a(x·y)+b).

3.3.2.1 SVM有如下主要幾個特點:

(1)非線性對映是SVM方法的理論基礎,SVM利用內積核函式代替向高維空間的非線性對映;
(2)對特徵空間劃分的最優超平面是SVM的目標,最大化分類邊際的思想是SVM方法的核心;
(3)支援向量是SVM的訓練結果,在SVM分類決策中起決定作用的是支援向量。(4)SVM 是一種有堅實理論基礎的新穎的小樣本學習方法。它基本上不涉及概率測度及大數定律等,因此不同於現有的統計方法。從本質上看,它避開了從歸納到演繹的傳統過程,實現了高效的從訓練樣本到預報樣本的“轉導推理”,大大簡化了通常的分類和迴歸等問題。
(5)SVM 的最終決策函式只由少數的支援向量所確定,計算的複雜性取決於支援向量的數目,而不是樣本空間的維數,這在某種意義上避免了“維數災難”。
(6)少數支援向量決定了最終結果,這不但可以幫助我們抓住關鍵樣本、“剔除”大量冗餘樣本,而且註定了該方法不但演算法簡單,而且具有較好的“魯棒”性。這種“魯棒”性主要體現在:
①增、刪非支援向量樣本對模型沒有影響;
②支援向量樣本集具有一定的魯棒性;
③有些成功的應用中,SVM 方法對核的選取不敏感

3.3.2.2 SVM的兩個不足:

(1) SVM演算法對大規模訓練樣本難以實施
由 於SVM是藉助二次規劃來求解支援向量,而求解二次規劃將涉及m階矩陣的計算(m為樣本的個數),當m數目很大時該矩陣的儲存和計算將耗費大量的機器記憶體 和運算時間。針對以上問題的主要改進有有J.Platt的SMO演算法、T.Joachims的SVM、C.J.C.Burges等的PCGC、張學工的 CSVM以及O.L.Mangasarian等的SOR演算法。
(2) 用SVM解決多分類問題存在困難
經典的支援向量機演算法只給出了二類分類的演算法,而在資料探勘的實際應用中,一般要解決多類的分類問題。可以通過多個二類支援向量機的組合來解決。主要有一對多組合模式、一對一組合模式和SVM決策樹;再就是通過構造多個分類器的組合來解決。主要原理是克服SVM固有的缺點,結合其他演算法的優勢,解決多類問題的分類精度。如:與粗集理論結合,形成一種優勢互補的多類問題的組合分類器。

3.3.2 DeepLearning

DeepLearning本身算是MachineLearning的一個分支,簡單可以理解為Neural Network的發展。大約二三十年前,Neural Network曾經是ML領域特別火熱的一個方向,但是後來確慢慢淡出了,原因包括以下幾個方面:
(1) 比較容易過訓練,引數比較難確定;
(2) 訓練速度比較慢,在層次比較少(小於等於3)的情況下效果並不比其它方法更優;
所以中間有大約20多年的時間,神經網路被關注很少,這段時間基本上由SVM和Boosting演算法主導。但是,Hinton堅持下來並最終(和Bengio、Yann.lecun等)提成了一個實際可行的Deep Learning框架。

3.3.3.1 Deep Learning與傳統的神經網路異同

Deep Learning與傳統的神經網路的相同在於Deep Learning採用了神經網路相似的分層結構,系統由包括輸入層、隱層(多層)、輸出層組成的多層網路,只有相鄰層節點之間有連線,同一層以及跨層節點之間相互無連線,每一層可以看作是一個Logistic Regression模型;這種分層結構,是比較接近人類大腦的結構的。
而為了克服神經網路訓練中的問題,DL採用了與神經網路很不同的訓練機制。傳統神經網路中,採用的是Back Propagation的方式進行,簡單來講就是採用迭代的演算法來訓練整個網路,隨機設定初值,計算當前網路的輸出,然後根據當前輸出和label之間的 差去改變前面各層的引數,直到收斂(整體是一個梯度下降法)。而DeepLearning整體上是一個Layer-Wise的訓練機制。這樣做的原因是因為,如果採用Back Propagation的機制,對於一個Deep Network(7層以上),殘差傳播到最前面的層已經變得太小,出現所謂的Gradient Diffusion。

3.3.3.2 Deep Learning訓練過程

(1)採用無標定資料(有標定資料也可)分層訓練各層引數,這一步可以看作是一個無監督訓練過程,是和傳統神經網路區別最大的部分(這個過程可以看作是feature learning過程):具體的,先用無標定資料訓練第一層,訓練時可以採用auto-encoder來學習第一層的引數(這一層可以看作是得到一個使得輸出和輸入差別最小的三層神經網路的隱層),由於模型capacity的限制以及稀疏性約束,使得得到的模型能夠學習到資料本身的結構,從而得到比輸入更具有表示能力的特徵;在學習得到第n-1層後,將n-1層的輸出作為第n層的輸入,訓練第n層,由此分別得到各層的引數;這裡面需要重點理解auto-encoder以及sparse的機制的原理和作用。可以參考這篇文章。
(2)基於第一步得到的各層引數進一步fine-tune整個多層模型的引數,這一步是一個有監督訓練過程;第一步類似神經網路的隨機初始化初值過程,由於DL 的第一步不是隨機初始化,而是通過學習輸入資料的結構得到的,因而這個初值更接近全域性最優,從而能夠取得更好的效果;所以deep learning效果好很大程度上歸功於第一步的feature learning過程。
總之,deep learning能夠得到更好地表示資料的feature,同時由於模型的層次、引數很多,capacity足夠,因此,模型有能力表示大規模資料,所以對於影象、語音這種特徵不明顯(需要手工設計且很多沒有直觀物理含義)的問題,能夠在大規模訓練資料上取得更好的效果。此外,從模式識別特徵和分類器的角 度,deep learning框架將feature和分類器結合到一個框架中,用資料去學習feature,在使用中減少了手工設計feature的巨大工作量(這是目前工業界工程師付出努力最多的方面),因此,不僅僅效果可以更好,而且,使用起來也有很多方便之處。

4 叢集機器學習

4.1 弱可學習定理

1990 年, Schapire 證明了一個有趣的定理: 如果一個概念是弱可學習的, 充要條件是它是強可學習的。這個定理的證明是構造性的, 證明過程暗示了弱分類器的思想。所謂弱分類器就是比隨機猜想稍好的分類器, 這意味著, 如果我們可以設計這樣一組弱分類器, 並將它們叢集起來, 就可以成為一個強分類器, 這就是叢集機器學習。由於弱分類器包含“比隨機猜想稍好”的條件, 從而, 避免了對Madaline 平凡解的批評。另外, 由於Schapire 定理的證明基於PAC的弱可學習理論, 因此, 這種方法又具有泛化理論的支援。這樣, 自Widrow 提出Madaline近30 年之後, 人們終於獲得了基於Hebb 路線下的機器學習演算法設計的理論基礎。這個學習理念立即獲得人們的廣泛關注, 其原因不言自明,弱分類器的設計總比強分類器設計容易, 特別是對線性不可分問題更是如此。由此,Madaline 與感知機一樣, 成為機器學習最重要的經典。

4.2 經典演算法

Boosting 是一種用來提高學習演算法準確度的方法, 這種方法通過構造一個預測函式系列, 然後以一定的方式將它們組合成一個預測函式, 達到把一弱學習演算法提升為強學習演算法的目的。1989 年Schapire 提出了第一個可證明的多項式時間Boosting 演算法, 對這個問題作出了肯定的回答。一年後,Freund 設計了一個高效得多的通過重取樣或過濾運作的Boosting- by-Majority 演算法。這個演算法儘管在某種意義上是優化的, 但卻有一些實踐上的缺陷。1995 年Freund 和Schapire介紹了通過調整權重而運作的AdaBoost 演算法解決了早期Boosting演算法很多實踐上的困難。
AdaBoost 是Boosting 家族中的基礎演算法。Boosting家族中的大部分擴充套件( 演算法) 都由它得來,對AdaBoost 的分析結論也適用於其它的Boosting。下面簡要地介紹一下它的思想。
AdaBoost 演算法的主要思想是給定一弱學習演算法和訓練集( x1, y1) , , , ( xn, yn ) 。這裡xi 為一向量, yi 對於分類問題為一類別標誌, 對於迴歸問題為一數值。初始化時對每一個訓練例賦相等的權重1/ n , 然後用該學習演算法對訓練集訓練t 輪, 每次訓練後, 對訓練失敗的訓練例賦以較大的權重, 也就是讓學習演算法在後續的學習中集中對比較難的訓練例進行學習, 從而得到一個預測函式序列h1, , , ht ,其中hj 也有一定的權重, 預測效果好的預測函式權重較大, 反之較小。最終的預測函式H 對分類問題採用有權重的投票方式, 對迴歸問題採用加權平均的方法對新示例進行判別。
Boosting 演算法是一種基於其他機器學習演算法之上的用來提高演算法精度和效能的方法。當用於迴歸分析時, 不需要構造一個擬合精度高、預測能力好的迴歸演算法, 只要一個效果只比隨機猜測略好的粗糙演算法即可, 稱之為基礎演算法。通過不斷地呼叫這個基礎演算法就可以獲得一個擬合和預測誤差都相當好的組合迴歸模型。Boosting 演算法可以應用於任何的基礎迴歸演算法, 無論是線性迴歸、神經網路、還是SVM 方法, 都可以有效地提高精度。因此, Boosting可以被視為一種通用的增強基礎演算法效能的迴歸分析演算法。
Bagging(Bootstrap Aggregating) 又被稱為自舉聚合, 是Breiman 提出的與Boosting 相似的技術。[ 11]Bagging 技術的主要思想是給定一弱學習演算法和一訓練集( x 1, y1), , ( xn , yn ) 。讓該學習演算法訓練多輪, 每輪的訓練集由從初始的訓練集中隨機取出的n 個訓練例組成, 初始訓練例在某輪訓練集中可以出現多次或根本不出現。訓練之後可得到一個預測函式序列: h1, , , ht , 最終的預測函式H 對分類問題採用投票方式, 對迴歸問題採用簡單平均。
Bagging 與Boosting 的區別在於Bagging 的訓練集的選擇是隨機的, 各輪訓練集之間相互獨立, 而Boosting的訓練集的選擇不是獨立的, 各輪訓練集的選擇與前面各輪的學習結果有關; Bagging 的各個預測函式沒有權重, 可以並行生成, 而Boosting 是有權重的, 只能依次順序生成; Boosting 往往從一些弱的學習器開始, 組合形成一個整合學習器, 從而給出一個好的學習結果, 而Bagging學習效果的好壞往往取決於整合學習器中每個學習器的相關性和各個學習器的學習效果。對於神經網路這類極為耗時的學習方法, Bagging 可通過並行訓練節省大量時間開銷。

5 符號機器學習

自1969 年Minsky 出版Perceptron(《感知機》)一書以後, 感知機的研究方向被終止,到1986 年Rumelhart 等發表BP 演算法, 近20 年間, 機器學習研究者在做什麼事情呢? 這段時間正是基於符號處理的人工智慧的黃金時期, 由於專家系統研究的推動, 符號機器學習得到發展, 事實上, 這類研究方法除了建立在符號的基礎上之外, 從學習的機理來看, 如果將學習結果考慮為規則, 每個規則將是一個分類器, 儘管這些分類器中有些不一定滿足弱分類器的條件, 但是, 它應該是Hebb 路線的延續。
符號機器學習的最大優點是歸納的解答與歸納的過程是可解釋的, 換句話說, 資料集合中的每個觀測(樣本或物件)對使用者都是透明的, 它在解答以及計算過程中所扮演的角色, 使用者都是可以顯現瞭解的。然而, 它的缺陷同樣突出, 就是泛化能力。由於學習結果是符號表述, 因此, 只可能取“真”與“假”, 這樣大大減低了對具有一定噪音資料的分析能力, 需要其他技術來補充: 其一, 觀測世界的資料到符號域的對映, 其二, 不確定推理機制。但是, 這兩種方法與符號機器學習方法本身並沒有必然的關係。
近幾年, 由於資料探勘的提出, 符號機器學習原理有了新的用途, 這就是符號資料分析, 在資料探勘中稱為資料描述, 以便與資料預測型別的任務相區別(從任務來說, 這類任務與機器學習是一致的)。
與機器學習的目標不同, 資料分析不是以所有使用者具有相同需求為假設, 相反, 強調不同使用者具有不同的需求。另外, 資料分析強調, 分析結果是為使用者提供可閱讀的參考文字, 決策將依賴人的洞察。如何根據使用者的特定需求將觀測資料集合變換為簡潔的、可為使用者理解的表示成為關鍵。這是符號機器學習的另一個可以考慮的應用領域。由於符號機器學習在泛化能力上的欠缺, 這也是它在與基於統計的機器學習方法競爭中避免遭到淘汰的出路。

6 增強機器學習方法

增強機器學習( reinfo rcementlearning )的本質是對變化的環境的適應。應該說,這是一種“古老”的機器學習思想.在1948年, Wiener的著作“控制論”中,就討論了這個問題,而在以後的控制理論的研究中,這發展成為重要的研究課題—— 自適應控制。由於控制理論研究這個問題的焦點在於控制品質,且其使用的數學工具是微分方程,因此,對非線性問題,使用計算機進行數值求解存在著本質性的困難。這是這類機器學習長期未得到電腦科學家注意的原因。
直到20世紀70年代, Holland在討論進化計算時,需要考慮控制物種群體的染色體數量,以便淘汰對變化環境不適應的個體,為此,提出使用桶隊演算法解決這個問題。桶隊演算法在Holland提出的分類器系統中扮演著對變換環境適應的角色。
以後,在20世紀90年代初, Sutton提出將這類機器學習建立在Markov 過程上,並稱其為增強機器學習方法。這個方法是根據環境變化對系統的刺激,並作為系統輸入,然後,利用基於統計的方法優化轉移概率,並使系統適應新的環境。
一般地說,增強機器學習應該屬於無教師學習,但是,如果考慮環境就是教師,這類機器學習也可以認為是一類特殊有教師的機器學習,與一般有教師機器學習的區別在於: 教師是環境,且是變化的環境。這意味著,不像傳統意義下的有教師學習,教師教授的知識不是事先給定的,而是採用更靈活方法,在問題求解的過程中獲得的。

7 總結

本文從機器學習的起源,發展依據,歷史上的重要事件角度討論了機器學習發展脈絡。通過“對神經細胞模型假設的差別”將機器學習領域劃分為兩大支系——強調模型的整體性,基於Barlow“表徵客體的單一細胞論”的Barlow路線;強調對世界的表徵需要多個神經細胞叢集,基於Hebb“表徵客體的多細胞論”的Hebb路線。這一劃分可以清晰地將機器學習發展歷程總結為:以感知機、BP與SVM等為一類的Barlow路線;以樣條理論、k-緊鄰、Madaline、符號機器學習,叢集機器學習與流行機器學習等為一類的Hebb路線。
其中,又重點關注了目前發展良好的統計機器學習與叢集學習。討論了SVM與神經網路的關係與優缺點,以及將弱學習演算法提升為強學習演算法的Boosting演算法。
本文提倡研究者需要重視這樣一個問題:我們探討機器學習在理念、理論、與技術上發展的各種方法所遵循的假設,是否能夠適應當前任務的需要?如果問題是否定的,那麼,我們是修補這些已被普遍認可的理念、理論與方法(打補丁),以適應當前的需要,還是從根本上清理原有假設,提出新的假設,從而發展新的理念、理論和方法?這是一個需要仔細分析已有理論與方法,並權衡各種利弊才能決定的事情。綜上所述,討論機器學習發展脈絡,以從這個脈絡發現有趣的經驗和教訓,對回答這個問題是重要的,這必須考慮機器學習發展的科學依據,歷史上的重要事件,以及理論研究中的重要結論。這就是我們本文的討論集中在動機和理論的原因。