「如何成為資料科學家」大哉問 1:當資料科學家數學是不是要很好?

表格123

實在是太多朋友想要知道「如何成為一名資料科學家?」雖然我是一名菜鳥,但大概算是個容易捕捉到的人(?),所以我想稍微對幾個時常被問到的問題作回答。其實資料科學的領域很廣,隨著資料型態不同,應用情境與需要的技巧也會差很多,因此我只能根據我自己的情況來跟大家分享我對於這些問題的想法。如果你有想問的問題,歡迎留言給我,我一周會出一個問題的分享喔!

 

本周問題:當資料科學家數學是不是要很好?

 

雖然(我是真的覺得)重點是分析邏輯、對資料的敏感度、對特定領域的了解,但認真說實話,我覺得這題答案是對,數學是資料科學家很重要的武器,所以對數學絕對不能排斥。當然,如果只是用套件去做,這些數學可能不是很重要,但很多時候如果不曉得使用的模型及理論是什麼,一來可能是分析的結果不會很好,二來是可能會因為模型誤用而造成很大的風險。所以我覺得還是要有一定的數學底子,才能學會更多有用的模型,並能了解這些模型的限制。

 

基本技能:微積分與線性代數

 

我想在更深入去討論一下資料科學家會用到那些數學工具。首先,一定要有基本的微積分基礎,不論你是做統計估計或是機器學習,基本上在作的都是「函數逼近」(functional approximation),因此要了解這些資料分析模型,微積分是必備工具。但說真的,以應用面來看,你只要會多變數的微分與積分、解多變數方程式的極大極小值、多變數的泰勒展式、級數與函數的收斂,這樣就很足夠了!高等微積分雖然有些幫助,但我覺得並不是必要的。

 

另一個一定要會的工具是線性代數,包括:向量空間、內積空間、矩陣的秩(rank)、特徵值與特徵向量 (eigenvalue & eigenvector)、spectral decomposition、奇異值分解 (singular value decomposition)、正交基底(orthogonal basis) 與正交投影(orthogonal projection)。我覺得線性代數的重要性可能超過微積分,因為大部分的資料科學家都是用「矩陣」在思考統計或機器學習模型,也會用矩陣去想實際的資料,因此線性代數非常重要。

 

常用技能:機率論與統計方法

 

機率論的基礎,機率論不是指排列組合或古典機率,而是要了解隨機變數(random variable)、聯合分配(joint distribution)、大數法則(law of large number)、中央極限定理(central limit theorem)。機率論是處理「隨機性」最有效的工具,幾乎所有的資料分析方法都是建立在機率論的理論框架,比如說:機器學習建立在「empirical risk minimization」以及「concentration of measure」上,增強學習 (AI很重要的一環) 是建立在「Markov decision process」上,統計是建立在「random sample」上,全部都需要機率理論的幫忙。

 

至於統計的部分,我倒覺得是不一定,尤其是在deep learning這個領域,統計扮演的角色比重不高。不過通常很好的資料科學家,就算是電腦科學家出身的,也對統計有一定的著墨,比如說計算機圖學、通訊理論、機器學習、網絡資料分析、文字探勘與資訊檢索、信號處理,其實都滿多統計方法跟架構被高度應用。最重要的統計方法一個是「最大概似法」(maximum likelihood estimation)、一個是EM (expectation-maximization) 演算法、一個是「迴歸分析」(regression analysis)。其他我自己工作有使用過的統計方法包括:多變量分析、時間序列分析、實驗設計。

 

常用技能:機器學習

 

最後不得不談這幾年超盛行的機器學習了!就我學習機器學習的經驗來說,撇去程式能力不提,如果你上面的技能都很熟悉,那麼機器學習的模型與演算法就不算太困難!當然,有一些特殊的方法,比如說tree相關的演算法,需要對樹狀資料結構有一定的認識,但整體而言,機器學習會用到的數學工具不外乎就是以上提到的微積分、線性代數、機率論、MLE等。

 

小結:這些知識要去哪裡學?

 

其實我覺得對於任何領域來說,數學都是會得越多,之後運用的彈性就越大,因此我還有補一些其他的知識,像是隨機過程、傅立葉分析、最佳化、壓縮感知等。大四剛轉統計時,其實我花了非常多時間補數學知識 。雖然我本來數學還算不錯,但我其實線性代數、機率論、數理統計都學得不大好,因此我大四真的每天都花很多時間補數學知識,讀書讀到口舌成瘡XD

 

幸運的是很多領域都有很棒的線上課程,在此我就不藏私的大公開「讓我全部看完的」超棒線上課程!至於我花了多少時間看完呢?微積分一、二是大一看的,線性代數是大二看的,機率論與統計學是大三看得,線性模式、應用多變量分析是大四看得,機器學習基石與技法是碩一上修的,所以如果學會這些東西可能就差不多要個2-3年吧!

 

 

 

 

 

 

 

有關 David’s Perspective 的最新文章,都會發布在大鼻的 Facebook 粉絲專頁,如果你喜歡大鼻的文章,還請您不吝嗇地按讚或留言給我喔!

大鼻觀點:https://www.facebook.com/davidperspective/

About David Huang

目前在台灣大學就讀統計碩士學位學程。我的研究領域是特徵表達與降維分析、序列決策模型、以及財務時間序列,我喜歡用商業的觀點切入大數據與資料科學!

1 Comment

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *