对pca降维后的手写体数字图片数据分类_【AI白身境】深度学习中的数据可视化...

1a4e3a8bfaa60e3b215e737c2d3a777b.png

今天是新专栏《AI白身境》的第八篇,所谓白身,就是什么都不会,还没有进入角色。

上一节我们已经讲述了如何用爬虫爬取数据,那爬取完数据之后就应该是进行处理了,一个很常用的手段是数据可视化。

通过数据可视化,可以更加直观地表征数据,在深度学习项目中,常需要的数据可视化操作包括原始图片数据的可视化,损失和精度的可视化等。

作者 | 言有三 臧小满
编辑 | 言有三 臧小满

01 什么是数据可视化?

每每提到数据可视化,大家脑中可能会浮现很各种图表、西装革履的分析师、科幻大片中酷炫的仪表。

0c9714323b12d458adc0384bfb21d346.png

其实不用那么复杂,数据可视化早就融合进你我的生活,地铁线路图、公交时刻表,天气预报中的气象地图等都是很常见的。

为什么要进行可视化?

因为人是视觉动物,对于图像的敏感度要比对纯数字的敏感度高的多。

人类对图像的处理速度比文本快6万倍,同时人类右脑记忆图像的速度比左脑记忆抽象文字快100万倍。数据可视化正是利用人类天生技能来增强数据处理和组织效率。

举个简单的例子,计划买一套房产作为投资, 想要了解“去年上海房价哪里涨幅最大”,现以图作答, 把去年的增长率体现在图上,以20%作为分界, 增长超过20%的标红色, 超过越多则越大, 不足的标记成蓝色, 如下图,可以很快get到哪个区域的大幅度涨幅。

dfc2a29ebe249a9b94da8361e69f8a62.png

可视化将数字抽象成了更方便我们观察和感受的图表,因此需要熟悉使用。

02 低维数据可视化

数据有不同的维度,我们最常接触的就是一维,二维的数据,在机器学习任务中,包括损失函数等统计指标。

2.1 散点图

散点图,常用于分析离散数据的分布。比如我们有一个数据集,里面的图片有不同的大小,我们可以利用x,y轴分别对应图片的宽高,从而画出图片尺度的空间分布情况。越密集的地方,说明该尺度类型的图越多,如下图所示。

d52eee676bd59d7226369dd19eb1f5ce.png

2.2 折线图

折线图是用于分析变量随另一个变量的变化关系,我们平常接触最多的loss曲线图,accuracy曲线图就是这一种,可以看指标随着训练过程的变化判断收敛情况,从而推测模型训练的好坏,折线图被广泛应用于各类分析,如下图所示。

1344d37a905d12669ba951b5a8ea65a8.png

2.3 直方图,饼状图

这两种图,都常用于统计数据的分布比例以及响应幅度,比如一幅图片的亮度分布情况,不同网络层的参数量,计算时间代价。

cf805fe307f65ea0fbec71382295d6e0.png

06c5a7298ebf1928211b52bdf097f0b1.png

这几种图,适合对有时序变化的一维向量,有统计分布的一维向量,或者二维图像的尺度等信息进行可视化。

03 高维数据可视化

在机器学习任务中,数据通常是用成百上千维的向量表示,而超过3维的向量,就已经超过了人类的可视化认知,因此通常需要对数据进行降维。

数据降维方法可以分为线性方法和非线性方法。其中线性方法包括PCA和LDA,而非线性方法有保留局部特征、基于全局特征等方法,以t-SNE为代表。下面我们主要介绍PCA和t-SNE方法。

3.1 PCA降维

PCA,全称是Principal components analysis,这是一种分析、简化数据集的技术。PCA常用于减少数据集的维数,同时保持数据集中对方差贡献最大的特征,原理是保留低阶主成分,忽略高阶主成分,因为低阶成分保留了数据最多的信息

假定X是原始数据,Y是降维后的数据,W是变换矩阵,Y=XW。假如我们需要降到3 维以便于我们可视化,那就取Y的前三个主成分作为原始属性X的代表。

我们采用Google开源的网页版数据可视化工具Embedding Projector来进行可视化,链接如下:

http://projector.tensorflow.org/

选择MNIST作为可视化例子,它的原始维度为10000×784,即10000张28×28的图像。

利用这个工具我们进行PCA的可视化,降低到3个维度后,我们可以选择某个数字进行可视化。下图就是数字9的分布,可以看到,总共有1009个样本,数据的分布在物理空间上具有一定的聚类特性。

cacfdb8071bd57d7dbface970a05fc01.png

