五、機器學習發展史
1、機器學習發展階段
(1)基礎奠定的熱烈時期: 20世紀50年代初到60年代中葉
(2)停滯不前的冷靜時期: 20世紀60年代中葉到70年代末
(3)重拾希望的復興時期: 20世紀70年代末到80年代中葉
(4)現代機器學習的成型時期: 20世紀90年初到21世紀初
(5)大放光芒的蓬勃發展時期: 21世紀初至今
2、機器學習發展史重要人物
3、神經元結構
要讓機器像人一樣學習,首先要了解大腦的神經元結構。
生物神經元由胞體(Soma)、樹突(Dendrites),突觸(Synapse)和軸突(Axon)等構成。
胞體是神經元的代謝中心,胞體一般生長有許多樹狀突起,稱為樹突,它是神經元的主要接收器。胞體還延伸出一條管狀纖維組織,稱為軸突。樹突是神經元的生物信號輸入端,與其它的神經元相連;軸突是神經元的信號輸出端,連接到其它神經元的樹突上。
生物神經元有兩種狀態:興奮和抑制,平時生物神經元都處於抑制狀態,軸突無輸入,當生物神經元的樹突輸入信號大到一定程度,超過某個閾值時,生物神經元有抑制狀態轉為興奮狀態,同時軸突向其它生物神經元發出信號。軸突的作用主要是傳導信息,傳導的方向是由軸突的起點傳向末端。通常,軸突的末端分出許多末梢,它們同后一個生物神經元的樹突構成一種稱為突觸的機構。其中,前一個神經元的軸突末梢稱為突觸的前膜,后一個生物神經元的樹突稱為突觸的后膜;前膜和后膜兩者之間的窄縫空間稱為突觸的間隙,前一個生物神經元的信息由其軸突傳到末梢之后,通過突觸對后面各個神經元產生影響。
4、機器學習巨匠及算法發展歷程
(1)唐納德·赫布(1904-1985)是加拿大著名生理心理學家。Hebb於1949年基於神經心理學的學習機制開啟機器學習的第一步,此后被稱為Hebb學習規則。
hebb是一種無監督學習規則。Hebb的理論認為在同一時間被激發的神經元間的聯系會被強化。比如,鈴聲響時一個神經元被激發,在同一時間食物的出現會激發附近的另一個神經元,那么這兩個神經元間的聯系就會強化,從而記住這兩個事物之間存在着聯系。相反,如果兩個神經元總是不能同步激發,那么它們間的聯系將會越來越弱。
(2)1950年,阿蘭·圖靈創造了圖靈測試來判定計算機是否智能。圖靈測試認為,如果一台機器能夠與人類展開對話(通過電傳設備)而不能被辨別出其機器身份,那么稱這台機器具有智能。這一簡化使得圖靈能夠令人信服地說明“思考的機器”是可能的。
(3)1952年,IBM 的 Arthur Samuel(被譽為“機器學習之父”)在《Some Studies in Machine Learning Using the Game of Checkers》的論文中,定義並解釋了一個新詞——機器學習(Machine Learning,ML)。將機器學習非正式定義為”在不直接針對問題進行編程的情況下,賦予計算機學習能力的一個研究領域”。他還設計了一款可以學習的西洋跳棋程序。它能通過觀察棋子的走位來構建新的模型,並用其提高自己的下棋技巧。Samuel 和這個程序進行多場對弈后發現,隨着時間的推移程序的棋藝變得越來越好。
(4)1957年,羅森 布納特(Rosenblatt)發明了感知機(或稱感知器,Perceptron),是神經網絡的雛形,同時也是支持向量機的基礎,在當時引起了不小的轟動。感知機是二類分類的線性分類模型,其輸入為實例的特征向量,輸出為實例的類別,取+1和-1二值。感知機對應於輸入空間(特征空間)中將實例划分為正負兩類的分離超平面,屬於判別模型。感知機學習旨在求出將訓練數據進行線性划分的分離超平面。
(5)1960年,Widrow(維德羅)發明了Delta學習規則,它是一種簡單的有監督學習算法,即如今的最小二乘問題,該算法根據神經元的實際輸出與期望輸出差別來調整連接權。該算法被應用到感知機中,並且得到了一個極好的線性分類器。
(6)1969年,馬文·明斯基(Minskey)將感知機推到最高頂峰。他提出了著名的XOR問題和感知機數據線性不可分的情形,論證了感知器在類似XOR問題的線性不可分數據的無力,以至於其后十年被稱為“冷靜時期”,給感知機畫上了一個逗號,以洪荒之力將如火如荼將的ML暫時封印了起來,Rosenblatt在這之后兩年郁郁而終與此也不無關系。
(7)1970年,Seppo Linnainmaa(林納因馬)首次完整地敘述了自動鏈式求導方法(Automatic Differentiation,AD),是著名的反向傳播算法(Back Propagation,BP)的雛形,但在當時並沒有引起重視。
(8)1974年,Werbos(偉博斯)首次提出把BP算法的思想應用到神經網絡,也就是多層感知機(Multilayer Perception,MLP),MLP或者稱為人工神經網絡(Artificial Neural Network,ANN),是一個帶有單隱層的神經網絡。
事實上,這個時期整個AI領域都遭遇了瓶頸。當時的計算機有限的內存和處理速度不足以解決任何實際的AI問題。要求程序對這個世界具有兒童水平的認識,研究者們很快發現這個要求太高了:1970年沒人能夠做出如此巨大的數據庫,也沒人知道一個程序怎樣才能學到如此豐富的信息。
感知機也成為單個神經元結構,神經元也成為單層感知機。
(9)1980年,在美國的卡內基梅隆大學(CMU)召開了第一屆機器學習國際研討會,標志着機器學習研究已在全世界興起。
(10)1985-1986年,Rumelhart,Hinton等許多神經網絡學者成功實現了實用的BP算法來訓練神經網絡,並在很長一段時間內BP都作為神經網絡訓練的專用算法。
(11)1986年,昆蘭提出了另一個同樣著名的ML算法:決策樹算法(ID3),決策樹作為一個預測模型,代表的是對象屬性與對象值之間的一種映射關系,而且緊隨其后涌現出了很多類似或者改進算法,如ID4,回歸樹,CART等。
例:銀行根據客戶的房產情況,婚姻狀況以及收入狀況來評估客戶償還貸款的能力。
(12)1995年,Yan LeCun提出了卷積神經網絡(CNN),受生物視覺模型的啟發,通常有至少兩個非線性可訓練的卷積層,兩個非線性的固定卷積層,模擬視覺皮層中的V1和V2中的Simple cell和Complex cell,在手寫字識別等小規模問題上,取得了當時世界最好結果,但是在大規模問題上表現不佳。(V1區負責邊緣檢測,V2區負責形狀檢測。局部連接,權值共享)
(13)1995年,Vapnik和Cortes(瓦普尼克和科爾特斯)欲找到具有“最大間隔”的決策邊界,提出了強大的支持向量機(SVM),主要思想是用一個分類超平面將樣本分開從而達到分類效果,具有很強的理論論證和實驗結果。
(14) 1997年,Freund和Schapire(弗洛恩德和夏皮雷)提出了另一個堅實的ML模型AdaBoost(集成學習),該算法最大的特點在於組合弱分類器形成強分類器,可以形象地表述為:“三個臭皮匠賽過諸葛亮”,分類效果比其它強分類器更好。
(15)2001年,隨着核方法的提出,SVM大占上風,它的主要思想就是通過將低維數據映射到高維,從而實現線性可分。
(16) 2006年,Hinton(辛頓)和他的學生在《Nature》上發表了一篇文章,提出的深度置信網絡(Deep Belief Network,DBN)開啟了深度學習新紀元。
深度學習主要算法:
(1)CNN:卷積神經網絡
(2)RNN:循環神經網絡
(3)ResNet:殘差網絡
六、應用現狀
機器學習中比較活躍的四大應用領域:
(1)數據挖掘,發現數據之間的關系
(2)計算機視覺,像人一樣看懂世界
(3)自然語言處理,像人一樣看懂文字
(4)機器人決策,像人一樣具有決策能力