你可能会觉得,事物空间[1](Thingspace)是一个相当庞大的空间。它比现实世界大得多,因为现实世界只包含实际存在的事物,而事物空间则包含了所有可能存在的事物。
事实上,按照我那种「为每一种可能的属性(甚至包括密度、体积和质量这种相互关联的属性)都设定一个维度」的定义方式,事物空间的定义可能太过松散,以至于你根本无法衡量它的大小。但无论如何,能够在脑海中想象出事物空间是非常重要的。如果一个人看到的仅仅是一群扑腾着翅膀、叽叽喳喳的活物,而不是事物空间中的一簇数据点,那他肯定无法真正理解一群麻雀到底是怎么回事。
然而,尽管事物空间已经如此广阔,但与概念空间(Conceptspace)的规模相比,它简直不值一提。
在机器学习领域,「概念(Concept)」指的是一条决定包含或排除哪些样本的规则。如果你看到这样一组数据:{2:+, 3:-, 14:+, 23:-, 8:+, 9:-},你大概会猜到背后的概念是「偶数」。关于如何从数据中学习概念,有着汗牛充栋的研究文献(这也难怪)……比如给定随机样本、给定特挑样本……考虑分类中可能存在的误差……以及最重要的一点:在各种不同形式的可能规则空间中进行学习。
例如,假设我们想要学习「适合打网球的日子」这个概念。「日子(Days)」的潜在属性包括:
| 天空: | {晴朗, 多云, 下雨} |
| 气温: | {温暖, 寒冷} |
| 湿度: | {正常, 高} |
| 风力: | {强, 弱}。 |
接着,我们获得了以下数据,其中 + 代表符合该概念的「正例」,- 代表不符合的「反例」(负分类):
| + | 天空: 晴朗; | 气温: 温暖; |
| 湿度: 高; | 风力: 强。 | |
| − | 天空: 下雨; | 气温: 寒冷; |
| 湿度: 高; | 风力: 强。 | |
| + | 天空: 晴朗; | 气温: 温暖; |
| 湿度: 高; | 风力: 弱。 |
面对这些数据,算法应该推断出什么呢?
一个机器学习算法可能会将符合这些数据的某个概念表示如下:
{天空: ?; 气温: 温暖; 湿度: 高; 风力: ?}。
在这种格式下,为了判断该概念是否接受某个样本,我们逐个元素进行比对:「?」可以接受任何值,而特定的值只接受该特定的值。
因此,上述概念只会接受那些「气温=温暖」且「湿度=高」的日子,而无论天空和风力状况如何。这完美契合了迄今为止数据中的正例和反例——尽管它并不是唯一符合数据的概念。
我们还可以将上述概念表示简化为:
{?, 温暖, 高, ?}。
不深入探讨具体细节,这类问题的经典算法流程如下:
- 维护一个集合,其中包含符合当前数据的「最一般假设(most general hypotheses)」——也就是在不违背既有事实的前提下,条件最宽松、能涵盖尽可能多正例的假设。
- 同时维护另一个集合,包含符合数据的「最特殊假设(most specific hypotheses)」——也就是在不违背事实的前提下,条件最苛刻、排除尽可能多反例的假设。
- 每当我们看到一个新的反例,我们就对所有「最一般假设」进行尽可能轻微的收紧(加强限制),以确保在符合新事实的同时,假设集合依然尽可能地保持宽泛。
- 每当我们看到一个新的正例,我们就对所有「最特殊假设」进行尽可能轻微的放宽,以确保在符合新事实的同时,假设集合依然尽可能地保持严格。
- 如此不断循环,直到两个集合收敛,只剩下唯一的一个假设。如果我们要找的目标概念确实存在于我们预设的假设空间中,那么这个剩下的假设就是答案。
在上面的例子中,最一般假设的集合将是:
{{?, 温暖, ?, ?}, {晴朗, ?, ?, ?}},
而最特殊假设的集合则只包含一个成员:{晴朗, 温暖, 高, ?}。
任何你能找到的其他符合数据的概念,都必定严格比「最一般假设」集合中的某个假设更具体(更严格),并且严格比「最特殊假设」更宽泛。
(如果想深入了解这方面的知识,我推荐 Tom Mitchell 所著的《机器学习》,上面这个例子就是改编自该书。[1])
现在,你可能会注意到,上述这种表示格式并不能涵盖所有可能存在的概念。比如,「只要天空晴朗或者天气温暖,就去打网球」。这条规则同样符合目前的数据,但在我们刚才定义的表示格式中,你找不出任何一个四个值的组合来描述这条规则。
很显然,我们这个机器学习算法的通用性不够强。为什么不干脆让它能够表示所有可能的概念呢?这样它不就能以极大的灵活性进行学习了吗?
「日子」由这四个变量构成,其中一个变量有 3 种取值,另外三个各有 2 种取值。所以我们总共可能会遇到 种不同组合的「日子」。
我们刚才采用的概念表示格式,允许我们要求某个变量必须是特定值,或者对该变量不作限制(留空为「?」)。因此,那种表示方法总共能表达 种概念。为了让前面提到的「最一般/最特殊算法」能够运行,我们还需要加入一个极其严格的初始假设:「不接受任何样本」。加上它,总共就是 109 种概念。
可能存在的概念数量(109)居然比可能出现的日子组合(24)还要多,这不可疑吗?当然不:毕竟,一个概念完全可以被看作是一堆日子的集合。一个概念可以等同于它所判定为正例的那些日子的集合,或者等价地说,等同于它判定为反例的日子的集合。
因此,能够对这些「日子」进行分类的所有可能的概念空间,实际上就是这 24 种日子的所有可能子集的集合(幂集),其大小为 种。
这个完整的、庞大的空间,不仅包含了我们之前讨论过的所有概念,还包含了一些诸如「只接受 {晴朗, 温暖, 高, 强} 和 {晴朗, 温暖, 高, 弱} 这两个日子,拒绝其他一切」或者「只拒绝 {下雨, 寒冷, 高, 强} 这一天,接受其他一切」的概念。它包含了大量根本无法用简洁规则来表示的概念,只能通过简单粗暴地列出一份「允许清单」和「禁止清单」来表达。
而这,正是试图构建一个「完全通用」的归纳学习器所面临的致命问题:在它穷尽观察到实例空间中的每一个可能样本之前,它根本无法学会任何概念。
如果我们给「日子」增加更多的属性——比如水温,或者明天的天气预报——那么可能的日子组合数量将随着属性数量呈指数级增长。但这对于我们之前那种受限的概念空间来说并不构成威胁,因为你只需消耗对数级别数量的样本,就能在一个庞大的空间中迅速锁定目标。
假设我们给日子增加了一个「水温:{温暖, 寒冷}」的属性,这使得可能出现的日子变成了 48 种,而可能的概念变成了 325 种。假设我们每观察到一天的数据,通常都能被当前觉得合理的概念中大约一半判定为正例,另一半判定为反例。那么,当我们知晓了这个样本的真实分类后,就能把剩余可能概念的空间直接砍掉一半。因此,我们可能仅仅需要 9 个样本( ),就能将 325 种可能的概念精准锁定到一个。
即使「日子」拥有 40 个二元属性(只有「是/否」两种取值的属性),我们也依然只需要完全可控的数据量,就能把可能的概念缩小到唯一的一个。如果每个样本都能排除掉一半的剩余概念,64 个样本就足够了。当然,这一切的前提是:那个真实存在的规则,必须是我们这种受限格式能够表示出来的!
如果你妄图去考虑所有可能存在的分类规则,好吧,祝你好运。包含所有可能概念的空间,其规模将随着属性数量的增加呈超指数级(super-exponentially)暴涨。
当你面对包含 40 个二元属性的数据时,可能的样本组合数量就已经超过了一万亿——但是可能存在的概念数量,却已经突破了 2 的一万亿次方( )。为了在那个超指数级的概念空间中锁定目标,在你能确定哪些样本属于该类别、哪些不属于之前,你必须得观察超过一万亿个样本。事实上,你必须把每一种可能出现的样本都看个遍才行。
请注意,这还仅仅是 40 个二元属性。区区 40 个比特,或者说 5 个字节的信息,只是被简单地分类为「是」或「否」。而这 40 个比特就意味着有 种可能的样本,以及
种能够对这些样本进行正负分类的可能概念。
因此,在我们所处的这个现实世界中,描述一个物体所需要的信息远不止 5 个字节,我们也无法获取一万亿个学习样本,而且训练数据中还存在大量噪音,所以我们只能,甚至可以说连想都只能去想那些高度规则、结构极其简单的概念。一个人类的大脑——哪怕是整个可观测宇宙的算力加起来——也远远不足以大到去考量所有那些乱七八糟的假设。
从这个角度来看,学习不仅仅是依赖于归纳偏好(inductive bias),学习几乎完全等同于归纳偏好——当你比较一下那些被我们先验排除掉的、庞大到无法想象的杂乱概念数量,再对比一下仅仅通过证据排除掉的概念数量时,你就会明白这一点。
那么(你可能会问),这跟如何正确使用词汇有什么关系呢?
这正是词汇必须同时拥有内涵和外延[2]的根本原因。
在上一篇文章[3]中,我得出了这样一个结论:
顺着现实大自然的关节进行切分的真正方法,正是围绕着存在异常高概率密度的聚集区,来划定你的分类边界。
我在那句(经过轻微修饰的)断言中,故意遗漏了一个极其关键的限定词,因为直到现在我才有能力解释它。一个更准确的说法应该是:
顺着现实大自然的关节进行切分的真正方法,正是围绕着事物空间中存在异常高概率密度的聚集区,来划定简单的边界。
否则,你只会像政客为了选举利益强行重划选区那样(gerrymander),在事物空间里胡乱划线。你会创造出极其怪异、毫不相连的边界,仅仅是为了把那些你恰好观察到的孤立样本圈在一起。这些样本根本无法用任何比你原始观察记录更短的信息[4]来描述。然后你还振振有词地说:「这不过是我以前见过的情况的汇总,我也期望未来能看到更多类似的情况。」
在现实世界中,任何超越分子层面的事物都不会出现绝对的重复。苏格拉底的身形跟所有那些容易被毒芹毒死的人类非常相似,但他绝不会长得跟他们一模一样。所以,你猜测苏格拉底是「人类」,依赖的是在事物空间中围绕着人类聚类画出一个简单的边界。而不是搞出一个极其复杂的规则:「只要形状完全等同于[一份 5 兆字节的形状参数描述 1],并且带有[一大堆其他特定特征];或者完全等同于[另一份 5 兆字节的形状参数描述 2],并且带有[一大堆其他特定特征]……的东西,就是人类。」
如果你不能用简单的边界来圈定你的经验,你就无法用它们来进行任何推断。这就是为什么你会试图用诸如「旨在引发观众某种反应而设计出来的事物」这样的内涵定义来描述「艺术」[5],而不是仅仅拿手指着一长串的清单,说「这些是艺术,那些不是」。
事实上,上面那句关于「如何顺着现实大自然的关节进行切分」的断言,带有一点「先有鸡还是先有蛋」的死循环意味:除非你已经试着进行了切分(划定了某种边界),否则你根本无从评估实际观察结果的密度。而且,概率分布恰恰是源于你划定边界的方式,而不是反过来——如果你已经拥有了完美的概率分布,你就已经具备了进行完美推断所需的一切,那你何苦还要费心去划什么边界呢?
这向我们昭示了另一个——没错,又一个——对「你可以随心所欲地定义一个词」这一主张保持警惕的理由。当你意识到概念空间(Conceptspace)那超指数级的恐怖规模时,你就会明白,能够从中单独拎出一个特定的概念来进行考量[6],绝非一件微不足道的小事,甚至可以说是胆大包天——不仅对我们人类,对任何计算能力有限的心智都是如此。
向我们抛出一个名为「wiggin」的词,并定义其为「黑头发绿眼睛的人」,却给不出任何理由来说明为什么值得将这个特定的概念提升到我们刻意关注的层面;这就好比一个侦探对你说:「好吧,对于是谁谋杀了那些孤儿,我手里连一星半点的证据都没有……不仅没证据,我甚至连一点直觉都没有……不过,我们有没有考虑过把家住诺克尔路 1234 号的约翰·Q·威弗尔海姆(John Q. Wiffleheim)列为嫌疑人呢?」
[1] Tom M. Mitchell, Machine Learning (McGraw-Hill Science/Engineering/Math, 1997).
总目录:
《理性:从人工智能到僵尸》导读与目录卷:
第三卷:灵魂中的机械章节:
人类词语指南上一篇:
互信息与事物空间中的密度下一篇:
条件独立与朴素贝叶斯Thoughts Memo 汉化组译制
感谢主要译者 gemini-3.1-pro,校对 Jarrett Ye
原文:Superexponential Conceptspace, and Simple Words
参考
1. 事物空间的聚类结构 ./2050179140419072823.html2. 外延与内涵 ./2048453159417386565.html
3. 互信息与事物空间中的密度 ./2059600041661272639.html
4. 熵与简短的编码 ./2057779518157370998.html
5. 在哪里划定边界? ./2057532415229301412.html
6. 爱因斯坦的傲慢 https://hpmor.xyz/ai2zb_24/