模式識別與機器學習第七講(2.3,附錄C)

關鍵詞:高斯分布、棣莫弗—拉普拉斯極限定理、中心極限定理、矩陣的定義及其基本性質。

最後更新:2018.1.12。

在大部分今天的教科書中為了保持簡潔、優美的邏輯,作者很多時候有意識地省略了理論演變的過程。這個過程可能是繁瑣的、反覆的,但歷史的腳手架在大部分情況下也會幫助我們更好地理解理論的動機。

2.3 The Gaussian Distribution

高斯分布,又名正態分布(normal distribution),最早由法國數學家亞伯拉罕·棣莫弗(Abraham de Moivre)在對二項式分布的近似研究中發現了正態分布。

棣莫弗是一位傑出的數學家。他的貢獻除了高斯分布之外還包括棣莫弗公式(De Moivre"s formula)以及棣莫弗—拉普拉斯極限定理(De Moivre-Laplace Limit Theorem)

棣莫弗公式即為 (cos(x)+isin(x))^{n}=cos(nx)+isin(nx) 。棣莫弗—拉普拉斯極限定理是中心極限定理(Central Limit Theorem)的一種特例,我們稍後會提到它。

棣莫弗的另一重要貢獻是在1718年出版了概率論領域第二本教科書《機會論》(The Doctrine of Chances)。這本書的出版受到了賭徒的歡迎。第一本即為雅各布·伯努利的《猜度術》(Ars Conjectandi)。也有人認為1657年克里斯蒂安·惠更斯(Christiaan Huygens)寫的《論賭博中的計算》(De ratiociniis in ludo aleae/On Reasoning in Games of Chance)才是概率論領域的第一本專著。

棣莫弗在《機會論》第二版里提出對於一枚公平的硬幣(即硬幣拋完後頭朝上和頭朝下的概率均為 frac{1}{2} ),擲硬幣的次數越多,硬幣頭朝上的次數的分布越接近一個特別的光滑曲線。換言之對於二項式分布 Bin(m|N,mu) ,在 mu=frac{1}{2} 的情況下, N 越大, Bin(m|N,mu) 的形狀越接近上述提到的曲線。

以下代碼受到了驀風星吟《正態分布的前世今生(上)》或《從高斯(正態)分布的導出講起——為什麼高斯分布概率密度函數長成這個樣子?》的啟發。

# Code for approximating binomial distribution when p = 1/2 by normal# distribution, by Frankensteinimport numpy as npimport matplotlib.mlab as mlabimport matplotlib.pyplot as pltimport scipy.stats as ssimport mathmu = 1/2for N in range(10, 2001, 10): plt.figure(1) plt.clf() mean = N * mu variance = N * mu * (1 - mu) sigma = math.sqrt(variance) y = ss.binom.rvs(N, mu, size=N) plt.hist(y, normed=True, color="b", ec="black") x = np.linspace(mean - 3 * variance, mean + 3 * variance, 1000) plt.plot(x, mlab.normpdf(x, mean, sigma), color="r") plt.pause(0.01)

以上三幅圖均為運行上面的Python代碼所得,感興趣的朋友們可以自己跑一跑。可以看到隨著伯努利試驗次數的增加,硬幣正面朝上的概率越來越接近與之對應的高斯分布。

對於 mu
eq frac{1}{2} 的情況,棣莫弗進行了一些研究,但並不全面。拉普拉斯在1770年代給出了對於任意 mu 值的結果,即棣莫弗—拉普拉斯極限定理。

我們現在來看一下理論部分,以下內容主要基於Feller的書以及Dunbar的文章。

定義:將函數 varphi (x)=frac{1}{sqrt{2pi}}e^{-frac{1}{2}x^{2}} 稱為正態密度函數(normal density function),將它由 -inftyx 的積分 Phi(x)=frac{1}{sqrt{2pi}}int_{-infty}^{x}e^{-frac{t^{2}}{2}}dt 稱為正態分布函數(normal distribution function)

讀者應不難發現正態密度函數為高斯分布在 mu=0,sigma^{2}=1 時的概率密度函數而正態分布函數為相對應的累積分布函數。 mu=0,sigma^{2}=1 高斯分布被稱為標準高斯分布(standard Gaussian distribution)或者標準正態分布(standard normal distribution)

正態密度函數圖像。

來源:Feller, William. An Introduction to Probability Theory and its Applications, Volume 1, 3rd edition, 1968.

正態分布函數圖像。

來源:Feller, William. An Introduction to Probability Theory and its Applications, Volume 1, 3rd edition, 1968.

引理1int_{-infty}^{infty}varphi(x)dx=1

證明

left{int_{-infty}^{infty}varphi(x)dx
ight}^{2}=int_{-infty}^{infty}int_{-infty}^{infty}varphi(x)varphi(y)dxdy=frac{1}{2pi}int_{-infty}^{infty}int_{-infty}^{infty}e^{-frac{1}{2}(x^{2}+y^{2})}dxdy  (2.3.1)

將該雙重積分轉化為極坐標形式,令 r^{2}=x^{2}+y^{2}, x = rcos	heta,y=rsin	heta 。對應換元的雅克比矩陣行列式為 egin{vmatrix}cos	heta & sin	heta \ -rsin	heta & rcos	hetaend{vmatrix}=r

因此式 2.3.1 等於

frac{1}{2pi}int_{0}^{2pi}d	hetaint_{0}^{infty}e^{-frac{1}{2}r^{2}}rdr=int_{0}^{infty}e^{-frac{1}{2}r^{2}}rdr=-e^{-frac{1}{2}r^{2}}|_{0}^{infty}=1

我們可以進一步發現 Phi(x) 是單調遞增函數並且 Phi(x)+Phi(-x)=frac{1}{sqrt{2pi}}left(int_{-infty}^{x}e^{-frac{1}{2}y^{2}}dy+int_{-infty}^{-x}e^{-frac{1}{2}y^{2}}dy
ight)=frac{1}{sqrt{2pi}}left(int_{-infty}^{infty}e^{-frac{1}{2}y^{2}}dy
ight)=1。

棣莫弗—拉普拉斯定理:令 a,b in mathbb{R}, a<b, 則有 lim_{n
ightarrowinfty}mathbb{P}_{n}[aleqfrac{S_{n}-np}{sqrt{np(1-p)}}leq b]=frac{1}{2pi}int_{a}^{b}e^{-x^{2}/2}dx。

筆者本意想給出一個儘可能嚴格且自洽的證明,但那會佔據過多的篇幅,甚至嚇退一些對機器學習感興趣的讀者。畢竟對於不同讀者來說他們學習機器學習的目的也不同,大部分人並不需要知道所有背後的數學細節。感興趣的讀者可以參考下面鏈接里Feller的書或者Dunbar寫的 「Topics in Probability Theory and Stochastic Processes」。

到此讀者們應該對高斯分布的誕生有了一點感覺,但為什麼高斯成了這個分布的冠名人呢?這背後又有一段其它的歷史糾葛了。我們在日後討論最小二乘法(least squares method)時或許有機會對此做進一步展開和討論。然而它對於引入高斯分布沒有直接關係。有興趣的讀者也可以參考下以下鏈接里 《正態分布的前世今生(上)》或《從高斯(正態)分布的導出講起——為什麼高斯分布概率密度函數長成這個樣子?》。

在Bishop書里有提到在特定情況下當我們考慮一個集合隨機變數的和,隨著隨機變數個數的增多,和的分布越來越接近高斯分布。這就涉及到了更加一般的中心極限定理(Central Limit Theorem)

中心極限定理:令 X_{1},X_{2},cdots 為一個序列的隨機變數並且它們符合獨立一致分布,有有限的平均值 mu 和有限的非零方差 sigma^{2} ,令 S_{n}=X_{1}+cdots+X_{n} ,則有隨著 n
ightarrowinfty

frac{S_{n}-nmu}{sqrt{nsigma^{2}}} 在分布上逼近 mathcal{N}(x|0,1)

同樣的我們不在此對定理進行證明。

上圖是用ProcessOn - 免費在線作圖,實時協作 繪製的。

在接下來的討論中我們會對矩陣的運算和性質進行大量的運用,結合附錄C、Randal J. Barnes寫的「Matrix Differentiation」(《矩陣微分》),我們來學習/複習一下有關的內容。

這裡我們只涵蓋一些相對基本的內容,對於更加全面地學習,讀者可以參考一些比較友善的線性代數教科書,如Gilbert Strang的Introduction to Linear Algebra。他的這本書和他在MIT的公開課在知乎上都很有名。

Kaare Brandt Petersen和Michael Syskind Pedersen的The Matrix Cookbook包含了大量矩陣相關知識(但沒有提供證明),可以作為參考手冊。

Appendix C. Properties of Matrices

定義1m	imes n 階矩陣( m	imes n matrix/matrices)

考慮一個矩陣 mathbf{A}=egin{bmatrix}a_{11} & a_{12} &cdots & a_{1n}\ a_{21} & a_{22} &cdots & a_{2n}\ vdots &vdots &ddots &vdots\ a_{m1} &a_{m2} &cdots &a_{mn} end{bmatrix} ,由於它有 m 行,每行又有 n 個元素(elements),我們稱之為是一個 m	imes n 的矩陣。我們用 a_{ij} 或者 mathbf{A}_{ij} 來表示矩陣 mathbf{A}i 行(row)第 j 列(column)的元素, i=1,cdots,mj=1,cdots,n 。有時候我們也會把 mathbf{A} 寫作 egin{bmatrix} a_{ij} end{bmatrix}i=1,cdots,mj=1,cdots,n

m=n 時,稱 mathbf{A} 為一個 m 階方陣( m dimensional square matrix)

注意在本系列文章中除非特別註明,否則我們假設矩陣中的每一個元素都是實數。

定義2n 階向量( n dimensional vector)

形為 egin{bmatrix} a_{11}\ a_{21}\ vdots\ a_{n1} end{bmatrix} 這樣由一列 n 個元素構成的 n	imes 1 階矩陣被稱為 n 階向量。

從習慣上來說,我們通常用粗體大寫字母來指代包含多於一個列的矩陣,如 mathbf{A},mathbf{X} ;用粗體小寫字母來指代向量,如 mathbf{a},mathbf{x}

定義3單位矩陣(identity matrix/unit matrix)

對於形為 egin{bmatrix} 1 & 0 &cdots & 0\ 0 & 1 &cdots & 0\ 0 & 0 & ddots &vdots\ 0 & 0 &cdots & 1 end{bmatrix} 的方陣,稱其為單位矩陣,記作 mathbf{I} 。如果矩陣的維數為 n (即 mathbf{I} 為一個 n 階方陣),則可以記作 mathbf{I}_{n}

定義4:矩陣加法(matrix addition)

對於 m	imes n 階矩陣 mathbf{A},mathbf{B}, 它們的和 mathbf{C}=mathbf{A}+mathbf{B}m	imes n 階矩陣,並且 c_{ij}=a_{ij}+b_{ij}, i=1,cdots,mj=1,cdots, n

定義5矩陣乘法(matrix multiplication)

對於 m	imes n 階矩陣 mathbf{A}=[a_{ik}]n	imes p 階矩陣 mathbf{B}=[b_{kj}] ,它們的積(product) mathbf{C}=mathbf{A}mathbf{B}m	imes p 階矩陣,並且 c_{ij}=sum_{k=1}^{n}a_{ik}b_{kj}i=1,cdots,mj=1,cdots, p

命題1

考慮 m	imes n 階矩陣 mathbf{A}n	imes p 階矩陣 mathbf{B} ,令 mathbf{C}=mathbf{A}mathbf{B} ,則有 mathbf{C}^{T}=mathbf{B}^{T}mathbf{A}^{T}

證明

由矩陣乘法的定義可知, 對於 i=1,cdots,mj=1,cdots,p

c_{ij}=sum_{k=1}^{n}a_{ik}b_{kj}(mathbf{C}^{T})_{ji}=c_{ij}=sum_{k=1}^{n}a_{ik}b_{kj}

(mathbf{B}^{T}mathbf{A}^{T})_{ji}=sum_{k=1}^{n}mathbf{B}^{T}_{jk}mathbf{A}^{T}_{ki}=sum_{k=1}^{n}b_{kj}a_{ik}=sum_{k=1}^{n}a_{ik}b_{kj}=(mathbf{C}^{T})_{ji}

定義6:矩陣的標量乘法(scalar multiplication)

對於 m	imes n 階矩陣 mathbf{A} ,給定標量 c(cmathbf{A})_{ij}=c	imes a_{ij}i=1,cdots,mj=1,cdots,n

定義7:矩陣對應元素的乘法(matrix elementwise/entrywise multiplication)/阿達馬積(Hadamard product)

對於 m	imes n 階矩陣 mathbf{A},mathbf{B} ,另一種乘法操作就是把矩陣對應位置的元素相乘得到一個新的 m	imes n 階矩陣,稱為矩陣對應元素的乘法或阿達馬積,記作 mathbf{A}odotmathbf{B}mathbf{A}circmathbf{B}

定義8可逆的(invertible),逆(inverse)

考慮 m	imes n 階矩陣 mathbf{A} ,如果存在矩陣 mathbf{A}^{-1} 使得 mathbf{A}mathbf{A}^{-1}=mathbf{I} (此時 mathbf{A}^{-1} 同樣為 m 階矩陣)或者 mathbf{A}^{-1}mathbf{A}=mathbf{I} (此時 mathbf{A}^{-1}n	imes m 階矩陣),則稱 mathbf{A} 是可逆的,稱 mathbf{A}^{-1}mathbf{A} 的逆。對於前一種情況我們稱 mathbf{A}^{-1}mathbf{A}右逆(right inverse),對於後一種情況我們稱 mathbf{A}^{-1}mathbf{A}左逆(left inverse)

注意點1

mathbf{A} 的左逆和 mathbf{A} 的右逆不一定同時存在,但如果他們同時存在(注意此時 mathbf{A} 必定為方陣)則必定相等。

證明

假設矩陣 mathbf{A} 同時有左逆 mathbf{B} 和右逆 mathbf{C} ,則有 mathbf{B}=mathbf{B}mathbf{I}=mathbf{B}mathbf{A}mathbf{C}=mathbf{I}mathbf{C}=mathbf{C}

命題2

考慮 m	imes n 階矩陣 mathbf{A}n	imes p 階矩陣 mathbf{B} ,如果 mathbf{A}mathbf{B} 均可逆,則它們的積 mathbf{AB} 可逆並且 mathbf{AB} 的逆為 mathbf{B}^{-1}mathbf{A}^{-1}

證明

易證矩陣滿足乘法結合律。

(mathbf{B}^{-1}mathbf{A}^{-1})mathbf{A}mathbf{B}=mathbf{B}^{-1}(mathbf{A}^{-1}mathbf{A})mathbf{B}=mathbf{B}^{-1}mathbf{I}mathbf{B}=mathbf{B}^{-1}mathbf{B}=mathbf{I}

mathbf{A}mathbf{B}(mathbf{B}^{-1}mathbf{A}^{-1})=mathbf{A}(mathbf{B}mathbf{B}^{-1})mathbf{A}^{-1}=mathbf{A}mathbf{I}mathbf{A}^{-1}=mathbf{A}mathbf{A}^{-1}=mathbf{I}

定義9轉置矩陣(transpose matrix)

對於矩陣 mathbf{A}=egin{bmatrix}a_{11} & a_{12} &cdots & a_{1n}\ a_{21} & a_{22} &cdots & a_{2n}\ vdots &vdots &ddots &vdots\ a_{m1} &a_{m2} &cdots &a_{mn} end{bmatrix} ,稱 egin{bmatrix} a_{11} &a_{21} &cdots &a_{m1}\ a_{12} &a_{22} &cdots &a_{m2}\ vdots &vdots &ddots &vdots\ a_{1n} & a_{2n} &cdots &a_{mn} end{bmatrix}mathbf{A} 的轉置矩陣,記作 mathbf{A}^{T}j=1,cdots,mi=1,cdots,n 。根據習慣不同,也有人會寫作 mathbf{A}^{t}{}^{t}mathbf{A} ,這裡我們會統一使用 mathbf{A}^{T}

不難發現 (mathbf{A}^{T})_{ij}=a_{ji}

命題3:轉置操作的特性

以下特性都可以根據定義比較簡單地得到

  1. (mathbf{A}^{T})^{T}=mathbf{A}
  2. 對於任意 m	imes n 階矩陣 mathbf{A},mathbf{B}(mathbf{A}+mathbf{B})^{T}=mathbf{A}^{T}+mathbf{B}^{T}
  3. (mathbf{AB})^{T}=mathbf{B}^{T}mathbf{A}^{T}
  4. 對於任意標量 c 和矩陣 mathbf{A}(cmathbf{A})^{T}=cmathbf{A}^{T}

定義10:對稱矩陣(symmetric matrix)

對於方陣 mathbf{A} ,如果 mathbf{A}^{T}=mathbf{A} ,則稱 mathbf{A} 是一個對稱矩陣。

命題4

考慮 m	imes n 階矩陣 mathbf{A} ,假設它有逆 mathbf{A}^{-1} ,則有 (mathbf{A}^{T})^{-1}=(mathbf{A}^{-1})^{T}

證明

假設 mathbf{A}^{-1}mathbf{A} 的左逆,則有 mathbf{A}^{-1}mathbf{A}=mathbf{I}mathbf{I}=mathbf{I}^{T}=(mathbf{A}^{-1}mathbf{A})^{T}=mathbf{A}^{T}(mathbf{A}^{-1})^{T} ,原命題成立。

假設 mathbf{A}^{-1}mathbf{A} 的右逆,則有 mathbf{A}mathbf{A}^{-1}=mathbf{I}mathbf{I}=mathbf{I}^{T}=(mathbf{A}mathbf{A}^{-1})^{T}=(mathbf{A}^{-1})^{T}mathbf{A}^{T},原命題同樣成立。

我們有時候為了方便會把矩陣劃分成多塊小矩陣,如下圖:

圖源:math.stackexchange.com/

定義11分塊矩陣(partitioned matrices)

考慮 m	imes n 階矩陣 mathbf{A}mgeq 2n geq 2 。令 mathbf{A}=egin{bmatrix}mathbf{B} & mathbf{C} \ mathbf{D} & mathbf{E}end{bmatrix}mathbf{B} 是一個 m_{1}	imes n_{1} 階矩陣, mathbf{C} 是一個 m_{1}	imes n_{2} 階矩陣, mathbf{D} 是一個 m_{2}	imes n_{1} 階矩陣, mathbf{E} 是一個 m_{2}	imes n_{2} 階矩陣,並且 m_{1}+m_{2}=mn_{1}+n_{2}=n ,這被稱為 mathbf{A}分割(partition)。新得到的矩陣表示被稱為分塊矩陣。

很久沒有更新了,升大四考試和研究的課題都比較忙,先行更新一波。下次會進一步介紹矩陣的一些概念和性質,並且著重介紹矩陣微分。這些都講完後我們再回頭來看高斯分布的相關內容。

其它參考內容:

1. 從高斯(正態)分布的導出講起——為什麼高斯分布概率密度函數長成這個樣子?

2. Abraham de Moivre

3. Probability - Wikipedia

4. Christiaan Huygens

5. Feller, William. An Introduction to Probability Theory and its Applications, Volume 1, 3rd edition, 1968.

6. History of Normal Distribution

7. 正態分布的前世今生(上) | 統計之都

8. Topics in Probability Theory and Stochastic Processes

9. Grimmett, G. and Stirzaker, D. Probability and Random Process, 3rd edition, 2001.

10. Barnes, R. , Matrix Differentiation

11. Strang, G. Introduction to Linear Algebra,4th edition, 2009.


推薦閱讀:

PRML第一章公式1.68如何推導?
現在圖像處理和模式識別前景如何?
拓撲學在機器學習里有哪些應用呢?
自學模式識別應該看些什麼書?
任天堂的商業模式是什麼?

TAG:模式识别 | 机器学习 | PRML |