• 更加全面地认识PCA


    此文章已于 16:41:13 2013/4/26 重新发布到 wybang

    更加全面地认识PCA

     

     

    类别    机器学习, 数据挖掘

     

    相信只要与数据打交道的同学对PCA都不陌生,不管是机器学习/数据挖掘的同仁,还是从事图像处理、信号分析的研究者。PCA有着十分广泛的应用,常见的应用有降维(dimensionality reduction)、特征提取(feature extraction)、有损数据压缩(lossy data compression)、去噪(denoising)等。但我们真的认识PCA吗?不少同学学习PCA的时候都是从最大化方差的优化角度来认识她的,她真如某句话说的那样"美女只会美一面"吗?下面我们一起从多个角度重新来审视这个仙女。这里,我们并不先对PCA做一种先验的定义,而是先来看几个问题。通过对这些问题最后形式的统一来解释什么是PCA。

     

    (一)最大化方差(Maximum variance )

    考虑如下一个问题:假设我手边现在有一堆观测数据{Xn}n=1,2,…,N,其中Xn∈RD,但是根据我对数据的观察,发现Xn中有部分维数之间的线性相关性表现十分明显,所以我希望把数据投影到一个更加低维的空间RM下(其中M是给定的),但是希望数据中的信息尽可能地保留。但如何衡量数据中的信息呢?信息量很多时候可以用差异度这个概念去量化,比如熵的定义中也有这样的影子。这里选择方差(variance)来衡量信息量。

    考虑M=1的情况,假设此时的投影向量为u1,均值,那么投影后数据的方差为,现在我们的目的是要最大化Obj目标,求un。需要注意的是,由于u1没有尺度的限制,可能有多个解,为了便于求解,需要添加一个normalization约束。综上,优化问题如下:

    根据拉格朗日乘子法,,对u1求偏导,得。即u1是S的特征向量,不难发现,即最大方差就是S最大特征向量。

    将此结论推广到M>1的情况下,即投影向量为S的前M个最大特征值对应的特征向量,最大方差为这前M个最大特征值之和。

     

    (二)最小化残差(Minimum error)

    还是针对上面的数据,假设在原始空间RD的一组正交基为{ ui}。对于原数据任意Xn的都有可以用其所在空间的正交基线性表示为:,现在我们希望用一个数量比D小的M个线性无关向量来近似{X},希望。最优化目标函数如下:。分别对zni和bi求偏导并令其等于0,得如下,

    根据{ ui}的正交性,不难得出,。将上述等式带入J中,得,优化问题如下:

    同样可以根据拉格朗日乘子法,得到

    从上面两个问题中可以看到,想要经过投影使得在新空间下数据的方差最大和想要通过更"少"的无关向量来近似原数据都和协方差矩阵S的特征向量和特征值有关。现在来解释PCA。Principal component analysis中什么是Principal component?其实就是S中最大特征值对应的特征向量。

  • 相关阅读:
    直线的中点Bresenham算法的实现
    使用git 将自己的本地文件git到github上面的完整过程
    利用Microsoft VC++6.0 的MFC 的绘图工具实现简单图形的绘制
    github常见操作和常见错误及其解决办法
    浅谈软件配置管理工具(github & SVN)
    为Github 托管项目的访问添加SSH keys
    jQuery:用 lightTreeview 实现树形分类菜单的功能 展开收缩分类代码
    程序设计7大面向对象设计原则
    计算机组成原理实验之模拟整机实验考核试题
    计算机组成原理实验之CPU组成与指令周期实验
  • 原文地址:https://www.cnblogs.com/wybang/p/3046408.html
Copyright © 2020-2023  润新知