大白话5分钟带你走进人工智能-第二十八节集成学习之随机森林概念介绍(1)

                                                      第二十八节集成学习之随机森林概念介绍(1)

从本系列开始,我们讲解一个新的算法系列集成学习。集成学习其实是怎么样去应用决策树解决一些问题。

在机器学习领域集成学习是一种非常简单直接的提升分类器回归器预测效果的一种思路。决策树有一个困境,当层数太深的时候会有过拟合问题,当我不想过拟合,就通过预剪枝给它砍掉一部分深度,此时损失又容易太大了,导致在训练集上预测的又不怎么准。所以对于决策树很难去找到一个权衡的点,让它既损失小一点,又别过拟合了,很难通过预剪枝来判断到底应该剪到哪层最好,有可能剪到哪一层都不太好,于是就产生了集成学习的那种思路。

集成学习是搞出一堆树来,然后让每一棵树都做一个预测,最后大家投票,比如说搞出了一百棵树,来一条新数据,一百棵树会给你一百个结果,那么这一百个结果是一样的还是不一样的,取决于怎么训练的这一百棵数。拿一份数据去训练一百棵,一千棵,一万棵都是一模一样的,已经注定了,因为它的评价标准都是一样的。但假如你通过某种手段,认为一百棵树彼此不太相同,它们预测结果也会有的相同,有的不相同,少数服从多数,最终预测出来的结果就是集成学习学完的结果。

上面每一颗树就是一个弱分类器,所以我们总结下集成学习的思路是:

1.训练出若干的弱分类器,或者弱回归器,它们都比较弱。

            2.把数据交给每一个弱分类器,得到一个结果,再把所有预测结果统一在一起。不同的机器学习的策略,会用不同的方式来运用最终的结果。

我们举个例子来说明下:

假设你有15个朋友给你出主意投资股票,怎么做最终的决定?假如说只有买或不买两个选项,那怎么决定到底买还是不买?第一个思路是假如15个人里14个都说买,一个说不买,我就听从他们意见就买了。这是一个直观的想法,所有朋友的意见投票, 少数服从多数第二个思路是可以根据朋友靠不靠谱去判断一下,要不要多考虑一下他的意见,比如有一个人投资回报率是80%,有一个人投资回报率是-200%,现在两个人一个说买,一个说不买,那么就着重的听投资回报率高的朋友。所以这就是选择最牛x的一个朋友的意见当做自己的意见。第三个思路假如做的好的投一票顶五票,做得比较差的投一票就顶一票。最后四个挺弱的人都说买,一个大师说不买,你也会听大师的,因为它手里的票数比较多。那么就会给他们分配不同的票数,比较厉害的人票数多一点,比较差的票数少一点,最后做一个带着票数的不均匀的投票。这就是投票 牛x一点的朋友多给几票, 弱鸡一点的少给几票。假设现在有一个一辈子买什么都跌的人,从来没买中过一次,跟你说买,另外一个投资回报率100%的人也说买,那到底结果是买还是不买,落实到机制上来说,就是一些分类器,你给它负的票,也可以给你提供一个信息量。最后我们再综合考虑。

对于15个朋友投票的问题来说,能有显而易见的两种策略,一种叫均匀投票,一种叫做带权重的投票。 所谓带权重的投票是,你厉害我就更重视一点,你表达的意见对最终结果的影响更大一点。而均匀投票代表所有人的意见我认为你们都是一视同仁的。

这两种策略如何决定?什么时候使用?取决于这15个朋友是什么样的,如果15个朋友水平差不多,投票更合理,因为从主观意愿去给一些人更大的权重,最后模型的效果一般不会好。假如15个朋友参差不齐,那么我们可能对那些靠谱或者牛X一点的朋友的意见考虑的更大些,实际上就是对他们的每个人的投票结果给予不同的权重。这种均匀投票的方式就是随机森林,而带权重投票的方式叫Adaboost。这是两种不同的集成学习的方式。

我们用数学形式来表达下上面两种不同的思路,Aggregation是聚合的意思,我们集成学习是把若干的弱分类器的预测结果聚合到一起,汇总成一个结果

第一种:所有朋友的意见投票, 少数服从多数

                          

G(\mathbf{x})=\operatorname{sign}\left(\sum_{t=1}^{T} 1 \cdot g_{t}(\mathbf{x})\right) \quad G(\mathbf{x})=\frac{1}{T} \sum_{t=1}^{T} g_{t}(\mathbf{x})

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wspgsj.html