1. 程式人生 > >資料學習(10)·最大期望演算法·因子分析模型(下)

資料學習(10)·最大期望演算法·因子分析模型(下)

作者課堂筆記摘錄,有問題請聯絡 [email protected]

1 因子分析(Factor Analysis)

內容參考 http://blog.csdn.net/stdcoutzyx/article/details/37559995
高斯混合模型,當訓練資料樣本數目小於樣本維度的時候,因為協方差矩陣的非奇異性,導致不能得到概率密度函式問題,對於其他模型來說,樣本數小於樣本維度,也容易引發過擬合的問題。
解決辦法:加強模型假設,比如對協方差矩陣的限制。第二個就是降低模型的複雜度,提出一個更少引數模型,如因子分析。
限制協方差矩陣的方法:比如假設協方差矩陣為對角矩陣,更強的假設是協方差矩陣為對角且對角線上的值都相等。當需要估計完整協方差矩陣時,樣本數目必須大於樣本維度,但是當有對角假設時,樣本數目大於1就可以估算出限制的協方差矩陣。

高斯分佈矩陣表示:

設有三個變數 x 1 R r , x

2 R s , x R r
+ s
x_1\in R^r,x_2\in R^s,x\in R^{r+s} .
x = [ x 1 x 2 ] x=\begin{bmatrix}x_1\\x_2\end{bmatrix}
假設 x N ( μ , Σ ) x\sim \N(\mu,\Sigma) ,所以:
μ = [ μ 1 μ 2 ] , Σ = [ Σ 11 Σ 12 Σ 21 Σ 22 ] \mu=\begin{bmatrix}\mu_1\\\mu_2\end{bmatrix},\quad \Sigma=\begin{bmatrix}\Sigma_{11}&\Sigma_{12}\\\Sigma_{21}&\Sigma_{22}\end{bmatrix}
其中 x 1 x_1 的邊際分佈可以得到:
E [ x 1 ] = μ 1 , C o v ( x 1 ) = E [ ( x 1 μ 1 ) ( x 1 μ 1 ) T ] = Σ 11 E[x_1]=\mu_1,\quad Cov(x_1)=E[(x_1-\mu_1)(x_1-\mu_1)^T]=\Sigma_{11}
所以對x我們可以得到:
C o v ( x ) = Σ = [ Σ 11 Σ 12 Σ 21 Σ 22 ] = E [ ( x μ ) ( x μ ) T ] Cov(x)=\Sigma=\begin{bmatrix}\Sigma_{11}&\Sigma_{12}\\\Sigma_{21}&\Sigma_{22}\end{bmatrix}=E[(x-\mu)(x-\mu)^T]
. . . = E [ [ x 1 μ 1 x 2 μ 2 ] [ x 1 μ 1 x 2 μ 2 ] T ] = E [ ( x 1 μ 1 ) ( x 1 μ 1 ) T ( x 1 μ 1 ) ( x 2 μ 2 ) T ( x 2 μ 2 ) ( x 1 μ 1 ) T ( x 2 μ 2 ) ( x 2 μ 2 ) T ] ...=E[\begin{bmatrix}x_1-\mu_1\\x_2-\mu_2\end{bmatrix}\begin{bmatrix}x_1-\mu_1\\x_2-\mu_2\end{bmatrix}^T]=E\begin{bmatrix}(x_1-\mu_1)(x_1-\mu_1)^T&(x_1-\mu_1)(x_2-\mu_2)^T\\(x_2-\mu_2)(x_1-\mu_1)^T&(x_2-\mu_2)(x_2-\mu_2)^T\end{bmatrix}