优先考虑什么工作
系统设计实例:
给定一个数据集的电子邮件,我们可以构建一个向量的每一封电子邮件。在这个向量的每个条目代表一个字。该向量通常包含10000到50000个条目,这些集合是通过查找数据集中最常用的词来收集的。如果在电子邮件中找到一个词,我们将把它的条目指定为1,否则如果找不到,该条目将是0。一旦我们所有的X向量准备好了,我们就训练我们的算法,最后,我们可以用它来分类一封电子邮件是否是垃圾邮件。
所以你如何花你的时间,提高分类的准确性?
1.收集大量的数据(例如“蜜罐”项目,但并不总是工作)
2.形成精妙的变量(例如:使用垃圾邮件电子邮件标头数据)
3.开发算法用不同的方法来处理你的输入(在垃圾邮件识别拼写错误)。
很难说出哪一个选择将是最有帮助的。
误差分析
推荐的方法来解决机器学习问题是:
1.从一个简单的算法开始,快速实现它,并在交叉验证数据上尽早测试它。
2.绘制学习曲线来决定如果更多的数据,更多的变量,是否有帮助。
3.手动检查交叉验证集中的示例中的错误,并试图指出大多数错误产生趋势。
例如,假设我们有500封邮件,我们的算法的误分了100人。我们可以手动分析100电子邮件和分类基于他们是什么类型的电子邮件。然后我们可以想出新的线索和特征,