14.降维

觉得有用的话,欢迎一起讨论相互学习~Follow Me

14.5重建压缩表示 Reconstruction from Compressed Representation

  • 使用PCA,可以把 1000 维的数据压缩到100 维特征,或将三维数据压缩到一二维表示。所以,如果如果把PCA任务是一个压缩算法,应该能回到这个压缩表示之前的形式,回到原有的高维数据的一种近似。下图是使用PCA将样本\(x^{(i)}映射到z^{(i)}\)上

    即是否能通过某种方法将z上的点重新恢复成使用\(x_{(1)}和x_{(2)}\)二维方式表示的数据。

    方法

  • 使用\(X_{appox}\)表示重建样本的n维向量(n * 1),使用\(U_{reduce}\)表示使用PCA算法时选取的K个特征向量组成的特征矩阵(n * k),使用\(Z\)表示使用PCA降维后数据样本的新特征(k * 1).有:\[X_{appox}=U_{reduce} * Z\] 即


14.6主成分数量的选取 Choosing the number of pricipal components

平均平方映射误差(Average Squared Projection Error)和总变差(Total Variation)

  • PCA的目的是减少 平均平方映射误差 ,,即是要减少 原始样本\(x^{(i)}\)通过重建后的样本\(x_{appox}^{(i)}\)(低维映射点) 的平方差的平均值
    \[\frac{1}{m}\sum^{m}_{i=1}||x^{(i)}-x_{appox}^{(i)}||^{2}\]
  • 数据的总变差(Total Variation):定义为原始数据样本的长度的均值:\[\frac{1}{m}\sum^{m}_{i=1}||x^{(i)}||^{2}\] 意为:平均来看原始数据距离零向量的距离。

    K值选择的经验法则

  • 平均平方映射误差总变差 的比值尽可能小的情况下 (一般选择0.01) 选择尽可能小的K值, 对于此比例小于0.01,专业来说:保留了数据99%的差异性(99% of variance is retained)

    选择了参数K,并且99%的差异性得以保留

  • 常用的其他数值也有 0.05和0.10,则95%和90%的差异性得以保留。

    主成分数量选择算法

    效率较低的方法

    先令 K=1,然后进行主要成分分析,获得 \(U_reduce\) 和\(z^{(1)},z^(2),...z^{(m)}\),然后计算其低维映射点\(x_{appox}^{(i)}\),然后计算 平均平方映射误差总变差 的比值是否小于1%。如果不是的话再令 K=2,如此类推,直到找到可以使得比例小于 1%的 最小K值

    更好的方法

  • 还有一些更好的方式来选择 K,当计算协方差矩阵sigma,调用“svd”函数的时候,我们获得三个参数:\[[U, S, V] = svd(sigma)\] ,其中U是特征向量,而S是一个对角矩阵,对角线的元素为 \(S_{11},S_{22},S_{33}...S_{nn}\) 而矩阵的其余元素都是0。
  • 可以证明的是(在此只说明公式不给出证明过程),以下两个式子相等,即:

    所以,原有的条件可以转化为:
    根据上式找出满足条件的最小的K值即可。


14.7 主成分分析法的应用建议

测试集和验证集应使用和训练集一样的特征向量\(U_{reduce}\)

  • 假使我们正在针对一张 100×100 像素的图片进行某个计算机视觉的机器学习,即总共有 10000 个特征。
  1. 第一步是运用主要成分分析将数据压缩至 1000 个特征
  2. 然后对训练集运行学习算法
  3. 在预测时,采用训练集上学习而来的 \(U_{reduce}\) 将输入的特征 x 转换成特征向量 z,然后再进行预测
  • Note 如果我们有交叉验证集合测试集,也采用对训练集学习而来的 \(U_{reduce}\)

    PCA不是用于解决过拟合的方法

  • 一个常见错误使用主要成分分析的情况是,将PCA用于减少过拟合(通过减少特征的数量)。这样做 非常不好,应该使用正则化化处理。原因在于主要成分分析只是近似地丢弃掉一些特征,它并不考虑任何与 结果变量y(即预测的标签) 有关的信息,因此可能会丢失非常重要的特征。PCA毕竟无监督学习的方法,任何的特征,无论是输入属性还是标签属性,其都一样对待,没有考虑到输入信息的减少对标签y的影响,通过PCA舍弃掉一部分输入属性却没有对标签做任何补偿。 然而当我们进行正则化化处理时,由于逻辑回归或者神经网络或者SVM会考虑到正则化及输入属性的改变对结果变量(预测标签)的影响,并对其作出反馈,所以正则化不会丢掉重要的数据特征。

    PCA不是必要的方法

  • PCA是当数据量大,所以要 压缩数据维度,减少数据占用内存,加快训练速度 时使用的,或者是需要通过 数据可视化 理解数据时使用的, 而 不是一种必需的方法。默认把PCA加入到机器学习系统中而不考虑不加入PCA时系统的表现是不对的。由于PCA会损失掉一部分数据,也许正是数据中十分关键的维度 ,所以机器学习系统应当首先 不考虑PCA的使用 ,而使用常规的训练方法, 只在有必要的时候(算法运行太慢或者占用太多内存) 才考虑采用主要成分分析。

