数据降维
降维的目的:
- 使得数据更容易使用
- 确保变量相互独立
- 降低很多算法的计算开销
- 去除噪音
- 使得结果易懂,已解释
常见降维模型
- 主成分分析(Principal Components Analysis)
- 因子分析(Factor Analysis)
- 独立成分分析(Independ Component Analysis, ICA)
主成分分析
思想
- 去除平均值
- 计算协方差矩阵
- 计算协方差矩阵的特征值和特征向量
- 将特征值排序
- 保留前N个最大的特征值对应的特征向量
- 将数据转换到上面得到的N个特征向量构建的新空间中(实现了特征压缩)
原理
- 找出第一个主成分的方向,也就是数据方差最大的方向。
- 找出第二个主成分的方向,也就是数据方差次大的方向,并且该方向与第一个主成分方向正交(orthogonal 如果是二维空间就叫垂直)。
- 通过这种方式计算出所有的主成分方向。
- 通过数据集的协方差矩阵及其特征值分析,我们就可以得到这些主成分的值。
- 一旦得到了协方差矩阵的特征值和特征向量,我们就可以保留最大的 N 个特征。这些特征向量也给出了 N 个最重要特征的真实结构,我们就可以通过将数据乘上这 N 个特征向量 从而将它转换到新的空间上。
算法
- 对样本集进行标准化;
- 计算样本的协方差矩阵 $XX^{T}$;
- 对协方差矩阵进行特征分解,得到 $n$ 个特征向量和其对应的特征值;
- 取出最大的 $k$ 个特征值对应的特征向量 $(omega_1, omega_2, ldots, omega_k)$,将所有的特征向量标准化后,组成特征向量矩阵 $W$;
- 对样本集中每一个样本 $x^{(i)}$,转化为新的样本 $z^{(i)}=W^{T}x^{(i)}$
- 得到输出的样本数据 $D_{pca} = (z^{(1)}, z^{(2)}, ldots, z^{(m)})$
优缺点
算法实现
05-11 14:38