一個機器學習算法工程師,對數學的掌握程度應該是怎樣的?

kart2011


對於機器學習算法工程師而言,統計和線性代數毫無疑問是需要掌握的。

統計

比如評估機器學習算法的表現,用到的各種指標就源於統計學,包括準確率召回F1AUROC等。

(AUROC曲線;圖片來源:gerardnico.com)

再比如很多機器學習算法都假定數據符合某種分佈(或至少接近某種分佈),同樣,這些分佈的知識也屬於統計學。

(混合高斯分佈;圖片來源:StackOverflow)

線性代數

尤其是矩陣的各種變換,因為大量機器學習算法都是在和矩陣打交道。

比如,現在很火熱的深度學習中最常用的卷積操作,就是矩陣的變換。

其他

還有一些內容:

多變量微積分。比如,現在無比熱門的神經網絡,優化方法幾乎全是基於梯度下降,而梯度下降,其實就是鏈式求導。不過,理工科應該都學過這方面的課程。

概率論。概率也是機器學習算法中頻繁用到的。不過基礎的概率知識在統計學中已經包括了,而比較深入的概率知識其實在機器學習算法設計的時候並不經常用到。


論智


算法工程師,不是程序員。國外公司的職位基本上叫數學家,或科學家。要勝任工作,並且有點創新的話,如下數學領域要比較熟悉才行:微積分與微分方程,線代和矩陣理論,數理統計,布爾代數,隨機過程,積分變換,離散數學,變分原理與最優化,數值計算方法,系統建模理論和方法。比較高一點要求,再加抽象代數,微分幾何,泛函分析,穩定性理論,數理方程,複雜動態系統理論,等。


分享到:


相關文章: