熱線電話:13121318867

登錄
首頁精彩閱讀機器學習背后,你不能不知道的數學核心概念
機器學習背后,你不能不知道的數學核心概念
2019-12-13
收藏
<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機器學習</a>背后,你不能不知道的數學核心概念

作者 | SHAROON SAXENA

編譯 | CDA數據分析師

Mathematics behind Machine Learning - The Core Concepts you Need to Know

介紹

“學習機器學習算法背后的數學有什么用?我們可以輕松地使用Python和R中廣泛可用的庫來構建模型!”

我已經記不清從數據科學愛好者那里聽到這種消息的次數了。這種謬論太普遍了,在有抱負的數據科學專業人員中產生了一種錯誤的期望。

根據我的經驗,主要是有以下兩個原因:

  1. 數學是相當令人生畏的,特別是對于那些來自非專業技術背景的人。將這種復雜性應用到機器學習中,你就會得到一個非常令人生畏的局面
  2. 如前所述,存在大量執行各種機器學習任務的庫,因此很容易避免該領域的數學部分。

現在讓我們把這個問題解決掉——你需要理解機器學習算法背后的數學原理,才能成為一名數據科學家。沒有別的辦法。這是數據科學家角色的一個固有部分,每一位招聘人員和有經驗的機器學習專業人士都將證明這一點。

因此,這就引出了一個問題,我們該如何著手學習呢?這就是我們將在本文中學習的內容。我們將討論成為機器學習大師所需了解的各種數學方面,包括線性代數、概率等。

在本文中,我們將討論以下主題:

  1. 機器學習背后的數學和數據科學之間的區別
  2. 針對雙方學習態度的調整
  3. 機器學習中的線性代數
  4. 機器學習中的多元微積分
  5. 機器學習中的概率
  6. 機器學習中的統計
<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機器學習</a>背后,你不能不知道的數學核心概念

機器學習背后的數學和數據科學之間的區別

有抱負的數據科學家經常向我提出的最常見問題之一是–數據科學與機器學習之間有什么區別?更重要的是,這兩者背后的數學有什么區別?

我經常遇到以下問題:

  1. 機器學習中應該在哪里使用概率?
  2. 在數據科學中應在哪里使用多元微積分?
  3. 在數據科學中應在哪里使用線性代數?

盡管數據科學和機器學習有很多共同點,但是它們在數學上的關注仍然存在一些細微的差異。下面的雷達圖概括了我的觀點:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機器學習</a>背后,你不能不知道的數學核心概念

是的,數據科學和機器學習有很多重疊之處,但是它們的主要關注點相差很大。這種微妙的差異通常是我上面提到的問題的根源。

在數據科學中,我們的主要目標是探索和分析數據,生成假設并測試它們

這些步驟通常是為了找出數據中隱藏的推論,而這些推論可能在第一眼看上去并不明顯。因此,我們必須嚴格依賴統計和概率的概念來比較和進行假設檢驗。

另一方面,機器學習更側重于線性代數的概念,因為它是所有復雜過程發生的主要階段(除了效率方面)。另一方面,多元微積分涉及數值優化方面,這是大多數機器學習算法背后的驅動力。

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機器學習</a>背后,你不能不知道的數學核心概念

數據科學通常被認為是機器學習的前提??紤]一下–我們希望機器學習算法的輸入數據是干凈的,并且要根據我們使用的技術進行準備。如果您正在尋求端到端的工作(數據科學+機器學習),最好使自己精通數據科學和機器學習所需的數學結合。

針對雙方學習態度的調整

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機器學習</a>背后,你不能不知道的數學核心概念

如果你一直重復你過去做過的事情,你會得到你一直得到的結果。我在這里轉述愛因斯坦的名言,但我相信你明白我的意思!

許多渴望學習機器學習的人會犯這樣的錯誤,即他們在上學時使用的方法是一樣的。這意味著要用筆和紙去鉆研定理、推導和問題。

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機器學習</a>背后,你不能不知道的數學核心概念

這種傳統的方法離我們想要遵循的方向有一些遠,除非你想要在17世紀的數學家之爭中獲勝。那時候他們向對方提出了一系列數學上很有趣的問題,并在第二天解決。但你可以想象到這種情況,聽起來很厲害。但這不是在21世紀學習新概念的最佳方式。

那么我們應該如何才能在不陷入理論的情況下學習數學呢?

數據科學和機器學習中的數學不是關于處理數字的,而是關于發生了什么,為什么會發生,以及我們如何處理不同的事情來獲得我們想要的結果的數學。

