1.为什么要数据降维?

  • 海量数据太大,不得不降维
  • 可以使简单的模型运算的更快,更容易理解,更容易维护
  • 优质的降维数据可以在使用不是最优的模型参数的情况下得到不错的预测结果

2.为什么能数据降维?

海量高维数据与纬度约减
可以假设,数据实际上是存在或者靠近一个低维子空间中,子空间的坐标轴能够有效地表达这个数据。

  • 可以复习下矩阵的秩
    海量高维数据与纬度约减
    第三行可以用第一行减去第二行得到,因此第三行就可以变换为0,秩就为2。

3.SVD(奇异值分解)

海量高维数据与纬度约减
将矩阵A变为三个矩阵相乘,下图表示出来更加形象。
海量高维数据与纬度约减
SVD的性质
海量高维数据与纬度约减
对于一个用户看电影的例子来说:
海量高维数据与纬度约减
U:用户-主题的相似矩阵,
T:电影主题 的相似矩阵,
∑:其对角元素是每一个主题的强度

4.SVD进行降维

SVD怎么进行降维?能够精确到什么程度?
把 ∑ 中最小的奇异值设为0。
海量高维数据与纬度约减海量高维数据与纬度约减
海量高维数据与纬度约减
弗罗宾尼斯范数就是表示的两个矩阵的差值的大小。

会发现SVD和PCA的推导很相似
海量高维数据与纬度约减

5.SVD降维的特点

  • 奇异向量:每一个奇异向量是所有输入矩阵的行向量或列向量的线性组合
  • 奇异向量是稠密的
    海量高维数据与纬度约减

6.CUR分解

海量高维数据与纬度约减
海量高维数据与纬度约减
SVD与CUR对比
海量高维数据与纬度约减

相关文章: