目錄 (Contents)
為什麼要深入數學的世界
作為計算機的學生,我沒有任何企圖要成為一個數學家。我學習數學的目的,是要想爬上巨人的肩膀,希望站在更高的高度,能把我自己研究的東西看得更深廣一些。說起來,我在剛來這個學校的時候,並沒有預料到我將會有一個深入數學的旅程。我的導師最初希望我去做的題目,是對appearance和motion建立一個unified的model。這個題目在當今Computer Vision中百花齊放的世界中並沒有任何特別的地方。事實上,使用各種Graphical Model把各種東西聯合在一起framework,在近年的論文中並不少見。
我不否認現在廣泛流行的Graphical Model是對複雜現象建模的有力工具,但是,我認為它不是panacea,並不能取代對於所研究的問題的深入的鑽研。如果統計學習包治百病,那麼很多 “下游”的學科也就沒有存在的必要了。事實上,開始的時候,我也是和Vision中很多人一樣,想著去做一個Graphical Model——我的導師指出,這樣的做法只是重複一些標準的流程,並沒有很大的價值。經過很長時間的反覆,另外一個路徑慢慢被確立下來——我們相信,一個 影像是通過大量“原子”的某種空間分佈構成的,原子群的運動形成了動態的可視過程。微觀意義下的單個原子運動,和巨集觀意義下的整體分佈的變換存在著深刻的 聯絡——這需要我們去發掘。
在深入探索這個題目的過程中,遇到了很多很多的問題,如何描述一個一般的運動過程,如何建立一個穩定並且廣泛適用的原子表達,如何刻畫微觀運動和巨集觀分佈變換的聯絡,還有很多。在這個過程中,我發現了兩個事情:
- 我原有的數學基礎已經遠遠不能適應我對這些問題的深入研究。
- 在數學中,有很多思想和工具,是非常適合解決這些問題的,只是沒有被很多的應用科學的研究者重視。
於是,我決心開始深入數學這個浩瀚大海,希望在我再次走出來的時候,我已經有了更強大的武器去面對這些問題的挑戰。
我的遊歷並沒有結束,我的視野相比於這個博大精深的世界的依舊顯得非常狹窄。在這裡,我只是說說,在我的眼中,數學如何一步步從初級向高階發展,更高階別的數學對於具體應用究竟有何好處。
集合論:現代數學的共同基礎
現代數學有數不清的分支,但是,它們都有一個共同的基礎——集合論——因為 它,數學這個龐大的家族有個共同的語言。集合論中有一些最基本的概念:集合(set),關係(relation),函式(function),等價 (equivalence),是在其它數學分支的語言中幾乎必然存在的。對於這些簡單概念的理解,是進一步學些別的數學的基礎。我相信,理工科大學生對於 這些都不會陌生。
不過,有一個很重要的東西就不見得那麼家喻戶曉了——那就是“選擇公理” (Axiom of Choice)。這個公理的意思是“任意的一群非空集合,一定可以從每個集合中各拿出一個元素。”——似乎是顯然得不能再顯然的命題。不過,這個貌似平常 的公理卻能演繹出一些比較奇怪的結論,比如巴拿赫-塔斯基分球定理——“一個球,能分成五個部分,對它們進行一系列剛性變換(平移旋轉)後,能組合成兩個一樣大小的球”。正因為這些完全有悖常識的結論,導致數學界曾經在相當長時間裡對於是否接受它有著激烈爭論。現在,主流數學家對於它應該是基本接受的,因為很多數學分支的重要定理都依賴於它。在我們後面要回說到的學科裡面,下面的定理依賴於選擇公理:
- 拓撲學:Baire Category Theorem
- 實分析(測度理論):Lebesgue 不可測集的存在性
- 泛函分析四個主要定理:Hahn-Banach Extension Theorem, Banach-Steinhaus Theorem (Uniform boundedness principle), Open Mapping Theorem, Closed Graph Theorem
在集合論的基礎上,現代數學有兩大家族:分析(Analysis)和代數(Algebra)。至於其它的,比如幾何和概率論,在古典數學時代,它們是和代數並列的,但是它們的現代版本則基本是建立在分析或者代數的基礎上,因此從現代意義說,它們和分析與代數並不是平行的關係。
分析:在極限基礎上建立的巨集偉大廈
微積分:分析的古典時代——從牛頓到柯西
先說說分析(Analysis)吧,它是從微積分(Caculus)發展起來 的——這也是有些微積分教材名字叫“數學分析”的原因。不過,分析的範疇遠不只是這些,我們在大學一年級學習的微積分只能算是對古典分析的入門。分析研究 的物件很多,包括導數(derivatives),積分(integral),微分方程(differential equation),還有級數(infinite series)——這些基本的概念,在初等的微積分裡面都有介紹。如果說有一個思想貫穿其中,那就是極限——這是整個分析(不僅僅是微積分)的靈魂。
一個很多人都聽說過的故事,就是牛頓(Newton)和萊布尼茨 (Leibniz)關於微積分發明權的爭論。事實上,在他們的時代,很多微積分的工具開始運用在科學和工程之中,但是,微積分的基礎並沒有真正建立。那個 長時間一直解釋不清楚的“無窮小量”的幽靈,困擾了數學界一百多年的時間——這就是“第二次數學危機”。直到柯西用數列極限的觀點重新建立了微積分的基本 概念,這門學科才開始有了一個比較堅實的基礎。直到今天,整個分析的大廈還是建立在極限的基石之上。
柯西(Cauchy)為分析的發展提供了一種嚴密的語言,但是他並沒有解決微 積分的全部問題。在19世紀的時候,分析的世界仍然有著一些揮之不去的烏雲。而其中最重要的一個沒有解決的是“函式是否可積的問題”。我們在現在的微積分 課本中學到的那種通過“無限分割區間,取矩陣面積和的極限”的積分,是大約在1850年由黎曼(Riemann)提出的,叫做黎曼積分。但是,什麼函式存 在黎曼積分呢(黎曼可積)?數學家們很早就證明了,定義在閉區間內的連續函式是黎曼可積的。可是,這樣的結果並不令人滿意,工程師們需要對分段連續函式的 函式積分。
實分析:在實數理論和測度理論上建立起現代分析
在19世紀中後期,不連續函式的可積性問題一直是分析的重要課題。對於定義在 閉區間上的黎曼積分的研究發現,可積性的關鍵在於“不連續的點足夠少”。只有有限處不連續的函式是可積的,可是很多有數學家們構造出很多在無限處不連續的 可積函式。顯然,在衡量點集大小的時候,有限和無限並不是一種合適的標準。在探討“點集大小”這個問題的過程中,數學家發現實數軸——這個他們曾經以為已 經充分理解的東西——有著許多他們沒有想到的特性。在極限思想的支援下,實數理論在這個時候被建立起來,它的標誌是對實數完備性進行刻畫的幾條等價的定理 (確界定理,區間套定理,柯西收斂定理,Bolzano-Weierstrass Theorem和Heine-Borel Theorem等等)——這些定理明確表達出實數和有理數的根本區別:完備性(很不嚴格的說,就是對極限運算封閉)。隨著對實數認識的深入,如何測量“點 集大小”的問題也取得了突破,勒貝格創造性地把關於集合的代數,和Outer content(就是“外測度”的一個雛形)的概念結合起來,建立了測度理論(Measure Theory),並且進一步建立了以測度為基礎的積分——勒貝格(Lebesgue Integral)。在這個新的積分概念的支援下,可積性問題變得一目瞭然。
上面說到的實數理論,測度理論和勒貝格積分,構成了我們現在稱為實分析 (Real Analysis)的數學分支,有些書也叫實變函式論。對於應用科學來說,實分析似乎沒有古典微積分那麼“實用”——很難直接基於它得到什麼演算法。而且, 它要解決的某些“難題”——比如處處不連續的函式,或者處處連續而處處不可微的函式——在工程師的眼中,並不現實。但是,我認為,它並不是一種純數學概念 遊戲,它的現實意義在於為許多現代的應用數學分支提供堅實的基礎。下面,我僅僅列舉幾條它的用處:
- 黎曼可積的函式空間不是完備的,但是勒貝格可積的函式空間是完備的。簡單的 說,一個黎曼可積的函式列收斂到的那個函式不一定是黎曼可積的,但是勒貝格可積的函式列必定收斂到一個勒貝格可積的函式。在泛函分析,還有逼近理論中,經 常需要討論“函式的極限”,或者“函式的級數”,如果用黎曼積分的概念,這種討論幾乎不可想像。我們有時看一些paper中提到Lp函式空間,就是基於勒 貝格積分。
- 勒貝格積分是傅立葉變換(這東西在工程中到處都是)的基礎。很多關於訊號處理的初等教材,可能繞過了勒貝格積分,直接講點面對實用的東西而不談它的數學基礎,但是,對於深層次的研究問題——特別是希望在理論中能做一些工作——這並不是總能繞過去。
- 在下面,我們還會看到,測度理論是現代概率論的基礎。
拓撲學:分析從實數軸推廣到一般空間——現代分析的抽象基礎
隨著實數理論的建立,大家開始把極限和連續推廣到更一般的地方的分析。事實 上,很多基於實數的概念和定理並不是實數特有的。很多特性可以抽象出來,推廣到更一般的空間裡面。對於實數軸的推廣,促成了點集拓撲學(Point- set Topology)的建立。很多原來只存在於實數中的概念,被提取出來,進行一般性的討論。在拓撲學裡面,有4個C構成了它的核心:
- Closed set(閉集合)。在現代的拓撲學的公理化體系中,開集和閉集是最基本的概念。一切從此引申。這兩個概念是開區間和閉區間的推廣,它們的根本地位,並不是 一開始就被認識到的。經過相當長的時間,人們才認識到:開集的概念是連續性的基礎,而閉集對極限運算封閉——而極限正是分析的根基。
- Continuous function (連續函式)。連續函式在微積分裡面有個用epsilon-delta語言給出的定義,在拓撲學中它的定義是“開集的原像是開集的函式”。第二個定義和第 一個是等價的,只是用更抽象的語言進行了改寫。我個人認為,它的第三個(等價)定義才從根本上揭示連續函式的本質——“連續函式是保持極限運算的函式” ——比如y是數列x1, x2, x3, … 的極限, 那麼如果 f 是連續函式,那麼 f(y) 就是 f(x1), f(x2), f(x3), …的極限。連續函式的重要性,可以從別的分支學科中進行類比。比如群論中,基礎的運算是“乘法”,對於群,最重要的對映叫“同態對映”——保持“乘法”的 對映。在分析中,基礎運算是“極限”,因此連續函式在分析中的地位,和同態對映在代數中的地位是相當的。
- Connected set (連通集合)。比它略為窄一點的概念叫(Path connected),就是集合中任意兩點都存在連續路徑相連——可能是一般人理解的概念。一般意義下的連通概念稍微抽象一些。在我看來,連通性有兩個重 要的用場:一個是用於證明一般的中值定理(Intermediate Value Theorem),還有就是代數拓撲,拓撲群論和李群論中討論根本群(Fundamental Group)的階。
- Compact set(緊集)。Compactness似乎在初等微積分裡面沒有專門出現,不過有幾條實數上的定理和它其實是有關係的。比如,“有界數列必然存在收斂子 列”——用compactness的語言來說就是——“實數空間中有界閉集是緊的”。它在拓撲學中的一般定義是一個聽上去比較抽象的東西——“緊集的任意 開覆蓋存在有限子覆蓋”。這個定義在討論拓撲學的定理時很方便,它在很多時候能幫助實現從無限到有限的轉換。對於分析來說,用得更多的是它的另一種形式 ——“緊集中的數列必存在收斂子列”——它體現了分析中最重要的“極限”。Compactness在現代分析中運用極廣,無法盡述。微積分中的兩個重要定 理:極值定理(Extreme Value Theory),和一致收斂定理(Uniform Convergence Theorem)就可以藉助它推廣到一般的形式。
從某種意義上說,點集拓撲學可以看成是關於“極限”的一般理論,它抽象於實數理論,它的概念成為幾乎所有現代分析學科的通用語言,也是整個現代分析的根基所在。
微分幾何:流形上的分析——在拓撲空間上引入微分結構
拓撲學把極限的概念推廣到一般的拓撲空間,但這不是故事的結束,而僅僅是開 始。在微積分裡面,極限之後我們有微分,求導,積分。這些東西也可以推廣到拓撲空間,在拓撲學的基礎上建立起來——這就是微分幾何。從教學上說,微分幾何 的教材,有兩種不同的型別,一種是建立在古典微機分的基礎上的“古典微分幾何”,主要是關於二維和三維空間中的一些幾何量的計算,比如曲率。還有一種是建 立在現代拓撲學的基礎上,這裡姑且稱為“現代微分幾何”——它的核心概念就是“流形”(manifold)——就是在拓撲空間的基礎上加了一套可以進行微 分運算的結構。現代微分幾何是一門非常豐富的學科。比如一般流形上的微分的定義就比傳統的微分豐富,我自己就見過三種從不同角度給出的等價定義——這一方 面讓事情變得複雜一些,但是另外一個方面它給了同一個概念的不同理解,往往在解決問題時會引出不同的思路。除了推廣微積分的概念以外,還引入了很多新概 念:tangent space, cotangent space, push forward, pull back, fibre bundle, flow, immersion, submersion 等等。
近些年,流形在machine learning似乎相當時髦。但是,坦率地說,要弄懂一些基本的流形演算法, 甚至“創造”一些流形演算法,並不需要多少微分幾何的基礎。對我的研究來說,微分幾何最重要的應用就是建立在它之上的另外一個分支:李群和李代數——這是數 學中兩大家族分析和代數的一個漂亮的聯姻。分析和代數的另外一處重要的結合則是泛函分析,以及在其基礎上的調和分析。
代數:一個抽象的世界
關於抽象代數
回過頭來,再說說另一個大家族——代數。
如果說古典微積分是分析的入門,那麼現代代數的入門點則是兩個部分:線性代數(linear algebra)和基礎的抽象代數(abstract algebra)——據說國內一些教材稱之為近世代數。
代數——名稱上研究的似乎是數,在我看來,主要研究的是運算規則。一門代數, 其實都是從某種具體的運算體系中抽象出一些基本規則,建立一個公理體系,然後在這基礎上進行研究。一個集合再加上一套運算規則,就構成一個代數結構。在主 要的代數結構中,最簡單的是群(Group)——它只有一種符合結合率的可逆運算,通常叫“乘法”。如果,這種運算也符合交換率,那麼就叫阿貝爾群 (Abelian Group)。如果有兩種運算,一種叫加法,滿足交換率和結合率,一種叫乘法,滿足結合率,它們之間滿足分配率,這種豐富一點的結構叫做環(Ring), 如果環上的乘法滿足交換率,就叫可交換環(Commutative Ring)。如果,一個環的加法和乘法具有了所有的良好性質,那麼就成為一個域(Field)。基於域,我們可以建立一種新的結構,能進行加法和數乘,就 構成了線性代數(Linear algebra)。
代數的好處在於,它只關心運算規則的演繹,而不管參與運算的物件。只要定義恰 當,完全可以讓一隻貓乘一隻狗得到一頭豬:-)。基於抽象運算規則得到的所有定理完全可以運用於上面說的貓狗乘法。當然,在實際運用中,我們還是希望用它 乾點有意義的事情。學過抽象代數的都知道,基於幾條最簡單的規則,比如結合律,就能匯出非常多的重要結論——這些結論可以應用到一切滿足這些簡單規則的地 方——這是代數的威力所在,我們不再需要為每一個具體領域重新建立這麼多的定理。
抽象代數有在一些基礎定理的基礎上,進一步的研究往往分為兩個流派:研究有限 的離散代數結構(比如有限群和有限域),這部分內容通常用於數論,編碼,和整數方程這些地方;另外一個流派是研究連續的代數結構,通常和拓撲與分析聯絡在 一起(比如拓撲群,李群)。我在學習中的focus主要是後者。
線性代數:“線性”的基礎地位
對於做Learning, vision, optimization或者statistics的人來說,接觸最多的莫過於線性代數——這也是我們在大學低年級就開始學習的。線性代數,包括建立在它 基礎上的各種學科,最核心的兩個概念是向量空間和線性變換。線性變換線上性代數中的地位,和連續函式在分析中的地位,或者同態對映在群論中的地位是一樣的 ——它是保持基礎運算(加法和數乘)的對映。
在learning中有這樣的一種傾向——鄙視線性演算法,標榜非線性。也許在 很多場合下面,我們需要非線性來描述複雜的現實世界,但是無論什麼時候,線性都是具有根本地位的。沒有線性的基礎,就不可能存在所謂的非線性推廣。我們常 用的非線性化的方法包括流形和kernelization,這兩者都需要在某個階段迴歸線性。流形需要在每個區域性建立和線性空間的對映,通過把許多區域性線 性空間連線起來形成非線性;而kernerlization則是通過置換內積結構把原線性空間“非線性”地對映到另外一個線性空間,再進行線性空間中所能 進行的操作。而在分析領域,線性的運算更是無處不在,微分,積分,傅立葉變換,拉普拉斯變換,還有統計中的均值,通通都是線性的。
泛函分析:從有限維向無限維邁進
在大學中學習的線性代數,它的簡單主要因為它是在有限維空間進行的,因為有 限,我們無須藉助於太多的分析手段。但是,有限維空間並不能有效地表達我們的世界——最重要的,函式構成了線性空間,可是它是無限維的。對函式進行的最重 要的運算都在無限維空間進行,比如傅立葉變換和小波分析。這表明了,為了研究函式(或者說連續訊號),我們需要打破有限維空間的束縛,走入無限維的函式空 間——這裡面的第一步,就是泛函分析。
泛函分析(Functional Analysis)是研究的是一般的線性空間,包括有限維和無限維,但是很多東西在有限維下顯得很trivial,真正的困難往往在無限維的時候出現。在 泛函分析中,空間中的元素還是叫向量,但是線性變換通常會叫作“運算元”(operator)。除了加法和數乘,這裡進一步加入了一些運算,比如加入範數去 表達“向量的長度”或者“元素的距離”,這樣的空間叫做“賦範線性空間”(normed space),再進一步的,可以加入內積運算,這樣的空間叫“內積空間”(Inner product space)。
大家發現,當進入無限維的時間時,很多老的觀念不再適用了,一切都需要重新審視。
- 所有的有限維空間都是完備的(柯西序列收斂),很多無限維空間卻是不完備的(比如閉區間上的連續函式)。在這裡,完備的空間有特殊的名稱:完備的賦範空間叫巴拿赫空間(Banach space),完備的內積空間叫希爾伯特空間(Hilbert space)。
- 在有限維空間中空間和它的對偶空間的是完全同構的,而在無限維空間中,它們存在微妙的差別。
- 在有限維空間中,所有線性變換(矩陣)都是有界變換,而在無限維,很多運算元是無界的(unbounded),最重要的一個例子是給函式求導。
- 在有限維空間中,一切有界閉集都是緊的,比如單位球。而在所有的無限維空間中,單位球都不是緊的——也就是說,可以在單位球內撒入無限個點,而不出現一個極限點。
- 在有限維空間中,線性變換(矩陣)的譜相當於全部的特徵值,在無限維空間 中,運算元的譜的結構比這個複雜得多,除了特徵值組成的點譜(point spectrum),還有approximate point spectrum和residual spectrum。雖然複雜,但是,也更為有趣。由此形成了一個相當豐富的分支——運算元譜論(Spectrum theory)。
- 在有限維空間中,任何一點對任何一個子空間總存在投影,而在無限維空間中, 這就不一定了,具有這種良好特性的子空間有個專門的名稱切比雪夫空間(Chebyshev space)。這個概念是現代逼近理論的基礎(approximation theory)。函式空間的逼近理論在Learning中應該有著非常重要的作用,但是現在看到的運用現代逼近理論的文章並不多。
繼續往前:巴拿赫代數,調和分析,和李代數
基本的泛函分析繼續往前走,有兩個重要的方向。第一個是巴拿赫代數 (Banach Algebra),它就是在巴拿赫空間(完備的內積空間)的基礎上引入乘法(這不同於數乘)。比如矩陣——它除了加法和數乘,還能做乘法——這就構成了一 個巴拿赫代數。除此以外,值域完備的有界運算元,平方可積函式,都能構成巴拿赫代數。巴拿赫代數是泛函分析的抽象,很多對於有界運算元匯出的結論,還有運算元譜 論中的許多定理,它們不僅僅對運算元適用,它們其實可以從一般的巴拿赫代數中得到,並且應用在運算元以外的地方。巴拿赫代數讓你站在更高的高度看待泛函分析中 的結論,但是,我對它在實際問題中能比泛函分析能多帶來什麼東西還有待思考。
最能把泛函分析和實際問題在一起的另一個重要方向是調和分析 (Harmonic Analysis)。我在這裡列舉它的兩個個子領域,傅立葉分析和小波分析,我想這已經能說明它的實際價值。它研究的最核心的問題就是怎麼用基函式去逼近 和構造一個函式。它研究的是函式空間的問題,不可避免的必須以泛函分析為基礎。除了傅立葉和小波,調和分析還研究一些很有用的函式空間,比如Hardy space,Sobolev space,這些空間有很多很好的性質,在工程中和物理學中都有很重要的應用。對於vision來說,調和分析在訊號的表達,影像的構造,都是非常有用的 工具。
當分析和線性代數走在一起,產生了泛函分析和調和分析;當分析和群論走在一 起,我們就有了李群(Lie Group)和李代數(Lie Algebra)。它們給連續群上的元素賦予了代數結構。我一直認為這是一門非常漂亮的數學:在一個體系中,拓撲,微分和代數走到了一起。在一定條件下, 通過李群和李代數的聯絡,它讓幾何變換的結合變成了線性運算,讓子群化為線性子空間,這樣就為Learning中許多重要的模型和演算法的引入到對幾何運動 的建模創造了必要的條件。因此,我們相信李群和李代數對於vision有著重要意義,只不過學習它的道路可能會很艱辛,在它之前需要學習很多別的數學。
現代概率論:在現代分析基礎上再生
最後,再簡單說說很多Learning的研究者特別關心的數學分支:概率論。 自從Kolmogorov在上世紀30年代把測度引入概率論以來,測度理論就成為現代概率論的基礎。在這裡,概率定義為測度,隨機變數定義為可測函式,條 件隨機變數定義為可測函式在某個函式空間的投影,均值則是可測函式對於概率測度的積分。值得注意的是,很多的現代觀點,開始以泛函分析的思路看待概率論的 基礎概念,隨機變數構成了一個向量空間,而帶符號概率測度則構成了它的對偶空間,其中一方施加於對方就形成均值。角度雖然不一樣,不過這兩種方式殊途同 歸,形成的基礎是等價的。
在現代概率論的基礎上,許多傳統的分支得到了極大豐富,最有代表性的包括鞅論 (Martingale)——由研究賭博引發的理論,現在主要用於金融(這裡可以看出賭博和金融的理論聯絡,:-P),布朗運動(Brownian Motion)——連續隨機過程的基礎,以及在此基礎上建立的隨機分析(Stochastic Calculus),包括隨機積分(對隨機過程的路徑進行積分,其中比較有代表性的叫伊藤積分(Ito Integral)),和隨機微分方程。對於連續幾何運用建立概率模型以及對分佈的變換的研究離不開這些方面的知識。