| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 从「降维打击」谈「降维」 -> 正文阅读 |
|
[人工智能]从「降维打击」谈「降维」 |
????????生活中常常听到一个词:降维打击。 ????????如何理解? ????????“王健林的小目标和我的小目标”就是最好的诠释。 ????????对于数据来说,虽然不存在「打击」之说,但先对其降一波维,利用可视化的方式从整体上对数据有个事先的了解,再做后续分析,还是挺有用的,下面举两个例子。
????????现有如下数据,每一行代表一个国家,每一列代表一个特征(比如GDP、居民生活指数等),那么该如何在建模前分析这些数据呢? ????????我们知道,对数据先进行可视化操作,能够在一开始就把握数据的整体情况。然而,在这个问题中不可能把每一个特征当做一个维度进行可视化,因为只要超过3维就难以进行绘图,这个时候,降维就有用了:通过特征转换,构造出两个特征z1、z2来概括这些特征,从而可以在二维坐标系里绘图(需要注意的是,我们需要弄清楚这两个特征大致是什么意思): 图一 图二 ????????假如图二中横坐标代表GDP,纵坐标代表人均GDP或个人经济活跃程度,那么可以看出,越靠右上的国家,GDP和个人经济活跃程度就越高,代表这个国家是比较发达的,同时个人的生活满意度也会比较高;越靠左下的国家,GDP和个人经济活跃程度就越低,可能是一些比较小的国家,同时居民的生活水平不会很高。
????????有时候拿到一些数据,但没有标签,从而不知道每个样本的属性是什么样的,那么,就需要利用诸如“聚类”的方法来初步探索数据,大概了解样本之间有没有什么共性。 ????????在计算机视觉领域,有一个入坑选手一定玩过的数据集——mnist手写数字数据集,随便选取一个样本,看看长什么样:
输出: ????????上面是通过 .imshow( )函数可视化每个数字,如果直接输出这个样本,那么会得到一个长为784的向量:(更不可能通过这个来分析样本了) ????????下面看看如何通过降维,把784的维度降到2维,然后可视化这些样本:
????????最终: ????????由于上面是利用带标签的数据进行降维+可视化的,所以还少了点意思(真实情况可能没有标签,所以针对数据的先验知识是很有限的)。 ????????下面就来看如何对没有标签的数据进行聚类+降维+可视化(尽管mnist中每个数字都带有标签,但我们假设所有数字是不带标签的):
最终: ????????可以看出,在没有标签的情况下,利用聚类算法可以把类间相似的样本聚到一块儿,然后降成可在平面上绘图的二维数据。 小结:在解决一个新问题时,拿到手的数据往往是比较杂乱的,如果能降到二维/三维,然后对这些数据进行可视化,那么会更有利于后续特征的选取、模型的选取等工作。 如有新的想法,期待交流探讨 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 15:28:26- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |