吴恩达《机器学习》11-1-11-2:首先要做什么、误差分析
一、首先要做什么
选择特征向量的关键决策
以垃圾邮件分类器算法为例,首先需要决定如何选择和表达特征向量 𝑥。视频提到的一个示例是构建一个由 100 个最常出现在垃圾邮件中的词构成的列表,根据这些词是否在邮件中出现来创建特征向量,尺寸为 100×1。
构建分类器算法的决策
对于垃圾邮件分类器,面临多个决策:
-
收集更多数据:获取更多垃圾邮件和非垃圾邮件的样本,以提高算法的性能。
-
基于邮件的路由信息开发特征:利用邮件的路由信息构建一系列复杂的特征。
-
基于邮件的正文信息开发特征:考虑邮件正文信息,包括截词的处理,开发一系列复杂的特征。
-
探测刻意的拼写错误:开发复杂的算法来检测拼写错误,如将 "watch" 写成 "w4tch"。
在这些选项中,决定在哪个方向上投入时间和精力是一个关键的决策。而这个决策不仅仅依赖于数学和模型,更需要智慧的选择。视频中提到,比起凭感觉走,通过系统性的思考和头脑风暴来确定方向会更好。
如何作出明智的选择?
视频强调了在机器学习中,常常需要通过头脑风暴,想出不同的方法来尝试提高算法的精度。实际上,当你能够列出可能的方法时,你可能已经走在了很多人的前面。大多数人不会尝试列出各种可能的方法,而是靠灵感和突发奇想。
误差分析的重要性
在接下来的课程中,将介绍误差分析,探讨如何以更系统的方式从各种方法中选择最合适的方法。这种方法能够帮助你在一堆可能的方法中,选择一个真正有效的方法,从而更有可能进行深入研究并取得显著的进展。
综合来看,系统性地思考和设计机器学习系统是成功的关键之一。在这个过程中,对于特征选择、算法设计和下一步的决策,都需要深入思考和明智的选择,而不是凭感觉随意尝试。这是构建大型机器学习系统时节省时间的关键。
二、误差分析
构建简单而快速的算法
视频强调了在研究机器学习问题时,建议从构建一个简单而快速的算法开始。即便这个算法可能并不完美,通过快速实现并运行,可以迅速得到结果。这一过程通常不需要花费过多时间。
学习曲线和检验误差
绘制学习曲线是判断算法性能的有效方法。通过学习曲线,可以了解算法是否存在高偏差和高方差的问题,以及其他可能的缺陷。进一步的决策可以包括增加数据量、添加更多特征等。
误差分析的重要性
误差分析是机器学习实践中的关键步骤。通过人工检查算法在交叉验证集上产生预测误差的实例,可以发现系统性的规律。观察被错误分类的垃圾邮件和非垃圾邮件,有助于发现算法的短处和提升空间。
通过量化数据进行决策
视频强调了使用量化数据进行决策的重要性。在进行误差分析时,不仅仅依赖于主观判断,而是通过数值评估来决定算法的表现。这样可以更快速地实践新的想法,找出能够提高算法性能的方法。
误差分析的步骤
- 观察错误分类的实例:检查算法在交叉验证集上产生预测误差的实例。
- 分类错误的邮件分组:将错误分类的邮件按照类别分组,例如医药品垃圾邮件、仿冒品垃圾邮件等。
- 检查分类器对每组邮件的预测误差:观察分类器对哪一组邮件的预测误差最大,从而确定优化的方向。
- 思考如何改进分类器:根据观察结果,思考是否缺少某些特征,记录错误出现的次数,以便有针对性地改进算法。
推荐方法
- 实现简单而快速的算法:快速得到初步结果,成为进一步决策的有力工具。
- 绘制学习曲线:通过学习曲线判断算法的偏差和方差问题,决定下一步的改进方向。
- 进行误差分析:在交叉验证集上进行误差分析,观察错误分类的实例,找出系统性规律。
- 量化数据进行决策:依赖数值评估,快速实践新的想法,通过数据判断算法的表现优劣。
参考资料:
[中英字幕]吴恩达机器学习系列课程
黄海广博士 - 吴恩达机器学习个人笔记