当前位置: 首页 > ds >正文

机器学习中的集成算法与 k 均值聚类算法概述

在机器学习领域,集成算法与聚类算法是两类重要的技术方法。前者通过组合多个学习器提升模型性能,后者则专注于无监督场景下的数据分析与分组。以下结合相关 PPT 内容,对这两类算法进行详细梳理。

一、集成算法:组合多个学习器的协同学习

集成算法(集成学习)的核心思想源于 “集体智慧”—— 将多个个体学习器的判断进行综合,往往能得到比单一学习器更优的结果。其本质是通过构建并结合多个学习器完成学习任务,关键在于如何有效 “结合” 个体学习器的输出。

1. 集成学习的结合策略

集成结果的生成主要依赖三种策略:

简单平均法:直接对多个个体学习器的输出取平均值(适用于回归任务)。

加权平均法:为不同学习器分配权重(权重非负且总和为 1),通过加权求和得到最终结果,更重视表现优异的学习器。

投票法:针对分类任务,采用 “少数服从多数” 原则,即多个学习器对样本的预测中,占比最高的类别为最终结果。

2. 集成算法的分类

根据个体学习器的生成方式,集成算法可分为三类:

(1)Bagging:并行化的集成方法

Bagging(全称 bootstrap aggregation)通过并行训练多个分类器,最终取平均或投票结果。其核心是 “bootstrap 抽样”—— 有放回地从训练集中采样,为每个学习器构建不同的训练数据,降低个体学习器的相关性。 随机森林是 Bagging 的典型代表,其 “随机” 体现在两方面:数据采样随机、特征选择随机;“森林” 则指由多个决策树并行组成。 随机森林的优势包括:能处理高维数据且无需特征选择、可评估特征重要性、支持并行计算、结果易可视化。在 sklearn 中,通过RandomForestClassifier(分类)和RandomForestRegressor(回归)实现,关键参数有树的数量(n_estimators)、是否采用袋外评估(oob_score)等。

(2)Boosting:串行化的集成方法

Boosting 通过串行生成个体学习器,后一个学习器会基于前一个的表现调整训练数据权重(错分样本权重提高),最终按学习器的准确性分配权重并组合。 AdaBoost是 Boosting 的典型代表,步骤为:

  1. 初始化样本权重(所有样本权重相同);
  2. 训练弱分类器,根据分类结果调整权重(正确分类样本权重降低,错误分类样本权重提高);
  3. 重复训练新的弱分类器,直至满足停止条件;
  4. 组合所有弱分类器,准确性高的学习器权重更大。
(3)Stacking:分阶段的聚合方法

Stacking 是一种 “暴力聚合” 策略,可整合多种分类器(如 KNN、SVM、随机森林等)。其核心是分阶段训练:第一阶段用不同分类器对数据预测,得到中间结果;第二阶段以中间结果为输入,训练新的模型生成最终输出。

二、k 均值算法:无监督的聚类方法

k 均值算法是聚类算法的经典代表,属于无监督学习(无标签数据),核心是将相似数据分到同一组(簇),实现数据的自然分组。

1. 聚类的核心概念

无监督学习:无需人工标注标签,模型自动从数据中发现规律。

聚类目标:使同一簇内数据相似度高(类内紧密),不同簇数据相似度低(类间分散)。

难点:聚类结果的评估(无标签参考)、参数调优(如簇数量 k 的确定)。

2. 距离度量:判断数据相似度的标准

聚类中常用两种距离度量:

欧式距离:衡量多维空间中两点的绝对距离,如二维空间中为\(\sqrt{(x_1-x_2)^2+(y_1-y_2)^2}\),n 维空间中为各维度差值平方和的平方根。

曼哈顿距离:衡量两点在标准坐标系上的绝对轴距总和,如二维空间中为\(|x_1-x_2|+|y_1-y_2|\)。

3. k 均值算法的步骤

  1. 初始化:随机选择 k 个样本作为初始簇中心;
  2. 聚类分配:计算每个样本到 k 个簇中心的距离,将样本分配到最近的簇;
  3. 更新中心:计算每个簇内所有样本的均值,作为新的簇中心;
  4. 迭代收敛:重复步骤 2-3,直至簇中心稳定(或达到最大迭代次数),输出最终聚类结果。

4. 算法评估与优缺点

CH 指标:用于评估聚类效果,通过计算类内紧密度(样本与簇中心的距离平方和)和类间分离度(簇中心与全局中心的距离平方和),值越大说明聚类效果越好(类内越紧密、类间越分散)。

优点:原理简单、计算快速,适合常规数据集,复杂度与样本量呈线性关系。

缺点:k 值需人工预设(难确定最优值)、对初始簇中心敏感、难以处理非凸形状的簇。

5. 实现与参数

在 sklearn 中,可通过make_blobs生成聚类数据集,关键参数包括样本数(n_samples)、特征数(n_features)、类别数(centers)等;通过KMeans实现聚类,核心参数有簇数量(n_clusters)、最大迭代次数(max_iter)等。

总结

集成算法通过组合多个学习器提升性能,Bagging、Boosting、Stacking 分别以并行、串行、分阶段方式实现;k 均值算法则通过距离度量和迭代优化,实现无监督数据的聚类分组。两类算法在机器学习中应用广泛,前者适用于分类、回归等监督任务,后者适用于数据探索、分组等无监督场景,理解其原理与特性有助于更好地选择和应用算法。

http://www.xdnf.cn/news/18564.html

相关文章:

  • uniapp跨域怎么解决
  • Go 并发编程-channel
  • 详解开源关键信息提取方案PP-ChatOCRv4的设计与实现
  • AI客服系统架构与实现:大模型、知识库与多轮对话的最佳实践
  • Android为ijkplayer设置音频发音类型usage
  • 【C2000常见问题】JTAG仿真器类型和JTAG Debug定位方法
  • 机器学习核心算法笔记:集成学习与聚类算法
  • springboot人事管理系统源码和论文
  • c#语言的学习【02,函数重载】
  • GPT5 / 深度研究功能 无法触发
  • 网络流量分析——基础知识(二)(Tcpdump 基础知识)
  • HTTP/2 性能提升的核心原因
  • 笔记本电脑Windows+Ubuntu 双系统,Ubuntu无法挂载Windows的硬盘 报错问题解决
  • nginx-重定向-正则表达式-路由匹配优先级
  • 最新react,vue 解决无法使用js触发点击,解决方案
  • SamOutVXP: 轻量级高效语言模型
  • 通信工程学习:什么是Camera Calibration相机标定
  • WaitForSingleObject函数详解
  • python测试开发django-1.开始hello world!
  • 机器学习--聚类算法、集成算法
  • 集中式负载均衡 vs. 分布式负载均衡
  • 银河麒麟V10防火墙下访问NFS共享:端口开放全攻略
  • WindowsAPI|每天了解几个winAPI接口之网络配置相关文档Iphlpapi.h详细分析七
  • uniapp实现分页,效果如图
  • C++——C++重点知识点复习2(详细复习模板,继承)
  • 大模型部署
  • 基于随机森林的红酒分类与特征重要性分析
  • DeepSeek辅助编写的将xlsx格式文件中sheet1.xml按需分别保留或去掉标签的程序
  • 服务器间大文件迁移
  • 领域专用AI模型训练指南:医疗、法律、金融三大垂直领域微调效果对比