
作者 | SHAROON SAXENA
編譯 | CDA數(shù)據(jù)分析師
Mathematics behind Machine Learning - The Core Concepts you Need to Know
“學(xué)習(xí)機(jī)器學(xué)習(xí)算法背后的數(shù)學(xué)有什么用?我們可以輕松地使用Python和R中廣泛可用的庫來構(gòu)建模型!”
我已經(jīng)記不清從數(shù)據(jù)科學(xué)愛好者那里聽到這種消息的次數(shù)了。這種謬論太普遍了,在有抱負(fù)的數(shù)據(jù)科學(xué)專業(yè)人員中產(chǎn)生了一種錯(cuò)誤的期望。
根據(jù)我的經(jīng)驗(yàn),主要是有以下兩個(gè)原因:
現(xiàn)在讓我們把這個(gè)問題解決掉——你需要理解機(jī)器學(xué)習(xí)算法背后的數(shù)學(xué)原理,才能成為一名數(shù)據(jù)科學(xué)家。沒有別的辦法。這是數(shù)據(jù)科學(xué)家角色的一個(gè)固有部分,每一位招聘人員和有經(jīng)驗(yàn)的機(jī)器學(xué)習(xí)專業(yè)人士都將證明這一點(diǎn)。
因此,這就引出了一個(gè)問題,我們?cè)撊绾沃謱W(xué)習(xí)呢?這就是我們將在本文中學(xué)習(xí)的內(nèi)容。我們將討論成為機(jī)器學(xué)習(xí)大師所需了解的各種數(shù)學(xué)方面,包括線性代數(shù)、概率等。
在本文中,我們將討論以下主題:
有抱負(fù)的數(shù)據(jù)科學(xué)家經(jīng)常向我提出的最常見問題之一是–數(shù)據(jù)科學(xué)與機(jī)器學(xué)習(xí)之間有什么區(qū)別?更重要的是,這兩者背后的數(shù)學(xué)有什么區(qū)別?
我經(jīng)常遇到以下問題:
盡管數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)有很多共同點(diǎn),但是它們?cè)跀?shù)學(xué)上的關(guān)注仍然存在一些細(xì)微的差異。下面的雷達(dá)圖概括了我的觀點(diǎn):
是的,數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)有很多重疊之處,但是它們的主要關(guān)注點(diǎn)相差很大。這種微妙的差異通常是我上面提到的問題的根源。
在數(shù)據(jù)科學(xué)中,我們的主要目標(biāo)是探索和分析數(shù)據(jù),生成假設(shè)并測(cè)試它們
這些步驟通常是為了找出數(shù)據(jù)中隱藏的推論,而這些推論可能在第一眼看上去并不明顯。因此,我們必須嚴(yán)格依賴統(tǒng)計(jì)和概率的概念來比較和進(jìn)行假設(shè)檢驗(yàn)。
另一方面,機(jī)器學(xué)習(xí)更側(cè)重于線性代數(shù)的概念,因?yàn)樗撬袕?fù)雜過程發(fā)生的主要階段(除了效率方面)。另一方面,多元微積分涉及數(shù)值優(yōu)化方面,這是大多數(shù)機(jī)器學(xué)習(xí)算法背后的驅(qū)動(dòng)力。
數(shù)據(jù)科學(xué)通常被認(rèn)為是機(jī)器學(xué)習(xí)的前提??紤]一下–我們希望機(jī)器學(xué)習(xí)算法的輸入數(shù)據(jù)是干凈的,并且要根據(jù)我們使用的技術(shù)進(jìn)行準(zhǔn)備。如果您正在尋求端到端的工作(數(shù)據(jù)科學(xué)+機(jī)器學(xué)習(xí)),最好使自己精通數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)所需的數(shù)學(xué)結(jié)合。
如果你一直重復(fù)你過去做過的事情,你會(huì)得到你一直得到的結(jié)果。我在這里轉(zhuǎn)述愛因斯坦的名言,但我相信你明白我的意思!
許多渴望學(xué)習(xí)機(jī)器學(xué)習(xí)的人會(huì)犯這樣的錯(cuò)誤,即他們?cè)谏蠈W(xué)時(shí)使用的方法是一樣的。這意味著要用筆和紙去鉆研定理、推導(dǎo)和問題。
這種傳統(tǒng)的方法離我們想要遵循的方向有一些遠(yuǎn),除非你想要在17世紀(jì)的數(shù)學(xué)家之爭中獲勝。那時(shí)候他們向?qū)Ψ教岢隽艘幌盗袛?shù)學(xué)上很有趣的問題,并在第二天解決。但你可以想象到這種情況,聽起來很厲害。但這不是在21世紀(jì)學(xué)習(xí)新概念的最佳方式。
那么我們應(yīng)該如何才能在不陷入理論的情況下學(xué)習(xí)數(shù)學(xué)呢?
數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)中的數(shù)學(xué)不是關(guān)于處理數(shù)字的,而是關(guān)于發(fā)生了什么,為什么會(huì)發(fā)生,以及我們?nèi)绾翁幚聿煌氖虑閬慝@得我們想要的結(jié)果的數(shù)學(xué)。
在本質(zhì)上:
我們應(yīng)該更關(guān)注對(duì)任何給定表達(dá)式的直覺和幾何解釋:
這有助于我們理解這些令人難以置信的表情背后的含義。所有手動(dòng)解決問題的繁重工作都不是必需的,也不需要技能。使用NumPy這樣的計(jì)算庫來完成它們比測(cè)試您的耐力更有意義。
現(xiàn)在,讓我們轉(zhuǎn)移注意力來理解為什么我們需要學(xué)習(xí)這些不同的數(shù)學(xué)分支以及什么是用直觀的方式學(xué)習(xí)數(shù)學(xué)的好資源。
有些人認(rèn)為線性代數(shù)是21世紀(jì)的數(shù)學(xué)。我們可以看到這其中的意義——線性代數(shù)是機(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)的支柱,它將在未來幾年給其他所有行業(yè)帶來革命性的變化。
正如之前已經(jīng)討論過的,線性代數(shù)是所有機(jī)器學(xué)習(xí)算法生成結(jié)果的舞臺(tái)或平臺(tái)。
但是為什么是線性代數(shù)呢?
線性代數(shù)是聯(lián)立線性方程組表示的系統(tǒng)基礎(chǔ)。
假設(shè)我們有兩個(gè)線性方程式:
求解出x和y很容易,對(duì)吧?
我們可以通過簡單地將方程式1與-2相乘,然后將兩者相加來實(shí)現(xiàn):
結(jié)果,變量x被消除,y獲得為9。然后將y=9帶入公式,得出x的值為0。
這里的問題是,這個(gè)操作需要人類的直覺。我們的機(jī)器無法模仿同樣的直覺。他們只能理解特定表示形式的數(shù)據(jù)和集合格式的規(guī)則。
現(xiàn)在,為了建立與數(shù)據(jù)科學(xué)或機(jī)器學(xué)習(xí)的類比,每個(gè)方程表示來自數(shù)據(jù)集的單個(gè)觀察。左邊表示獨(dú)立輸入變量,右邊表示目標(biāo)因變量。
數(shù)據(jù)集通常包含成百上千的觀測(cè)數(shù)據(jù)(如果不是上百萬體量的數(shù)據(jù)集的話),更不用說還有很多變量要處理。所以你認(rèn)為我們可以通過數(shù)據(jù)集找到x和y的最佳值嗎?
絕對(duì)不是!我們當(dāng)然更喜歡自動(dòng)化來完成這項(xiàng)任務(wù)。這就是線性代數(shù)的用武之地。從廣義上來說:
線性代數(shù)是計(jì)算機(jī)能夠理解的知識(shí)的系統(tǒng)表示,線性代數(shù)中的所有運(yùn)算都是系統(tǒng)規(guī)則。
這是我們上面解決的問題的代數(shù)表示。利用矩陣運(yùn)算(規(guī)則集),我們可以在一眨眼的時(shí)間內(nèi)求出x和y的值。這是線性代數(shù)在數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)中成為必需的主要原因。
大多數(shù)有抱負(fù)的數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)專業(yè)人士往往無法解釋他們?cè)谀睦镄枰褂枚嘣⒎e分。正如我在文章開頭所提到的,不幸的是,這是一種非常常見的體驗(yàn)。
如果你馬上說梯度下降,你就對(duì)了!但是你可能需要增加你現(xiàn)有的知識(shí)。
多元微積分,或者更精確的說是偏微分,被用來對(duì)一個(gè)給定函數(shù)(主要是凸函數(shù))進(jìn)行數(shù)學(xué)優(yōu)化。
但我們?yōu)槭裁匆@樣做呢?我們知道我們計(jì)算了某個(gè)函數(shù)(成本函數(shù)或優(yōu)化函數(shù))的偏導(dǎo)數(shù)。但這有什么用呢?
很多人經(jīng)常求出偏導(dǎo)數(shù)但卻不知道為什么這么做!我們需要立即糾正這個(gè)錯(cuò)誤。
我們考慮一下梯度下降的情況。我們知道梯度下降的代價(jià)函數(shù)為:
我們計(jì)算m(斜率)和c(截距)的導(dǎo)數(shù)為:
但為什么只有偏導(dǎo)數(shù)呢?我們可以計(jì)算積分或者其他的運(yùn)算。這是因?yàn)榉只o我們成本函數(shù)的變化率對(duì)丁成本單獨(dú)對(duì)m和c。
但是你知道我們可以用向量的形式表示這些單獨(dú)的偏導(dǎo)數(shù)嗎?
這是偏導(dǎo)數(shù)的代數(shù)向量表示。
我相信你們大多數(shù)人以前一定見過這種表達(dá)方式,但沒有意識(shí)到它的含義。這種表示法叫做雅可比向量。我在高中的時(shí)候就遇到過這種情況;是的,它確實(shí)讓我的生活變得艱難!
下面是一些學(xué)習(xí)多元微積分的優(yōu)秀資源。再一次,我將強(qiáng)調(diào)更多關(guān)于直覺的部分,而不是僅僅死記硬背定理和規(guī)則:
機(jī)器學(xué)習(xí)所需的概率概念是基本的(大部分),但它仍然需要直覺。常用的分布形式有伯努利分布、高斯分布、概率密度函數(shù)、累積密度函數(shù)等。我們用它們來進(jìn)行假設(shè)檢驗(yàn),在這種情況下,對(duì)概率的理解是非常必要的。
你會(huì)發(fā)現(xiàn)許多數(shù)據(jù)科學(xué)家,甚至是經(jīng)驗(yàn)豐富的老手,都無法解釋聲名狼藉的alpha值和p值的真正含義。他們經(jīng)常被當(dāng)作從冥王星來的陌生人,甚至沒有人愿意問。
但概率中最有趣的部分是貝葉斯定理。從高中開始,我們?cè)诤芏嗟胤蕉加龅竭^這個(gè)定理。這是公式:
我們通常通過輸入數(shù)字并計(jì)算答案來解決這個(gè)問題。但是你有沒有想過貝葉斯定理到底告訴了我們什么,后驗(yàn)概率到底是什么意思?為什么我們還要一開始要計(jì)算它呢?
讓我們考慮一個(gè)示例(沒有數(shù)學(xué)理論?。?/span>
這是我們的朋友鮑勃(Bob)。作為他的同學(xué),我們認(rèn)為他是一個(gè)內(nèi)向的人,經(jīng)常獨(dú)處。我們相信他不喜歡交朋友。
因此,P(A)被稱為先驗(yàn)。在這種情況下,我們稱其為鮑勃很少喜歡結(jié)交新朋友的假設(shè)。
現(xiàn)在,他在大學(xué)里遇到了愛德(Ed),與鮑勃不同,埃德是一個(gè)悠閑的人,渴望結(jié)交新朋友。
P(B)在這種情況下是Ed友好的概率。在一起度過的這一天Bob意識(shí)到Ed和他形影不離。結(jié)果,他們成了朋友。
P(B|A)就是他們成為朋友的代表:
現(xiàn)在,看一下右邊和我們上面建立的例子,分子代表了Bob是友好的P(A)和Ed是朋友的概率P(B|A)所有這些值都朝著左邊的結(jié)果計(jì)算,也就是:
完美!這正是我們?cè)趯W(xué)校里所做的,對(duì)吧?我將進(jìn)一步擴(kuò)展它,你知道這個(gè)新值意味著什么?
大多數(shù)聲稱知道貝葉斯定理的人都會(huì)被困在這里。
這個(gè)新的價(jià)值只是我們對(duì)Bob的信念。換句話說,這是我們對(duì)Bob的新認(rèn)識(shí)和P(A)的新值。 。
如果我要提取此這個(gè)例子,它將是這樣的:
我們對(duì)鮑勃做了一個(gè)假設(shè),我們發(fā)現(xiàn)的證據(jù)是他實(shí)際上交了一個(gè)新朋友!
在這種情況下我們?cè)撛趺醋瞿?我們只是改變了對(duì)鮑勃的假設(shè),他不是一個(gè)很內(nèi)向的人。如果我們繼續(xù)觀察Bob幾次迭代,我們最終會(huì)很好地理解Bob的真正本質(zhì)。
我知道你在想什么——這看起來就像我們?cè)谔荻认陆岛驮S多其他優(yōu)化算法中做的事情。我們假設(shè)一些隨機(jī)參數(shù),觀察預(yù)測(cè)值和真值,然后相應(yīng)地調(diào)整參數(shù)。
樸素貝葉斯算法的工作原理與此類似,只是簡單地假設(shè)所有的輸入特征都是獨(dú)立的。為了全面觀察這一現(xiàn)象,我們需要深入研究貝葉斯網(wǎng)絡(luò)或概率圖形模型。它們本身可能非常強(qiáng)大,我可能會(huì)在以后的文章中探討它們。
這將是我們?cè)诒疚闹斜容^熟悉的主題之一。統(tǒng)計(jì)構(gòu)成了機(jī)器學(xué)習(xí)的基礎(chǔ),因此我在這里討論它。
每當(dāng)我們談?wù)摻y(tǒng)計(jì)數(shù)字時(shí),我們腦海中總會(huì)浮現(xiàn)出一些熟悉的概念:
這些概念中的大多數(shù)都是相當(dāng)初級(jí)的。除了最后一個(gè),我看到經(jīng)驗(yàn)豐富的機(jī)器學(xué)習(xí)專家對(duì)p值和alpha值之類的東西有著錯(cuò)誤的直覺。其中大多數(shù)在我們的機(jī)器學(xué)習(xí)模型(如線性和邏輯回歸)的性能中起著重要的作用。
我知道你可能會(huì)想知道——現(xiàn)在誰在使用線性模型?
好吧,大多數(shù)組織都高度重視模型的可解釋性,而不是準(zhǔn)確性。集成模型往往缺乏這種可解釋性,因?yàn)樗鼈兏鼉A向于性能,并且廣泛用于數(shù)據(jù)科學(xué)競賽(而非行業(yè))。
說實(shí)話,我是那些被這些花哨的算法吸引的愛好者之一,我更喜歡直接跳到它們。結(jié)果,我的預(yù)測(cè)模型得到了低于標(biāo)準(zhǔn)的結(jié)果。
機(jī)器學(xué)習(xí)不僅僅是建立預(yù)測(cè)模型,而是利用現(xiàn)有的統(tǒng)計(jì)工具從給定的數(shù)據(jù)中提取盡可能多的信息。
機(jī)器學(xué)習(xí)的數(shù)學(xué)是一個(gè)經(jīng)常被忽視或用錯(cuò)誤的視角處理的基本方面。在本文中,我們討論了數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)所需的數(shù)學(xué)之間的區(qū)別。我們還學(xué)習(xí)了一些關(guān)于為什么以及在什么地方需要數(shù)學(xué)的指示。
數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼
若不方便掃碼,搜微信號(hào):CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉(zhuǎn)換:從基礎(chǔ)用法到實(shí)戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉(zhuǎn)換是高頻需求 —— 無論 ...
2025-09-18MySQL 大表拆分與關(guān)聯(lián)查詢效率:打破 “拆分必慢” 的認(rèn)知誤區(qū) 在 MySQL 數(shù)據(jù)庫管理中,“大表” 始終是性能優(yōu)化繞不開的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結(jié)構(gòu)數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結(jié)構(gòu)數(shù)據(jù)(如數(shù)據(jù)庫表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動(dòng)態(tài)隨機(jī)一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價(jià)值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實(shí)戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫)處理 Excel 數(shù)據(jù)時(shí),“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗(yàn)與 t 檢驗(yàn):差異、適用場(chǎng)景與實(shí)踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計(jì)學(xué)領(lǐng)域,假設(shè)檢驗(yàn)是驗(yàn)證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計(jì)劃中 rows 數(shù)量的準(zhǔn)確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計(jì)劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對(duì)象的 text 與 content:區(qū)別、場(chǎng)景與實(shí)踐指南 在 Python 進(jìn)行 HTTP 網(wǎng)絡(luò)請(qǐng)求開發(fā)時(shí)(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價(jià)值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請(qǐng)求工具對(duì)比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請(qǐng)求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長浮點(diǎn)數(shù)據(jù)的科學(xué)計(jì)數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長浮點(diǎn)數(shù)據(jù)時(shí)的科學(xué)計(jì)數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價(jià)值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運(yùn)營問題、提升執(zhí)行效率的核心手段,其價(jià)值 ...
2025-09-12用 SQL 驗(yàn)證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實(shí)戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計(jì)” 與 “用戶體驗(yàn) ...
2025-09-11塔吉特百貨孕婦營銷案例:數(shù)據(jù)驅(qū)動(dòng)下的精準(zhǔn)零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當(dāng)下,精準(zhǔn)營銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價(jià)值 在數(shù)據(jù)驅(qū)動(dòng)決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實(shí)踐到業(yè)務(wù)價(jià)值挖掘 在數(shù)據(jù)分析場(chǎng)景中,聚類分析作為 “無監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計(jì)模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價(jià)值導(dǎo)向 統(tǒng)計(jì)模型作為數(shù)據(jù)分析的核心工具,并非簡單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10