微積分、線性代數、概率論,這裡有份超詳細的ML數學路線圖

2020-12-04 澎湃新聞

選自towardsdatascience

作者:Tivadar Danka

機器之心編譯

編輯:小舟、陳萍

大學時期學的數學現在可能派上用場了,機器學習背後的原理涉及許多數學知識。深入挖掘一下,你會發現,線性代數、微積分和概率論等都和機器學習背後的算法息息相關。

機器學習算法背後的數學知識你了解嗎?在構建模型的過程中,如果想超越其基準性能,那麼熟悉基本細節可能會大有幫助,尤其是在想要打破 SOTA 性能時,尤其如此。

機器學習背後的原理往往涉及高等數學。例如,隨機梯度下降算法建立在多變量微積分和概率論的基礎上。因此掌握基礎的數學理論對於理解機器學習模型很重要。但如果你是沒有數學基礎的初學者,這裡有一份學習路線圖,帶你從零開始深入理解神經網絡的數學原理。

大多數機器學習都建立在三種數學理論的基礎上:線性代數、微積分和概率論,其中概率論的理論又基於線性代數和微積分。

微積分

微積分包括函數的微分和積分。神經網絡本質上是一個可微函數,因此微積分是訓練神經網絡的基本工具。

首先,函數的導數定義如下

在極限定理中,這也是點 x 處切線的斜率。下圖說明了這個概念:

將函數的導數可視化。

微分可以用來優化函數:導數在局部極大值和極小值處為零。(也有例外,例如:f(x) = x⊃3;,x=0),導數為零的點稱為臨界點。臨界點是最小值還是最大值可以通過查看二階導數來確定:

求導存在一些基本法則,其中最重要的可能是鏈式求導法則:

上式告訴我們如何計算複合函數的導數。

微分和積分互為逆運算,這是因為:

它適用於任何可積函數 f(x)。函數的積分也可以看作是曲線下的有符號面積。例如:

因為當函數是負的時候,這裡的面積也有一個負號:

在 -π到π的區間內,正弦函數曲線下的有符號面積。

推薦一些比較好的學習資源,麻省理工學院的單變量微積分課程和 Gilbert Strang 的教科書。

MIT 課程連結:https://www.youtube.com/playlist?list=PL590CCC2BC5AF3BC1

教科書連結:https://ocw.mit.edu/resources/res-18-001-calculus-online-textbook-spring-2005/textbook/

線性代數

神經網絡本質上是函數,它是用微積分工具訓練的。然而,又涉及線性代數,如矩陣乘法。線性代數是一門涉及機器學習許多方面的龐大學科,因此這將是一個重要的部分。

向量空間

為了更好地理解線性代數,建議從向量空間開始。首先介紹一個特例,把平面上的每個點看作一個元組:

這些本質上是從零指向(x₁,x2)的向量。向量之間可以相加,向量也可與標量相乘:

這是向量空間的原型模型。一般來說,如果可以將向量相加並將向量與實數相乘,那麼這組向量 V 就是實數上的向量空間,那麼以下屬性成立:

這些保證了向量可以相加和縮放。當考慮向量空間時,如果你在心裡把它們建模為 R^2 會很有幫助。

範數空間

如果你很了解向量空間,下一步就是理解怎樣測量向量的大小。在默認情況下,向量空間本身並沒有提供這樣的工具。但我們有:

這是一種特殊的範數,通常,如果存在函數,則向量空間 V 是範數的:

範數為:

但這是一個簡單而基本的概念,有很多範數存在,但最重要的是 p 範數家族:

當 p=2 時,我們得到上述特例以及最高範數。

有時,例如對於 p = 2,範數來自所謂的內積,即雙線性函數。

因此:

具有內積的向量空間稱為內積空間。經典的是歐幾裡得積。

每一個內積都可以變成一個範數。

當兩個向量的內積為零時,這兩個向量彼此正交。

基正交 / 正交基

雖然向量空間是無窮的(在本文的例子中),你可以找到一個有限的向量集,用來表示空間中的所有向量。例如,在平面上,我們有:

其中 e1,e2 函數如下

