深度學習-數學基礎

深度學習閱讀筆記

前言

目前主要有兩種度量模型深度的方式。第一種方式是基於評估架構所需執行的順序指令的數目。假設咱們將模型表示爲給定輸入後,計算對應輸出的流程圖,則能夠將這張流程圖中的最長路徑視爲模型的深度。另外一種是在深度機率模型中使用的方法,它不是將計算圖的深度視爲模型深度,而是將描述概念彼此如何關聯的圖的深度視爲模型深度。在這種狀況下,計算每一個概念表示的計算流程圖的深度可能比概念自己的圖更深。這是由於系統對較簡單概念的理解在給出更復雜概念的信息後能夠進一步精細化算法

目前大多數神經網絡是基於一個稱爲整流線性單元(rectified linear unit)的神經單元模型。在 20 世紀 80 年代,神經網絡研究的第二次浪潮在很大程度上是伴隨一個被稱爲聯結主義(connectionism)並行分佈處理 ( parallel distributed processing) 潮流而出現的。聯結主義的中心思想是,當網絡將大量簡單的計算單元鏈接在一塊兒時能夠實現智能行爲網絡

聯結主義中的幾個關鍵概念在今天的深度學習中仍然是很是重要的
其中一個概念是分佈式表示(distributed representation)。其思想是:系統的每個輸入都應該由多個特徵表示,而且每個特徵都應該參與到多個可能輸入的表示。即:能夠將某一個具體的輸入對象的各個組成元素抽象爲多個特徵,而後這多個特徵就可以很好的描述該物體的特色或性質
聯結主義潮流的另外一個重要成就是反向傳播在訓練具備內部表示的深度神經網絡中的成功使用以及反向傳播算法的普及架構

線性代數基礎

轉置
\[ (A^T)_{i,j} = A_{j,i} \]
乘積
\[ C = AB => C_{i.j} = \sum_k A_{i,k}B_{k,j} \]機器學習

矩陣乘積擁有的性質
分配律
\[ A(B + C) = AB + AC \]
結合律
\[ A(BC) = (AB)C \]分佈式

矩陣乘積不知足交換律ide

兩個相同維數的向量 x 和 y 的 點積(dot product)可看做是矩陣乘積 \(x^{T}y\)函數

兩個向量的點積知足交換律學習

\[ x^{T}y=y^{T}x \]優化

矩陣乘積的轉置
\[ (AB)^{T} = B^{T}A^{T} \]編碼

由兩個向量點積的結果是標量,標量轉置是自身,能夠獲得
\[ x^{T}y = (x^{T}y)^{T} = y^{T}x \]

單位矩陣(identity matrix): 任意向量和單位矩陣相乘,都不會改變。將保持 n 維向量不變的單位矩陣記做 \(I_{n}\)。形式上,\(I_{n} \in R^{n×n}\)

單位矩陣的結構很簡單:全部沿主對角線的元素都是 1,而全部其餘位置的元素都是0

矩陣 \(A\)矩陣逆(matrix inversion)記做 \(A^{−1}\),定義爲
\[ A^{-1}A = I_{n} \]

等式 \(Ax = b\),求解可得 \(x = A^{-1}b\)
若是 \(A^{-1}\) 存在,那麼該方程對於每個向量 \(b\) 剛好存在一個解。可是,對於方程組而言,對於向量 \(b\) 的某些值,有可能不存在解,或者存在無限多個解。存在多於一個解可是少於無限多個解的狀況是不可能發生的。由於若是 \(x,y\) 都是解,那麼 \(z = ax + (1-a)y\) 也是一個解

一組向量的 生成子空間(span)是原始向量線性組合後所能抵達的點的集合。肯定 \(Ax = b\) 是否有解至關於肯定向量 \(b\) 是否在 \(A\) 列向量的生成子空間中。這個特殊的生成子空間被稱爲 \(A\)列空間(column space)或者 \(A\)值域(range)

\(n\)\(A\) 列空間維度,\(m\)\(b\) 的維度,使方程對每一點都有解的必要條件是 \(n \ge m\) 。這不是一個充分條件,由於有些列向量多是冗餘的。這種冗餘被稱爲 線性相關(linear dependence)。若是一組向量中的任意一個向量都不能表示成其餘向量的線性組合,那麼這組向量稱爲 線性無關(linearly independent)。因此,若是一個矩陣的列空間涵蓋整個 \(R^{m}\) ,那麼該矩陣必須包含至少一組 \(m\) 個線性無關的向量,其中 \(b \in R^{m}\) 。這是對於任意 \(b\) 的取值都有解的充分必要條件

不存在一個 \(m\) 維向量的集合具備多於 \(m\) 個彼此線性不相關的列向量,可是一個有多於 \(m\) 個列向量的矩陣有可能擁有不止一個大小爲 \(m\) 的線性無關向量集

要想使矩陣可逆,須要保證式子 \(Ax = b\) 對於每個 \(b\) 值至多由一個解。爲此,須要確保該矩陣至多有 m 個列向量。不然,該方程會有不止一個解

要想使用 \(x = A^{-1}b\) 求得 \(x\) ,必須保證一個 \(A\) 是一個方陣(square),即 m = n,而且全部列向量都是線性無關的。一個列向量線性相關的方陣被稱爲 奇異的(singular)。若是矩陣 \(A\) 不是一個方陣或者是一個奇異的方陣,該方程仍然可能有解。可是不能使用矩陣逆去求解

對於方陣而言,它的左逆和右逆是相等的

在機器學習中,常用被稱爲 範數(norm)的函數衡量向量大小。形式上,\(L^{p}\) 範數定義以下
\[ ||x||_{p} = (\sum_i |x_i|^{p})^{\frac{1}{p}} \]
其中 \(p \in R, p \ge 1\)

範數是將向量映射到非負值的函數。直觀上來講,向量 \(x\) 的範數衡量從原點到點 \(x\) 的距離。範數是知足下列性質的任意函數

  • \(f(x) = 0 ⇒ x = 0\)
  • \(f(x + y) \le f(x) + f(y) ( 三角不等式(triangle inequality))\)
  • \(\forall \alpha \in R, f(\alpha x) = |\alpha|f(x)\)

\(L^{2}\) 範數被稱爲 歐幾里得範數(Euclidean norm)。它表示從原點出發到向量 \(x\) 肯定的點的歐幾里得距離。平方 \(L^{2}\) 範數也常常用來衡量向量的大小,能夠簡單地經過點積 \(x^{⊤}x\) 計算

平方 \(L^{2}\) 範數在數學和計算上都比 \(L^{2}\) 範數自己更方便。可是在不少狀況下,平方 \(L^{2}\) 範數也可能不受歡迎,由於它在原點附近增加得十分緩慢。在某些機器學習應用中,區分剛好是零的元素和非零但值很小的元素是很重要的。在這些狀況下,咱們轉而使用在各個位置斜率相同,同時保持簡單的數學形式的函數:\(L^{1}\) 範數

當機器學習問題中零和非零元素之間的差別很是重要時,一般會使用 \(L^{1}\) 範數。每當 \(x\) 中某個元素從 0 增長 \(\epsilon\) ,對應的 \(L^{1}\) 範數也會增長 $\epsilon $

另一個常常在機器學習中出現的範數是 \(L^{\infty}\) 範數,也被稱爲 最大範數(max norm)。這個範數表示向量中具備最大幅值的元素的絕對值
\[ ||x||_{\infty} = max_i|x_{i}| \]

有時候咱們可能也但願衡量矩陣的大小。在深度學習中,最多見的作法是使用 Frobenius 範數(Frobenius norm)
\[ ||A||_F = \sqrt{\sum_{i,j}A^2_{i.j}} \]

兩個向量的 點積(dot product)能夠用範數來表示,如
\[ x^Ty = ∥x∥_2 ∥y∥_2 \cos \theta \]

其中,\(\theta\) 爲向量 \(x, y\) 之間的夾角

對角矩陣(diagonal matrix)只在主對角線上含有非零元素,其餘位置都是零。用 \(diag(v)\) 表示一個對角元素由向量 \(v\) 中元素給定的對角方陣。對角方陣的逆矩陣存在,當且僅當對角元素都是非零值,在這種狀況下,\(diag(v)^{−1} = diag([\frac{1}{v1}, . . . , \frac{1}{vn}]^T)\)

