• 主成分分析


    PCA算法提供了一种压缩数据的方式。我们也可以将PCA视为学习数据表示的无监督学习算法。这种表示基于上述简单表示的两个标准。PCA学习一种比原始输入维数更低的表示。它也学会了一种元素之间彼此没有线性相关的表示。这是学习表示中元素统计独立标准的第一步。要实现完全独立性,表示学习算法也必须去掉变量间的非线性关系。

    假设有一个\large m\times n的设计矩阵X,数据的均值为零,\large E[x]=0。若非如此,通过预处理地步骤使所有样本减去均值,数据就可以很容易的中心化。X对应的无偏样本协方差矩阵给定义如下

                                                           \large Var[x]=\frac{1}{m-1}X^TX

    PCA通过线性变换找到一个Var[z]是对角矩阵的表示\large z=W^Tx

    我们已知设计矩阵X的主成分由\large X^TX的特征向量给定。从这个角度,我们有

                                                        XTX=WΛWT" role="presentation" style="position: relative;">XTX=WΛWT

    主成分分析也可以通过奇异值分解(SVD)得到。具体来说,它们是X的右奇异向量。为了说明这点,假设W是奇异值分级X=UΣWT" role="presentation" style="position: relative;">X=UΣWT的右奇异向量。以W作为特征向量基,我么可以得到原来的特征向量方程:

                                                      XTX=(UΣWT)TUΣWT=WΣ2WT" role="presentation" style="position: relative;">XTX=(UΣWT)TUΣWT=WΣ2WT

    SVD有助于说明PCA后的Var|z|" role="presentation" style="position: relative;">Var|z|是对角的。使用X的SVD分解,X的方差可以表示为:

                                                      Var[x]=1m1XTX=1m1(UΣWT)TUΣWT=1m1WΣTUTUΣWT=1m1WΣ2WT" role="presentation" style="position: relative;">Var[x]=1m1XTX=1m1(UΣWT)TUΣWT=1m1WΣTUTUΣWT=1m1WΣ2WT

    其中,我们使用UTU=I" role="presentation" style="position: relative;">UTU=I,因为根据奇异值的定义矩阵U是正交的。这表明z的协方差满足对角矩阵的要求:

                                                    Var[z]=1m1ZTZ=1m1WTXTXW=1m1WTWΣ2WTW=1m1Σ2" role="presentation" style="position: relative;">Var[z]=1m1ZTZ=1m1WTXTXW=1m1WTWΣ2WTW=1m1Σ2

    其中,再次使用SVD的定义有WTW=I" role="presentation" style="position: relative;">WTW=I

    以上分析指明我们通过线性变换W将数据x投射到z时,得到的数据表示的协方差矩阵是对角的(即Σ2" role="presentation" style="position: relative;">Σ2),立刻可得z中的元素时彼此无关的。PCA这种将数据变换为元素之间彼此不相关表示的能力时PCA的一个重要性质。它是消除数据中未知变化因素的简单表示示例。在PCA中,这个消除是通过寻找输入空间的一个旋转(由W确定),使得方差的主坐标和z相关的新表示空间的基对齐。虽然先关性是数据元素之间依赖关系的一个重要范畴,但我们对于能够消除更复杂形式的特征依赖的表示学习也很感兴趣。对此,我们需要比简单线性变换更强的工具。

  • 相关阅读:
    【话题】2024年AI辅助研发趋势,有那些应用领域
    网易数帆黄久远:大规模Kubernetes监控体系建设之路
    【C++历练之路】list的重要接口||底层逻辑的三个封装以及模拟实现
    工程结算的23个问题及技巧
    NextJS开发:ssr服务器端渲染页面,添加加载进度提示
    项目人力资源管理
    spring boot 自定义 starter
    NATAPP内网穿透使用教程
    C# 常见形状
    Neo4J安装
  • 原文地址:https://blog.csdn.net/weixin_36670529/article/details/100597461