特征值和特征向量
\(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}$$