動手學深度學習需要這些數學基礎知識

dicksonjyl560101發表於2019-07-24


動手學深度學習需要這些數學基礎知識

本附錄總結了本書中涉及的有關線性代數、微分和機率的基礎知識。為避免贅述本書未涉及的數學背景知識,本節中的少數定義稍有簡化。

A.1 線性代數

下面分別概括了向量、矩陣、運算、範數、特徵向量和特徵值的概念。

A.1.1 向量

本書中的 向量 指的是 列向量 。一個n維向量 x 的表示式可寫成


動手學深度學習需要這些數學基礎知識


其中

動手學深度學習需要這些數學基礎知識

是向量的 元素 。我們將各元素均為實數的 n 維向量  記作

動手學深度學習需要這些數學基礎知識

動手學深度學習需要這些數學基礎知識

A.1.2 矩陣

一個m行n列 矩陣 的表示式可寫成


動手學深度學習需要這些數學基礎知識


其中

動手學深度學習需要這些數學基礎知識

是矩陣  X  中第 i 行第j列的元素(

動手學深度學習需要這些數學基礎知識

)。我們將各元素均為實數的 m 行 n列矩陣  記作

動手學深度學習需要這些數學基礎知識

。不難發現,向量是特殊的矩陣。

A.1.3 運算

設n維向量 a 中的元素為

動手學深度學習需要這些數學基礎知識

,n維向量 b 中的元素為

動手學深度學習需要這些數學基礎知識

。向量 a b 的點乘( 內積 )是一個標量:


動手學深度學習需要這些數學基礎知識


設兩個m行n列矩陣


動手學深度學習需要這些數學基礎知識


矩陣 A 轉置 是一個n行m列矩陣,它的每一行其實是原矩陣的每一列:


動手學深度學習需要這些數學基礎知識


兩個相同形狀的矩陣的加法是將兩個矩陣按元素做加法:


動手學深度學習需要這些數學基礎知識


我們使用符號

動手學深度學習需要這些數學基礎知識

表示兩個矩陣 按元素乘法 的運算,即 阿達馬積 (Hadamard product):


動手學深度學習需要這些數學基礎知識


定義一個標量k。標量與矩陣的乘法也是按元素做乘法的運算:


動手學深度學習需要這些數學基礎知識


其他諸如標量與矩陣按元素相加、相除等運算與上式中的相乘運算類似。矩陣按元素開根號、取對數等運算也就是對矩陣每個元素開根號、取對數等,並得到和原矩陣形狀相同的矩陣。

矩陣乘法 和按元素的乘法不同。設 A 為m行p列的矩陣, B 為p行n列的矩陣。兩個矩陣相乘的結果


動手學深度學習需要這些數學基礎知識


是一個m行n列的矩陣,其中第i 行第j 列(

動手學深度學習需要這些數學基礎知識

)的元素為


動手學深度學習需要這些數學基礎知識


A.1.4 範數

設n維向量 x 中的元素為

動手學深度學習需要這些數學基礎知識

。向量 x

動手學深度學習需要這些數學基礎知識

範數


動手學深度學習需要這些數學基礎知識


例如, x

動手學深度學習需要這些數學基礎知識

範數 是該向量元素絕對值之和:


動手學深度學習需要這些數學基礎知識


x

動手學深度學習需要這些數學基礎知識

範數 是該向量元素平方和的平方根:


動手學深度學習需要這些數學基礎知識


我們通常用 ||  x  || 指代 ||  x  ||2。

X 是一個m行n列矩陣。矩陣 X 的Frobenius 範數 為該矩陣元素平方和的平方根:


動手學深度學習需要這些數學基礎知識


其中

動手學深度學習需要這些數學基礎知識

為矩陣  在第 i 行第 j 列的元素。

A.1.5 特徵向量和特徵值

對於一個n 行n 列的矩陣 A ,假設有標量 λ 和非零的n維向量 v 使


動手學深度學習需要這些數學基礎知識


那麼  是矩陣  的一個 特徵向量 ,標量 λ 是  對應的 特徵值

A.2 微分

我們在這裡簡要介紹微分的一些基本概念和演算。

B.2.1 導數和微分

假設函式

動手學深度學習需要這些數學基礎知識

的輸入和輸出都是標量。函式 f 的 導數


動手學深度學習需要這些數學基礎知識


且假定該極限存在。給定

動手學深度學習需要這些數學基礎知識

,其中x和y分別是函式 f 的 自變數 因變數 。以下有關導數和微分的表示式等價:


動手學深度學習需要這些數學基礎知識


其中符號D和d/dx也叫 微分運算子 。常見的微分演算有DC = 0(C為常數)、

動手學深度學習需要這些數學基礎知識

(n為常數)、

動手學深度學習需要這些數學基礎知識

動手學深度學習需要這些數學基礎知識

等。

如果函式 f 和g都可導,設C為常數,那麼


動手學深度學習需要這些數學基礎知識


如果

