先讲一个故事,著名数学物理学家弗里曼·戴森年轻的时候曾向费米请教,因为他们提出了一个新的理论计算与费米的实验测量结果的相符。费米看了一眼就给否定了,戴森很伤心,但是还是继续请教不对的原因。费米反问道:“你们在计算过程中引入了多少个任意参数?”戴森回答说四个。于是费米讲了一句日后很著名的话:“我记得我的朋友约翰·冯·诺依曼(John von Neumann)曾经说过,"With four parameters I can fit an elephant, and with five I can make him wiggle his trunk"。翻译过来就是,四个参数画大象,五个参数象鼻晃。
费米想表达的意思,是说你这套理论参数太多,什么结果都可以拟合,泛化能力不好。50年后戴森回头再看,费米的结论是对的。
泛化能力,表示模型在新的、独立的测试数据上的预测能力。机器学习的基本目标是对训练集合中样例的泛化。这是因为,不管我们有多少训练数据,在测试阶段这些数据都不太可能会重复出现。所以说,泛化很重要。
有意思的是,有学者用傅立叶变换把大象拟合出来了,并且发表了一篇论文:drawing an elephant with four complex parameters。不过这篇论文也有些投机取巧,用的是复数,说是4个参数,实际上是8个,再加上晃鼻子的一共10个参数。可以看看拟合的效果: