【机器学习】集成模型 集成学习:多个模型相结合实现更好的预测_模型集成

本文深入探讨了集成学习中的重要技术,包括演进法(如AdaBoost)和堆叠法(Stacking)。通过比较装袋法(Bagging)和演进法(Boosting),阐述了它们的不同之处。随机森林作为Bagging的一种实现,通过随机选择特征和样本以减少模型间的相关性。AdaBoost则通过迭代调整样本权重,使弱分类器聚焦于难分类样本,构建强分类器。堆叠法则是利用多个模型的预测作为新特征,训练元分类器以提高整体性能。集成学习通过结合多个模型,实现了预测性能的提升和模型稳健性的增强。
摘要由CSDN通过智能技术生成

d

\frac{d’}{d}

dd′​ ;行采样率:

m

n

\frac{m}{n}

nm​ ;如果这两个比值减小,基础模型方差也减小,因此聚合模型的方差也会减少,一般情况固定,不需要认为优化
4. 基础模型的个数 k ,为超参数,可以根据交叉验证进行确认最优
5. 特征重要性:对每个基础模型的特征的信息增益求和,再在各特征中进行比较,较大信息增益为较重要特征

随机森林法的基分类器是随机树:一棵决策树,但每个节点只考虑一些可能的属性。

可以通过下图回忆什么是决策树:
在这里插入图片描述

也就是说随机树使用的特征空间不是训练集全部的特征空间

  • 例如,采用一个固定的比例来选择每个决策树的特征空间大小。
  • 随机森林中的每棵树的建立都比一个单独的决策树要简单和快速;但是这种方法增加了模型的 。

森林就是多个随机树的集合

  • 每棵树都是用不同的袋装训练数据集建立的。
  • 综合分类是通过投票进行的。
    在这里插入图片描述

随机森林的超参数:

树的数量B,可以根据“out-of-bag”误差进行调整。

特征子样本大小:随着它的增加,分类器的强度和相关性都增加

(

l

o

g

2

F

1

)

\left ( \left \lfloor log_{2}\left | F \right | + 1 \right \rfloor \right )

(⌊log2​∣F∣+1⌋)。因为随机森林中的每棵树使用的特征越多,其与森林中其他树的特征重合度就可能越高,导致产生的随机数相似度越大。

可解释性:单个实例预测背后的逻辑可以通过多棵随机树共同决定。

随机森林的特点

  • 随机森林非常强大,可以高效地进行构建。
  • 可以并行的进行。
  • 对过拟合有很强的鲁棒性。
  • 可解释性被牺牲了一部分,因为每个树的特征都是特征集合中随机选取的一部分。

5.3 演进法 Boosting(算法操作)

演进法的思想源于调整基础分类器,使其专注于难以分类的实例的直觉判断。

具体方法:

迭代地改变训练实例的分布和权重,以反映分类器在前一次迭代中的表现。

  • 从初始训练集训练出一个基学习器;这时候每个样本的权重都为。
  • 每个都会根据上一轮预测结果调整训练集样本的权重。
  • 基于调整后的训练集训练一个新的基学习器。
  • 重复进行,直到基学习器数量达到开始设置的值。
  • 将个基学习器通过加权的投票方法(weighted voting)进行结合。

例子:
在这里插入图片描述

对于boosting方法,有两个问题需要解决:

  • 每一轮学习应该如何改变数据的概率分布
  • 如何将各个基分类器组合起来

Boosting集成方法的特点:

  • 他的基分类器是决策树或者 OneR 方法。
  • 数学过程复杂,但是计算的开销较小;整个过程建立在迭代的采样过程和加权的投票(voting)上。
  • 通过迭代的方式不断的拟合残差信息,最终保证模型的精度。
  • 比bagging方法的计算开销要大一些。
  • 在实际的应用中,boosting的方法略有过拟合的倾向(但是不严重)。
  • 可能是最佳的词分类器(gradient boosting)。
5.3.1 演进法实例:AdaBoost

Adaptive Boosting(自适应增强算法):是一种顺序的集成方法(随机森林和 Bagging 都属于并行的集成算法)。

具体方法:
有T个基分类器:

C

1

,

C

2

,

.

.

.

,

C

i

,

.

.

,

C

T

C_{1},C_{2},…,C_{i},…,C_{T}

C1​,C2​,…,Ci​,…,CT​。
训练集表示为

{

x

i

,

y

j

j

=

1

,

2

,

.

.

.

,

N

}

\left { x_{i},y_{j}|j=1,2,…,N \right }

{xi​,yj​∣j=1,2,…,N}。
初始化每个样本的权重都为

1

N

\frac{1}{N}

N1​,即:

{

w

j

(

1

)

=

1

N

j

=

1

,

2

,

.

.

.

,

N

}

\left { w_{j}^{(1)=\frac{1}{N}}|j=1,2,…,N \right }

{wj(1)=N1​​∣j=1,2,…,N}。

在每个iteration i 中,都按照下面的步骤进行:

计算错误率 error rate

ξ

i

=

j

=

1

N

w

j

(

i

)

δ

(

C

j

(

x

j

)

y

j

)

\xi _{i}=\sum _{j=1}^{N} w_{j}^{(i)}\delta (C_{j}(x_{j})\neq y_{j})

ξi​=∑j=1N​wj(i)​δ(Cj​(xj​)=yj​)

δ

(

)

\delta \left ( \right)

δ()是一个indicator函数,当函数的条件满足的时候函数值为1;即,当弱分类器

C

i

C_{i}

Ci​对样本

x

j

x_{j}

xj​进行分类的时候如果分错了就会累积

w

j

w_{j}

wj​。

使用

ξ

i

\xi _{i}

ξi​来计算每个基分类器

C

i

C_{i}

Ci​的重要程度(给这个基分类器分配权重

α

i

\alpha _{i}

αi​)

α

i

=

1

2

l

n

1

ε

i

ε

i

\alpha _{i}=\frac{1}{2}ln\frac{1-\varepsilon _{i}}{\varepsilon _{i}}

αi​=21​lnεi​1−εi​​

从这个公式也能看出来,当

C

i

C_{i}

Ci​ 判断错的样本量越多,得到的

ξ

i

\xi _{i}

ξi​就越大,相应的

α

i

\alpha _{i}

αi​就越小(越接近0)

根据

α

i

\alpha _{i}

αi​来更新每一个样本的权重参数,为了第i+1个iteration做准备:

w

j

(

i

1

)

=

w

j

(

i

)

Z

(

i

)

×

{

e

α

i

i

f

C

i

(

x

j

)

=

y

j

e

α

i

i

f

C

i

(

x

j

)

y

j

w_{j}{(i+1)}=\frac{w_{j}{(i)}}{Z^{(i)}}\times \left{\begin{matrix} e^{-\alpha _{i}} &ifC_{i}(x_{j})=y_{j} \ e^{\alpha _{i}} & ifC_{i}(x_{j})\neq y_{j} \end{matrix}\right.

wj(i+1)​=Z(i)wj(i)​​×{e−

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值