科技圈在这里 直观形象的理解维度诅咒:会造成数据点孤独( 二 )


如果我们增加两个维度 , 就不能简单地补偿另外两个学生…甚至两个教室的学生价值 。 如果我们最初从教室里的50名学生开始 , 并且增加了5层楼和9个班级 , 那么我们需要的学生人数是5x9=45倍 , 以使彼此保持尽可能多的50人陪伴 。 因此 , 我们需要45x50=2,250名学生来避免孤独感 。 每个维度多了一个额外的学生!数据需求迅速上升 。
添加维度时 , 最低数据要求可能会迅速增长 。
每次上维时 , 我们都需要招募更多很多学生(数据点) 。 如果数据对您来说太昂贵了 , 那么这个诅咒真的不是笑话!
维数
并非所有的机器学习算法在面对我的时候都会变得如此激动 。 当然 , 像这样的方法是完整的 。 对于名称缩写代表k-NearestNeighbors的方法来说 , 这并不令人惊讶-它是关于计算相邻数据点的信息 , 因此 , 数据点是相邻的非常重要 。
在维度方面 , 其他方法要健壮得多 。 例如 , 线性回归就是 , 一旦拥有足够数量的数据点 , 增加或减少维数就不会造成灾难性的内爆 。
*这并不意味着它可以抵抗所有虐待!如果你从不知道只有一个异常值或添加一个近乎重复的功能会带来最小二乘方法的混乱(犯罪的拿破仑 , 多重共线性 , 再次打击!) , 那么请考虑一下自己 。 没有一种方法适合每种情况 。 而且 , 是的 , 其中包括神经网络 。
我们应该怎么做?
在实践中 , 你将如何处理维数的诅咒?如果你是机器学习研究人员 , 则最好知道你的算法是否存在此问题 。 你如果读了本文 , 你可能想考虑是否有可能设计自己发明的对维度不太敏感的算法 。 你的许多客户都喜欢他们在特征齐全的方面的矩阵** , 尤其是当事情变得文本化时 。
**按惯例 , 我们将数据排列在矩阵中 , 行表示样例 , 而列为特征 。 在这种情况下 , 一个又高又瘦的矩阵有很多例子 , 分布在几个维度上 。
如果你是应用数据科学的爱好者 , 那么你将做自己经常做的事-在尝试将厨房水槽扔给它之前 , 仅使用一个或几个有前途的特征就可以获得算法性能的基准 。
有些方法只适用于高的、瘦的数据集 , 所以如果你觉得被诅咒 , 你可能需要把你的数据集压缩 。
如果你的方法在有限数量的特征上工作得很好 , 然后在增加维度时向你吹了覆盆子 , 那么这可能是坚持选择了一些特征(或者如果你正在精打细算 , 则是逐步选择)或首先通过运行一些可爱的特征工程技术在原始的厨房水槽中做一些超级特征(可以尝试一些老派做法 , 例如主成分分析(PCA) , 到今天仍然有用 , 特征向量永远不会过时 , 再到更现代的事情)例如自动编码器和其他神经网络的娱乐时间) 。 你真的不需要知道维度诅咒一词 , 如果它困扰您……现在你可以摆脱烦恼 。
科技圈在这里 直观形象的理解维度诅咒:会造成数据点孤独
文章图片
总结一下:随着你添加越来越多的(列) , 你需要数量呈指数增长的(行)来克服数据点在空间中的分布情况 。 有些方法仅适用于瘦长的数据集 , 因此 , 如果你感到被诅咒 , 可能需要压缩 。
科技圈在这里 直观形象的理解维度诅咒:会造成数据点孤独
文章图片
【科技圈在这里 直观形象的理解维度诅咒:会造成数据点孤独】PS:如果将''封闭空间''解释为与比例尺有关 , 那么让我说对了 。 这与以英里/厘米为单位测量的效果无关 , 因此我们不会为造成的麻烦而指责不断扩大的宇宙-并且不能通过简单的乘法来躲避诅咒 。 取而代之的是 , 这张照片可能会帮助你以3D方式直观地了解它 。 我要说的是 , 这有多大 , 呃 , 我的意思是喵喵发射器……而更多的是它所覆盖的花生包装数量的问题 。


推荐阅读