主成分分析(PCA)

1. PCA:principal Component Analysis

  • 用途:降维中最常用的一种手段
  • 目标:提取最有价值的信息(基于方差)
    • 方差最大化,使得所有的样本点尽可能的分开。
  • 问题:降维后的数据的意义?
    • 原来的数据都是有实际意义的,降维之后表达的什么意思就不知道了。但是我们最终是要拿一个结果,所以中间的过程也不是很重要。

  • 向量的表示及基的变换

    • 内积:用坐标表示向量
      内积公式
      • 解释:设B向量的模长为1,则A与B的内积值等于A像B所在直线投影的矢量长度。
        image.png
    • 向量可以表示为(3,2)实际上表示线性组合:x(1,0)'+y(0,1)'。(.)'表示转置。
    • 基:(1,0)和(0,1)叫做二维空间的一组基。
      • 基是正交的(内积为0,互相垂直),最好是单位向量
      • 要求:线性无关。
    • 基变换:
      • 数据与一个基做内积运算,结果作为第一个新的坐标分量,然后与第二个基做内积运算,结果作为第二个新坐标的分量。
        image.png
      • 两个矩阵相乘的意义是将右边矩阵中的每一列列向量变换到左边矩阵中每一行行向量为基所表示的空间中去。
        image.png
    • 如何找到最合适的基呢?
    • 协方差矩阵
      • 方向:如何选择这个方向(基)才能尽量保留最多的原始信息呢?一种直观的看法是:希望投影后的投影值尽可能分散
      • 方差:公式
        方差
      • 寻找一个一维基,使得所有数据变换为这个基上的坐标表示后,方差值最大。
      • 协方差:表示两个向量之间的关系
        • 公式为:
          image.png
        • 数据已经做了均值为0的中心化,因此,协方差的公式可以写成:
          image.png
        • 如果单纯只选择方差最大的方向,后续的方向应该会和方差最大的方向接近重合(线性相关)。线性相关不利于我们的建模。
        • 解决方案:为了让两个字段尽可能表示更多的原始信息,我们是不希望它们之间存在(线性)相关性的。
        • 协方差:可以用两个字段的协方差表示其相关性
        • 当协方差为0时,表示两个字段完全独立。为了让协方差为0.选择第二个基时能与第一个基正交的方向上选择。因此最终选择的两个方向一定是正交的。
    • 优化目标:
      • 将一组N维向量降为K维,(0<K<N),目标是选择K个单位正交基,使得原始数据变换到这组基上后,各字段两两间的协方差为0,字段的方差都尽可能大。
      • 协方差矩阵:矩阵对角线上的两个元素分别是两个字段的方差,而其他元素是a和b的协方差。
        image.png
      • 协方差矩阵对角化:除对角线外的其他元素化为0,并且在对角线上将元素按大小从上到下排列。
      • 实对称矩阵:一个n行n列的实对称矩阵一定可以找到n个单位正交特征向量。
        实对称矩阵一定可进行对角化
      • 根据特征值的从大到小,将特征向量从上到下排列,再用前K行组成的矩阵乘以原始数据矩阵X,就得到我们需要的降维后的数据矩阵Y。
  • PCA实例

    • 数据:
      数据
    • 协方差矩阵:
      协方差矩阵
    • 特征值:\lambda1=2,\lambda2=2/5
    • 特征向量:
      特征向量
      特征向量
    • 对角化:
      对角化
    • 降维:
      降维

2. 线性代数知识:

  • 特征值与特征向量:
    1. 定义
      设A为n阶矩阵,如果存在一个数 \lambda 及非零的n维列向量\alpha使得A\alpha=\lambda\alpha成立,则称\lambda是矩阵A的一个特征值,称非零向量\alpha是矩阵A属于\lambda的一个特征向量。
    2. 求特征值和特征向量


      IMG_20181201_200730.jpg
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 PCA是一种无参数的数据降维方法,在机器学习中很常用,这篇文章主要从三个角度来说明PCA是怎么降维的分别是方...
    WZFish0408阅读 52,027评论 6 36
  • 主成分分析(PCA)是现代数据分析的主要方法之一,它被广泛使用但其内在机制仍不为太多人理解。这篇文章的主旨就是厘清...
    uglybachelor阅读 3,110评论 0 11
  • 一、前言 在许多领域的研究与应用中,往往需要对反映事物的多个变量进行大量的观测,收集大量数据以便进行分析寻找规律。...
    owolf阅读 2,740评论 0 3
  • 一、理论篇: 为书写方便,加粗的字母表示向量。 如果想像力够好,完全可以想象出两个矩阵相乘的几何意义:将右边矩阵中...
    付剑飞阅读 1,568评论 0 2
  • 经过两天的挣扎,在浅薄的线性代数知识基础上,尝试着理解了一下主成分分析法。 一 算法流程 求样本x(i)的n'的主...
    A黄橙橙阅读 24,226评论 1 4