前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >机器学习入门 7-8 使用PCA对数据进行降噪

机器学习入门 7-8 使用PCA对数据进行降噪

作者头像
触摸壹缕阳光
发布2019-11-13 10:23:43
2.8K0
发布2019-11-13 10:23:43
举报
本系列是《玩转机器学习教程》一个整理的视频笔记。在上一小节的最后提到了PCA还有一个很重要的作用就是对数据进行降噪处理。本小节,通过对两个数据集可视化的方式来直观的感受降噪效果。

01

PCA对虚拟数据集降噪

根据上面虚拟数据集展示出来的分布判断这个数据集实际情况可能就是一根直线。因此,这个数据集展现的是在一根直线的上下进行抖动式的分布,而这种抖动和这根直线本身之间的距离就是噪声,而产生这种噪声的因素有很多:

  1. 测量仪器本身有误差;
  2. 计量人员的粗心;
  3. 实际测量手段有问题;

当然了产生噪声的因素有很多,正因为有这些产生噪声的因素,使得我们在现实世界中采集到的数据都是有噪声的。

接下来使用PCA对数据进行降噪处理:

将n_components设置为1,使用fit方法对X数据拟合,然后应用transform方法将二维的X降维到一维的X_reduction。然后通过inverse_transform方法将一维的X_reduction还原成二维的X_restore,当然此时的X和X_restore虽然维度相同,但是里面包含的信息发生了变化。绘制出相应的结果,可以看出此时的数据分布变成了一条直线。

对比上面两个图像,我们可以完全理解成,我们将原始数据中的噪声去除了。

当然在实际情况下,我们不能说降维后恢复后的数据分布是一点噪音都没有的,也不好说对于原始数据分布中的抖动全部都是噪声,所以总体而言,我们还是倾向于说,从X到X_restore我们丢失了信息,不过我们丢失的这部分信息很大可能是噪声。这也造成了对于MNSIT数据集来说,我们使用了降维处理之后,反而最终的识别的准确率提高了(现在判别识别准确率的方法还是不够充分的,后面还会继续强调)。

通过上面的例子,可以看出PCA方法还可以用于降噪。无论将PCA应用降维还是应用于降噪,其本质是一致的,都可以理解成将高维数据降维到低维数据这个过程中,丢失了信息,只不过对于降噪而言,这些丢失的信息包含着部分的噪声。

02

PCA对digits数据集降噪

为了让降噪的过程更加的直观,再举另外一个例子,这个例子我们使用手写数字识别的数据集,不过这次我们使用digits这个比较小的数据集。

为了降噪的效果更加明显,这里人为的为digits数据集添加噪声矩阵,这里这个噪声是由均值为0方差为4的正太分布随机生成的(这里使用较大的方差,是因为这样分布比较发散,噪声的效果比较明显),noisy_digits就是包含噪声的digits数据集。接下来,为了直观的看到噪声,从0-9的10个类别中每个类别抽取10个样本,一共100个样本,下面将100个具有随机噪声的样本绘制出来。

通过上面的图可以看出,噪声还是非常明显的,根本看不清楚具体的数字。接下来使用PCA方法进行降噪。

这里需要注意相对于原始数据,噪声比较大,我们只保留了50%的信息。当然这只是一个简单的例子,实际在工作中要根据具体情况,可以多试几次,找出更符合你的样本特征的参数。对于人为加噪声的digits来说,我们只保留50%的信息,最终的样本从64维的特征降维到12维,从高维降维到低维这个过程,损失了信息,当然这些信息包含了部分噪声。然后使用inverse_transform方法将12维数据恢复成64维度,绘制的结果如下。

相比于第一次绘制的结果,上面绘制的结果相对平滑了很多,噪声去除了不少。

通过两个可视化的例子告诉我们使用PCA方法是可以进行降噪的。在下一小节,将更深一步探讨PCA的另外一个用处,这个用处在人脸识别中,也就是所谓的特征脸。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
人脸识别
腾讯云神图·人脸识别(Face Recognition)基于腾讯优图强大的面部分析技术,提供包括人脸检测与分析、比对、搜索、验证、五官定位、活体检测等多种功能,为开发者和企业提供高性能高可用的人脸识别服务。 可应用于在线娱乐、在线身份认证等多种应用场景,充分满足各行业客户的人脸属性识别及用户身份确认等需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档