陀螺仪积分漂移?3种滤波方案拯救你的智能车姿态检测

贝叶斯学习(Bayesian Learning)基础篇 本文将基于UoA的课件介绍机器学习中的贝叶斯。涉及的英语比较基础,所以为节省时间(不是full-time,还有其他三门课程,所以时间还是比较紧的),只在我以为需要解释的地方进行解释。此文不用于任何商业用途,仅仅是个人学习过程笔记以及心得体会,侵必删。 阅读详情

陀螺仪积分漂移?3种滤波方案拯救你的智能车姿态检测

在智能车、无人机或者任何需要精准姿态感知的移动机器人项目中,你是否曾遇到过这样的困境:精心设计的平衡算法,却因为传感器给出的角度数据“飘忽不定”而功亏一篑?车模或飞行器在静止时,姿态角读数却像脱缰的野马一样缓慢偏移,最终导致控制失稳。这背后,十有八九是陀螺仪积分漂移在作祟。对于任何依赖惯性测量单元(IMU)进行姿态解算的开发者来说,这几乎是绕不开的“必修课”。

简单来说,陀螺仪通过测量角速度,再经过积分运算来推算角度变化。这个原理听起来完美,但现实很骨感。任何微小的传感器零点误差、温度漂移,甚至电路中的偏置电压,都会在积分过程中被无限放大,最终导致计算出的角度偏离真实值越来越远,这就是积分漂移。它就像一个计时不准的沙漏,沙子漏得快慢稍有偏差,累积起来的时间误差就会越来越大。单纯依赖陀螺仪,姿态检测系统注定是不稳定的。

因此,我们必须引入另一位“搭档”——加速度计。加速度计在静止或匀速运动时,可以测量出重力加速度在其敏感轴上的分量,从而直接解算出相对于水平面的倾角。它的优点是没有累积误差,缺点是动态响应差,对运动加速度(比如车模的加减速、晃动)极其敏感,会产生巨大的噪声。

于是,问题的核心就变成了:如何巧妙地融合陀螺仪(动态响应好,但有漂移)和加速度计(静态精度高,但动态噪声大)的数据,扬长避短,得到一个既快速又准确的姿态角?这正是传感器数据融合的艺术所在。本文将深入剖析三种在工程实践中被广泛验证的滤波方案:卡尔曼滤波、互补滤波以及因其简洁高效而在国内高校(尤其是相关领域)广受欢迎的“清华滤波”思路。我们不仅会探讨其背后的数学直觉和原理,更会聚焦于电路实现与参数调整的实战细节,为你提供从理论到硬件的一站式解决指南。

1. 理解根源:陀螺仪与加速度计的“性格”剖析

在寻找解决方案之前,我们必须彻底理解两位“主角”的优缺点。这就像为团队挑选成员,只有深知其长短,才能安排合适的岗位,让他们协同工作。

1.1 陀螺仪的积分之殇与硬件补偿

陀螺仪输出的是角速度信号,单位通常是度/秒或弧度/秒。要得到角度,我们需要进行积分运算:角度 = ∫ 角速度 dt。在模拟电路时代,这个积分运算通常由一个运算放大器积分电路来实现。

一个典型的反相积分电路如下图所示(此处为原理描述):陀螺仪的输出电压(代表角速度)输入到运放的反相端,通过一个反馈电容进行积分。理想情况下,输出电压与输入电压的积分成正比。然而,问题就出在“理想”二字上。

  • 偏置电压:运放自身存在输入偏置电压,陀螺仪在零角速度时也有一个非零的静态输出电压(V_G0)。这些微小的直流分量会被积分电路无情地累积。
  • 漏电流:积分电容和运放的输入阻抗并非无穷大,存在微小的漏电流,这同样会导致输出电压缓慢漂移。

其结果就是,即使陀螺仪静止不动,积分电路的输出也会随时间线性增长或下降,最终达到电源电压而饱和,完全失去作用。这就是积分漂移在硬件层面的直观体现。

注意:在现代数字系统中,我们通常使用微控制器读取陀螺仪的数字化角速度值,然后在软件中进行积分运算。但原理相通,传感器本身的零偏(Bias)和温漂,会在数字积分中同样造成角度漂移。

早期的工程实践中,为了抑制这种硬件积分漂移,会在电路中引入高通滤波特性。例如,在积分电容两端并联一个超大电阻(如10MΩ),或者在输入回路中串联一个电容。这相当于在数学上给纯积分环节 1/s 增加了一个极点,使其变为一个近似积分器,传递函数类似 1/(s + α)。这样,极低频(包括直流)的信号会被衰减,从而抑制了漂移。

但这种做法带来了新的问题:它同时衰减了姿态角中的低频和直流分量。这意味着,当你把车模固定在一个倾斜角度时,积分电路输出的角度值会慢慢“忘记”这个静态倾角,衰减回零。这显然不是我们想要的。

// 一个简化的软件积分示例,展示了漂移如何产生
float gyro_bias = 0.05; // 陀螺仪零偏,假设为0.05度/秒
float angle = 0.0;
float dt = 0.01; // 采样周期10ms

void update_angle(float gyro_rate) {
    // 积分过程,包含了零偏
    angle += (gyro_rate + gyro_bias) * dt;
    // 即使gyro_rate为0,angle也会每秒钟增加0.05*0.01*100 = 0.05度
}
// 运行100秒后,即使传感器静止,angle也会漂移5度!

1.2 加速度计的静态之锚与动态之扰

加速度计测量的是比力,即物体所受的合力(除重力外)与重力加速度的矢量和。当我们的智能车在水平地面上静止或匀速直线运动时,它所受的外力合力为零,此时加速度计测量到的就是重力加速度 g 在其三轴上的分量。

通过简单的三角函数运算,我们可以利用重力矢量在载体坐标系下的投影,直接计算出滚转角(Roll)和俯仰角(Pitch)。例如,对于俯仰角 θ:

Ax = g * sin(θ)
Az = g * cos(θ)
θ = atan2(Ax, Az)

这种方法没有累积误差,在静态条件下非常准确。因此,加速度计为我们提供了一个绝对的角度参考基准,就像一个永不漂移的“锚”。

然而,一旦系统开始运动,麻烦就来了。车模的加速、减速、转弯,都会产生额外的运动加速度,这些加速度会与重力加速度混叠在一起,被加速度计毫无差别地测量到。导致计算出的角度包含大量高频噪声,甚至完全错误。例如,车模突然加速前进时,加速度计X轴读数会增大,可能被误判为车头抬起了。

为了抑制这种高频振动噪声,最直接的想法是对加速度计计算出的角度进行低通滤波。一个简单的RC低通滤波器或者软件中的一阶低通滤波可以平滑掉快速的波动。

传感器优点缺点频率特性
陀螺仪动态响应快,短期精度高,不受运动加速度影响存在积分漂移,长期精度差高通:自身输出需积分,但对漂移敏感,需抑制低频
加速度计无累积误差,长期稳定,提供绝对参考对运动加速度敏感,动态响应慢,高频噪声大低通:其信号需要滤波以消除高频干扰

这张表清晰地揭示了对立与统一:一个擅长高频,一个擅长低频;一个怕漂移,一个怕振动。融合它们的核心思想呼之欲出:用加速度计的低频信息去校正陀螺仪的低频漂移,用陀螺仪的高频信息去弥补加速度计动态响应不足。接下来介绍的三种滤波方案,都是这一思想在不同数学框架下的实现。

2. 方案一:互补滤波——直观易懂的“混合大师”

互补滤波(Complementary Filter)是理解传感器融合最直观的切入点。它的思想朴素而有效,就像调酒一样,将两种原料按比例混合。

2.1 核心原理与传递函数

互补滤波的核心是一个加权融合的过程。我们有两路角度信号:

  1. θ_gyro:由陀螺仪角速度积分得到。θ_gyro = ∫ ω dt
  2. θ_accel:由加速度计直接计算得到。

直接融合?不行。因为 θ_accel 噪声太大。所以我们需要先对 θ_accel 进行低通滤波(LPF),只保留其可信的低频部分;同时对 θ_gyro 进行高通滤波(HPF),只保留其可信的高频部分。然后将这两部分加起来:

θ_output = LPF(θ_accel) + HPF(θ_gyro)

如果LPF和HPF的截止频率设计得当,并且满足 LPF(s) + HPF(s) = 1(在所有频率上互补),那么输出信号就能在全频段内都保持良好特性。最常用的一阶互补滤波实现中,通常使用同一个截止频率 α,且 HPF(s) = 1 - LPF(s)。

在时域离散系统中,最流行的实现形式如下:

// 一阶互补滤波算法 (伪代码)
float alpha = 0.98; // 融合系数,通常取0.95-0.99
float angle = 0.0; // 估计角度
float dt = 0.01; // 采样时间

void complementary_filter(float gyro_rate, float accel_angle) {
    // 1. 用陀螺仪积分进行预测
    angle += gyro_rate * dt;
    // 2. 用加速度计测量值进行校正(混合)
    angle = alpha * angle + (1 - alpha) * accel_angle;
}

在这个算法中,alpha 实际上扮演了信任权重的角色。alpha 越接近1,系统越信任陀螺仪的积分结果(动态好),alpha 越接近0,系统越信任加速度计的瞬时测量(静态准)。(1-alpha) 项就是校正量,它不断地将陀螺仪积分结果“拉”向加速度计给出的参考方向,从而抑制了漂移。

2.2 硬件电路实现与参数整定

在纯模拟电路时代,互补滤波可以直接用运放电路实现。其核心是一个比例-积分(PI) 调节器思想的应用。

