降维(Dimensionality Reduction) :

一、 降维目的:

目的一:数据压缩(Data Compression)

目的二:数据可视化(Visualization)

二、 主成分分析(PCA)

主成分分析问题的描述:

算法:

选择主成分的数量,即k值:

压缩后的复原:

三、 错误的应用场景:


降维(Dimensionality Reduction) :

一、 降维目的:

目的一:数据压缩(Data Compression)

数据压缩不仅可以节省内存或磁盘,还可以加快学习算法。

可以把任何维度的数据降到任何想要的维度, 例如将 1000 维的特征降至 100 维。

目的二:数据可视化(Visualization)

50 维的数据不能可视化,但将其降至 2 维,便可以将其可视化。

这样做的问题在于,降维算法只负责减少维数,新特征的意义必须由我们自己去发现了。


二、 主成分分析(PCA)

主成分分析(PCA)是最常见的降维算法。 
在 PCA 中,要做的是找到一个方向向量(Vector direction),当把所有的数据都投射到该向量上时,希望投射平均均方误差能尽可能地小。方向向量是一个经过原点的向量,而投射误差是从特征向量向该方向向量作垂线的长度。

主成分分析问题的描述:

将 n 维数据降至 k 维,目标是找到向量 u(1),u(2),...,u(k)使得总的投射误差最小。

PCA 将 n 个特征降维到 k 个, 可以用来进行数据压缩, 如果 100 维的向量最后可以用 10维来表示,那么压缩率为 90%。

同样图像处理领域的 KL 变换使用 PCA 做图像压缩。但 PCA 要保证降维后,数据的特性损失最小。

PCA 技术的一大好处是对数据进行降维处理。我们可以对新求出的“主元” 向量的重要性进行排序,根据需要取前面最重要的部分,将后面的维数省去,可以达到简化模型或是数据压缩的效果。同时最大程度的保持了原有数据的信息。

PCA 技术的一个很大的优点是,它是完全无参数限制的。在 PCA 的计算过程中完全不需要人为设定参数或是根据任何经验对计算进行干预, 最后的结果只与数据相关, 对用户是独立的。

但是,这也可以看作是缺点。如果用户对观测对象有一定的先验知识,掌握了数据的一些特征, 却无法通过参数化等方法对处理过程进行干预, 可能会得不到预期的效果。

算法:

1、均值归一化;

2、 计算矩阵

3、计算矩阵  的特征值和特征向量;

4、根据特征值排序,选出前k个对应的特征向量。

5、将每个样例和k个特征向量做內积,即得到降维后的k个特征。

选择主成分的数量,即k值:

压缩后的复原:

PCA 作为压缩算法,可能需要把 1000 维的数据压缩 100 维特征,或具有三维数据压缩到一二维表示。

所以,如果这是一个压缩算法,应该能回到这个压缩表示,回到你原有的高维数据的一种近似。

这是一个漂亮的与原始数据相当相似。所以,这就是从低维表示 Z 回到未压缩的时表示。

我们得到数据的一个近似的原始数据 X,也把这个过程称为重建原始数据


三、 错误的应用场景:

错误一: 将其用于减少过拟合(减少特征的数量)。这样做非常不好,不如尝试归一化处理。原因在于主要成分分析只是近似地丢弃掉一些特征, 它并不考虑任何与结果变量有关的信息, 因此可能会丢失非常重要的特征。而归一化处理会考虑到结果变量,不会丢掉重要的数据。

错误二:默认地将主要成分分析作为学习过程中的一部分,这虽然很多时候有效果,最好还是从所有原始特征开始,只在有必要的时候(算法运行太慢或者占用太多内存)才考虑采用主成分分析。

