降维(三)

压缩特征的重建

我们可以利用下式将压缩特征来重建原特征。

其中x(i)approx ≈ x(i)

选择主成分数量

通常,我们一般在满足下式的情况下选择尽可能小的K值。

其中,上式的分子为投影误差平方和均值(Average Squared Projection Error);
分母为Total Variation in The Data。

我们也可以用“99% of variance is retained”来描述上式。

我们实现上述方法的算法为:

  1. 令K = 1;
  2. 利用PCA算法得到Ureduce , z(1), ···, z(m), x(1)approx ,···, x(m)approx
  3. 检查是否满足下式:
  1. 如果第3步不满足,则令K = 2, 3,···,继续运行第1~3步,直至满足第3步的不等式。

但这种算法运行效率不高。因此,我们可以在Octave或MATLAB中使用svd()函数,我们可以得到S矩阵:

我们可以使用该矩阵计算:

即:

在使用这个算法时,我们仍然令K = 1, 2, 3, ···, 直至满足上述不等式。

主成分分析算法应用

在监督学习中,对于数据集{(x(1), y(1)), ···, (x(m), y(m))},其中x(i) ∈ R100000

我们可提取出无标记的数据集作为输入数据:{x(1), ···, x(m)},其中x(i) ∈ R100000。利用PCA算法对该数据集进行降维操作得到:{z(1), ···, z(m)},其中x(i) ∈ R1000。从而我们得到一个新的数据集{(z(1), y(1)), ···, (z(m), y(m))},其中z(i) ∈ R1000

通过上述方法,我们可以提高监督学习的运行速度。

注:对于x(i) -> z(i)映射关系,我们只能在训练集上使用PCA算法,但这种映射关系也能应用于交叉验证集和测试集。


对于PCA算法,其可以压缩数据节省存储空间和提高学习算法的运行速度,以及将高维度的数据集降为低维度,从而将数据集可视化。

但对于PCA算法,我们不推荐将其用于防止过拟合问题。虽然PCA算法对于防止过拟合问题可能运行得不错,但我们仍然推荐使用正则化来防止过拟合问题。因为使用PCA算法可能会丢失一些重要的信息。


PCA算法不应该直接用于机器学习系统设计过程中。我们应该考虑原始特征变量,在出现存储空间占用过多或算法运行过慢等情况时,我们才有必要考虑使用PCA算法。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 首页 资讯 文章 资源 小组 相亲 登录 注册 首页 最新文章 IT 职场 前端 后端 移动端 数据库 运维 其他...
    Helen_Cat阅读 4,122评论 1 10
  • PCA 算法主要是把高维度的数据降为低维度数据。典型地应用包括数据压缩和数据可视化。本文介绍 PCA 算法及其典型...
    kamidox阅读 5,205评论 6 12
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,439评论 19 139
  • thiele插值算法 1点插值算法 function [C,c]=thiele(X,Y,Z)%X为插值点横坐标,Y...
    00crazy00阅读 2,160评论 0 4
  • 今天下雨了,所以回家的时候非常的堵车,路上车组成一条长龙。而且下雨了,我也不敢开窗,这是因为怕雨从窗户的缝隙中打进...
    杰西卡武阅读 204评论 1 1

友情链接更多精彩内容