自然語言處理 - 潛在語義分析LSA背后的奇異值分解SVD


特征值和特征向量

\(A \mathbf{x} = \lambda \mathbf{x}\),這里,\(A \in \mathcal{R}^{n \times n}\)\(\mathbf{x} \in \mathcal{R}^{n \times 1}\)\(\lambda \in \mathcal{R}\)\(\lambda\) 是特征值,\(\mathbf{x}\) 是對應的特征向量。因此特征值分解:\(AW=W \Sigma\)\(A=W \Sigma W^{-1}\)。最后,將 \(W\) 中的 n 個向量標准化,可以得到$$A_{n \times n}=W_{n \times n} \Sigma_{n \times n} W^{T}_{n \times n}$$這里要求 \(A\) 必須為方陣。

SVD奇異值分解

\(A_{m \times n}=U_{m \times m} \Sigma_{m \times n} V^{T}_{n \times n}\)

計算左奇異矩陣U:
\(AA^T \in \mathcal{R}^{m \times m}\)\((AA^T) \mathbf{u}_i = \lambda_i \mathbf{u}_i\)。具體地,\(AA^{T} = U \Sigma V^{T} V \Sigma^T U^T = U \Sigma \Sigma^T U^T\)

計算右奇異矩陣V:
\(A^T A \in \mathcal{R}^{n \times n}\)\((A^T A) \mathbf{v}_i = \lambda_i \mathbf{v}_i\)。具體地,\(A^{T} A = V \Sigma^T U^T U \Sigma V^{T} = V \Sigma^T \Sigma V^T\)

注:可以看出特征值等於奇異值的平方。

計算奇異值:
\(A=U \Sigma V^{T}\) => \(AV = U \Sigma\) => \(A \mathbf{v}_i = \sigma_i \mathbf{u}_i\) => 求出 \(\sigma_i\)

潛在的k個主題

對於奇異值,在奇異值矩陣中按從大到小排序,而且奇異值減少地很快。因此可以用最少的k個奇異值和對應的左右奇異向量來近似A。$$A_{m \times n} = U_{m \times m} \Sigma_{m \times n} V^{T}{n \times n} \approx U{m \times k} \Sigma_{k \times k} V^{T}_{k \times n}$$ \(U_{il}\) 是第i個文本與第l個主題的相關度,\(V_{jm}\) 是第j個單詞和第m個主題的相關度,\(\Sigma_{lm}\) 是第l個主題和第m個主題的相關度。

使用

對於一個新的文本query:\(\mathbf{q} \in \mathcal{R}^{n \times 1}\),$$\mathbf{newq}{1 \times k} = \mathbf{q}{1 \times n} V_{n \times k} \Sigma^{-1}_{k \times k}$$


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM