數學學習在計算機研究領域的作用和重要性

2021-09-02 11:51:23 字數 4476 閱讀 1592

最近一直有師弟師妹和朋友問我數學和研究的關係,研一要去學什麼數學課。畢竟在清華,衡量乙個研究生最重要的指標之一就是*****,而沒有數學,是肯定上不了世界頂級的期刊和會議的,這在計算機學界尤其重要!你會發現,不論哪個領域有價值的東西,都一定離不開數學!在這樣乙個資訊時代,當google已經讓世界沒有秘密的時候,一種卓越的數學思維,絕對可以成為你的核心競爭力.  無奈本人實在見地有限,且生活慵懶,一直沒能整理出一些有價值的東西,今日拜讀了lin dahua的空間,突然發現大牛已經做了此工作,便zz至此與大家分享。紅筆標註之處,是本人的一些感受,也算站在巨人肩膀上做一些膚淺之論吧。最後補充一句:

對於大部分不做純數學理論的人來說(99.99999%的人都屬於這一類),學一門數學時一定要建立和實際物理世界的聯絡。這樣掌握的數學知識才有價值,也最深刻!

前面幾篇談了一些對數學的粗淺看法。其實,如果對某門數學有興趣,最好的方法就是走進那個世界去學習和體驗。

這裡說說幾本我看過後覺得不錯的數學教科書。

1. 線性代數 (linear algebra):

我想國內的大學生都會學過這門課程,但是,未必每一位老師都能貫徹它的精要。這門學科對於learning是必備的基礎,對它的透徹掌握是必不可少的。我在科大一年級的時候就學習了這門課,後來到了香港後,又重新把線性代數讀了一遍,所讀的是

introduction to linear algebra (3rd ed.)  by gilbert strang.

這本書是mit的線性代數課使用的教材,也是被很多其它大學選用的經典教材。它的難度適中,講解清晰,重要的是對許多核心的概念討論得比較透徹。我個人覺得,學習線性代數,最重要的不是去熟練矩陣運算和解方程的方法——這些在實際工作中matlab可以代勞,關鍵的是要深入理解幾個基礎而又重要的概念:

子空間(subspace),正交(orthogonality),特徵值和特徵向量(eigenvalues and eigenvectors),和線性變換(linear transform)。(如果你能理解傅利葉變化究竟做了一件什麼事情,你才能說你知道了子空間!學線性代數一定要理解matlab能為你做的事情之外其他的東西,這才是精髓。而很遺憾,很多高校的線性代數考試只測試學生的計算能力。有幾個數學老師能告訴學生:我們為什麼要計算特徵值?)從我的角度看來,一本線代教科書的質量,就在於它能否給這些根本概念以足夠的重視,能否把它們的聯絡講清楚。strang的這本書在這方面是做得很好的。

而且,這本書有個得天獨厚的優勢。書的作者長期在mit講授線性代數課(18.06),課程的video在mit的open courseware**上有提供。有時間的朋友可以一邊看著名師授課的錄影,一邊對照課本學習或者複習。

2. 概率和統計 (probability and statistics):

(功利一點的講,統計是最實用的一門學科,如果你不去研究,不去做高階的金融投資分析,那麼你可以不去學泛函,不去學線性代數,不去了解拓撲,但你一定離不開統計!時間序列分析也很重要,甚至比統計還來得實用,可國內卻鮮有高校開設這門課程。。。)

概率論和統計的入門教科書很多,我目前也沒有特別的推薦。我在這裡想介紹的是一本關於多元統計的基礎教科書:

這本書是我在剛接觸向量統計的時候用於學習的,我在香港時做研究的基礎就是從此打下了。實驗室的一些同學也借用這本書學習向量統計。這本書沒有特別追求數學上的深度,而是以通俗易懂的方式講述主要的基本概念,讀起來很舒服,內容也很實用。對於linear regression, factor analysis, principal component analysis (pca), and canonical component analysis (cca)這些learning中的基本方法也展開了初步的論述。

