小编给大家分享一下DM集成学习的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
创新互联建站是一家专业提供亚东企业网站建设,专注与网站设计制作、成都网站建设、H5页面制作、小程序制作等业务。10年已为亚东众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。
在解决分类问题时,假如分类模型不够强大,对样本的分类结果就不会很理想。这时如果我们多找一些分类模型,让它们一起做决策,模型强度会不会高一点呢?
集成学习就是把多种分类器按策略组合起来,并根据所有分类器的分类结果做出最后的判断。
如下图,三种分类器的分类结果都有一点点错误,如果把三类组合在一起就可以完美地把所有形状都区分开,而且分割曲线也较为平滑。
集成学习属于监督学习中的分类问题,分为boosting和bagging两大类。
一、Bagging
如何得到不同的分类器呢?我们可以调整同一训练模型的不同参数,或者使用不同的训练样本训练不同的模型。
有放回的采样(Bootstrap Samples):
每次拿出一个小球,记录之后放回。这样既保留了数据规律,又得到了不同的训练样本。
Bagging算法框架如下图:
根据有放回采样(选出F%的样本)训练出T个分类器,分别对测试样本进行分类,然后投票决定测试样本到底属于哪类。
少数服从多数,所有分类器的地位完全等同。
二、基于决策树的Bagging:RandomForests,RF
n个样本,有放回的取出n个样本,取n次。当n趋近于无穷的时候,大概有2/3的样本被选过。
剩下的1/3(out of bag,OOB)正好可以去做测试。
随机森林:
树的数量为500较为合适(满足要求即可)。为了生成不同的树,首先对样本用有放回的采样随机选取出样本,使用不同的属性对树进行分层。
样本属性数量,我们随机选取个属性对树进行划分。这样可以有效加快树的建立过程。
三、Boosting
Boosting中分类器的生成过程并不是平行的,下一个分类器的生成是根据上一个分类器中分类对错情况来决定的。
而且在boosting中又增加了一个分类器,把所有子分类器的输出当作该判别器的输入,而且对每条输入都设置了权重。分类器对权重进行训练、学习后得到分类结果。
Boosting框架如下图所示:
Boosting伪代码:
四、Adaboost
Adaboost算法是boosting中的一个门类,算法思想与boosting一致。可以证明,adaboost的误差上界会随着训练的进行而越来越小。
Adaboost算法框架如下:
D1(i)表示每个样本的权重,如果某些样本之前被分错了,它们的Dt+1(i)就会增大,之后分类器对这些样本划分时就会越关注。
表示样本训练误差。由生成,同时也表示每个分类器的权重。
Adaboost算法中的参数设置很少,训练过程几乎全靠数据驱动。而且随着迭代代数的增加,训练并不会出现过拟合的情况。
但因为最终的分类结果由50(或更多)个分类模型组合得到,所以分类依据的可解释性并不好。
如下图为adaboost算法在matlab中的实现。将50个简单的线性分类器组合起来,就能形成一条相对复杂的分割界面。
以上是“DM集成学习的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款