线性支持向量机是一种划分样本空间的方法,而这句话所说的“划分样本空间的方法”,在这个机器学习案例中可表述得更为具体:我们找到了一种关于垃圾邮件的判别方法,一旦输入了邮件的“邮件长度”和“收件人数量”两项信息,该方法就能无歧义地确定代表判定结果的点所在的位置和类型,换言之,得到这封邮件的分类结果。这种方法就是我们通过机器学习得到的一个能解决问题的模型。
一个能解决实际问题的机器学习模型的输出应该符合该学习过程中训练集里的已知样例,满足这个条件的模型应该有无穷多个。在机器学习的定义中介绍过,模型是机器学习过程的输出结果,通常由一组可被计算的条件概率分布或决策函数构成。所有可能被选择的函数,就被称为该模型的“假设空间”(Hypothesis Space)。选择模型便是采取一种适当的学习策略(如支持向量机),在大量数据的支持下,从假设空间中筛选出一个最恰当的模型。
至于如何确定最恰当模型的标准、用何种方法来得到这个最恰当的模型,就回到各个学习策略对应的损失函数、损失函数的意义以及如何解决和优化损失函数等问题上。本节提到的“在空间中插一根‘棍子’然后扩大其宽度直至触碰到两侧的支持向量”,只是一种形象化的思路介绍,如何使其在数学中可计算、在计算机上可执行,还是必须转化为找到一个优化算法,使得分界线距离两侧支持向量的边距最大这个问题,用数学语言来表述就是支持向量机的Hinge 损失函数的几何意义,一旦优化得到了 Hinge 损失函数的数值解,便得到了“最恰当的模型”。
6.6.7 泛化、误差及拟合
至此,我们似乎已经找到了一个可以区分是否垃圾邮件的模型,但是该模型只是排除了许多实际必须考虑的情况之后的理想状态的模型。接下来,笔者要把邮件过滤系统从教学案例向现实稍微推进一步:前面的例子仅使用“邮件长度”和“收件人数量”两个特征就把垃圾邮件和非垃圾邮件从训练集的所有邮件中划分出来了,实际上这是笔者精心安排的训练数据,现实中的邮件分类问题肯定不可能如此简单,否则大家就不会今时今日还不断受到垃圾邮件的骚扰了。
第 6 章 机器学习概览
205