數學是任何當代科學學科的基石。現代數據科學的幾乎所有技術,包括機器學習,都有深厚的數學基礎。
毫無疑問,想要成為一個頂級的數據科學家,需要在各個方面都具有優勢如編程能力、一定的商業智慧、以及獨特的分析能力等。但了解「引擎蓋下的機械原理」總是有好處的。對算法背後的數學機制有一個深入的理解,將使你在同行中具有優勢。
對於從其他行業(硬體工程、零售、化學加工工業、醫藥和衛生保健、商業管理等)進入數據科學領域的新人來說,這一基本數學知識尤為重要。雖然這類領域可能需要電子表格、數值計算和投影方面的經驗,但數據科學所需的數學技能可能有很大的不同。
考慮web開發人員或業務分析人員。他們可能每天都要處理大量的數據和信息。數據科學應該是關於科學而不是數據。遵循這一思路,某些工具和技術就變得不可或缺。
數據科學,就其本質而言,並不局限於某一特定的學科領域,它可以處理各種各樣的現象,如癌症診斷和社會行為分析。這就產生了令人眼花繚亂的n維數學對象數組、統計分布、優化目標函數等的可能性。
函數、變量、方程和圖形
這一領域的數學涵蓋了基礎,從方程的二項式定理和一切之間:
可能用到的地方
如果您想了解在對百萬條目的資料庫進行排序之後,搜索是如何更快地運行的,那麼您將會遇到「二分查找」的概念。要理解它的機制,你需要理解對數和遞歸方程。或者,如果你想分析一個時間序列,你可能會遇到「周期函數」和「指數衰減」這樣的概念。
統計數據
掌握統計和概率的基本概念的重要性怎麼強調都不過分。該領域的許多實踐者實際上認為經典(非神經網絡)機器學習只不過是統計學習。有重點的規劃對於涵蓋最基本的概念至關重要:
如果你已經掌握了這些概念,你將很快給人留下深刻印象。作為一名數據科學家,你幾乎每天都會用到它們。
線性代數
這是數學的一個基本分支,用來理解機器學習算法如何在數據流上工作。從QQ上的好友推薦,到酷狗上的歌曲推薦,再到用深度轉移學習將你的自拍照轉換成薩爾瓦多·達利式的肖像,所有這些都涉及到矩陣和矩陣代數。以下是需要學習的基本數學:
如果你用過降維技術(主成分分析),那麼你可能已經使用奇異值分解以更少的參數實現了數據集的緊湊維數表示。所有的神經網絡算法都使用線性代數技術來表示和處理網絡結構和學習操作。
微積分
不管你在大學裡喜歡還是討厭它,微積分在數據科學和機器學習中都有很多應用。這是一項極有價值的技能:
想知道邏輯回歸算法是如何實現的嗎?它很有可能使用一種叫做「梯度下降」的方法來尋找最小損失函數。要理解它是如何工作的,您需要使用微積分的概念:梯度、導數、極限和鏈式法則。
離散數學
這一領域在數據科學中並不常見,但所有現代數據科學都是在計算系統的幫助下完成的,而離散數學是這些系統的核心。
在任何社會網絡分析中,你需要知道一個圖的屬性和快速算法來搜索和遍歷網絡。在任何算法的選擇中,你都需要理解時間和空間的複雜性。
優化和運營研究課題
這些主題在理論計算機科學、控制理論或操作研究等專業領域最為相關。但是對這些強大技術的理解也可以在機器學習的實踐中取得豐碩的成果。實際上,每一種機器學習算法的目標都是使受各種約束的某種估計誤差最小化,這是一個優化問題。以下是需要學習的數學:
使用最小二乘損失函數的簡單線性回歸問題通常有精確的解析解,但是邏輯回歸問題沒有。要理解其中的原因,您需要熟悉優化中的「凸性」概念。這一系列的研究也將闡明為什麼我們必須對大多數機器學習問題的「近似」解決方案保持滿意。
雖然有很多東西要學習,網上有很好的資源。在複習這些主題和學習新概念之後,你將有能力在日常數據分析和機器學習項目中聽到隱藏的「音樂」。這是成為一個了不起的數據科學家的巨大飛躍。
想了解更多精彩內容,快來關注老胡說科學