大家好,我是爱讲故事的某某某。欢迎大家来到今天的「五分钟机器学习:进阶篇」,这次我们将探讨机器学习中的Bias-Variance Tradeoff。
在阅读今天的内容之前,建议大家先回顾一下之前的文章,了解什么是Overfit和Underfit。这样可以帮助大家更好地理解接下来的内容。
【这部分数学公式推导可以忽略,直接记住结论】
大部分机器学习算法的目标是学习数据中的大致分布,从而应用于未知的情况。为了评估一个监督学习算法的效果,我们通常使用误差来衡量模型预测值与实际值之间的差异。
在之前的视频中,我们介绍了随机森林和AdaBoost这两种算法。它们各自有不同的特点,比如随机森林模型起点较高但天花板较低,而AdaBoost性能天花板较高但起点较低。要理解这些现象,我们需要了解机器学习中的一个重要概念——Bias-Variance Tradeoff。
Bias偏向是指通过学习拟合出的分布期望值与真实分布之间的差距。其数学表达式如下:
[ text{Bias} = E[f^hat{}(X)] - f(X) ]
Variance方差则是指学习拟合出的分布本身的不稳定性。其数学表达式如下:
[ text{Variance} = E[(f^hat{}(X) - E[f^hat{}(X)])^2] ]
以回归问题为例,我们可以通过计算平方差来评估模型的性能:
[ text{Error} = (y - f^hat{}(X))^2 ]
从上述公式可以看出,模型的总误差由三部分组成:Bias的平方、Variance以及不可约误差(Irreducible Error)。
需要注意的是,在上述公式中,( y ) 表示的是预测值,而 ( f^hat{}(X) ) 是学习拟合出的分布。通常我们认为预测值与真实分布之间存在服从高斯分布的随机误差。
为了更好地展示Bias和Variance之间的关系,我们可以参考下面的图形:
靶心代表我们的目标,蓝点代表不同情况下的模型预测结果。可以看到,过高的Bias或过高的Variance都会导致不良结果。理想情况下,我们希望Bias和Variance都尽可能低。Bias低意味着模型预测准确,Variance低意味着模型稳定。
然而,在实际情况中,受限于模型的能力和样本质量,我们很难同时实现Bias和Variance都很低。因此,我们可能会遇到高Bias低Variance、低Bias高Variance或高Bias高Variance等情况。
对于高Bias低Variance的情况,可以理解为模型非常稳定但预测不准,对应的是欠拟合(Underfitting)。
而对于低Bias高Variance的情况,则可以理解为模型有时预测准确但不稳定,对应的是过拟合(Overfitting)。
如图所示,模型的Variance越高,意味着模型往往更复杂,容易过拟合。同样地,Bias越高意味着模型一直不准,属于欠拟合。因此,我们需要找到一个平衡点,使Bias和Variance都尽可能低,从而获得一个好的拟合效果。
例如,在相同的训练数据集上训练决策树时,我们需要调整树的深度。树太深会导致模型复杂度增加,从而过拟合;树太浅则会导致模型过于简单,无法充分拟合数据,从而欠拟合。
通常来说,模型复杂度和模型误差之间的关系可以通过下图表示:
从图中可以看出,随着模型复杂度的增加,如增加更多的参数,可以降低Bias^2。直观来说,更复杂的模型通常学习效果更好。相反,随着模型复杂度的降低,如减少参数数量,也会降低Bias^2。但同时,模型复杂度的降低会导致Variance增加,即模型变得更加不稳定。
因此,为了找到最佳平衡点,我们通常采用交叉验证的方法。具体来说,我们可以预先设定多组不同的超参数设置(如决策树的深度),然后分别训练并比较每组设置的效果,最终选择最适合当前任务的设置。
以上就是今天的「五分钟机器学习:进阶篇」的主要内容。
如果你觉得这篇文章对你有所帮助,欢迎点赞、关注和分享。
你的支持将是我持续创作的动力!
我是某某某。