參數估計
問題背景:
P ( ω i ∣ x ) = p ( x ∣ ω i ) P ( ω i ) p ( x ) p ( x ) = ∑ j = 1 c p ( x ∣ ω j ) P ( ω j ) \begin{aligned} & P\left(\omega_i \mid \mathbf{x}\right)=\frac{p\left(\mathbf{x} \mid \omega_i\right) P\left(\omega_i\right)}{p(\mathbf{x})} \\ & p(\mathbf{x})=\sum_{j=1}^c p\left(\mathbf{x} \mid \omega_j\right) P\left(\omega_j\right) \end{aligned} ?P(ωi?∣x)=p(x)p(x∣ωi?)P(ωi?)?p(x)=j=1∑c?p(x∣ωj?)P(ωj?)?
- 說明:要計算后驗概率 P ( ω i ∣ x ) P\left(\omega_i \mid \mathbf{x}\right) P(ωi?∣x) ,需要知道:
- p ( x ∣ ω i ) p\left(\mathbf{x} \mid \omega_i\right) p(x∣ωi?) :類條件概率密度函數(似然)。
- P ( ω i ) P\left(\omega_i\right) P(ωi?) :類別 ω i \omega_i ωi? 的先驗概率。
**如何得到這些值?需要從數據中估計。**對于先驗概率:
-
數據集:
D = { D 1 , D 2 , … , D c } D=\left\{D_1, D_2, \ldots, D_c\right\} D={D1?,D2?,…,Dc?}
D j 包含類別? ω j 的樣本。? D_j \text { 包含類別 } \omega_j \text { 的樣本。 } Dj??包含類別?ωj??的樣本。?
先驗概率:
P ( ω i ) = ∣ D i ∣ ∑ i = 1 c ∣ D i ∣ P\left(\omega_i\right)=\frac{\left|D_i\right|}{\sum_{i=1}^c\left|D_i\right|} P(ωi?)=∑i=1c?∣Di?∣∣Di?∣?
接下來的問題是如何估計類條件概率密度。本章將討論的情況是, p ( x ∣ ω j ) p\left(\mathbf{x} \mid \omega_j\right) p(x∣ωj?) 具有參數化形式,例如高斯分布:
p ( x ∣ ω j ) ~ N ( μ j , Σ j ) θ j = ( θ 1 , θ 2 , … , θ m ) T \begin{gathered} p\left(\mathbf{x} \mid \omega_j\right) \sim \mathcal{N}\left(\mu_j, \Sigma_j\right) \\ \theta_j=\left(\theta_1, \theta_2, \ldots, \theta_m\right)^T \end{gathered} p(x∣ωj?)~N(μj?,Σj?)θj?=(θ1?,θ2?,…,θm?)T?
- 如果 x ∈ R d \mathbf{x} \in \mathbb{R}^d x∈Rd ,則 θ j \theta_j θj? 包含 d + d ( d + 1 ) 2 d+\frac{d(d+1)}{2} d+2d(d+1)? 個自由參數(均值向量和協方差矩陣的元素)。
- μ j \mu_j μj? :均值向量,維度為 d 。? d_{\text {。 }} d。??
- Σ j \Sigma_j Σj? :協方差矩陣,對稱矩陣,包含 d ( d + 1 ) 2 \frac{d(d+1)}{2} 2d(d+1)? 個唯一元素(因為 Σ i j = Σ j i \Sigma_{i j}=\Sigma_{j i} Σij?=Σji? )。
- 總參數數量: d d d(均值) + d ( d + 1 ) 2 +\frac{d(d+1)}{2} +2d(d+1)?(協方差) = d + d ( d + 1 ) 2 =d+\frac{d(d+1)}{2} =d+2d(d+1)? 。
- θ j \theta_j θj? :包含所有待估計參數的向量,例如均值和協方差的元素。
數據集與符號:
D = { D 1 , D 2 , … , D c } p ( x ∣ ω j ) = p ( x ∣ θ j ) \begin{aligned} & \mathcal{D}=\left\{\mathcal{D}_1, \mathcal{D}_2, \ldots, \mathcal{D}_c\right\} \\ & p\left(\mathbf{x} \mid \omega_j\right)=p\left(\mathbf{x} \mid \theta_j\right) \end{aligned} ?D={D1?,D2?,…,Dc?}p(x∣ωj?)=p(x∣θj?)?
類條件密度 p ( x ∣ ω j ) p\left(\mathbf{x} \mid \omega_j\right) p(x∣ωj?) 被表示為參數 θ j \theta_j θj? 的函數,強化了參數化方法。
目標:使用 D j \mathcal{D}_j Dj? 估計未知參數向量:
θ j = ( θ 1 , θ 2 , … , θ m ) T \theta_j=\left(\theta_1, \theta_2, \ldots, \theta_m\right)^T θj?=(θ1?,θ2?,…,θm?)T
-
兩種估計方法:
-
最大似然估計(MLE):
-
把參數 θ \theta θ 看作是固定但未知的值。我們觀察到了數據,就用它來找出"最有可能"生成這些數據的參數值。即“Estimate parameter values by maximizing the likelihood (probability) of observing the actual examples.”
"先有參數,再有數據;現在有了數據,反推參數。" -
給定訓練數據 D = { x 1 , … , x n } \mathcal{D}=\left\{x_1, \ldots, x_n\right\} D={x1?,…,xn?} ,我們假設它們是從分布 p ( x ∣ θ ) p(x \mid \theta) p(x∣θ) 中獨立采樣出來的。最大似然的目標是:
θ ^ M L E = arg ? max ? θ p ( x 1 , … , x n ∣ θ ) = arg ? max ? θ ∏ i = 1 n p ( x i ∣ θ ) \hat{\theta}_{\mathrm{MLE}}=\arg \max _\theta p\left(x_1, \ldots, x_n \mid \theta\right)=\arg \max _\theta \prod_{i=1}^n p\left(x_i \mid \theta\right) θ^MLE?=argθmax?p(x1?,…,xn?∣θ)=argθmax?i=1∏n?p(xi?∣θ)
為了簡化計算,我們通常取對數(log-likelihood):
θ ^ M L E = arg ? max ? θ ∑ i = 1 n log ? p ( x i ∣ θ ) \hat{\theta}_{\mathrm{MLE}}=\arg \max _\theta \sum_{i=1}^n \log p\left(x_i \mid \theta\right) θ^MLE?=argθmax?i=1∑n?logp(xi?∣θ)
-
-
貝葉斯估計:
-
把參數 θ \theta θ 看作隨機變量,它本身有個先驗分布 p ( θ ) p(\theta) p(θ) 。當我們觀察到數據 D \mathcal{D} D 后,用貝葉斯公式將先驗更新為后驗 p ( θ ∣ D ) p(\theta \mid \mathcal{D}) p(θ∣D) 。
"參數不是一個確定值,而是一個不確定的分布。看到數據后,我只是更新了我對它的信念。" -
根據貝葉斯公式:
p ( θ ∣ D ) = p ( D ∣ θ ) ? p ( θ ) p ( D ) p(\theta \mid \mathcal{D})=\frac{p(\mathcal{D} \mid \theta) \cdot p(\theta)}{p(\mathcal{D})} p(θ∣D)=p(D)p(D∣θ)?p(θ)?
其中:- p ( D ∣ θ ) p(\mathcal{D} \mid \theta) p(D∣θ) :似然(和MLE一樣);
- p ( θ ) p(\theta) p(θ) :先驗;
- p ( D ) p(\mathcal{D}) p(D) :對所有參數的積分(保證后驗是個合法分布);
有了后驗分布 p ( θ ∣ D ) p(\theta \mid \mathcal{D}) p(θ∣D) 后,可以:
- 求它的最大后驗估計(MAP):
θ ^ M A P = arg ? max ? θ p ( θ ∣ D ) \hat{\theta}_{\mathrm{MAP}}=\arg \max _\theta p(\theta \mid \mathcal{D}) θ^MAP?=argθmax?p(θ∣D)
- 或者使用后驗分布的期望作為估計。
-
-
最大似然估計
以多元高斯分布為例講解MLE的應用。
假設我們有一個觀測數據集:
D = { x 1 , x 2 , … , x n } \mathcal{D}=\left\{\mathbf{x}_1, \mathbf{x}_2, \ldots, \mathbf{x}_n\right\} D={x1?,x2?,…,xn?}
這些樣本被認為是從某個參數為 θ \theta θ 的概率分布中獨立同分布采樣得到的。
因為樣本獨立,整個數據集出現的聯合概率是各樣本概率的乘積:
p ( D ∣ θ ) = p ( x 1 ∣ θ ) p ( x 2 ∣ θ ) … p ( x n ∣ θ ) ∏ k = 1 n p ( x k ∣ θ ) p(\mathcal{D} \mid \theta)=p\left(\mathbf{x}_1 \mid \theta\right) p\left(\mathbf{x}_2 \mid \theta\right) \ldots p\left(\mathbf{x}_n \mid \theta\right)\prod_{k=1}^n p\left(\mathbf{x}_k \mid \theta\right) p(D∣θ)=p(x1?∣θ)p(x2?∣θ)…p(xn?∣θ)k=1∏n?p(xk?∣θ)
我們把這個函數看作 θ \theta θ 的函數,叫做似然函數,記作:
L ( θ ∣ D ) = ∏ k = 1 n p ( x k ∣ θ ) L(\theta \mid \mathcal{D})=\prod_{k=1}^n p\left(\mathbf{x}_k \mid \theta\right) L(θ∣D)=k=1∏n?p(xk?∣θ)
最大似然估計就是選擇一個 θ ^ \hat{\theta} θ^ 使得這個似然函數最大化:
θ ^ = arg ? max ? θ L ( θ ∣ D ) \hat{\theta}=\arg \max _\theta L(\theta \mid \mathcal{D}) θ^=argθmax?L(θ∣D)
也就是說,找到讓觀測數據“最可能”出現的參數值。我們對其取自然對數,得到對數似然函數:
l ( θ ∣ D ) = ln ? L ( θ ∣ D ) = ∑ k = 1 n ln ? p ( x k ∣ θ ) l(\theta \mid \mathcal{D})=\ln L(\theta \mid \mathcal{D})=\sum_{k=1}^n \ln p\left(\mathbf{x}_k \mid \theta\right) l(θ∣D)=lnL(θ∣D)=k=1∑n?lnp(xk?∣θ)
MLE目標轉化為:
θ ^ = arg ? max ? θ l ( θ ∣ D ) \hat{\theta}=\arg \max _\theta l(\theta \mid \mathcal{D}) θ^=argθmax?l(θ∣D)
-
情況 I:協方差 Σ \Sigma Σ 已知,僅估計均值 μ \mu μ
高斯概率密度函數(PDF):
對于一個 d d d 維特征向量 x \mathbf{x} x:
p ( x ∣ μ , Σ ) = 1 ( 2 π ) d / 2 ∣ Σ ∣ 1 / 2 exp ? [ ? 1 2 ( x ? μ ) T Σ ? 1 ( x ? μ ) ] p(\mathbf{x} \mid \mu, \Sigma) = \frac{1}{(2\pi)^{d/2} |\Sigma|^{1/2}} \exp \left[ -\frac{1}{2} (\mathbf{x} - \mu)^T \Sigma^{-1} (\mathbf{x} - \mu) \right] p(x∣μ,Σ)=(2π)d/2∣Σ∣1/21?exp[?21?(x?μ)TΣ?1(x?μ)]似然函數(所有樣本聯合概率):
L ( μ ∣ D ) = ∏ k = 1 n p ( x k ∣ μ ) L(\mu \mid \mathcal{D}) = \prod_{k=1}^n p(\mathbf{x}_k \mid \mu) L(μ∣D)=k=1∏n?p(xk?∣μ)代入高斯密度函數后,乘積項包含了指數和常數項。
對數似然函數:
取自然對數后得:
l ( μ ∣ D ) = ? ln ? ( 2 π ) n d / 2 ? ln ? ∣ Σ ∣ n / 2 ? 1 2 ∑ k = 1 n ( x k ? μ ) T Σ ? 1 ( x k ? μ ) l(\mu \mid \mathcal{D}) = -\ln (2\pi)^{nd/2} - \ln |\Sigma|^{n/2} - \frac{1}{2} \sum_{k=1}^n (\mathbf{x}_k - \mu)^T \Sigma^{-1} (\mathbf{x}_k - \mu) l(μ∣D)=?ln(2π)nd/2?ln∣Σ∣n/2?21?k=1∑n?(xk??μ)TΣ?1(xk??μ)
前兩個是常數項,不影響優化,目標函數實質上是最小化平方誤差項。MLE求解過程(以 μ \mu μ 為例)
我們對對數似然函數對 μ \mu μ 求導,并令其為零:
? μ l ( μ ∣ D ) = ∑ k = 1 n Σ ? 1 ( x k ? μ ) = 0 \nabla_\mu l(\mu \mid \mathcal{D}) = \sum_{k=1}^n \Sigma^{-1} (\mathbf{x}_k - \mu) = 0 ?μ?l(μ∣D)=k=1∑n?Σ?1(xk??μ)=0
移項得到:
∑ k = 1 n ( x k ? μ ) = 0 ? μ = 1 n ∑ k = 1 n x k \sum_{k=1}^n (\mathbf{x}_k - \mu) = 0 \quad \Rightarrow \quad \mu = \frac{1}{n} \sum_{k=1}^n \mathbf{x}_k k=1∑n?(xk??μ)=0?μ=n1?k=1∑n?xk?結論:
最大似然估計下,未知均值 μ \mu μ 的估計值就是樣本均值(Sample Mean)。
-
情況 II:均值和方差都未知
我們現在假設數據是從一個一維高斯分布(正態分布)中采樣的:
p ( x ∣ μ , σ 2 ) = 1 2 π σ 2 exp ? ( ? ( x ? μ ) 2 2 σ 2 ) p(x \mid \mu, \sigma^2) = \frac{1}{\sqrt{2\pi \sigma^2}} \exp\left( -\frac{(x - \mu)^2}{2\sigma^2} \right) p(x∣μ,σ2)=2πσ2?1?exp(?2σ2(x?μ)2?)
但此時我們不知道這個分布的均值 μ 和方差 σ2,我們要用樣本數據 D = { x 1 , x 2 , … , x n } \mathcal{D} = \{x_1, x_2, \dots, x_n\} D={x1?,x2?,…,xn?} 來估計這兩個參數。我們的方法是:對參數 θ = ( μ , σ 2 ) T \theta = (\mu, \sigma^2)^T θ=(μ,σ2)T 使用極大似然估計(MLE)。
我們有 n 個獨立同分布的樣本 x 1 , x 2 , … , x n x_1, x_2, \dots, x_n x1?,x2?,…,xn?,所以似然函數是:
L ( θ ∣ D ) = ∏ k = 1 n p ( x k ∣ θ ) L(\theta \mid \mathcal{D}) = \prod_{k=1}^n p(x_k \mid \theta) L(θ∣D)=k=1∏n?p(xk?∣θ)
代入高斯分布的公式,得到:
L ( θ ∣ D ) = 1 ( 2 π ) n / 2 σ n exp ? ( ? 1 2 σ 2 ∑ k = 1 n ( x k ? μ ) 2 ) L(\theta \mid \mathcal{D}) = \frac{1}{(2\pi)^{n/2} \sigma^n} \exp\left( -\frac{1}{2\sigma^2} \sum_{k=1}^n (x_k - \mu)^2 \right) L(θ∣D)=(2π)n/2σn1?exp(?2σ21?k=1∑n?(xk??μ)2)
對數似然函數是:
l ( θ ∣ D ) = ? n 2 ln ? ( 2 π ) ? n 2 ln ? ( σ 2 ) ? 1 2 σ 2 ∑ k = 1 n ( x k ? μ ) 2 l(\theta \mid \mathcal{D}) = -\frac{n}{2} \ln(2\pi) - \frac{n}{2} \ln(\sigma^2) - \frac{1}{2\sigma^2} \sum_{k=1}^n (x_k - \mu)^2 l(θ∣D)=?2n?ln(2π)?2n?ln(σ2)?2σ21?k=1∑n?(xk??μ)2
這里為了后續方便我們記:- θ 1 = μ \theta_1 = \mu θ1?=μ
- θ 2 = σ 2 \theta_2 = \sigma^2 θ2?=σ2
寫成統一的形式:
l ( θ ) = ? n 2 ln ? ( 2 π ) ? n 2 ln ? ( θ 2 ) ? 1 2 θ 2 ∑ k = 1 n ( x k ? θ 1 ) 2 l(\theta) = -\frac{n}{2} \ln(2\pi) - \frac{n}{2} \ln(\theta_2) - \frac{1}{2\theta_2} \sum_{k=1}^n (x_k - \theta_1)^2 l(θ)=?2n?ln(2π)?2n?ln(θ2?)?2θ2?1?k=1∑n?(xk??θ1?)2
我們對 θ 1 = μ \theta_1 = \mu θ1?=μ 和 θ 2 = σ 2 \theta_2 = \sigma^2 θ2?=σ2 分別求導:對 θ 1 = μ \theta_1 = \mu θ1?=μ 求導:
? l ? θ 1 = 1 θ 2 ∑ k = 1 n ( x k ? θ 1 ) = 1 θ 2 ( ∑ k = 1 n x k ? n θ 1 ) \frac{\partial l}{\partial \theta_1} = \frac{1}{\theta_2} \sum_{k=1}^n (x_k - \theta_1) = \frac{1}{\theta_2} \left( \sum_{k=1}^n x_k - n\theta_1 \right) ?θ1??l?=θ2?1?k=1∑n?(xk??θ1?)=θ2?1?(k=1∑n?xk??nθ1?)令導數為 0:
∑ k = 1 n x k = n θ 1 ? θ 1 = 1 n ∑ k = 1 n x k = μ ^ \sum_{k=1}^n x_k = n\theta_1 \Rightarrow \theta_1 = \frac{1}{n} \sum_{k=1}^n x_k = \hat{\mu} k=1∑n?xk?=nθ1??θ1?=n1?k=1∑n?xk?=μ^?
對 θ 2 = σ 2 \theta_2 = \sigma^2 θ2?=σ2 求導:
? l ? θ 2 = ? n 2 θ 2 + 1 2 θ 2 2 ∑ k = 1 n ( x k ? θ 1 ) 2 \frac{\partial l}{\partial \theta_2} = -\frac{n}{2\theta_2} + \frac{1}{2\theta_2^2} \sum_{k=1}^n (x_k - \theta_1)^2 ?θ2??l?=?2θ2?n?+2θ22?1?k=1∑n?(xk??θ1?)2令導數為 0:
? n 2 θ 2 + 1 2 θ 2 2 ∑ k = 1 n ( x k ? θ 1 ) 2 = 0 -\frac{n}{2\theta_2} + \frac{1}{2\theta_2^2} \sum_{k=1}^n (x_k - \theta_1)^2 = 0 ?2θ2?n?+2θ22?1?k=1∑n?(xk??θ1?)2=0
結論:極大似然估計值-
均值的MLE為樣本均值:
μ ^ = 1 n ∑ k = 1 n x k \hat{\mu} = \frac{1}{n} \sum_{k=1}^n x_k μ^?=n1?k=1∑n?xk? -
方差的MLE為樣本方差(無偏性需除以 n ? 1 n-1 n?1,但MLE 是除以 n):
σ ^ 2 = 1 n ∑ k = 1 n ( x k ? μ ^ ) 2 \hat{\sigma}^2 = \frac{1}{n} \sum_{k=1}^n (x_k - \hat{\mu})^2 σ^2=n1?k=1∑n?(xk??μ^?)2
方差的估計偏差是一個經典的證明。
MLE 對一維正態分布的方差估計為:
σ M L 2 = 1 n ∑ i = 1 n ( x i ? μ M L ) 2 \sigma^2_{ML} = \frac{1}{n} \sum_{i=1}^n (x_i - \mu_{ML})^2 σML2?=n1?i=1∑n?(xi??μML?)2
將平方項展開:
= 1 n ∑ i = 1 n ( x i 2 ? 2 x i μ M L + μ M L 2 ) = 1 n ∑ i = 1 n x i 2 ? 2 μ M L ? 1 n ∑ i = 1 n x i + μ M L 2 = 1 n ∑ i = 1 n x i 2 ? μ M L 2 = \frac{1}{n} \sum_{i=1}^n \left( x_i^2 - 2x_i\mu_{ML} + \mu_{ML}^2 \right) = \frac{1}{n} \sum_{i=1}^n x_i^2 - 2\mu_{ML} \cdot \frac{1}{n} \sum_{i=1}^n x_i + \mu_{ML}^2 = \frac{1}{n} \sum_{i=1}^n x_i^2 - \mu_{ML}^2 =n1?i=1∑n?(xi2??2xi?μML?+μML2?)=n1?i=1∑n?xi2??2μML??n1?i=1∑n?xi?+μML2?=n1?i=1∑n?xi2??μML2?
求期望:
E [ σ M L 2 ] = 1 n ∑ i = 1 n E [ x i 2 ] ? E [ μ M L 2 ] E[\sigma^2_{ML}] = \frac{1}{n} \sum_{i=1}^n E[x_i^2] - E[\mu_{ML}^2] E[σML2?]=n1?i=1∑n?E[xi2?]?E[μML2?]
已知:
E [ x i 2 ] = Var ( x i ) + [ E ( x i ) ] 2 = σ 2 + μ 2 E[x_i^2] = \text{Var}(x_i) + [E(x_i)]^2 = \sigma^2 + \mu^2 E[xi2?]=Var(xi?)+[E(xi?)]2=σ2+μ2
而樣本均值的平方的期望為:
E [ μ M L 2 ] = Var ( μ M L ) + [ E ( μ M L ) ] 2 = σ 2 n + μ 2 E[\mu_{ML}^2] = \text{Var}(\mu_{ML}) + [E(\mu_{ML})]^2 = \frac{\sigma^2}{n} + \mu^2 E[μML2?]=Var(μML?)+[E(μML?)]2=nσ2?+μ2
代入得:
E [ σ M L 2 ] = ( σ 2 + μ 2 ) ? ( σ 2 n + μ 2 ) = σ 2 ? σ 2 n = n ? 1 n σ 2 E[\sigma^2_{ML}] = (\sigma^2 + \mu^2) - \left( \frac{\sigma^2}{n} + \mu^2 \right) = \sigma^2 - \frac{\sigma^2}{n} = \frac{n-1}{n} \sigma^2 E[σML2?]=(σ2+μ2)?(nσ2?+μ2)=σ2?nσ2?=nn?1?σ2
結論: 方差的最大似然估計存在偏差,其期望為 n ? 1 n σ 2 \frac{n-1}{n} \sigma^2 nn?1?σ2,因此也是一個有偏估計。類似前頁的協方差,需要進行修正才能成為無偏估計。