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

软件工程学习日志2025.11.19

一、核心知识点梳理

  1. 聚类算法:K-means(无监督学习的典型代表)

• 基本思想: 将数据集划分为K个簇,使得同一簇内的数据点尽可能相似,而不同簇间的数据点尽可能不同。

• 伪代码与流程:

1.  输入: 数据集 D,预设的簇数量 K。
2.  初始化: 随机选择K个数据点作为初始质心。
3.  迭代优化:a. 分配步骤: 计算每个数据点到各个质心的距离(如欧氏距离),并将其分配到最近的质心所在的簇。b. 更新步骤: 重新计算每个簇的质心(即该簇所有数据点的平均值)。
4.  终止条件: 当质心的位置不再发生显著变化,或达到最大迭代次数时,算法停止。
5.  输出: K个簇的划分结果。

• 关键认知:

◦   聚类属于无监督学习,因为训练数据没有标签,算法完全基于数据自身的分布结构进行划分。◦   对聚类结果的期望是 “簇内相似度高,簇间相似度低”。
  1. 集成学习:通过组合多个模型提升性能

• 核心前提: 要获得好的集成效果,个体学习器(基学习器)必须具有一定的准确性和多样性。只有当个体学习器存在差异,犯不同的错误时,集成起来才能取长补短,提升泛化性能。

• 两大主流范式:Boosting 与 Bagging

特征 Boosting(提升法) Bagging(袋装法)

个体学习器关系 强依赖,必须串行生成。后一个模型重点关注前一个模型分错的样本。 相互独立,可以并行生成。

代表算法 AdaBoost, GBDT, XGBoost 随机森林

采样方式 每轮迭代调整训练样本的权重。 对训练集进行有放回随机采样。

  1. 随机森林:Bagging的扩展与升华

• 基本思想: 随机森林是Bagging的一个特例和增强,它以决策树为基学习器,并在Bagging的样本扰动基础上,增加了特征扰动。

• 伪代码与核心机制:

1.  从原始训练集中进行Bootstrap采样(有放回抽样)T次,生成T个不同的训练子集。
2.  用每个训练子集训练一棵决策树。在训练每棵树的每个节点进行分裂时,不是从全部特征中找最优分裂点,而是先随机选取一个特征子集,然后从这个子集中找最优特征进行分裂。
3.  所有决策树组成“森林”。
4.  对新样本进行预测时,每棵树进行投票(分类)或取平均(回归),以最终结果作为森林的预测。

• 关键认知:

◦   随机森林通过样本采样和特征采样两种方式,进一步增加了个体决策树之间的多样性,有效降低了模型方差,防止过拟合,使其成为非常强大和稳健的算法。

二、重点题目复盘与解析

  1. 填空题: 集成的个体学习器要(多样),集成后才更可能有性能的提升。
    ◦ 解析: 这是集成学习的根本原理。如果所有基学习器都一样,集成将没有意义。

  2. 填空题: 随机森林除了对样本采样(样本扰动),还要对(特征)采样(属性扰动)。
    ◦ 解析: 这是随机森林区别于普通Bagging的关键,也是其名字中“随机”的由来。

  3. 多选题: 个体学习器间存在强依赖关系必须使用(A. 串行, C. Boosting)方法进行集成。
    ◦ 解析: Boosting的工作机制就是串行的,后一个模型依赖于前一个模型的结果。

  4. 单选题: 聚类算法属于(B. 无监督学习)。
    ◦ 解析: 聚类处理的是无标签数据。

  5. 单选题: 聚类的结果期望“簇内相似度”(高),“簇间相似度”(低)。
    ◦ 解析: 这是评估聚类效果好坏的直观标准。

三、学习总结与反思

本次学习明确了监督学习(如分类、回归)与无监督学习(如聚类)的根本区别。重点掌握了两种重要的集成学习范式:
• Boosting 家族通过串行、关注错误的方式不断减小偏差,构建强模型。

• 随机森林 作为 Bagging 的杰出代表,通过并行、引入随机性的方式降低方差,实现“三个臭皮匠,顶个诸葛亮”的效果。

理解这些算法背后的思想(为什么这么做),比死记硬背伪代码更重要。这为后续学习更复杂的模型(如GBDT, XGBoost)打下了坚实的基础。

http://www.gsyq.cn/news/54581.html

相关文章:

  • linux ftp地址
  • 2025年11月水泵,管道水泵,多级水泵厂家推荐:大流量机型实测与采购攻略
  • ubuntu25 win11 双系统 和一些常用配置
  • 详细介绍:技术人互助:城市级充电系统(Java 微服务)的落地细节,含 demo 和设备适配经验
  • 浅记树分块
  • linux ftp代码
  • linux ftpgt;put
  • 题解 [YLOI 2019] 棠梨煎雪
  • 2025-11-19
  • docker 自用手册
  • Gemini 3发布与小试牛刀
  • kilocode_idea端测试
  • 详细介绍:JavaEE初阶7.0
  • 什么?Viggle Ai Pro版会员免费送?
  • linux ftp 用户权限
  • 完整教程:GPTBots 工作流:让AI从“会说“到“会做“的技术演进引言:企业AI化的瓶颈在哪里?
  • html-webpack-plugin扩展创建:自定义钩子构建
  • Android中EditText同时支持textMultiLine与imeOptions(action/actionSend/...)
  • 空间变换层和自注意力机制
  • MacX Video Converter Pro for Mac v6.8.2 安装视频转换器安装步骤(附安装包)
  • 深入解析:Kotlin 高阶函数在回调设计中的最佳实践
  • 信息化、数字化、智能化、智慧化、数智化,到底啥区别 - 智慧园区
  • 洛谷 B4413:[GESP202509 三级] 数组清零
  • 中大型超市智能运营导购系统:AI 精准推送,滞销品库存加速 19%!
  • linux ftp shell
  • 全国计算机等级考试——二级JAVA完整大题题库【五十三道】
  • 【C + +】unordered_set 和 unordered_map 的用法、区别、性能全解析 - 实践
  • Spring Boot迅速集成MiniMax、CosyVoice实现文本转语音
  • 完整教程:微信生态新机遇:视频号推客模式助力商家突围
  • win10/win11系统默认应用或文件打开方式重启后被自动重置的解决办法