上面这个例子里,收件人数量从 1 到 2 所带来的结果变化是显而易见的,建模过程似乎简单到有点粗糙的地步,不过这已经足够揭示机器学习建模的基本思路了:通过各种方法,包括但不限于选定适当的策略、优化算法,根据训练集中蕴含的信息找出最相关的特征和合理的模型结构等,实现让模型的输出结果与实际结果差异最小。请读者特别注意黑体部分的文字,这就是所有监督学习的共同目标。
我们把邮件分类问题这个特例向用监督学习解决问题的思路推广,会得到以下更具普适性的结论:使用符号f代表模型的决策函数,这个模型接收真实世界的输入x,将f(x)的输出记作 $y _ { \mathrm { ~ o ~ } } ^ { \prime }$ 由于模型只是对真实世界的模拟,所以输出值 $y ^ { \prime }$ 与真实世界中的实际值y是存在差异的,而机器学习中性能高低的度量标准,就是追求这个差异值的最小化程度,模型输出与真实值的差距越小,模型性能就越好。我们把衡量实际值y与模型输出值 $y ^ { \prime }$ 间差距大小的函数称作“损失函数”(Loss Function,有些资料中也称为“成本函数”或“代价函数”,Cost Function),记作 $^ { * } \mathrm { L o s s } ( y , y ) ^ { * }$ 或者直接用f(x)代替 $y ^ { \prime } ,$ ,把损失函数记作 $^ { * } \mathrm { L o s s } ( y , f ( x ) ) ^ { * }$
损失函数虽然是机器学习中的入门知识,却是整个统计机器学习的核心和精髓,现在机器学习的所有研究,很大一部分都是围绕着如何找到合适的损失函数、如何优化损失函数来进行的。统计机器学习中主要的模型和算法,如线性回归、逻辑回归、支持向量机、Boost 算法、神经网络等,本质上都是基于不同的损失函数建立起来的,尽管各有自己的思想和依据,但从损失函数的角度来看,它们在数学原理上有共通之处。稍后要介绍的关于过拟合的处理内容,还有前面数据预处理中只提到名字的 $\mathrm { L } _ { 1 }$ 正则项(如何用 $\mathrm { L } _ { 1 }$ 正则项做特征提取)等,所依赖的正则项(惩罚函数)也都是服务于损失函数,以损失函数修正项的形式存在的,这些知识同样需要基于损失函数去理解。
第 6 章 机器学习概览
197