PCA与线性代数的关系

PCA与线性代数的关系

这篇博客记录一下今天花了几个小时复习线性代数以理解PCA原理的过程,内容比较粗浅,但是大致知道原理了,公式在这里就不多提了,最多扯一下矩阵和各个概念的涵义。

PCA

用处

吴恩达说这玩意儿可以用来做可视化(高维降维成2维)和特征压缩,这个没什么异议。

可视化没啥可说的,主要从降维来说说原理吧。

原理

其数学原理,主要就是从m*n的矩阵(m个样本,每个样本有n个特征)中选区分度最高的k个特征出来。

这里特别提一下https://www.bilibili.com/video/BV1ys411472E?t=915&p=14,讲线性代数的含义讲的是真的好,把我考研时死记硬背的一小部分东西解释的很清晰了。主要收获是这些地方:

  1. 矩阵:可以看作是线性变换,例如:把原本的二维笛卡尔坐标系(就是中学数学常说的直角坐标系,在这里可以视为单位矩阵I)左乘一个变换矩阵A,把x、y轴的基变成了别的向量

  2. 行列式的值:如果不为0,代表这个方阵把原来的基变成了统一维度下的另一组基;如果行列式的值为0,那么就要看他的秩(rank),秩的大小决定了他把原来的基压缩到了多少维,如果增广矩阵和矩阵的秩相等,此时有无穷解,否则无解

  3. 特征值与特征向量:特征向量代表了作为线性变化的矩阵(就是前面第一点说的左乘的矩阵A),在原始的基变换到新的基的过程中,方向没有发生改变的那些向量,

    比如从原始的基左乘了矩阵JXJMVg.png,对于x轴而言,他只做了拉伸(绿色表示x(1, 0)变成了(3, 0)),这就是其中一个特征向量,因为他方向没有发生变化,而他拉伸的程度就等于特征值。

回到PCA

在特征选择的过程中,我们数据里的特征存在两个问题:

  1. 噪声

    这个主要来源于,各个特征之间有着或多或少千丝万缕的联系造成的(从概率上讲就是不独立)

  2. 冗余

    有些特征可能不仅仅是会干扰其他特征,甚至可能变成向量中的线性相关的情况,这就导致可能退化成一个特征了;甚至说,有可能所有的样本在这个特征上的值都基本上一样,这个特征不能够反应出样本间的多样性,对于PCA,主要是后面的这个情况。

对于噪声问题,协方差可以得到各个特征之间的关联程度,其意义是:度量各个维度偏离其均值的程度。协方差的值如果为正值,则说明两者是正相关的(从协方差可以引出“相关系数”的定义),结果为负值就说明负相关的,如果为0,也是就是统计上说的“相互独立”。

求得协方差矩阵后,虽然他的规模是n*n大小,但有可能其是个非对称阵。

我们知道,实对称阵一定可以正交分解为A = QΣQT(转置),其中Σ是对角矩阵(只有对角线元素存在不为0的值,其余地方都为0,其对角线上元素的值就是特征值),这个分解表示A可以转化成特征向量矩阵和特征值矩阵(对角矩阵)的乘积,其新的基就可由特征向量矩阵Q表示,Σ表示了在新的基的各个向量下的拉伸程度,在PCA这里可以理解为分布更广、区分度更高,也就是方差更大;对角阵的特征值反映了各个特征自己的方差

那么对于非对称阵,可以用SVD奇异分解,达到类似的效果,得到一个对角阵(由于不同特征值的特征向量之间线性无关,所以已经可以近似得到一定数量的完全消除噪声的特征了)。

对于冗余问题,我们选取其中特征值最大的K个特征,作为压缩后的新特征(这个过程是可逆的,也就是可以还原回原来的m*n规模),这样就完成了降维。

例如,把原始的x、y轴下的特征,做了基变换,找到了JXB9q1.png新的特征向量作为基,同样,以前的那些特征也要做相应的基变换才能消除噪声。

最后,把选取的k个特征变换到上述特征向量的基即可得到新的一组降维后的特征。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值