周志华《机器学习》课后习题(第八章):集成学习

简介: 周志华《机器学习》课后习题(第八章):集成学习

image.png

image.pngimage.png


8.3 从网上下载或自己编程实现 AdaBoost,以不剪枝抉策树为基学习器,在西瓜数据集 3.0α 上训练一个 AdaBoost 集成,并与图 8.4进行比较。


答:

代码在:

https://github.com/han1057578619/MachineLearning_Zhouzhihua_ProblemSets/tree/master/ch8--%E9%9B%86%E6%88%90%E5%AD%A6%E4%B9%A0

这里题目有点问题,如果以不剪枝决策树为基学习器,可以生成一个完美符合数据的决策树,此时AdaBoost就没意义了,因为第一颗树错误率就为0了,样本权重也不会发生改变。

所有这里代码是限定树的深度为2,但训练到第四颗树,错误率就已经到0了,下图给出来的决策边界,其实基本上就是第四颗树的决策了,因为错误率为0,其权重太大。

image.png


8.4 GradientBoosting [Friedman, 2001] 是一种常用的 Boosting 算法,试析其与 AdaBoost 的异同.


答:

这个问题,网上已经有很多总结了:

Gradient Boosting和其它Boosting算法一样,通过将表现一般的数个模型(通常是深度固定的决策树)组合在一起来集成一个表现较好的模型。抽象地说,模型的训练过程是对一任意可导目标函数的优化过程。通过反复地选择一个指向负梯度方向的函数,该算法可被看做在函数空间里对目标函数进行优化。因此可以说Gradient Boosting = Gradient Descent + Boosting。
和AdaBoost一样,Gradient Boosting也是重复选择一个表现一般的模型并且每次基于先前模型的表现进行调整。不同的是,AdaBoost是通过提升错分数据点的权重来定位模型的不足而Gradient Boosting是通过算梯度(gradient)来定位模型的不足。因此相比AdaBoost, Gradient Boosting可以使用更多种类的目标函数。

参考:机器学习算法中GBDT与Adaboost的区别与联系是什么?



8.5 试编程实现 Bagging,以决策树桩为基学习器,在西瓜数据集 3.0α 上训练一个 Bagging 集戚,井与图 8.6 进行比较.


答:

代码在:han1057578619/MachineLearning_Zhouzhihua_ProblemSets

以决策树桩作为Bagging的基学习器,效果不太好。尝试了下,设置基学习器数量为21时算是拟合最好的,决策边界如下:

image.png


8.6 试析 Bagging 通常为何难以提升朴素贝叶斯分类器的性能.


答:

书中P177和P179提到过:

从偏差—方差分解的角度看, Boosting 主要关住降低偏差,因此 Boosting能基于泛化性能相当弱的学习器构建出很强的集成.
从偏差—方差分解的角度看, Bagging 主要关注降低方差,因此它在不剪枝决策树、神经网络等易受样本扰动的学习器上效用更为明显.

朴素贝叶斯中假设各特征相互独立,已经是很简化模型,其误差主要是在于偏差,没有方差可降。

ps.同样道理,这也是为什么8.5中,以决策树桩为基学习器的Bagging时,效果很差的原因;决策树桩同样是高偏差低方差的模型。

个人理解:

  • 方差大(偏差低)的模型往往是因为对训练数据拟合得过好,模型比较复杂,输入数据的一点点变动都会导致输出结果有较大的差异,它描述的是模型输出的预测值相比于真实值的离散程度,方差越大,越离散,所以为什么Bagging适合以不剪枝决策树、神经网络这些容易过拟合的模型为基学习器;
  • 偏差大(方差低)的模型则相反,往往因为对训练数据拟合得不够,模型比较简单,输入数据发生变化并不会导致输出结果有多大改变,它描述的是预测值和和真实值直接的差距,偏差越大,越偏离真实值。


8.7 试析随机森林为何比决策树 Bagging 集成的训练速度更快.


答:

决策树的生成过程中,最耗时的就是搜寻最优切分属性;随机森林在决策树训练过程中引入了随机属性选择,大大减少了此过程的计算量;因而随机森林比普通决策树Bagging训练速度要快。

相关文章
手机充电器的兼容性
手机充电器的兼容性主要取决于两个方面:充电器的输出规格和手机的输入规格。
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
人工智能在虚拟客服中的关键作用:提升交互体验与服务效率
人工智能在虚拟客服中的关键作用:提升交互体验与服务效率
692 90
|
传感器 存储 安全
智能包装:食品保鲜与追踪的创新
【10月更文挑战第20天】智能包装通过传感器、微电子和物联网技术,实现实时监测和调节食品环境条件,延长食品保鲜期,确保食品安全。本文探讨其基本原理、技术创新、实际应用及未来趋势,展示其在食品行业中的革命性变化。
|
XML 搜索推荐 前端开发
安卓开发中的自定义视图:打造个性化UI组件
在安卓应用开发中,自定义视图是一种强大的工具,它允许开发者创造独一无二的用户界面元素,从而提升应用的外观和用户体验。本文将通过一个简单的自定义视图示例,引导你了解如何在安卓项目中实现自定义组件,并探讨其背后的技术原理。我们将从基础的View类讲起,逐步深入到绘图、事件处理以及性能优化等方面。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和技巧。
|
监控 安全 区块链
MEV攻击科普:揭秘、危害与防护策略
MEV攻击是加密货币中的现象,攻击者利用信息不对称和交易特权获取超额利润。这种攻击影响用户体验,破坏市场公平,威胁系统稳定并浪费资源。常见形式包括抢先交易、三明治攻击等。避免MEV攻击需采取隐私保护、交易延时、动态 Gas 费调整等策略,同时加强社区协作和使用抗MEV协议。提高用户意识和创新解决方案是应对MEV的关键。
3150 2
|
存储 弹性计算 安全
阿里云服务器租用价格参考,2核4G、4核8G、8核16G最新收费标准
阿里云服务器2核4G、4核8G、8核16G配置租用价格参考,2024年阿里云产品再一次降价,降价之后2核4G配置按量收费最低收费标准为0.225元/小时,按月租用标准收费标准为68.0元/1个月。4核8G配置的阿里云服务器按量收费标准最低为0.45元/小时,按月租用标准收费标准为216.0元/1个月。8核16G配置的阿里云服务器按量收费标准最低为0.9元/小时,按月租用标准收费标准为432.0元/1个月。云服务器实例规格的地域和实例规格不同,收费标准不一样,下面是2024年阿里云服务器2核4G、4核8G、8核16G配置的最新租用收费标准。
阿里云服务器租用价格参考,2核4G、4核8G、8核16G最新收费标准
|
开发者
如何在游戏中实现一个好看的金币效果
如何在游戏中实现一个好看的金币效果
400 1
|
Linux
【ARM】迅为rk3568开发板buildroot添加桌面应用
【ARM】迅为rk3568开发板buildroot添加桌面应用
518 0
|
机器学习/深度学习 算法 Linux
OpenCV实战:从图像处理到深度学习的全面指南
OpenCV实战:从图像处理到深度学习的全面指南
810 0
|
机器学习/深度学习 传感器 算法
【任务规划】基于遗传算法求解多敏捷卫星协同多目标自主任务规划附matlab代码
【任务规划】基于遗传算法求解多敏捷卫星协同多目标自主任务规划附matlab代码