1. 程式人生 > >數學在機器學習中的作用給的評述

數學在機器學習中的作用給的評述

感覺數學似乎總是不夠的。這些日子為了解決research中的一些問題,又在圖書館捧起了數學的教科書。

從大學到現在,課堂上學的和自學的數學其實不算少了,可是在研究的過程中總是 發現需要補充新的數學知識。Learning和Vision都是很多種數學的交匯場。看著不同的理論體系的交匯,對於一個researcher來說,往往是非常exciting的enjoyable的事情。不過,這也代表著要充分了解這個領域並且取得有意義的進展是很艱苦的。

記得在兩年前的一次blog裡面,提到過和learning有關的數學。今天看來,我對於數學在這個領域的作用有了新的思考。


對於Learning的研究,Linear Algebra (線性代數) Statistics (統計學) 是最重要和不可缺少的。這代表了Machine Learning中最主流的兩大類方法的基礎。一種是以研究函式和變換為重點的代數方法,比如Dimension reduction,feature extraction,Kernel等,一種是以研究統計模型和樣本分佈為重點的統計方法,比如Graphical model, Information theoretical models等。它們側重雖有不同,但是常常是共同使用的,對於代數方法,往往需要統計上的解釋,對於統計模型,其具體計算則需要代數的幫助。

以代數和統計為出發點,繼續往深處走,我們會發現需要更多的數學。

Calculus (微積分)
,只是數學分析體系的基礎。其基礎性作用不言而喻。Learning研究的大部分問題是在連續的度量空間進行的,無論代數還是統計,在研究優化問題的時候,對一個對映的微分或者梯度的分析總是不可避免。而在統計學中,Marginalization和積分更是密不可分——不過,以解析形式把積分匯出來的情況則不多見。

Partial Differential Equation (偏微分方程),這主要用於描述動態過程,或者仿動態過程。這個學科在Vision中用得比Learning多,主要用於描述連續場的運動或者擴散過程。 比如Level set, Optical flow都是這方面的典型例子。

Functional Analysis (泛函分析)
, 通俗地,可以理解為微積分從有限維空間到無限維空間的拓展——當然了,它實際上遠不止於此。在這個地方,函式以及其所作用的物件之間存在的對偶關係扮演了非常重要的角色。Learning發展至今,也在向無限維延伸——從研究有限維向量的問題到以無限維的函式為研究物件。Kernel Learning 和 Gaussian Process 是其中典型的例子——其中的核心概念都是Kernel。很多做Learning的人把Kernel簡單理解為Kernel trick的運用,這就把kernel的意義嚴重弱化了。在泛函裡面,Kernel (Inner Product) 是建立整個博大的代數體系的根本,從metric, transform到spectrum都根源於此。

Measure Theory (測度理論)
,這是和實分析關係非常密切的學科。但是測度理論並不限於此。從某種意義上說,Real Analysis可以從Lebesgue Measure(勒貝格測度)推演,不過其實還有很多別的測度體系——概率本身就是一種測度。測度理論對於Learning的意義是根本的,現代統計學整個就是建立在測度理論的基礎之上——雖然初級的概率論教科書一般不這樣引入。在看一些統計方面的文章的時候,你可能會發現,它們會把統計的公式改用測度來表達,這樣做有兩個好處:所有的推導和結論不用分別給連續分佈和離散分佈各自寫一遍了,這兩種東西都可以用同一的測度形式表達:連續分佈的積分基於 Lebesgue測度,離散分佈的求和基於計數測度,而且還能推廣到那種既不連續又不離散的分佈中去(這種東西不是數學家的遊戲,而是已經在實用的東西, 在Dirchlet Process或者Pitman-Yor Process裡面會經常看到)。而且,即使是連續積分,如果不是在歐氏空間進行,而是在更一般的拓撲空間(比如微分流形或者變換群),那麼傳統的黎曼積分(就是大學一年級在微積分課學的那種)就不work了,你可能需要它們的一些推廣,比如Haar Measure或者Lebesgue-Stieltjes積分。

Topology(拓撲學),這是學術中很基礎的學科。它一般不直接提供方法,但是它的很多概念和定理是其它數學分支的基石。看很多別的數學的時候,你會經常接觸這樣一些概念:Open set / Closed set,set basis,Hausdauf, continuous function,metric space, Cauchy sequence, neighborhood, compactness, connectivity。很多這些也許在大學一年級就學習過一些,當時是基於極限的概念獲得的。如果,看過拓撲學之後,對這些概念的認識會有根本性的拓展。比如,連續函式,當時是由epison法定義的,就是無論取多小的正數epsilon,都存在xxx,使得xxx。這是需要一種metric去度量距離的,在general topology裡面,對於連續函式的定義連座標和距離都不需要——如果一個對映使得開集的原像是開集,它就是連續的——至於開集是基於集合論定義的,不是通常的開區間的意思。這只是最簡單的例子。當然,我們研究learning也許不需要深究這些數學概念背後的公理體系,但是,打破原來定義的概念的侷限在很多問題上是必須的——尤其是當你研究的東西它不是在歐氏空間裡面的時候--正交矩陣,變換群,流形,概率分佈的空間,都屬於此。

Differential Manifold (微分流形), 通俗地說它研究的是平滑的曲面。一個直接的印象是它是不是可以用來fitting一個surface什麼的——當然這算是一種應用,但是這是非常初步的。 本質上說,微分流形研究的是平滑的拓撲結構。一個空間構成微分流形的基本要素是區域性平滑:從拓撲學來理解,就是它的任意區域性都同胚於歐氏空間,從解析的角 度來看,就是相容的區域性座標系統。當然,在全域性上,它不要求和歐氏空間同胚。它除了可以用於刻畫集合上的平滑曲面外,更重要的意義在於,它可以用於研究很多重要的集合。一個n-維線性空間的全部k-維子空間(k < n)就構成了一個微分流形——著名的Grassman Manifold。所有的標準正交陣也構成一個流形。一個變換群作用於一個空間形成的軌跡(Orbit) 也是通常會形成流形。在流形上,各種的分析方法,比如對映,微分,積分都被移植過來了。前一兩年在Learning裡面火了好長時間的Manifold Learning其實只是研究了這個分支的其中一個概念的應用:embedding。其實,它還有很多可以發掘的空間。


Lie Group Theory (李群論),一般意義的群論在Learning中被運用的不是很多,群論在Learning中用得較多的是它的一個重要方向Lie group。定義在平滑流行上的群,並且其群運算是平滑的話,那麼這就叫李群。因為Learning和編碼不同,更多關注的是連續空間,因為Lie group在各種群中對於Learning特別重要。各種子空間,線性變換,非奇異矩陣都基於通常意義的矩陣乘法構成李群。在李群中的對映,變換,度量, 劃分等等都對於Learning中代數方法的研究有重要指導意義。


Graph Theory(圖論),圖,由於它在表述各種關係的強大能力以及優雅的理論,高效的演算法,越來越受到Learning領域的歡迎。經典圖論,在 Learning中的一個最重要應用就是graphical models了,它被成功運用於分析統計網路的結構和規劃統計推斷的流程。Graphical model所取得的成功,圖論可謂功不可沒。在Vision裡面,maxflow (graphcut)演算法在影象分割,Stereo還有各種能量優化中也廣受應用。另外一個重要的圖論分支就是Algebraic graph theory (代數圖論),主要運用於圖的譜分析,著名的應用包括Normalized Cut和Spectral Clustering。近年來在semi-supervised learning中受到特別關注。