不是全部的對角矩陣都是方陣。長方形的矩陣也有多是對角矩陣。非方陣的對角矩陣沒有逆矩陣,但咱們仍然能夠高效地計算它們的乘法。對於一個長方形對角矩陣 \(D\) 而言,乘法 \(Dx\) 會涉及到 \(x\) 中每一個元素的縮放,若是 \(D\) 是瘦長型矩陣,那麼在縮放後的末尾添加一些零;若是 \(D\) 是胖寬型矩陣,那麼在縮放後去掉最後一些元素

對稱(symmetric)矩陣是轉置和本身相等的矩陣,即 \(A = A^T\)

單位向量(unit vector)是具備 單位範數(unit norm)的向量,如\(||x||_2 = 1\)

若是 \(x^Ty = 0\),那麼向量 \(x\) 和向量 \(y\) 互相 正交(orthogonal)。若是兩個向量都有非零範數,那麼這兩個向量之間的夾角是 90 度。在 \(R^n\) 中,至多有 \(n\) 個範數非零向量互相正交。若是這些向量不只互相正交,而且範數都爲 1,那麼咱們稱它們是 標準正交(orthonormal)

正交矩陣(orthogonal matrix)是指行向量和列向量是分別標準正交的方陣:\(A^TA = AA^T = I\),這意味着 \(A^{-1} = A^T\)

特徵分解(eigendecomposition)是使用最廣的矩陣分解之一,即將矩陣分解成一組特徵向量和特徵值。方陣 \(A\)特徵向量(eigenvector)是指與 \(A\) 相乘後至關於對該向量進行縮放(\(Av = λv\))的非零向量 \(v\)。標量 \(λ\) 被稱爲這個特徵向量對應的 特徵值(eigenvalue)

若是 \(v\)\(A\) 的特徵向量,那麼任何縮放後的向量 \(sv (s \in R,s \ne 0)\) 也是 A 的特徵向量。此外,\(sv\)\(v\) 有相同的特徵值

假設矩陣 \(A\)\(n\) 個線性無關的特徵向量 \({v(1), . . . , v(n)}\),對應着特徵值\({λ1, . . . , λn}\)。咱們將特徵向量鏈接成一個矩陣,使得每一列是一個特徵向量:\(V = [v^{(1)}, . . . , v^{(n)}]\)。 相似地,咱們也能夠將特徵值鏈接成一個向量 \(λ = [λ_1, . . . , λ_n]^T\)。所以 \(A\)特徵分解(eigendecomposition)能夠記做
\[ A = Vdiag(λ)V^{-1} \]

每一個實對稱矩陣均可以分解成實特徵向量和實特徵值
\[ A = Q Λ Q^{T} \]
其中, \(Q\)\(A\) 的特徵向量組成的正交矩陣,\(Λ\) 是對角矩陣。特徵值 \(Λ_{i,i}\) 對應的特徵向量是矩陣 \(Q\) 的第i列,記做 \(Q_{:,i}\)

由於 \(Q\) 是正交矩陣,咱們能夠將 \(A\) 看做沿方向 \(v^{(i)}\) 延展 \(λ_i\) 倍的空間

任意一個實對稱矩陣 A 都有特徵分解,可是特徵分解可能並不惟一。若是兩個或多個特徵向量擁有相同的特徵值,那麼在由這些特徵向量產生的生成子空間中,任意一組正交向量都是該特徵值對應的特徵向量

矩陣是奇異的當且僅當含有零特徵值

全部特徵值都是正數的矩陣被稱爲 正定(positive definite);全部特徵值都是非負數的矩陣被稱爲 半正定(positive semidefinite)。一樣地,全部特徵值都是負數的矩陣被稱爲 負定(negative definite);全部特徵值都是非正數的矩陣被稱爲 半負定(negative semidefinite)

另外一種分解矩陣的方法,被稱爲 奇異值分解(singular value decomposition, SVD),將矩陣分解爲 奇異向量(singular vector)奇異值(singular value)。每一個實數矩陣都有一個奇異值分解,但不必定都有特徵分解

