zoukankan      html  css  js  c++  java
  • 主成分分析(PCA)核心思想

    参考链接:http://pinkyjie.com/2011/02/24/covariance-pca/

    PCA的本质其实就是对角化协方差矩阵。

    PCA就是将高维的数据通过线性变换投影到低维空间上去,但这个投影可不是随便投投,要遵循一个指导思想,那就是:找出最能够代表原始数据的投影方法

    “最能代表原始数据”希望降维后的数据不能失真,也就是说,被PCA降掉的那些维度只能是那些噪声或是冗余的数据。

    1:冗余,就是去除线性相关的向量(纬度),因为可以被其他向量代表,这部分信息量是多余的。

    2:噪声,就是去除较小特征值对应的特征向量,

    因为特征值的大小就反映了变换后在特征向量方向上变换的幅度,幅度越大,说明这个方向上的元素差异也越大,换句话说这个方向上的元素更分散。

    3:实际上又回到了对角化,寻找极大线性无关组,然后保留较大的特征值,去除较小特征值,组成一个投影矩阵,

      对原始样本矩阵进行投影,得到降维后的新样本矩阵。

      协方差矩阵,能同时表现不同维度间的相关性以及各个维度上的方差

      协方差矩阵度量的是维度与维度之间的关系,而非样本与样本之间。

    4:协方差矩阵的主对角线上的元素是各个维度上的方差(即能量),其他元素是两两维度间的协方差(即相关性)。我们要的东西协方差矩阵都有了,先来看“降噪”,让保留下的不同维度间的相关性尽可能小,也就是说让协方差矩阵中非对角线元素都基本为零。达到这个目的的方式自然不用说,线代中讲的很明确——矩阵对角化。而对角化后得到的矩阵,其对角线上是协方差矩阵的特征值,它还有两个身份:首先,它还是各个维度上的新方差;其次,它是各个维度本身应该拥有的能量(能量的概念伴随特征值而来)。这也就是我们为何在前面称“方差”为“能量”的原因。通过对角化后,剩余维度间的相关性已经减到最弱,已经不会再受“噪声”的影响了,故此时拥有的能量应该比先前大了。看完了“降噪”,我们的“去冗余”还没完呢。对角化后的协方差矩阵,对角线上较小的新方差对应的就是那些该去掉的维度。所以我们只取那些含有较大能量(特征值)的维度,其余的就舍掉即可。

    除了PCA,SVD用的比较多,

    矩阵奇异值分解(SVD)及其应用

     https://www.cnblogs.com/LeftNotEasy/archive/2011/01/19/svd-and-applications.html

  • 相关阅读:
    验证或是提示字段请求值
    正则表达式模式
    Linux下squid代理缓存服务环境部署
    memcached缓存知识简单梳理
    MySQL 读写分离方案-Amoeba环境部署记录
    linux系统终端命令提示符设置(PS1)记录
    Gitlab快速部署及日常维护(社区版RPM包方式安装)
    Linux下检测IP地址冲突及解决方法
    Linux如何挂载Windows下的共享文件
    定时备份Windows文件到Linux服务器上(Rsync)
  • 原文地址:https://www.cnblogs.com/marszhw/p/5974434.html
Copyright © 2011-2022 走看看