第一章 机器学习概述
为什么要使用机器学习
思考一下,如果使用传统的软件编程技术,该如何编写一个垃圾邮件过滤器?:
-
首先你需要观察典型的垃圾邮件都有哪些特征。也许你会注意到,一些特定的单词或者短语在标题中出现的较多。或者你还会在发件人,邮件内容中发现的一些特定的模式。
-
你要写一个检测算法,对你所发现的所有特征一一检验,如果在邮件中检验到了一定数量的特性,则会把它标记为垃圾邮件。
-
你还需要测试你的代码,重复步骤1和步骤2,直到它表现的足够好。
图1-1 传统的解决方案
尽管问题并不复杂,你的程序还是会变成一长串复杂的规则,极难维护。
与之对应的,一个基于机器学习的垃圾邮件分类器程序能够通过探测垃圾邮件相比较于正常邮件频繁出现的特定特征,从而能够自动学习哪些单词和短语往往预示着垃圾邮件。这样的程序要简短,而且易于维护,而且一般说来会更加准确。
图1-2 机器学习解决方案
此外,如果垃圾邮件发送者发现还有“4U”的邮件被拦截了,他们也许会改写“Fo