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

机器学习之三:归纳学习

正如人们有各种各样的学习方法一样,机器学习也有多种学习方法。若按学习时所用的方法进行分类,则机器学习可分为机械式学习指导式学习示例学习类比学习解释学习等。这是温斯顿在1977年提出的一种分类方法。

有关机器学习的基本概念,可看我文章:机器学习的基本概念-CSDN博客 

有关机械式学习,可看我文章:机器学习之一:机械式学习-CSDN博客  

有关指导式学习,可看我文章:机器学习之二:指导式学习-CSDN博客 

接下来我们先探讨第三种:归纳学习。

归纳学习是应用归纳推理进行学习的一类学习方法,按其有无教师指导可分为示例学习观察与发现学习

一、归纳推理:从特殊到一般的认知引擎

归纳推理是归纳学习的核心逻辑,其本质是通过观察具体实例,提炼普遍规律,实现从特殊到一般的知识迁移。王永庆在《人工智能原理与方法》中指出,归纳推理的有效性依赖于归纳偏置(Inductive Bias),即学习系统对某种类型假设的偏好。以下是五种核心归纳推理方法的深度解析:

(一)枚举归纳:基于实例频率的泛化

1. 基本思想与形式化

思想通过枚举多个实例,统计属性出现的频率,进而形成普遍假设。若所有观察到的实例均满足某属性,则推断该属性适用于所有同类个体。

一般化解释:设a1, a2,...是某类事物A中的具体事物,若已知a1, a2, ...,an都有属性P,并且没有发现反例,当n足够大时,就可得出“A中所有事物都有属性P”的结论。这是一种从个别事例归纳出一般性知识的方法,“A中所有事物都有属性P”是通过归纳得到的新知识。 

形式化:设实例集合 S = {x_1, x_2, ..., x_n},每个实例具有属性 A,若 ∀x_i∈S, A(x_i) 为真,则归纳假设为 ∀x∈X, A(x),其中 X 是实例所属的全集。

概率强化:引入统计归纳,假设成立的概率为,如大数定律保证当样本量 n→∞ 时,

2. 示例:天鹅颜色归纳

流程:

(1)观察实例发现第1只天鹅是白色(A(x_1) = 白)第2只天鹅是白色(A(x_2) = 白),…,第 n只天鹅是白色(A(x_n) = 白)

(2)统计频率:白色天鹅占比 f = 100\%;

(3)形成假设所有天鹅都是白色(x天鹅, A(x) = 白)

局限:受限于样本多样性,澳大利亚黑天鹅的发现推翻了该假设,体现归纳推理的可错性。

3. 数学基础:归纳一致性

若假设空间H 满足:

其中 P_n(h) 是样本频率,P(h) 是总体概率,则枚举归纳在概率意义上一致收敛。

(二)联想归纳:因果关联的挖掘

1. 基本思想与形式化

思想通过观察事件间的共现关系,推断它们之间的因果或相关联系。核心是识别属性间的依赖关系,如“吸烟”与“肺癌”的关联。

一般化解释:若已知两个事物a与b有n个属性相似或相同,即:a具有属性P1,b也具有属性P1,a具有属性P2,b也具有属性P2,.....,a具有属性Pn,b也具有属性Pn,并且还发现a具有属性Pn+1,则当n足够大时,可归纳出b也具有属性Pn+1。归纳得到新知识。

形式化: 设事件 A 和 B 的共现次数为 N(A,B),总事件数为 N,则关联度可通过 卡方检验 或 相关系数 度量:

(1)Pearson相关系数:

(2)互信息:

2. 示例:超市购物篮分析

流程:

(1)数据收集:记录顾客购买的商品组合,如(牛奶,面包)、(鸡蛋,牛奶)等;

(2)关联计算:计算支持度 Support(A,B) = P(AB),置信度 Confidence(A  B) = P(B|A);

(3)规则生成:若“牛奶→面包”的置信度为 80%,则归纳出购买牛奶的顾客更可能购买面包。

工具:Apriori算法通过逐层搜索频繁项集,高效挖掘关联规则。

3. 因果增强:贝叶斯网络

联想归纳的高级形式构建贝叶斯网络,用有向无环图表示变量间的因果关系,如:P(A,B,C) = P(A)P(B|A)P(C|A,B) 通过条件概率表量化关联强度,支持因果推理。

(三)类比归纳:相似性驱动的迁移

1. 基本思想与形式化

思想通过比较两个领域的相似性,将已知领域的知识迁移到未知领域。核心是定义相似度度量 d(x,y),若 x 与 y 相似,则它们的属性也可能相似。

形式化:设源领域实例 x∈X 具有属性 A(x),目标领域实例 y∈Y 与 x 相似(d(x,y) < ϵ),则类比假设为 A(y) 成立。

相似度函数

(1)欧式距离:

(2)余弦相似度:

2. 示例:药物研发中的类比推理

流程:

(1)源领域:已知药物A对靶点T1有效,且药物A的化学结构为 S_A;

(2)目标领域:药物B的化学结构 S_B 与 S_A 的余弦相似度为0.95;

(3)类比假设:药物B可能对靶点T1有效,需通过实验验证。

强化方法迁移学习通过微调预训练模型,将图像分类中习得的特征迁移到医学影像分析,本质是类比归纳的算法实现。

3. 数学基础:类比比例

类比比例 a : b :: c : d 表示“a与b的关系类似于c与d的关系”,形式化为:f(a) - f(b) = f(c) - f(d) 其中 f 是属性提取函数,如词嵌入模型中“国王-男人+女人=女王”的类比关系。

(四)逆推理归纳:从结果反推原因

1. 基本思想与形式化

思想已知结果和因果关系,推断可能的原因。属于“解释性归纳”,如医疗诊断中根据症状推断疾病。

形式化:设因果关系为 E  H(假设H导致结果E),观察到E发生,逆推H可能为真。基于贝叶斯定理:

其中 P(H|E) 是后验概率,P(E|H) 是似然度,P(H) 是先验概率。

2. 示例:医疗诊断流程

流程:

(1)观察结果:患者出现发热(E1)和咳嗽(E2);

(2)因果知识:流感(H1)会导致发热(概率0.8)和咳嗽(概率0.6),普通感冒(H2)会导致发热(概率0.5)和咳嗽(概率0.7);

(3)逆推计算

 假设 P(H1)=0.1, P(H2)=0.9,计算后验概率,推断最可能的病因。

工具:贝叶斯网络中的证据传播算法(如信念传播)实现逆推理。

3. 复杂度分析

逆推理的计算复杂度与假设空间大小成指数关系,需通过启发式搜索(如最大后验概率MAP 估计)近似求解。

(五)消除归纳:排除法确定因果关系

1. 基本思想与形式化

思想通过排除无关因素,确定真正的因果关系。穆勒五法(求同法、求异法、求同求异并用法、共变法、剩余法)是典型方法。

形式化(求异法)

场合 1:存在条件 A,出现现象 B;

场合 2:不存在条件 A,不出现现象 B;

结论:A 是 B 的原因,即 A  B。

2. 示例:医学对照试验

流程:

(1)实验组:服用药物 A(条件A存在),症状改善(现象B出现);

(2)对照组:服用安慰剂(条件A不存在),症状未改善(现象B不出现);

(3)消除归纳:排除安慰剂效应,确定药物A是症状改善的原因。

数学表达:设因果效应为 τ = E[Y|A=1] - E[Y|A=0],通过随机对照试验(RCT)估计 τ。

3. 算法实现:因果森林

消除归纳的高级形式因果推断模型,如因果森林通过双重机器学习估计Treatment Effect,排除混杂变量影响:

其中 \hat{Y}是 outcome模型,A 是干预变量。

二、示例学习:从实例到知识的桥梁

示例学习(Learning from Examples)又称为实例学习或从例子中学习,它是通过从环境中取得若干与某概念有关的例子,经归纳得出一般性概念的一种学习方法。在这种学习方法中,外部环境(教师)提供的是一组例子(正例和反例),这些例子实际上是一组特殊的知识,每一个例子表达了仅适用于该例子的知识,示例学习就是要从这些特殊知识中归纳出适用于更大范围的一般性知识,它将覆盖所有的正例并排除所有反例。例如,如果我们用一批动物作为示例,并且告诉学习系统哪一个动物是“马”,哪一个动物不是,当示例足够多时,学习系统就能概括出关于“马”的概念模型,使自己能识别马,并且能把马与其它动物区别开来,这一学习过程就是示例学习。

示例学习是归纳学习的核心范式,通过分析正例和反例,生成一般性知识。王永庆将其定义为“通过归纳实例的共同属性,形成概念或规则”,分为学习模型知识形成方法两部分。

(一)示例学习的学习模型

1. 双空间模型

示例学习的核心是在 实例空间  假设空间 之间建立映射,包含四个关键步骤:

(1)实例表示:将实例编码为特征向量 x = (x_1, x_2, ..., x_d),如鸢尾花的花瓣长度、宽度等;

(2)假设表示:定义假设空间H,如决策树、逻辑规则、神经网络;

(3)泛化操作:通过泛化(Generalization)扩大假设覆盖范围(如花瓣长度> 5cm泛化为花瓣长度 > 4cm),或通过特化(Specialization)缩小范围

(4)搜索策略:使用广度优先、爬山法等搜索假设空间,寻找与实例一致的最优假设。关于“爬山法”可以看我的CSDN文章:七种改进爬山算法的方法_爬山算法改进-CSDN博客 

2. 形式化定义

