• Principal Component Analysis(PCA)


    Principal Component Analysis(PCA)

    概念

    1. 去中心化(零均值化): 将输入的特征减去特征的均值, 相当于特征进行了平移, $$x_j - ar x_j$$
    2. 归一化(标准化): 将输入的特征减去特征的均值, 得到的差在除以特征的标准差, $${{x_j-ar x_j}over{std(x_j)}}$$在进行PCA之前, 一定要进行零均值化或者标准化

    用途

    1. 数据压缩(Data Compression)
    2. 数据可视化(Data Visualization)
    3. 提高算法执行效率

    PCA实现步骤

    1. 数据零均值化或者标准化
    2. 计算样本矩阵的协方差矩阵Covariance, $$Sigma={1over{m}}sum_{i=1}^{m} x{(i)}x{(i)T}$$
    3. 计算协方差矩阵的特征向量eigenvectors, $$[U, S, V] = svd(sigma)$$U即为特征向量矩阵
    4. 选择保留的特征, $$Ureduce = U(:, 1:k)$$
    5. 将Ureduce转为样本, (Z = Ureduce^TX)

    数据还原

    1. 将被PCA处理过的数据尽可能的还原成原始数据
    2. 按照数学公式应该为(X^{(i)}_{approx} = (Ureduce^T)^{-1}Z^{(i)}), 但是实际中, 采用估计的, (X^{(i)}_{approx}=UreduceZ^{(i)})

    PCA实现补充

    • 如何选择k变量, 即保留的特征数量
      • 设k从1开始递增迭代到PCA算法中
      • 还原数据得到(X_{approx})
      • 比较$${{{1over{m}}sum_{i=1}m(x{(i)}-x{(i)}_{approx})2}over{{1over{m}}sum_{i=1}mx{(i)T}x^{(i)}}}le0.01$$
      • 如果小于0.01, 则表示当k取(hat k)时, 我们保留了原始数据的99%

    什么时候考虑PCA

    • 在一开始处理数据的时候, 应该尽量使用原始数据, 当是在不行的时候再使用PCA处理
  • 相关阅读:
    POJ 3660 Cow Contest——flody求传递闭包
    最小生成树算法
    最短路练习
    UVa 11491 Erasing and Winning
    uva 1610 聚会游戏
    C#操作Excel
    C#操作Excel文件(转)
    sqlserver行列转换问题(网上搜集)
    ASP.NET常用技术之Cookie
    ASP.NET常用技术之加密解密
  • 原文地址:https://www.cnblogs.com/megachen/p/10519923.html
Copyright © 2020-2023  润新知