前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >机器学习入门 7-4 求数据的前n个主成分

机器学习入门 7-4 求数据的前n个主成分

作者头像
触摸壹缕阳光
发布2019-11-13 10:21:20
4500
发布2019-11-13 10:21:20
举报
本系列是《玩转机器学习教程》一个整理的视频笔记。前几个小节使用梯度上升法求一组数据的第一个主成分。本小节主要求解数据的前n个主成分,并使用编程实现。

求解数据的其他主成分

前几个小节我们将二维样本映射到一个轴上,使得映射后的样本在这个轴上的方差最大,通过公式推导将求方差最大转换为最优化问题,进而使用基于搜索策略的梯度上升法来求解。下图红色的轴就是使用梯度上升法求解出来的第一个主成分。

需要注意为了讲解方便这些样本点都是二维坐标点,将这些二维坐标点映射到第一个主成分轴上之后,这些样本还是二维的数据。只不过将这些坐标点的一个维度从原来黑色的轴变成了红色轴,由于他还是一个二维数据,因此还有另外一个轴。当然如果对于n维数据的话,还是应该有n个轴,只不过现在新的n个轴是我们通过主成分分析法重新进行的排列,排列后的第一个轴相应的样本方差最大,第二个轴次之,第三个轴再次之,以此类推。换句话说,主成分分析本质就是从一组坐标系转移到另外一组新的坐标系的过程。之前我们只求出了对于新的坐标系来说第一个轴所在的方向,也就是第一主成分。

接下来的问题就是如何求下一个主成分:

在求出数据的第一个主成分之后,只需要将数据进行改变,也就是将数据的第一个主成分上的分量去掉即可。具体如下所示:

前面小节通过将映射后样本方差最大化来求解第一主成分,将最终最大化方差的公式推导成X样本与w单位方向向量点乘。取第i个样本Xi为例,将Xi样本映射到w上的结果为X project i,由于前面假设w为单位方向向量,因此X i与w的点乘结果为X project i的模长。在线性代数中,向量可以通过向量模长乘上单位方向向量求得。而此时的X project i的模长乘上w单位方向向量结果就是X project i向量。

接下来是非常重要的操作,将Xi样本在X project i上的分量去掉,其实就是简单的向量减法的操作Xi - X project i。几何意义其实就是将Xi这个样本映射到和X project i这个向量互相垂直的一个轴上(向量分解成两个垂直的分量),这个轴就是数据去掉第一个主成分上分量的结果Xi',这个Xi' = Xi - X project i,这样一来我们又求出了一组新的数据样本,这组数据样本叫做Xi',这个X'就是X中所有样本都去除第一个主成分上分量最终的结果。

如果我们想要求第二个主成分非常简单,只需要在新的数据也就是X'上重新求一下第一主成分,此时在X'上求出的第一主成分就是我们原来数据的第二个主成分,对于n为数据这个过程依次类推,相应的可以求出第三个主成分,第四个主成分等等,这是一个循环往复的过程。

编程求解数据的前n个主成分

接下来还是通过创建的虚拟数据来进行测试。

在第一个主成分上数据的方向是斜率为正的方向,现在将所有样本的这个方向的分量去掉以后得到的结果就是和这个方向互相垂直的方向。这里我们的样本只有两个维度,如果把第一个维度的主成分去掉之后,剩下第二个维度就是所有的内容了,可以看出去掉第一个主成分的样本在第二个维度上分布完全在一根直线上,不再有其他分布的方差,也就是说我们所有数据去除掉第一个主成分的分量之后只剩下第二个主成分的结果了。

主成分分析法的作用主要用于降维,到现在为止只不过将原来样本所处的坐标系转换到一个新的坐标系中,这个新的坐标系就是通过主成分分析法得到的。下一小节,将介绍如何把原来的样本数据映射到低维空间。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI机器学习与深度学习算法 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档