奇異值分解將矩陣 \(A\) 分解成三個矩陣的乘積
\[ A = UDV^{T} \]
假設 \(A\) 是一個 m × n 的矩陣,那麼 \(U\) 是一個 m × m 的矩陣,\(D\) 是一個 m × n 的矩陣,\(V\) 是一個 n × n 矩陣。矩陣 \(U\)\(V\) 都定義爲正交矩陣,而矩陣 \(D\) 定義爲對角矩陣,但不必定是方陣

對角矩陣 \(D\) 對角線上的元素被稱爲矩陣 \(A\)奇異值(singular value)。矩陣 \(U\) 的列向量被稱爲 左奇異向量(left singular vector),矩陣 \(V\) 的列向量被稱 右奇異向量(right singular vector)

\(A\)左奇異向量(left singular vector)\(AA^⊤\) 的特徵向量。\(A\)右奇異向量(right singular vector)\(A^{⊤}A\) 的特徵向量。\(A\) 的非零奇異值是 \(A^{⊤}A\) 特徵值的平方根,同時也是\(AA^⊤\) 特徵值的平方根

跡運算返回的是矩陣對角元素的和
\[ Tr(A) = \sum_i A_{i,i} \]
跡運算提供了另外一種描述矩陣Frobenius範數的方式
\[ ||A||_F = \sqrt{Tr(AA^{T})} \]

跡運算在轉置運算下是不變的
\[ Tr(A) = Tr(A^T) \]

多個矩陣相乘獲得的方陣的跡,和將這些矩陣中的最後一個挪到最前面以後相乘的跡是相同的
\[ Tr(ABC) = Tr(CAB) = Tr(BCA) \]

標量在跡運算後仍然是它本身:\(a = Tr(a)\)

行列式,記做 det(A),是一個將方陣 A 映射到實數的函數。行列式等於矩陣特徵值的乘積。行列式的絕對值能夠用來衡量矩陣參與矩陣乘法後空間擴大或者縮小了多少。若是行列式是 0,那麼空間至少沿着某一維徹底收縮了,使其失去了全部的體積。若是行列式是 1,那麼這個轉換保持空間體積不變

主成分分析(principal components analysis, PCA)是一個簡單的機器學習算法,能夠經過基礎的線性代數知識推導

在人工智能領域,機率論主要有兩種用途。首先,機率法則告訴咱們 AI 系統如何推理,據此咱們設計一些算法來計算或者估算由機率論導出的表達式。其次,咱們能夠用機率和統計從理論上分析咱們提出的 AI 系統的行爲

幾乎全部的活動都須要一些在不肯定性存在的狀況下進行推理的能力。不肯定性有三種可能的來源

  1. 被建模系統內在的隨機性
  2. 不徹底觀測。即便是肯定的系統,當咱們不能觀測到全部驅動系統行爲的變量時,該系統也會呈現隨機性
  3. 不徹底建模。當咱們使用一些必須捨棄某些觀測信息的模型時,捨棄的信息會致使模型的預測出現不肯定性

直接與事件發生的頻率相聯繫,被稱爲 頻率派機率(frequentist probability);涉及到肯定性水平,被稱爲 貝葉斯機率(Bayesian probability),如:在醫生診斷病人的例子中,咱們用機率來表示一種 信任度(degree of belief),其中 1 表示很是確定病人患有流感,而 0 表示很是確定病人沒有流感

機率分佈(probability distribution)用來描述隨機變量或一簇隨機變量在每個可能取到的狀態的可能性大小。描述機率分佈的方式取決於隨機變量是離散的仍是連續的

離散型變量的機率分佈能夠用 機率質量函數(probability mass function, PMF)來描述。機率質量函數將隨機變量可以取得的每一個狀態映射到隨機變量取得該狀態的機率

機率質量函數能夠同時做用於多個隨機變量。這種多個變量的機率分佈被稱爲 聯合機率分佈(joint probability distribution)。P(x = \(x\), y = \(y\)) 表示 x = \(x\) 和 y = \(y\) 同時發生的機率。咱們也能夠簡寫爲 P(\(x\), \(y\))

當研究的對象是連續型隨機變量時,用 機率密度函數(probability density function, PDF)而不是機率質量函數來描述它的機率分佈

機率密度函數 p(x) 並無直接對特定的狀態給出機率,相對的,它給出了落在面積爲 δx 的無限小的區域內的機率爲 p(x)δx