设正例集合,反例集合 示例学习的目标是找到假设 hH,满足,即假设 h 需一致拟合所有训练实例。

3. 示例:字符识别中的实例学习

实例空间:手写数字图像转换为16×16像素的二值矩阵;

假设空间:结构化为决策树,每个节点测试某个像素是否为黑色;

泛化操作:将“像素 (3,5) 为黑色”泛化为“像素 (3,5) 或 (4,5) 为黑色”,扩大识别范围; 搜索策略:ID3算法按信息增益选择分裂节点,构建与训练图像一致的决策树。

(二)形成知识的方法

1. 基于属性的归纳:从具体到抽象

方法:通过删除条件、放松约束等操作,将具体实例泛化为一般规则。

(1)删除条件:实例“好瓜:色泽 = 青绿,根蒂 = 蜷缩,敲声 = 浊响”可泛化为“根蒂 = 蜷缩,敲声 = 浊响”,删除色泽属性

(2)值泛化:将“色泽 = 青绿”泛化为“色泽 = 绿色系”,覆盖更多正例。

算法:AQ算法(Michalski, 1969)生成“如果 - 那么”规则,如:IF 根蒂=蜷缩 AND 敲声=浊响 THEN 好瓜,通过覆盖正例、排斥反例的启发式搜索生成规则集。

(3)除此之外,还有变量代换常量、合取变析取、归结归纳、曲线拟合等。

2. 基于版本空间的搜索

版本空间(Version Space):所有与训练实例一致的假设集合,通过正例缩小下界、反例缩小上界

(1)下界:最特殊假设(S-specific hypothesis),仅覆盖正例;

(2)上界:最一般假设(G-general hypothesis),覆盖所有可能正例。

示例:设属性“色泽”可取 {青绿,乌黑,浅白},正例“色泽 = 青绿”,反例“色泽 = 浅白”,则版本空间的上界为“色泽 = 青绿或乌黑”,下界为“色泽 = 青绿”。

3. 数学基础:假设空间复杂度

假设空间的大小 |H| 决定学习难度,对于布尔属性(每个属性取 0/1),n个属性的假设空间大小为 (包含所有可能的逻辑组合)。奥卡姆剃刀原则倾向于选择最简单的假设(如最短决策树)。

三、观察与发现学习:无监督的知识创造

观察与发现学习(Observational and Discovery Learning)是归纳学习的高级形式,无需显式标签,通过观察数据内在结构,发现新的概念或规律,包括观察学习机器发现。前者用于对事例进行概念聚类,形成概念描述;后者用于发现规律,产生定律或规则。

(一)概念聚类:从数据到概念的抽象

1. 基本思想

传统聚类(如 K-means)基于数据相似性分组,而 概念聚类(Conceptual Clustering)进一步为每个聚类生成可解释的概念描述,如“鸟类:有羽毛、会飞、卵生”。

2. 形式化模型

设数据集合 D = {x_1, x_2, ..., x_n},每个实例有属性集合 A = {a_1, a_2, ..., a_d},概念聚类的目标是找到划分 C = {C_1, C_2, ..., C_k},使得:

(1)每个聚类 C_i 可被一个概念 c_i 描述(如逻辑表达式);

(2)划分的总体描述长度最短(最小描述长度原则,MDL)。

3. 示例:动物分类的概念聚类

流程:

(1)数据表示:每个动物实例包含属性 {有羽毛,会飞,有鳞片,胎生,生活环境}

(2)聚类与概念生成

1)聚类 1:{麻雀,鸽子},概念描述为“有羽毛 ∧ 会飞 ∧ ¬ 胎生”;

2)聚类 2:{鱼,蛇},概念描述为“有鳞片 ∧ ¬ 会飞 ∧ 生活环境 = 水中或陆地”;

(3)评估优化:使用 AIC/BIC 准则选择最优聚类数和概念描述。

4. 算法实现:COBWEB算法

COBWEB 是典型概念聚类算法,通过增量式构建分类树,每个节点存储概念的概率描述(如 P (有羽毛 | 鸟类)),分裂标准为分类信息增益:

其中 H(c) 是子节点的熵,H(parent) 是父节点的熵。

(二)机器发现:从数据到规律的跃升

1. 基本定义

机器发现(Machine Discovery)计算机自动从数据中发现新的科学规律或理论,如开普勒行星运动定律、门捷列夫元素周期表。核心是识别变量间的函数关系或定性规律。

2. 数据驱动的发现方法

(1)数值规律发现:BACON系统

思想通过变量间的共变关系,拟合多项式或指数函数

示例:发现开普勒第三定律 T² = kR³(周期平方与轨道半径立方成正比):

1)输入数据:行星轨道半径 R 和周期 T 的观测值;

2)计算 R 和 T 的各种组合(R², T³, R/T 等),寻找常数项;