[吴恩达机器学习笔记]14降维5-7重建压缩表示/主成分数量选取/PCA应用误区的更多相关文章

  1. [吴恩达机器学习笔记]14降维3-4PCA算法原理

    14.降维 觉得有用的话,欢迎一起讨论相互学习~Follow Me 14.3主成分分析原理Proncipal Component Analysis Problem Formulation 主成分分析( ...

  2. 吴恩达机器学习笔记(六) —— 支持向量机SVM

    主要内容: 一.损失函数 二.决策边界 三.Kernel 四.使用SVM (有关SVM数学解释:机器学习笔记(八)震惊!支持向量机(SVM)居然是这种机) 一.损失函数 二.决策边界 对于: 当C非常 ...

  3. 吴恩达机器学习笔记(八) —— 降维与主成分分析法(PCA)

    主要内容: 一.降维与PCA 二.PCA算法过程 三.PCA之恢复 四.如何选取维数K 五.PCA的作用与适用场合 一.降维与PCA 1.所谓降维,就是将数据由原来的n个特征(feature)缩减为k ...

  4. Machine Learning——吴恩达机器学习笔记(酷

    [1] ML Introduction a. supervised learning & unsupervised learning 监督学习:从给定的训练数据集中学习出一个函数(模型参数), ...

  5. [吴恩达机器学习笔记]12支持向量机5SVM参数细节

    12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 12.5 SVM参数细节 标记点选取 标记点(landma ...

  6. [吴恩达机器学习笔记]12支持向量机3SVM大间距分类的数学解释

    12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 12.3 大间距分类背后的数学原理- Mathematic ...

  7. [吴恩达机器学习笔记]12支持向量机2 SVM的正则化参数和决策间距

    12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 12.2 大间距的直观理解- Large Margin I ...

  8. [吴恩达机器学习笔记]12支持向量机1从逻辑回归到SVM/SVM的损失函数

    12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 12.1 SVM损失函数 从逻辑回归到支持向量机 为了描述 ...

  9. [吴恩达机器学习笔记]11机器学习系统设计3-4/查全率/查准率/F1分数

    11. 机器学习系统的设计 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 11.3 偏斜类的误差度量 Error Metr ...

随机推荐

  1. WeakHashMap介绍

    WeakHashMap简介 WeakHashMap 继承于AbstractMap,实现了Map接口.    和HashMap一样,WeakHashMap 也是一个散列表,它存储的内容也是键值对(key ...

  2. ES6的新特性(22)——Reflect

    Reflect 概述 Reflect对象与Proxy对象一样,也是 ES6 为了操作对象而提供的新 API.Reflect对象的设计目的有这样几个. (1) 将Object对象的一些明显属于语言内部的 ...

  3. PHP中定义常量

    PHP中定义常量的方式如下: define(常量名,常量值); //定义常量PUBLISHER define('PUBLISHER', "O'Reilly & Associates& ...

  4. Live Archive 训练题

    7091 Height Ordering Mrs. Chambers always has her class line up in height order (shortest at the fro ...

  5. SQLSERVER 根据身份证号码 往出生年月日 赋值

    update CREW_SailorInfo set DT_DOB= ( case then , ) then , ) else null end) 注:此问题仅供参考 如有疑问 请加QQ群18153 ...

  6. 【Alpha】阶段第二次Scrum Meeting

    [Alpha]阶段第二次Scrum Meeting 工作情况 团队成员 今日已完成任务 明日待完成任务 刘峻辰 发表评论接口 更新评论接口 赵智源 部署实际项目 编写脚本实现持续集成 肖萌威 编写注册 ...

  7. winfrom 界面编辑之疑难杂症

    设计器方便,但是也存在一些问题: 1.找不到控件,但确实存在——被隐藏或被右键显示于底层或颜色与父容器一致. 解决办法: 修改隐藏属性或右键显示于顶层. 2.灵活运用右键锁定控件与解锁控件. 3.注意 ...

  8. “我爱淘”第二冲刺阶段Scrum站立会议8

    完成任务: 完成学院分类的点击查看书籍功能,可以点击书的条目查看书的详细信息.完善界面显示,实现购买功能,优化提示,购买后就将该书从数据库中删去. 计划任务: 将书的详细信息进行完善,并且可以点击收藏 ...

  9. Alpha 冲刺(4/10)

    队名 火箭少男100 组长博客 林燊大哥 作业博客 Alpha 冲鸭鸭鸭鸭! 成员冲刺阶段情况 林燊(组长) 过去两天完成了哪些任务 协调各成员之间的工作 协助前后端接口的开发 测试项目运行的服务器环 ...

  10. ubuntu16.04卸载火狐,Amazon

    一.卸载火狐: . dpkg --get-selections |grep firefox .sudo apt-get purge firefox unity-scope-firefoxbookmar ...