有時候,咱們知道了一組變量的聯合機率分佈,但想要了解其中一個子集的機率分佈。這種定義在子集上的機率分佈被稱爲 邊緣機率分佈(marginal probability distribution),如:已知P(x, y),求P(x)

某個事件在給定其餘事件發生時出現的機率叫作條件機率,將給定 x = \(x\),y = \(y\) 發生的條件機率記爲 P(y = \(y\) | x = \(x\))

任何多維隨機變量的聯合機率分佈,均可以分解成只有一個變量的條件機率相乘的形式
\[ P(x^{(1)},...,x^{(n)}) = P(x^{(1)})\pi^n_{i=2} P(x(i) | x^{(1)},...x^{(i-1)}) \]
這個規則被稱爲機率的 鏈式法則(chain rule)或者 乘法法則(product rule)。舉例
\[ P(a, b, c) = P(a | b,c)P(b, c) \]
\[ P(b, c) = P(b | c)P(c) \]
\[ P(a, b, c) = P(a | b,c)P(b | c)P(c) \]

兩個隨機變量 x 和 y,若是它們的機率分佈能夠表示成兩個因子的乘積形式,而且一個因子只包含 x 另外一個因子只包含 y,咱們就稱這兩個隨機變量是 相互獨立的(independent)
\[ \forall x \in X, y \in Y, p(x = x_0, y = y_0) = P(x = x_0)p(y = y_0) \]

若是關於 x 和 y 的條件機率分佈對於 z 的每個值均可以寫成乘積的形式,那麼這兩個隨機變量 x 和 y 在給定隨機變量 z 時是 條件獨立的(conditionally independent)
\[ \forall x \in X, y \in Y, z \in Z, p(x = x_0, y = y_0 | z = z_0) = p(x = x_0 | z = z_0)p(y = y_0 | z = z_0) \]

函數 f(x) 關於某分佈 P(x) 的 指望(expectation)或者 指望值(expectedvalue)是指,當 x 由 P 產生,f 做用於 x 時,f(x) 的平均值

方差(variance)衡量的是當咱們對 x 依據它的機率分佈進行採樣時,隨機變量 x 的函數值會呈現多大的差別
\[ Var(f(x)) = E[(f(x) - E[f(x)])^2] \]
當方差很小時,f(x) 的值造成的簇比較接近它們的指望值。方差的平方根被稱爲 標準差(standard deviation)

協方差(covariance)在某種意義上給出了兩個變量線性相關性的強度以及這些變量的尺度
\[ Cov(f(x), g(y)) = E[(f(x) − E[f(x)])(g(y) − E[g(y)])]. \]

協方差的絕對值若是很大則意味着變量值變化很大而且它們同時距離各自的均值很遠。若是協方差是正的,那麼兩個變量都傾向於同時取得相對較大的值。若是協方差是負的,那麼其中一個變量傾向於取得相對較大的值的同時,另外一個變量傾向於取得相對較小的值,反之亦然。其餘的衡量指標如 相關係數(correlation)將每一個變量的貢獻歸一化,爲了只衡量變量的相關性而不受各個變量尺度大小的影響

兩個變量若是相互獨立那麼它們的協方差爲零,若是兩個變量的協方差不爲零那麼它們必定是相關的。兩個變量若是協方差爲零,它們之間必定沒有線性關係。獨立性比零協方差的要求更強,由於獨立性還排除了非線性的關係。兩個變量相互依賴但具備零協方差是可能的

隨機向量 \(x ∈ R^n\)協方差矩陣(covariance matrix)是一個 n × n 的矩陣,而且知足
\[ Cov(x)_{i,j} = Cov(x_i, x_j) \]
協方差矩陣的對角元是方差
\[ Cov(x_i, x_i) = Var(x_i) \]

最經常使用的分佈就是 正態分佈(normal distribution),也稱爲 高斯分佈(Gaussian distribution)
\[ N(x; \mu, \sigma^2) = \sqrt{\frac{1}{2\pi\sigma^2}}exp(-\frac{1}{2\sigma^2}(x - \mu)^2) \]

正態分佈的中心峯的 x 座標由 \(\mu\) 給出,峯的寬度受 \(\sigma\) 控制