电路思路:

  1. 将加速度计输出的角度信号(电压)与当前估计的角度信号(电压)进行比较,得到误差。
  2. 将此误差通过一个比例环节(增益为 Kp)放大。
  3. 将此误差信号加到陀螺仪的角速度信号上,然后再进行积分。
  4. 积分后的输出即为估计的角度,同时反馈回第一步进行比较。

这个闭环系统本质上是一个跟踪器,它强迫积分器的输出(估计角度)去跟踪加速度计给出的参考角度。Kp 的大小决定了跟踪的强度:Kp 大,校正力度强,静态准但可能引入加速度计噪声;Kp 小,系统更平滑,但静态误差消除得慢。

参数整定实战: 调整 alpha(或模拟电路中的 Kp/RC常数)是互补滤波调参的全部。没有一成不变的值,必须根据实际系统测试。

  • 初始值:通常从 alpha=0.95 开始尝试。
  • 测试方法:
    • 静态测试:将设备静止放置,观察估计角度的漂移情况。如果角度缓慢漂移,说明对加速度计的信任不够,需要减小 alpha(增大 (1-alpha)),加强校正。
    • 动态测试:快速晃动设备,观察估计角度是否跟得上真实运动,是否有明显延迟或振荡。如果响应迟钝或出现振荡,说明对陀螺仪的信任不够,或者校正过强,需要增大 alpha。
  • 经验:对于平衡车这类需要快速响应的系统,alpha 可以设得高一些(如0.98-0.995),优先保证动态性能,允许极缓慢的静态漂移(在控制环中可被修正)。对于对静态精度要求高的倾角测量,alpha 可以设得低一些。

互补滤波的优点是极其简单,计算量小,易于理解和实现,在微控制器资源有限的场合是首选。但它本质上是一个固定系数的加权平均,无法根据传感器噪声特性进行自适应调整,这是其局限性。

3. 方案二:卡尔曼滤波——最优估计的“数学引擎”

如果说互补滤波是经验丰富的老师傅凭手感调参,那么卡尔曼滤波(Kalman Filter)就是一位拥有严谨数学模型的科学家。它不满足于固定的混合比例,而是试图根据我们对系统和对传感器噪声的了解,动态地给出最优的融合权重。

3.1 状态空间模型与两个关键步骤

卡尔曼滤波将系统建模为一个动态过程,并假设过程噪声和测量噪声都是高斯白噪声。对于姿态估计,最常用的是一维或简化的模型。

我们定义系统的状态变量为需要估计的量,例如:

x = [角度; 角速度偏差]^T

这里特意将陀螺仪的零偏 bias 也作为状态进行估计,这是卡尔曼滤波解决漂移问题的关键。

卡尔曼滤波在每个周期内进行两个步骤:

  1. 预测(Predict):根据上一时刻的状态和陀螺仪的输入(角速度),利用系统模型预测当前时刻的状态和不确定性(协方差)。
    // 预测角度和零偏
    预测角度 = 上一时刻角度 + (陀螺仪读数 - 上一时刻估计零偏) * dt
    预测零偏 = 上一时刻零偏 // 假设零偏变化缓慢
    // 同时,预测的不确定性(协方差P)也会根据模型和过程噪声Q增大
    
  2. 更新(Update):利用加速度计的测量值(计算出的角度)来校正预测值。计算卡尔曼增益K,它决定了在本次更新中,我们应该多大程度相信预测值,又多大程度相信测量值。
    // 计算卡尔曼增益K
    // K 与预测的不确定性、测量的不确定性R有关
    // 如果预测很准(不确定性小),则K小,更相信预测;如果测量很准(R小),则K大,更相信测量。
    新估计角度 = 预测角度 + K * (加速度计角度 - 预测角度)
    新估计零偏 = 预测零偏 + 相关增益 * (加速度计角度 - 预测角度)
    // 同时,更新状态的不确定性
    

3.2 实战中的简化与参数调优

完整的卡尔曼滤波涉及矩阵运算,对于简单的单角度估计,可以大大简化。一种非常流行的简化版就是所谓的“一维卡尔曼滤波”或“卡尔曼滤波器用于姿态融合”,其形式与互补滤波惊人地相似,但增益 K 是时变的。

然而,真正的威力在于对零偏 bias 的在线估计。通过将 bias 纳入状态,滤波器能够自动学习并补偿陀螺仪的零偏变化,这是固定系数的互补滤波做不到的。

核心参数调优: 卡尔曼滤波的性能取决于你告诉它的“信任程度”,即噪声协方差矩阵 Q(过程噪声)和 R(测量噪声)。

  • Q - 过程噪声协方差:表示你对系统模型信任程度。Q 越大,表示你认为模型不准确、陀螺仪噪声大或零偏变化快,滤波器会更倾向于相信加速度计的测量,收敛快但可能更敏感。
  • R - 测量噪声协方差:表示你对加速度计测量的信任程度。R 越大,表示你认为加速度计噪声大、不可靠,滤波器会更倾向于相信陀螺仪的积分,输出更平滑但校正慢。