這是基和正交基的一個特例。一般來說,基(basis)是向量的最小集合:

它們的線性組合跨越了向量空間:

任何向量空間都存在一個基(它可能不是一個有限集,但這裡不必關心)。毫無疑問,在討論線性空間時,基大大簡化了問題。

當基中的向量相互正交時,我們稱之為正交基(orthogonal basis)。如果每個正交向量的範數在正交基礎上均為 1,則我們說它是正交的。

線性變換

與向量空間非常相關的是線性變換(linear transformation)。如果你之前了解神經網絡,就應該知道其基本的構建基塊是以下形式的層:

其中,A 為矩陣,b 和 x 為向量,σ為 sigmoid 函數(或是其他激活函數)。Ax 是線性變換的一部分,則函數:

是向量空間 V 和 W 之間的線性變換

對於 V 中的所有 x、y 值都成立,而且都是實數。

矩陣及其運算

矩陣最重要的運算是矩陣乘積。通常,矩陣 A、B 以及乘積 AB 表示為:

下圖演示了計算過程:

矩陣乘法是線性變換的組合。如果你想了解更多,這裡有一篇很棒的文章:https://towardsdatascience.com/why-is-linear-algebra-taught-so-badly-5c215710ca2c

決定因素

行列式是線性代數中最具挑戰性的概念之一。要了解這一概念,請觀看下面的視頻。

總而言之,矩陣的行列式描述了在相應的線性變換下,對象的體積是如何縮放的。如果變換改變方向,行列式的符號為負。

特徵值、特徵向量和矩陣分解

標準的線性代數課程通常以特徵值 / 特徵向量和一些特殊的矩陣分解(如奇異值分解)結束。假設我們有一個矩陣 A,並且如果有一個向量 x(稱為特徵向量),那麼λ就是矩陣 A 的特徵值:

換句話說,由 A 表示的線性變換對向量 x 進行一個λ縮放,這個概念在線性代數中起著重要作用(實際上在廣泛使用線性代數的每個領域都是如此)。

你需要熟悉矩陣分解,從計算的角度來看,對角矩陣是最好的選擇,如果一個線性變換有一個對角矩陣,那麼計算它在任意向量上的值是很簡單的。

大多數特殊形式的目的是將矩陣 A 分解為矩陣乘積,矩陣分解後最好有一個是對角矩陣。奇異值分解(SVD),是指有一個特殊的矩陣 U 和一個對角矩陣Σ,使得:

U 和 V 是酉矩陣,是一個特殊的矩陣族。奇異值分解(SVD)也被用來進行主成分分析,這是最簡單和最著名的降維方法之一。

線性代數有許多教授方法,本文列出的學習路徑是受 Sheldon Axler 教材《Linear Algebra Done Right》的啟發。對於在線講座,MIT 的網絡公開課值得推薦。

Sheldon Axler 的教材地址:http://linear.axler.net/

MIT 的網絡公開課地址:https://www.youtube.com/playlist?list=PL49CF3715CB9EF31D

多變量運算

多變量運算中將線性代數和微積分結合在一起,為訓練神經網絡的主要工具奠定了基礎。從數學上講,神經網絡只是多個變量的函數(儘管變量數量可達數百萬)。

與單變量運算相似,兩個重點是微分和積分。假設存在映射:

將向量映射到實數。在二維(即 n=2)的情況下,可以將其圖象想像為一個曲面(由於人類生活在三維世界,因此很難將具有兩個以上變量的函數可視化)。

兩變量的函數圖像。

多變量微分

在單變量中,導數是切線的斜率。那麼在此應該如何定義切線呢?表面上的一個點處不只有一條切線,而是多條。這些切線中有兩條特殊的切線:分別為平行於 x-z 平面的切線和平行於 y-z 平面的切線。

這兩條切線的斜率由偏導數決定,如下:

這些特殊方向的切線橫跨切平面。

切平面。

梯度

另一個特殊的方向是梯度方向:

梯度始終指向增加最快的方向,因此沿這個方向前進一小步,高度上的增加相對於其他方向是最大的。這就是梯度下降的基本思想,它是讓函數最大化的算法。其步驟如下:

