• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

PCA算法的学习

武飞扬头像
AlbertOS
帮助1

引入

主成分分析(Principal components analysis,简称PCA)是最重要的降维方法之一。在数据压缩消除冗余和数据噪音消除等领域都有广泛的应用。一般我们提到降维最容易想到的算法就是PCA。
PCA算法主要用于(1)高维数据集的探索与可视化。2)数据压缩。3)数据预处理。4)图象、语音、通信的分析处理。5)降维(最主要),去除数据冗余与噪声。

1 PCA的思想

PCA顾名思义,就是找出数据里最主要的方面,用数据里最主要的方面来代替原始数据。具体的,假如我们的数据集是n维的,共有m个数据。
我们希望将这m个数据的维度从n维降到n’维,希望这m个n’维的数据集尽可能的代表原始数据集。我们知道数据从n维降到n’维肯定会有损失,但是我们希望损失尽可能的小。那么如何让这n’维的数据尽可能表示原来的数据呢?

PCA本质上是将方差最大的方向作为主要特征,并且在各个正交方向上将数据“离相关”,也就是让它们在不同正交方向上没有相关性。数据从原来的坐标系转换到新的坐标系,新坐标系的选择是由数据本身决定的。第一个新坐标轴选择的是原始数据中方差最大的方向,第二个新坐标轴选择和第一个坐标轴正交且具有最大方差的方向。该过程一直重复,重复次数为原始数据中特征的数目。我们会发现,大部分方差都包含在最前面的几个新坐标轴中。因此,我们可以忽略余下的坐标轴,即对数据进行降维处理。
学新通
学新通学新通

2 PCA的算法流程

  1. 去平均值,即每一位特征减去各自的平均值;
  2. 计算协方差矩阵;
  3. 计算协方差矩阵的特征值与特征向量;
  4. 对特征值从大到小排序;
  5. 保留最大的个特征向量;
  6. 将数据转换到个特征向量构建的新空间中。

3 PCA算法实现一般流程:

  1. 对数据进行归一化处理;
  2. 计算归一化后的数据集的协方差矩阵;
  3. 计算协方差矩阵的特征值和特征向量;
  4. 保留最重要的k个特征(通常k要小于n);
  5. 找出k个特征值相应的特征向量
  6. 将m * n的数据集乘以k个n维的特征向量的特征向量(n * k),得到最后降维的数据。

PCA降维准则:

  1. 最近重构性:样本集中所有点,重构后的点距离原来的点的误差之和最小。
  2. 最大可分性:样本在低维空间的投影尽可能分开。

PCA算法优点:

  1. 使得数据集更易使用;
  2. 降低算法的计算开销;
  3. 去除噪声;
  4. 使得结果容易理解;
  5. 完全无参数限制。

PCA算法缺点:

  1. 如果用户对观测对象有一定的先验知识,掌握了数据的一些特征,却无法通过参数化等方法对处理过程进行干预,可能会得不到预期的效果,效率也不高;
  2. 特征值分解有一些局限性,比如变换的矩阵必须是方阵;
  3. 在非高斯分布情况下,PCA方法得出的主元可能并不是最优的。

算法核心

# 定义PCA算法
def PCA(data, r):
    data = np.float32(np.mat(data))
    rows, cols = np.shape(data)
    data_mean = np.mean(data, 0)  # 对列求平均值
    A = data - np.tile(data_mean, (rows, 1))  # 将所有样例减去对应均值得到A
    C = A * A.T  # 得到协方差矩阵
    D, V = np.linalg.eig(C)  # 求协方差矩阵的特征值和特征向量
    V_r = V[:, 0:r]  # 按列取前r个特征向量
    V_r = A.T * V_r  # 小矩阵特征向量向大矩阵特征向量过渡
    for i in range(r):
        V_r[:, i] = V_r[:, i] / np.linalg.norm(V_r[:, i])  # 特征向量归一化

    final_data = A * V_r
    return final_data, data_mean, V_r

参考

https://zhuanlan.zhihu.com/p/33191810

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgfkfga
系列文章
更多 icon
同类精品
更多 icon
继续加载