调参步骤:

  1. 初始化:给角度、零偏一个初始估计(通常为0),给协方差矩阵 P 一个较大的初始值(表示初始不确定度大)。
  2. 设置 Q 和 R:这是调参的核心。
    • R 的设定相对直观:通过将设备静止放置,观察加速度计计算出的角度的波动方差,可以大致估计出 R。
    • Q 的设定更依赖经验:它包含角度变化噪声和零偏变化噪声。通常零偏变化噪声 (Q_bias) 设为一个非常小的值(如1e-6),表示我们假设零偏变化非常缓慢。角度变化噪声 (Q_angle) 可以设得稍大,反映陀螺仪读数的噪声。
  3. 测试与调整:
    • 静态收敛测试:手持设备缓慢改变角度至一个固定值并保持静止。观察估计角度是否快速、平滑地收敛到真实值,且收敛后没有抖动或漂移。如果收敛慢,尝试增大 Q_angle 或减小 R。如果收敛后抖动大,尝试减小 Q_angle 或增大 R。
    • 动态跟踪测试:快速来回摆动设备。观察估计角度是否能紧密跟踪真实运动,没有明显滞后。如果滞后严重,可能是 R 太大或 Q_angle 太小,导致过于信任平滑但迟缓的加速度计信号。
    • 零偏估计测试:在设备静止时,观察估计出的 bias 值是否稳定在一个合理范围,并且当温度变化时,bias 能否自适应调整。

卡尔曼滤波的优势在于其最优估计和自适应能力,尤其适合处理噪声统计特性已知或变化的环境。但其缺点是计算复杂,参数 (Q, R) 调优需要一定的经验,且对模型准确性有依赖。

4. 方案三:“清华滤波”——一种工程化的简洁自适应思路

在智能车竞赛等实践社区中,流传着一种被称为“清华滤波”的方法。需要澄清的是,这并非一个严格意义上的学术名词,而更像是一种在工程实践中演化出来的、融合了互补滤波直观性和一定自适应能力的算法思路或实现技巧。它得名于早期在一些相关技术资料和高校(如清华大学)学生实践中的广泛应用和传播。其核心目标是:在保持互补滤波简单性的基础上,引入某种程度的自适应调整,以应对更复杂的情况。

4.1 核心思想:动态调整的混合系数

经典互补滤波的 alpha 系数是固定的。但在实际系统中,传感器的可信度并非一成不变。例如:

  • 当车模静止或匀速运动时,加速度计信号可信度高,我们希望加大其权重(减小 alpha)。
  • 当车模剧烈加速、减速或振动时,加速度计信号充满噪声,可信度极低,此时应几乎完全依赖陀螺仪(alpha 趋近于1)。

“清华滤波”思路的关键就在于,根据某种对系统动态的判断,动态地调整这个融合系数。

一种常见的实现方式是根据加速度计输出的模长来判断运动状态。我们知道,在静止状态下,加速度计三轴矢量和应等于重力加速度 g。当车模运动时,额外的加速度会使模长偏离 g。

// 一种动态调整alpha的思路 (伪代码)
float accel_total = sqrt(ax*ax + ay*ay + az*az); // 加速度计矢量和模长
float error = fabs(accel_total - 9.81); // 与重力加速度的偏差

float alpha_dynamic;
if (error < 0.1) { // 基本静止,非常信任加速度计
    alpha_dynamic = 0.90;
} else if (error < 0.5) { // 轻微运动
    alpha_dynamic = 0.96;
} else { // 剧烈运动,不信任加速度计
    alpha_dynamic = 0.995;
}
// 使用动态的alpha_dynamic进行互补滤波融合
angle = alpha_dynamic * (angle + gyro_rate*dt) + (1-alpha_dynamic) * accel_angle;

4.2 另一种视角:比例-积分(PI)校正的互补滤波

另一种被归入此类思路的算法,结构上更像一个PI控制器。它将加速度计与陀螺仪积分角度的差值(误差)同时通过一个比例项 Kp 和一个积分项 Ki 进行运算,然后反馈到陀螺仪的角速度输入上进行校正。

// PI互补滤波形式
float error = accel_angle - angle; // 加速度计角度与当前估计角度的误差

// 对误差进行PI运算
float gyro_correct = Kp * error + Ki * error_integral;
error_integral += error * dt; // 积分项

// 用校正后的角速度进行积分
angle += (gyro_rate + gyro_correct) * dt;

