拓撲學在機器學習里有哪些應用呢?


就在之前還和數學出身的朋友討論過這個,就順便說一句。

說有沒有用,要看你這個用怎麼定義。

如果說應用的用,那可以明確告訴你,幾乎沒用,如果你是機器學習出身,除非用到了特定的某個借鑒了這個思想的演算法,否則幾乎是用不上的。

那有沒有用處呢?答案完全相反,有用,用處是讓你更多的理解什麼是數學。

其實上面的說法估計大家都知道,但之所以我想回答這個問題,是因為我想說下面這些話

很多人對數學在機器學習(或者更廣泛的說,所有非數學學科)內的作用有誤解,經常能聽有人在說什麼都是數學。那就先回答這樣的一個問題:

【為什麼不是所有科研工作者都是數學出身?為什麼在數學之外,還要設置其他學科?】

為什麼要說這個,是應為,我覺得非數學專業的人,學數學的順序要和數學專業的相反。就說機器學習,從數學開始學你就完了,不知道哪年才能學到東西。正確的順序應該是:

1.學習經典問題

2.學習經典演算法

3.學習經典演算法的直接數學基礎

4.學習機器學習的一般性數學基礎(也就是適用所有演算法的基礎)

5.重新學一遍線代、概率、高數這些「基本的」東西。

6.【最好再學次4】

7.你可以開始學分析了

8.你可以開始學拓撲這樣的【基礎】了

9.帶徒弟的經驗,1-8步最快也要4-5年

可以看到,這是一個所謂【需求導向】的學習過程,為什麼要這樣?因為一個簡單的事實是:你不可能理解你學的數學是幹嗎用的,數學畢竟不是專門為機器學習(或者任何一個學科)服務的,數學和具體學科之間要有一個連接點(具體說,就是指出你的學科為什麼是符合數學公理的),並且事實上,幾乎所有學科都只在使用數學的(很小一個)子集。如果不是需求導向的學習,你學到轉行都學不到你要學的(想想為什麼學醫的不是從物理開始學)。

【最終,就題主的問題,我給出的答案(只是給題主個人的答案)是:不著急學,等你分析學的差不多,感覺有實際需求的時候再開始也不晚。否則就和線代一樣,你當年就算考100,學了機器學習後照樣需要打回原形從新學】


初學者來試答一下,如有不妥之處還請高手指點。

如果做深入的機器學習理論研究,會涉及到泛函分析,微分流形這些數學理論。而點集拓撲是這些理論的基礎,它不對機器學習有直接的影響,但如果不學好拓撲,很難理解那些高深的數學知識。事實上,拓撲是分析,代數共同的基礎。

推薦芒克里斯的拓撲學,我也剛開始學習。


推薦閱讀:

任天堂的商業模式是什麼?
工業視覺檢測發展現狀?
機器學習模型如何上線或者online學習?

TAG:人工智慧 | 拓撲學 | 機器學習 | 模式識別 |