恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

证据理论多源数据融合仿真:MATLAB实现与避坑指南

  • 首页
  • 资讯中心
  • /
  • 证据理论多源数据融合仿真:MATLAB实现与避坑指南

相关资讯

STM32C8T6循迹避障小车实战:硬件选型、代码调试与PID调优 2026/10/13 23:02:33
三体系审核条款对照与结合审核落地指南 2026/10/13 23:02:33
Picotls 手记:用 C 语言轻量实现 TLS 1.3 的协议库集成与避坑指南 2026/10/13 23:02:33

最新资讯

OpenMAIC:开源多智能体平台,让课堂AI从工具孤岛走向协同编排
Spring Framework源码编译实战:从版本对齐到踩坑全记录
跨境电商选品避坑:30多个劝退类目深度拆解
飞牛NAS远程访问卡顿怎么办?从链路选型到转码缓冲的完整调优指南
回文子串专题:中心扩展、动态规划与Manacher的Java学习路线
Docker入门实战:从镜像、容器到Compose,告别环境地狱

今日推荐

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析
CAN总线错误处理机制深度解析:从位错误到Bus Off的硬件级调试

本周热门

UE动画修改实战:从资产编辑到重定向与蒙太奇驱动
统计随机数生成器攻击下的KLJN安全密钥交换协议Matlab仿真
政务API安全治理:资产测绘、低代码编排与行标对标实践

本月精选

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)

证据理论多源数据融合仿真:MATLAB实现与避坑指南

