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

机器学习集成算法与K-means聚类

一、集成算法:“集体智慧” 提升模型性能

集成算法的核心思想是 “集百家之长”,通过组合多个个体学习器的结果,弥补单一模型的局限性,这与 “多个专家判断优于单个专家” 的现实逻辑高度契合。其学习重点可分为以下三部分:

1. 核心基础:结合策略是 “融合” 的关键

集成结果的质量依赖于合理的结合策略,PPT 中明确了三种核心方式:

  • 简单平均法 / 加权平均法:适用于回归任务,加权平均通过给性能更优的学习器分配更高权重,进一步提升精度;
  • 投票法:适用于分类任务,遵循 “少数服从多数” 原则,但需注意个体学习器的多样性 —— 若学习器高度一致,集成可能无法提升性能,甚至起反作用(如 PPT 中 “集成不起作用”“集成起负作用” 的案例)。

2. 三大主流框架:并行与串行的差异

根据个体学习器的生成方式,集成算法分为三类,其逻辑和应用场景差异显著:

3. 实践落地:代码与参数理解并重

PPT 中的 “葡萄酒分类” 练习让我意识到,理论需结合工具落地:

需熟练使用sklearn中的RandomForestClassifier/RandomForestRegressor,关键参数如n_estimators(树的数量,默认 100)、oob_score(是否用袋外数据评估,等价于交叉验证)、bootstrap(是否有放回采样)直接影响模型效果;

理解数据结构(如葡萄酒数据集的 13 个特征、3 个类别)是选择模型和调参的前提。

二、K-Means 聚类:无监督学习中的 “分组工具”

K-Means 是无监督学习中最经典的聚类算法,核心是 “让相似的数据聚在一起”,解决 “无标签数据如何分类” 的问题,其学习重点集中在 “原理 - 评估 - 优缺点 - 实践” 四步:

1. 核心原理:迭代优化簇中心

K-Means 的逻辑简洁但关键步骤环环相扣,需严格遵循四步流程:

  1. 初始化:随机选择 k 个样本作为初始簇中心;
  2. 样本聚类:计算每个样本到各簇中心的距离(常用欧式距离、曼哈顿距离),将样本归入最近的簇;
  3. 更新中心:计算每个簇的样本均值,作为新的簇中心;
  4. 迭代停止:若簇中心收敛或达到最大迭代次数,输出聚类结果。

其中,距离度量是基础 —— 欧式距离适合衡量 “绝对距离”(如二维空间两点距离),曼哈顿距离适合衡量 “轴上距离总和”(如城市中两点的出租车行驶距离),需根据数据特点选择。

2. 结果评估:CH 指标定优劣

无监督学习的难点是 “如何判断聚类效果”,PPT 中的 CH 指标提供了量化标准:

  • CH 指标通过 “类内紧密度”(样本与簇中心的距离平方和)和 “类间分离度”(簇中心与总中心的距离平方和)计算;
  • CH 值越大,代表簇内越紧密、簇间越分散,聚类效果越好,为调参(如 k 值)提供了客观依据。

3. 优缺点认知:合理选择应用场景

K-Means 的特性决定了其适用范围:

  • 优点:算法简单、训练速度快,复杂度与样本数呈线性关系,适合常规结构化数据集;
  • 缺点:k 值需手动确定(是核心痛点),对非球形簇(如环形、条形数据)拟合效果差,且对初始簇中心敏感(需通过n_init参数多次运行优化)。

4. 实践关键:数据生成与参数调参

PPT 中的make_blobsKMeans工具使用是实践核心:

  • make_blobs可生成自定义聚类数据集,关键参数如n_samples(样本数)、centers(类别数)、cluster_std(簇内方差)可控制数据难度;
  • KMeansn_clusters(k 值)、max_iter(最大迭代次数)、random_state(固定随机种子)是调参重点,需结合 CH 指标反复测试,找到最优 k 值。

三、整体总结:两类算法的核心差异与学习启示

维度集成算法K-Means 聚类
学习类型监督学习(需标签)无监督学习(无标签)
核心目标提升预测精度(分类 / 回归)实现数据分组(聚类)
关键依赖个体学习器的多样性与结合策略k 值选择与簇中心迭代
应用场景有标签的预测任务(如疾病诊断、销量预测)无标签的数据探索(如用户分群、异常检测)

通过本次学习,我不仅掌握了具体算法的原理和代码实现,更理解了 “算法选择需匹配问题类型”—— 有标签用集成,无标签用聚类;同时意识到 “调参不是盲目试错”,需结合算法原理(如 RandomForest 的n_estimators、K-Means 的 k 值)和评估指标(如 OOB 得分、CH 指标)科学优化,才能让模型真正解决实际问题。

http://www.dtcms.com/a/342811.html

相关文章:

  • Spring两个核心IoCDI(二)
  • 【信创系统】信创系统传输文件
  • 科普:Python 中颜色的格式: RGB 格式 v.s. RGBA 格式
  • Terraform vs Ansible:基础设施即代码(IaC)工具深度对比与实战指南
  • 哈尔滨服务器托管,如何实现高效稳定运行?
  • 泛型与反射
  • MySQL--MVCC
  • MPS MPQ2013AGQ-AEC1-Z MPS芯源汽车级 同步降压转换器IC 电源传感器IC
  • 【密码学】深入浅出栅栏密码:原理、流程与实现
  • Android:compose-Scaffold组件
  • 【CS创世SD NAND征文】存储芯片在工业电表中的应用与技术演进
  • 基于Python与Tkinter开发的微博多功能自动化助手
  • 构建包含IK插件(中文分词插件)的Elasticsearch镜像
  • 分治思想在系统分流削峰中的实践与Golang前沿实现
  • RK3568项目(十六)--linux驱动开发之块设备介绍
  • C++ 序列式容器深度解析:vector、string、deque 与 list
  • 虚幻基础:曲线
  • Go 并发编程-channel
  • Java的反射与枚举
  • 贪吃蛇游戏(纯HTML)
  • 服务发现与负载均衡:Kubernetes Service核心机制深度解析
  • Vue数据的变更操作与表单数据的收集【6】
  • 动漫短剧小程序系统开发|动漫短剧小程序搭建|动漫短剧源码交付
  • 后浪来袭:NIST 轻量级密码标准化决赛圈算法剖析(ASCON、SPARKLE 等)
  • AI翻唱实战:用[灵龙AI API]玩转AI翻唱 – 第6篇
  • RocketMQ 消息消费 单个消费和批量消费配置实现对比(Springboot),完整实现示例对比
  • TCP连接
  • 华为开发者空间训练营-优秀作品公布
  • PyTorch深度学习遥感影像地物分类与目标检测、分割及遥感影像问题深度学习优化——CNN原理、Faster RCNN/YOLO检测到U-Net分割等
  • 13、按键输入检测