运用机器学习的建议

调试一个算法

假设你实现了一个用来预测房价的线性回归算法,你的目的是最小化代价函数

[Jleft( heta  ight) = frac{1}{{2m}}left[ {sumlimits_{i = 1}^m {{{left( {{h_ heta }left( {{x^{left( i ight)}}} ight) - {y^{left( i ight)}}} ight)}^2}}  + lambda sumlimits_{j = 1}^n { heta _j^2} } ight]]

然而,当你用新的数据去测试你的hθ(x)时,你发现你的预测结果误差很大以至于无法接受,你接下来该怎么办?

以下有几种方案

  • 获取跟多训练样本---->解决“high variance”
  • 选择减少特征---->解决“high variance”
  • 选择增加特征---->解决“high bias”
  • 增加多项式特征(x12, x22, x1x2, etc.)---->解决“high bias”
  • 增加λ---->解决“high variance”
  • 减小λ---->解决“high bias”

人们往往花费很多的时间去做自己认为对的方法改善算法的结果,其实有一些简单的方法就可以确定问题出在哪里

机器学习诊断(Machine learning diagnostic)

Diagnostic: A test that you can run to gain insight what is/isn't working a learning algorithm, and gain guidance as to how best to improve ites performance.

Diagnostics can take time to implement, but doing so can be a very good use of your time.

诊断:你可以运行并从内部知道一个学习算法为什么可以/不可以正常工作,并获得有关如何最好地提高它的性能的指导。

诊断可能需要一段时间才能实现,但这样做可以很好地利用你的时间。

原文地址:https://www.cnblogs.com/qkloveslife/p/9883215.html