发布时间:2026/10/13 23:02:33
证据理论多源数据融合仿真:MATLAB实现与避坑指南 简介基于证据理论的多源数据融合仿真实验Matlab代码面向数据融合与人工智能方向的学生及科研人员用于理解D-S证据理论中基本置信度、信任函数与似真函数的计算并完成两证据和三证据的融合过程。代码支持识别框架内元素个数在三至五个之间灵活设定其余参数可自行调整便于对比不同条件下融合结果的差异。压缩包共五个文件以四个Matlab脚本含主程序main.m、核心融合函数D_S.m、信任函数Bel.m与似然函数Pl.m为主另附一份实验报告doc整体仅96KB结构简洁、便于下载后直接运行和修改。该资源已有1426人学习使用尤其适合用于课程设计、实验报告撰写或证据理论入门实践能够帮助读者快速搭建多源数据融合仿真环境并掌握关键函数的实现逻辑同时可依据实验报告核对每一步计算结果。1. 证据理论多源融合是什么一个例子说清它在解决什么问题某公司正在做一套多传感器目标识别系统雷达报“前方是履带车辆”红外报“前方是轮式车辆”两个传感器各有各的道理但系统最后必须给指挥员一个融合后的判断。这时候用证据理论做多源数据融合就是让每个传感器先给出对“坦克、装甲车、卡车”这几个命题的支持度再用 Dempster 合成规则把这些支持度合到一起输出一个更可信的结论。这个方向最常见的落地方案就是写一组 MATLAB 仿真脚本验证在几个传感器、几类目标之下融合到底比单源好多少也就是标题里这个“基于证据理论的多源数据融合仿真实验 MATLAB 代码”要做的事。证据理论与贝叶斯方法不一样的地方在于它允许传感器在拿不准时把质量分给全集也就是“我不知道”。这种显式的不确定性建模在多传感器融合里非常实用。一套仿真实验通常包含四个环节定义识别框架、为每个传感器构造基本信度分配、用合成规则做融合、按决策规则输出结果。你会发现后面大部分时间都在调基本信度分配和门限融合公式本身反而不是瓶颈。如果你正在做目标识别、故障诊断、遥感分类或态势评估想在论文或项目里加入证据理论融合并希望以一份能跑通的 MATLAB 代码作为起点这篇笔记就是给你梳理原理、参数和踩坑位置的。2. 证据理论的核心概念与融合公式先把黑匣子拆开2.1 识别框架与基本信度分配先定义“命题空间”在做任何融合之前先要定义一个互斥且完备的假设集合叫识别框架。比如三类目标识别框架就是 Θ{目标1, 目标2, 目标3}。每个数据源输出的不是“概率”而是给每个子集一个质量也就是基本信度分配 BPA。质量函数 m 满足三个条件非负、空集质量为 0、所有非空子集的质量之和等于 1。注意mass 不是概率它不对命题的补集做任何假设。m({目标1})0.6 只表示当前证据对这个子集的支持度是 0.6剩下的 0.4 可能支持其他子集也可能全部落在全集上。举个例子某图像处理 Demo 给出 m({目标1})0.6m({目标2})0.1m(Θ)0.3。这说明该传感器对“目标1”的倾向比较明显但还有 30% 的把握分给了全集表示“不确定”。这个全集质量是证据理论最大的特色也是后续调 BPA 时最容易出错的地方。我经常看到有人把所有质量都分到单子集上全集留 0结果两个传感器只要有一点偏差冲突系数就变得很大融合结果反而比单源还差。证据理论还允许传感器表达“两个都像但分不清”比如 m({目标2,目标3})0.4。这在目标轮廓相似、光谱混淆时特别有用。不过在仿真实验里我们通常为了简化只给单元素子集和全集分配质量。这样 mass 向量长度就是 n1所有函数都容易写。等你需要真正表达模糊命题时再把幂集列扩展出来逻辑完全一样。2.2 Dempster 合成规则两个证据怎么揉成一个证据两个传感器给出两个 mass 函数 m1 和 m2Dempster 合成规则可以写成m(A) Σ_{B∩CA} m1(B)·m2(C) / (1-K)其中冲突系数K Σ_{B∩C∅} m1(B)·m2(C)K 表示两个证据之间完全矛盾的总质量。分子把所有交集等于 A 的证据质量乘积累加得到未归一化的信任分母 1-K 把所有矛盾质量重新分配到非空命题上。也就是说如果两个证据在某处激烈冲突规则会把它们的共同支持部分放大同时把矛盾部分按比例摊回去。用前面的数值算一下m1 给目标1 是 0.6m2 给目标1 是 0.5这两项交集为目标1贡献 0.30m1 的目标1 和 m2 的全集交集为目标1贡献 0.18m1 的全集和 m2 的目标1 交集也为目标1贡献 0.15两个全集相交贡献 0.06。把所有目标1相关乘积加起来再除以 1-K目标1 的 mass 会被明显抬高目标2 被压低。这就是 Dempster 规则的直观行为共同支持的部分被放大互相矛盾的部分被当作噪声处理。这个规则有交换律和结合律所以多传感器时理论上可以按任意顺序两两合成。但在写程序时最好保持固定顺序并且在每一步都记录 K 值方便排查是哪两个源引入了冲突。千万不要因为结合律就以为中间结果可以随便丢数值上每一步归一化都可能改变后续结果。2.3 从信任区间到 Pignistic 概率决策前最后一步有了合成后的 mass还不能直接拿来做分类。工程上常用两个量来刻画不确定性信任函数 Bel(A) 是所有 A 的子集质量之和表示对 A 的完全支持似然函数 Pl(A) 是所有与 A 交集非空的质量之和表示不反对 A 的最大信任。区间 [Bel(A), Pl(A)] 就是你对该命题的信心范围。在单子集和全集这种简化布局下Bel({i})m({i})Pl({i})m({i})m(Θ)。如果希望输出一个点估计最常见的做法是转换成 Pignistic 概率。对简化布局BetP({i}) m({i}) m(Θ)/n。这个公式非常干净把全集质量平均分给每个单子集再和原来的单子集质量相加。它的含义是当必须做决定时把未知量均匀摊到所有可能类别上。在 MATLAB 里就是一行向量运算但这一行能救很多决策翻车的情况。提示不要在 mass 函数上直接设阈值做比较mass 大小不代表概率。用 Pignistic 概率或信任区间做决策更稳这也是很多证据理论仿真代码里最容易忽略的一步。3. 多源数据融合仿真实验的 MATLAB 实现从 BPA 矩阵到合成输出3.1 仿真程序的结构数据层、融合层、决策层分开写我一般会把仿真程序拆成三层数据层负责定义识别框架、生成或加载每个传感器的 BPA融合层只做 Dempster 合成不掺业务判断决策层负责输出 Pignistic 概率、分类结果和指标。这样做的原因很简单仿真实验不是跑通一次就结束而是要反复改数据、改门限、看不同传感器组合的效果。如果所有逻辑都堆在一个脚本里改一处要牵连一片。对于标题里这类仿真实验包功能通常就三块一是合成规则函数二是数据生成脚本三是主流程统计脚本。合成函数必须独立因为后面做多源扩展、批量实验都要反复调用。数据生成脚本用来模拟不同传感器质量可以手工写死也可以加噪声自动生成。主流程负责把数据灌进去输出融合结果和评估指标。下面这个代码不是某个源码包里的原版而是我用顺手的结构。你可以直接照着建三个文件ds_combine.m、make_bpa.m、run_simulation.m。这三个文件对应上面三层后续所有调参都在这三个文件之间来回改。3.2 核心融合函数把 Dempster 规则写成 MATLAB 代码先写核心的ds_combine.m。这里采用单子集加全集布局识别框架有 n 个元素所以每个 mass 向量长度是 n1前 n 个是单子集最后一个对应全集。函数同时返回冲突系数 K方便看证据矛盾程度。function [m12, K] ds_combine(m1, m2, nFoD) % 用 Dempster 合成规则合并两个 mass 向量 % 输入: % m1, m2 : 1 x (nFoD1) 的行向量 % 前 nFoD 列对应识别框架中的单元素子集 % 最后一列对应全集(不确定性) % nFoD : 识别框架元素个数 % 输出: % m12 : 合成后的 mass 向量, 与输入布局一致 % K : 冲突系数 L nFoD 1; K 0; % 第一步: 计算冲突系数 K for i 1:L set1 idx2set(i, nFoD); for j 1:L set2 idx2set(j, nFoD); if isempty(intersect(set1, set2)) K K m1(i) * m2(j); end end end % 防止除零: 冲突系数接近 1 时 Dempster 规则不适用 if K 1 - 1e-12 error(冲突系数 K 接近 1, Dempster 规则不适用); end % 第二步: 对每个命题计算未归一化的合成 mass m12 zeros(1, L); for i 1:L set1 idx2set(i, nFoD); for j 1:L set2 idx2set(j, nFoD); inter intersect(set1, set2); if isempty(inter) continue; end idx set2idx(inter, nFoD); if idx 0 m12(idx) m12(idx) m1(i) * m2(j); else warning(出现复合命题交集, 当前简化布局忽略该质量); end end end % 第三步: 归一化 m12 m12 / (1 - K); end function s idx2set(idx, nFoD) % 将 mass 向量下标映射为集合 % 1..n 对应单元素集合, n1 对应全集 if idx nFoD 1 s 1:nFoD; else s idx; end end function idx set2idx(s, nFoD) % 将集合映射回 mass 向量下标 if numel(s) 1 idx s(1); elseif numel(s) nFoD idx nFoD 1; else idx 0; % 复合命题在简化布局中没有对应位置 end end这个函数的核心是两个双层循环。第一段循环计算 K遍历两个源的所有命题组合交集为空就累加冲突质量。第二段循环计算合成质量交集非空就累加到对应命题上。最后除以 1-K。1e-12是一个浮点安全阈值避免 K 因为数值误差变成 0.999999999999 时直接除零报错。idx2set和set2idx是配套的映射函数。idx2set 把“第几个质量值”解释成一个集合set2idx 把集合解释回下标。这样写虽然比直接向量化慢一点但可读性强而且当你要从 n1 扩展成全幂集时只需要改这两个映射函数合成规则代码完全不用动。3.3 主流程与多源扩展从两个传感器到一组传感器有了合成函数主流程就很简单。下面这段代码演示两个传感器的完整链路定义识别框架、构造 BPA、合成、算 Pignistic 概率、输出决策。%% 证据理论多源融合仿真主流程 clear; clc; % 1. 识别框架: 3 类目标 nFoD 3; % 2. 构造两个传感器 BPA % 列顺序: 目标1, 目标2, 目标3, 全集 m1 [0.70, 0.10, 0.05, 0.15]; % 传感器1: 倾向目标1 m2 [0.55, 0.15, 0.05, 0.25]; % 传感器2: 支持目标1但保留更多不确定 % 3. 校验 BPA 合法性 assert(abs(sum(m1) - 1) 1e-10, m1 之和不为1); assert(abs(sum(m2) - 1) 1e-10, m2 之和不为1); % 4. 融合并输出冲突系数 [m12, K] ds_combine(m1, m2, nFoD); % 5. 将全集质量均分到单子集, 得到 Pignistic 概率 betP m12(1:nFoD) m12(nFoD 1) / nFoD; % 6. 决策: 用 Pignistic 概率找最大 [maxProb, targetIdx] max(betP); fprintf(冲突系数 K %.4f\n, K); fprintf(合成后 mass [); fprintf(%.3f , m12); fprintf(]\n); fprintf(Pignistic [); fprintf(%.3f , betP); fprintf(]\n); fprintf(决策 目标%d, 置信度 %.3f\n, targetIdx, maxProb);这段代码里assert是防线。手写 BPA 时很容易因为小数四舍五入导致总和不是 1比如 0.7、0.1、0.05、0.16 加起来是 1.01融合结果会出现轻微漂移。assert(abs(sum(m)-1) 1e-10)能在第一步拦住这种低级错误。如果你有第三个甚至第四个传感器不需要写递归函数直接利用结合律两两套着调用或者写个循环。注意第 3 行代码中 m1、m2 的顺序必须和识别框架索引一致这是后面避坑章节里最经典的问题之一。下面给一个循环扩展的写法% 假设有 4 个传感器, 存放在元胞数组中 mass_cell {m1, m2, m3, m4}; m_cur mass_cell{1}; for k 2:length(mass_cell) [m_cur, K_step] ds_combine(m_cur, mass_cell{k}, nFoD); fprintf(第 %d 步融合 K %.4f\n, k - 1, K_step); end这里每步都打印 K能清楚看到哪两个源合在一起时冲突变大。如果某一步 K 突然接近 1就说明新加入的传感器和前面所有证据在基本假设上存在矛盾这时候不是急着继续融合而是回去检查那个传感器的 BPA 构造。4. 参数怎么设BPA 构造、冲突系数与决策门限4.1 从特征到 BPA可靠性折扣与质量分配传感器给出的往往是物理量比如距离、温度、灰度这些值不是 mass。要把它们转换为 BPA常见做法是先归一化再用相似度函数映射到每个类别。距离越小支持度越大距离越远支持度越小。计算出的支持度先归一化再乘一个“信任上限”剩下的质量全部放到全集里。这样得到的是一个带不确定性的 BPA而不是一个假装很确定的概率。下面这段代码是从距离特征构造 BPA 的常用模板function m distance2bpa(x, mu, sigma, trust) % x : 当前实测特征值 % mu : 各类别标称中心, 1 x n % sigma : 各类别宽度, 1 x n % trust : 对当前传感器结果的信任上限, 0~1 support exp(-((x - mu).^2)./(2 * sigma.^2)); support support / sum(support); % 归一化为比例 support support * trust; % 只信任一部分 m [support, 1 - sum(support)]; % 最后一个位置放全集 end参数trust就是可靠性折扣。设成 0.8 表示“这个源有八成可信剩下两成别跟我争”。如果某个传感器非常稳定可以把 trust 提到 0.95如果经常受环境干扰降到 0.6 也不丢人。另一种更细的做法是给出一组逐类可靠性向量 r再用 Shafer 折扣公式处理已有的 BPAfunction m_r discount(m, r) % r: 可靠性系数, 标量 0~1 % 所有非全集质量乘 r, 全集质量补回缺失的部分 m_r m * r; m_r(end) m_r(end) (1 - r); end这个函数的效果是当 r1 时原样输出r0 时全部变成全集相当于这个传感器不提供任何信息。它比直接把低质量源删掉更安全因为一个全集 mass 在合成时不会增加冲突只会让结果更保守。这个倾向很重要证据理论本身没有判断“哪个传感器说得对”的能力只有你把可靠性折扣做在 BPA 里它才能体现出来。4.2 决策门限与置信度差仿真里最常调的三个参数融合完 mass 并算出 Pignistic 概率后决策不能只看最大值。我习惯定义两个参数最小绝对置信度min_conf和最小置信度差min_delta。只有最大 Pignistic 概率大于等于 min_conf并且它与第二大概率之差大于等于 min_delta才输出确定类别否则标为“无法确认需要人工复查”。应用场景类别数建议 min_conf建议 min_delta低噪声、3 类目标识别30.500.10高噪声、5 类目标识别50.600.20安全关键决策无论0.700.30这几个值不是数学公式推出来的是我在多种仿真和实验场景下的经验起点。min_conf 太低会把“什么都不确定”的数据判成某一类太高又会频繁拒绝输出。min_delta 控制的是两类之间足够接近时的犹豫程度。如果你把 min_delta 设成 0那么即使两个类别概率是 0.49 和 0.48系统也会硬判一个这在多目标识别中容易造成误报。决策时还要注意一个反直觉情况如果合成后的 mass 里全集占比很高Pignistic 概率会被摊薄最大概率很难超过 0.5。此时即使某个单子集 mass 是最大的也不要轻易下结论。后面避坑章节会专门讲。4.3 冲突系数 K数值上怎么解读与处理K 不是越小越好也不是越大越坏它首先是一个诊断信号。两个传感器都偏向目标1K 通常很小一个偏向目标1另一个偏向目标2K 就会明显抬升。当 K 在 0.3 以上我会停下来问一句这两个源是不是在描述同一个物理量如果描述的是同一件事却高度矛盾优先怀疑其中一个传感器的标定出了问题。在仿真实验中K 还有一个容易被忽略的特点传感器数量越多每两个源组合都可能贡献冲突质量K 会随源数量累积增长。这不是公式错误而是信息冗余带来的正常现象。所以看 K 时不要只看最终值而是看“每一步新源加入后 K 的增量”。增量突然变大说明新源与已有共识不兼容。如果 K 高到接近 1常见做法不是修改公式而是回到数据层检查 BPA 是否构造合理、有没有把量纲不同或语义相反的特征直接混在一起、可靠性系数是不是没设置。也可以换成 Murphy 平均规则先把多个 BPA 做算术平均再用 Dempster 规则合成一次。这在冲突证据处理里是标准替代方案能避免直接归一化带来的“全盘否定”效应。5. 证据理论融合的避坑指南5 个让你翻车的细节5.1 两个证据完全冲突程序直接报错现象运行到error(冲突系数 K 接近 1...)程序中断后面的统计全部白跑。原因一个传感器把全部质量给了目标1另一个把全部质量给了目标2两者交集为空K1分母变成 0。这在仿真里很常见尤其是用随机数据生成 BPA 时没有控制类别之间的互斥关系。解决先看 BPA 构造是否符合实际情况。然后对每个源做可靠性折扣比如m discount(m, 0.9)让全集保留部分质量这样即使两个源观点相反K 也会小于 1。如果冲突确实存在就把 Dempster 规则换成 Murphy 平均先对多个 BPA 取算术平均再合成一次。不要硬套 Dempster 规则它在完全冲突时没有伦理含义只是一个数学失效点。5.2 未归一化 BPA 导致 NaN结果全是黑匣子现象合成结果出现 NaN 或 inf图标曲线全断排查半天不知道问题出在哪。原因手写 BPA 时小数加起来是 0.999999 或 1.000001虽然 assert 有时能拦住但如果你从某个文件或接口读入 BPA很容易漏掉校验。此时归一化分母 1-K 可能因为微小误差变成 0最终输出 NaN。解决在调用ds_combine之前统一做一层校验不要相信任何外部数据源m m / sum(m); % 强制归一化同时检查每个质量值是否在 [0,1] 范围内是否有负数。这个操作虽然简单但我见过太多次因为这个原因把一上午时间搭进去。把校验写进一个独立函数check_bpa(m)是好习惯。5.3 把 mass 当概率直接平均融合报告直接被拒现象有同学为了省事直接写m_fused mean([m1; m2; m3])发现结果比单个传感器还好就以为融合成功了。可评审或导师问一句“你的冲突系数是多少”只能沉默。原因算术平均只保留了每个源的边缘支持度完全没有处理交集与矛盾。证据理论的核心是“证据之间的乘性组合”不是“意见的线性平均”。当证据不冲突时两者结果接近一旦冲突出现平均法会把矛盾错误地保留在结果里。解决用 Dempster 规则或 Murphy 平均替代直接求平均。并在实验记录里打印每步 K。简单平均只能当作参考基线用来对比“毫无融合逻辑”的下限不能作为正式融合算法。5.4 用 mass 最大值做决策忽略全局信度现象合成后m({目标1})0.45全集的 mass 是 0.40肉眼一看目标1 最大就直接判目标1。但目标1 的 Pignistic 概率只有 0.45 0.40/3 ≈ 0.583而且第二大概率可能也有 0.5 左右全局信度并不牢固。原因mass 越大不代表可信度越高尤其是全集质量还很大的时候它会把真实信任摊薄。直接看 mass 最大值相当于放弃了证据理论对你最有用的不确定性信息。解决决策必须过一道门限判断betP m12(1:nFoD) m12(nFoD1)/nFoD; [sortedP, ~] sort(betP, descend); if sortedP(1) 0.5 (sortedP(1) - sortedP(2)) 0.1 [~, label] max(betP); else label 0; % 不确定 end我一直把这段逻辑放在所有仿真脚本里它是最便宜的后悔药——避免“差一点就错了”的边界情况。5.5 命题索引错位融合结果与常识相反现象明明两个传感器都支持目标1融合后却输出目标3而且 K 很小没有异常警告。原因某个传感器在构造 BPA 时列顺序是[目标1, 目标2, 目标3, 全集]另一个写成[目标3, 目标2, 目标1, 全集]或者把全集放在了第一列。ds_combine 只按位置做交集运算它不认识命题含义索引错位后所有计算都在“错误的对象”上进行。解决把命题标签做成全局变量并在构造 BPA 时强制按同一顺序填数prop_labels {目标1, 目标2, 目标3, 全集}; % 约定 mass 向量第 i 列对应 prop_labels{i}在生成每个传感器的 BPA 时先打印 prop_labels 再打印 mass 向量检查一遍。这个坑在代码量变大后几乎必踩一次越早约定越省事。6. 验证融合结果的两个实用技巧从单源对比到敏感性分析6.1 用混淆矩阵回答“融合到底赢在哪”仿真实验最终要回答一个很现实的问题融合后比最好的单源强多少如果不做对比前面所有公式和代码都没有说服力。常见做法是生成 N 组模拟数据对每个样本分别用传感器1、传感器2、融合结果做决策再和真实标签一起算混淆矩阵。C_single1 confusionmat(y_true, d_src1); C_fusion confusionmat(y_true, d_fusion); acc_single1 sum(diag(C_single1)) / sum(C_single1(:)); acc_fusion sum(diag(C_fusion)) / sum(C_fusion(:));观察两个重点一是对角线总和提升多少二是单源判错的样本里融合后有多少被纠正。我见过不少融合仿真整体准确率只提升 2%但被纠正的样本恰好是安全关键样本这比单纯数字更有价值。6.2 敏感性分析改一个参数看决策会不会翻车另一个我坚持做的验证是敏感性分析对 BPA 的每一项加一个小幅随机扰动重跑融合看最终决策是否频繁翻转。如果 10% 的扰动就让决策从目标1跳到目标2说明当前数据处于决策边界工程上不能接受。delta 0.05; targets zeros(40, 1); for t 1:40 m1_tmp m1 (rand(1, 4) - 0.5) * 2 * delta; m1_tmp m1_tmp / sum(m1_tmp); [m12_tmp, ~] ds_combine(m1_tmp, m2, nFoD); betP_tmp m12_tmp(1:nFoD) m12_tmp(nFoD1)/nFoD; % 使用第 4 章的门限逻辑, 封装成 decide() 函数 targets(t) decide(betP_tmp, 0.15); end flip_rate sum(targets ~ targets(1)) / length(targets);如果翻转率超过 0.1我会把 min_delta 调大或回去把 BPA 构造中的噪声模型写得更保守。这个方法很粗糙但在实际系统里能快速暴露“看似高准确率、实则边界抖动”的仿真模型。我做这类融合实验久了养成的习惯是每次跑完都把 BPA、K、Pignistic 概率三个量一起存进文件否则后面复核时只能从头查。给最终报告时永远讲清楚融合相对最佳单源的增量以及哪些样本是融合后反而变坏的——这才是证据理论真正要面对的难点。希望帮到你。本文还有配套的精品资源点击获取

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号