还可以用不同的颜色查看全体数据的分布,从这里可以更好的看出不同类的分布规律。

44dd623321e934cc5afe913f89997e06.png

3.2 t-SNE降维

SNE全称是Stochastic Neighbor Embedding,它将数据点之间高维的欧氏距离转换为表示相似度的条件概率,目标是将高维数据映射到低维后,尽量保持数据点之间的空间结构,从而那些在高维空间里距离较远的点,在低维空间中依然保持较远的距离。

t-SNE即t-distributed stochastic neighbor embedding,t-SNE用联合概率分布替代了SNE中的条件概率分布,解决了SNE的不对称问题。通过引入t分布,解决了同类别之间簇的拥挤问题。

t-SNE方法实质上是一种聚类的方法,对于一个空间中的点,周围的其他点都是它的“邻居”,方法就是要试图使所有点具有相同数量的“邻居”。

t-SNE经过学习收敛后,通过投影到2维或者3维的空间中可以判断一个数据集有没有很好的可分性,即是否同类之间间隔小,异类之间间隔大。如果在低维空间中具有可分性,则数据是可分的,如果不具有可分性,可能是数据不可分,也可能仅仅是因为不能投影到低维空间。

下图是t-SNE可视化结果图,可以看出,数字都有很明显的聚类效果。

4e621453468ee4bcd09d23e663e0f1a4.png

在进行一个机器学习任务之前,通过可视化来对数据集进行更深刻的认识,有助于预估任务的难度,在遇到困难后也会更加容易找到解决方案。

04 python数据可视化项目

考虑到python是第一大机器学习编程语言,同时开源项目居多,所以我们只关心python相关的工具,而且python也基本可以满足需求。

e48f392b4f839a0fc6534cbf546f1f22.png

可视化的项目太多了,下面基于python和GitHub的数据,随便推荐几款。

1. tensorboard和tensorboardX,想必不需要多做介绍,后者大家可能不熟悉,被开发用来支持chainer, mxnet, numpy,4000+star。

https://github.com/lanpa/tensorboardX

1717063bf7c676f4cdc5a6b68924e67d.gif

2. visdom,支持numpy和torch的工具,常用于pytorch数据可视化,很强大,5000+star。

https://github.com/facebookresearch/visdom

6528bae770042d535c59f5b38bd98f97.png

3. seaborn:一款基于matplotlib的工具,简单来说,就是有更高的API,画出的图也好看,5000+star,主要处理低维数据。

https://github.com/mwaskom/seaborn

5180b8c63c341e656cd53a0bf153db79.png

4. holoviews:很酷炫的工具,与season差不多,1000+star。

https://github.com/ioam/holoviews

7591617fcc0fd9c12b9dd0f69579e224.png

5. missingno:一款缺失数据可视化工具,非常适合分析数据集的完整性,1000+star。

https://github.com/ResidentMario/missingno

700449a8197c43796f4bbc9e6c61fd62.png

就这么多,以后再集中讲可视化工具。

总结

数据可视化抽象了数据本身真正的价值,熟练掌握可视化对于分析数据的特征和深度学习模型的性能是必要的技能。

下期预告:下一期我们讲入行AI必备的数学基础,如果你有建议,欢迎留言,我们会及时采纳的。

2af24431c67d9861645e4784e81dc44f.png
AI白身境系列完整阅读:

第一期:【AI白身境】深度学习从弃用windows开始

第二期:【AI白身境】Linux干活三板斧,shell、vim和git

第三期:【AI白身境】学AI必备的python基础

第四期:【AI白身境】深度学习必备图像基础

第五期:【AI白身境】搞计算机视觉必备的OpenCV入门基础

第六期:【AI白身境】只会用Python?g++,CMake和Makefile了解一下

第七期:【AI白身境】学深度学习你不得不知的爬虫基础

第八期: 【AI白身境】深度学习中的数据可视化

第九期:【AI白身境】入行AI需要什么数学基础:左手矩阵论,右手微积分

第十期:【AI白身境】一文览尽计算机视觉研究方向

第十一期:【AI白身境】AI+,都加在哪些应用领域了

第十二期:【AI白身境】究竟谁是paper之王,全球前10的计算机科学家

AI初识境系列完整阅读

第一期:【AI初识境】从3次人工智能潮起潮落说起

第二期:【AI初识境】从头理解神经网络-内行与外行的分水岭

第三期:【AI初识境】近20年深度学习在图像领域的重要进展节点

第四期:【AI初识境】激活函数:从人工设计到自动搜索

第五期:【AI初识境】什么是深度学习成功的开始?参数初始化

