机器学习--集成学习

Ensemble Learning(集成学习)

        Using multiple learners to solve the problem.(使用多个模型来解决问题)

同质集成:每一个模型都是同样的

异质集成:每一个模型都是不同的

如何得到好的集成?

## 集成要起作用时,每个个体都要好而且做的不一样

“多样性”(diversity)是关键

误差-分歧分解(error-ambiguity decomposition)

                E = \bar{E} - \bar{A}

E(Ensemble error):把很多模型结合起来当成一个学习器

\bar{E}(Ave.error of individuals):学习器里面的每一个个体的错误的平均(平均性能)

\bar{A}(Ave."ambiguty" of individuals):平均的ambiguity (diversity),即个体之间的差异度

# 希望学习器误差小:①每一个个体的误差小 -> \bar{E}

                                   ②个体间的差异大 -> \bar{A}

                                => 每个个体要好而不同

# 事实上,我们无法找出误差最小的集成。Why?👇

        ①ambiguity (diversity)没有一个可操作的定义 -> ground truth 我们无法知道,所以无从得出

        ②error-ambiguity只是对回归问题得到的分解,只是在square loss的情况下才能得到的分解

        所以,误差-分歧分解只是理论上对于我们直觉的支撑,并不能提供一个直接可操作的方法

集成学习方法

1.序列化方法

· AdaBoost 

· GradientBoost

· LPBoost

……

2.并行化方法

· Bagging

·Random Forest

· Random Subspace

……

base learning agorism (基学习算法)

        放入数据,然后生成很多个同类型模型的算法,里面的学习器叫base learner(基学习器)

同质集成的难点在于:如何保持每个模型个体之间的差异

异质集成的难点在于:alignment(配准),因为不同模型产生的输出是不能直接比较的 

=> 集成学习中重点关注同质集成

Boosting

代表:XGBoost

Boosting基本流程:

# Data:得到第一个数据集后对其权重进行采样,做对的权重下降,做错权重上升,然后根据变化后的权重再采样,得到第二个数据集。

## 前面面对的是较简单的问题,越后面所面对的问题越难 -> 前面的学习器性能会好一点 -> 最后结果需要加权结合(权重由算法本身决定)

Bagging

代表:RandomForest (RF)

        运用可重复采样得到很多个数据集,再在每一个数据的基础上做模型,再把这些模型全部结合起来(投票做分类,平均做回归)

Bagging基本流程:


多样性度量

        “多样性”(diversity)是集成的关键

多样性度量一般通过两分类器的预测结果列联表定义

度量方法:

· 不合度量(disagreement measure)

· 相关系数(correlation coefficient)

· Q-统计量(Q-statistic)

· k-统计量(k-statistic)

……

However

 **      没有公认的多样性定义/表述,

         “什么是多样性”仍然是集成学习的圣杯问题        

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值