計算當前位置 x_0 處的梯度。

在梯度方向上走一小步即可到達點 x_1(步長稱為學習率)。

返回步驟 1,重複該過程,直至收斂為止。

當然,這種算法也存在一些缺陷,多年來這些缺陷也得到了一些改善。基於現代梯度下降的優化器採用了許多技巧,例如自適應步長、動量等。

在實踐中計算梯度是一件很困難的事,函數經常由其他函數的組成部分構成。例如,線性層:

其中 A 是矩陣,b 和 x 是矢量,σ是 sigmoid 函數(當然還有其他激活函數)。如何計算梯度?

寫成如下的矢量 - 標量函數:

g 的梯度由矩陣定義,該矩陣的第 k 行是第 k 個分量的梯度

該矩陣被稱為 g 的總導數。在該例中

包含兩個函數

定義中用到了單變量 sigmoid 分量。將函數進一步分解為從 n 維向量空間映射到實數空間的 m 個函數:

其中:

如果計算總導數,則會看到:

這是多元函數的鏈式規則,具有通用性。沒有它就沒有簡單的方法來計算神經網絡的梯度。而神經網絡是許多函數的組合。

高階導數

與單變量的情況類似,梯度和導數在確定空間中的給定點是局部極小值還是極大值方面(或者兩者都不是)也起作用。

舉一個具體的例子,訓練神經網絡等效於最小化參數訓練數據上的損失函數。這就是找到最佳參數配置 w 的目的:

其中:

分別是神經網絡和損失函數。

對於 n 個變量的通用可微分矢量 - 標量函數,存在 n^2 個二階導數。形成 Hessian 矩陣。

在多變量的情況下,Hessian 的行列式充當二階導數的角色。類似地,它還可以用來判斷臨界點(即所有導數均為零的情況)是最小值、最大值、鞍點中的哪一種。

關於多元微積分有很多很棒的在線課程。課程地址:

https://www.youtube.com/playlist?list=PLSQl0a2vh4HC5feHa6Rc5c0wbRTx56nF7,

https://www.youtube.com/playlist?list=PL4C4C8A7D06566F38。

現在我們準備開始最後一個主題:概率論!

概率論

概率論是將機率數學化的學科,它是所有科學領域的理論基礎。

假設擲硬幣,有 50%的概率(或 0.5 的概率)為正面。重複實驗 10 次後,得到多少個正面?如果你回答了 5,你就錯了。正面概率為 0.5 並不能保證每兩次投擲都有一面是正面。相反,這意味著如果你重複實驗 n 次,其中 n 是一個非常大的數字,那么正面的數量將非常接近 n/2。

為了更好的掌握概率論,推薦一篇文章:https://towardsdatascience.com/the-mathematical-foundations-of-probability-beb8d8426651

除了基礎知識之外,你還需要了解一些高階知識,首先是期望值和熵。

期望值

假設你和朋友玩遊戲。你擲一個經典的六邊形骰子,如果結果是 1 或 2,你將贏得 300 美元。否則,你就輸 200 美元。如果你玩這個遊戲的時間夠長,你每輪的平均收入是多少?你應該玩這個遊戲嗎?

那麼,你有 1/3 的概率贏 300 美元,2/3 的概率輸 200 美元。也就是說,如果 X 是編碼擲骰子結果的隨機變量,那麼:

通常來說,當用於離散型隨機變量時,期望值定義如下:

當用於實值連續型隨機變量時,定義如下

在機器學習中,訓練神經網絡所用的損失函數在某種程度上是期望值。

大數定律

人們常常錯誤地把某些現象歸因於大數定律。例如,那些連輸的賭徒相信,根據大數定律,他們很快就會贏。這是完全錯誤的。讓我們看看這到底是什麼。假如:

是代表同一實驗中獨立重複的隨機變量 (例如,擲骰子或扔硬幣)。

本質上,大數定律指出:

從長遠來看,結果平均值等於期望值。

給出的一種解釋是,如果一個隨機事件重複了很多次,則單個結果可能無關緊要。因此,如果你在賭場玩一個期望值為負的遊戲,那麼偶爾也會贏。但大數定律意味著你會賠錢。

