第2章
机器学习可行吗——计算学习理论

If you do not understand computational learning theory,you do not understand machinelearning deeply.

引言

胡峦才斯蒂文孟凡田都是研究机器学习的,他们都觉得自己的水平高。有一次,他们举行了一场比赛,3个人的模型在训练集中的表现完美,模型的输出标签和样例的目标标签完全一样。

在训练集中表现好不算什么,要判断模型的好坏,还要看其在测试集中的表现。让人惊讶的是,他们的模型在测试集中输出的结果完全不同,如下表所示。

假设特征x=[x1x2] 中的x1x2只能取0和1。

胡峦才是指“胡乱猜”,用抛硬币的方式得到结果0和0。

斯蒂文是指笔者,用决策树得到结果1和0。

孟凡田是指“猛翻天”,用神经网络得到结果1和1。

仅从模型上看,孟凡田的模型优于斯蒂文胡峦才的模型,真的是这样吗?假设目标函数y=cx)可以是下表中第一列里的任意一个。

由上表可知,使用这3种目标函数会得出3种不同的结论。上表中显示的结论就是机器学习中大名鼎鼎的“无免费午餐”(No Free Lunch,NFL)定理[1]。对于所有模型(无论是高级模型还是初级模型),它们的期望表现都是相同的!一切脱离具体问题来讨论机器学习模型优劣的行为都是“耍流氓”。

现在你有没有一种被冷水浇头的感觉:

既然胡峦才孟凡田的模型期望表现相同,那么还有什么可学习的?

目标函数是未知的,完美地预测样本内数据不算什么,只有在样本外数据上表现好才能称得上是真正的学习,但样本外数据又是未知的,机器能学习到吗?机器学习是一种骗局吗?

如果说机器学习没什么可学习的,或是一种骗局,那么本书到第1章也就结束了。幸运(或不幸)的是,机器学习是可学习的,但是需要从概率的角度来学习。本章的思维导图如下。