《机器学习》周志华-CH8(集成学习)

8.1个体与集成

  集成学习(ensemble learning)通过构建并结合多个学习器来完成学习任务,有时也被称为多分类器系统,基于委员会的学习。

在这里插入图片描述
  同质”集成“:只包含同种类型的个体学习器,同质集成中的个体学习器亦称“基学习器”,相应的学习算法称为“基学习算法”

  异质“集成”:由不同学习算法生成,不再有基学习法,称“组件学习器”。

  集成学习常获得比单一学习器显著优越的泛化性能,对“弱学习器”尤为明显。

  要想获得好的集成,个体学习器应“好而不同”,即个体学习器要有一定的“准确性”,并且也有差异“多样性”

  以二分类问题 y ∈ { − 1 , + 1 } y\in\{-1,+1\} y{ 1,+1}和函数 f f f为例,假定基分类器错误率为 ξ \xi ξ,对每个基分类器 h i h_i hi有:
P ( h i ( x ) ≠ f ( x ) ) = ξ \begin{equation} P(h_i(x)\neq{f(x)})=\xi \tag{8.1} \end{equation} P(hi(x)=f(x))=ξ(8.1)
  假设集成通过投票要对 T T T个基分类器判断,则超过半数为正确
H ( x ) = s i g n ( ∑ i = 1 T h i ( x ) ) \begin{equation} H(x)=sign(\sum_{i=1}^Th_i(x)) \tag{8.2} \end{equation} H(x)=sign(i=1Thi(x))(8.2)
  集成错误率为:
P ( H ( x ) ≠ f ( x ) ) = s i g n ( ∑ k = 0 T / 2 [ T K ] ( 1 − ξ ) ξ T − K ≤ e x p ( − 1 2 T ( 1 − 2 ξ ) 2 ) \begin{equation} P(H(x)\ne{f(x)})=sign(\sum_{k=0}^{T/2}\left[ \begin{matrix} T \\ K \\ \end{matrix} \right](1-\xi)\xi^{T-K}\leq{exp(-\frac{1}{2}T(1-2\xi )^2)} \tag{8.3} \end{equation} P(H(x)=f(x))=sign(k=0T/2[TK](1ξ)ξTKexp(21T(12ξ)2)(8.3)

  随集成个体分类器数目 T T T增大,集成的错误率将指数级下降,最终趋于零。

  集成学习分两大类:

  • 个体学习器存在强依赖关系,必须串行生成序列化方法。如:Boosting
  • 不存在强依赖关系,可同时生成的并行化方法,如Bagging和随机深林。

8.2Boosting

  Boosting工作机制: 先从初始训练集中训练出一个基学习器,再根据基学习器表现对训练样本分布调整,使先前错的样本后续得到更大关注,基于调整后的样本训练下一个基学习器,反复直到达到指定值 T T T。最终将 T T T个学习器加权结合。

  Boosting族算法最著名的是AdaBoost,比较容易理解的是基于“加性模型”即基学习器线性组和
H ( x ) = ∑ i = 1 T α t h t ( x ) \begin{equation} H(x)=\sum_{i=1}^T{\alpha_t}h_t(x) \tag{8.4} \end{equation} H(x)=i=1Tαtht(x)(8.4)
  其中, T T T<

### 关于周志华机器学习中的集成学习方法与应用 #### 定义与概述 集成学习是一种通过构建并组合多个基础估计器来改进预测性能的方法。这种方法不仅能够提升模型的准确性,还能增强其稳定性[^1]。 #### 基本策略 集成学习主要分为两大类:序列化方法和并行化方法。前者代表性的有Boosting系列算法,在每一轮迭代中调整样本权重使得后续的学习器更加关注之前分错的数据;后者则以Bagging为代表,通过对原始数据集进行重采样得到若干子集用于训练不同的基学习器,最终将这些独立得出的结果综合起来作为整体输出[^2]。 #### 具体实现方式 - **Bagging (Bootstrap Aggregating)** Bagging通过自助法(bootstrap sampling)创建多样化的训练集合,进而训练出一组弱分类器,并采用投票机制决定最终类别标签。随机森林(Random Forests)便是基于这一原理发展而来的著名算法之一。 - **AdaBoost** AdaBoost即自适应boosting, 是一种典型的加权更新方案下的boosting算法。它赋予那些被前序个体学习器错误分类过的样本更高的权重,从而让新的学习器更专注于难处理的部分。随着轮次增加,各成员贡献逐渐累积形成强分类器[^3]. ```python from sklearn.ensemble import RandomForestClassifier, AdaBoostClassifier # 使用RandomForest作为bagging的例子 rf = RandomForestClassifier(n_estimators=100) # 使用AdaBoost作为boosting的例子 adaboost = AdaBoostClassifier(n_estimators=50) X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2) rf.fit(X_train, y_train) adaboost.fit(X_train, y_train) ``` #### 应用场景 集成学习广泛应用于各类监督式学习任务当中,特别是在解决复杂模式识别问题上表现出色,比如图像识别、自然语言处理等领域内的多分类或多标记分类任务。此外,在异常检测方面也有着不俗的表现,例如金融欺诈预警系统等实际案例中均可见到该技术的身影[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Next---YOLO

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值