Kaggle 快速模型之 Random Forrest 随机森林
随机森林 RF 在 Kaggle 大名远播,称霸很久。
那么,我们这里就先聊聊原因。以下分析来自 University of San Francisco, CS 硕士课程。
随机森林(文中记为 RF)有以下 5 个优点:
1。用法:RF 支持针对连续对象的回归算法,也支持针对离散对象的分类算法。
2。过拟合:RF 不太容易过拟合,因为 RF 本质上是模型集成(model ensemble),从 Leo Breiman 的理论来看 RF 也不会因为 树 数量的增加,而导致过拟合,因为这些数都是集合在一起的单独模型,效果不好的树会被 downvote。但是使用 out of bagging 的方法是推荐来帮助 RF 减少过拟合的方法,就是保留一个 validation 数据集在多个模型中选取评价指标更好的模型。
3。范化能力:RF 的范化能力也比较好,比较能够处理异常值,不太容易出现波动。
4。数据分布要求:不像线性模型,RF 也不要求数据分布符合正态分布,来得到统计结果上的近似。因此任意的数据分布都可以使用 RF。
5。特征工程:对于一些简单的线性模型,为了增加特征,我们往往需要增加 这样的特征来作为模型的输入,帮助模型构建更多的特征。但是在 RF 中,这些基础的特征工程是不必要的。但是,需要记得,额高阶特征工程可以帮助增加 RF 的精度(类似日期上的处理,提取出月份,周数等)。
6。数据预处理:类似神经网络需要对数据作预处理来得到 0 ~ 1 之间的数据分布,在 RF 这里往往都不太需要,因此 RF 对于数据的要求也不高。
讲完了 RF 的特性之后,我们似乎发现 RF 是万能,但是他真的这么万能麻?我们再来看看 机器学习届广为流传的两个理论,在 RF 上是不是也会存在。
a。高维诅咒:这个理论是说随着数据纬度的增加,即数据特征的增加,所有的数据都会十分的分散,使得计算数据点之间的距离变得没有意义,也就是说模型的预测变得不可能实现。当然理论上的确是可以如此证明,这个理论在数学上完全没有问题。但是到了实际的世界上,我们的所有数据其实互相之间是存在依赖的,因此你会发现,这个高维距离始终有意义,并且真实地提供模型预测。
b。无免费的午餐理论:这个理论名字就很明显,没有一个模型可以适用于各种数据。当然,从数学理论上可以验证这个结论。但是在实际的工作中,RF 是相对比较全面的一个模型,我们总是可以用他先作出一个 benchmark ,再来优化。尤其是 Kaggle 等赛事上,对模型的精度要求十分明确,我们无需在数据的其他层面上(如收集、确认等)作任何的工作。RF 是很适合开始的模型。
那下节内容,我们就可以说说理论以外的操作了。