Day94:欠拟合Underfitting与过拟合Overfitting

偏差与方差
计算对象
偏差和方差的计算是不同模型对同一个样本的预测结果的偏差和方差 。 而不是同一个模型对不同样本的预测结果的偏差和方差
【Day94:欠拟合Underfitting与过拟合Overfitting】计算位置
偏差-方差的计算是在测试集中进行的 。 在训练过程中使用的是损失函数 , 通过损失函数不断地优化 , 达到终止条件后 , 训练出来一个模型 。 然后在这个训练得到的模型的基础上 , 在测试的时候 , 才知道自己的模型是否泛化能力比较好(即过拟合 , 欠拟合 , 符合条件)
方差:描述的是样本上训练出来的模型在测试集上的表现
偏差:描述的根据样本在训练集上训练出来的模型 , 根据模型拟合出的输出预测结果的期望与样本真实结果的差距
计算过程
①样本的真实标记 , ②样本在训练集中的标记(可能含噪声) , ③样本在训练时每次得到的输出标记
噪声(noise):样本在训练集的标记②与样本的真实标记①的误差平方的均值 , 即②-①的平方的均值 。
偏置(bias):训练模型时 , 每一次训练得到的训练集预测标签与原始真实标签的偏离程度(即③与①的差) 。 如果此偏离程度过小 , 则会导致过拟合的发生 , 因为可能将训练集中的噪声也学习了 。 在训练的时候 , bias理论上应该是逐渐变小的 , 表明我们的模型正在不断学习有用的东西 。 【当然这是针对只有一个训练集的情况下 , 如果有多个训练集 , 就计算出样本在各个训练集下的预测值的均值 , 然后计算此均值与真实值的误差即为偏差】
方差(variance):训练模型时 , 每一次得到的训练集预测标签 , 但是此时是最终一次训练以后得到的所有标签之间的方差且与真实标签无关(即③本身的方差) , 即计算这些预测标签的均值 , 再计算(每一个标签-均值)的平方和 。 可以想象 , 刚开始方差肯定是很小的 , 因为刚开始学习 , 啥都不会 , 即使对于有或者无噪声的数据 , 我们都无法做出精准判断 , 然而随着学习的进行 , 有些我们会越学越好 , 但是会越来越多地受到噪声数据的干扰 , 方差也会越来越大 。
误差(error):预测标记与训练集中标记的误差(③和②的差) 。
Day94:欠拟合Underfitting与过拟合Overfitting
文章图片
偏置刻画了学习算法本身的拟合能力 , 如果拟合能力不好 , 偏置较大 , 出现欠拟合;反之拟合能力过好 , 偏置较小 , 容易出现过拟合 。
偏置与方差的关系如下图所示
Day94:欠拟合Underfitting与过拟合Overfitting
文章图片
中间大红色点的是这个样本的真实标签 , 小小的蓝色点是不同模型的预测结果
最好的模型就是低偏差低方差 , 这样所有的模型觉得这个图片所属的标签相同 , 同时标签是真实标签
横排第二张图 , 所有的模型有不同的观点 , 导致预测结果方差很大 , 但是他们的预测结果都在真实标签附近徘徊 , 可能有点过拟合了
第二排的第一列 , 所有的模型都认为这个样本属于同一个标签 , 但是这个标签并不是真实标签 , 这就明显预测错误 , 有可能是模型刚初始化 , 所有权重都比较小且接近 , 也没训练 , 导致欠拟合 。
第二排第二列 , 所有的模型都各抒己见 , 同时他们判断的结果与真实结果天差地别 , 这种情况我也不知道怎么称呼 , 不过训练久了一般不会出现这种情况吧 。
综上 , 训练模型时 , 通常会先出现方差小偏差大的情况 , 随后偏差慢慢减少 , 方差慢慢增大的情况(这种情况下可能过拟合 , 如下图)
Day94:欠拟合Underfitting与过拟合Overfitting
文章图片
过拟合的情形
如果模型够好 , 也可能会出现偏差慢慢减少 , 方差慢慢减少的情况 , 这是最理想的结果 。
Day94:欠拟合Underfitting与过拟合Overfitting
文章图片
理想的情形
欠拟合与过拟合的特点
欠拟合的特点在于它具有比较小的方差 , 但是却有着比较大的偏置(即与正确答案的偏离方向);
过拟合虽然有着较小的偏置 , 但是却有着较大的方差 , 随着模型复杂程度的增大 , 模型的效果会先提高后降低(因为过拟合了)


    推荐阅读