• 【数据挖掘】PCA 主成分分析算法过程及原理讲解


    PCA 主成分分析算法过程及原理讲解

    1 概念

    主成分分析(Principal componet analysis,PCA) 是一种无监督学习方法,利用正交变换把线性相关变量表示的观测数据转换为几个由线性无关变量表示的数据,线性无关的变量成为主成分。主成分的个数通常小于原始变量的个数,属于降维方法。根据分解协方差矩阵的策略,分为两种PCA方法,第一种是基于特征值分解协方差矩阵实现PCA算法,第二种是基于奇异值分解法(SVD)分解协方差矩阵实现PCA算法。

    2 算法过程

    2.1 基于特征值分解协方差矩阵实现PCA算法

    输入:数据集 X = { x 1 , x 2 , . . . , x n } X = \{x_1,x_2,...,x_n\} X={x1,x2,...,xn},需要降到k维。

    (1)去平均值(即去中心化),即每一位特征减去各自的平均值。

    (2)计算协方差矩阵 1 n X X T \frac{1}{n} XX^T n1XXT,注:这里除或不除样本数量n或n-1,其实对求出的特征向量没有影响。

    (3)用特征值分解方法求协方差矩阵 1 n X X T \frac{1}{n} XX^T n1XXT 的特征值与特征向量。

    (4)对特征值从大到小排序,选择其中最大的k个。然后将其对应的k个特征向量分别作为行向量组成特征向量矩阵P。

    (5)将数据转换到k个特征向量构建的新空间中,即Y=PX。

    2.2 基于奇异值分解法(SVD)分解协方差矩阵实现PCA算法

    输入:数据集 X = { x 1 , x 2 , . . . , x n } X = \{x_1,x_2,...,x_n\} X={x1,x2,...,xn},需要降到k维。

    (1)去平均值(去中心化),即每一位特征减去各自的平均值。

    (2) 计算协方差矩阵。

    (3)通过奇异值分解法(SVD)计算协方差矩阵的特征值与特征向量。

    (4)对特征值从大到小排序,选择其中最大的k个。然后将其对应的k个特征向量分别作为列向量组成特征向量矩阵。

    (5)将数据转换到k个特征向量构建的新空间中。

    3 问答

    3.1 SVD分解矩阵原理

    奇异值分解是一个能适用于任意矩阵的一种分解的方法,对于任意矩阵A总是存在一个奇异值分解:
    U = U Σ V T U = U \Sigma V^T U=UΣVT

    假设A是一个m×n的矩阵,那么得到的U是一个m×m的方阵,U里面的正交向量被称为左奇异向量。Σ是一个m×n的矩阵,Σ除了对角线其它元素都为0,对角线上的元素称为奇异值。 V T V^T VT 是V的转置矩阵,是一个n×的矩阵,它里面的正交向量被称为右奇异值向量。而且一般来讲,我们会将Σ上的值按从大到小的顺序排列。

    SVD分解矩阵A的步骤:

    (1) 求 A A T AA^T AAT 的特征值和特征向量,用单位化的特征向量构成 U。

    (2) 求 A T A A^TA ATA 的特征值和特征向量,用单位化的特征向量构成 V。

    (3) 将 A A T AA^T AAT 或者 A T A A^TA ATA 的特征值求平方根,然后构成 Σ。

    3.2 特征值分解矩阵原理

    (1) 特征值与特征向量

    如果一个向量v是矩阵A的特征向量,将一定可以表示成下面的形式:
    A v = λ v Av = \lambda v Av=λv
    其中,λ是特征向量v对应的特征值,一个矩阵的一组特征向量是一组正交向量。

    (2) 特征值分解矩阵

    对于矩阵A,有一组特征向量v,将这组向量进行正交单位化,就能得到一组正交单位向量。特征值分解,就是将矩阵A分解为如下式:
    A = Q Σ Q − 1 A = Q \Sigma Q^{-1} A=QΣQ1

    其中,Q是矩阵A的特征向量组成的矩阵,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tY579VzA-1658189878184)(https://www.zhihu.com/equation?tex=%5CSigma)]则是一个对角阵,对角线上的元素就是特征值。

    3.3 PCA为什么要中心化

    把坐标原点放在数据的中心,找方差最大的坐标方向,如果不放在中心,坐标原点就是数据的旁边,不能很好的映射到坐标上。

    具体讲解看视频解析:B站讲解PCA

    图1 去中心化前,坐标原点在数据的旁边。

    在这里插入图片描述

    图2 去中心化后,坐标原点在数据的中心。

    在这里插入图片描述

    3.4 协方差矩阵的特征向量的数学意义是什么?

    PCA的目标是找到一个坐标轴,能够保证所有的点都能映射到坐标轴上,且映射点之间尽量不重合,分散开,最大的保留每个点的信息。数据去中心化后,求协方差矩阵,协方差矩阵中的特征向量就是坐标轴的方向,即坐标轴旋转的角度,特征值就是坐标轴方向的方差。

    在这里插入图片描述

    3.5 在PCA的方差具体指什么?

    指的是数据映射到新坐标轴上的数据分布方差,方差越大,映射即降维后的数据,保存的原始数据信息最大。
    在这里插入图片描述

    3.6 PCA 优缺点

    优点:

    • 仅仅需要以方差衡量信息量,不受数据集以外的因素影响。
    • 各主成分之间正交,可消除原始数据成分间的相互影响的因素。
    • 计算方法简单,主要运算是特征值分解,易于实现。

    缺点:

    • 主成分各个特征维度的含义具有一定的模糊性,不如原始样本特征的解释性强。
    • 方差小的非主成分也可能含有对样本差异的重要信息,因降维丢弃可能对后续数据处理有影响。
    • 离群点对降维效果影响很大
  • 相关阅读:
    OKR 与 KPI
    第二篇,Stm32f407芯片GPIO编程,寄存器操作,库函数操作和位段操作
    官网下载mysql 8.0.27及安装
    深入理解常见的二十三种设计模式
    OpenFeign的常规使用
    微信小程序环境搭建
    leetcode数组必刷题——二分查找、移除元素、有序数组的平方、长度最小的子数组、螺旋矩阵、螺旋矩阵 II
    剑指 Offer II 018. 有效的回文
    【Vue篇】Vue 项目下载、介绍(详细版)
    湖仓一体技术解读|多模数据的融合管理
  • 原文地址:https://blog.csdn.net/weixin_43935696/article/details/125874729