3)发现当计算 T²/R³ 时,值几乎恒定,归纳出定律。

(2)定性规律发现:GLAUBER系统

思想处理化学反应数据,发现反应条件和产物的定性关系

规则形式酸 + 金属 → 盐 + 氢气 通过归纳反应前后的物质属性变化,生成化学反应规则。

3. 数学建模:符号回归

机器发现的现代形式符号回归,使用遗传算法搜索数学表达式空间,拟合数据生成公式。目标函数为:

其中F是包含加减乘除、指数、对数等运算的函数空间,|f| 是表达式复杂度惩罚项。

4. 案例:玻尔兹曼常数的机器发现

数据:理想气体的压强 P、体积 V、温度 T 的实验数据;

发现过程

(1)计算 PV/T 的值,发现其接近常数;

(2)结合阿伏伽德罗常数,归纳出 PV = nRT,其中 R 为玻尔兹曼常数;

算法:基于维度分析和量纲一致性约束,缩小搜索空间。

四、归纳学习的理论深度:从样本到泛化的保证

(一)归纳偏置的数学表达

归纳偏置 B 是学习系统对假设空间的先验约束,形式化为: 

其中 D 是训练数据,h 是学习到的假设。例如,决策树的归纳偏置是“特征空间可通过轴平行划分”,线性模型的偏置是“决策边界为线性超平面”。

(二)PAC学习理论

概率近似正确(PAC, Probably Approximately Correct)理论为归纳学习提供理论保证:设假设空间H 的VC维为 d,则对任意 ϵ,δ > 0,存在样本量,使得存在假设 h∈H 满足:

该理论量化了归纳学习所需的样本复杂度。

(三)归纳与演绎的对偶性

归纳学习生成的假设可作为演绎推理的前提,形成“归纳 - 演绎”闭环:

(1)归纳:从实例中学习规则 ∀x, A(x)  B(x);

(2)演绎:对新实例 x_0,若 A(x_0) 为真,则推断 B(x_0) 为真。

这种对偶性是专家系统(如 MYCIN)的核心逻辑。

五、总结:归纳学习的本质与未来

1. 核心价值

归纳学习是人类认知和机器学习的基石,其本质是通过有限实例推断无限可能,实现知识的创造性扩展。从早期的符号归纳(如决策树、规则学习)到现代的统计归纳(如深度学习、迁移学习),归纳学习始终遵循“特殊→一般→特殊”的认知循环。

2. 技术挑战

(1)可解释性:深度神经网络的归纳偏置隐式存在,需发展符号归纳与数值归纳的融合方法(如神经符号系统);

(2)小样本归纳:在少样本或零样本场景下,如何利用先验知识增强归纳能力(如元学习、类比迁移);

(3)抗噪声归纳:处理不完整、有噪声的实例,需鲁棒的归纳算法(如基于置信度的规则生成)。

3. 王永庆理论的延伸

《人工智能原理与方法》强调“归纳学习的有效性取决于实例的代表性和假设空间的合理性”,现代机器学习通过以下方式拓展:

(1)数据增强:通过旋转、缩放等操作生成虚拟实例,提升实例代表性;

(2)假设空间正则化:通过 Dropout、权重衰减限制假设空间复杂度,避免过拟合;

(3)增量归纳:在线学习算法持续更新假设,适应动态环境中的概念漂移。

归纳学习作为连接数据与知识的桥梁,将在自动驾驶(从驾驶数据归纳交通规则)、药物发现(从分子数据归纳活性规律)等领域发挥更关键的作用。其核心追求“从具体经验中提炼普遍智慧”,既是人工智能的技术挑战,也是实现通用智能的必经之路。

相关文章:

机器学习之三:归纳学习

正如人们有各种各样的学习方法一样&#xff0c;机器学习也有多种学习方法。若按学习时所用的方法进行分类&#xff0c;则机器学习可分为机械式学习、指导式学习、示例学习、类比学习、解释学习等。这是温斯顿在1977年提出的一种分类方法。 有关机器学习的基本概念&#xff0c;…...

AI声像融合守护幼儿安全——打骂/异常声音报警系统的智慧防护

幼儿园是孩子们快乐成长的摇篮&#xff0c;但打骂、哭闹或尖叫等异常事件可能打破这份宁静&#xff0c;威胁幼儿的身心安全。打骂/异常声音报警系统&#xff0c;依托尖端的AI声像融合技术&#xff0c;结合语音识别、情绪分析与视频行为检测&#xff0c;为幼儿园筑起一道智能安全…...

2024ICPC网络赛第二场题解

