《机器学习:算法视角(原书第2版)》 —2.1.2 维度灾难

举报
华章计算机 发表于 2019/12/21 12:47:45 2019/12/21
【摘要】 本节书摘来自华章计算机《机器学习:算法视角(原书第2版)》 一书中第2章,第2.1.2节,作者是[新西兰] 史蒂芬·马斯兰(Stephen Marsland),高 阳 商 琳 等译。

2.1.2 维度灾难

维度灾难是一个非常强大的名称,所以你可能会猜到它有点问题。灾难的本质是认识到随着维度的增加,单位超球面(unit hypersphere)的体积不随之增加。如果我们从原点(坐标系的中心)开始并绘制距离原点为1的所有点,则单位超球面是我们得到的区域。在2D中,我们得到围绕(0,0)半径为1的圆(如图2-2所示),在3D中我们得到一个围绕(0,0,0)的球(图2-3)。在更高的维度上,球体变成了一个超球面。下表显示了前几个维度的单位超球面的大小,图2-4中的图表显示了相同的情况,但也清楚地表明,由于维度的数量趋于无穷大,因此超球面的体积趋于零。

image.png

角落,随着维度的增加,这会变得更加明显维度体积12.000023.141634.188844.934855.263665.167774.724884.058793.2985102.5502图2-4 不同维度的单位超球面的体积

乍一看,这似乎完全违反直觉。但是,考虑将超球面封装在宽度为2的盒子中(沿着每个轴在-1和1之间),这样盒子就会触及超球体的两侧。对于圆形,框内的几乎所有区域都包含在圆圈中,除了每个角落的一点点(见图2-2),3D中也是如此(图2-3)。但如果我们考虑100D超球面(不一定是你想要想象的东西),并沿着从原点出来的对角线到框的一个角,然后当所有坐标都是0.1时,我们与超球面的边界相交。盒子内剩余的90%的线在超球面之外,因此随着维度的增加,超球面的体积明显缩小。图2-4中显示当维度超过20时,体积实际上为零。这是使用维度n的超球面体积的公式计算的,即vn=(2π/n)vn-2。因此,一旦n>2π,体积就开始缩小。

维度灾难将适用于我们的机器学习算法,因为随着输入维度的增加,我们将需要更多数据来使算法充分推广。我们的算法尝试根据特征将数据分类,因此,随着特征数量的增加,需要的数据量也会增加。出于这个原因,我们经常需要注意为算法提供的信息,这意味着需要事先了解有关数据的信息。

无论有多少输入维度,机器学习的重点是对数据输入进行预测。在下一节中,我们将考虑如何评估算法实际实现的效果。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。