博客 > 人工智能&数据科学 > 通用算法和模型
# 主成分分析(PCA) 通过线性投影,将高维数据映射到低维的空间中,并期望目标维度上的方差较大,且不丢失原始数据的准确性。 # 奇异值分解(SVD) 将一个矩阵(不需要是方阵)分解为三个矩阵的乘积,最终结果如下: $$ A_{[m\times n]} = U_{[m\times m]}\Sigma_{[m\times n]}(V_{[n\times n]})^T $$ $\Sigma$应该是一个行或列满秩矩阵,对角元素代表奇异值。一般实现时,也可使用一个向量,且其中分量是由大到小排序的,每个分量对原矩阵特征信息的影响依次递减。因此可以通过切除掉较靠后的分量再重新计算乘积的方式实现降维。 示例代码: ```python count = 160 dig = np.mat(np.eye(count) * sigma[:count]) redata = U[:, :count] * dig * VT[:count, :] ```