热门标签 | HotTags
当前位置:  开发笔记 > 开放平台 > 正文

维数灾难:都是孤独惹的祸

全文共2433字,预计学习时长7分钟 图源:unsplash维数灾难究竟是什么?除了是机器学习术语中让人闻风丧胆的主要实例外,还包括特征数量的增加对数据集的影响。简言之,维数灾难全

全文共2433字,预计学习时长7分钟


 


图源:unsplash

维数灾难究竟是什么?除了是机器学习术语中让人闻风丧胆的主要实例外,还包括特征数量的增加对数据集的影响。简言之,维数灾难全都与孤独有关。

 

在具体解释维数灾难之前,让我们先来先解决一些基础术语问题。

 

什么是特征?特征是机器学习中的一个词,在其他学科中可能称为预测器/(独立)变量/属性/信号。换句话说,它是关于每个数据点的信息。

 

数据间保持距离非常容易:只需添加一个维度。但对某些算法来说,这可能是个灾难。如果一种机器学习算法对维数灾难非常敏感,该算法就只有在数据点被空间中的朋友围绕时才能有***的运行效果。空间中,数据点周围的朋友越少,形势越容易恶化。

 

一维

 

想象自己坐在一个大教室里,周围都是好朋友。


 

将自己想象成一个数据点,放置在一维空间中,房间一片漆黑,教室后面发出的亮光照射着你,影子投射在前面墙体的一条线上。在那条线上,你一点也不孤独,大家就像罐头中的沙丁鱼一样抱团取暖。一维空间真舒适,但可能有点儿舒适过头了。


 

二维

 

为了让你有呼吸的空间,现在增加一个维度。我们正处于二维空间,下面的平面是房间地板。在这一空间中,你和朋友们更加分散,每个人可以获得个人空间。


 

如果想象成虚构的电子表格对你而言更容易,那就把添加/删除一个维度换成插入/删除一列数字。

 

三维

 

现在添加第三维度,把大家随机分配到原本所在的5层楼中的任意一层。


 

突然,周围的朋友数骤减,孤独将你包围。如果你喜欢被朋友紧紧包围的感觉,可能如今你只能哀怨地盯着好几张空椅子,于是你泪眼朦胧,但至少周围可能还有一个朋友......


 

四维

 

现在再添加另一个维度——时间维度。


 

学生们分散至60分钟的课堂的不同时段(不同楼层)——我们规定只有9节课,因为老师们也需要休息和生活。因此,如果你有幸在此之前仍然有同伴的情感支持,但现在,笔者可以明确告诉你,你已经与世隔绝了。

 

如果你孤身一人时没有效率,那就麻烦了,维数灾难已经降临!


 

MOAR维度

 

随着维度增加,你的孤独感也增加得十分迅速。如果要确保每个同学都像在二维空间中被朋友环绕一样,就需要非常多的学生。


 

这里最重要的是朋友数量必须呈指数增长,而非线性增长,这样才能防止“抑郁”。

 

如果添加两个维度,那么甚至两个教室的学生都远远不够。起初如果教室有50名学生,添加5层楼和9堂课后则需要原来学生数的5x9=45倍才能达到原来只需50个人就能达到的效果。因此,我们需要45x50=2250个学生才能避免孤独。每个维度增加一个学生远远不够!数据需求飞速上升。

 

如果添加维度,则最小的数据需求也会快速增长。每上升一个维度就要招收更多的学生(数据点)。如对你来说数据十分昂贵,那么维数灾难可不是闹着玩的。

 

维度佼佼者

 

并非所有的机器学习算法在面对一些独处时光时都会失控,k-NN之类的方法就是种子选手。k-NN是k-最近邻(Nearest Neighbors)的简称——该方法被用来计算临近数据点,因而数据点们“睦邻友好”相当重要。

 

当涉及到维度时,其他方法则稳健地多。上一节线性回归课,你就会知道拥有可观数量的数据点,增加或去除一个维度并不会造成灾难性破坏。虽然依然会承担代价,但承担得起了。

 

这并非意味着它能适应所有变更,没有万全之策,神经网络也是如此。如果你不知道最小二乘法会引起混乱,比如包含一个单个异常值或增加一个几乎完全一样的特征(多重共线性,又称犯罪的拿破仑,会卷土重来),那么你需要警惕起来。

 

你该如何应对?

 

如果实践中遇到维数灾难应该怎么办?如果你是机器学习研究人员,***确认一下自己的算法是否有这个问题……但你肯定已经确认过了。

 

笔者大胆揣测一下你的想法——你可能会想有没有可能设计出一种对维度不那么敏感的算法。在事物趋向于文本化的情况下,许多用户更喜欢高大的矩阵。(通常,在矩阵中行代表实例,而列代表特征,这样的话,高瘦的矩阵中就有许多实例分布在少数维度中。)

 

如果你是应用数据科学爱好者,你会按照一直以来的方法处理,即在尝试所有可能的方法之前,只用一个或几个可能的特征获取算法的基准。

 

一些方法只适用于高瘦数据集,因此,如果感觉算法处于维数灾难,你需要对数据集进行瘦身。

 

如果你的方法在有限数量的特征上运行良好,而在你增加维度时却连连罢工,这就暗示你要么坚持自己选择的特征(或者你留了一手逐步选择),要么首先用一些特征工程技术把几个超级特征排除出去。可以试试保守办法,如主成分分析——时至今日,向量分析仍很重要,它永不过时——也可以尝试新派做法,如自编码器或其他神经网络方法。

 

