无限维度
无限维度
正如在之前的文章中提到的,我目前正在学习数据科学的课程。除其他外,我学习了各种统计和机器学习模型/算法,包括但不限于线性回归、逻辑回归、K 最近邻、决策树和随机森林。
在讨论这些模型的过程中反复出现的一个词是“维度”。
维度(名词):
1. 某种可测量的范围,例如长度、宽度、深度或高度。
2. 情况、问题或事物的一个方面或特征。
此定义来自浏览器顶部的牛津语言定义 在 Google 中搜索“维度” ,我想说这个定义在很大程度上包含了这个词的情感,因为我听说它应用于机器学习——手头模型的“方面或特征”。例如,使用多个解释变量的回归可以被描述为具有多个维度(等于模型中的特征数量)。
但我在这里写的实际上并不是关于“维度”的定义 2,而是关于“维度”的定义 1(如上定义)。这是因为当我学习将维度作为模型特征时,我在平行时间线上将维度视为与涉及视频游戏网格的个人项目相关的空间范围(待讨论)。然而,只有在讨论 K 最近邻算法时,这两个宇宙才发生碰撞,作为特征的维度是根据作为空间范围的维度来描述的(K 最近邻算法实际上是测量从一个点到另一个点的距离确定分类),评论说大维空间有点奇怪(我用我自己的话来解释这个评论)。
很久以前我就有一个想法,要开发一款符合古代风格的低成本游戏 Ambrosia Software 开发的 Escape Velocity 系列 (我玩了后来的迭代之一)。 Escape Velocity 涉及在太空中扮演飞行员的角色,并提供了玩家想要做的任何事情的一般自由,包括交易商品、接受任务和与海盗作战等等。我小时候玩过它,发现它既非常令人沮丧又非常引人入胜。
多年后,我和兄弟认为开发一款类似的游戏会很有趣,但采用 NetHack 的风格,并开始用 Perl 搭建游戏引擎,但在完成了几个模块后就放弃了。就在几个月前,为了大大提高我的 Python 流畅度,我决定再次选择这个项目作为 Python 练习,并且与大多数个人项目一样,它有点跑得太远了。
在编写代码来管理二维网格(代表宇宙)的过程中,我开始怀疑是否可以将这个网格扩展为包含 3 个维度。所以我拿了代表二维平面的代码并尝试将其转换为 3 维空间的表示。但后来我意识到这种转换只是一个迭代步骤,没有什么能阻止我从一个 3 维空间中迭代创建一个 4 维空间。自然是第 5 维和第 6 维紧随其后,我很快就有了一些代表 N 维点的代码。
在这个过程中,我认为更高的维度会很奇怪,但是当我完成这些编码的过程时,我发现它们一点也不奇怪。事实上,任何维度都可以看作是它之前的维度的自然延伸。所以一点……
0 Dimensions
…可以扩展到一条线…
1 Dimension
…可以扩展到飞机…
2 Dimensions
...可以扩展到一个高平面,或一个具有高度/深度/等的平面......
3 Dimensions
…(可以表示为一个立方体),然后可以扩展到表示在一条线上行进的 3 维空间(我听说过 4 维用来描述时间,这对我来说很有意义)…
4 Dimensions — the cube represents dimensions 0 through 3
…然后可以通过允许 3 维空间 2 维在其中发挥作用来扩展到 5 维空间(我们可以将其描述为交替的时间线,但是是流动的而不是离散的——在这一点上,时间的线性不断移动的性质有点像比喻一样分解)......
5 Dimensions — we now have 3 dimensions traveling in 2 dimensions
......然后可以进一步扩展(进一步,进一步......)
6 Dimensions — “time” is now a 3-dimensional space that the physical 3 dimensions floats around in
作为一种计算机算法,描述这些空间非常容易——它们只是数字上的数字。由于数字是衡量的基础,所有这些维度都完全由上述牛津语言定义描述,因为它们都可以用一串数字来描述。
在写这篇文章的过程中,我问自己:为什么这很重要?好吧,这与我正在学习的东西有关。在这种情况下,我不是在学习东西,而是发展一种对事物的直觉,甚至发现我已经知道但必须通过某种方式(在这种情况下与机器交互)提出的东西。我认为这是柏拉图的苏格拉底对话梅诺,苏格拉底通过教授几何学(或某些数学学科)而不实际“教授”它,发展了学习是从内部发现而不是从外部接受的想法。这就是这里发生的事情吗?编写计算机代码的过程是否揭示了我对以前隐藏的空间维度的理解?
实际上,可能不是。维度实际上是至少在我知道的一个领域中研究过的东西:理论物理学。在优雅的宇宙中,Brian Greene 描述了围绕弦理论的研究,以及在可见的 3 维空间内可能发现包含多个相互折叠的更高维度的现实。这项研究得到了比我脆弱的网格算法更复杂的数学支持,所以也许我的直觉是错误的。但是,当计算机可以轻松地在超出人的直接感官直觉的维度框架内工作时,这个框架怎么会出错呢?作为一个文明和文化,我们不是需要计算机来解决这些问题吗?
这让我回到了我的起点,但时间线转移到了对计算机辅助知识的评论。是的,作为直观的概念,很多维度可能开始变得非常奇怪,甚至疯狂,但是如果计算机理解多维空间,我们是否有充分的理由不相信计算机呢?我们是否有充分的理由在任何情况下都不信任计算机(当然,假设是中性算法)?我希望我还没有学到的东西会给我这个问题的答案,我希望答案是“不”。因此,我将继续重写我的太空交易类 Rogue 视频游戏引擎,以充分利用至少 4 个维度的可玩网格!
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明