和机器学习和计算机视觉相关的数学
http://blog.csdn.net/zouxy09/article/details/8084511
和機器學習和計算機視覺相關的數學之一
(以下轉自一位MIT牛人的空間文章,寫得很實際:)
作者:Dahua
感覺數學似乎總是不夠的。這些日子為了解決research中的一些問題,又在圖書館捧起了數學的教科書。從大學到現在,課堂上學的和自學的數學其實不算少了,可是在研究的過程中總是發現需要補充新的數學知識。Learning和Vision都是很多種數學的交匯場??粗煌睦碚擉w系的交匯,對于一個researcher來說,往往是非常exciting的enjoyable的事情。不過,這也代表著要充分了解這個領域并且取得有意義的進展是很艱苦的。記得在兩年前的一次blog里面,提到過和learning有關的數學。今天看來,我對于數學在這個領域的作用有了新的思考。對于Learning的研究,?
1、Linear Algebra (線性代數)?和?Statistics (統計學)?是最重要和不可缺少的。
這代表了Machine Learning中最主流的兩大類方法的基礎。一種是以研究函數和變換為重點的代數方法,比如Dimension reduction,feature extraction,Kernel等,一種是以研究統計模型和樣本分布為重點的統計方法,比如Graphical model, Information theoretical models等。它們側重雖有不同,但是常常是共同使用的,對于代數方法,往往需要統計上的解釋,對于統計模型,其具體計算則需要代數的幫助。以代數和統計為出發點,繼續往深處走,我們會發現需要更多的數學。?
2、Calculus (微積分),只是數學分析體系的基礎。
其基礎性作用不言而喻。Learning研究的大部分問題是在連續的度量空間進行的,無論代數還是統計,在研究優化問題的時候,對一個映射的微分或者梯度的分析總是不可避免。而在統計學中,Marginalization和積分更是密不可分——不過,以解析形式把積分導出來的情況則不多見。
3、Partial Differential Equation?(偏微分方程)
這主要用于描述動態過程,或者仿動態過程。這個學科在Vision中用得比Learning多,主要用于描述連續場的運動或者擴散過程。比如Level set, Optical flow都是這方面的典型例子。
4、Functional Analysis (泛函分析)
通俗地,可以理解為微積分從有限維空間到無限維空間的拓展——當然了,它實際上遠不止于此。在這個地方,函數以及其所作用的對象之間存在的對偶關系扮演了非常重要的角色。Learning發展至今,也在向無限維延伸——從研究有限維向量的問題到以無限維的函數為研究對象。Kernel Learning?和?Gaussian Process?是其中典型的例子——其中的核心概念都是Kernel。很多做Learning的人把Kernel簡單理解為Kernel trick的運用,這就把kernel的意義嚴重弱化了。在泛函里面,Kernel (Inner Product)是建立整個博大的代數體系的根本,從metric, transform到spectrum都根源于此。
5、Measure Theory (測度理論)
這是和實分析關系非常密切的學科。但是測度理論并不限于此。從某種意義上說,Real Analysis可以從Lebesgue Measure(勒貝格測度)推演,不過其實還有很多別的測度體系——概率本身就是一種測度。測度理論對于Learning的意義是根本的,現代統計學整個就是建立在測度理論的基礎之上——雖然初級的概率論教科書一般不這樣引入。在看一些統計方面的文章的時候,你可能會發現,它們會把統計的公式改用測度來表達,這樣做有兩個好處:所有的推導和結論不用分別給連續分布和離散分布各自寫一遍了,這兩種東西都可以用同一的測度形式表達:連續分布的積分基于Lebesgue測度,離散分布的求和基于計數測度,而且還能推廣到那種既不連續又不離散的分布中去(這種東西不是數學家的游戲,而是已經在實用的東西,在Dirchlet Process或者Pitman-Yor Process里面會經??吹?。而且,即使是連續積分,如果不是在歐氏空間進行,而是在更一般的拓撲空間(比如微分流形或者變換群),那么傳統的黎曼積分(就是大學一年級在微積分課學的那種)就不work了,你可能需要它們的一些推廣,比如Haar Measure或者Lebesgue-Stieltjes積分。
6、Topology(拓撲學)
這是學術中很基礎的學科。它一般不直接提供方法,但是它的很多概念和定理是其它數學分支的基石??春芏鄤e的數學的時候,你會經常接觸這樣一些概念:Open set / Closed set,set basis,Hausdauf, continuous function,metric space, Cauchy sequence, neighborhood, compactness, connectivity。很多這些也許在大學一年級就學習過一些,當時是基于極限的概念獲得的。如果,看過拓撲學之后,對這些概念的認識會有根本性的拓展。比如,連續函數,當時是由epison法定義的,就是無論取多小的正數epsilon,都存在xxx,使得xxx。這是需要一種metric去度量距離的,在general topology里面,對于連續函數的定義連坐標和距離都不需要——如果一個映射使得開集的原像是開集,它就是連續的——至于開集是基于集合論定義的,不是通常的開區間的意思。這只是最簡單的例子。當然,我們研究learning也許不需要深究這些數學概念背后的公理體系,但是,打破原來定義的概念的局限在很多問題上是必須的——尤其是當你研究的東西它不是在歐氏空間里面的時候——正交矩陣,變換群,流形,概率分布的空間,都屬于此。
7、Differential Manifold (微分流形)
通俗地說它研究的是平滑的曲面。一個直接的印象是它是不是可以用來fitting一個surface什么的——當然這算是一種應用,但是這是非常初步的。本質上說,微分流形研究的是平滑的拓撲結構。一個空間構成微分流形的基本要素是局部平滑:從拓撲學來理解,就是它的任意局部都同胚于歐氏空間,從解析的角度來看,就是相容的局部坐標系統。當然,在全局上,它不要求和歐氏空間同胚。它除了可以用于刻畫集合上的平滑曲面外,更重要的意義在于,它可以用于研究很多重要的集合。一個n-維線性空間的全部k-維子空間(k
8、Lie Group Theory (李群論)
一般意義的群論在Learning中被運用的不是很多,群論在Learning中用得較多的是它的一個重要方向Lie group。定義在平滑流形上的群,并且其群運算是平滑的話,那么這就叫李群。因為Learning和編碼不同,更多關注的是連續空間,因為Lie group在各種群中對于Learning特別重要。各種子空間,線性變換,非奇異矩陣都基于通常意義的矩陣乘法構成李群。在李群中的映射,變換,度量,劃分等等都對于Learning中代數方法的研究有重要指導意義。?
9、Graph Theory(圖論)
圖,由于它在表述各種關系的強大能力以及優雅的理論,高效的算法,越來越受到Learning領域的歡迎。經典圖論,在Learning中的一個最重要應用就是graphical models了,它被成功運用于分析統計網絡的結構和規劃統計推斷
?
和機器學習和計算機視覺相關的數學之二
轉自:http://blog.sina.com.cn/s/blog_6833a4df0100nazk.html
1.?線性代數 (Linear Algebra):
我想國內的大學生都會學過這門課程,但是,未必每一位老師都能貫徹它的精要。這門學科對于Learning是必備的基礎,對它的透徹掌握是必不可少的。我在科大一年級的時候就學習了這門課,后來到了香港后,又重新把線性代數讀了一遍,所讀的是
Introduction to Linear Algebra (3rd Ed.)??by Gilbert Strang.
LINK:http://download.csdn.net/detail/anshan1984/5064464
這本書是MIT的線性代數課使用的教材,也是被很多其它大學選用的經典教材。它的難度適中,講解清晰,重要的是對許多核心的概念討論得比較透徹。我個人覺得,學習線性代數,最重要的不是去熟練矩陣運算和解方程的方法——這些在實際工作中MATLAB可以代勞,關鍵的是要深入理解幾個基礎而又重要的概念:子空間(Subspace),正交(Orthogonality),特征值和特征向量(Eigenvalues and eigenvectors),和線性變換(Linear transform)。從我的角度看來,一本線代教科書的質量,就在于它能否給這些根本概念以足夠的重視,能否把它們的聯系講清楚。Strang的這本書在這方面是做得很好的。
而且,這本書有個得天獨厚的優勢。書的作者長期在MIT講授線性代數課(18.06),課程的video在MIT的Open courseware網站上有提供。有時間的朋友可以一邊看著名師授課的錄像,一邊對照課本學習或者復習。
http://ocw.mit.edu/OcwWeb/Mathematics/18-06Spring-2005/CourseHome/index.htm
?
2.?概率和統計?(Probability and Statistics):
概率論和統計的入門教科書很多,我目前也沒有特別的推薦。我在這里想介紹的是一本關于多元統計的基礎教科書:
Applied Multivariate Statistical Analysis?(5th Ed.)??by Richard A. Johnson and Dean W. Wichern
這本書是我在剛接觸向量統計的時候用于學習的,我在香港時做研究的基礎就是從此打下了。實驗室的一些同學也借用這本書學習向量統計。這本書沒有特別追求數學上的深度,而是以通俗易懂的方式講述主要的基本概念,讀起來很舒服,內容也很實用。對于Linear regression, factor analysis, principal component analysis (PCA), and canonical component analysis (CCA)這些Learning中的基本方法也展開了初步的論述。
之后就可以進一步深入學習貝葉斯統計和Graphical models。一本理想的書是
Introduction to Graphical Models (draft version).??by M. Jordan and C. Bishop.
我不知道這本書是不是已經出版了(不要和Learning in Graphical Models混淆,那是個論文集,不適合初學)。這本書從基本的貝葉斯統計模型出發一直深入到復雜的統計網絡的估計和推斷,深入淺出,statistical learning的許多重要方面都在此書有清楚論述和詳細講解。MIT內部可以access,至于外面,好像也是有電子版的。
?
3.?分析?(Analysis):
我想大家基本都在大學就學過微積分或者數學分析,深度和廣度則隨各個學校而異了。這個領域是很多學科的基礎,值得推薦的教科書莫過于
Principles of Mathematical Analysis, by Walter Rudin
有點老,但是絕對經典,深入透徹。缺點就是比較艱深——這是Rudin的書的一貫風格,適合于有一定基礎后回頭去看。
在分析這個方向,接下來就是泛函分析(Functional Analysis)。
Introductory Functional Analysis with Applications, by Erwin Kreyszig.
適合作為泛函的基礎教材,容易切入而不失全面。我特別喜歡它對于譜論和算子理論的特別關注,這對于做learning的研究是特別重要的。Rudin也有一本關于functional analysis的書,那本書在數學上可能更為深刻,但是不易于上手,所講內容和learning的切合度不如此書。
在分析這個方向,還有一個重要的學科是測度理論(Measure theory),但是我看過的書里面目前還沒有感覺有特別值得介紹的。
?
4.?拓撲?(Topology):
在我讀過的基本拓撲書各有特色,但是綜合而言,我最推崇:
Topology (2nd Ed.)??by James Munkres
這本書是Munkres教授長期執教MIT拓撲課的心血所凝。對于一般拓撲學(General topology)有全面介紹,而對于代數拓撲(Algebraic topology)也有適度的探討。此書不需要特別的數學知識就可以開始學習,由淺入深,從最基本的集合論概念(很多書不屑講這個)到Nagata-Smirnov Theorem和Tychonoff theorem等較深的定理(很多書避開了這個)都覆蓋了。講述方式思想性很強,對于很多定理,除了給出證明過程和引導你思考其背后的原理脈絡,很多令人贊嘆的亮點——我常讀得忘卻饑餓,不愿釋手。很多習題很有水平。
?
5.?流形理論?(Manifold theory):
對于拓撲和分析有一定把握時,方可開始學習流形理論,否則所學只能流于浮淺。我所使用的書是
Introduction to Smooth Manifolds.??by John M. Lee
雖然書名有introduction這個單詞,但是實際上此書涉入很深,除了講授了基本的manifold,?tangent space,bundle,?sub-manifold等,還探討了諸如綱理論(Category theory),德拉姆上同調(De Rham cohomology)和積分流形等一些比較高級的專題。對于李群和李代數也有相當多的討論。行文通俗而又不失嚴謹,不過對某些記號方式需要熟悉一下。
雖然李群論是建基于平滑流形的概念之上,不過,也可能從矩陣出發直接學習李群和李代數——這種方法對于急需使用李群論解決問題的朋友可能更加實用。而且,對于一個問題從不同角度看待也利于加深理解。下面一本書就是這個方向的典范:
Lie Groups, Lie Algebras, and Representations: An Elementary Introduction.??by Brian C. Hall
此書從開始即從矩陣切入,從代數而非幾何角度引入矩陣李群的概念。并通過定義運算的方式建立exponential mapping,并就此引入李代數。這種方式比起傳統的通過“左不變向量場(Left-invariant vector field)“的方式定義李代數更容易為人所接受,也更容易揭示李代數的意義。最后,也有專門的論述把這種新的定義方式和傳統方式聯系起來。
————————————————————————————
無論是研究Vision, Learning還是其它別的學科,數學終究是根基所在。學好數學是做好研究的基石。學好數學的關鍵歸根結底是自己的努力,但是選擇一本好的書還是大有益處的。不同的人有不同的知識背景,思維習慣和研究方向,因此書的選擇也因人而異,只求適合自己,不必強求一致。上面的書僅僅是從我個人角度的出發介紹的,我的閱讀經歷實在非常有限,很可能還有比它們更好的書(不妨也告知我一聲,先說聲謝謝了)。
總結
以上是生活随笔為你收集整理的和机器学习和计算机视觉相关的数学的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 针对未知三相电的R、S、T相,如何实现3
- 下一篇: 安卓考试答题APP源码