在这个框架下:

  • 比例项 Kp:提供快速的误差纠正。Kp 越大,系统将估计角度“拉”向加速度计角度的速度越快,但可能引入噪声。
  • 积分项 Ki:用于消除静态误差。它持续累积角度误差,并输出一个校正量,这个校正量实际上就是在估计并补偿陀螺仪的零偏 bias。这与卡尔曼滤波中估计 bias 的状态有异曲同工之妙。

参数整定经验:

  1. 首先将 Ki 设为0,调整 Kp。使系统能够快速响应角度变化,但又不会因加速度计噪声而产生明显振荡。这类似于调整互补滤波的 alpha。
  2. 然后加入一个很小的 Ki(例如 Kp/100 的量级)。观察在静止状态下,角度是否能够稳定在准确值,且没有缓慢漂移。Ki 过大会导致系统在动态运动后产生超调或振荡。
  3. 这种PI形式的优点是非常直观,Kp 和 Ki 的物理意义明确,且计算量介于标准互补滤波和完整卡尔曼滤波之间。

“清华滤波”这类方法体现了工程师的智慧:在理论最优(卡尔曼滤波)和极致简单(固定互补滤波)之间寻找一个实用的平衡点。它通过一些启发式规则或简单的控制回路,引入了自适应能力,显著提升了在动态环境下的鲁棒性,同时保持了代码的轻量和可调试性。在许多对实时性要求高、计算资源有限的嵌入式平台上,这种思路往往是最佳选择。

5. 方案对比与工程选型指南

面对三种方案,如何为你的智能车或无人机项目做出选择?下表从多个维度进行了对比。

特性维度互补滤波卡尔曼滤波“清华滤波”/自适应思路
核心原理固定权重频域互补基于状态空间模型的最优估计动态权重或PI校正的工程优化
计算复杂度极低,几次乘加运算高,涉及矩阵运算(简化版尚可)低至中,略高于固定互补
参数理解难度非常简单(一个系数)较难(Q, R矩阵需理解)中等(Kp, Ki或阈值规则)
调参直观性非常直观,试错即可需要理论基础和系统辨识相对直观,有控制理论背景更易
自适应能力无,系数固定强,最优增益时变,可估计零偏中等,可根据规则或误差积分调整
静态精度一般,存在固定残差高,可渐近消除零偏较高,通过积分项消除静差
动态性能好,取决于系数选择好,模型依赖好,动态中可降低不可信数据权重
抗运动干扰一般,固定系数下受干扰影响固定较好,通过R矩阵调节信任度较好,可设计规则抑制干扰期权重
资源紧张MCU首选需谨慎评估,简化版可用强烈推荐,性价比高
高性能处理器可用,但非最优优势明显,可运行完整模型可用,是一种高效实现

工程选型建议:

  • 如果你是初学者,或项目周期紧、MCU资源(如RAM、算力)极其有限:从互补滤波开始。它能让你最快地让系统跑起来,理解数据融合的基本概念。花时间调好一个固定的 alpha,在大多数平衡车场景下已经足够取得不错的效果。
  • 如果你的项目对姿态精度和稳定性要求极高,且拥有一定的处理器性能余量(如Cortex-M4以上):深入学习和实现卡尔曼滤波。它能为你的系统带来理论上的最优性能,尤其是在需要在线估计和补偿传感器零偏、应对复杂运动模式的场合。可以从一维或简化的6轴IMU卡尔曼滤波库开始。
  • 如果你在互补滤波上遇到了瓶颈(比如静态漂移和动态扰动的矛盾无法用固定系数调和),希望提升性能但又对完整的卡尔曼滤波望而却步:那么采用“清华滤波”所代表的动态自适应思路是你的最佳升级路径。尝试实现一个基于加速度计模长的动态 alpha,或者实现一个PI校正器。这通常能以较小的代码和计算开销,带来显著的性能提升。

最后,无论选择哪种算法,硬件是基础。确保你的IMU安装牢固,远离电机和电源等振动、发热源。在软件中,务必对陀螺仪和加速度计的原始数据进行校准(标定零偏和比例因子)和滤波(简单的低通滤波去除高频噪声)。良好的预处理能让任何融合算法事半功倍。在我的一个四旋翼项目中,最初被姿态抖动困扰,后来发现是IMU的电源纹波过大,加了磁珠和去耦电容后,同样的互补滤波算法,稳定性立刻上了一个台阶。所以,当你调试算法效果不佳时,不妨回头检查一下硬件和信号质量,很多时候问题并不在算法本身。