第六期:【AI初识境】深度学习模型中的Normalization,你懂了多少?

第七期:【AI初识境】为了围剿SGD大家这些年想过的那十几招

第八期:【AI初识境】被Hinton,DeepMind和斯坦福嫌弃的池化,到底是什么?

第九期:【AI初识境】如何增加深度学习模型的泛化能力

第十期:【AI初识境】深度学习模型评估,从图像分类到生成模型

第十一期:【AI初识境】深度学习中常用的损失函数有哪些?

第十二期:【AI初识境】给深度学习新手开始项目时的10条建议

AI不惑境系列完整阅读:

第一期:【AI不惑境】数据压榨有多狠,人工智能就有多成功

第二期:【AI不惑境】网络深度对深度学习模型性能有什么影响?

第三期:【AI不惑境】网络的宽度如何影响深度学习模型的性能?

第四期:【AI不惑境】学习率和batchsize如何影响模型的性能?

第五期:【AI不惑境】残差网络的前世今生与原理

第六期:【AI不惑境】移动端高效网络,卷积拆分和分组的精髓

第七期:【AI不惑境】深度学习中的多尺度模型设计

第八期:【AI不惑境】计算机视觉中注意力机制原理及其模型发展和应用

第九期:【AI不惑境】模型剪枝技术原理及其发展现状和展望

第十期:【AI不惑境】模型量化技术原理及其发展现状和展望

第十一期:【AI不惑境】模型压缩中知识蒸馏技术原理及其发展现状和展望

第十二期:【AI不惑境】AutoML在深度学习模型设计和优化中有哪些用处?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/244912.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android实现箭头流程列表_反思|Android 列表分页组件Paging的设计与实现:系统概述...

作者:却把清梅嗅链接:https://github.com/qingmei2/blogs/issues/30前言本文将对Paging分页组件的设计和实现进行一个系统整体的概述,强烈建议 读者将本文作为学习Paging 阅读优先级最高的文章,所有其它的Paging中文博客阅读优先级…

sql server numeric 可存几位小数_想成为优秀SQL高手?你就差这些细节

标准结构化查询语言(Structured Query Language)简称SQL,sql是我们日常工作中使用最多一项技能,写sql可以说是一个可以干到退休的技能。看似简单,但要精通却很难。 sql包括增、删、改、查,创建表、删除表、修改表等等内容&#xf…

java random产生随机数_java的三种随机数生成方式,必掌握

随机数的产生在一些代码中很常用,也是我们必须要掌握的。而java中产生随机数的方法主要有三种:第一种:new Random()第二种:Math.random()第三种:currentTimeMillis()第一种需要借助java.util.Random类来产生一个随机数…

C 怎么处理windows路径_python学习笔记-7:文件读写之文件与文件路径

文件关键属性:路径文件名根据已知的文件路径生成包含正确路径分隔符的文件路径字符串:import osstt os.path.join(usr,bin,spam)print(stt)#usrbinspamwindows的路径分隔符为,字符串中使用需要转义字符,因此应输入为当前工作目录程序运行时&…

android手机图标 足球球星,世界足坛九大现役球星标志性绰号,第一名所有人都服!...

原标题:世界足坛九大现役球星标志性绰号,第一名所有人都服!9,“大腿”桑切斯自打智利天王桑切斯离开当年无比辉煌的巴萨加盟阿森纳后,就被无数球迷冠以“大腿”的绰号,当然这完全源自于他在英超阿森纳队中极…

mysql 互为主备 宕机 数据丢失_Devops部署-mysql主备多从搭建

​双主多从架构原理介绍IP端口账号密码服务名10.1.1.23306root/syncabc123!数据库A10.1.1.33306root/syncabc123!数据库B10.1.1.43306root/syncabc123!数据库C1.两台mysql都可读写,互为主备,默认只使用一台(masterA)负责数据的写入…

sourcetree mac 免登录_「vscode remote ssh 免登录」mac

如果你只知道传统的ssh操作,或者sftp/ftp上传下载操作,那可能有点太low了。强烈推荐你使用 vscode remote ssh。举个栗子来形象比喻一下:钥匙开门 和 指纹开门 的区别。已经用 vscode remote ssh 功能有很久了,这种体验真的太棒了…

python中汉字与变量不可同时出现_Python语言应用培训课(选择练习)

第一部分1、多选题:Python在金融中的运用包括( )选项:A:绩效分析B:风险分析C:程序化交易D:量化分析答案: 【绩效分析;风险分析;程序化交易;量化分析】第二部分1、判断题:python语言支持中文字符作为变量名称,但具有语法意义的符号…

