算法岗面试题:模型的bias和variance是什么?用随机森林举例
校招在即,准备准备一些面试可能会用到的东西吧。希望这次面试不会被挂。 基本概念 说到机器学习模型的误差,主要就是bias和variance。 Bias:如果一个模型的训练错误大,然后验证错误和训练错误都很大,那么这个模型就是高bias。可能是因为欠拟合,也可能是因为模型是弱分类器。 Variance:模型的训练错误小,但是验证错误远大于训练错误,那么这个模型就是高Variance,或者说它是过拟合。 这个图中,左上角是低偏差低方差的,可以看到所有的预测值,都会落在靶心,完美模型; 右上角是高偏差,可以看到,虽然整体数据预测的好像都在中心,但是波动很大。 【高偏差vs高方差】 在机器学习中,因为偏差和方差不能兼顾,所以我们一般会选择高偏差、低方差的左下角的模型。稳定性是最重要的,宁可所有的样本都80%正确率,也不要部分样本100%、部分50%的正确率。个人感觉,稳定性是学习到东西的体现,高方差模型与随机蒙的有什么区别? 随机森林为例 上面的可能有些抽象,这里用RandomForest(RF)来作为例子: 随机森林是bagging的集成模型,这里: \(RF(x)=\frac{1}{B}\sum^B_{i=1}{T_{i,z_i}(x)}\) RF(x)表示随机森林对样本x的预测值; B表示总共有B棵树; \(z_i\) 表示第i棵树所使用的训练集,是使用bagging的方法