模型的偏差和方差的权衡和讨论其实是贯穿在整个机器学习理论当中的。机器学习的每一个算法或者模型都有对这两方面的判断和取舍。今天在看scikit-learn文档关于集成学习的论述中又提到偏差和方差,所以我想谈一谈我对这两个概念的理解。
集成学习
集成学习是一种组合类型的学习方法。它采用多个基分类器组合成一个总分类器,能够达到单个基分类器所达不到的效果。根据将多个基分类器集成在一起的方式,集成学习主要分为两类:
- 平均方法:例如随机森林, Bagging methods。在平均方法中,系统分别去建立多个基分类器,分类器之间没有任何联系。然后在分类或者回归阶段,各个分类器根据测试数据给出自己的答案,然后系统根据各个分类器给出的结果去综合出最后的结果,比如可以使投票的形式。
- 提升方法:例如梯度提升决策树GBDT,AdaBoost。在提升方法中,系统模型在训练过程中会先后建立一系列分类器,这些分类器单个可能是弱分类器,但是组合起来就成为一个强分类器。
平均方法通常比其任何一个基分类器效果好因为尝试去降低模型的方差,而提升方法尝试去降低模型的偏差。
方差和偏差
关于方差和偏差的讨论网上已经有很多,这里给出几个:
http://www.zhihu.com/question/27068705