机器学习-组合方法

Ensemble methods(集成方法)

机器学习中的集成方法指结合若干个简单的基模型,最后得到一个相对复杂的预测模型。具体为对不同算法得到的结果通过某种方式集成在一起,或者对相同算法的参数组合在一起得到最后结果。常见的集成方法可分为平均方法(Average methods)和提升方法(Boost methods),本文对这两种方法做些简单介绍,主要对提升方法中的若干问题进行一些总结。

1. Average methods(平均方法)

这里主要以比赛中用到比较多的随机森林(Random Forests)进行介绍。随机森林在python中的sklearn.ensemble目录下,而在R中包名为randomForest。

主要思想是:首先对训练数据集有放回地行采样,再列采样即对特征采样,建立若干决策树。当有新的输入样本时,由这些决策树投票得到最后结果。因为其行列采样都是随机的,因此,一般情况下就算不剪枝也不会出现过拟合。

随机森林分类回归具体算法:
1. for (b = 1:B):
(a) 通过自举法(bootstrap)在训练数据集中获得大小为N的样本Z。
(b) 根据自举法得到的数据建立树 Tb 。对树的每个节点递归地重复下面的步骤,直到到达最小节点数量 nmin
i. 在p个特征中随机选择m个特征。
ii. 在m个特征中选择最佳分裂特征。
iii. 把该节点分裂为两个子节点。
2. 输出组合树 [Tb]B1 .
预测:对一个新的输入点x
回归: f^Brf(x)=1/BBb=1Tb(x)
分类:令 C^b(x) 为第b棵树的分类结果,则 C^rf(x)=[C^b(x)]B1

2. Boost methods(提升方法)

2.1 Adaboost算法

用于处理二分类问题。基本思想是:通过一系列的迭代,提高那些被前一轮弱分类器错误分类样本的权值,而降低那些被正确分类样本的权值;加大分类误差率小的弱分类器的权值,使其在表决中起较大的作用,减小分类误差率大的弱分类器的权值,使其在表决中起较小的作用。

2.1.1 具体算法:
  1. 初始化训练数据的权值分布:
    D1=(w11,...,w1i,...,w1N),w1i=1/N,i=1,2,...,N
  2. for (m = 1:M):
    (a) 根据具有权值分布的训练数据 Dm 训练数据,得到基本分类器:
    Gm(x):x{ 1,+1}

    (b) 计算 Gm(x) 在训练数据集上的分类误差率:
    errm=i=1NwmiI(Gm(xi)yi)

    (c)计算 Gm(x) 的系数:
    αm=12log1errmerrm

    (d) 更新训练数据集的权值分布:
    Dm+1=(wm+1,1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值