白话机器学习(3):理解机器学习中的 Bias 与 Variance
本文适合人群:对机器学习 Machine Learning 与数据感兴趣的学习者
文章同步公众号:持续学习的杜吉普
温馨提示:阅读本文之前,需对以下内容进行了解并掌握
本文白话什么:
贯穿机器学习的 Bias 与 Variance
本文提纲:
理解 Bias 和 Variance
对于 Bias 和 Variance 的总结
解决 bias 和 variance 平衡问题的三大方法
注:全文无编程,只含有少量计算,文章内容全部尽量通俗易懂化,请尽情享用。
在开始讲 ridge 和 lasso 之前要先打一下基础讲讲机器学习中 bias 和 variance 的问题。原因很简单,为什么会出现 Ridge 和 lasso regression?因为这是一种解决 Bias 和 Variance 平衡 balance 问题的解决方案。
什么是 Bias 和 Variance?
通过一个训练模型的过程,我来给大家讲一讲。
假设我们要对下面的数据建立一个模型,来描述 weight 和 height 的关系。假设通过可视化之后我们知道一条正确表述方程式右图中的那条曲线。但是我们并不知道这条线的方程,我们需要建立模型,来尽可能的描述下面数据的关系。
我们该如何建立呢?
1. 将数据分成 training set 与 test set(训练集与测试集)
我们简单把蓝色的数据作为训练集,绿色的部分作为测试集
2. 接着使用训练集的模型进行模型的建立,比如我们使用 linear regression model 来建立模型。得到下面的这条 linear regression line。但是我们会发现,使用 linear regression model,我们无论如何改变直线的 slope(倾斜角度度),都无法很好的将下面的数据进行拟合(永远无法通过 linear regression 去拟合一条曲线)。
3. 既然我们使用的 regression model 无法很好的拟合数据,那么我们尝试使用另一种模型来更好的拟合我们的 training set。如下图所示,我们得到一个非常“精准”的红色曲线,能够很好的拟合训练集中的每一个数据。这样的模型我们就可以形容:有很小的 bias,因为他能够非常精确的拟合我们的训练数据。
4. 接着我们来对比一下两个模型,一个是一般般凑合的模型,一个是非常非常精准的模型(对于训练集来说)。他们的 sum of squared residuals 很明显,第二个红色曲线模型要更优于左边的的线性回归模型。
5. 但是不要高兴的太早,不要忘记我们还有 test set。接着我们来看一看 sum of squared residuals 在 test set 上的表现:
结果显而易见,明显在 test set 上我们在 training set 上表现普普通通凑凑合合的 linear regression model 是要优于 training set 上表现炸裂几乎不犯错的右边曲线模型的。
即使右边的红色曲线模型在 training set 上表现很好,但是在 test set 上它却表现的很垃圾。这种在不同数据集上表现的差距(可以理解为模型稳定性)我们就称之为模型的 variance。
总结
总结起来,bias 低的模型代表着这个模型在某一个特定训练环境下的表现非常的好。但 bias 低的模型一般 Variance 都很高,因为他在其他相同数据情况下的不同数据集中的表现就很糟糕,可以理解为这个模型的稳定性很差,虽然在训练基地考试的时候表现好,但是一旦去了别的场地考试就歇菜。
但是我们 linear regression 模型的稳定性就更好,虽然在自己的训练基地考试成绩一般般,但是去了别的场地参加考试成绩也还说得过去。这样的模型就是低 bias 但是高 variance。
所以,bias 和 variance 的平衡问题就会一直贯穿着我们的机器学习模型训练过程,我们的目标是需要找到一个平衡点,在训练集上表现不错,同时在测试集及相同应用场景上依旧变现不错。让这个模型的 bias 不低,同时能够有能力在不同的场地考出好成绩。也就是让这个模型不太简单 simple,也不会太复杂 complicated。太过复杂的模型,比如例子中的红色曲线,就是模型的过拟合 overfitting。
解决 bias 和 variance 平衡问题的三大方法
我们将会有三种方法来找到这个平衡点,接下来要讲的 ridge 和 lasso regression model 就是 regularization model 中的一种。而我们经常听到的随机森林模型就是我们 bagging model 的一种。
本文参考信息来源:
SateQuest
---------------------
白话 ML 就到这里,下期预告:Cross Validation 是什么
PS:有任何疑问欢迎留言,本文完全个人浅薄理解,如有不足欢迎评论区指正。
我是杜吉普,致力于 数据+数据技术+商业场景=商业价值
欢迎关注公众号持续学习的杜吉普,让我们共同持续成长。
版权声明: 本文为 InfoQ 作者【杜吉普】的原创文章。
原文链接:【http://xie.infoq.cn/article/3a45b2c5841af92a4442741e4】。文章转载请联系作者。
评论