此外,隨機梯度下降中 LLN 很重要。

資訊理論

讓我們玩個遊戲。玩家心理想著 1-1024 的任意數字,然後你來猜。你可以問問題,但你的目標是使用儘可能少的問題。你需要多少問題?

如果你玩得很聰明,則可以使用二分搜索方法處理問題。首先你可能會問:這個數字在 1 和 512 之間嗎?這樣一來,搜索空間就減少了一半。使用此策略,你可以在

問題中找出答案。

但是如果在選數字時沒有使用均勻分布呢?例如,可以用泊松分布。

泊松分布的概率質量函數。圖源:https://en.wikipedia.org/wiki/Poisson_distribution

使用泊松分布可能需要較少的問題,因為分布往往集中在特定的點上(這取決於參數)。

在極端情況下,當分布集中在一個數字上時,你不需要任何問題來猜它。一般來說,問題的數量取決於分布所攜帶的信息。均勻分布包含的信息量最少,而奇異分布是純信息。

熵是一種量化的方法。當用於離散隨機變量時,定義如下:

當用於連續實值變量,定義如下:

如果你以前使用過分類模型,可能會遇到交叉熵損失,定義如下:

其中 P 是真實值(集中到單個類的分布),而 P^ 表示類預測。這衡量了預測與實際情況相比有多少信息。當預測相匹配時,交叉熵損失為零。

另一個常用量是 Kullback-Leibler 散度(KL 散度),定義為:

其中 P 和 Q 是兩個概率分布。這本質上是交叉熵減去熵,熵可以被認為是對兩個分布的不同程度的量化。例如,在訓練生成式對抗網絡時,這是很有用的。最小化 KL 散度可以保證兩個分布是相似的。

在這裡推薦兩本書:

Pattern Recognition and Machine Learning by Christopher Bishop

The Elements of Statistical Learning by Trevor Hastie, Robert Tibshirani, and Jerome Friedman

基於此,我們回顧了理解神經網絡所必需的數學知識。但是要真正理解神經網絡是如何工作的,你還必須學習一些優化和數理統計。這些科目建立在數學的基礎之上,在這就不進行介紹了。

原文連結:https://towardsdatascience.com/the-roadmap-of-mathematics-for-deep-learning-357b3db8569b

Amazon SageMaker實戰教程(視頻回顧)

Amazon SageMaker 是一項完全託管的服務,可以幫助機器學習開發者和數據科學家快速構建、訓練和部署模型。Amazon SageMaker 完全消除了機器學習過程中各個步驟的繁重工作,讓開發高質量模型變得更加輕鬆。

10月15日-10月22日,機器之心聯合AWS舉辦3次線上分享,全程回顧如下,複製連結到瀏覽器即可觀看。

另外,我們準備了Amazon SageMaker 1000元服務抵扣券,幫助開發者體驗各項功能。點擊閱讀原文,即可領取。

第一講:Amazon SageMaker Studio詳解

主要介紹相關組件,如studio、autopilot等,並通過在線演示展示這些核心組件對AI模型開發效率的提升。

視頻回顧地址:https://app6ca5octe2206.h5.xiaoeknow.com/v1/course/alive/l_5f715443e4b005221d8ea8e3

第二講:使用Amazon SageMaker 構建一個情感分析「機器人」

主要介紹情感分析任務背景、進行基於Bert的情感分析模型訓練、利用AWS數字資產盤活解決方案進行基於容器的模型部署。

視頻回顧地址:https://app6ca5octe2206.h5.xiaoeknow.com/v1/course/alive/l_5f715d38e4b0e95a89c1713f

第三講:DGL圖神經網絡及其在Amazon SageMaker上的實踐

主要介紹圖神經網絡、DGL在圖神經網絡中的作用、圖神經網絡和DGL在欺詐檢測中的應用和使用Amazon SageMaker部署和管理圖神經網絡模型的實時推斷。

視頻回顧地址:https://app6ca5octe2206.h5.xiaoeknow.com/v1/course/alive/l_5f715d6fe4b005221d8eac5d

© THE END

轉載請聯繫本公眾號獲得授權

