譯者:王銳 轉載至微信公衆號:方凳雅集算法
譯者按: 人工智能技術一直處於高速更迭中。良好的數學基礎有助於你理解人工智能技術的進化,同時也能讓你更深刻地去理解並使用人工智能技術,而不是停留在AI技術的表面。另外,這樣作也能夠幫助你更好地去看待AI知識產權的問題。最後,職業規劃方面,一旦你掌握了數據科學背後的數學基礎,即可去從事更高端的AI和數據科學方面的工做。 本文將帶你瞭解數據科學背後須要的數學知識,及其在機器學習算法中的應用。微信
文章翻譯自https://www.dataquest.io/blog/math-in-data-science/網絡
數學就像一頭章魚, 它有一隻可以觸及到每種學科的觸手,雖然對某些學科只是輕輕拂過,但大部分學科都和數學有着不可分割的聯繫,數據科學屬於後者。若是你想研究數據科學,你將必須先處理數學。若是你已經完成了數學學位或其餘一些強調數據分析能力的學位,你可能須要知道你所學的東西是不是必要的。我知道我作到了。若是你數據結構
在這篇文章中,咱們將探索研究數據科學意味着什麼並討論開始研究數據科學須要瞭解多少數據知識。咱們從「數據科學」的實際含義開始吧!你可能會問幾十我的而後得到幾十個不一樣的答案!在Dataquest(譯者注: 一個數據分析網站https://www.dataquest.io/),咱們將數據科學定義爲使用數據和高級統計數據進行預測的學科。這是一門專業學科,專一將雜亂無章的數據變得讓人能夠理解(儘管數據科學家正在解決的問題因僱主而異)。統計學是咱們在該定義中提到的惟一數學學科,但數據科學也常常涉及數學中的其餘領域。app
學習統計數據是一個很好的開始,但數據科學也會使用算法進行預測。這些算法稱爲機器學習算法,總數達數百種。至於每種類型的算法須要多麼高深的數學知識則不屬於本文的範圍,咱們將討論對於如下算法你須要掌握何種程度的數學知識。機器學習
如今讓咱們來看看學習這些算法你須要掌握哪些數學知識!函數
它們是什麼:Naïve Bayes’ 的分類器是一系列基於共同原則的算法,即特定特徵的值獨立於任何其餘特徵的值。它們容許咱們根據咱們對相關事件的瞭解狀況預測事件發生的機率。該名稱來自貝葉斯定理,能夠用數學方式編寫以下:學習
這裏 A 和 B 是獨立事件而且 P(A|B) 不能等於0.這看起來很複雜,但咱們能夠把它分解便於理解的三部分測試
咱們須要的數學:若是你想要了解NaïveBayes的分類器算法的表面以及貝葉斯定理的全部用法,那麼機率課程就足夠了。要了解機率,您能夠查看咱們的機率和統計學課程。網站
它是什麼:線性迴歸是最基本的迴歸類型。它容許咱們理解兩個連續變量之間的關係。在簡單線性迴歸的狀況下,這意味着獲取一組數據點並繪製可用於預測將來的趨勢線。線性迴歸是參數化機器學習的一個例子。在參數化機器學習中,訓練過程最終使機器學習算法成爲一種數學函數,其最接近於它在訓練集中找到的模式。而後可使用該數學函數來預測將來的預期結果。在機器學習中,數學函數被稱爲模型。在線性迴歸的狀況下,模型能夠表示爲:
這裏的a1,a2,a3...表示特定於數據集的參數值, x1, x2, ..., xñ 表示咱們選擇在上述模型中使用的變量, y表示目標。線性迴歸的目標是找到最佳描述特徵列和目標列之間關係的最佳參數值。換句話說:找到最適合的數據,以即可以推倒它的趨勢以預測將來結果。爲了找到線性迴歸模型的最佳參數,咱們但願最小化模型的殘差平方和。殘差一般被稱爲偏差,它描述了預測值和真實值之間的差別。殘差平方和的公式可表示爲:
(這裏 ÿ^ 是目標的預測值,y是真值。)
咱們須要掌握的數學只是:若是你只想瞭解表面,基礎統計學課程就能夠了。若是你想要深刻的概念理解,你可能須要知道派生的殘差平方和的公式是什麼,你能夠在大多數高級統計課程中學到。
它是什麼:Logistic迴歸側重於估計在因變量爲二進制的狀況下發生事件的機率(即,只有兩個值,0和1表示結果)。與線性迴歸同樣,邏輯迴歸是參數化機器學習的一個例子。所以,這些機器學習算法的訓練過程的結果是最接近訓練集中的模式的數學函數。可是,在線性迴歸模型輸出實數的狀況下,邏輯迴歸模型輸出機率值。正如線性迴歸算法產生的線性函數模型同樣,邏輯迴歸算法產生的邏輯函數模型。您可能還會聽到它被稱爲sigmoid函數,它會壓縮全部值以產生0到1之間的機率結果。
那麼爲何sigmoid函數老是返回0到1之間的值?請記住,從代數中將任何數字提升到負指數與將該數字的倒數提升到相應的正指數相同。
咱們須要掌握的數學知識:咱們在這裏討論過指數和機率,你須要對代數和機率有充分的理解,以便對邏輯算法中發生的事情有所瞭解。若是你想深刻了解它的概念,我建議學習機率論以及離散數學或實際分析。
它是什麼:神經網絡是機器學習模型,它們受到人類大腦中神經元結構的極大啓發。這些模型是經過使用一系列激活單元(稱爲神經元)構建的,以預測某些結果。神經元採起一些輸入,應用轉換函數,並返回輸出。
神經網絡擅長捕獲數據中的非線性關係,並幫助咱們完成音頻和圖像處理等任務。雖然存在許多不一樣類型的神經網絡(遞歸神經網絡,前饋神經網絡,遞歸神經網絡等),但它們都依賴於轉換輸入以生成輸出的基本概念。
在查看任何類型的神經網絡時,咱們會注意到每一條線條,都將每一個圓圈鏈接到另外一個圓圈。在數學中,這就是所謂的圖,一種由邊緣鏈接的節點(表示爲圓圈)組成的數據結構(表示爲線條)。請記住,咱們在這裏引用的圖與線性模型或其餘方程的圖不一樣。若是您熟悉旅行商問題,您可能熟悉圖的概念。
神經網絡的核心是一個系統,它接收一些數據,執行一些線性代數,而後輸出一些答案。線性代數是理解神經網絡中幕後發生的事情的關鍵。線性代數是關於線性方程的數學分支,如y=mx + b和他們經過矩陣和向量空間的表示。由於線性代數涉及經過矩陣表示線性方程,因此矩陣是你須要知道的基本思想,甚至能夠開始理解神經網絡的核心部分。矩陣是由數字,符號或表達式組成的矩形陣列,按行或列排列。矩陣按照行列排列,例如,如下矩陣
被稱爲3乘3矩陣,由於它有三行三列。
經過處理神經網絡,每一個特徵都表示爲輸入神經元。要素列的每一個數值都乘以表示輸出神經元的權重向量。在數學上,該過程是這樣寫的:
其中X是一個m*n的矩陣,m是輸入神經元的數量,n是下一層神經元的數量。咱們的權向量表示爲a,aT是a的轉置(譯者注:轉置矩陣),咱們把誤差單位表示爲b。
誤差單位是經過向左或向右移動S形函數來影響神經網絡輸出的單位,以便對某些數據集進行更好的預測。Transpose是一個線性代數術語,它的意思是行成爲列,列成爲行。咱們須要取a的轉置,由於第一個矩陣的列數必須等於第二個矩陣的行數。例如,若是咱們有3×3 矩陣和權重向量是一個 1×3向量,咱們不能直接將其相乘,由於三個不等於一個。可是,若是咱們採起的轉置1×3 矢量,咱們獲得一個 3×1 向量,咱們就能夠成功地將矩陣與向量相乘。
在全部特徵列和權重相乘以後,調用激活函數來肯定神經元是否被激活。激活函數有三種主要類型:RELU函數,sigmoid函數和雙曲正切函數。咱們已經熟悉了sigmoid函數。RELU函數是一個簡潔的函數,它接受輸入x並輸出相同的數字,若是它大於0; 可是,若是輸入小於0,則它等於0。雙曲正切函數與sigmoid函數基本相同,只是它約束-1和1之間的任何值。
咱們須要掌握的數學知識:咱們在概念方面已經討論了不少!若是你想對這裏提出的數學有基本的瞭解,那麼離散數學課程和線性代數課程是很好的起點。爲了深刻理解,我會推薦圖論,矩陣論,多元微積分和實分析課程。若是您對學習線性代數基礎知識感興趣,能夠開始使用咱們的線性代數機器學習課程。
它是什麼:K Means Clustering算法是一種無監督機器學習,用於對未標記數據進行分類,即沒有定義類別或組的數據。該算法經過在數據中查找組來工做,其中組由變量k表示。而後,它迭代數據,根據提供的功能將每一個數據點分配給k個組中的一個。K均值聚類依賴於整個算法中的距離概念,以將數據點「分配」到聚類。若是您不熟悉距離的概念,則它指的是兩個給定項目之間的空間量。在數學中,任何描述集合中任意兩個元素之間距離的函數稱爲距離函數或度量。這裏有兩種類型的指標:歐幾里德指標和
這裏(x1,y1) 和 (x2,y2)是笛卡爾平面上的座標點。雖然歐幾里德度量標準已經足夠,但在某些狀況下它不起做用。假設你在一個大城市散步; 若是有一個巨大的建築阻擋你的路徑,說「我離目的地6.5個單位」是沒有意義的。爲了解決這個問題,咱們可使用
這裏 (x1,y1) 和 (x2,y2) 是笛卡爾平面上的座標點。
咱們須要掌握的數學知識:這裏須要的其實比較少; 實際上你只須要知道加法和減法,並理解代數的基礎知識,這樣你就能夠掌握距離公式。可是爲了深刻了解每種指標存在的基本幾何形狀,我建議使用涵蓋學習歐幾里德和非歐幾里德幾何的幾何類。爲了深刻理解指標和度量空間的含義,我會閱讀數學分析並參加Real Analysis課程。
它是什麼:決策樹是一種相似流程圖的樹結構,它使用分支方法來講明決策的每一個可能結果。樹中的每一個節點表明對特定變量的測試 - 每一個分支都是該測試的結果。決策樹依賴於一種稱爲信息理論的理論來肯定它們是如何構建的。在信息理論中,人們對某個主題的瞭解越多,人們能夠知道的新信息就越少。信息理論的關鍵措施之一被稱爲熵。熵是量化給定變量的不肯定性量的度量。熵能夠這樣寫:
在上面的等式中, P(X)是數據集中發生特徵的機率。應該注意,任何基數b均可以用於對數; 可是,常見的值是2,e(2.71)和10。您可能已經注意到看起來像「S」的花式符號。這是求和符號,它意味着能夠連續添加求和以外的任何函數。添加的次數取決於求和的下限和上限。在計算熵以後,咱們能夠經過使用信息增益開始構造決策樹,它告訴哪一個分裂將最大程度地減小熵。信息獲取的公式以下:
信息增益能夠衡量某我的能夠得到多少「信息」。在決策樹的狀況下,咱們能夠計算數據集中每一個列的信息增益,以便找到哪一個列將爲咱們提供最大的信息增益,而後在該列上進行拆分。
咱們須要的數學:基本的代數和機率是你真正須要瞭解決策樹的基礎。若是你想要對機率和對數進行深刻的概念性理解,我會推薦機率論和代數課程。
若是你尚未參加工做,我強烈建議你學習一些純數學和應用數學課程。你可能會畏懼他們,可是當您遇到這些算法並知道如何最好地去應用它們時,您能夠學到更多有用的知識。若是您目前沒有上學,我建議您前往最近的書店,閱讀本文中突出顯示的主題。若是您能找到涉及機率論,統計學和線性代數的書籍,我強烈建議您選擇深刻學習這些主題的書籍,以真正瞭解所描述的機器算法幕後發生的事情。