算法岗面试题:模型的bias和variance是什么?用随机森林举例
2021-05-06 13:28
标签:机器学习 jpg kaggle 科学 sum 情况 数据集 如何 概念 校招在即,准备准备一些面试可能会用到的东西吧。希望这次面试不会被挂。 说到机器学习模型的误差,主要就是bias和variance。 Bias:如果一个模型的训练错误大,然后验证错误和训练错误都很大,那么这个模型就是高bias。可能是因为欠拟合,也可能是因为模型是弱分类器。 Variance:模型的训练错误小,但是验证错误远大于训练错误,那么这个模型就是高Variance,或者说它是过拟合。 右上角是高偏差,可以看到,虽然整体数据预测的好像都在中心,但是波动很大。 【高偏差vs高方差】 上面的可能有些抽象,这里用RandomForest(RF)来作为例子: 这里所有的\(z\),都是从所有数据集中随机采样的,所以可以理解为都是服从相同分布的。所以不断增加B的数量,增加随机森林中树的数量,是不会减小模型的偏差的。 【RF是如何降低偏差的?】 我们需要计算\(Var(T(x))\) 先复习一下两个随机变量相加的方差如何表示: 下面转成B个相关变量的方差计算,是矩阵的形式: 这样可以看出来了,RF的树的数量越多,RF方差的第二项会不断减小,但是第一项不变。也就是说,第一项就是RF模型偏差的下极限了。 【总结】 【bagging vs boost】 喜欢的话请关注我们的微信公众号~【你好世界炼丹师】。 微信搜索公众号:你好世界炼丹师。期待您的关注。 算法岗面试题:模型的bias和variance是什么?用随机森林举例 标签:机器学习 jpg kaggle 科学 sum 情况 数据集 如何 概念 原文地址:https://www.cnblogs.com/PythonLearner/p/13189079.html基本概念
这个图中,左上角是低偏差低方差的,可以看到所有的预测值,都会落在靶心,完美模型;
在机器学习中,因为偏差和方差不能兼顾,所以我们一般会选择高偏差、低方差的左下角的模型。稳定性是最重要的,宁可所有的样本都80%正确率,也不要部分样本100%、部分50%的正确率。个人感觉,稳定性是学习到东西的体现,高方差模型与随机蒙的有什么区别?随机森林为例
随机森林是bagging的集成模型,这里:
\(RF(x)=\frac{1}{B}\sum^B_{i=1}{T_{i,z_i}(x)}\)
【个人感觉,是因为不管训练再多的树,其实就那么多数据,怎么训练都不会减少,这一点比较好理解】
直观上,使用多棵树和bagging,是可以增加模型的稳定性的。怎么证明的?
假设不同树的\(z_i\)之间的相关系数为\(\rho\),然后每棵树的方差都是\(\sigma^2\).
\(Var(aX+bY)=a^2 Var(X)+b^2 Var(Y) + 2ab cov(X,Y)\)
\(\rho=\frac{cov(X,Y)}{\sigma_X \sigma_Y}\)
很好推导的,可以试一试。
之前也提到过了boost算法:
一文读懂:GBDT梯度提升
GBDT中,在某种情况下,是不断训练之前模型的残差,来达到降低bias的效果。虽然也是集成模型,但是可以想到,每一个GBDT中的树,所学习的数据的分布都是不同的,这意味着在GBDT模型的方差会随着决策树的数量增多,不断地增加。
文章标题:算法岗面试题:模型的bias和variance是什么?用随机森林举例
文章链接:http://soscw.com/index.php/essay/83228.html