【机器学习】主成分分析法 PCA (II)
主成分分析法(PAC)的优化——选择主成分的数量
根据上一讲,我们知道协方差为
①
而训练集的方差为
②。
我们希望在方差尽可能小的情况下选择尽可能小的K值。
也就是说我们需要找到k值使得①/②的值尽可能小(≤0.01)
那么我们可以先令K = 1 然后进行主要成分分析,得到U reduce 和 Z 计算其比例是否小鱼0.01,如果不是就令K = 2 再进行计算。
直到找到使得比例满足的k的最小值。
不过,在octave中,我们也利用在调用svd函数时候,得到的 S,U ,V参数进行判断。S是一个n×n的对角矩阵,它的元素都在左对角线上。因此可以计算

从而得到k的值。并且在压缩后,我们可以依据

(其中 x approx ≈ x)来还原之前未被压缩的数据。
主成分分析法在机器学习过程中的应用:
例如,将100*100的图像压缩到1000个特征。
step 1)用PCA对特征值进行压缩
step 2)对训练集使用学习算法。
step 3)在预测时,采用学习得到的Ureduce将x特征转化成Z特征再进行预测。
使用时候可能存在的误区:
1)不要用PCA进行对过拟合的修正,此时可以尝试归一化。主要成分分析算法只是丢掉一些特征,不会考虑任何与结果有关的变量,这样做容易使对于本学习算法得重要的特征信息丢失。
2)降维不是所有机器学习算法的必要过程,因此不是所有的算法都要去使用,只是当算法运算太慢或者太消耗内存的时候,我们才会去考虑使用PCA算法进行优化。
【机器学习】主成分分析法 PCA (II)的更多相关文章
- 【笔记】主成分分析法PCA的原理及计算
主成分分析法PCA的原理及计算 主成分分析法 主成分分析法(Principal Component Analysis),简称PCA,其是一种统计方法,是数据降维,简化数据集的一种常用的方法 它本身是一 ...
- 吴恩达机器学习笔记(八) —— 降维与主成分分析法(PCA)
主要内容: 一.降维与PCA 二.PCA算法过程 三.PCA之恢复 四.如何选取维数K 五.PCA的作用与适用场合 一.降维与PCA 1.所谓降维,就是将数据由原来的n个特征(feature)缩减为k ...
- 机器学习——主成分分析(PCA)
1 前言 PCA(Principal Component Analysis)是一种常用的无监督学习方法,是一种常用的数据分析方法. PCA 通过利用 正交变换 把由 线性相关变量 表示的观测数据转换为 ...
- 【机器学习】主成分分析法 PCA (I)
主成分分析算法是最常见的降维算法,在PCA中,我们要做的是找到一个方向向量,然后我们把所有的数都投影到该向量上,使得投影的误差尽可能的小.投影误差就是特征向量到投影向量之间所需要移动的距离. PCA的 ...
- 特征脸是怎么提取的之主成分分析法PCA
机器学习笔记 多项式回归这一篇中,我们讲到了如何构造新的特征,相当于对样本数据进行升维. 那么相应的,我们肯定有数据的降维.那么现在思考两个问题 为什么需要降维 为什么可以降维 第一个问题很好理解,假 ...
- 主成分分析法PCA原理
PCA(Principal Component Analysis)是一种常用的数据分析方法.PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降 ...
- 主成分分析法(PCA)答疑
问:为什么要去均值? 1.我认为归一化的表述并不太准确,按统计的一般说法,叫标准化.数据的标准化过程是减去均值并除以标准差.而归一化仅包含除以标准差的意思或者类似做法.2.做标准化的原因是:减去均值等 ...
- 降维之主成分分析法(PCA)
一.主成分分析法的思想 我们在研究某些问题时,需要处理带有很多变量的数据,比如研究房价的影响因素,需要考虑的变量有物价水平.土地价格.利率.就业率.城市化率等.变量和数据很多,但是可能存在噪音和冗余, ...
- 机器学习回顾篇(14):主成分分析法(PCA)
.caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...
随机推荐
- ORM版学员管理系统 3
老师信息管理 思考 三种方式创建多对多外键方式及其优缺点. 通过外键创建 class Class(models.Model): id = models.AutoField(primary_key=Tr ...
- 注意UTF-8-BOM 这个编码格式
有时候文本文件处理出现异常,找不到其他原因的时候,注意查看下文件的编码: Notepad:编码菜单 如果发现是UTF-8-BOM,需要改成UTF-8
- JS stacktrace(Node内存溢出)
vscode运行项目时,保存.vue文件,项目突然终止运行.输入命令npm run dev重新运行后,终端显示下面的错误. 解决方案: 如果是run dev时报错,在package.json文件里的s ...
- jQuery之遍历索引相关方法
遍历索引相关方法: .each(),补充.children() .index() 1 .each() 2..children() .index()
- python中文件处理--判断文件读取结束方法
一.readline函数 按行遍历读取文件的方法,通过这个方法,readline() 每次只读取一行,通常比 .readlines() 慢得多.仅当没有足够内存可以一次读取整个文件时,才应该使用 .r ...
- 分布式系统里session同步
https://blog.csdn.net/xyw591238/article/details/51644315
- docker+efk+.net core部署
部署环境 centos7 本主要利用efk实现日志收集 一.创建docker-compose es地址:https://www.elastic.co/guide/en/elasticsearch/re ...
- linux下mycat自启动方法
每次开机都要启动mycat,网上看了好多都是用shell脚本来实现mycat开机自启动,后来看到一种方法,直接修改系统文件来实现,已经实践过,方法有效. 1.修改脚本文件rc.local:vim /e ...
- 关于Linux 文件权限的思考
Linux文件系统每个文件分为inode和block,inode中包含一些基本信息(文件名,类型,长度,修改时间,权限等待),并且指向包含文件真实内容的block,而目录是文件的一种,其block的内 ...
- 爬虫学习--MOOC爬取豆瓣top250
scrapy框架 scrapy是一套基于Twisted的异步处理框架,是纯python实现的爬虫框架,用户只需要定制开发几个模块就可以轻松实现一个爬虫,用来抓取网页内容或者各种图片. scrapy E ...