前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >吴恩达机器学习笔记 —— 15 降维

吴恩达机器学习笔记 —— 15 降维

作者头像
用户1154259
发布2018-07-31 17:13:11
6170
发布2018-07-31 17:13:11
举报

本章重点讲述了降维方法以及其中最主要的PCA主成分分析的原理、使用

降维的作用:数据压缩与可视化

降维的第一个作用就是进行数据的压缩,解决磁盘和计算的问题。比如把二维数据降维到一维:

或者数据从三维降维到2维。

降维的另一个作用就是进行可视化,比如我们的数据有很多维度,如果想要在图形上展示各个数据,分析其关系是很难的。那么就可以把数据降维到二维:

降维的问题规划

考虑到数据的可分性,应该寻找一条直线(或者一个平面),使得数据投影到这个平面的距离最短,数据分布最好(各个点比较分散),比如下面的图中,红色的线就要比粉色的好很多,因为粉色的线上所有的点几乎都要重叠到一起了。

PCA总结来说,其实就是寻找k个方向向量,使得所有的点投影到这个k个向量组成的平面。如果是2维,就是寻找一条直线的方向,方向的正负并不影响最后的结果

需要注意的是,PCA与线性回归是不同的:第一个不同的点是线性回归里面为了方便计算,误差取的是y值的差;而PCA里面计算的投影的距离,因此计算的是点到直线的距离。另一个不同的点就是线性回归里面需要区分x和y,而PCA里面所有的x都是等价的。

PCA的计算方法

计算PCA首先要做的就是数据预处理,需要先对所有的数据进行均值化,即求出均值做差。其中sj是max-min

在PCA里面数据降维其实可以换一种思考的角度,如果数据从2维降到1维,其实就是寻找一个函数使得(x1,x2)变成z1。如果是n维,就是寻找一个方法,使得结果变成k维。

其实这个过程就可以通过SVD来做,针对SVD可以在搜索其他的资料。在协同过滤里面也是有它的使用场景的。

如何选择k值

PS:这两节看的很蒙——因为字母放反了

参考:https://blog.csdn.net/ybdesire/article/details/64546435

PCA用于降维,k是降维后的特征维度,如何选择k值呢?一般来说k值如果等于n,那么方差不变,就说保留了100%的方差变化;如果为0,那么方差相当于全部都忽略了。因此可以通过下面的计算公式,选择误差范围在0.01以内的k值,这样可以说保留了99%的主成分。

应用的建议

关于使用

PCA也属于一种算法,它只能在训练集上训练运行;在测试集或者交叉验证集上只能使用训练的结果直接用来做映射。

关于k的选择

在使用PCA进行数据的压缩时,一般都要保证方差的保留百分比在99%。而在可视化的时候由于画图的需要,K值可以选择2或者3。

关于过拟合

PCA可以用来降低维度加快训练速度,但是不能用来避免过拟合。因为PCA在考虑数据降维的时候,并没有考虑y的因素,只是通过分析x,通过方差的百分比来保留信息,此时有可能丢弃的是与y相关的信息。如果想解决过拟合的问题,还是推荐使用正则化。

关于滥用

不用滥用PCA,很多人(我就这么干过!)设计逻辑回归的时候,都是直接按照下面的流程来做:1 获得数据样本;2 执行PCA降维;3训练LR;4测试。推荐的方式还是不使用PCA训练看看效果,再用PCA试一下做一下对比。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-07-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 降维的作用:数据压缩与可视化
  • 降维的问题规划
  • PCA的计算方法
  • 如何选择k值
  • 应用的建议
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档