无需了解维数灾难这一术语就可完成任务,因为过程(从小处着手并逐步建立复杂度)本应该为用户服务,但是如果它给你带来困扰,那么现在就可以摆脱


 

总结一下,增加越来越多的特征(列)需要以指数增长的实例(行)数来解决数据点在空间中的分散问题。一些方法只适用于高瘦数据集,所以如感觉发生维数灾难则需要对数据集瘦身。


图源:SOURCE

最后,为了防止大家把“空间封闭性”与规模关联起来,笔者需要解释一下,因为这与用英里还是厘米测量产生的影响无关,所以这种困境不能怪不断扩张的宇宙空间。

 

简单的乘法运算也不能避免维数灾难。相反,也许这张图能帮你以3D形式感知它:这只球形奶牛……这只猫咪有多大并不重要,重要的是,它身上覆盖着多少塑料泡沫。


一起分享AI学习与发展的干货

欢迎关注全平台AI垂类自媒体 “读芯术”


(添加小编微信:dxsxbb,加入读者圈,一起讨论最新鲜的人工智能科技哦~)



推荐阅读
  • 探索CNN的可视化技术
    神经网络的可视化在理论学习与实践应用中扮演着至关重要的角色。本文深入探讨了三种有效的CNN(卷积神经网络)可视化方法,旨在帮助读者更好地理解和优化模型。 ... [详细]
  • 知识图谱与图神经网络在金融科技中的应用探讨
    本文详细介绍了融慧金科AI Lab负责人张凯博士在2020爱分析·中国人工智能高峰论坛上的演讲,探讨了知识图谱与图神经网络模型如何在金融科技领域发挥重要作用。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 如何高效学习鸿蒙操作系统:开发者指南
    本文探讨了开发者如何更有效地学习鸿蒙操作系统,提供了来自行业专家的建议,包括系统化学习方法、职业规划建议以及具体的开发技巧。 ... [详细]
  • 吴石访谈:腾讯安全科恩实验室如何引领物联网安全研究
    腾讯安全科恩实验室曾两次成功破解特斯拉自动驾驶系统,并远程控制汽车,展示了其在汽车安全领域的强大实力。近日,该实验室负责人吴石接受了InfoQ的专访,详细介绍了团队未来的重点方向——物联网安全。 ... [详细]
  • 本周三大青年学术分享会即将开启
    由雷锋网旗下的AI研习社主办,旨在促进AI领域的知识共享和技术交流。通过邀请来自学术界和工业界的专家进行在线分享,活动致力于搭建一个连接理论与实践的平台。 ... [详细]
  • 精选10款Python框架助力并行与分布式机器学习
    随着神经网络模型的不断深化和复杂化,训练这些模型变得愈发具有挑战性,不仅需要处理大量的权重,还必须克服内存限制等问题。本文将介绍10款优秀的Python框架,帮助开发者高效地实现分布式和并行化的深度学习模型训练。 ... [详细]
  • 深入解析层次聚类算法
    本文详细介绍了层次聚类算法的基本原理,包括其通过构建层次结构来分类样本的特点,以及自底向上(凝聚)和自顶向下(分裂)两种主要的聚类策略。文章还探讨了不同距离度量方法对聚类效果的影响,并提供了具体的参数设置指导。 ... [详细]
  • 计算机学报精选论文概览(2020-2022)
    本文汇总了2020年至2022年间《计算机学报》上发表的若干重要论文,旨在为即将投稿的研究者提供参考。 ... [详细]
  • 本文介绍了实现人工智能的多种方法,并重点探讨了当前最热门的技术——通过深度学习训练神经网络。文章通过具体实例详细解释了神经网络的基本原理及其应用。 ... [详细]
  • 如何撰写数据分析师(包括转行者)的面试简历?
    CDA数据分析师团队出品,作者:徐杨老师,编辑:Mika。本文将帮助您了解如何撰写一份高质量的数据分析师简历,特别是对于转行者。 ... [详细]
  • 在2019中国国际智能产业博览会上,百度董事长兼CEO李彦宏强调,人工智能应务实推进其在各行业的应用。随后,在“ABC SUMMIT 2019百度云智峰会”上,百度展示了通过“云+AI”推动AI工业化和产业智能化的最新成果。 ... [详细]
  • 深入解析国内AEB应用:摄像头和毫米波雷达融合技术的现状与前景
    本文作者程建伟,武汉极目智能技术有限公司CEO,入选武汉市“光谷3551人才计划”。文章详细探讨了国内自动紧急制动(AEB)系统中摄像头与毫米波雷达融合技术的现状及未来前景。通过分析当前技术的应用情况、存在的挑战以及潜在的解决方案,作者指出,随着传感器技术的不断进步和算法优化,AEB系统的性能将大幅提升,为交通安全带来显著改善。 ... [详细]
  • 在机器学习领域,深入探讨了概率论与数理统计的基础知识,特别是这些理论在数据挖掘中的应用。文章重点分析了偏差(Bias)与方差(Variance)之间的平衡问题,强调了方差反映了不同训练模型之间的差异,例如在K折交叉验证中,不同模型之间的性能差异显著。此外,还讨论了如何通过优化模型选择和参数调整来有效控制这一平衡,以提高模型的泛化能力。 ... [详细]
  • LeetCode 实战:寻找三数之和为零的组合
    给定一个包含 n 个整数的数组,判断该数组中是否存在三个元素 a、b、c,使得 a + b + c = 0。找出所有满足条件且不重复的三元组。 ... [详细]
author-avatar
饰间人爱642_370
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有