在本質上:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機器學習</a>背后,你不能不知道的數學核心概念

我們應該更關注對任何給定表達式的直覺和幾何解釋:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機器學習</a>背后,你不能不知道的數學核心概念

這有助于我們理解這些令人難以置信的表情背后的含義。所有手動解決問題的繁重工作都不是必需的,也不需要技能。使用NumPy這樣的計算庫來完成它們比測試您的耐力更有意義。

現在,讓我們轉移注意力來理解為什么我們需要學習這些不同的數學分支以及什么是用直觀的方式學習數學的好資源。

機器學習中的線性代數

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機器學習</a>背后,你不能不知道的數學核心概念

有些人認為線性代數是21世紀的數學。我們可以看到這其中的意義——線性代數是機器學習和數據科學的支柱,它將在未來幾年給其他所有行業帶來革命性的變化。

正如之前已經討論過的,線性代數是所有機器學習算法生成結果的舞臺或平臺。

但是為什么是線性代數呢?

線性代數是聯立線性方程組表示的系統基礎。

假設我們有兩個線性方程式:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機器學習</a>背后,你不能不知道的數學核心概念

求解出x和y很容易,對吧?

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機器學習</a>背后,你不能不知道的數學核心概念

我們可以通過簡單地將方程式1與-2相乘,然后將兩者相加來實現:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機器學習</a>背后,你不能不知道的數學核心概念

結果,變量x被消除,y獲得為9。然后將y=9帶入公式,得出x的值為0。

這里的問題是,這個操作需要人類的直覺。我們的機器無法模仿同樣的直覺。他們只能理解特定表示形式的數據和集合格式的規則。

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機器學習</a>背后,你不能不知道的數學核心概念

現在,為了建立與數據科學或機器學習的類比,每個方程表示來自數據集的單個觀察。左邊表示獨立輸入變量,右邊表示目標因變量。

數據集通常包含成百上千的觀測數據(如果不是上百萬體量的數據集的話),更不用說還有很多變量要處理。所以你認為我們可以通過數據集找到x和y的最佳值嗎?

絕對不是!我們當然更喜歡自動化來完成這項任務。這就是線性代數的用武之地。從廣義上來說:

線性代數是計算機能夠理解的知識的系統表示,線性代數中的所有運算都是系統規則。

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機器學習</a>背后,你不能不知道的數學核心概念

這是我們上面解決的問題的代數表示。利用矩陣運算(規則集),我們可以在一眨眼的時間內求出x和y的值。這是線性代數在數據科學和機器學習中成為必需的主要原因。

機器學習中的多元微積分

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機器學習</a>背后,你不能不知道的數學核心概念

大多數有抱負的數據科學和機器學習專業人士往往無法解釋他們在哪里需要使用多元微積分。正如我在文章開頭所提到的,不幸的是,這是一種非常常見的體驗。

如果你馬上說梯度下降,你就對了!但是你可能需要增加你現有的知識。

多元微積分,或者更精確的說是偏微分,被用來對一個給定函數(主要是凸函數)進行數學優化。

但我們為什么要這樣做呢?我們知道我們計算了某個函數(成本函數或優化函數)的偏導數。但這有什么用呢?

很多人經常求出偏導數但卻不知道為什么這么做!我們需要立即糾正這個錯誤。

我們考慮一下梯度下降的情況。我們知道梯度下降的代價函數為:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機器學習</a>背后,你不能不知道的數學核心概念

我們計算m(斜率)和c(截距)的導數為:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機器學習</a>背后,你不能不知道的數學核心概念

但為什么只有偏導數呢?我們可以計算積分或者其他的運算。這是因為分化給我們成本函數的變化率對丁成本單獨對m和c。

但是你知道我們可以用向量的形式表示這些單獨的偏導數嗎?

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機器學習</a>背后,你不能不知道的數學核心概念

這是偏導數的代數向量表示。

我相信你們大多數人以前一定見過這種表達方式,但沒有意識到它的含義。這種表示法叫做雅可比向量。我在高中的時候就遇到過這種情況;是的,它確實讓我的生活變得艱難!

下面是一些學習多元微積分的優秀資源。再一次,我將強調更多關于直覺的部分,而不是僅僅死記硬背定理和規則:

機器學習中的概率

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機器學習</a>背后,你不能不知道的數學核心概念

