软件工程学习日志2025.11.19

news/2025/11/19 21:36:48/文章来源:https://www.cnblogs.com/dynastyeast/p/19244140

一、核心知识点梳理

  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.mzph.cn/news/970408.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux ftp地址

在 Linux 系统中,FTP(File Transfer Protocol) 是一种用于在客户端和服务器之间传输文件的协议。要访问 FTP 服务器,你需要知道以下信息: 1. FTP 服务器地址(IP 或域名)例如:ftp.example.com 或 192.168.1.100…

2025年11月消防水泵,多级水泵,自吸水泵厂家推荐:高温工况适用机型优选

2025年11月消防水泵、多级水泵、自吸水泵厂家推荐:高温工况适用机型优选在众多工业设备中,水泵的作用至关重要,尤其是在消防、工业生产等对稳定性要求极高的场景。当面临高温工况时,选择一款性能优越、质量可靠的水…

linux ftp同步

在 Linux 系统中,ftp 命令行工具是用于与 FTP 服务器进行交互的,常用于文件传输。如果你想要实现 FTP 文件同步,可以使用 ftp 命令结合一些脚本或工具来实现自动化同步。? 一、使用 ftp 命令进行 FTP 文件同步 1. …

2025年11月水泵,管道水泵,多级水泵厂家推荐:大流量机型实测与采购攻略

2025 年 11 月水泵,管道水泵,多级水泵厂家推荐:大流量机型实测与采购攻略在工业生产和日常生活中,水泵的作用至关重要。尤其是大流量的管道水泵和多级水泵,更是众多行业的刚需。在众多水泵厂家中,佛山市金盛辉工…

11/19

今天又是满课,不过马原课今天没上,不错

Longest Palindromic Substring最长回文子串-Manacher算法

Longest Palindromic Substring最长回文子串-Manacher算法Manacher算法主要就是用来寻找字符串中的回文子串。 假设目标字符串是abbaca, 在空隙插值#得到新字符串s#a#b#b#a#c#a#。 假设当前找到的一个回文串,中心坐标…

[20251113]建立完善fffext.sh脚本.txt

[20251113]建立完善fffext.sh脚本.txt--//以前写过一个通过bbed查看数据块的bash shell脚本,别人使用发现存在问题。$ . fffext.sh 9 225 225 15 ncnnnnnnnnnnnnnnnnncct| head -40|SYSTEM|0|1|128|0|0|0|0|0|3|0||||…

ubuntu25 win11 双系统 和一些常用配置

UEFI 双系统 只有一个硬盘的情况: 磁盘分2个分区,先安装 win11 ,会自动创建 EFI 分区和恢复分区和主分区,安装完成后在安装 ubuntu25 ,因为 从 25版本开始,可以自定义安装 EFI 到指定分区,以前的老版本都不行。…

解码线程调度与信号响应

Linux 线程调度策略 调度核心概念 线程是 Linux 系统调度的最小单位,进程作为线程的容器,可包含一个或多个线程。Linux 内核采用抢占式调度机制:高优先级线程可抢占正在运行的低优先级线程的 CPU 使用权;同优先级线…

LEANN:一个极简的本地向量数据库

在软件开发领域,提到轻量级、嵌入式的本地数据库,我们首先会想到 SQLite,它快速且无需独立服务进程。现在检索增强生成(RAG)和向量数据库的世界里,一个定位相似的新工具出现了。你可以把LEANN看作是嵌入式、轻量…

extern C的深入理解

cpp文件调用了 .c 文件的函数,对于单独的.c/.h 这样一对的文件, 可以在.h文件中写明 extern “C”, 但是不需要在 .c 中写明? 答: 不完全正确(所以你的理解基本正确,但需要加上条件编译这个关键条件!), 这是…

详细介绍:技术人互助:城市级充电系统(Java 微服务)的落地细节,含 demo 和设备适配经验

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

浅记树分块

其实我觉得以我的水平考场大概率用不出来树分块,但由于它太难写了,所以我还是写一下 题 树分块,顾名思义,和序列分块一样,把树也分成很多块,然后就可以根号复杂度处理一些问题,具体地,我们选\(\sqrt{n}\)个点,…

XPath表达式解析与应用

本篇内容来自AI的解读,用于后续温习回顾xpath的使用$x("//div[@class=ec-accordion and (./div[@class=ec-accordion-title and ./span[text()=Prerequisites]])]") 各部分含义:(1) //div - 选择文档中所有…

2025中国防晒品牌榜出炉!按肤质/场景选!

2025中国防晒品牌榜出炉!按肤质/场景选!宝子们!夏天防晒选不对,再贵的护肤品都白费~其实选防晒的核心超简单:看肤质+看场景,没有“万能款”!今天整理了2025年天猫618热卖榜、亚洲皮肤健康联盟口碑榜的权威推荐…

linux ftp使用

在 Linux 系统中,ftp 是一个用于通过 FTP 协议进行文件传输的命令行工具。它通常用于与远程服务器进行交互,例如上传或下载文件。? 一、使用 ftp 的基本命令 1. 连接 FTP 服务器 ftp <hostname><hostname&…

linux ftp代码

在 Linux 系统中,ftp 命令行工具是用于与 FTP 服务器进行交互的常用工具。它本身是一个命令行 FTP 客户端,但需要注意的是,ftp 已在大多数现代 Linux 发行版中被弃用,推荐使用 vsftpd(FTP 服务器)或 lftp(更现代…

linux ftpgt;put

你提到的 ftp>put 是 FTP(File Transfer Protocol) 命令行工具中的一个命令,用于在 FTP 客户端 中上传文件。? 一、ftp 命令行工具简介 ftp 是 Linux/Unix 系统中用于通过 FTP 协议 与远程服务器进行文件传输的…

题解 [YLOI 2019] 棠梨煎雪

题解 [YLOI 2019] 棠梨煎雪原文来自CnBlogs, 作者: young_tea.

2025-11-19

CF Problem - 1418C - Codeforces(dp+贪心好题!)(1500) dp操作,要分开判断先手和后手 #include <bits/stdc++.h> using namespace std; #define LL long long const LL mod = 998244353; const int N=2e5+…