投稿或尋求報導:content@jiqizhixin.com喜歡此內容的人還喜歡

原標題:《微積分、線性代數、概率論,這裡有份超詳細的ML數學路線圖》

閱讀原文

相關焦點

  • 21考研:哪些專業考數學!哪些專業不考數學!
    ◆◆考試科目◆◆數學一高等數學、線性代數、概率論與數理統計。各科目所佔份額:高等數學 56% 、線性代數 22% 、概率論與數理統計 22% 。數學二高等數學、線性代數。在試題中,各科目所佔份額:高等數學78%、線性代數22%。數學三微積分、線性代數、概率論與數理統計。
  • 超詳細人工智慧專家路線圖,GitHub2.1k星
    如果你想成為數據科學家、機器學習或者 AI 專家,而又苦於找不到合適的學習方法,本文將提供一組思路清晰、簡單易懂的人工智慧專家路線圖。這是一家德國軟體公司 AMAI GmbH 近期發布的 GitHub 項目——AI 專家路線圖(AI-Expert-Roadmap)。該路線圖幾乎涵蓋了 AI 領域所有的知識點,並且每個知識點都有詳細的文檔。
  • 免費數學書精選:微積分、線代……數學教授分類整理,精心推薦
    Ernst,整理了一份超級超級乾貨的開源/免費數學資源匯總。比如,美國數學研究所(American Institute of Mathematics)還保留著一份經過批准的開源教科書清單。綠茶出版社(Green Tea Press)上也有歐林學院的免費計算機科學書籍,這些書籍都值得一讀。
  • 中國人民大學財政金融學院開啟數學強化提升訓練營
    為幫助財政金融學院的同學們在相關數學學科鞏固基礎、提升能力,學院推出真「財」實學——數學強化提升訓練營活動。訓練營活動將於11月21日正式開始,有意參與的同學可以通過此推送中的小程序連結或點擊「閱讀原文」進行報名。
  • 數學不好的同學 這5個專業要慎重選擇!
    而縱觀大學專業,又有多跟數學有極大的關係。甚至一些專業,在大學期間很多門課程都是需要較好的數學基礎,才能夠學習的比較透徹。 因此,今天要告訴大家的是,如果哪些同學的數學不好,那麼以下這些專業慎重選擇!否則上大學後悔就來不及了!
  • 深度學習和機器學習的線性代數入門
    AI學習者需要了解基本數學原理。正確理解機器學習和深度學習的概念,掌握以下這些數學領域至關重要:線性代數微積分矩陣分解概率論解析幾何機器學習和深度學習中的線性代數在機器學習中,很多情況下需要向量化處理,為此,掌握線性代數的知識至關重要。
  • 英國數學專業可分為哪幾類?核心課程有哪些?申請條件是什麼?
    數學課是我們上學期間的一門必修課程,數學課也是很多同學的難題,當然了,還是有同學數學專業非常不錯的,大學期間也選擇的數學專業,數學源自於古希臘語,是研究數量、結構、變化以及空間模型等概念的一門學科,那麼接下來小編就帶著大家一起來了解下英國數學專業可分為哪幾類
  • 分析學的5大「步」:微積分到函數論、泛函分析、微分方程
    微積分微積分是研究函數的微分、積分性質及其應用的數學分支學科,並成為數學其他分支的基礎,也是其他自然科學和工程技術的必備工具。現在微積分學教程,通常的目錄次序是極限、微分、積分,正好與歷史順序相反。微積分後續的發展與完善工作。牛頓和萊布尼茲彼此獨立地創造一般的符號和一整套形式的解析規則,形成可以應用的微積分學;到17世紀末,大部分微積分內容已經建立起來。
  • 在數據科學領域中,你需要多少數學知識?
    我的模型中有哪些超參數,如何對其進行微調以獲得性能最佳的模型?  沒有良好的數學背景,你就無法解決上面提到的問題。 最重要的是,在數據科學和機器學習中,數學技能與編程技能同等重要。 因此,作為有志於數據科學的人,你必須花時間研究數據科學和機器學習的理論和數學基礎。你構建可應用於實際問題的可靠而有效的模型的能力取決於您的數學基礎。
  • 重中之重:數據科學與機器學習背後的數學理論
    有了這些包,任何人都可以構建模型或者生成數據可視化。然而,想要微調模型,使之能產生具有最佳性能的可靠模型,確實需要非常紮實的數學基礎知識。建立模型是一回事,但是解釋模型,並且總結出有意義的,且可用於數據驅動的決策制定的結論是另一回事。
  • 數學複習有方法 新東方在線建議22考研黨從四個方面展開備考
    與英語和政治不同,考研數學對輔導書的依賴度相對較低,第一輪複習時,同學們最主要的參考就是《數學考試大綱》和教材。考研數學的基本內容考察範圍一般變化不大,就目前而言,考生們可以參考21年考研大綱,等到22考研最新大綱發布時再查漏補缺即可。通過閱讀大綱,考生們可以詳細了解卷種要求、命題方向、題型類別及難易程度,從而找準複習方向。
  • 數學複習有方法,新東方在線建議22考研黨從四個方面展開備考
    考研數學的基本內容考察範圍一般變化不大,就目前而言,考生們可以參考21年考研大綱,等到22考研最新大綱發布時再查漏補缺即可。通過閱讀大綱,考生們可以詳細了解卷種要求、命題方向、題型類別及難易程度,從而找準複習方向。新東方在線老師提醒,大綱上的知識點全部來源於課本,因此還要仔細研讀教材,遇到大綱中不理解的內容,一定要回歸到課本中尋找答案。 分清考試類別,區別複習重點。
  • 這裡有一籮筐「武功秘笈」
    有人說,校園就像一個武林平時,大家潛心修煉日子過得也算安穩但每到期末,就猶如武林大會一般高手過招,便要各顯神通了有這麼些大俠線性代數△機械與電氣工程學院 郭越線性代數△計算機科學與工程學院 李樂園微積分△信息與通信工程學院
  • 數學史上最重要的4大數學思想
    微積分思想對數學的重要影響,主要表現在以下幾個方面:微積分思想的出現,一方面向原有的常量數學滲透,在內容上得到了極大的豐富,在思想方法上發生了深刻的變化。另一方面,微積分思想催生了大量新的數學分支:常微分方程論、偏微分方程論、微分幾何、複變函數論、解析數論等。
  • 這些對數學要求很高的專業,能力不過關不要報考,否則後悔來不及
    在中學時代,要說到哪一門科目,最讓學生頭痛,相信應該就是「數學」,學習數學,需要有很好的邏輯思維、運算分析等能力,想要學好數學,除了要有數學天賦之外,也要經常思考和動手,這讓不少學生「苦不堪言」,因此在上大學之前,都會避免選擇對數學要求高的專業,以免「受苦」,那麼有哪些專業需要很好的數學基礎
  • 數列極限|自變量(x)趨於有限值(x0)時函數的極限+極限定義證明題-經典例題:(101~105)
    *所選題目源自資料《高等數學(高等教育,第四版)》《高等數學(同濟大學)》《微積分(中人大,第四版)》《概率論與數理統計(浙大,四版)》《概率論與數理統計(中國農業大學)》《線性代數(工程數學,同濟大學)》《線性代數(中人大,第四版)》《複變函數與積分變換(高等教育)》。
  • 86歲還在錄網課:MIT教授Gilbert Strang最新「線性代數」課程上線
    知乎上有個帖子專門討論 Gilbert Strang 的線性代數教材《Introduction to Linear Algebra》。有人表示,「Strang 的教材更加面向實際應用,難度適中,比較注重從實際問題中培養數學直覺,比較適合工程學科學生使用。」這點是相對於國內某些教材的通病來講的。
  • 數學不好的學生,選擇大學專業時需要避開的「雷」,以免白學一場
    其實無論是冷門還是熱門,選擇合適的專業才對孩子以後的發展有幫助,即使熱門,同學不感興趣也白扯,即使冷門孩子喜歡最後也可以做一名老師。有些同學一直是偏科的,但是大學的專業繁多,怎麼能避免同學偏科的選擇就很重要了,對於數學不好的學生來說,大學的這幾種專業就不適合此類學生。