机器学习发展历史回顾
機器學習發展歷史回顧
本文為回溯機器學習發展歷史閱讀筆記,全文鏈接:機器學習發展歷史回顧
在之后的學習中會以此為學習路線,逐步閱讀所有機器學習方面的經典論文,并對本文中簡略提及的算法進行總結和詳細分析。
1 概述
機器學習是現階段解決很多人工智能問題的主流方法。最早的機器學習算法可以追溯到20世紀初,到今天為止,已經過去了100多年。從1980年機器學習稱為一個獨立的方向開始算起,到現在也已經過去了近40年。
2 分類
總體上,機器學習算法可以分為有監督學習,無監督學習,強化學習 3種類型。半監督學習可以認為是有監督學習與無監督學習的結合,不在本文討論的范圍之類。
2.1 有監督學習
定義: 通過訓練樣本學習得到一個模型,然后用這個模型進行推理。
關鍵詞: 有樣本訓練
舉例: 識別水果圖像 (分類問題)
若上述預測的是一個實數,如根據一個人的學歷、工作年限、所在城市、行業等特征來預測這個人的收入,則屬于回歸問題。
2.2 無監督學習
定義: 沒有訓練過程,給定一些樣本數據,讓機器學習算法直接對這些數據進行分析,得到數據的某些知識。
關鍵詞: 沒有訓練過程
舉例: 網頁歸類 (聚類)
無監督學習的另外一類典型算法是數據降維,它將一個高維向量變換到低維空間中,并且要保持數據的一些內在信息和結構。
2.3 強化學習
定義: 強化學習是一類特殊的機器學習算法,算法要根據當前的環境狀態確定一個動作來執行,然后進入下一個狀態,如此反復,目標是讓得到的收益最大化。
關鍵詞: 有優化過程,啟發式搜索
舉例: 圍棋游戲
在每個時刻,要根據當前的棋局決定在什么地方落棋,然后進行下一個狀態,反復的放置棋子,直到贏得或者輸掉比賽。這里的目標是盡可能的贏得比賽,以獲得最大化的獎勵。
2.4 總結
總結來說,這些機器學習算法要完成的任務是:
分類算法-是什么? 即根據一個樣本預測出它所屬的類別。
回歸算法-是多少? 即根據一個樣本預測出一個數量值。
聚類算法-怎么分? 保證同一個類的樣本相似,不同類的樣本之間盡量不同。
強化學習-怎么做? 即根據當前的狀態決定執行什么動作,最后得到最大的回報。
3 詳細介紹
3.1 有監督學習
下圖列出了經典的有監督學習算法(深度學習不在此列):
3.1.1 線性判別分析(LDA)
來歷:1936年,Fisher
Fisher, R. A. (1936). The Use of Multiple Measurements in Taxonomic Problems. Annals of Eugenics. 7 (2): 179–188.
類別:有監督的數據降維算法
介紹:通過線性變換將向量投影到低維空間中,保證投影后同一種類型的樣本差異很小,不同類的樣本盡量不同。
3.1.2 貝葉斯分類器
來歷:1950年代
類別:分類器
介紹:基于貝葉斯決策理論,把樣本分到后驗概率最大的那個類。
3.1.3 logistic回歸
來歷:1958年
Cox, DR (1958). The regression analysis of binary sequences (with discussion). J Roy Stat Soc B. 20 (2): 215–242.
類別:解決回歸問題
介紹:它直接預測出一個樣本屬于正樣本的概率,在廣告點擊率預估、疾病診斷等問題上得到了應用。
3.1.4 感知器模型
來歷:1958年
Rosenblatt, F. (1958). “The Perceptron: A Probalistic Model For Information Storage And Organization In The Brain”. Psychological Review. 65 (6): 386–408.
類別:線性分類器
介紹:它過于簡單,甚至不能解決異或問題,因此不具有實用價值,更多的起到了思想啟蒙的作用,為后面的算法奠定了思想上的基礎。
個人理解:非黑即白的分類器
3.1.5 KNN
來歷:1967年
Thomas M Cover, Peter E Hart. Nearest neighbor pattern classification. IEEE Transactions on Information Theory, 1967.
介紹:這是一種基于模板匹配思想的算法,雖然簡單,但很有效,至今仍在被使用。
總結: 在1980年之前,這些機器學習算法都是零碎化的,不成體系。但它們對整個機器學習的發展所起的作用不能被忽略。
從1980年開始,機器學習才真正成為一個獨立的方向。在這之后,各種機器學習算法被大量的提出,得到了快速發展。
3.1.6 決策樹
來歷:1980年代到1990年代初期,三種典型實現——ID3[4],CART[5],C4.5[6]
[4] Quinlan, J. R. 1986. Induction of Decision Trees. Mach. Learn. 1, 1 (Mar. 1986), 81–106
[5] Breiman, L., Friedman, J. Olshen, R. and Stone C. Classification and Regression Trees, Wadsworth, 1984.
[6] Quinlan, J. R. C4.5: Programs for Machine Learning. Morgan Kaufmann Publishers, 1993.
介紹:簡單,但可解釋性強,這使得決策樹至今在一些問題上仍被使用。
3.1.7 反向傳播算法
來歷:1986年
David E. Rumelhart, Geoffrey E. Hinton, and Ronald J. Williams. Learning internal representations by back-propagating errors. Nature, 323(99): 533-536, 1986.
介紹:這是現在的深度學習中仍然被使用的訓練算法,奠定了神經網絡走向完善和應用的基礎。
3.1.8 卷積神經網絡
來歷:1989年
Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard, L. D. Jackel, Backpropagation Applied to Handwritten Zip Code Recognition. 1989.
介紹:1989年,LeCun設計出了第一個真正意義上的卷積神經網絡[13],用于手寫數字的識別,這是現在被廣泛使用的深度卷積神經網絡的鼻祖。
總結: 在1986到1993年之間,神經網絡的理論得到了極大的豐富和完善,但當時的很多因素限制了它的大規模使用。
3.1.9 SVM
來歷:1995年
介紹:SVM代表了核技術的勝利,這是一種思想,通過隱式的將輸入向量映射到高維空間中,使得原本非線性的問題能得到很好的處理。
3.1.10 AdaBoost
來歷:1995年
介紹:代表了集成學習算法的勝利,通過將一些簡單的弱分類器集成起來使用,居然能夠達到驚人的精度。
3.1.11 LSTM
來歷:2000年
介紹:在很長一段時間內一直默默無聞,直到2013年后與深度循環神經網絡整合,在語音識別上取得成功。
3.1.12 隨機森林
來歷:2001年
介紹:與AdaBoost算法同屬集成學習,雖然簡單,但在很多問題上效果卻出奇的好,因此現在還在被大規模使用。
總結: 從1980年開始到2012年深度學習興起之前,有監督學習得到了快速的發展,這有些類似于春秋戰國時代,各種思想和方法層出不窮,相繼登場。另外,沒有一種機器學習算法在大量的問題上取得壓倒性的優勢,這和現在的深度學習時代很不一樣。
3.2 無監督學習
相比于有監督學習,無監督學習的發展一直和緩慢,至今仍未取得大的突破。下面我們按照聚類和數據降維兩類問題對這些無監督學習算法進行介紹。
3.2.1 聚類
聚類算法的歷史與有監督學習一樣悠久。層次聚類算法出現于1963年[26],這是非常符合人的直觀思維的算法,現在還在使用。它的一些實現方式,包括SLINK[27],CLINK[28]則誕生于1970年代。
3.2.1.1 k均值算法
聚類算法中知名度最高的,其歷史可以追溯到1967年,此后出現了大量的改進算法,也有大量成功的應用,是所有聚類算法中變種和改進型最多的。
3.2.1.2 EM算法
誕生于1977年,它不光被用于聚類問題,還被用于求解機器學習中帶有缺數數據的各種極大似然估計問題。
3.2.1.3 Mean Shift算法
Mean Shift算法[32]早在1995年就被用于聚類問題,和DBSCAN算法[30],OPTICS算法[31]一樣,同屬于基于密度的聚類算法。
3.2.1.4 譜聚類算法
誕生于2000年左右,它將聚類問題轉化為圖切割問題,這一思想提出之后,出現了大量的改進算法。
3.2.2 數據降維
經典的PCA算法[14]誕生于1901年,這比第一臺真正的計算機的誕生早了40多年。LDA在有監督學習中已經介紹,在這里不再重復。
3.2.2.1 核PCA
來歷:1998年
介紹:非線性降維算法。這是核技術的又一次登臺,與PCA的結合將PCA改造成了非線性的降維算法。
3.2.2.2 局部線性嵌入LLL
來歷:2000年
介紹:非線性方法。此后,拉普拉斯特征映射,局部保持投影,等距映射等算法相繼提出[17-19]。流形學習在數學上非常優美,但遺憾的是沒有多少公開報道的成功的應用。
3.2.2.3 t-SNE算法
降維算法中年輕的成員,誕生于2008年,雖然想法很簡單,效果卻非常好。
3.3 概率圖模型
概率圖模型是機器學習算法中獨特的一個分支,它是圖與概率論的完美結合。在這種模型中,每個節點表示隨機變量,邊則表示概率。有些晦澀,但理解了之后并不難。
3.3.1 隱馬爾可夫模型
誕生于1960年,在1980年代,它在語音識別中取得了成功,一時名聲大噪,后來被廣泛用于各種序列數據分析問題,在循環神經網絡大規模應用之前,處于主導地位。
3.3.2 馬爾可夫隨機場
馬爾可夫隨機場誕生于1974年[23],也是一種經典的概率圖模型算法。
3.3.3 貝葉斯網絡
貝葉斯網絡[22]是概率推理的強大工具,誕生于1985年,其發明者是概率論圖模型中的重量級人物,后來獲得了圖靈獎。
3.3.4 條件隨機場
條件隨機場[24]是概率圖模型中相對年輕的成員,被成功用于中文分詞等自然語言處理,還有其他領域的問題,也是序列標注問題的有力建模工具。
3.4 強化學習
相比有監督學習和無監督學習,強化學習在機器學習領域的起步更晚。雖然早在1980年代就出現了時序差分算法[42-44],但對于很多實際問題,我們無法用表格的形式列舉出所有的狀態和動作,因此這些抽象的算法無法大規模實用。
神經網絡與強化學習的結合,即深度強化學習46-50],才為強化學習帶來了真正的機會。在這里,深度神經網絡被用于擬合動作價值函數即Q函數,或者直接擬合策略函數,這使得我們可以處理各種復雜的狀態和環境,在圍棋、游戲、機器人控制等問題上真正得到應用。神經網絡可以直接根據游戲畫面,自動駕駛汽車的攝像機傳來的圖像,當前的圍棋棋局,預測出需要執行的動作。其典型的代表是DQN[46]這樣的用深度神經網絡擬合動作價值函數的算法,以及直接優化策略函數的算法[47-50]。
總結
以上是生活随笔為你收集整理的机器学习发展历史回顾的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: angularjs的表单验证
- 下一篇: HDU 2859 Phalanx(二维D