譯文:機器學習需要具備怎樣的數學水平?
在過去的幾個月里,我一直和一些人交流,他們已經開始切入數據科學領域並積極使用機器學習(ML)技術來探索統計規律、或構建完善的數據驅動產品。然而,我發現很多情況下統計分析結果不盡人意的原因是是缺乏必要的數學直覺和知識框架。這就是我決定寫這篇博客的主要原因。
最近興起了許多易於使用的機器學習和深度學習的安裝包,如scikit-learn,weka,tensorflow,r-caret等。機器學習理論是橫跨統計、概率、計算機科學和演算法等相關領域,可以用來構建智能應用程序。雖然機器和深度學習有著無限前景,但就這些技術而言,透徹的數學理解對掌握內部運算和獲得較好的效果是非常有必要的。
為什麼要強調數學?
毫無疑問機器學習中數學是重要的,例如你需要:
1.選擇合適的演算法,包括考慮精度、訓練時間、模型的複雜性、參數和數量特徵;
2.選擇參數設置和驗證策略;
3.通過了解偏差方差權衡來識別擬合不足與過度擬合;
4.估計正確的置信區間和不確定性。
你需要具備怎樣的數學水平?
到底需要具備多少數學知識才能理解機器學習這個交叉領域的技術呢?這個問題沒有統一的答案,通常是因人而異的。機器學習的數學公式和理論研究正在進行中,研究人員也正在研發更多的先進技術,所以回答這個問題是不太容易的。下面我將從以下方面闡述我認為成為機器學習科學家/工程師所需的最低數學水平以及每個數學概念的重要性。
1. 線性代數:我的一個同事Skyler Speakman說「線性代數是二十一世紀的數學」,我完全同意這個說法。在ML中,線性代數到處都是。主成分分析(PCA)、奇異值分解(SVD)、矩陣的特徵分解、LU分解、QR分解/因式分解、對稱矩陣,正交化和正交化、矩陣運算、投影、特徵值和特徵向量、向量空間和規範這些都是理解機器學習及其優化方法所必需的。線性代數令人驚奇的是,有很多在線資源。 我一直說傳統的課堂正在死亡,因為互聯網上有大量的資源。我最喜歡的線性代數課程是MIT(Gilbert Strang教授)課程。
2. 概率理論與統計學:機器學習與統計學領域是有很多相似的地方。實際上,有人最近將機器學習定義為「在Mac上統計數據」。 機器學習需要基本統計和概率理論的綜合知識,如概率規則和公理、貝葉斯定理、隨機變數、方差和期望、條件和聯合分布、標準分布(伯努利,二項式,多項式,均勻和高斯)、矩生成函數、最大似然估計(MLE)、先驗和後驗、最大後驗估計(MAP)和抽樣方法。
3. 多元微積分:主要領域包括微積分、偏導數、向量值函數、梯度方向、Hessian矩陣、雅可比矩陣、拉普拉斯和拉格朗日分布。
4. 演算法和複雜度優化: 這些在評估計算的效率和可擴展性,或利用稀疏矩陣時,顯得非常重要。 需要知識包括數據結構(二叉樹,散列,堆,堆棧等)、動態規劃、隨機和線性演算法、圖形、梯度/隨機下降和原對偶方法。
5. 其他:包括上述四個主要領域未涵蓋的其他數學主題。它們包括實分析和複分析(集合和序列、拓撲、度量空間、單值和連續函數、限制、柯西內核、傅里葉變換),信息理論(熵,信息增益),函數空間和Manifolds流形。
我推薦的機器學習在線MOOC和材料如下:
· KhanAcademys LinearAlgebra, Probability & Statistics, Multivariable Calculus and Optimization.
· Coding the Matrix: Linear Algebrathrough Computer Science Applications by Philip Klein, Brown University.
· Linear Algebra - Foundations to Frontiers by Robert van de Geijn, University ofTexas.
· Applications of Linear Algebra, Part 1 and Part 2.A newer course by Tim Chartier, Davidson College.
· JosephBlitzstein - HarvardStat 110 lectures.
· LarryWassermans book - All of statistics: A Concise Course in Statistical Inference.
· Boydand Vandenberghes course on Convexoptimization from Stanford.
· LinearAlgebra - Foundations to Frontiers on edX.
· UdacitysIntroduction to Statistics.
這篇文章的主要目的是給出數學在機器學習中的重要性建議以及掌握這些相關內容的有用資源。 然而,一些機器學習愛好者是數學新手,可能會發現這個帖子很令人泄氣(說實話,這不是我的目的)。 對於初學者,你不需要掌握很多數學知識才能開始機器學習。 根本的先決條件是我之前一篇博客文章中所描述的數據分析,您可以邊學習數學邊去掌握更多的演算法和技術。
END.作者: Sharp Sight Labs
原文連接:The real prerequisite for machine learning isn』t math, it』s data analysisPPV課翻譯小組作品,未經許可,嚴禁轉載
推薦閱讀:
TAG:机器学习 |