標籤:

EdX-Columbia機器學習課第1講筆記:概論與最大似然

概率模型是概率分布p(x|	heta)的集合。我們並不知道具體參數	heta是什麼,需要進行推測。例如對於給定的數據x,我們想建立一個高斯分布模型p(x|	heta), 	heta = {mu, Sigma}。注意這裡隱含著一個重要的假設,即所有數據都是獨立同分布的(iid),即

x_i mathop{sim}^{iid} p(x|	heta), i = 1, ldots, n

所有這些數據x的聯合概率分布可以寫為

p(x_1,ldots,x_n|	heta) = prod_{i=1}^n p(x_i|	heta)

求解的過程是要設計一個目標函數。這個函數含有已知的數據和未知的變數,它會隱含地告訴我們什麼樣的參數是好的參數。常見的求解概率模型的方法就是最大似然(即尋找可以將似然函數最大化的未知數),即對找出能使p最大的	heta 。形式化地,最優解hat{	heta}_{
m ML}

hat{	heta}_{
m ML} = mathop{
m arg}max_	heta p(x_1, ldots, x_n|	heta)

這個	heta 是下式的解析解


abla_	heta prod_{i=1}^n p(x_i|	heta) = 0

即該	heta 使得聯合概率分布的梯度為0

由於多項式乘法求導起來比較麻煩,可以使用「log trick」做一個轉化。其原理在於,使得f(x)取得最大值的hat{x}也能使log(f(x))取得最大值。因此

hat{	heta}_{
m ML} = mathop{
m arg}max_	heta prod_{i=1}^n p(x_i|	heta) = mathop{
m arg}max_	heta lnleft(prod_{i=1}^n p(x_i|	heta)
ight) = mathop{
m arg}max_	heta sum_{i=1}^n ln p(x_i|	heta)

即要求解下面的方程:


abla_	heta sum_{i=1}^n ln p(x_i|	heta) = sum_{i=1}^n 
abla_	heta ln p(x_i | 	heta) = 0

求解方式有兩種

  • 解析形式:通過一系列等式推導

  • 數值形式:迭代求解,等待收斂。如果收斂到了一個局部最優解,則只能看作是真正解的近似值

將最大似然用在求解多變數高斯分布上,有

1. 求解mu

egin{aligned}0 &= 
abla_mu sum_{i=1}^n ln frac{1}{sqrt{(2pi)^d|Sigma|}}expleft(-frac{1}{2}(x_i - mu)^TSigma^{-1}(x_i - mu)
ight) \&= 
abla_mu sum_{i=1}^n -ln sqrt{(2pi)^d|Sigma|} + ln expleft(-frac{1}{2}(x_i - mu)^TSigma^{-1}(x_i - mu)
ight) \&= 
abla_mu sum_{i=1}^n -frac{1}{2} ln(2pi)^d |Sigma| - frac{1}{2}(x_i - mu)^T Sigma^{-1} (x_i - mu)end{aligned}

第一項不帶mu ,對mu 求導為0,所以只需要考慮第二項,即

egin{aligned}0 &= frac{1}{2} sum_{i=1}^n 
abla_mu left((x_i - mu)^T Sigma^{-1}(x_i - mu)
ight) \&= frac{1}{2} sum_{i=1}^n 
abla_mu left(x_i^TSigma^{-1}x_i - x_i^TSigma^{-1}mu -mu^TSigma^{-1}x_i + mu^TSigma^{-1}mu 
ight)end{aligned}

根據以下兩條列向量求導法則

egin{aligned}frac{partial {mathbf a}^T{mathbf x}}{partial {mathbf x}} &= frac{partial {mathbf x}^T{mathbf a}}{partial {mathbf x}} = {mathbf a} \frac{partial {mathbf x}^T{mathbf A}{mathbf x}}{partial{mathbf x}} &= 2{mathbf A}{mathbf x}  ({mathbf A}{
m is not a function on }{mathbf x}{
m and is symmetric})end{aligned}

上式可化簡為

0 = frac{1}{2}sum_{i=1}^n -2Sigma^{-1}x_i + 2Sigma^{-1}mu

由於Sigma 是正定矩陣,因此

sum_{i=1}^n (x_i - mu) = 0 Rightarrow hat{mu}_{
m ML} = frac{1}{n}sum_{i=1}^n x_i

2. 求解Sigma

egin{aligned}0 &= 
abla_Sigma sum_{i=1}^n - frac{1}{2} ln(2pi)^d |Sigma| - frac{1}{2}(x_i - mu)^TSigma^{-1}(x_i - mu) \&= -frac{n}{2}
abla_Sigma ln|Sigma| - frac{1}{2}
abla_Sigma {
m trace}left(Sigma^{-1}sum_{i=1}^n (x_i - mu)(x_i - mu)^T
ight) \&= -frac{n}{2}Sigma^{-1} + frac{1}{2}Sigma^{-2}sum_{i=1}^n (x_i - mu)(x_i - mu)^Tend{aligned}

代入mu = hat{mu}_{
m ML},可得

hat{Sigma}_{
m ML} = frac{1}{n}sum_{i=1}^n (x_i - hat{mu}_{
m ML})(x_i - hat{mu}_{
m ML})^T
推薦閱讀:

機器學習數學:最小二乘法
CS231N 課程筆記合集
logistic regression 邏輯回歸
機器學習中的Optimal Transport及相關問題:(二)計算方法
使用 Fisher Vector 得到文本向量

TAG:機器學習 |