動手學深度學習需要這些數學基礎知識

動手學深度學習需要這些數學基礎知識

都是可導函式,依據 鏈式法則


動手學深度學習需要這些數學基礎知識


A.2.2 泰勒展開

函式 f 的 泰勒展開式


動手學深度學習需要這些數學基礎知識


其中

動手學深度學習需要這些數學基礎知識

為函式 f 的 n 階導數(求n次導數),n! 為 n 的階乘。假設

動手學深度學習需要這些數學基礎知識

是一個足夠小的數,如果將上式中 x 和 a 分別替換成

動手學深度學習需要這些數學基礎知識

和 x,可以得到


動手學深度學習需要這些數學基礎知識


由於

動手學深度學習需要這些數學基礎知識

足夠小,上式也可以簡化成


動手學深度學習需要這些數學基礎知識


A.2.3 偏導數

設u為一個有n個自變數的函式,

動手學深度學習需要這些數學基礎知識

,它有關第i個變數

動手學深度學習需要這些數學基礎知識

偏導數


動手學深度學習需要這些數學基礎知識


以下有關偏導數的表示式等價:


動手學深度學習需要這些數學基礎知識


為了計算

動手學深度學習需要這些數學基礎知識

,只需將

動手學深度學習需要這些數學基礎知識

視為常數並求u有關xi的導數。

A.2.4 梯度

假設函式

動手學深度學習需要這些數學基礎知識

的輸入是一個n維向量

動手學深度學習需要這些數學基礎知識

,輸出是標量。函式

動手學深度學習需要這些數學基礎知識

有關  x  的梯度是一個由n個偏導陣列成的向量:


動手學深度學習需要這些數學基礎知識


為表示簡潔,我們有時用

動手學深度學習需要這些數學基礎知識

代替

動手學深度學習需要這些數學基礎知識

假設 x 是一個向量,常見的梯度演算包括

動手學深度學習需要這些數學基礎知識



類似地,假設 X 是一個矩陣,那麼


動手學深度學習需要這些數學基礎知識


A.2.5 海森矩陣

假設函式

動手學深度學習需要這些數學基礎知識

的輸入是一個n維向量

動手學深度學習需要這些數學基礎知識

,輸出是標量。假定函式 f所有的二階偏導數都存在,f 的海森矩陣 H 是一個n行n列的矩陣:


動手學深度學習需要這些數學基礎知識


其中二階偏導數為


動手學深度學習需要這些數學基礎知識


A.3 機率

最後,我們簡要介紹條件機率、期望和均勻分佈。

A.3.1 條件機率

假設事件A和事件B的機率分別為

動手學深度學習需要這些數學基礎知識

動手學深度學習需要這些數學基礎知識

,兩個事件同時發生的機率記作

動手學深度學習需要這些數學基礎知識

動手學深度學習需要這些數學基礎知識

。給定事件B,事件A的 條件機率


動手學深度學習需要這些數學基礎知識


也就是說,


動手學深度學習需要這些數學基礎知識


當滿足


動手學深度學習需要這些數學基礎知識


時,事件 A 和事件 B  相互獨立

A.3.2 期望

離散的隨機變數X的 期望 (或平均值)為


動手學深度學習需要這些數學基礎知識


A.3.3 均勻分佈

假設隨機變數X服從[a, b]上的 均勻分佈 ,即

動手學深度學習需要這些數學基礎知識

。隨機變數X取a和b之間任意一個數的機率相等。

小結

  • 本附錄總結了本書中涉及的有關線性代數、微分和機率的基礎知識。

練習

求函式

動手學深度學習需要這些數學基礎知識

的梯度。

本文摘自《動手學深度學習》

動手學深度學習

作者:阿斯頓·張(Aston Zhang), 李沐(Mu Li), [美] 扎卡里·C. 立頓(Zachary C. Lipton), [德] 亞歷山大·J. 斯莫拉(Alexander J. Smola)


動手學深度學習需要這些數學基礎知識


  • 人工智慧機器學習深度學習領域重磅教程圖書
  • 亞馬遜科學家作品
  • 動手學深度學習的全新模式,原理與實戰緊密結合

目前市面上有關深度學習介紹的書籍大多可分兩類,一類側重方法介紹,另一類側重實踐和深度學習工具的介紹。本書同時覆蓋方法和實踐。本書不僅從數學的角度闡述深度學習的技術與應用,還包含可執行的程式碼,為讀者展示如何在實際中解決問題。為了給讀者提供一種互動式的學習體驗,本書不但提供免費的教學影片和討論區,而且提供可執行的Jupyter記事本檔案,充分利用Jupyter記事本能將文字、程式碼、公式和影像統一起來的優勢。這樣不僅直接將數學公式對應成實際程式碼,而且可以修改程式碼、觀察結果並及時獲取經驗,從而帶給讀者全新的、互動式的深度學習的學習體驗。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29829936/viewspace-2651584/,如需轉載,請註明出處,否則將追究法律責任。

相關文章