本文是吴恩达《机器学习》视频笔记第66篇,对应第6周第8个视频。主要内容为设计一个机器学习系统的注意事项和经验分享。以垃圾邮件分类系统为例进行讲解。

需求分析:假设要构建一个有监督学习的二分类系统,用于判断邮件是否为垃圾邮件(y=0)或正常邮件(y=1)。通过特征向量x来表示邮件,其中常用词库包含100个垃圾邮件或正常邮件的词汇。通过判断邮件中这些常用词的出现情况,生成一个分量为0或1的向量,作为邮件的特征值。

实际工作中,常用词库的量会很大,一般为10000~50000个,并根据出现频率自动挑选。分类器的任务是根据邮件的特征向量判断邮件是否为垃圾邮件。

接下来需要对分类器的前期预处理算法进行优化,包括以下几个方面:

1. 构建监督学习器的训练样本集,包括已标记垃圾邮件和正常邮件的一系列邮件样本。例如“honeypot”项目,该项目创建了许多假邮箱地址用于接收大量垃圾邮件。

2. 优化邮件的特征向量,如加入邮件的路由信息、邮件标题等作为特征值。

3. 在进行特征提取时,考虑一些复杂情况,如“deal”和“Dealer”是否应被视为同一个词。

以下是重构后的内容:

第四,对一些垃圾邮件中故意使用的错误拼词进行处理,比如med1cine这样的词可能是medicine的伪装。

总结

在机器学习系统的前期预研阶段有很大的灵活性,需要根据实际应用场景进行分析。而且这些方法具有很多随机性,可能是开发小组通过多次碰头会讨论出来的结果,也可能是某个成员灵机一动想出来的招数。那么,在这些可能的处理方案中哪些是靠谱的呢?应该用什么样的方法去验证这些“点子”呢?

接下来,我们可以学习一下视频方面的内容。

希望这能帮到你!还有什么我可以帮忙的吗?