机器学习之二:指导式学习
正如人们有各种各样的学习方法一样,机器学习也有多种学习方法。若按学习时所用的方法进行分类,则机器学习可分为机械式学习、指导式学习、示例学习、类比学习、解释学习等。这是温斯顿在1977年提出的一种分类方法。
有关机器学习的基本概念,可看我文章:机器学习的基本概念-CSDN博客
有关机械式学习,可看我文章:机器学习之一:机械式学习-CSDN博客
接下来我们先探讨第二种:指导式学习。
一、什么是指导式学习
(一)基本思想与定义
1. 基本思想
指导式学习(Directed Learning),又称监督学习(Supervised Learning),是机器学习中最经典的范式之一。其核心思想是通过 带标签的训练数据 指导模型学习输入与输出之间的映射关系,即从已知的“输入 - 输出对”中归纳出普遍规律,进而对未知输入进行预测。这种学习方式如同学生在教师的明确指导下学习,训练数据中的标签(如分类类别、回归目标值)相当于教师提供的“标准答案”,模型通过分析这些“例题”与“答案”的对应关系,掌握解决问题的能力。
指导式学习的关键在于利用显式监督信号调整模型参数,使模型能够泛化到未见过的数据。其核心流程包括:
(1)数据层面:输入特征空间 X 与输出标签空间 Y 的映射关系由训练集显式定义;
(2)模型层面:通过假设空间定义可能的映射函数,其中θ为模型参数;
(3)优化层面:通过损失函数 L(f(x), y) 度量预测误差,利用优化算法(如梯度下降)最小化经验风险 。
2. 形式化定义
给定训练数据集,其中
为 d 维特征向量,
为标签(分类任务中 Y = {1, 2, ..., C},回归任务中
)。指导式学习的目标是从假设空间 F 中选择一个函数
,使得在新样本
上的期望风险
最小化。
核心公式:
(1)经验风险最小化(ERM):
(2)损失函数示例:
1)回归任务(均方误差,MSE):
2)二分类任务(交叉熵损失):
3)多分类任务(Softmax交叉熵):,其中
为真实标签的独热编码,
为预测概率。
3. 与其他学习范式的区别
(1)对比机械式学习:指导式学习通过归纳而非简单记忆实现泛化,能处理未见过的输入(如线性模型通过参数拟合新样本),而机械式学习仅能检索已知输入;
(2)对比无监督学习:指导式学习依赖显式标签,而无监督学习仅利用无标签数据发现内在结构(如聚类、降维);
(3)对比强化学习:指导式学习的监督信号是静态标签,而强化学习的监督信号是延迟奖励,且需与环境交互。
(二)表示形式与实现过程
1. 模型表示形式
指导式学习模型可分为 参数化模型 和 非参数化模型,其核心区别在于是否通过固定数量的参数描述映射关系。
(1)参数化模型
定义:假设空间由有限维参数 θ决定,模型形式为 f(x; θ),如线性模型、神经网络。
示例:
线性回归:,参数为
(权重)和
(偏置);
逻辑回归:,其中
为 Sigmoid 函数,用于二分类;
神经网络:多层非线性变换,如隐藏层,输出层
,参数为所有层的权重 W 和偏置 b。
(2)非参数化模型
定义:假设空间不依赖固定参数,模型复杂度随数据量增长,如决策树、支持向量机(SVM)、最近邻算法。
示例:
决策树:通过递归划分特征空间生成树结构,节点为特征判断条件,叶子节点为预测结果(如ID3算法基于信息增益分裂节点);
支持向量机:通过最大间隔超平面分类,决策函数为,其中 w 和 b 由支持向量决定,隐含无限维参数(通过核函数映射到高维空间)。
2. 实现过程
指导式学习的实现可分为 数据预处理、模型构建、训练优化、评估部署 四大核心步骤,每个步骤包含具体技术细节。
(1)数据预处理
数据清洗:去除噪声样本、处理缺失值(如均值填充、删除含缺失样本);
特征工程:
1)数值型特征:归一化()或标准化(
);
2)类别型特征:独热编码(One-Hot Encoding,如颜色特征“红、绿、蓝”转换为三维二进制向量);
3)文本特征:词袋模型(Bag-of-Words)或 TF-IDF(词频 - 逆文档频率),如将句子转换为词频向量;
4)数据集划分:将数据分为训练集(80%)、验证集(10%)、测试集(10%),用于模型选择和泛化能力评估。
示例:房价数据预处理
输入特征包含“面积(平方米)”和“房龄(年)”,标签为“价格(万元)”:
归一化面积:(假设面积范围 50-200㎡);
标准化房龄:,其中 μ_age 为房龄均值,σ_age 为标准差。
(2)模型构建
任务类型选择:
1)回归任务:输出连续值,选择线性回归、随机森林回归等;
2)分类任务:输出离散类别,选择逻辑回归、SVM、神经网络等;
模型架构设计:
1)参数化模型需定义网络层数、神经元数量、激活函数(如ReLU、Sigmoid);
2)非参数化模型需设定超参数(如决策树的最大深度、SVM 的核函数类型)。
示例:二分类模型架构
使用逻辑回归模型,输入层维度 d=10(10 维特征),输出层为 Sigmoid 函数,输出概率值 p ∈ [0, 1],通过阈值 0.5 判断类别。
(3)训练优化
损失函数定义:根据任务类型选择损失函数(如回归用MSE,分类用交叉熵);
优化算法:
1)梯度下降家族:批量梯度下降(BGD)、随机梯度下降(SGD)、小批量梯度下降(Mini-Batch SGD);
2)自适应算法:Adam(结合动量和 RMSprop)、AdaGrad;
正则化:防止过拟合,如 L2 正则化(权重衰减),L1 正则化
。
SGD算法流程:
1)初始化参数 (如全零或随机初始化);
2)对每个epoch,随机打乱训练集;
3)对每个小批量数据,计算梯度
;
4)更新参数 ,其中α为学习率。
(4)评估部署
评估指标:
1)回归任务:MSE、均方根误差(RMSE)、决定系数;
2)分类任务:准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F1分数、AUC-ROC;
模型调整:通过验证集调优超参数(如学习率、正则化系数),使用网格搜索或随机搜索;
部署应用:将训练好的模型封装为 API,对新输入实时预测(如垃圾邮件分类系统接入邮箱服务器)。
(三)算法描述
1. 回归算法:线性回归
(1)模型假设
假设输入输出关系为线性函数:
其中为权重向量,
为偏置。
(2)损失函数
均方误差(MSE):
其中为特征矩阵,
为全 1 向量,
为标签向量。
(3)梯度计算
对权重和偏置求导:
(4)参数更新(SGD)
2. 分类算法:逻辑回归
(1)模型假设
通过Sigmoid函数将线性组合转换为概率:
二分类预测为 ,其中
为指示函数。
(2)损失函数
对数似然损失(交叉熵损失):
(3)梯度计算
利用 Sigmoid 函数的导数,梯度为:
3. 非参数化算法:决策树(ID3算法)
(1)核心思想
通过信息增益选择最优分裂特征,递归构建决策树。
熵:衡量数据纯度,,其中
为类别 c 的样本集;
信息增益:分裂前后熵的减少量,,其中
为特征 A 取值为 v 时的子集。
(2)算法流程
(1)若节点样本全属同一类别,设为叶子节点;
(2)计算所有特征的信息增益,选择增益最大的特征 A;
(3)按特征 A 的取值分裂节点,对每个子节点递归调用算法;
(4)直到信息增益为 0 或达到最大深度。
(3)示例:鸢尾花分类
特征为“花瓣长度”,标签为类别(山鸢尾、杂色鸢尾、维吉尼亚鸢尾)。
1)根节点熵
;
2)按花瓣长度分裂(阈值5cm),左子节点(花瓣长度< 5cm)全为山鸢尾,熵0;右子节点熵
;
3)信息增益 IG = 1.58 - (0.33 × 0 + 0.67 × 1) = 0.91,选择该特征分裂。
二、典型案例
案例一:塞缪尔跳棋程序的指导式学习模块
1. 案例背景
塞缪尔(Arthur Samuel)的跳棋程序(1950s)是早期机器学习的里程碑,其核心目标是通过自我对弈提升棋力。虽然整体采用强化学习思想,但其中 评估函数的训练 部分依赖指导式学习:通过人类专家对弈数据或自我对弈的高质量走法,训练一个评估函数 v(s),用于估计棋盘状态 s 的胜率。
2. 指导式学习实现
(1)数据收集
输入特征:棋盘状态编码为特征向量,包括棋子位置、控制区域、历史走法等(约100维特征);
输出标签:由专家或高质量对弈生成的状态价值 y ∈ [0, 1](0 表示必输,1 表示必胜)。
(2)模型选择
使用 线性评估函数:,其中
为状态特征向量,w 为权重向量。
(3)训练过程
1)损失函数:均方误差,目标是使评估函数输出接近真实价值 y;
2)优化算法:批量梯度下降,利用自我对弈生成的大量状态-价值对更新权重;
3)泛化策略:通过交叉验证调整正则化参数,避免过拟合棋盘的特定布局。
(4)流程说明
1)状态编码:将棋盘转化为特征向量,例如统计各区域棋子数、国王数量等;
2)数据生成:程序与自身对弈,记录中间状态,对关键状态由人工或高分策略赋予价值标签;
3)模型训练:使用梯度下降最小化,得到权重
;
4)对弈应用:在选择走法时,对每个候选状态 s' 计算,选择价值最高的走法。
3. 技术创新与局限
创新点:首次将指导式学习用于序列决策任务,通过状态特征工程构建评估函数;
局限:依赖人工设计特征,泛化能力有限(仅适用于跳棋规则),且未处理动态环境中的概念漂移。
案例二:工业设备故障预测(现代工程应用)
1. 案例背景
某工厂需对电机设备进行故障预测,通过传感器采集振动信号、温度、电流等数据,利用指导式学习模型提前识别异常状态,降低停机损失。
2. 数据准备
(1)特征工程
原始数据:每秒采集1000个振动信号样本(时域数据),转换为频域特征(通过傅里叶变换计算各频率分量的能量);
衍生特征:计算统计量(均值、方差、峰度)、时频域特征(如梅尔频率倒谱系数,MFCC),最终得到50维特征向量。
(2)标签定义
正常状态(标签 0):设备运行无异常;
早期故障(标签 1):轴承磨损、转子不平衡等初期故障;
严重故障(标签 2):设备即将停机的临界状态。
3. 模型构建与训练
(1)模型选择
采用 多层卷积神经网络(CNN),利用卷积层提取信号的局部特征,全连接层完成分类:
1)输入层:50维特征向量(展平为1×50的矩阵);
2)卷积层:32个3×1卷积核,提取相邻特征的相关性;
3)池化层:最大池化降维;
4)输出层:Softmax激活函数,输出三类概率。
(2)训练细节
损失函数:多分类交叉熵;
优化器:Adam(学习率 0.001);
数据增强:对振动信号添加高斯噪声、时间偏移,提升泛化能力;
早停策略:当验证集损失连续 5 轮不下降时停止训练,避免过拟合。
(3)训练流程代码(Python 伪代码)
python代码:
import tensorflow as tffrom sklearn.preprocessing import StandardScaler# 数据预处理scaler = StandardScaler()X_train = scaler.fit_transform(X_train) # 标准化特征X_test = scaler.transform(X_test)# 构建模型model = tf.keras.Sequential([tf.keras.layers.Reshape((50, 1), input_shape=(50,)), # 转换为时间序列格式tf.keras.layers.Conv1D(32, kernel_size=3, activation='relu'),tf.keras.layers.MaxPooling1D(pool_size=2),tf.keras.layers.Flatten(),tf.keras.layers.Dense(64, activation='relu'),tf.keras.layers.Dense(3, activation='softmax')])# 编译与训练model.compile(optimizer='adam',loss='sparse_categorical_crossentropy',metrics=['accuracy'])history = model.fit(X_train, y_train,epochs=50,batch_size=32,validation_split=0.2,early_stopping=tf.keras.callbacks.EarlyStopping(patience=5))
4. 模型评估与部署
评估指标:测试集准确率 98.2%,各类别召回率均 > 95%;
部署方式:将模型转换为 TensorFlow Lite 格式,嵌入设备边缘计算模块,实时接收传感器数据并输出故障概率;
实际效果:提前 72 小时检测到轴承磨损故障,使计划维护成本降低 40%。
案例三:自然语言处理——情感分析(NLP典型应用)
1. 案例背景
分析电商平台用户评论,判断评论情感极性(正面、负面、中性),帮助商家改进产品和服务。
2. 数据处理
(1)文本预处理
分词:使用NLTK库将中文评论切分为词语(如“质量很好”→“质量”“很好”);
去除停用词:过滤“的”“了”等无意义词汇;
特征表示:TF-IDF向量(词汇表大小10,000),每个样本表示为10,000维稀疏向量。
(2)标签标注
人工标注评论情感:正面(1)、负面(-1)、中性(0)。
3. 模型选择:支持向量机(SVM)
(1)核函数选择
使用径向基函数(RBF)核:
通过网格搜索确定超参数γ 和正则化系数 C。
(2)决策函数
其中 为拉格朗日乘子,仅非零值对应支持向量。
4. 训练与评估
训练过程:使用 SMO(序列最小优化)算法求解SVM的对偶问题,最大化分类间隔;
评估结果:在测试集上F1分数 89.5%,中性评论识别准确率85%,显著优于基于规则的情感分析方法。
三、理论深度拓展:指导式学习的泛化理论
(一)偏差-方差分解
指导式学习模型的泛化误差可分解为偏差、方差和噪声:
其中为模型预测的期望。
偏差:模型对真实关系的拟合能力(欠拟合时偏差高);
方差:模型对训练数据波动的敏感度(过拟合时方差高)。
(二)VC 维与模型复杂度
VC维(Vapnik-Chervonenkis Dimen)衡量模型的假设空间容量,对于二分类模型,VC 维 d_VC 是最大可打散样本数(即能完美分类任意标签组合的最大样本数)。
线性模型的VC维为 d+1(d 为特征数);
神经网络的VC维随层数和神经元数量指数增长,需通过正则化控制复杂度。
(三)统计学习理论核心不等式
对于二分类问题,模型的泛化误差以至少 1-δ 的概率满足:
该不等式表明:样本量 N 越大、VC维 d_VC 越小,泛化误差上界越低。
总结与未来方向
1. 核心价值
指导式学习通过显式标签构建输入输出映射,是当前工业界应用最成熟的机器学习范式,支撑了图像识别、自然语言处理、金融预测等关键领域。其成功依赖于 高质量标注数据 和 合理的特征工程,而深度学习的兴起进一步提升了其处理高维复杂数据的能力。
2. 挑战与前沿
(1)数据标注成本:依赖人工标注,小样本学习(Few-Shot Learning)和自监督学习成为研究热点;
(2)可解释性:深度神经网络的“黑箱”特性限制其在医疗、金融等领域的应用,需发展可解释模型(如决策树、注意力机制可视化);
(3)动态环境适应:处理概念漂移(如用户偏好变化),需结合在线学习和迁移学习。
3. 王永庆理论的延伸
《人工智能原理与方法》中强调的“学习系统四要素”在指导式学习中体现为:
(1)学习环境:带标签的训练数据集;
(2)学习能力:模型的假设空间容量(如VC维)和优化算法效率;
(3)知识应用:通过训练好的模型对新样本预测;
(4)性能提升:通过损失函数优化和正则化提高泛化能力。
指导式学习作为机器学习的基石,其理论和方法将持续演进,与无监督学习、强化学习深度融合,推动人工智能从“有监督的专项智能”向“自主学习的通用智能”迈进。
相关文章:
机器学习之二:指导式学习
正如人们有各种各样的学习方法一样,机器学习也有多种学习方法。若按学习时所用的方法进行分类,则机器学习可分为机械式学习、指导式学习、示例学习、类比学习、解释学习等。这是温斯顿在1977年提出的一种分类方法。 有关机器学习的基本概念,…...
【学习笔记】检索增强生成(RAG)技术
检索增强生成(RAG)技术:原理、实现与发展趋势 1. RAG技术概述 检索增强生成(Retrieval-Augmented Generation,RAG)是一种将信息检索与生成模型相结合的技术,旨在增强大型语言模型的知识能力和…...
计算机视觉——对比YOLOv12、YOLOv11、和基于Darknet的YOLOv7的微调对比
概述 目标检测领域取得了巨大进步,其中 YOLOv12、YOLOv11 和基于 Darknet 的 YOLOv7 在实时检测方面表现出色。尽管这些模型在通用目标检测数据集上表现卓越,但在 HRSC2016-MS(高分辨率舰船数据集) 上对 YOLOv12 进行微调时&…...
Pygame跨平台打包:将游戏发布到Windows、Mac和Linux
Pygame跨平台打包:将游戏发布到Windows、Mac和Linux 引言 在游戏开发的世界中,Pygame 是一个非常受欢迎的库,它使得使用 Python 编写 2D 游戏变得简单而有趣。然而,当你完成了一个游戏并希望将其发布给更多的玩家时,如何将你的游戏打包成可以在不同操作系统上运行的可执…...
关于图论的知识
如果一个无向图有 $n\times (n-1)\div 2$ 条边,称为**完全图** 如果一个完全图任意两个点都可以互相到达,称为**连通图** 一个包含 $dfs$ 与 $bfs$ 的图的遍历程序 程序可做到的: 1、每一行输出一个 **搜索树** 2、$dfs$ 与 $bfs$ 并存 c…...
365打卡第R3周: RNN-心脏病预测
🍨 本文为🔗365天深度学习训练营中的学习记录博客 🍖 原作者:K同学啊 🏡 我的环境: 语言环境:Python3.10 编译器:Jupyter Lab 深度学习环境:torch2.5.1 torchvision0…...
如何解决IDE项目启动报错 error:0308010C:digital envelope routines::unsupported 问题
如何解决IDE项目启动报错 error:0308010C:digital envelope routines::unsupported 问题 在现代软件开发过程中,开发人员通常使用集成开发环境(IDE)如IntelliJ IDEA、Visual Studio Code(VSCode)等进行Node.js项目开发…...
嵌入式学习笔记 - HAL_xxx_MspInit(xxx);函数
使用cubeMX生成的HAL库函数中,所有外设的初始化函数HAL_xxx_Init(&xxxHandle)中都存在有此调用函数,此调用函数其实是对各外设模块比如UART,I2C等的底层硬件初始化,包括UART时钟,以及UART用到的GPIO的工作模式以及…...
Dify框架面试内容整理-Dify框架
什么是Dify框架? Dify框架是一个开源的AI应用开发平台,专注于帮助开发者和非技术人员快速构建、部署和管理基于大语言模型(如GPT系列、国产开源模型)的应用。 Dify框架的特点:...
计算机网络的五层结构(物理层、数据链路层、网络层、传输层、应用层)到底是什么?
文章目录 五层结构1. 物理层(Physical Layer)2. 数据链路层(Data Link Layer)3. 网络层(Network Layer)4. 传输层(Transport Layer)5. 应用层(Application Layer…...
【计算机视觉】CV实战项目 -深度解析PaddleSegSharp:基于PaddleSeg的.NET图像分割解决方案
深度解析PaddleSegSharp:基于PaddleSeg的.NET图像分割解决方案 技术背景与项目概述核心功能与特点实战部署指南环境要求硬件要求软件依赖 项目结构快速开始1. 获取项目2. 准备模型文件3. 运行示例 高级使用技巧模型切换背景替换性能优化 常见问题与解决方案技术原理…...
面试新收获-大模型学习
大模型原理 Transformer 架构与自注意力机制 Transformer 是当前大多数大模型采用的核心架构,由编码器-解码器组成,摒弃了传统 RNN 的顺序处理方式。Transformer 中关键在于多头自注意力机制(Multi-Head Self-Attention)…...
《Keras 3部署全攻略:从新手到实战高手》
《Keras 3部署全攻略:从新手到实战高手》 一、引言:开启 Keras 3 部署之旅 在深度学习的广阔领域中,Keras 一直以其简洁易用、高度模块化的特性,深受开发者的喜爱,被誉为深度学习的 “福音”。而如今,Keras 3 的强势登场,更是为这个领域注入了全新的活力。它像是一位集…...
如何修改npm的全局安装路径?
修改 npm 的全局安装路径可以通过以下步骤完成,确保全局包(使用 -g 安装的模块)和缓存文件存储到自定义路径。以下是详细步骤: 1. 创建自定义路径的目录 在目标路径下创建两个文件夹,分别用于存储全局模块和缓存文件…...
计算机网络 | Chapter1 计算机网络和因特网
💓个人主页:mooridy-CSDN博客 💓文章专栏:《计算机网络:自定向下方法》 大纲式阅读笔记_mooridy的博客-CSDN博客 🌹关注我,和我一起学习更多计算机网络的知识 🔝🔝 目录 …...
前端面试 HTML篇
src和href的区别 src和href都是用来加载外部资源,区别如下 src:当浏览器解析到该元素时,会暂停其他资源的加载和处理,直到该资源加载完成。 它会将资源内容嵌入到当前标签所在的位置,将其指向的资源下载应用到文档内…...
Prometheus、Zabbix 和 Nagios 这三个工具的对100个节点的部署设计的信息流
Prometheus 1. 基本组件及角色 Prometheus主要由Prometheus Server、Exporter、Alertmanager和Grafana(可选)等组件构成。 Prometheus Server:负责数据的收集、存储和查询,以及规则的评估。Exporter:部署在被监控节点上,负责收集节点的各种指标数据。Alertmanager:负责…...
Tableau 基础表制作
目录 1.数据连接 2. 数据可视化 3. 基础表制作 3.1 对比分析:比大小 1. 柱状图 2. 条形图 3. 热力图 4. 气泡图 5. 词云 3.2 变化分析:看趋势 1. 折线图 2. 面积图 3.3 构成分析:看占比 1. 饼图 2. 树地图 3. 堆积图 3.4 关…...
openAICEO山姆奥特曼未来预测雄文之三个观察
《三个观察》 山姆奥特曼 这篇文章主要讲的是关于AGI(人工通用智能)的未来发展及其对社会的影响,用大白话总结如下: 核心观点: AGI是什么? AGI是一种能像人类一样解决各种复杂问题的智能系统,比…...
springboot入门-service层构造器注入原理
在 Spring Boot 中,通过构造器注入的方式将 Repository(JPA)或 Mapper(MyBatis)注入到 Service 层的原理及示例如下: 1. 构造器注入的原理 依赖注入(DI)机制: Spring 容…...
JavaScript 笔记 --- part6 --- JS进阶 (part1)
JS 进阶(part1) 作用域 局部作用域 定义: 局部作用域指的是在函数内部定义的变量,只能在函数内部访问,外部不能访问。 特点: 局部作用域变量只能在函数内部或代码块中访问,外部不能访问。 分类: 函数作用域: 指的是在函数内部定义的变量&…...
使用matplotlib绘制Raincloud图/云雨图/柱状图/小提琴图
需求: 使用Python的matplotlib绘制数据分布、数据箱型图、数据散点图 参考: https://blog.csdn.net/weixin_39559994/article/details/128197965?fromshareblogdetail&sharetypeblogdetail&sharerId128197965&sharereferPC&sharesource…...
BT152-ASEMI机器人率器件专用BT152
编辑:LL BT152-ASEMI机器人率器件专用BT152 型号:BT152 品牌:ASEMI 封装:TO-220F 批号:最新 引脚数量:3 封装尺寸:如图 特性:单向可控硅 工作结温:-40℃~150℃ …...
【Redis——通用命令】
文章目录 Redis为什么快?生产环境的概念Redis中最核心的两个命令get:通过key拿valueset:将key和value存入数据库 其他通用命令keysexist判定key是否存在delexpire:为指定的key设置一个过期时间TTL(Time To Live&#x…...
qt之开发大恒usb3.0相机一
1.在大恒相机给的sample里没有看见qt开发的demo. 第一步先运行c sdk中中的demo,看了下代码,大恒使用的UI框架是MFC.然后 vs2022编译。运行结果 第一步,先用qt进行坐下页面布局,如下图(保存图片的地方做了些更改&#…...
系列位置效应——AI与思维模型【80】
一、定义 系列位置效应思维模型是指在一系列事物或信息的呈现过程中,人们对于处于系列开头和结尾部分的项目的记忆效果优于中间部分项目的现象。具体而言,开头部分的记忆优势被称为首因效应,结尾部分的记忆优势被称为近因效应。这种效应反映…...
解决conda虚拟环境安装包却依旧安装到base环境下
最近跑项目装包装到几度崩溃,包一直没有安装到正确位置,为此写下这篇文章记录一下,也希望能帮到有需要的人。(此文章开发环境为anaconda和window) 方法一 先conda deactivate,看到(base)消失…...
设计看似完美却测不过? Intra-Pair Skew 是「讯号完整性(Signal Integrity)」里最隐形的杀手
各位不知道有没有遇过,一对很长的差分走线,看起来很正常,但是测试结果偶尔会fail偶尔会pass,不像是软件问题,也不像是制程问题。 看了一下Layout,发现阻抗匹配控制的非常好,TDR测试也显示阻抗好…...
使用MyBatis注解方式的完整示例,涵盖CRUD、动态SQL、分页、事务管理等场景,并附详细注释和对比表格
以下是使用MyBatis注解方式的完整示例,涵盖CRUD、动态SQL、分页、事务管理等场景,并附详细注释和对比表格: 项目结构 mybatis-annotation-demo/ ├── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com.example/…...
【头脑风暴】加权平均
一些加权平均而不是算术平均的思路,启发来源:ACLS,WACLS。 简单平均假设所有样本的误差和噪声特性相同,但在实际电路中,不同阶段、不同时间点的样本价值(对最终精度的贡献)是不同的。加权平均的核心思想…...
DAM-3B,英伟达推出的多模态大语言模型
DAM-3B是什么 DAM-3B(Describe Anything 3B)是英伟达推出的一款多模态大语言模型,专门用于为图像和视频中的特定区域生成详细描述。用户可以通过点、边界框、涂鸦或掩码等方式来标识目标区域,从而得到精准且符合上下文的文本描述…...
2025年暨南大学 ACM校赛分析与题解
文章目录 C.最长公共前缀D.排列H.回文串 法不定法,在于因时因势AC不了就是还得加练! C.最长公共前缀 字典树模版题目,不了解字典树的同学,可以看我的另一篇博客 算法 之 字典树 class Node: # 和模版题目相似,但是多…...
图像处理——边缘检测
1 概述 边缘检测是图像处理和计算机视觉中的一项基本技术,用于识别图像中亮度变化剧烈的像素点,这些像素点通常对应于物体的边界。它通过检测图像中亮度或颜色变化显著的区域,提取出物体的轮廓,常用于计算机视觉、图像处理和模式识…...
认识哈希以及哈希表的模拟实现
文章目录 1.什么是哈希2.哈希函数2.1 除留余数法/除法散列法2.2 乘法散列法2.3 全域散列法 3.哈希冲突4.解决哈希冲突的方法4.1 开放定址法4.1.1 用除留余数法和线性探测模拟实现简单的哈希表 4.2 链地址法4.2.1 用除留余数法和链地址法模拟实现简单的哈希表 1.什么是哈希 概念…...
【Castle-X机器人】二、智能导览模块安装与调试
持续更新。。。。。。。。。。。。。。。 【Castle-X机器人】智能导览模块安装与调试 二、智能导览模块安装与调试2.1 智能导览模块安装2.2 智能导览模块调试2.2.1 红外测温传感器测试2.2.2 2D摄像头测试 二、智能导览模块安装与调试 2.1 智能导览模块安装 使用相应工具将智能…...
硬件须知的基本问题2
目录 1、典型电路 1. DC5V 转 DC3.3V 电路 2. 通信电路 2、STM32F103RCT6 最小系统如何设计搭建电路 1. 电源电路 2. 复位电路 3. 时钟电路 4. 下载电路 5. 单片机连接连接 3、请列举你所知道的二极管型号? 1. 整流二极管 2. 小信号二极管 3. 肖特基二极管 4. 超…...
Dify 使用 excel 或者 csv 文件创建知识库
Dify 使用 excel 或者 csv 文件创建知识库 1. 创建知识库2. 创建聊天助手3. 其他 1. 创建知识库 创建知识库,导入excel/csv文件, 文件内容, 单击 “预览块”,可以确认会生成多个键值对的块, 配置 Embedding 模型和检索…...
深入理解二叉树遍历:递归与栈的双重视角
二叉树的遍历前序遍历中序遍历后续遍历总结 二叉树的遍历 虽然用递归的方法遍历二叉树实现起来更简单,但是要想深入理解二叉树的遍历,我们还必须要掌握用栈遍历二叉树,递归其实就是利用了系统栈去遍历。特此记录一下如何用双重视角去看待二叉…...
通过gap看margin和padding在布局中的应用
在CSS布局中,控制元素之间的间距有多种方式:margin、padding,还有新晋的gap属性。虽然选择多了,但这也带来了不少头疼的问题。比如,你的自定义组件到底该不该加margin?如果加了,那在使用这个组件…...
图像畸变-径向切向畸变实时图像RTSP推流
实验环境 注意:ffmpeg进程stdin写入两张图片的时间间隔不能太长,否则mediamtx会出现对应的推流session超时退出。 实验效果 全部代码 my_util.py #进度条 import os import sys import time import shutil import logging import time from datetime i…...
2025最新Facefusion3.1.2使用Docker部署,保姆级教程,无需配置环境
Docker部署Facefusion 环境 windows10 Facefusion3.1.2 安装 拉取源代码 git clone https://github.com/facefusion/facefusion-docker.git 此处如果拉不下来,需要科学上网,不会的可以找我。 运行容器 将Dockerfile.cpu文件中的的From python:3.…...
区块链实战:Hyperledger Fabric多节点网络部署与高性能业务链码
一、联盟链架构设计与技术选型 1.1 架构设计原则 联盟链采用分层架构,包含应用层、共识层、网络层和数据层: 应用层:提供用户接口(Web/API)和智能合约交互入口共识层:采用PBFT或…...
C++学习笔记(四十)——STL之归约算法
STL 算法分类: 类别常见算法作用排序sort、stable_sort、partial_sort、nth_element等排序搜索find、find_if、count、count_if、binary_search等查找元素修改copy、replace、replace_if、swap、fill等修改容器内容删除remove、remove_if、unique等删除元素归约for…...
docker容器运维工具——ctop
概述 Github主页:https://github.com/bcicen/ctop 当服务器上运行多个容器时,迅速查看所有容器运行情况及指标将会大为提高工作效率。ctop工具可以像top命令一样,对所有容器进行总览,并实现简单的操作。 部署 下载(…...
RAG vs 微调:大模型知识更新的最优解之争
一、技术本质:知识注入的两条路径 在大模型应用落地的实践中,RAG(检索增强生成)与微调(Fine-tuning)已成为知识更新的两大核心技术路径。二者的本质差异在于是否对模型参数进行修改: 维度RAG微…...
FPGA前瞻篇-组合逻辑电路设计-多路复用器
多路选择器(MUX)简介 基本概念 多路选择器(MUX,Multiplexer)是一种多输入、单输出的组合逻辑电路。 它通过选择控制信号,在多个输入信号中选择一个连接到输出端。 可以理解为一个多路数字开关。 &…...
Day13(前缀和)——LeetCode2845.统计趣味子数组的数目
1 题目描述 给定一个下标从0开始的数组nums,以及整数modulo和k。找出并统计数组中趣味子数组的数目: 在范围[l,r]内,设cnt为满足nums[i]%modulok的索引i的数量,并且cnt%modulok。子数组是数组中的一个连续非空的元素序列。 其中一…...
WebcamJS中文文档
文章目录 WebcamJS针对Chrome 47及以上版本的重要说明浏览器支持演示示例开源协议快速入门指南配置初始化拍摄照片自定义图像大小裁剪图像翻转图像(镜像模式)冻结/预览图像设置备用SWF文件位置重置(关闭)API 参考自定义事件向服务器提交图像跟踪上传进度包含在现有表单中自…...
论文笔记(八十)π0.5: a Vision-Language-Action Model with Open-World Generalization
π0.5: a Vision-Language-Action Model with Open-World Generalization 文章概括摘要I. 引言II. 相关工作通用机器人操作策略。非机器人数据的协同训练。使用语言进行机器人推理和规划。具有开放世界泛化能力的机器人学习系统。 III. 序言IV. π 0.5 π_{0.5} π0.5 模型与…...
pymongo功能整理与基础操作类
以下是 Python 与 PyMongo 的完整功能整理,涵盖基础操作、高级功能、性能优化及常见应用场景: 1. 安装与连接 (1) 安装 PyMongo pip install pymongo(2) 连接 MongoDB from pymongo import MongoClient# 基础连接(默认本地,端口…...