• 主成分分析笔记


    主成分分析是指在尽量减少失真的前提下,将高维数据压缩成低微的方式。

    减少失真是指最大化压缩后数据的方差。

    P P P矩阵为 n × m n\times m n×m n n n m m m列)的矩阵,表示一共有 m m m组数据,每组数据有 n n n个维度。

    欲将此数据集降为 k k k维,即求 k × m k\times m k×m的矩阵 A A A

    思路是获得一种针对 n n n维的变换方法,将 n n n位列向量转为 k k k位列向量。然后对全部 m m m组数据分别应用此变换,这样就得到答案。

    变换方法是使用形如 A = X P A=XP A=XP的算式。问题变为求 k × n k\times n k×n矩阵 X X X

    引入协方差的概念。

    协方差是刻画两个列向量 X = { x 1 , x 2 , … , x n } T , Y = { y 1 , y 2 , … , y n } T X=\{x_1,x_2,\dots,x_n\}^\text{T},Y=\{y_1,y_2,\dots,y_n\}^\text{T} X={x1,x2,,xn}T,Y={y1,y2,,yn}T的相异程度。对于同一行来说,两个列向量在此行的数值相差越大,就会使协方差越大。
    C o v ( X , Y ) = ∑ i = 1 n ( x i − x ^ ) ( y i − y ^ ) Cov(X,Y)=\sum_{i=1}^{n}{(x_i-\hat{x})(y_i-\hat{y})} Cov(X,Y)=i=1n(xix^)(yiy^)

    接下来的部分需要线性代数理论进行推导,在此只给出结论。

    对于数据集的 n n n个维度来说,方差越大,说明数据之间的差异越大,说明越能区分不同数据,说明此维度越重要,越应该被保留。可以用协方差刻画差异。

    本例中将关于 n n n维的所有协方差写成一个 n n n阶方阵 Q Q Q,其中 Q i , j Q_{i,j} Qi,j表示 C o v ( P i , P j ) Cov(P_i,P_j) Cov(Pi,Pj) P i P_i Pi表示 P P P的第 i i i行,也就是所有数据的第 i i i个维度。

    至此便直接给出计算方法。

    1. 计算 Q Q Q
    2. Q Q Q n n n个特征值及其对应的特征(行)向量,将它们按照特征值从大到小的顺序排列,组成新的方阵 R R R
    3. R R R的前 k k k行,即 k × n k\times n k×n的矩阵 X X X
    4. A = X P A=XP A=XP
  • 相关阅读:
    Redis模块一:缓存简介
    第63篇:美国NSA量子注入攻击的流量特征及检测方法
    rhcsa5(日志、维护准确时间)
    模板方法模式:封装不变步骤,引导扩展实现灵活多态的算法流程
    俄罗斯方块
    镍氢充电管理芯片-IC AH2185
    高新技术企业研发项目立项介绍
    使用ffmpeg解码音频sdl(push)播放
    【Java进阶篇】第一章 面向对象(下篇)
    KAIS 2012 | 在线社交网络中的信息传播:连接强度视角
  • 原文地址:https://blog.csdn.net/YangHao5/article/details/132678170