信号处理笔记(2)PCA独立成分分析

 一、 降维

        在许多机器学习或者信号处理问题中都会涉及大量特征,特征数量过多会导致训练速度缓慢,难以找到解决方案。因此我们可以采用降维手段,降维虽然会丢失一些信息,但可以加快训练速度。在微弱信号检测提取上有重要作用意义。
        目前数据两种降维方式——投影流形

 二、 主成分分析

        主成分分析(PCA)是目前最流行的降维技术,属于投影方式。 它是通过寻找某种空间上的正交变换,将高维数据映射到低维空间中,或者理解为低维坐标。并使其在所投影的空间或坐标上有最大方差。方差最大的目的是使其保留最大的信息量。因此,PCA降维的目的就是在“尽量不丢失信息量”的前提下,对原始特征进行降维,将原始数据投影到某个维度上,把信息损失降到最少。


        这里重点解释下方差的意义:
        我们在讲一个东西的稳定性的时候,往往说要减小方差,如果一个模型的方差很大,那就说明模型不稳定了。但在描述一个变量的信息量的时候,方差大才有意义,不然输入的数据都是同一个点,那方差就为0了,这样输入的多个数据就等同于一个数据了。以下面这张图为例子:

 
        假设我们需要用一条直线去拟合这些点,应该怎么选择呢?是用x轴还是y轴?显然都不合适,因为我们把这些点单纯的投影到x轴或者y轴上,最后在x轴与y轴上得到的方差是相似的(因为这些点的趋势是在45度左右的方向,所以投影到x轴或者y轴上都是类似的),如果我们使用原来的xy坐标系去看这些点,容易看不出来这些点真正的方向是什么。但我们把坐标变换到(signal,noise)方向,就很容易发现哪个方向上方差大,哪个方向上方差小。一般来说,方差大的方向是信号的方向,方差小的方向是噪声的方向,我们在数据挖掘中或者数字信号处理中,往往要提高信号与噪声的比例,也就是信噪比。对上图来说,如果我们只保留signal方向的数据,也可以对原数据进行不错的近似了。


投影

        投影比较好理解,用一个低纬度的取切高纬度空间,然后高纬度的所有点投影达到低纬度上就好了。三维空间上的点如图

 

 将所有点落到灰色平面上:

 三、求解步骤

  1. 去均值
  2. 计算协方差矩阵
  3. 计算协方差矩阵的特征值和特征向量
  4. 将特征值排序
  5. 保留前N个最大的特征值对应的特征向量(即降维后保留的成分)
  6. 将原始特征转换到上面得到的N个特征向量构建的新空间中

        第一步去均值过程并不是独立于PCA之外的步骤,而是首要且必不可少的步骤;第四步中, 选取最大的前k个特征值和相对应的特征向量,并进行投影的过程,就是降维的过程;这就实现了主成分分析的特征压缩。

 四、Python实现主成分分析

 使用sklearn库

from sklearn.decomposition import PCA

# n_components设置保留的分量个数
# 假设X是个三维数组
pca = PCA(n_components=2)
# 降维后的二维X
X2D = pca.fit_transform(X)
# 降维后的数据转换为原始数据
X3D_inv = pca.inverse_transform(X2D)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值