之後就可以進一步深入學習貝葉斯統計和graphical models。(to my great acknowledgement, it is just for research.)一本理想的書是

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)。

適合作為泛函的基礎教材,容易切入而不失全面。我特別喜歡它對於譜論和運算元理論的特別關注,這對於做learning的研究是特別重要的。rudin也有一本關於functional analysis的書,那本書在數學上可能更為深刻,但是不易於上手,所講內容和learning的切合度不如此書。

在分析這個方向,還有乙個重要的學科是

測度理論(measure theory),(泛函是一切數學之源,而測度論又是泛函的基石。如今世界頂級投行的quant大部分都是利用概率測度去做風險中性建模和衍生品定價,誰說分析數學沒有用?!ibank的衍生品投資分析都是基於測度中性去做的,因為對於大規模投資來說,最大的問題不是profit,而是risk hedging)但是我看過的書裡面目前還沒有感覺有特別值得介紹的。

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,(個人覺得現在vision領域的manifold learning只是一些無病呻吟的研究,it is just for *****s,但是我並不是說流行學習對vision沒有用處,只是manifold真正的魅力遠沒有被挖掘出來!正像俄羅斯那一群科學怪人整出的l1-norm,誰能想到今天對vision界帶來了如此大的變革。其實,有時學習數學只是一種信仰。)tangent space, bundle, sub-manifold等,還**了諸如綱理論(category theory),德拉姆上同調(de rham cohomology)和積分流形等一些比較高階的專題。對於李群和李代數也有相當多的討論。行文通俗而又不失嚴謹,不過對某些記號方式需要熟悉一下。

雖然李群論是建基於平滑流形的概念之上,不過,也可能從矩陣出發直接學習李群和李代數——這種方法對於急需使用李群論解決問題的朋友可能更加實用。而且,對於乙個問題從不同角度看待也利於加深理解。下面一本書就是這個方向的典範:

lie groups, lie algebras, and representations: an elementary introduction.  by brian c. hall

————————————————————————————

無論是研究vision, learning還是其它別的學科,數學終究是根基所在

。(數學是能與上帝對話的語言)學好數學是做好研究的基石。(如果你能摒棄了功利的去學習數學,那麼數學也勢必能夠為你帶來功利!)學好數學的關鍵歸根結底是自己的努力但是選擇一本好的書還是大有益處的。不同的人有不同的知識背景,思維習慣和研究方向,因此書的選擇也因人而異,只求適合自己,不必強求一致。上面的書僅僅是從我個人角度的出發介紹的,我的閱讀經歷實在非常有限,很可能還有比它們更好的書(不妨也告知我一聲,先說聲謝謝了)。

「測不准原理」在計算機領域的體現

此貼讓我有此感覺 量子物理上講 測不准原理 這是普世通理,計算機領域也有此現像。你想要速度麼?就無法精確。c 的指標問題,永遠也說不完。stl容器與智慧型指標的不合理搭配,導致的對 值 語義 可安全複製,本體和複本生存期內無構造,無析構 的破壞,容器對像foreach時引發的異常行為。而c 做為一種...

演算法在計算機中的作用

一 演算法是什麼 演算法非形式地說,演算法就是任何良定義 沒有公理性的矛盾,不會推出與實際情況相悖的情況 的計算過程,該過程取某個值或值的集合作為輸入並產生某個值或值的集合作為輸出。這樣的演算法就是把輸入轉換成輸出的計算步驟的乙個序列。是描述乙個特定的計算過程來實現該輸入 輸出關係。比如 輸入序列為...

學習筆記 計算機中的數學

01 導數 谷歌無人駕駛 遊戲極品飛車 自動駕駛演算法 速度 vx t dpx dt vy t dpy dt 極座標下的速度方向 t atan2 vy t vx t t時刻方向盤的轉角 w t d dt p t w t 複雜求導 02 參變數函式 憤怒的小鳥 投射軌跡 入射速度和入射角度 bezie...