在具備相同方差的全部可能的機率分佈中,正態分佈在實數上具備最大的不肯定性。能夠認爲正態分佈是對模型加入的先驗知識量最少的分佈

正態分佈能夠推廣到 \(R^n\) 空間,這種狀況下被稱爲 多維正態分佈(multivariate normal distribution)。它的參數是一個正定對稱矩陣 \(\sum\)
\[ N(x; \mu, \sum) = \sqrt{\frac{1}{(2\pi)^ndet(\sum)}}exp(-\frac{1}{2}(x-\mu)^T\sum^{-1}(x - \mu)) \]
此時,參數 \(\mu\) 仍然表示分佈的均值,只不過如今是向量值。參數 \(\sum\) 給出了分佈的協方差矩陣
當對不少不一樣參數下的機率密度函數屢次求值時,協方差矩陣並非一個很高效的參數化分佈的方式,由於對機率密度函數求值時須要對 \(\sum\) 求逆。咱們可使用一個 精度矩陣(precision matrix) \(\beta\) 進行替代
\[ N(x; \mu, \beta) = \sqrt{\frac{det(\beta)}{(2\pi)^n}}exp(-\frac{1}{2}(x-\mu)^T\beta(x - \mu)) \]

經過 Dirac delta 函數(Dirac delta function)\(\delta(x)\) 定義機率密度函數來將望機率分佈中的全部質量都集中在一個點上
\[ p(x) = \sigma(x - \mu) \]
Dirac delta 函數被定義成在除了 \(x=\mu\) 之外的全部點的值都爲 0,可是積分爲 1。在 \(x=\mu\) 處具備無限窄也無限高的峯值的機率質量

Dirac 分佈常常做爲 經驗分佈(empirical distribution)的一個組成部分出現
\[ \hat{p}(x) = \frac{1}{m}\sum_{i=1}^{m} \sigma(x - x^{(i)}) \]
經驗分佈將機率密度 \(\frac{1}{m}\) 賦給 m 個點 \(x^{(1)}\), . . . , \(x^{(m)}\) 中的每個,這些點是給定的數據集或者採樣的集合。只有在定義連續型隨機變量的經驗分佈時,Dirac delta 函數纔是必要的

一些等式
\[ \sigma(x) = \frac{exp(x)}{exp(x) + exp(0)} \]
\[ \frac{d\sigma(x)}{dx} = \sigma(x)(1-\sigma(x)) \]
\[ 1 - \sigma(x) = \sigma(-x) \]
\[ log\sigma(x) = -\zeta(-x) \]
\[ \frac{d\zeta(x)}{d(x)} = \sigma(x) \]
\[ \forall x \in (0,1), \sigma^{-1}(x) = log(\frac{x}{1-x}) \]
\[ \forall x > 0, \zeta^{-1}(x) = log(exp(x) - 1) \]
\[ \zeta(x) = \int_{-\infty}^x \sigma(y)dy \]
\[ \zeta(x) - \zeta(-x) = x \]

