假设我们有一封邮件,其内容如下:
发件人:cheapsales@buystufffromme.com
收件人:ang@cs.stanford.edu
主题:立即购买!
本周特价!立即购买!
劳力士手表——100美元
药品(任何种类)——50美元
还有超低利率的抵押贷款可供选择。
邮件中充斥着各种促销信息,很有可能是一封垃圾邮件。如果我们有一个包含垃圾邮件的数据集,并希望通过机器学习的方式学会识别垃圾邮件,这个案例可以帮助我们了解机器学习系统的构建过程。
我们用向量x表示垃圾邮件的特征向量,该向量包含100个按字母顺序排列的常见垃圾邮件词汇特征,如折扣、特价、立即购买等。
我们将y标签定义为该邮件是否为垃圾邮件。
垃圾邮件分类是一个二分类问题,可以通过逻辑回归实现。为了降低分类错误率,我们需要采取以下措施:
针对机器学习模型的学习过程,吴恩达教授给出了一些建议:
举例来说,如果有500个交叉验证样本,模型错误分类了其中100个样本。我们需要分析这些被错误分类的邮件类型,是假冒伪劣的推销邮件、医药邮件还是钓鱼邮件?找出有助于区分这些邮件的特征。
假设在这100个错误分类的样本中,有53个是钓鱼邮件。那么我们需要考虑如何让模型识别钓鱼邮件。进一步分析后发现,这53封钓鱼邮件中有5封故意使用错误拼写,16封来自可疑发件人,32封使用了大量夸张的标点符号。因此,在识别钓鱼邮件时,更应关注标点符号这一特征,而不是拼写错误。