文章目录 F. Tourist(签到)I. Strange Binary(思维)J. Stacking of Goods(思维)A. Gambling on Choosing Regionals(签到)G. Game(数学)L. 502 Bad Gateway(数学)E. Escape(BFS)C. Prefix of Suffixes(kmp结论)K. match(01trie分治多项式乘法组合数) 题目链接 F. Tourist(签到…...

风控策略引擎架构设计全解析:构建智能实时决策系统

摘要 本文深入探讨现代风控策略引擎的核心架构设计,结合金融反欺诈、电商交易风控等典型场景,详细解析实时决策、规则引擎、特征计算等关键技术模块的实现方案。通过分层架构设计、分布式计算优化、策略动态编排等创新方法,展示如何构建支撑每秒万级决策的高可用风控系统。…...

TensorFlow 安装全攻略

选择 TensorFlow 的原因&#xff1a; TensorFlow 是一个端到端平台&#xff0c;它提供多个抽象级别&#xff0c;因此您可以根据自己的需求选择合适的级别。您可以使用高阶 Keras API 构建和训练模型&#xff0c;该 API 让您能够轻松地开始使用 TensorFlow 和机器学习。如果您需…...

Dijkstra 算法代码步骤[leetcode.743网络延迟时间]

有 n 个网络节点&#xff0c;标记为 1 到 n。 给你一个列表 times&#xff0c;表示信号经过 有向 边的传递时间。 times[i] (ui, vi, wi)&#xff0c;其中 ui 是源节点&#xff0c;vi 是目标节点&#xff0c; wi 是一个信号从源节点传递到目标节点的时间。 现在&#xff0c;…...

Ubuntu22.04/24.04 P104-100 安装驱动和 CUDA Toolkit

硬件环境 使用一块技嘉 B85m-DS3H 安装 P104-100, CPU是带集成显卡的i5-4690. 先在BIOS中设置好显示设备优先使用集成显卡(IGX). 然后安装P104-100开机. 登入Ubuntu 后查看硬件信息, 检查P104-100是否已经被检测到 # PCI设备 lspci -v | grep -i nvidia lspci | grep NVIDIA …...

Golang 学习指南

目录 变量与常量数据类型与控制结构常用数据结构函数与错误处理指针与并发Gin 框架与 go mod小结与参考资料 1. 变量与常量 变量&#xff08;var&#xff09; 用于定义可变的值。可以指定类型&#xff0c;也可以自动推断类型。示例&#xff1a;var name string "Golang…...

Ubuntu 磁盘空间占用清理(宝塔)

目录 前言1. 基本知识2. 实战 前言 &#x1f91f; 找工作&#xff0c;来万码优才&#xff1a;&#x1f449; #小程序://万码优才/r6rqmzDaXpYkJZF 爬虫神器&#xff0c;无代码爬取&#xff0c;就来&#xff1a;bright.cn 本身自搭建了一个宝塔&#xff0c;突然一下子多了好些空…...

AntBio: 2025 AACR Meeting - Charting New Oncology Frontiers Together

AntBio cordially invites you to attend the 2025 AACR Annual Meeting and jointly chart a new course in oncology research! The global benchmark for cancer research and therapeutics—the 2025 American Association for Cancer Research (AACR) Annual Meeting—wi…...

数模学习:二,MATLAB的基本语法使用

注释代码&#xff1a; (1)在每行语句后面加上分号&#xff0c;则不显示该行代码的运算结果。 在每行代码前加%&#xff0c;则该行代码会被注释掉 (2) 多行注释&#xff1a; 选中要注释的多行语句&#xff0c;按快捷键Ctrl R (3) 取消注释&#xff1a; 选中要注释的多行语句…...

【Webpack \ Vite】多环境配置

环境变量脚本命令 如何通过不同的环境变量或不同的配置文件进行项目区分&#xff0c;动态加载配置。通常&#xff0c;使用环境变量是最简单且灵活的方法&#xff0c;因为它不需要改变构建命令或创建多个配置文件 环境变量 在根目录下创建 .env.xxx 文件&#xff0c;为不同的环…...

已知漏洞打补丁

. 打补丁 根据MS漏洞编号或者CVE漏洞编号都可以找到对应的HotfixID。 1.根据MS漏洞编号可以使用&#xff1a;https://learn.microsoft.com/zh-cn/security-updates/securitybulletins/securitybulletins 即可找到KB编号。 2.根据CVE漏洞编号可以使用&#xff1a;https://cve…...

WGS84(GPS)、火星坐标系(GCJ02)、百度地图(BD09)坐标系转换Java代码

在做基于百度地图、高德地图等电子地图做为地图服务的二次开发时&#xff0c;通常需要将具有WGS84等坐标的矢量数据&#xff08;如行政区划、地名、河流、道路等GIS地理空间数据&#xff09;添加到地图上面。 然而&#xff0c;在线地图大多使用的是火星坐标系&#xff0c;需要…...

R语言操作n

1.加载安装vegan包 2.查看data(varechem)和data(varespec),探索其维度和结构 3.基于varespec构建物种互作网络&#xff0c;输出gml文件并采用gephi可视化为图片&#xff0c;输出pdf&#xff0c;阈值为r>0.6&#xff0c;p<0.05 4.基于varespec和varechem构建物种-环境互作…...

ChatGPT与DeepSeek在科研论文撰写中的整体科研流程与案例解析

随着人工智能技术的快速发展&#xff0c;大语言模型如ChatGPT和DeepSeek在科研领域展现出强大的潜力&#xff0c;尤其是在论文撰写方面。本文旨在介绍如何利用ChatGPT和DeepSeek提升科研论文撰写的效率与质量&#xff0c;并提供一个具体案例&#xff0c;详细阐述其技术流程及公…...

VScode在 Markdown 编辑器中预览

1. 使用在线 Mermaid 编辑器 步骤&#xff1a; 打开 Mermaid Live Editor。将你 .md 文件中的 Mermaid 代码&#xff08;从 mermaid 到结束的代码块&#xff09;复制粘贴到编辑器的左侧输入框。编辑器会自动在右侧生成可视化的 ER 图。你可以点击右上角的下载按钮&#xff0c;…...

驱动开发硬核特训 · Day 22(下篇): # 深入理解 Power-domain 框架:概念、功能与完整代码剖析

一、Power-domain 框架基础概念 ✏️ 什么是 Power-domain&#xff1f; 在 Linux 内核中&#xff0c;Power-domain&#xff08;电源域&#xff09; 是指一组硬件模块的逻辑集合&#xff0c;这些模块可以被统一控制电源状态&#xff08;上电、断电&#xff09;。 Linux 内核通…...

无人机超声波避障技术要点与难点!

一、超声波避障技术要点 4. 障碍物建模 通过最小二乘法平面拟合&#xff0c;将单点测距数据转化为障碍物表面模型&#xff0c;提高避障准确性。 使用队列&#xff08;wallqueue&#xff09;存储障碍物信息&#xff0c;并进行去重处理&#xff0c;避免重复避障。 5. 避障轨…...

ASCII字符编码标准及字符表

目录 概述 1 标准 ASCII 表&#xff08;0-127&#xff09; 2 大写字母&#xff08;A-Z&#xff09; 3 小写字母&#xff08;a-z&#xff09; 4 说明 概述 ASCII&#xff08;American Standard Code for Information Interchange&#xff0c;美国信息交换标准代码&#xff…...

联想昭阳笔记本 风扇一键静音优化操作指南

【联想昭阳笔记本 一键静音优化操作指南】 第1步&#xff1a;安装官方工具 Lenovo Vantage 打开【开始菜单】→ 搜索【Microsoft Store】&#xff0c;打开。在 Store 里搜索【Lenovo Vantage】&#xff0c;下载安装。安装好后&#xff0c;打开【Lenovo Vantage】。进入【设备…...

go语言八股文(三)

1.java和go的区别 1. 语言设计目标 Java&#xff1a; 通用性&#xff1a;设计为一种通用的、面向对象的编程语言&#xff0c;适用于多种应用场景&#xff0c;如桌面应用、服务器端应用、移动应用等。跨平台性&#xff1a;通过“一次编写&#xff0c;到处运行”&#xff08;Wr…...

Flutter 学习之旅 之 flutter 有时候部分手机【TextField】无法唤起【输入法软键盘】的一些简单整理

Flutter 学习之旅 之 flutter 有时候部分手机【TextField】无法唤起【输入法软键盘】的一些简单整理 目录 Flutter 学习之旅 之 flutter 有时候部分手机【TextField】无法唤起【输入法软键盘】的一些简单整理 一、简单介绍 二、现象描述 三、尝试的解决方案 1、根据应用的…...

【工具】scMultiMap基于单细胞多模态数据实现增强子与靶基因的细胞类型特异性映射

文章目录 介绍代码参考 介绍 在与疾病相关的细胞类型中绘制增强子和靶基因图谱&#xff0c;能够为全基因组关联研究&#xff08;GWAS&#xff09;变异的功能机制提供关键见解。单细胞多模态数据能够测量同一细胞中的基因表达和染色质可及性&#xff0c;从而实现细胞类型特异性…...

rt-linux下的cgroup cpu的死锁bug

一、背景 rt-linux系统有其非常大的实时性的优势&#xff0c;但是与之俱来的是该系统上有一些天然的缺陷。由于rt-linux系统允许进程在内核态执行的逻辑里&#xff0c;在持锁期间&#xff0c;甚至持spinlock锁期间&#xff0c;都能被其他进程抢占。这一特性能带来实时性的好处…...

Java 内存泄漏 详解

Java 内存泄漏是指程序中某些对象不再被使用&#xff0c;但由于某些原因无法被垃圾回收器&#xff08;Garbage Collector, GC&#xff09;回收&#xff0c;导致内存被持续占用&#xff0c;最终可能引发性能问题或 OutOfMemoryError。 本文将从底层原理、源码层面详细解释 Java …...

Rabbit MQ的基础认识

零、介绍 MQ&#xff1a;message queue&#xff08;消息队列&#xff1a;先进先出&#xff09; Rabbit MQ&#xff1a; 一、优势 1.应用解耦 2.异步提速 3.削峰填谷 4.总结 二、劣势...

GIS开发笔记(16)解决基于osg和osgearth三维地图上添加placeNode图标点击不易拾取的问题

一、实现效果 二、实现原理 在图标添加的位置同时添加一个红色圆球,半径为5000~8000米,图标和圆球挂接到同一个group节点,group节点再挂接到根节点,当点击到圆球时,通过遍历父节点就可以找到被点击的图标节点。 三、参考代码 //添加图标代码 #pragma once #include &…...

JDBC 使用流程详解

1. 加载数据库驱动 目的&#xff1a;注册数据库驱动类&#xff0c;使 JDBC 能识别特定数据库&#xff08;如 MySQL、Oracle&#xff09;。 代码示例&#xff1a; // JDBC 4.0 后无需显式加载驱动&#xff08;SPI 自动发现&#xff09;&#xff0c;但部分旧项目仍需手动加载 C…...

小白学习java第16天(上): javaWeb

0.背景介绍 1.前言 首先我们需要javaweb里面的大概流程是干什么的&#xff0c;怎么才能实现的&#xff1f;&#xff0c;每一部分是靠什么进行的&#xff1f;以及背后实现的功能是干什么的&#xff1f;。。。。对于我来说要是不解决这些&#xff0c;会让我感觉不踏实&#xff…...

vue 打包设置

1、vue webpack配置 filename: [path][base].gz,// 设置成这样就行了 const { defineConfig } require(vue/cli-service)const debug process.env.NODE_ENV ! productionconst CompressionWebpackPlugin require(compression-webpack-plugin)const TerserPlugin require(…...

Excel如何安装使用EPM插件并且汉化?

Excel如何使用EPM插件 Excel如何使用EPM插件一、安装EPM插件二、启动EPM插件三、插件汉化设置 Excel如何使用EPM插件 一、安装EPM插件 在安装EPM插件时&#xff0c;若运行安装包后出现报错提示&#xff0c;通常是因为系统缺少 Visual Studio 2010 组件&#xff0c;需先安装该…...

在Linux中使用fcntl函数和ioctl函数

特性fcntlioctl作用对象文件描述符&#xff08;通用文件操作&#xff09;设备文件&#xff08;硬件或驱动控制&#xff09;标准化程度POSIX 标准&#xff0c;行为一致设备相关&#xff0c;无统一标准典型场景文件锁、非阻塞模式、描述符复制终端控制、网络配置、硬件操作移植性…...

ESP32-S3 入门学习笔记(四):LED实验

ESP32-S3 入门学习笔记&#xff08;四&#xff09;&#xff1a;LED实验 开发板&#xff1a;正点原子ESP32S3 B站学习链接&#xff1a;link 1. GPIO&LED 简介 1.1 GPIO 简介 GPIO 是负责控制或采集外部器件信息的外设&#xff0c;主要负责输入输出功能。以下是ATK-MWS3S…...

clickhouse#复制修改数据

需求 在ClickHouse表中存在一些数据&#xff0c;你需要复制其中几行数据&#xff0c;这个复制不是完全复制&#xff0c;额外需要修改其中某几列数据项。 语句 INSERT INTO xxx_table SELECT * REPLACE ({except_value_1} AS {column_name_1},...{except_value_n} AS {colum…...

Java安全之cc链学习集合

CC1 InvokerTransformer https://blog.csdn.net/weixin_53912233/article/details/137786954 LazyMap https://blog.csdn.net/weixin_53912233/article/details/137787763 CC1链学习记录_cc1 链子 学习-CSDN博客 Java反序列化Commons-Collections篇02-CC1链补充 | Drunk…...

分享:google高级搜索常用的4个入口

网站和文件&#xff1a;google.com/advanced_search图片&#xff1a;google.com/advanced_image_search视频&#xff1a;google.com/advanced_video_search书籍&#xff1a;google.com/advanced_book_search...

内存四区(堆)

在上一次分享中&#xff0c;我和大家分享了栈区&#xff0c;今天栈区来了。 而内存四区中&#xff0c;堆区是干嘛的呢&#xff1f; 堆区&#xff0c;也是用来存放数据的&#xff0c;只不过呢&#xff0c;堆区中的数据的生死存亡是由程序员来控制的。 当然如果你一直不管堆区…...

Ldap高效数据同步- MirrorMode双主复制模式配置详解(下)

#作者&#xff1a;朱雷 上篇&#xff1a;《Ldap高效数据同步- MirrorMode双主复制模式配置详解&#xff08;上&#xff09;》 链接: link 文章目录 三、配置Mirror复制类型3.3. 在ldap-0上增加test2用户3.4. 在ldap-1上查看3.5. 在ldap-1上增加test4用户3.7. 最终两台LDAP数据…...

亚组风险比分析与可视化

1. 结果解读 1.1 风险比概述 1.1.1 风险比基本概念 风险比(Hazard Ratio)用于衡量治疗组与对照组事件发生的风险差异。 风险比为1,表示两组风险相同;小于1,治疗组风险低;大于1,治疗组风险高。 1.1.2 性别亚组分析 A性风险比小于1,表明治疗对A性有积极效果,风险降低。…...

2个小时1.5w字| React Golang 全栈微服务实战

文章目录 前言Golang 入门教程1. 下载与环境配置安装 GoWindows 安装macOS 安装Linux 安装 理解 GOROOT 和 GOPATHGOROOTGOPATHGo Modules 与 GOPATH 的关系查看和设置 Go 环境变量 配置 GOPATH 2. 语法与包管理Go 基础语法运行 Go 程序构建 Go 程序包管理 (Go Modules)常用标准…...

Spring security详细上手教学(三)密码管理

Spring security详细上手教学&#xff08;三&#xff09;密码管理 本章节两部分内容 实现PasswordEncoder使用Spring Security Crypto模块提供的工具 1. 使用 password encoder 通常&#xff0c;系统不会使用纯文本来保存密码&#xff0c;需要进行加密/哈希等一系列处理以加…...

ADC读取异常情况汇总

MCU ADC读取内部参考电压 Vrefint 如果某个输入引脚的电压高于供电电压&#xff0c;可能存在读取内部参考电压数值不准或者读数是4095。 虽然宽电压支持&#xff0c;最好硬件设计硬件避免这种情况&#xff0c;避免异常情况。...

给函数参数设置默认值的方式

在 JavaScript 中&#xff0c;给函数参数设置默认值主要有以下几种方式&#xff1a; 1. 函数体内手动检查赋值&#xff08;ES5 及以前&#xff09; 在函数内部检查参数是否为 undefined&#xff0c;然后手动赋值默认值。 function greet(name, age) {name name ! undefined…...

【C语言】内存分配的理解

很多时候我们声明变量&#xff0c;系统就自动为我们处理好了内存。 这主要取决于内存分配发生的时间和内存区域。C语言中主要有以下几种内存分配方式&#xff1a; 栈 (Stack) 内存分配 (自动内存): 何时发生: 在函数内部声明的非static局部变量&#xff08;包括基本类型如 int…...

特征工程四:数据特征提取TfidfVectorizer的使用

TfidfVectorizer 深度解析 TfidfVectorizer 是 scikit-learn 中用于文本特征提取的核心工具&#xff0c;它将原始文本转换为 TF-IDF 特征矩阵&#xff0c;是自然语言处理(NLP)和文本挖掘的基础组件。 一、核心原理 1. TF-IDF 计算 TF (Term Frequency)&#xff1a;词频&…...

深度学习涉及的数学与计算机知识总结

深度学习涉及的数学与计算机知识可总结为以下核心模块&#xff0c;结合理论与实践需求分为数学基础和计算机技能两大方向&#xff1a; 一、数学知识 线性代数 核心&#xff1a;矩阵运算&#xff08;乘法、转置、逆矩阵&#xff09;、向量空间、特征值与特征向量、奇异值分解&am…...

引领印尼 Web3 变革:Mandala Chain 如何助力 1 亿用户迈向数字未来?

当前 Web3 的发展正处于关键转折点&#xff0c;行业亟需吸引新用户以推动 Web3 的真正大规模采用。然而&#xff0c;大规模采用面临着核心挑战&#xff1a;数据泄露风险、集中存储的安全漏洞、跨系统互操作性障碍&#xff0c;以及低效的服务访问等问题。如何才能真正突破这些瓶…...

Mysql从入门到精通day6————时间和日期函数精讲

关于Mysql的日期和时间计算函数种类非常繁多,此处我们对常用的一些函数的用法通过实例演示让读者体会他们的用法,文章末尾也给出了时间和日期计算的全部函数 函数1:curdate()和current_date()函数 作用:获取当前日期 select curdate(),current_date();运行效果:...

C#如何正确的停止一个多线程Task?CancellationTokenSource 的用法。

在 C# 中停止一个 Task 需要谨慎处理&#xff0c;因为直接强制终止&#xff08;如 Thread.Abort()&#xff09;会导致资源泄漏或状态不一致。推荐使用 ​​协作式取消&#xff08;Cooperative Cancellation&#xff09;​​ 通过 CancellationToken 实现安全停止。以下是详细方…...