貝葉斯規則(Bayes' rule)
\[ P(x | y) = \frac{P(x)P(y | x)}{P(y)} \]

若是咱們對於同一個隨機變量 \(x\) 有兩個單獨的機率分佈 \(P(x)\)\(Q(x)\),咱們可使用 KL 散度(Kullback-Leibler (KL) divergence)來衡量這兩個分佈的差別
\[ D_{KL}(P||Q) = E_{X \sim P}[log\frac{P(x)}{Q(x)}] = E_{X \sim P}[logP(x) - logQ(x)] \]
在離散型變量的狀況下,KL 散度衡量的是,當咱們使用一種被設計成可以使得機率分佈 \(Q\) 產生的消息的長度最小的編碼,發送包含由機率分佈 \(P\) 產生的符號的消息時,所須要的額外信息量

KL 散度有不少有用的性質,最重要的是它是非負的。KL 散度爲 0 當且僅當 \(P\)\(Q\) 在離散型變量的狀況下是相同的分佈,或者在連續型變量的狀況下是 ‘‘幾乎到處’’ 相同的。由於 KL 散度是非負的而且衡量的是兩個分佈之間的差別,它常常被用做分佈之間的某種距離。然而,它並非真的距離由於它不是對稱的:對於某些 \(P\)\(Q\)\(DKL(P||Q) ̸= DKL(Q||P)\)。這種非對稱性意味着選擇 \(DKL(P||Q)\) 仍是\(DKL(Q||P)\) 影響很大

交叉熵(cross-entropy)
\[ H(P, Q) = H(P) + D_{KL}(P||Q) = -E_{X\sim P}logQ(x) \]
交叉熵和 KL 散度很像可是缺乏左邊一項。針對 Q 最小化交叉熵等價於最小化 KL 散度,由於 Q 並不參與被省略的那一項

一種極具毀滅性的舍入偏差是 下溢(underflow)。當接近零的數被四捨五入爲零時發生下溢。許多函數在其參數爲零而不是一個很小的正數時纔會表現出質的不一樣。另外一個極具破壞力的數值錯誤形式是 上溢(overflow)。當大量級的數被近似爲\(\infty\)\(-\infty\) 時發生上溢。進一步的運算一般會致使這些無限值變爲非數字。必須對上溢和下溢進行數值穩定的一個例子是 softmax 函數(softmax function)。softmax 函數常常用於預測與 Multinoulli 分佈相關聯的機率,定義爲
\[ softmax(x)_i = \frac{exp(x_i)}{\sum_{j=1}^n exp(x_j)} \]
對於 \(softmax(x)\) 的上溢和下溢問題,能夠經過計算 \(softmax(z)\) 同時解決,其中 \(z = x - max_i x_i\) 。減去 \(max_i x_i\) 致使 exp 的最大參數爲 0,這排除了上溢的可能性。一樣地,分母中至少有一個值爲 1 的項,這就排除了因分母下溢而致使被零除的可能性

條件數表徵函數相對於輸入的微小變化而變化的快慢程度。輸入被輕微擾動而迅速改變的函數對於科學計算來講多是有問題的,由於輸入中的舍入偏差可能致使輸出的巨大變化

對於函數 $ f(x) = A^{-1}x $。當 \(A \in R^{n × n}\)具備特徵值分解時,其條件數爲
\[ max_{i,j} |\frac{\lambda_i}{\lambda_j}| \]
這是最大和最小特徵值的模之比1。當該數很大時,矩陣求逆對輸入的偏差特別敏感

咱們把要最小化或最大化的函數稱爲 目標函數(objective function)準則(criterion)。當咱們對其進行最小化時,咱們也把它稱爲 代價函數(cost function)損失函數(loss function)偏差函數(error function)

對於 \(y = f(x)\),導數告訴咱們如何更改 \(x\) 來略微地改善 \(y\) 。例如,咱們知道對於足夠小的 \(\epsilon\) 來講,\(f(x − \epsilon sign(f′(x)))\) 是比 $f(x) $小的。所以咱們能夠將 \(x\) 往導數的反方向移動一小步來減少 \(f(x)\)。這種技術被稱爲 梯度降低(gradient descent)

\(f′(x) = 0\),導數沒法提供往哪一個方向移動的信息。 \(f′(x) = 0\) 的點稱爲 臨界點(critical point)駐點(stationary point)。一個 局部極小點(local minimum)意味着這個點的 f(x) 小於全部鄰近點,所以不可能經過移動無窮小的步長來減少 \(f(x)\) 。一個 局部極大點(local maximum)意味着這個點的 \(f(x)\) 大於全部鄰近點,所以不可能經過移動無窮小的步長來增大 \(f(x)\)。有些臨界點既不是最小點也不是最大點。這些點被稱爲 鞍點(saddle point)。使 f(x) 取得絕對的最小值(相對全部其餘值)的點是 全局最小點(global minimum)。函數可能只有一個全局最小點或存在多個全局最小點,還可能存在不是全局最優的局部極小點

有時候,在 x 的全部可能值下最大化或最小化一個函數 f(x) 不是咱們所但願的。相反,咱們可能但願在 x 的某些集合 S 中找 f(x) 的最大值或最小值。這被稱爲 約束優化(constrained optimization)。在約束優化術語中,集合 S 內的點 x 被稱爲 可行(feasible)點

相關文章
相關標籤/搜索