機器學習已經(jīng)成為了當今的熱門話題,但是從機器學習這個概念的誕生到機器學習技術的普遍應用經(jīng)過了漫長的過程。在機器學習發(fā)展的歷史長河中,眾多優(yōu)秀的學者為推動機器學習的發(fā)展做出了巨大的貢獻。
從1642年Pascal發(fā)明的手搖式計算機,到1949年Donald Hebb提出的赫布理論——解釋學習過程中大腦神經(jīng)元所發(fā)生的變化,都蘊含著機器學習思想的萌芽。
事實上,1950年圖靈在關于圖靈測試的文章中就已提及機器學習的概念。到了1952年,IBM的亞瑟·塞繆爾(Arthur Samuel,被譽為“機器學習之父”)設計了一款可以學習的西洋跳棋程序。它能夠通過觀察棋子的走位來構(gòu)建新的模型,用來提高自己的下棋技巧。塞繆爾和這個程序進行多場對弈后發(fā)現(xiàn),隨著時間的推移,程序的棋藝變得越來越好[1]。塞繆爾用這個程序推翻了以往“機器無法超越人類,不能像人一樣寫代碼和學習”這一傳統(tǒng)認識,并在1956年正式提出了“機器學習”這一概念。他認為“機器學習是在不直接針對問題進行編程的情況下,賦予計算機學習能力的一個研究領域”。
對機器學習的認識可以從多個方面進行,有著“全球機器學習教父”之稱的Tom Mitchell則將機器學習定義為:對于某類任務T和性能度量P,如果計算機程序在T上以P衡量的性能隨著經(jīng)驗E而自我完善,就稱這個計算機程序從經(jīng)驗E學習。這些定義都比較簡單抽象,但是隨著對機器學習了解的深入,我們會發(fā)現(xiàn)隨著時間的變遷,機器學習的內(nèi)涵和外延在不斷地變化。因為涉及到的領域和應用很廣,發(fā)展和變化也相當迅速,簡單明了地給出“機器學習”這一概念的定義并不是那么容易。
普遍認為,機器學習(Machine Learning,常簡稱為ML)的處理系統(tǒng)和算法是主要通過找出數(shù)據(jù)里隱藏的模式進而做出預測的識別模式,它是人工智能(Artificial Intelligence,常簡稱為AI)的一個重要子領域,而人工智能又與更廣泛的數(shù)據(jù)挖掘(Data Mining,常簡稱為DM)和知識發(fā)現(xiàn)(Knowledge Discovery in Database,常簡稱為KDD)領域相交叉。
1956年機器學習的概念由Arthur Samuel正式提出。
1965年,James William Cooley和John Tukey設計了快速傅里葉變換(FFT)算法,用于計算由多個簡單函數(shù)組合而成的原始信號的正弦曲線的幅度、相位和頻率,該算法被廣泛應用于各類工程、科學和數(shù)學問題中。
1980年,Kunihiko Fukushima發(fā)明了neocognitron,它是一個分層的多層人工神經(jīng)網(wǎng)絡,它的出現(xiàn)直接導致了后期卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,通常簡稱為CNN)的發(fā)明。
1993年,免費的、非商業(yè)化機器學習以及數(shù)據(jù)挖掘軟件WEKA面世,它是由新西蘭懷卡托大學研發(fā)的[6]。WEKA作為一個公開的數(shù)據(jù)挖掘工作平臺,集合了大量能承擔數(shù)據(jù)挖掘任務的機器學習算法,包括對數(shù)據(jù)進行預處理、分類、回歸、聚類、關聯(lián)規(guī)則以及在新的交互式界面上的可視化,它的出現(xiàn)極大地降低了學習機器學習的門檻。
1995年,貝爾實驗室的Tin Kam Ho利用隨機子空間方法創(chuàng)建隨機決策森林(Random Decision Forests)算法,該算法既可以用于回歸也可以用于分類任務,并且很容易查看模型輸入特征的相對重要性,是一個高度靈活并且應用廣泛的算法。
2010年,Kaggle由其聯(lián)合創(chuàng)始人、首席執(zhí)行官Anthony Goldbloom在墨爾本創(chuàng)立,主要為開發(fā)商和數(shù)據(jù)科學家提供舉辦機器學習競賽、托管數(shù)據(jù)庫、編寫和分享代碼的平臺。該平臺已經(jīng)吸引了80萬名數(shù)據(jù)科學家的關注,極大地推動了機器學習在全球的推廣。
2011年,IBM的認知計算系統(tǒng)Watson橫空出世,在問答節(jié)目中首次擊敗了人類。當年,Watson身價大漲逐漸成為了IBM乃至全球AI項目的代表。Watson當年的成功向人們預示著一個新時代似乎就要開始了。
2012年,Andrew Ng團隊和Jeff Dean團隊通過深度學習技術,讓16000個中央處理器核心在學習了1000萬張圖片后,成功在YouTube視頻中認出了貓的圖像,這在當時業(yè)界引起了極大的轟動。
2015年,由Google旗下DeepMind公司戴密斯·哈薩比斯領銜的團隊開發(fā)的阿爾法圍棋AlphaGo,成為了第一個擊敗人類職業(yè)圍棋選手、第一個戰(zhàn)勝圍棋世界冠軍的人工智能機器人。其主要工作原理是“深度學習”,其成功使得“深度學習”概念深入人心,并在機器學習的更多廣泛領域得到了應用。
2016年,Evans data的大數(shù)據(jù)和高級分析調(diào)查發(fā)現(xiàn),超過三分之一的開發(fā)者表示他們在大數(shù)據(jù)和高級分析項目中使用了機器學習技術。微軟團隊開發(fā)了一套能像人類一樣識別談話內(nèi)容的系統(tǒng)。該團隊曾使用卷積(Convolutional)和長短期記憶(LSTM)神經(jīng)網(wǎng)絡開發(fā)出Microsoft Cognitive Toolkit(CNTK)。Google Brain團隊公布了Google Neural Machine Translation System,這個基于深度學習的系統(tǒng)目前每天被用于處理1800萬次翻譯請求。