0
本文作者: no name | 2016-08-05 19:17 |
雷鋒網(wǎng)按:本文轉(zhuǎn)自統(tǒng)計(jì)之都。原文是從張志華老師在第九屆中國R語言會(huì)議和上海交通大學(xué)的兩次講座中整理出來的。張志華老師是上海交通大學(xué)計(jì)算機(jī)科學(xué)與工程系教授,上海交通大學(xué)數(shù)據(jù)科學(xué)研究中心兼職教授,計(jì)算機(jī)科學(xué)與技術(shù)和統(tǒng)計(jì)學(xué)雙學(xué)科的博士生指導(dǎo)導(dǎo)師。在加入上海交通大學(xué)之前,是浙江大學(xué)計(jì)算機(jī)學(xué)院教授和浙江大學(xué)統(tǒng)計(jì)科學(xué)中心兼職教授。張老師主要從事人工智能、機(jī)器學(xué)習(xí)與應(yīng)用統(tǒng)計(jì)學(xué)領(lǐng)域的教學(xué)與研究,迄今在國際重要學(xué)術(shù)期刊和重要的計(jì)算機(jī)學(xué)科會(huì)議上發(fā)表70余篇論文,是美國“數(shù)學(xué)評論”的特邀評論員,國際機(jī)器學(xué)習(xí)旗艦刊物Journal of Machine Learning Research 的執(zhí)行編委。其公開課《機(jī)器學(xué)習(xí)導(dǎo)論》和《統(tǒng)計(jì)機(jī)器學(xué)習(xí)》受到廣泛關(guān)注。
最近人工智能或者機(jī)器學(xué)習(xí)的強(qiáng)勢崛起,特別是剛剛過去的AlphaGo和韓國棋手李世石九段的人機(jī)大戰(zhàn),再次讓我們領(lǐng)略到了人工智能或機(jī)器學(xué)習(xí)技術(shù)的巨大潛力,同時(shí)也深深地觸動(dòng)了我。面對這一前所未有的技術(shù)大變革,作為10多年以來一直從事統(tǒng)計(jì)機(jī)器學(xué)習(xí)一線教學(xué)與研究的學(xué)者,希望借此機(jī)會(huì)和大家分享我個(gè)人的一些思考和反思。
我的演講主要包含兩部分,在第一部分,首先討論機(jī)器學(xué)習(xí)所蘊(yùn)含的內(nèi)在本質(zhì),特別是它和統(tǒng)計(jì)學(xué)、計(jì)算機(jī)科學(xué)、運(yùn)籌優(yōu)化等學(xué)科的聯(lián)系,以及它和工業(yè)界、創(chuàng)業(yè)界相輔相成的關(guān)系。在第二部分,試圖用“多級”、“自適應(yīng)”以及 “平均”等概念來簡約紛繁多彩的機(jī)器學(xué)習(xí)模型和計(jì)算方法背后的一些研究思路或思想。
第一部分:回顧和反思
1、 什么是機(jī)器學(xué)習(xí)
毋庸置疑,大數(shù)據(jù)和人工智能是當(dāng)今是最為時(shí)髦的名詞,它們將為我們未來生活帶來深刻的變革。數(shù)據(jù)是燃料,智能是目標(biāo),而機(jī)器學(xué)習(xí)是火箭,即通往智能的技術(shù)途徑。機(jī)器學(xué)習(xí)大師Mike Jordan和Tom Mitchell 認(rèn)為機(jī)器學(xué)習(xí)是計(jì)算機(jī)科學(xué)和統(tǒng)計(jì)學(xué)的交叉,同時(shí)是人工智能和數(shù)據(jù)科學(xué)的核心。
“It is one of today’s rapidly growing technical fields, lying at the intersection of computer science and statistics, and at the core of artificial intelligence and data science” ---M. I. Jordan
通俗地說,機(jī)器學(xué)習(xí)就是從數(shù)據(jù)里面挖掘出有用的價(jià)值。數(shù)據(jù)本身是死的,它不能自動(dòng)呈現(xiàn)出有用的信息。怎么樣才能找出有價(jià)值的東西呢?第一步要給數(shù)據(jù)一個(gè)抽象的表示,接著基于表示進(jìn)行建模,然后估計(jì)模型的參數(shù),也就是計(jì)算,為了應(yīng)對大規(guī)模的數(shù)據(jù)所帶來的問題,我們還需要設(shè)計(jì)一些高效的實(shí)現(xiàn)手段。
我把這個(gè)過程解釋為機(jī)器學(xué)習(xí)等于矩陣+統(tǒng)計(jì)+優(yōu)化+算法。首先,當(dāng)數(shù)據(jù)被定義為一個(gè)抽象的表示時(shí),往往形成一個(gè)矩陣或者一個(gè)圖,而圖其實(shí)也是可以理解為矩陣。統(tǒng)計(jì)是建模的主要工具和途徑,而模型求解大多被定義為一個(gè)優(yōu)化問題,特別是,頻率統(tǒng)計(jì)方法其實(shí)就是一個(gè)優(yōu)化問題。當(dāng)然,貝葉斯模型的計(jì)算牽涉隨機(jī)抽樣方法。而之前說到面對大數(shù)據(jù)問題的具體實(shí)現(xiàn)時(shí),需要一些高效的方法,計(jì)算機(jī)科學(xué)中的算法和數(shù)據(jù)結(jié)構(gòu)里有不少好的技巧可以幫助我們解決這個(gè)問題。
借鑒Marr的關(guān)于計(jì)算機(jī)視覺的三級論定義,我把機(jī)器學(xué)習(xí)也分為三個(gè)層次:初級、中級和高級。初級階段是數(shù)據(jù)獲取以及特征的提取。中級階段是數(shù)據(jù)處理與分析,它又包含三個(gè)方面,首先是應(yīng)用問題導(dǎo)向,簡單地說,它主要應(yīng)用已有的模型和方法解決一些實(shí)際問題,我們可以理解為數(shù)據(jù)挖掘;第二,根據(jù)應(yīng)用問題的需要,提出和發(fā)展模型、方法和算法以及研究支撐它們的數(shù)學(xué)原理或理論基礎(chǔ)等,我理解這是機(jī)器學(xué)習(xí)學(xué)科的核心內(nèi)容。第三,通過推理達(dá)到某種智能。最后,高級階段是智能與認(rèn)知,即實(shí)現(xiàn)智能的目標(biāo)。從這里,我們看到,數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)本質(zhì)上是一樣的,其區(qū)別是數(shù)據(jù)挖掘更接地于數(shù)據(jù)庫端,而機(jī)器學(xué)習(xí)則更接近于智能端。
2、 統(tǒng)計(jì)與計(jì)算
機(jī)學(xué)家通常具有強(qiáng)的計(jì)算能力和解決問題的直覺,而統(tǒng)計(jì)學(xué)家長于理論分析,具有強(qiáng)的建模能力,因此,兩者有很好的互補(bǔ)性。
Boosting, SVM 和稀疏學(xué)習(xí)是機(jī)器學(xué)習(xí)界也是統(tǒng)計(jì)界,在近十年或者是近二十年來,最活躍的方向,現(xiàn)在很難說誰比誰在其中做的貢獻(xiàn)更大。比如,SVM的理論其實(shí)很早被Vapnik等提出來了,但計(jì)算機(jī)界發(fā)明了一個(gè)有效的求解算法,而且后來又有非常好的實(shí)現(xiàn)代碼被陸續(xù)開源給大家使用,于是SVM就變成分類算法的一個(gè)基準(zhǔn)模型。再比如,KPCA是由計(jì)算機(jī)學(xué)家提出的一個(gè)非線性降維方法,其實(shí)它等價(jià)于經(jīng)典MDS。而后者在統(tǒng)計(jì)界是很早就存在的,但如果沒有計(jì)算機(jī)界從新發(fā)現(xiàn),有些好的東西可能就被埋沒了。
機(jī)器學(xué)習(xí)現(xiàn)在已成為統(tǒng)計(jì)學(xué)的一個(gè)主流方向,許多著名統(tǒng)計(jì)系紛紛招聘機(jī)器學(xué)習(xí)領(lǐng)域的博士為教員。計(jì)算在統(tǒng)計(jì)已經(jīng)變得越來越重要,傳統(tǒng)多元統(tǒng)計(jì)分析是以矩陣為計(jì)算工具,現(xiàn)代高維統(tǒng)計(jì)則是以優(yōu)化為計(jì)算工具。另一方面,計(jì)算機(jī)學(xué)科開設(shè)高級統(tǒng)計(jì)學(xué)課程,比如統(tǒng)計(jì)學(xué)中的核心課程“經(jīng)驗(yàn)過程”。
我們來看機(jī)器學(xué)習(xí)在計(jì)算機(jī)科學(xué)占什么樣的地位。最近有一本還沒有出版的書 “Foundation of Data Science, by Avrim Blum, John Hopcroft, and Ravindran Kannan,”作者之一John Hopcroft是圖靈獎(jiǎng)得主。在這本書前沿部分,提到了計(jì)算機(jī)科學(xué)的發(fā)展可以分為三個(gè)階段:早期、中期和當(dāng)今。早期就是讓計(jì)算機(jī)可以運(yùn)行起來,其重點(diǎn)在于開發(fā)程序語言、編譯原理、操作系統(tǒng),以及研究支撐它們的數(shù)學(xué)理論。中期是讓計(jì)算機(jī)變得有用,變得高效。重點(diǎn)在于研究算法和數(shù)據(jù)結(jié)構(gòu)。第三個(gè)階段是讓計(jì)算機(jī)具有更廣泛的應(yīng)用,發(fā)展重點(diǎn)從離散類數(shù)學(xué)轉(zhuǎn)到概率和統(tǒng)計(jì)。那我們看到,第三階段實(shí)際上就是機(jī)器學(xué)習(xí)所關(guān)心的。
現(xiàn)在計(jì)算機(jī)界戲稱機(jī)器學(xué)習(xí)“全能學(xué)科”,它無所不在。一方面,機(jī)器學(xué)習(xí)有其自身的學(xué)科體系;另一方面它還有兩個(gè)重要的輻射功能。一是為應(yīng)用學(xué)科提供解決問題的方法與途徑。說的通俗一點(diǎn),對于一個(gè)應(yīng)用學(xué)科來說,機(jī)器學(xué)習(xí)的目的就是把一些難懂的數(shù)學(xué)翻譯成讓工程師能夠?qū)懗龀绦虻膫未a。二是為一些傳統(tǒng)學(xué)科,比如統(tǒng)計(jì)、理論計(jì)算機(jī)科學(xué)、運(yùn)籌優(yōu)化等找到新的研究問題。
3、 機(jī)器學(xué)習(xí)發(fā)展的啟示
機(jī)器學(xué)習(xí)的發(fā)展歷程告訴我們:發(fā)展一個(gè)學(xué)科需要一個(gè)務(wù)實(shí)的態(tài)度。時(shí)髦的概念和名字無疑對學(xué)科的普及有一定的推動(dòng)作用,但學(xué)科的根本還是所研究的問題、方法、技術(shù)和支撐的基礎(chǔ)等,以及為社會(huì)產(chǎn)生的價(jià)值。
機(jī)器學(xué)習(xí)是個(gè)很酷的名字,簡單地按照字面理解,它的目的是讓機(jī)器能像人一樣具有學(xué)習(xí)能力。但在前面我們所看到的,在其10年的黃金發(fā)展期,機(jī)器學(xué)習(xí)界并沒有過多地炒作“智能”,而是更多地關(guān)注于引入統(tǒng)計(jì)學(xué)等來建立學(xué)科的理論基礎(chǔ),面向數(shù)據(jù)分析與處理,以無監(jiān)督學(xué)習(xí)和有監(jiān)督學(xué)習(xí)為兩大主要的研究問題,提出和開發(fā)了一系列模型、方法和計(jì)算算法等,切實(shí)地解決工業(yè)界所面臨的一些實(shí)際問題。近幾年,因應(yīng)大數(shù)據(jù)的驅(qū)動(dòng)和計(jì)算能力的極大提升,一批面向機(jī)器學(xué)習(xí)的底層架構(gòu)又先后被開發(fā)出來,深度神經(jīng)網(wǎng)絡(luò)的強(qiáng)勢崛起給工業(yè)界帶來了深刻的變革和機(jī)遇。
機(jī)器學(xué)習(xí)的發(fā)展同樣詮釋了多學(xué)科交叉的重要性和必要性。然而這種交叉不是簡單地彼此知道幾個(gè)名詞或概念就可以的,是需要真正的融化貫通。Mike Jordan教授既是一流的計(jì)算機(jī)學(xué)家,又是一流的統(tǒng)計(jì)學(xué)家,所以他能夠承擔(dān)起建立統(tǒng)計(jì)機(jī)器學(xué)習(xí)的重任。而且他非常務(wù)實(shí),從不提那些空洞無物的概念和框架。他遵循自下而上的方式,即先從具體問題、模型、方法、算法等著手,然后一步一步系統(tǒng)化。Geoffrey Hinton教授是世界最著名的認(rèn)知心理學(xué)家和計(jì)算機(jī)科學(xué)學(xué)家。雖然他很早就成就斐然,在學(xué)術(shù)界名聲卓越,但他一直活躍在一線,自己寫代碼。他提出的許多想法簡單、可行又非常有效,因此被稱為偉大的思想家。正是由于他的睿智和力行,深度學(xué)習(xí)技術(shù)迎來了革命性的突破。
機(jī)器學(xué)習(xí)這個(gè)學(xué)科同時(shí)是兼容并收。我們可以說機(jī)器學(xué)習(xí)是由學(xué)術(shù)界、工業(yè)界、創(chuàng)業(yè)界(或競賽界)等合力而造就的。學(xué)術(shù)界是引擎,工業(yè)界是驅(qū)動(dòng),創(chuàng)業(yè)界是活力和未來。學(xué)術(shù)界和工業(yè)界應(yīng)該有各自的職責(zé)和分工。學(xué)術(shù)界職責(zé)在于建立和發(fā)展機(jī)器學(xué)習(xí)學(xué)科,培養(yǎng)機(jī)器學(xué)習(xí)領(lǐng)域的專門人才;而大項(xiàng)目、大工程更應(yīng)該由市場來驅(qū)動(dòng),由工業(yè)界來實(shí)施和完成。
第二部分:幾個(gè)簡單的研究思路
在這部分,我的關(guān)注則回到機(jī)器學(xué)習(xí)的研究本身上來。機(jī)器學(xué)習(xí)內(nèi)容博大精深,而且新方法、新技術(shù)正源源不斷地被提出、被發(fā)現(xiàn)。這里,我試圖用“多級”、“自適應(yīng)”以及 “平均”等概念來簡約紛繁多彩的機(jī)器學(xué)習(xí)模型和計(jì)算方法背后的一些研究思路和思想。希望這些對大家理解機(jī)器學(xué)習(xí)已有的一些模型、方法以及未來的研究有所啟發(fā)。
1. 多級 (Hierarchical)
首先,讓我們來關(guān)注“多級”這個(gè)技術(shù)思想。我們具體看三個(gè)例子。
第一個(gè)例子是隱含數(shù)據(jù)模型,它就是一種多級模型。作為概率圖模型的一種延伸,隱含數(shù)據(jù)模型是一類重要的多元數(shù)據(jù)分析方法。隱含變量有三個(gè)重要的性質(zhì)。第一,可以用比較弱的條件獨(dú)立相關(guān)性代替較強(qiáng)的邊界獨(dú)立相關(guān)性。著名的de Finetti 表示定理支持這點(diǎn)。這個(gè)定理說,一組可以交換的隨機(jī)變量當(dāng)且僅當(dāng)在某個(gè)參數(shù)給定條件下,它們可以表示成一組條件隨機(jī)變量的混合體。這給出了一組可以交換的隨機(jī)變量的一個(gè)多級表示。即先從某個(gè)分布抽一個(gè)參數(shù),然后基于這個(gè)參數(shù),獨(dú)立地從某個(gè)分布抽出這組隨機(jī)變量。第二,可以通過引入隱含變量的技術(shù)來方便計(jì)算,比如期望最大算法以及更廣義的數(shù)據(jù)擴(kuò)充技術(shù)就是基于這一思想。具體地,一些復(fù)雜分布,比如t-distribution, Laplace distribution 則可以通過表示成高斯尺度混合體來進(jìn)行簡化計(jì)算。第三,隱含變量本身可能具有某種有可解釋的物理意思,這剛好符合應(yīng)用的場景。比如,在隱含狄利克雷分配(LDA)模型,其中隱含變量具有某種主題的意思。
第一個(gè)例子是隱含數(shù)據(jù)模型,它就是一種多級模型。作為概率圖模型的一種延伸,隱含數(shù)據(jù)模型是一類重要的多元數(shù)據(jù)分析方法。隱含變量有三個(gè)重要的性質(zhì)。第一,可以用比較弱的條件獨(dú)立相關(guān)性代替較強(qiáng)的邊界獨(dú)立相關(guān)性。著名的de Finetti 表示定理支持這點(diǎn)。這個(gè)定理說,一組可以交換的隨機(jī)變量當(dāng)且僅當(dāng)在某個(gè)參數(shù)給定條件下,它們可以表示成一組條件隨機(jī)變量的混合體。這給出了一組可以交換的隨機(jī)變量的一個(gè)多級表示。即先從某個(gè)分布抽一個(gè)參數(shù),然后基于這個(gè)參數(shù),獨(dú)立地從某個(gè)分布抽出這組隨機(jī)變量。第二,可以通過引入隱含變量的技術(shù)來方便計(jì)算,比如期望最大算法以及更廣義的數(shù)據(jù)擴(kuò)充技術(shù)就是基于這一思想。具體地,一些復(fù)雜分布,比如t-distribution, Laplace distribution 則可以通過表示成高斯尺度混合體來進(jìn)行簡化計(jì)算。第三,隱含變量本身可能具有某種有可解釋的物理意思,這剛好符合應(yīng)用的場景。比如,在隱含狄利克雷分配(LDA)模型,其中隱含變量具有某種主題的意思。
Laten Dirichlet Allocation
第二個(gè)例子,我們來看多級貝葉斯模型。在進(jìn)行MCMC抽樣后驗(yàn)估計(jì)時(shí),最上層的超參數(shù)總是需要先人為給定的,自然地,MCMC算法收斂性能是依賴這些給定的超參數(shù)的,如果我們對這些參數(shù)的選取沒有好的經(jīng)驗(yàn),那么一個(gè)可能做法我們再加一層,層數(shù)越多對超參數(shù)選取的依賴性會(huì)減弱。
Hierarchical Bayesian Model
第三例子,深度學(xué)習(xí)蘊(yùn)含的也是多級的思想。如果把所有的節(jié)點(diǎn)全部的放平,然后全連接,就是一個(gè)全連接圖。而CNN深度網(wǎng)絡(luò)則可以看成對全連接圖的一個(gè)結(jié)構(gòu)正則化。正則化理論是統(tǒng)計(jì)學(xué)習(xí)的一個(gè)非常核心的思想。CNN和RNN是兩大深度神經(jīng)網(wǎng)絡(luò)模型,分別主要用于圖像處理和自然語言處理中。研究表明多級結(jié)構(gòu)具有更強(qiáng)的學(xué)習(xí)能力。
Deep Learning
2. 自適應(yīng) (Adaptive)
我們來看自適應(yīng)這個(gè)技術(shù)思路,我們通過幾個(gè)例子來看這個(gè)思路的作用。
第一個(gè)例子是自適應(yīng)重要采樣技術(shù)。重要采樣方法通常可以提高均勻采樣的性能,而自適應(yīng)則進(jìn)一步改善重要采樣的性能。
第二個(gè)例子,自適應(yīng)列選擇問題。給定一個(gè)矩陣A,我們希望從中選取部分列構(gòu)成一個(gè)矩陣C,然后用CC^+A去近似原矩陣A,而且希望近似誤差盡可能小。這是一個(gè)NP難問題。在實(shí)際上,可以通過一個(gè)自適應(yīng)的方式,先采出非常小一部分C_1,由此構(gòu)造一個(gè)殘差,通過這個(gè)定義一個(gè)概率,然后用概率再去采一部分C_2, 把C_1 和 C_2 合在一起組成C。
第三個(gè)例子,是自適應(yīng)隨機(jī)迭代算法??紤]一個(gè)帶正則化的經(jīng)驗(yàn)風(fēng)險(xiǎn)最小問題,當(dāng)訓(xùn)練數(shù)據(jù)非常多時(shí),批處理的計(jì)算方式非常耗時(shí),所以通常采用一個(gè)隨機(jī)方式。存在的隨機(jī)梯度或者隨機(jī)對偶梯度算法可以得到參數(shù)的一個(gè)無偏估計(jì)。而通過引入自適應(yīng)的技術(shù),可以減少估計(jì)的方差。
第四個(gè)例子,是Boosting分類方法。它自適應(yīng)調(diào)整每個(gè)樣本的權(quán)重,具體地,提高分錯(cuò)樣本的權(quán)重,而降低分對樣本的權(quán)重。
3. 平均 (Averaging)
其實(shí),boosting 蘊(yùn)含著平均思想,即我最后要談的技術(shù)思路。簡單地說,boosting是把一組弱分類器集成在一起,形成一個(gè)強(qiáng)的分類器。第一好處是可以降低擬合的風(fēng)險(xiǎn)。第二,可以降低陷入局部的風(fēng)險(xiǎn)。第三,可以擴(kuò)展假設(shè)空間。Bagging同樣是經(jīng)典的集成學(xué)習(xí)算法,它把訓(xùn)練數(shù)據(jù)分成幾組,然后分別在小數(shù)據(jù)集上訓(xùn)練模型,通過這些模型來組合強(qiáng)分類器。另外這是一個(gè)兩層的集成學(xué)習(xí)方式。
經(jīng)典的Anderson 加速技術(shù)則是通過平均的思想來達(dá)到加速收斂過程。具體地,它是一個(gè)疊加的過程,這個(gè)疊加的過程通過求解一個(gè)殘差最小得到一個(gè)加權(quán)組合。這個(gè)技術(shù)的好處,是沒有增加太多的計(jì)算,往往還可以使數(shù)值迭代變得較為穩(wěn)定。
另外一個(gè)使用平均的例子是分布式計(jì)算中。很多情況下分布式計(jì)算不是同步的,是異步的,如果異步的時(shí)候怎么辦?最簡單的是各自獨(dú)立做,到某個(gè)時(shí)候把所有結(jié)果平均,分發(fā)給各個(gè)worker, 然后又各自獨(dú)立運(yùn)行,如此下去。這就好像一個(gè)熱啟動(dòng)的過程。
正如我們已經(jīng)看到,這些思想通常是組合在一起使用的,比如boosting模型。我們多級、自適應(yīng)和平均的思想很直接,但的確也很有用。
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。