鸿蒙首饰用什么合成,天下HD鸿蒙炼炉是什么?鸿蒙炼炉讲解

在玩天下HD的时候各位又是否知道鸿蒙炼炉是什么呢?其实鸿蒙炼炉是游戏之中一个很重要的系统,而对于这个系统本次小编就给各位带来了鸿蒙炼炉讲解。或许各位都有用到天下HD的鸿蒙炼炉系统,但是各位又是否了解鸿蒙炼炉系统是怎么样的呢&#xf…

如何区分网线是几类的_小移课堂 | 网线这样选,网速才能嗖嗖的!

在家宅到长蘑菇的日子里最亲近的,除了家人,就是WiFi想必大家碰上网速不好的时候都会很抓狂为什么家里的网络明明签约的是千兆可网速一直上不去?网线,是卡住网速的关键因素!问网线不是通用的吗?还要用专门的网线吗&…

navicat premium 链接postgresql 无法加载表_PostgreSQL 每周新闻 2020311

PostgreSQL 每周新闻 2020-3-11英文原文地址:https://postgresweekly.com/issues/346Postgres子事务和性能本文展示了过度使用子事务对性能的影响,以及如何诊断在您的数据库里是否有这样的问题。Laurenz AlbePostgreSQL匿名器0.6:假名化和改进…

python无法打开_如何解决Windows命令行无法运行python文件?

我在使用windows的命令行运行python文件,但是每次出现的都是这种情况我设置了Path,D:Python,后来又设置了个PythonPath,添加了Lib和DLLS的路径,但是没用。 我觉得还是设置环境变量的问题,请问大家有什么办法…

iis7设置html支持asp,Win7下启用IIS7配置ASP运行环境的详细方法

第一次在windows7下配置IIS,虽然有丰富的xp下配置IIS的经验,但还是会遇到不少的问题。特别是对入门者来说,搞清一些东西还是挺费时间的。其实win7下的IIS7配置过程是非常简单的。下面让seo博客来详细的介绍一下win7下配置IIS7环境运行ASP网站…

ajax post提交数据_详解Ajax异步加载

前言:作为资深球迷,提起Ajax,第一反应想到的是阿贾克斯,那个曾培养出伊布,范德法特,苏亚雷斯,亨特拉尔等一众球星的荷甲著名球队。很显然,我们今天说的Ajax,跟足球没有任…

win10改计算机用户名,win10系统修改本地账号用户名的操作方法

很多小伙伴都遇到过对win10系统修改本地账号用户名进行设置的困惑吧,一些朋友看过网上对win10系统修改本地账号用户名设置的零散处理方法,并没有完完全全明白win10系统修改本地账号用户名的操作方法非常简单,只需要1、首先打开Win10控制面板&…

假设以带头结点的循环链表表示队列_关于反转链表,看这一篇就够了!

本期例题:LeetCode 206 - Reverse Linked List[1](Easy)反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL反转链表这道题是我在阿里的面试中遇到的题目。它本身也是单链表…

1650显卡学计算机,适合老电脑升级?GTX1650显卡开箱,性价比依然不高!

原标题:适合老电脑升级?GTX1650显卡开箱,性价比依然不高!新一代的NV显卡高端版本基本上全部和大家见面,例如RTX2080ti、RTX2070等等。而中端的RTX2060和GTX1660ti也陆续被玩家接受,剩下入门级的显卡英伟达取…

iphone怎样关闭副屏_iPhone手机关掉这3个设置,不仅省电,而且手机还不会卡

现在很多人无论是吃饭睡觉上厕所手机都会形影不离,然而手机玩久了电量就会刷刷的往下掉,不仅如此长时间下去手机还会出现卡顿的情况。如何才能令手机不卡顿并且最大限度上省电呢?为大家分享几个技巧,关掉这3个设置,手机…

武汉计算机985211大学有哪些,武汉985211大学有哪些 武汉985211大学有什么

想必大家都听过去武大看樱花这句话吧!湖北最出名的大学可能就是武汉大学了,但是武汉大学不仅仅以其优秀的师资闻名,也以校园里美丽的樱花闻名。想要了解武汉985211大学有哪些,就来看看这些文章吧!武汉的985大学有武汉大学和华中科技大学。211…

vmci.sys版本不正确_这样安装 Python 库才是最正确的哦

优质文章,第一时间送达!分享一篇之前的文章,里面的这个Python知识点,可能很多人都还不清楚。平常我都是直接执行 pip install安装的第三方库,很多教程也是这么介绍的,一直以来我都认为这是标准的、正确的安…