机器学习算法诊断

一、为什么要进行机器学习算法诊断?

  如果我们在某个数据集上训练得到一个模型假设 h(X),而当我们将这个模型应用到一个新的数据集上,或者说用这个模型来做预测的时候,发现这个模型的预测错误很大,那么我们应该如何做,采取什么办法来 改善 模型 的性能呢?

  办法就是,对算法进行诊断。

二、机器学习算法诊断的定义 

  机器学习算法的诊断,可以看做是对 模型或者算法 做的一个测试。通过 对 训练得到的机器学习模型 进行测试,可以了解到 这个模型在什么情况下工作的很好,什么情况下工作的不好;从而,对如何最好的改善算法性能 得到指导性的知识。

  诊断一个模型,是要花费时间的,但这样做反而会少走弯路,从而更高效率的利用时间 得到 一个 更好的模型。

三、如何评估模型假设?

  方法:

    首先,把数据集分成训练集、测试集(通常比例是 7:3 或者 6:4);

    其次,使用训练集 来训练得到模型假设;

    最后,使用测试集 来评估 模型假设性能。

  简单的例子:

    1)线性回归模型

      使用训练集得到模型,然后使用测试集进行测试,并使用不带规整化的 cost函数 来计算错误

    2) 逻辑回归模型

      使用训练集得到模型,然后使用测试集进行测试,

        计算测试集上的错误时,可以有两种方法:

          a)使用不带规整化的 花费函数 来计算错误

          b)误分类错误(0/1分类错误)

posted @ 2016-01-15 13:29  simplelovecs  阅读(471)  评论(0编辑  收藏  举报