机器学习模型 bias 和 variance 的直观判断

  假设我们已经训练得到 一个模型,那么我们怎么直观判断这个 模型的 bias 和 variance?

  直观方法:

    如果模型的 训练错误 比较大,并且 验证错误 和 训练错误 差不多一样,都比较大,我们就认为这个模型 是 高bias 的,或者说 它是 underfit 。

    如果模型的 训练错误 比较小,但是 验证错误比较大 远大于 训练错误,我们就认为这个 模型 是 高variance,或者说它是 overfit。

  直观解释:

    如果一个模型是高 bias 的(underfitting),那么可以认为这个模型 不仅没有很好的表示 测试数据集上数据内含的结构,而且它也没有很好表示 整体数据集 上数据内含的结构;

    如果一个模型是高 variance的(overfitting),那么通常认为这个模型 很好的表示了训练集上数据内含的结构,

      但是,我们要明白:

        首先,从统计学上的观点看,这个训练数据集 是真实整体数据集 的一个样本数据集,所以,数据集不一定完全内含整体数据集的结构;

        其次,这些数据都是测量来的,往往都存在误差,不管是测量上的,还是系统本身就有的,这些误差本身也会有某些结构;

      如果训练的模型 也内含了这些误差的结构,那么...

    总之,不管上面哪种情况或者还是同时出现,即使 训练得到的模型很好的拟合了训练集,训练错误很小;但,当推广 或者 泛化 到新的数据集上时,这个模型的预测结果 就会下降很多。

posted @ 2016-01-15 17:08  simplelovecs  阅读(875)  评论(0编辑  收藏  举报