数据挖掘校招面经一
写在前面:其实数据挖掘、风控、机器学习算法与搜广推的八股还是有重合的部分,毕竟都是面对结构化数据。特别是我自己是做竞赛的,平时LGBM、CatBoost用的挺多的,所以感觉这些八股还是有必要看看,建议大家也可以看一下。
京东数据挖掘算法
一、介绍贝叶斯优化的原理
贝叶斯优化(Bayesian Optimization)是一种用于优化黑盒函数的有效方法,特别适用于目标函数评估成本较高、不可导或难以解析表达的情况。它广泛应用于超参数调优、实验设计、自动化机器学习等领域。
1.1. 核心思想
贝叶斯优化的核心思想是通过构建目标函数的概率模型(通常称为代理模型),结合贝叶斯推断逐步更新对目标函数的理解,并选择下一个采样点以最大化信息增益或目标值。
具体来说:
- 概率建模:使用一个概率模型(通常是高斯过程,Gaussian Process, GP)来近似目标函数。
- 不确定性量化:通过概率模型捕捉目标函数的不确定性。
- 采样策略:利用采集函数(Acquisition Function)在探索与开发之间权衡,选择下一个采样点。
1.2. 工作流程
贝叶斯优化的工作流程可以分为以下几个步骤:
(1) 初始化
- 随机选择一些初始点 { x 1 , x 2 , … , x n } \{x_1, x_2, \dots, x_n\} {x1,x2,…,xn},并计算对应的目标函数值 { y 1 , y 2 , … , y n } \{y_1, y_2, \dots, y_n\} {y1,y2,…,yn}。这些初始点用于初始化代理模型。
(2) 构建代理模型
- 使用高斯过程(或其他概率模型)拟合已有的观测数据 { ( x i , y i ) } \{(x_i, y_i)\} {(xi,yi)}。高斯过程是一种非参数化的概率模型,能够输出目标函数值及其不确定性估计。
(3) 定义采集函数
采集函数(Acquisition Function)用于衡量候选点的价值,帮助决定下一个采样点。
- 常见的采集函数包括:
- Expected Improvement (EI):期望改进,选择可能比当前最优解更好的点。
- Probability of Improvement (PI):改进概率,选择可能比当前最优解更好的点的概率。
- Upper Confidence Bound (UCB):上置信界,综合考虑目标值和不确定性。
- Thompson Sampling:随机采样模型后验分布中的函数,选择其最大值点。
(4) 选择下一个采样点
- 在定义好的采集函数下,优化采集函数以找到下一个最有潜力的采样点 x n + 1 x_{n+1} xn+1。
- 计算该点的实际目标函数值 y n + 1 y_{n+1} yn+1。
(5) 更新模型
- 将新采样点 ( x n + 1 , y n + 1 ) (x_{n+1}, y_{n+1}) (xn+1,yn+1) 添加到数据集中,更新代理模型。
- 重复步骤 (3)-(5),直到满足停止条件(如达到最大迭代次数或目标值收敛)。
1.3. 数学描述
假设目标函数为 f ( x ) f(x) f(x),我们希望最大化 f ( x ) f(x) f(x)。贝叶斯优化的过程可以用以下公式描述:
-
代理模型:
- 使用高斯过程建模目标函数:
f ( x ) ∼ G P ( m ( x ) , k ( x , x ′ ) ) f(x) \sim \mathcal{GP}(m(x), k(x, x')) f(x)∼GP(m(x),k(x,x′))
其中 m ( x ) m(x) m(x) 是均值函数, k ( x , x ′ ) k(x, x') k(x,x′) 是核函数(Kernel Function)。
- 使用高斯过程建模目标函数:
-
后验分布:
- 给定观测数据 D = { ( x i , y i ) } i = 1 n D = \{(x_i, y_i)\}_{i=1}^n D={(xi,yi)}i=1n,高斯过程给出目标函数在任意点 x x x 的后验分布:
p ( f ( x ) ∣ D ) ∼ N ( μ ( x ) , σ 2 ( x ) ) p(f(x) | D) \sim \mathcal{N}(\mu(x), \sigma^2(x)) p(f(x)∣D)∼N(μ(x),σ2(x))
其中 μ ( x ) \mu(x) μ(x) 和 σ 2 ( x ) \sigma^2(x) σ2(x) 分别表示均值和方差。
- 给定观测数据 D = { ( x i , y i ) } i = 1 n D = \{(x_i, y_i)\}_{i=1}^n D={(xi,yi)}i=1n,高斯过程给出目标函数在任意点 x x x 的后验分布:
-
采集函数:
- 以 Expected Improvement (EI) 为例,其定义为:
EI ( x ) = E [ max ( f ( x ) − f best , 0 ) ] \text{EI}(x) = \mathbb{E}\left[\max(f(x) - f_{\text{best}}, 0)\right] EI(x)=E[max(f(x)−fbest,0)]
其中 $ f_{\text{best}} = \max_{i=1,\dots,n} y_i $ 是当前最优值。
- 以 Expected Improvement (EI) 为例,其定义为:
-
优化采集函数:
- 找到使采集函数最大的点:
x n + 1 = arg max x Acquisition ( x ) x_{n+1} = \arg\max_x \text{Acquisition}(x) xn+1=argxmaxAcquisition(x)
- 找到使采集函数最大的点:
1.5. 应用场景
- 超参数调优:如深度学习模型的超参数(学习率、正则化参数等)。
- 自动化机器学习:自动选择模型架构和算法。
- 实验设计:在物理实验或化学实验中优化实验条件。
- 金融优化:如投资组合优化或风险控制。
二、GBDT、Boosting、Bagging算法的不同
在机器学习领域,集成学习方法通过组合多个模型(通常称为“基模型”或“弱学习器”)来提高预测性能。其中,GBDT(Gradient Boosting Decision Tree)、Boosting、Bagging是三种重要的集成学习技术。尽管它们都旨在提升模型的表现,但各自的工作机制和应用场景存在显著差异。
2.1. Bagging
Bagging 的全称是 Bootstrap Aggregating,它是一种并行的集成学习方法,主要通过减少模型的方差来改善模型的泛化能力。Bagging 的核心思想是对原始数据集进行多次有放回抽样(Bootstrap Sampling),生成若干个子数据集,然后基于每个子数据集训练一个独立的基模型,最后将所有基模型的结果通过**投票(分类问题)或平均(回归问题)**的方式结合起来得到最终结果。
- 样本选择: Bagging 使用有放回的随机抽样方法生成多个子数据集,这些子数据集之间是相互独立的。
- 模型训练: 每个基模型可以独立并行地训练,因为它们之间的依赖性较低。
- 模型组合: 对于分类问题,Bagging 通常采用多数投票法;对于回归问题,则采用平均值法。
- 优点: Bagging 能够有效降低模型的方差,防止过拟合,尤其是在处理高方差模型时表现良好,如未剪枝的决策树。
- 缺点: Bagging 对于低偏差模型的效果可能不如 Boosting 方法显著。
2.2. Boosting
Boosting 是一种串行的集成学习方法,其目标是通过组合多个弱学习器形成一个强学习器。Boosting 的基本策略是逐步构建一系列基模型,每个新的基模型都会尝试纠正前一个基模型的错误。具体来说,Boosting 算法会根据前一轮中基模型的表现调整样本权重,使得那些被错误分类的样本在下一轮中获得更高的关注 。
- 样本选择: Boosting 不改变训练集本身,而是调整样本的权重。初始时,所有样本的权重相同,随着迭代进行,分错的样本权重会被增大。
- 模型训练: Boosting 是一种串行方法,每个基模型的训练都需要以前一个基模型为基础。
- 模型组合: Boosting 通常使用加权组合的方式,其中误差较小的基模型会被赋予更大的权重。
- 优点: Boosting 主要关注降低偏差,因此在处理复杂问题时通常能获得更好的效果。
- 缺点: 由于是串行训练,Boosting 的计算成本较高,且对噪声数据较为敏感。
2.3. GBDT
GBDT(Gradient Boosting Decision Tree)是一种具体的 Boosting 方法,它结合了梯度下降的思想和决策树模型。GBDT 的工作原理是通过多轮迭代,每轮构建一棵新的回归树,这棵树用于拟合上一轮模型预测值与真实值之间的残差(即误差)。换句话说,GBDT 每次都在之前模型的基础上改进,试图最小化整体损失函数。
- 样本选择: 类似于其他 Boosting 方法,GBDT 不直接修改样本集,而是通过调整残差来间接影响样本的重要性。
- 模型训练: GBDT 是一种串行方法,每棵新树都是基于之前的模型残差构建的。
- 模型组合: GBDT 将所有树的结果累加起来作为最终预测输出,类似于线性模型中的特征加权求和。
- 优点: GBDT 能够很好地处理非线性关系,并且适用于多种类型的预测任务,包括分类和回归。
- 缺点: GBDT 的训练过程较慢,因为它需要依次构建每棵树;此外,GBDT 对异常值较为敏感,可能导致过拟合。
2.3. 总结对比
特性 | Bagging | Boosting | GBDT |
---|---|---|---|
样本选择 | 有放回随机抽样 | 根据错误率调整样本权重 | 基于残差调整样本重要性 |
模型训练 | 并行训练 | 串行训练 | 串行训练 |
模型组合 | 投票/平均 | 加权组合 | 累加 |
主要目标 | 减少方差 | 减少偏差 | 减少偏差 |
适用场景 | 高方差模型 | 复杂问题 | 非线性关系、多种预测任务 |
综上所述,Bagging 和 Boosting 是两种不同的集成学习策略,而 GBDT 是 Boosting 家族中的一个重要成员。Bagging 更适合用来降低模型的方差,而 Boosting 和 GBDT 则更侧重于减少模型的偏差,从而提高模型的准确性。选择哪种方法取决于具体的应用场景以及数据特性。
三、介绍机器学习的可解释性
机器学习的可解释性是指能够理解和解释机器学习模型的预测过程和结果的能力。随着机器学习模型(尤其是深度学习模型)的复杂性增加,模型的可解释性变得越来越重要,特别是在高风险的领域(如医疗、金融、自动驾驶等)。
3.1. 可解释性定义
可解释性可以被定义为通过开发可解释性技术来解释已经训练好的机器学习模型的能力。根据解释目标和解释对象的不同,可解释性方法可以分为全局可解释性和局部可解释性。
- 全局可解释性旨在帮助人们理解复杂模型背后的整体工作机制
- 局部可解释性则关注于单个预测的具体原因
3.2. 可解释性方法
4.1 特征重要性
- 全局特征重要性:衡量每个特征对模型预测的总体贡献。
- 方法:线性模型的系数、决策树的分裂重要性、随机森林的特征重要性。
- 局部特征重要性:衡量每个特征对单个样本预测的贡献。
- 方法:LIME、SHAP。
4.2 局部解释方法
- LIME(Local Interpretable Model-agnostic Explanations):
- 通过在局部拟合一个简单模型(如线性模型)来解释复杂模型的预测。
- SHAP(SHapley Additive exPlanations):
- 基于博弈论的 Shapley 值,公平地分配每个特征对预测的贡献。
4.3. Permuted Feature Importance(null_importance)
- Permuted Feature Importance 是一种通过打乱特征值来检查特征对模型预测贡献的重要性计算方法。这种方法通过破坏某个特征与标签之间的关系,然后观察模型性能的变化来衡量该特征的重要性
3.3. 可解释性工具
3.3.1. SHAP
- 基于 Shapley 值的解释工具,支持全局和局部解释。
- 适用于多种模型(如树模型、深度学习模型)。
3.3.2. LIME
- 局部解释工具,适用于任何黑箱模型。
3.3.3. ELI5
- 提供特征重要性和模型解释的可视化工具。
3.3.4. InterpretML
- 提供多种可解释性方法(如 PDP、ICE、SHAP)的统一框架。
四、347. 前 K 个高频元素(力扣hot100_堆_中等)
class Solution:def topKFrequent(self, nums: List[int], k: int) -> List[int]:# 使用 defaultdict 统计每个元素出现的次数coll_dea = collections.defaultdict(int)for i in nums:coll_dea[i] += 1# 按频率排序(从高到低),然后取前 k 个元素sorted_items = sorted(coll_dea.items(), key=lambda x: x[1], reverse=True)ans = [item[0] for item in sorted_items[:k]] # 提取前 k 个元素的值return ans
相关文章:
数据挖掘校招面经一
写在前面:其实数据挖掘、风控、机器学习算法与搜广推的八股还是有重合的部分,毕竟都是面对结构化数据。特别是我自己是做竞赛的,平时LGBM、CatBoost用的挺多的,所以感觉这些八股还是有必要看看,建议大家也可以看一下。…...
迷你世界脚本对象库接口:ObjectLib
对象库接口:ObjectLib 迷你世界 更新时间: 2023-04-26 20:21:09 具体函数名及描述如下: 序号 函数名 函数描述 1 getAreaData(...) 获取区域数据 2 getPositionData(...) 获取位置数据 3 getLivingData(...) 获取生物数据 4 getItemDat…...
VSCode知名主题带毒 安装量900万次
目前微软已经从 Visual Studio Marketplace 中删除非常流行的主题扩展 Material Theme Free 和 Material Theme Icons,微软称这些主题扩展包含恶意代码。 统计显示这些扩展程序的安装总次数近 900 万次,在微软实施删除后现在已安装这些扩展的开发者也会…...
C#—csv文件格式操作实例【在winform表格中操作csv】
C#—csv文件格式操作实例【在winform表格中操作csv】 实例一 实例效果 当在winform界面中点击读取按钮时 将csv中的所有数据读取出来放置在datagridview控件,可以在datagridview控件中编辑数据,当点击保存按钮时 将datagridview控件中的所有数据存储在…...
Redis设计与实现-数据结构
Redis数据结构 1、RedisObject对象2、简单动态字符串2.1 SDS定义2.2 SDS与C语言的区别2.3 SDS的空间分配策略2.3.1 空间预分配2.3.2 惰性空间释放 2.4 SDS的API 3、链表3.1 链表的定义3.2 链表的API 4、字典4.1 字典的定义4.2 哈希算法4.3 哈希表的扩缩4.3.1 哈希表扩缩的判断依…...
Ubuntu20.04双系统安装及软件安装(四):国内版火狐浏览器
Ubuntu20.04双系统安装及软件安装(四):国内版火狐浏览器 Ubuntu系统会自带火狐浏览器,但该浏览器不是国内版的,如果平常有记录书签、浏览记录、并且经常使用浏览器插件的习惯,建议重装火狐浏览器为国内版的…...
C语言100天练习题【记录本】
C语言经典100题(手把手 编程) 可以在哔哩哔哩找到 已解决的天数:一,二,五,六 下面的都是模模糊糊的 可以学学这些算法,我是算法白痴,但是我不是白痴,可以学ÿ…...
基于CURL命令封装的JAVA通用HTTP工具
文章目录 一、简要概述二、封装过程1. 引入依赖2. 定义脚本执行类 三、单元测试四、其他资源 一、简要概述 在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具&…...
SQL刷题:自连接(Self-Join)--通过将 同一张表连接两次,比较不同行之间的数据关系
例题: 表:Employee ---------------------- | Column Name | Type | ---------------------- | id | int | | name | varchar | | salary | int | | managerId | int | ---------------------- id 是该表的主键…...
避坑!用Docker搞定PHP开发环境搭建(Mac、Docker、Nginx、PHP-FPM、XDebug、PHPStorm、VSCode)
本次更新主要是对环境版本进行了更新,例如php 7.3.7升级到了7.3.8,另外之前的版本有同学踩了坑,主要是官方docker镜像php:7.3.7-fpm和php:7.3.8-fpm使用了不同版本的debian,后面会提到,请各位同学留意。 因为最近换电脑…...
第七节:基于Winform框架的串口助手小项目---协议解析《C#编程》
介绍 文章上所说的串口助手,工程文件资源-CSDN文库 目标 代码实现 private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e){if (isRxShow false) return;// 1,需要读取有效的数据 BytesToReadbyte[] dataTemp new byte[serialPor…...
pt-archiver删除数据库的数据表/各种报错类型
这篇帖子是前面文的一部分延申 mysqlimport导入一亿数据的csv文件/一行命令删除表-CSDN博客 如需转载,标记出处 目录 pt-archiver命令格式 如果执行后出现下面报错 1)Cannot find an ascendable index in table at /usr/bin/pt-archiver line 3233. …...
STM32Cubemx配置E22-xxxT22D lora模块实现定点传输
文章目录 一、STM32Cubemx配置二、定点传输**什么是定点传输?****定点传输的特点****定点传输的工作方式****E22 模块定点传输配置****如何启用定点传输?****示例** **应用场景****总结** **配置 1:C0 00 07 00 02 04 62 00 17 40****解析** …...
模块和端口
1、模块 模块内部的5个组成是:变量声明 数据流语句 低层模块实例 函数和任务 行为语句 SR锁存器 timescale 1ns / 1psmodule SR_latch(input wire Sbar ,input wire Rbar ,output wire Q ,output wire Qbar);nand…...
Android+SpringBoot的老年人健康饮食小程序平台
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,我会一一回复,希望帮助更多的人。 系统介绍 我将从经济、生活节奏、技术融合等方面入手,详细阐述居家养老管理模式兴起的…...
[machine learning] MACS、MACs、FLOPS、FLOPs
本文介绍机器学习中衡量一个模型计算复杂度的四个指标:MACS、MACs、FLOPS、FLOPs。 首先从含义上讲,可以分类两类:MACS/FLOPS和MACs/FLOPs。MACs/FLOPs表示总的操作数(后缀s可以看成是表示复数),MACS/FLOPS表示每秒可以执行的操作…...
PostgreSQL10 物理流复制实战:构建高可用数据库架构!
背景 PostgreSQL 10 在高可用架构中提供了物理复制,也称为流复制(Streaming Replication),用于实现实例级别的数据同步。PostgreSQL 复制机制主要包括物理复制和逻辑复制:物理复制依赖 WAL 日志进行物理块级别的同步&…...
STM32---FreeRTOS中断管理试验
一、实验 实验目的:学会使用FreeRTOS的中断管理 创建两个定时器,一个优先级为4,另一个优先级为6;注意:系统所管理的优先级范围 :5~15 现象:两个定时器每1s,打印一段字符串&#x…...
Linux常见操作命令(1)
(一)常用命令: 1.Tab 键可以实现自动补齐和提示,要合理使用 2.方向键(上下)来切换前后执行过的命令 (二)查看命令 一共有三个:ls, cd , pwd 。 1.ls:列出目录内容,包括参数-l(详细…...
SPI驱动(二) -- SPI驱动程序模型
文章目录 参考资料:一、SPI驱动重要数据结构1.1 SPI控制器数据结构1.2 SPI设备数据结构1.3 SPI驱动数据结构 二、SPI 驱动框架2.1 SPI控制器驱动程序2.2 SPI设备驱动程序 三、总结 参考资料: 内核头文件:include\linux\spi\spi.h 一、SPI驱…...
Qt中txt文件输出为PDF格式
main.cpp PdfReportGenerator pdfReportGenerator;// 加载中文字体if (QFontDatabase::addApplicationFont(":/new/prefix1/simsun.ttf") -1) {QMessageBox::warning(nullptr, "警告", "无法加载中文字体");}// 解析日志文件QVector<LogEntr…...
SpringBoot 校园新闻网站
收藏关注不迷路!! 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,还有大家在毕设选题(免费咨询指导选题),项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多…...
JAVA面经2
ConcurrentHashMap 并发程序出现问题的根本原因 线程池 线程池的执行原理(核心参数) 线程池的常见阻塞队列 ArrayBlockingQueue插入和删除数据,只采用了一个lock,而LinkedBlockingQueue则是在插入和删除分别采用了putLock和takeL…...
NVIDIA(英伟达) GPU 芯片架构发展史
GPU 性能的关键参数 CUDA 核心数量(个):决定了 GPU 并行处理能力,在 AI 等并行计算类业务下,CUDA 核心越多性能越好。 显存容量(GB):决定了 GPU 加载数据量的大小,在 AI…...
C++设计一:日期类Date实现
一、引言与概述 1 引言 日期操作是软件开发中的常见需求,如日程管理、数据统计等场景均需处理日期的比较、偏移及合法性校验。为简化此类操作,本文设计了一个高效且类型安全的C日期类Date。 该类通过构造函数内嵌合法性检查,确保对象初始状…...
关于2023新版PyCharm的使用
考虑到大家AI编程的需要,建议大家安装新版Python解释器和新版PyCharm,下载地址都可以官网进行: Python:Download Python | Python.org(可以根据需要自行选择,建议选择3.11,保持交流版本一致&am…...
【Azure 架构师学习笔记】- Azure Databricks (15) --Delta Lake 和Data Lake
本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Databricks】系列。 接上文 【Azure 架构师学习笔记】- Azure Databricks (14) – 搭建Medallion Architecture part 2 前言 ADB 除了UC 这个概念之外,前面【Azure 架构师学习笔记】- Azure Databricks (1…...
一文了解Conda使用
一、Conda库频道 conda的软件频道是存储软件包的远程位置,当在Conda中安装软件包时,它会从指定的频道中下载和提取软件包。频道包含了各种软件包,不同的频道可能提供不同版本的软件包,用户可以根据需要选择适合的版本。 常见 Co…...
SP导入智能材质球
智能材质球路径 ...\Adobe Substance 3D Painter\resources\starter_assets\smart-materials 放入之后就会自动刷新...
记录一次Spring事务失效导致的生产问题
一、背景介绍 公司做的是“聚合支付”业务,对接了微信、和包、数字人民币等等多家支付机构,我们提供统一的支付、退款、自动扣款签约、解约等能力给全国的省公司、机构、商户等。 同时,需要做对账功能,即支付机构将对账文件给到…...
腾讯云物联网平台(IoT Explorer)设备端使用
1、直接看图流程 2、跑起来demo,修改产品id,设备名称,设备秘钥。 3、连接部分 4、修改默认地址和端口 sdk里面的地址默认是带着产品ID拼接的,咱们现在中铁没有泛域名解析,要改下这里。把+productID都去掉,然后地址里的.也去掉。...
ML.NET库学习023: ONNX Runtime 中 C++ 辅助函数解析:Span 类与张量操作
文章目录 ML.NET库学习023: ONNX Runtime 中 C 辅助函数解析:Span 类与张量操作主题项目主要目的和原理项目概述实现的主要功能关键函数代码结构 主要功能与步骤Span 类的实现张量大小计算数据加载与处理准确性评估 数据集的使用以下是逐步解释ÿ…...
利用opencv_python(pdf2image、poppler)将pdf每页转为图片
1、安装依赖pdf2image pip install pdf2image 运行.py报错,因为缺少了poppler支持。 2、安装pdf2image的依赖poppler 以上命令直接报错。 改为手工下载: github: Releases oschwartz10612/poppler-windows GitHub 百度网盘: 百度网盘…...
告别GitHub连不上!一分钟快速访问方案
一、当GitHub抽风时,你是否也这样崩溃过? 😡 npm install卡在node-sass半小时不动😭 git clone到90%突然fatal: early EOF🤬 改了半天hosts文件,第二天又失效了... 根本原因:传统代理需要复杂…...
学习DeepSeek V3 与 R1 核心区别(按功能维度分类)
一、定位与架构 V3(通用型模型) 定位:多模态通用大模型,擅长文本生成、多语言翻译、智能客服等多样化任务12。架构:混合专家(MoE)架构,总参数 6710 亿,每次…...
Linux总结
1 用户与用户组管理 1.1 用户与用户组 //linux用户和用户组 Linux系统是一个多用户多任务的分时操作系统 使用系统资源的用户需要账号进入系统 账号是用户在系统上的标识,系统根据该标识分配不同的权限和资源 一个账号包含用户和用户组 //用户分类 超级管理员 UID…...
web高可用集群项目(数据库主从同步、文件共享存储、nginx动静分离+负载均衡+高可用)
一、项目环境 二、环境准备 主机名IP地址备注openEuler-1192.168.121.11主负载调度器openEuler-2192.168.121.12副负载调度器openEuler-3192.168.121.13web-1(静态)openEuler-4192.168.121.14web-2(静态)openEuler-5192.168.121.…...
如何快速上手RabbitMQ 笔记250304
如何快速上手RabbitMQ 要快速上手 RabbitMQ,可以按照以下步骤进行,从安装到基本使用逐步掌握核心概念和操作: 1. 理解核心概念 Producer(生产者):发送消息的程序。Consumer(消费者)…...
PPT小黑第26套
对应大猫28 层次级别是错的,看着是十页,导入ppt之后四十多页 选中所有 红色蓝色黑色 文本选择标题:选择 -格式相似文本(检查有没有漏选 漏选的话 按住ctrl 点下一个) 要求新建幻灯片中不包含原素材中的任何格式&…...
甘特图开发代码(测试版)
场景:要实现的功能就是单行数据能左右拖动。 流程五个:ABCDE。(对应:Charter开发、概念和计划、初样开发、正样开发、验证) 1、A有开始时间,结束时间。B的开始时间必须是A的结束时间(相等或者…...
鸿蒙与DeepSeek深度整合:构建下一代智能操作系统生态
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 https://www.captainbed.cn/north 目录 技术融合背景与价值鸿蒙分布式架构解析DeepSeek技术体系剖析核心整合架构设计智能调度系统实现…...
Docker Desktop常见问题记录
1.docker pull报错,无法连接https://registry-1.docker.io/v2/ 报错信息如下: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection(Client.Timeout exceeded …...
Qt 的 Lambda 捕获局部变量导致 UI 更新异常的分析与解决
1. 问题描述 在 Qt 开发中,我们通常会使用 QTimer 进行周期性 UI 更新。例如,下面的代码用于在检测游戏窗口时,在 UI 界面上显示动态变化的“正在检测游戏窗口...”的文本,每 300 毫秒更新一次。 void MainWindow::detectAndPopulateGameList() {ui->game_record_stac…...
RAGflow采用docker-compose-continuous方式pull,把服务器充满了
采用docker-compose-continuous在后台下载,导致服务器被充满。 原因分析: 如果网络不稳定,可能导致下载任务异常中断,而 systemd 服务会不断重启并重新下载,从而占用大量空间。如果网络问题无法解决,可以…...
【第12节】C++设计模式(结构型模式)-Proxy(代理)模式
一、问题背景 使用 Proxy 模式优化对象访问 在某些情况下,直接访问对象可能会导致性能问题或安全性问题。Proxy 模式(代理模式)通过引入一个代理对象来控制对原始对象的访问,从而解决这些问题。以下是几种典型的应用场景…...
【C++】vector(上):vector的常用接口介绍
文章目录 前言一、vector的介绍二、vector的常用接口介绍1.vector类对象的常见构造2.vector iterator 的使用3.vector类对象的容量操作3.1 size、capacity 和 empty的使用3.2 reserve的使用3.3 resize的使用 4.vector类对象的访问(包含data:返回底层数组…...
【详细讲解在STM32的UART通信中使用DMA机制】
详细讲解在STM32的UART通信中使用DMA机制 目录 详细讲解在STM32的UART通信中使用DMA机制一、DMA机制概述二、DMA在UART中的作用三、DMA的配置步骤四、UART初始化与DMA结合五、DMA传输的中断处理六、DMA与中断的结合使用七、注意事项与常见问题八、代码示例九、总结 一、DMA机制…...
极狐GitLab 17.9 正式发布,40+ DevSecOps 重点功能解读【三】
GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。 学习极狐GitLab 的相关资料: 极狐GitLab 官网极狐…...
快速生成viso流程图图片形式
我们在写详细设计文档的过程中总会不可避免的涉及到时序图或者流程图的绘制,viso这个软件大部分技术人员都会使用,但是想要画的好看,画的科学还是比较难的,现在我总结一套比较好的方法可以生成好看科学的viso图(图片格式)。主要思…...
设备管理系统功能与.NET+VUE(IVIEW)技术实现
在现代工业和商业环境中,设备管理系统(Equipment Management System,简称EMS)是确保设备高效运行和维护的关键工具。本文采用多租户设计的设备管理系统,基于.NET后端和VUE前端(使用IVIEW UI框架)…...