机器学习第二次大作业_18281050_庞金果_18281046_龙敏_18281048 马润生1
在本篇实验报告中,学生团队对机器学习中的两种有监督模型——AdaBoost 和 Bagging 进行了综合对比分析。这两个模型都是集成学习的重要代表,通过结合多个弱分类器来构建一个强大的强分类器。 AdaBoost(Adaptive Boosting)算法是一种迭代的加权分类器。在每一轮迭代中,AdaBoost 会赋予分类错误样本更高的权重,使得后续的基分类器更加关注这些难以分类的样本,从而提高整体模型的性能。在这个实验中,小组成员庞金果使用乳腺癌数据集实现了 AdaBoost,并采用了 k 折交叉验证(这里是 10 折)来评估模型性能。通过比较不同基分类器(如 LinearSVC、决策树和 SVC(rbf))的表现,发现 LinearSVC 在 AdaBoost 中的性能最佳,因为它能很好地处理线性可分的数据,而 SVC(rbf) 因为在本数据集上的不适应导致性能较低。 接着,龙敏负责实现了 Bagging(Bootstrap Aggregating)算法。Bagging 是一种并行的集成方法,它通过从原始数据集中有放回地抽样生成多个子数据集,然后分别训练基分类器,最后通过投票或平均等策略进行集成预测。实验中,团队同样使用了多种基分类器(如 DecisionTree、LinearSVC 和 SVC(rbf)),发现 DecisionTree 在 Bagging 中表现出色,而 LinearSVC 表现不佳,SVC(rbf) 最差。这可能是因为 Bagging 强调的是多样性,而决策树在随机子集上的表现往往能够提供更多的多样性。 对比 AdaBoost 和 Bagging,两者都是提升模型性能的有效方法,但它们的工作机制不同。AdaBoost 侧重于逐步调整样本权重,使分类器聚焦于困难样本,而 Bagging 更倾向于通过多样性的子数据集训练来减少过拟合。在实际应用中,根据数据特性和问题需求,选择合适的集成策略至关重要。 实验展示了集成学习的强大之处,即通过结合多个分类器可以提升整体模型的稳定性和准确性。然而,这也意味着计算成本的增加,因为需要训练和管理多个基分类器。同时,对于自定义实现的 AdaBoost(MyAdaboost)和 Sklearn 提供的 AdaBoostClassifier,存在一定的性能差距,这提示我们在实现复杂算法时需要注意代码的正确性和优化。 从实验结果可以看出,选择适合问题的基学习器是优化集成学习模型的关键。对于特定的数据集和任务,可能需要通过实验比较来确定最佳基分类器。此外,优化集成方法的参数(如 Bagging 中的采样比例,AdaBoost 中的学习率等)也能进一步提高模型性能。
剩余6页未读,继续阅读
- 粉丝: 731
- 资源: 358
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
评论0