zoukankan      html  css  js  c++  java
  • 运用机器学习的建议

    调试一个算法

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

    [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.

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

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

  • 相关阅读:
    关于字符编码,你所需要知道的(ASCII,Unicode,Utf-8,GB2312…)
    Python基础一
    windows环境下 安装python2和python3
    Python数据类型及常用操作
    Python流程控制
    Python用户交互以及数据类型
    Python介绍以及Python环境搭建
    multiprocessor(下)
    multiprocessor(中)
    multiprocess(上)
  • 原文地址:https://www.cnblogs.com/qkloveslife/p/9883215.html
Copyright © 2011-2022 走看看