机器学习11主成分分析相关推荐

  1. #机器学习--实例--主成分分析

    #机器学习--实例--主成分分析 引言 主成分分析(PCA)介绍 推导过程 代码实现 引言 本系列博客旨在为机器学习(深度学习)提供数学理论基础.因此内容更为精简,适合二次学习的读者快速学习或查阅. ...

  2. 【机器学习】主成分分析

    有任何的书写错误.排版错误.概念错误等,希望大家包含指正. 维数灾难 在高维情形下出现的数样本稀疏.距离计算困难等问题,是所有机器学习方法共同面临的的严重障碍,被称为"维数灾难"或 ...

  3. 吴恩达机器学习 11.聚类

    一.聚类(Clustering) 1.无监督学习 非监督学习算法.即要让计算机学习无标签数据,而不是此前的标签数据. 在非监督学习中,我们需要将一系列无标签的训练数据,输入到一个算法中,然后我们告诉这 ...

  4. 【进阶版】 机器学习之主成分分析(PCA)、MDS算法、核化线性降维 (16)

    目录 欢迎订阅本专栏,持续更新中~ 本专栏前期文章介绍! 机器学习配套资源推送 进阶版机器学习文章更新~ 点击下方下载高清版学习知识图册 降维与度量学习 K近邻学习 MDS算法 主成分分析(PCA) ...

  5. Python机器学习13——主成分分析

    本系列所有的代码和数据都可以从陈强老师的个人主页上下载:Python数据程序 参考书目:陈强.机器学习及Python应用. 北京:高等教育出版社, 2021. 本系列基本不讲数学原理,只从代码角度去让 ...

  6. 机器学习-特征抽取(主成分分析法/因子分析法/非负矩阵因子分解NMF算法)

    1.特征抽取: 特征抽取是机器学习中另一种十分有用的方法,它与特性选择不同,特征抽取是对数据的特征进行概括和总结,而特性选择则主要是对数据中的不同特征进行比较和选取. 特征抽取是机器学习技术中的一个常 ...

  7. 机器学习-11.神经网络

    EduCoder:机器学习-神经网络 第1关:什么是神经网络 第2关:神经元与感知机 编程要求: 根据提示,在右侧编辑器补充 python 代码,构建一个感知机模型,底层代码会调用您实现的感知机模型进 ...

  8. 机器学习基础-主成分分析PCA-16

    主成分分析PCA(Principal Component Analysis) PCA-简单例子 import numpy as np import matplotlib.pyplot as plt # ...

  9. 人工智障学习笔记——机器学习(11)PCA降维

    一.概念 Principal Component Analysis(PCA):主成分分析法,是最常用的线性降维方法,它的目标是通过某种线性投影,将高维的数据映射到低维的空间中表示,即把原先的n个特征用 ...

最新文章

  1. python 字符串部分总结
  2. 关于UI交互设计方面一些考虑的问题
  3. 使用 Boost.MPI 的骨架和内容进行优化的示例
  4. 非常实用的Asp.net常用的51个代码
  5. iscsi:IO操作流程(一)
  6. 读书笔记——《沉思录》(1/4)
  7. [Python+sklearn] 拆分数据集为训练和测试子集 sklearn.model_selection.train_test_split()
  8. power automate desktop获取股票网页数据
  9. Stylus Studio 2010 XML 的激活码
  10. ip 域名 端口了解
  11. 小程序关注微信公众号的方法
  12. iPhones刷机怎么备份微信记录 iPhone手机微信记录怎么备份
  13. MySQL代码错误号大全
  14. 运营商宽带网速为什么用bit而不用byte
  15. 量子计算与量子信息之量子计算概述
  16. 从零开始编写SAT求解器(一)
  17. 阿里云性能真的是差到了极点……
  18. 【免费资源】《Open Design Specification for .dwg files》dwg文件格式解析 免费下载
  19. 【242期推荐】女程序员苛刻的征婚条件,男程序员不能输
  20. Html实现立体相册

热门文章

  1. 160 - 35 cupofcoffe.1
  2. leetcode 39. 组合总和 思考分析
  3. Java BigDecimal stripTrailingZeros()方法与示例
  4. 远控免杀5---Veil免杀
  5. python实现实时监控_基于 Python 的交换机实时监控系统的设计与实现
  6. 用python计算ln函数_python-含参函数
  7. fork()请问下面的程序一共输出多少个“A”?多少个-?
  8. Linux系统编程下做一个简易的shell
  9. C++中结构体和类的区别和联系
  10. 校门外的树——树状数组+区间修改