機器學習所需的概率概念是基本的(大部分),但它仍然需要直覺。常用的分布形式有伯努利分布、高斯分布、概率密度函數、累積密度函數等。我們用它們來進行假設檢驗,在這種情況下,對概率的理解是非常必要的。

你會發現許多數據科學家,甚至是經驗豐富的老手,都無法解釋聲名狼藉的alpha值和p值的真正含義。他們經常被當作從冥王星來的陌生人,甚至沒有人愿意問。

但概率中最有趣的部分是貝葉斯定理。從高中開始,我們在很多地方都遇到過這個定理。這是公式:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機器學習</a>背后,你不能不知道的數學核心概念

我們通常通過輸入數字并計算答案來解決這個問題。但是你有沒有想過貝葉斯定理到底告訴了我們什么,后驗概率到底是什么意思?為什么我們還要一開始要計算它呢?

讓我們考慮一個示例(沒有數學理論?。?/span>

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機器學習</a>背后,你不能不知道的數學核心概念

這是我們的朋友鮑勃(Bob)。作為他的同學,我們認為他是一個內向的人,經常獨處。我們相信他不喜歡交朋友。

因此,P(A)被稱為先驗。在這種情況下,我們稱其為鮑勃很少喜歡結交新朋友的假設。

現在,他在大學里遇到了愛德(Ed),與鮑勃不同,埃德是一個悠閑的人,渴望結交新朋友。

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機器學習</a>背后,你不能不知道的數學核心概念

P(B)在這種情況下是Ed友好的概率。在一起度過的這一天Bob意識到Ed和他形影不離。結果,他們成了朋友。

P(B|A)就是他們成為朋友的代表:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機器學習</a>背后,你不能不知道的數學核心概念

現在,看一下右邊和我們上面建立的例子,分子代表了Bob是友好的P(A)和Ed是朋友的概率P(B|A)所有這些值都朝著左邊的結果計算,也就是:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機器學習</a>背后,你不能不知道的數學核心概念

完美!這正是我們在學校里所做的,對吧?我將進一步擴展它,你知道這個新值意味著什么?

大多數聲稱知道貝葉斯定理的人都會被困在這里。

這個新的價值只是我們對Bob的信念。換句話說,這是我們對Bob的新認識和P(A)的新值。 。

如果我要提取此這個例子,它將是這樣的:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機器學習</a>背后,你不能不知道的數學核心概念

我們對鮑勃做了一個假設,我們發現的證據是他實際上交了一個新朋友!

在這種情況下我們該怎么做呢?我們只是改變了對鮑勃的假設,他不是一個內向的人。如果我們繼續觀察Bob幾次迭代,我們最終會很好地理解Bob的真正本質。

我知道你在想什么——這看起來就像我們在梯度下降和許多其他優化算法中做的事情。我們假設一些隨機參數,觀察預測值和真值,然后相應地調整參數。

樸素貝葉斯算法的工作原理與此類似,只是簡單地假設所有的輸入特征都是獨立的。為了全面觀察這一現象,我們需要深入研究貝葉斯網絡或概率圖形模型。它們本身可能非常強大,我可能會在以后的文章中探討它們。

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機器學習</a>背后,你不能不知道的數學核心概念

機器學習中的統計

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機器學習</a>背后,你不能不知道的數學核心概念

這將是我們在本文中比較熟悉的主題之一。統計構成了機器學習的基礎,因此我在這里討論它。

每當我們談論統計數字時,我們腦海中總會浮現出一些熟悉的概念:

這些概念中的大多數都是相當初級的。除了最后一個,我看到經驗豐富的機器學習專家對p值和alpha值之類的東西有著錯誤的直覺。其中大多數在我們的機器學習模型(如線性和邏輯回歸)的性能中起著重要的作用。

我知道你可能會想知道——現在誰在使用線性模型?

好吧,大多數組織都高度重視模型的可解釋性,而不是準確性。集成模型往往缺乏這種可解釋性,因為它們更傾向于性能,并且廣泛用于數據科學競賽(而非行業)。

說實話,我是那些被這些花哨的算法吸引的愛好者之一,我更喜歡直接跳到它們。結果,我的預測模型得到了低于標準的結果。

機器學習不僅僅是建立預測模型,而是利用現有的統計工具從給定的數據中提取盡可能多的信息。

結束語

機器學習的數學是一個經常被忽視或用錯誤的視角處理的基本方面。在本文中,我們討論了數據科學和機器學習所需的數學之間的區別。我們還學習了一些關于為什么以及在什么地方需要數學的指示。

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