本节的标题是机器学习的一般过程,也许读者看到这个过程后,会误认为机器学习的步骤似乎是有迹可循、有律可依的,从数据清洗、特征提取,到模型选择,只要按部就班地跟着操作,就能得到一个能映射真实世界的模型。这完全是一种错觉,机器学习解决问题的过程是充满灵活性的,从如何把问题设计出来,把现实世界中的问题提炼成一个机器学习处理的问题开始,就需要处理者对问题本身有深刻的洞察才行。数据清洗、特征筛选、模型选择、模型优化、模型验证这些步骤,都伴随着好坏优劣的价值判断,这些判断不存在统一的标准和方法,均需要处理者深入具体问题,甚至需要不断尝试才能得出满意的结果。目前的机器学习理论距离实现自动化,不再需要人类去参与的算法,还是相当遥远的。
6.6.2 样本和样本空间
训练过程的第一步是确定建模的训练样本,本实战中建模的数据来源是邮件服务商已有的邮件服务器中的电子邮件,每一封参与训练的电子邮件都可以被视为一个训练“样本”(Instance)。样本是一种包含了若干关于某些事实或者对象的描述的数据结构,譬如,“邮件的发件人叫‘周志明’”是一个描述。再如,“这一封邮件是垃圾邮件”或者“这封电子邮件不是垃圾邮件”也是一个事实描述。不过,这样的描述已经是直接的结论了,不需要任何其他处理就能完成邮件分类,也根本不需要用机器学习来解决。对于需要用到机器学习来解决的问题,样本描述的事实通常都是间接的、隐晦的,很多情况下甚至无法用明确的语言描述出这些属性与最终结论有什么联系,这种描述某个隐含事实的信息,被称为样本的“属性”(Attribute)。每个样本应当由若干个属性所组成,样本的属性也经常被称作样本的“特征”(Feature),譬如一封电子邮件的特征可能是下面这样的:
186
第三部分 第三波高潮