[PRML] Bayesian Learning 贝叶斯学习方法 问题引入  在上一篇博客[PRML] Point Estimation 点估计 的最后,难搞的富翁提了一个无厘头的问题,他固执地认为,图钉头朝上和屁股朝上的概率和抛硬币一样是五五开。尽管我们很好地用理论阐述了为什么图钉头朝上的概率是3/5,但富翁还是要我们解释一下为什么。没办法,谁让人家给钱呢:(θ\theta的概率分布  在点估计中,我们假设图钉头朝上的概率是一个单值,现在,更一般地,我们假设θ\ 阅读详情

相关推荐

在线学习与增量更新:适应性贝叶斯网络

在线学习与增量更新:适应性贝叶斯网络 作者:禅与计算机程序设计艺术 1. 背景介绍 在当今高度动态的数据环境中,数据的分布和特征可能会随时间而不断变化。传统的静态机器学习模型在面对这种非平稳数据分布时往往表现不佳,难以及时适应新的数据特征。为解决这一问题,近年来适应性贝叶斯

AI架构师小马 738

12.贝叶斯正则化,在线学习,误差分析,销蚀分析

geeksu的博客 690

14、贝叶斯优化与在线学习:应对复杂场景的创新框架

本文探讨了贝叶斯优化与在线学习中的创新框架,提出了一种灵活的迁移学习方法以提升贝叶斯优化在超参数调优中的效率,以及一种基于遗忘机制的框架以应对在线学习中的概念漂移问题。通过合成数据和真实世界数据集的实验验证,所提方法在加速收敛和提升准确性方面表现优异。

life6的博客 107

初识人工智能,一文读懂贝叶斯优化进阶的知识文集(7)

贝叶斯优化的收敛性是指贝叶斯优化算法在有限次迭代后收敛到目标函数的局部最优解的可能性。贝叶斯优化算法可以保证在有限次迭代后收敛到目标函数的局部最优解,但不能保证收敛到全局最优解。目标函数的性质贝叶斯优化算法的参数设置贝叶斯优化算法的实现如果目标函数是凸函数,那么贝叶斯优化算法可以保证在有限次迭代后收敛到目标函数的全局最优解。如果目标函数是非凸函数,那么贝叶斯优化算法只能保证在有限次迭代后收敛到目标函数的局部最优解。贝叶斯优化算法的参数设置也会影响其收敛性。

m0_50308467的博客 2157

增量式学习与在线朴素贝叶斯

增量式学习与在线朴素贝叶斯 作者:禅与计算机程序设计艺术 1. 背景介绍 在当今快速发展的数字时代,海量的数据不断涌现,对于机器学习模型的学习能力提出了新的要求。传统的批量式学习方法通常需要一次性获取全部训练数据,并在离线环境中进行模型训练。然而,在许多实际应用场景中,数据是持续不

AI天才研究院 1393

【论文】贝叶斯在线学习在广告预估的应用

该论文表示这一框架已经用于腾讯广告系统的点击率预测,并获得了稳定高效的性能。该论文还详细推导展示了 PBODL 框架,并在实际试验中证明了 PBODL 相对于其他在线模型具有更好的表现

吴恩达斯坦福大学机器学习课程——Lecture 11:贝叶斯统计和正则化、在线学习和机器学习算法调试

longqiang850407的博客 467

五子棋小游戏,可联机,单机

五子棋小游戏,可联机,单机

adf机器_经典模型1. ADF: 增量贝叶斯与在线学习(Online Bayesian Learning)

(题图:5月的snowbird滑雪场,雪未化,山渐青)赶完 NeurIPS 和 ICDM后 颓了一周,终于提起心气来写文章了。今天来介绍下贝叶斯机器学习里一个非常经典的模型: ADF—assumed density filtering(没找到特别好的中文翻译, 直译叫做 假定密度滤波 )。他还有两个私以为更贴切的名字:贝叶斯在线学习(online Bayesian learning)和 矩匹配(M...

weixin_31269713的博客 958

基于蜣螂优化算法的多无人机安全航迹规划方法研究(Matlab代码实现)

内容概要:本文研究了基于多策略改进蜣螂优化算法(MSDBO)的多无人机协同三维安全航迹规划方法,旨在解决城市空中交通等复杂环境中多无人机集群飞行的路径规划与动态避障问题。通过引入多种优化策略对蜣螂算法进行改进,增强了算法的全局搜索能力与收敛精度,构建了以路径长度、飞行高度、威胁规避和转弯角度等为约束的综合成本最小化目标函数,实现了多无人机在三维空间中的高效协同避障与安全路径生成。该方法有效提升了飞行任务的安全性与执行效率,并通过Matlab仿真验证了其相较于传统算法在路径质量、避障能力和收敛性能方面的优越性。; 适合人群:具备一定智能优化算法基础和Matlab编程能力,从事无人机路径规划、群体智能算法、空中交通管理或相关工程应用研究的科研人员、高校研究生及自动化、航空航天领域的技术人员。; 使用场景及目标:①应用于城市巡检、应急救援、物流配送等多无人机协同任务中的三维路径规划;②为解决复杂动态环境下多机冲突消解、威胁规避与航迹优化问题提供高效算法支持;③推动蜣螂优化算法在多智能体系统与复杂工程优化中的实际落地与拓展应用。; 阅读建议:建议结合文中提供的Matlab代码进行仿真实践,深入理解MSDBO算法的设计机制与航迹规划模型的构建逻辑,可尝试调整环境参数、威胁分布或优化目标权重,观察算法在不同场景下的适应性与鲁棒性,进一步掌握智能优化算法在无人机系统中的应用方法与调参技巧。

有限长度直导线的三维磁场计算:应用毕奥-萨法尔定律(Matlab代码实现)

内容概要:本文系统阐述了基于毕奥-萨伐尔定律计算有限长度直导线在三维空间中产生磁场的理论方法与实现过程。通过建立直导线磁场的积分数学模型,结合数值离散化处理手段,利用Matlab编程实现磁场矢量的精确计算与三维可视化,详细展示了空间任意点处磁场强度的大小与方向分布特性。文中深入探讨了该方法相较于安培环路定律在处理非闭合、有限长导体时的适用优势,并提供了完整的Matlab代码实现方案,便于读者复现结果、理解物理规律并拓展至更复杂的电磁场建模问题。; 适合人群:具备电磁学基础理论知识和Matlab编程能力的高等院校电气、物理及相关专业的本科生、研究生、科研人员以及从事电磁兼容、电力工程、传感器设计等领域的工程技术开发者。; 使用场景及目标:①作为电磁场与电磁波课程的教学辅助材料,帮助学生直观理解毕奥-萨伐尔定律的物理内涵与实际应用;②为工程实践中直导线电流产生的磁场建模、电磁干扰(EMI)分析、磁传感器布局优化等提供可靠的仿真依据;③作为学习复杂电磁系统数值计算方法的入门级实践案例,为进一步研究奠定基础。; 阅读建议:建议读者结合经典电磁学教材,仔细推导文中的积分公式,透彻理解其物理意义,并亲自运行所提供的Matlab代码,通过调整导线长度、电流强度及观察点位置等参数,观察磁场分布的变化规律,从而深化对三维静磁场特性的直观认知与工程应用理解。

贝叶斯网络学习

状态空间搜索:如果按专业点的说法就是将问题求解过程表现为从初始状态到目标状态寻找这个路径的过程。通俗点说,两点之间求一线路,这两点是求解的开始和问题的结果,而这一线路不一定是直线,可以是曲折的。由于求解问题的过程中分枝有很多,主要是求解过程中求解条件的不确定性,不完备性造成的,使得求解的路径很多这就构成了一个图,我们说这个图就是状态空间。问题的求解实际上就是在这个图中找到一条路径可以从开始到结果。...

我真的很不错的博客 3890

Win10 有线网卡配置静态IP后,出现两个IPv4地址的解决方法

在我使用有线网络连接局域网时,配置了静态IP之后,发现网络并没有通,检查之后发现“以太网状态”-“网络连接详细信息”中,出现了2个IPv4的地址(一个是DHCP分配的169.254.xx.xx的IP,另一个是我配置的静态地址),但是网络是没有正常与我所配置的静态地址正常通信的。这个是我执行后的截图,重启电脑后以太网配置静态IP,恢复正常。最终我查了好多网络上的解决办法,有些办法并没有解决我的问题。这个是网上别人的问题截图,我的也是类似这种。第一种(没有解决我的问题)第二种(没有解决我的问题)

Zlz_Nike的博客 2万+

贝叶斯网络结构学习方法简介

题目:贝叶斯网络结构学习方法简介         贝叶斯网络(Bayesiannetwork, BN)结构学习就是从给定的数据集中学出贝叶斯网络结构,即各节点之间的依赖关系;只有确定了结构才能继续学得网络参数,即表示各节点之间依赖强弱的条件概率。对于普通人来说(非贝叶斯网络的专业研究人员,仅一般使用者),希望的是能够有那么一个函数,函数的输入是数据集,输出即为贝叶斯网络结构。目前确实有很多贝叶斯

彬彬有礼的专栏 4万+

从零到一:手把手教你用Verilog实现一个AHB-Lite总线主机(附完整代码)

本文详细介绍了如何使用Verilog从零开始实现一个AHB-Lite总线主机,涵盖协议解析、状态机设计、突发传输处理等关键环节,并提供完整代码示例。通过实战指南,帮助数字IC设计工程师掌握AMBA3.0总线协议的核心实现技术,提升SoC设计能力。

weixin_29209825的博客 363

手把手教你用DCA1000和mmWave Studio 2.0采集AWR1843雷达数据(附驱动安装与常见报错排查)

本文详细介绍了使用DCA1000和mmWave Studio 2.0采集AWR1843毫米波雷达数据的全流程指南,包括硬件连接、驱动安装、软件配置及常见报错排查。通过实战经验分享,帮助开发者快速掌握数据采集技巧,优化雷达参数配置,提升数据质量与采集效率。

weixin_30070339的博客 335

贝叶斯网络系列学习

贝叶斯网络系列学习(1) 文章目录贝叶斯网络系列学习(1)前言一、基础知识二、贝叶斯网络1.朴素贝叶斯1.2 朴素贝叶斯的分类2.贝叶斯网络2.1 贝叶斯网络2.2 代码总结参考文献 前言 最近一直在学习水下环境安全性态势评估,需要用到贝叶斯网络,因此,打算用Blog记录一下自己的学习笔记,也能方便以后的查找。 一、基础知识 1.联合概率 联合概率是包含多个条件,且所有的条件同时成立的概率。记作  P(A,B)=P(AB) \ P(A,B)= P(AB) \  P(A,B

qq_45059780的博客 3601

Trimble RealWorks处理点云数据(一)之坐标转换

Trimble RealWorks处理点云数据之坐标转换

yilvyangguang520的博客 3625

贝叶斯网络简介

简介 贝叶斯网络(Bayesian network),又称信念网络(belief network)或是有向无环图模型(directed acyclic graphical model),是一种概率图型模型,借由有向无环图(directed acyclic graphs, or DAGs )中得知一组随机变量{}及其n组条件概率分配(conditional probability distri

memory的专栏 8万+

基于CST的PCB通孔三维建模实例

本文简明扼要地描述了如何利用CST的参数化脚本快速生成PCB的通孔三维模型,非常适合于进行快速精准的PCB参数分析。

一只豌豆象的博客 1838

Vue3 - Element Plus 全局修改更换主题色配置详细教程,element-plus自定义主题色全局替换主色调强力解决方案,支持动态修改主题颜色/动态皮肤,将默认蓝色主题色更换为其他颜色!

vue3,nuxt3,element-plus,组件库,主题色,修改主题颜色,更换主题色,如何修改组件默认主题蓝色,项目主题色定制,修改失败,主题色覆盖不了,:root直接修改,hover颜色没改,自定义主题色,vue3全局设置elementPlus主题色最新详细修改教程,怎么修改全局的颜色,scss变量,覆盖原来的主题色改为自己的颜色,统一替换,有没有好办法,颜色不变,失败,无效,动态主题切换,主题颜色怎么在项目里直接改,plus主题色更换,覆盖默认主题色,最强最好用,设置主题色,换肤,皮肤,动态更换

🏆 前端领域优质创作者 1万+

斯坦福ML公开课笔记11——贝叶斯正则化、在线学习、ML应用建议

本文对应ML公开课的第11个视频。前半部分仍然是讲学习理论的内容,后半部分主要讲述一些在具体应用中使用ML算法的经验。学习理论的内容包括贝叶斯统计和正则化(Bayesian statistics and Regularization)、在线学习(Online Learning)。ML经验包括算法的诊断(Diagnostics for debugging learning algorithms)、误差分析(error analysis)、销蚀分析(ablative analysis)、过早优化(prematu

雨石 1万+

【社招算法经验贴】算法社招记录

总的来说,也是收获了七七八八的offer,给的涨幅40~100%,职级有的可以对标到 p7(但阿里p7是真难a,a不动)。面了一圈下来,感觉大模型也在收缩hc。尤其是多模态相关hc。凭着上学期间做过相关视觉的work和paper,社招虽然能进面试,但是hc少得可怜,多模态已死慎入。还有大模型应用算法给的涨幅,跟搜广推的涨幅差别不大。真正能几百万往上的是基座pretrain/后训练/infra,但是全靠social和conn,hc极少。

Danger的博客 987

贝叶斯网络(机器学习系列,持续更新中~)

在说贝叶斯规则(Bayes rule)和将贝叶斯规则用于图模型之前,先让大家了解下机器学习的四个范式(paradigms),也可以理解为四个流派; 连接主义(connectionist):用现在比较流行的说法就是神经网络,现在用到的工具有Tensorflow、PyTorch、Theano、caffe等~ 符号主义:逻辑的学习,思想严密但计算复杂度很高,从18年开始,在nlp领域上有人开始尝试连接...

MaoGW的博客 3119

thermal系列(5)-DTSI中配置Thermal

By: fulinux E-mail: fulinux@sina.com Blog: https://blog.youkuaiyun.com/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! 目录thermal系列目录DTSI中配置ThermalDTSI节点类型描述CPU0的配置举例CPU核hot-plugging举例修改热缓解阈值DTSI的node中带有tracks-lowDTSI中关闭某个Thermal Zones thermal系列目录 thermal系列(1)-引言部分 thermal.

fulinux的博客 1232

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

上一篇: 不踩坑指南:用Frida给iOS应用脱壳时如何避开Python环境那些坑
下一篇: 从BERT到T5:迁移学习如何推动Transformer模型的进化
linux6sysadmin
博客等级 码龄4年 59粉丝 1615原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值