ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

基于人工神经网络的小电流接地选线:从特征设计到BP网络部署

基于人工神经网络的小电流接地选线:从特征设计到BP网络部署 简介这份PDF论文聚焦配电网小电流接地故障选线问题面向电力系统继电保护研究人员、电气工程师及研究生。内容从故障暂态特征入手引入人工神经网络建立故障线路识别模型并针对常规BP网络的不足提出改进遗传算法优化网络权重与结构的方案再结合110 kV35 kV配电系统实例与传统算法对比验证。论文完整呈现了算法原理、改进策略、仿真流程及误差与选线率数据适合需要借鉴智能算法在电力故障诊断中应用方法的读者。压缩包内含1个PDF文档大小约360KB全文结构清晰包含摘要、引言、故障特征分析、算法实现与结论等部分。目前已有113人学习对研究小电流接地选线或神经网络优化应用具有实用参考价值。1. 人工神经网络做小电流接地选线先弄明白这事到底难在哪人工神经网络做小电流接地选线难点从来不在“神经网络”。10kV母线报零序电压越限4条出线零序电流都有反应消弧线圈一补偿稳态零序电流连方向都反转了传统幅值法、相位法集体失灵人工神经网络要做的是把故障后20ms内的暂态零序电流能量、首半波极性、五次谐波占比这些特征直接映射成线路编号不靠整定值、不靠人工阈值绕开了小电流接地选线最头疼的“边界条件”问题。这篇文章面向配网自动化工程师、二次检修人员和做故障诊断方向的研究生先讲清楚特征怎么选、样本怎么造再给出一个可复现的BP网络训练流程、五个避坑点和最终的录波回放与部署方案。2. 特征量与样本集设计小电流接地选线喂给人工神经网络的第一步很多人拿到这个题目第一反应是去调网络结构其实顺序反了。人工神经网络的性能上限由输入特征决定样本集决定它能不能逼近这个上限网络结构只是逼近手段。小电流接地系统的故障信息本来就被消弧线圈和负载不平衡压得很低特征选不好后面再怎么调参都是白搭。这一章先把“喂什么”讲透再落到样本怎么生成。2.1 稳态零序电流在消弧线圈补偿下为什么靠不住中性点不接地系统发生单相接地时非故障线路的零序电流等于本线路对地电容电流故障线路的零序电流等于全系统非故障元件对地电容电流之和。幅值上故障线路最大方向和非故障线路相反所以传统选线靠零序电流幅值比较或零序功率方向就能干活。但国内10kV配电网大量采用中性点经消弧线圈接地。消弧线圈接在变压器中性点上单相接地时它的感性电流补偿系统容性电流而且是过补偿运行补偿度一般在8%到10%。补偿之后故障线路的稳态零序电流被感性电流抵消掉一大截幅值可能比非故障线路还小相位也可能反转。幅值法和功率方向法当场失效这是选线问题最原始的痛点。五次谐波法是这个背景下的一种补救消弧线圈在五次谐波下感抗放大五倍补偿效果大打折扣故障线路的五次谐波电流仍然突出。但五次谐波本身的含量很小现场非线性负荷一多信噪比就很差。所以单靠稳态量做人工神经网络的输入特征等于把问题建立在流沙上。特征设计必须往暂态量倾斜。2.2 暂态零序电流与五次谐波选线特征量怎么挑才有区分度单相接地发生的瞬间母线对地电容通过故障点放电暂态零序电流幅值可以达到稳态的几倍到十几倍主频在几百赫兹到几千赫兹。消弧线圈的电感电流在暂态初期不能突变基本不参与补偿所以暂态分量里保留了真实的故障方向信息。这是人工神经网络最值得利用的“干净信号”。实际取特征时我一般用下面这一组覆盖幅值、能量、方向和频谱四个维度特征计算方式物理含义在现场的稳定性暂态首半波幅值故障后5ms内零序电流绝对峰值反映电容放电强度带方向性高是主要判据暂态能量20ms窗内零序电流平方对时间积分暂态过程总强度抗随机噪声好高适合做阈值稳态幅值故障后10ms零序电流有效值保留传统选线的稳态信息过补偿时不可单独用零序电压基波相位零序电压与A相基波的相位差辅助判断接地相中受PT角差影响五次谐波占比母线零序电压五次谐波/基波消弧线圈下仍有区分度低只作辅助每条线路各取“首半波幅值、暂态能量、稳态幅值”三项4条线路就是12维输入加上零序电压相位和五次谐波占比一共14维。特征量不是越多越好但14维对千级样本量来说完全在BP网络能消化的范围内而且每一项都能说出物理意义后面模型出了问题也能回溯。2.3 仿真样本生成故障角、过渡电阻、补偿度三要素怎么配选线模型的样本很难从现场拿——真实接地故障一年也没几次所以行业通用做法是用ATP-EMTP或MATLAB/Simulink搭一个10kV配电网模型批量扫故障条件生成样本。仿真参数的覆盖范围直接决定模型的泛化能力这一节是能抄作业的部分。我常用的一组系统参数如下参数取值系统电压10kV50Hz中性点接地方式经消弧线圈补偿度8%/9%/10%出线组成L1电缆6kmL2电缆4kmL3架空12kmL4电缆2km采样率10kHz一个工频周波200点故障角相对相电压峰值点0°/30°/60°/90°过渡电阻0/50/100/500/1000/2000Ω故障位置线路首端25%/50%/75%负荷微扰各线路负荷功率在±30%内随机波动每条线路按“位置×电阻×故障角”全组合遍历再把补偿度和负荷微扰随机注入最终生成1200组左右样本标签就是发生的线路编号0到3。这里有个原则故障线路的样本量要均匀每条线路250组左右母线故障单独再留一部分不然训练出来的网络会“偏科”。仿真跑完导出的通常是三相电压电流波形不能直接喂网络要先提特征。以下脚本把每一条仿真波形转成一条特征向量# extract_features.py # 输入: 仿真或录波导出的CSV, 每行一个采样点 # 列名: t(时间), IA, IB, IC(三相电流), U0(母线零序电压), L1..L4(各线路零序电流) import numpy as np import pandas as pd fs 10000 # 采样率 10kHz f0 50 # 工频 50Hz def extract_features(df: pd.DataFrame, line_names: list[str]) - np.ndarray: u0 df[U0].to_numpy() # 用零序电压突变量找故障起始点, 阈值取 0.15 倍额定开口三角电压 du0 np.abs(np.diff(u0, prependu0[0])) start np.argmax(du0 0.15 * 35 * np.sqrt(2)) if start 10 or start int(0.02 * fs) len(df): raise ValueError(故障起始点越界, 检查录波长度或启动阈值) # 首半波窗取故障后5ms, 稳态窗取最后10ms win_first slice(start, start int(0.005 * fs)) win_total slice(start, start int(0.02 * fs)) win_steady slice(start int(0.01 * fs), start int(0.02 * fs)) feats [] for name in line_names: i0 df[name].to_numpy() first_amp np.max(np.abs(i0[win_first])) trans_energy np.sum(np.square(i0[win_total])) / fs steady_rms np.sqrt(2) * np.mean(np.abs(i0[win_steady])) feats [first_amp, trans_energy, steady_rms] # 零序电压基波相位: 用90度窗内过零点粗略估计 i0u u0[win_total] cross np.where(np.diff(np.sign(i0u)) ! 0)[0] phase (cross[0] / fs) * 360 * f0 if len(cross) 0 else 0.0 feats.append(phase) # 五次谐波占比: 对零序电压做FFT, 取250Hz与50Hz幅值比 spec np.fft.rfft(u0[win_total]) freqs np.fft.rfftfreq(len(u0[win_total]), d1/fs) amp_50 np.abs(spec[np.argmin(np.abs(freqs - 50))]) amp_250 np.abs(spec[np.argmin(np.abs(freqs - 250))]) feats.append(amp_250 / (amp_50 1e-6)) return np.array(feats, dtypenp.float32)逻辑说明先靠零序电压突变量锁定故障起始点这是所有后续特征的时间基准首半波窗口开到5ms是为了避开消弧线圈的暂态调整稳态窗放在故障后10到20ms既不碰暂态又不跨越故障消失五次谐波占比用FFT算加了个1e-6防止除零。参数说明突变阈值0.15倍的35V是经验值太小会被系统正常操作误启动太大会漏掉高阻接地如果换了电压等级或PT变比这个值要重标。把全部波形跑完保存成fault_features.csv一列一个特征最后一列是标签样本设计这一步就收工了。下一步才轮到网络。3. 用BP网络跑通最小可选线模型拓扑、训练参数与评估指标样本集就位之后网络结构的选择反而成了最省事的一步。这一章给出一个单隐层BP网络的最小可用配置附带可直接运行的训练脚本、归一化处理和评估指标定义。目标是让新手照着一周内能跑出一版仿真内准确率达标的选线模型熟手则可以直接拿走那组超参做基线。3.1 为什么选BP而不是上深度学习数据量与落地的权衡小电流接地选线本质是一次性暂态事件识别不是长序列预测。现场能拿到的有效样本满打满算几百到一千组这个量级喂给LSTM或Transformer数据量差了两个数量级强行上深度学习只会得到过拟合的黑匣子。单隐层BP网络作为万能逼近器在千级样本、十几维输入的场景下已经足够了。还有一个更现实的理由选线装置是嵌入式设备DSP或ARM上跑的代码要确定性强、算得完。BP网络训练好之后前向计算就是两次矩阵乘法和一次激活函数几十KB内存加几毫秒时间就够而PyTorch、TensorFlow这类运行时在变电站的装置上根本挪不动。所以我做这个方案一贯用BP打底不是因为它新而是因为它能在现场设备里真正跑起来。3.2 特征向量构造与归一化现场录波数据如何变成输入上一章生成的14维特征向量不能直接喂给激活函数为tanh的网络。原因很简单首半波幅值可能是几十安培五次谐波占比是零点几的小数量纲差了两个数量级。不归一化的话网络的权值学习会被大幅值特征主导小幅值但物理意义很强的特征比如相位、谐波占比直接失去作用。归一化操作必须在训练集上拟合参数再把同一组参数应用到验证集、测试集和未来的现场录波上。这里有个常见的错法把全部数据合在一起做归一化再划分训练测试集这会造成数据泄漏测试集准确率虚高一到现场就现原形。下面的训练脚本里归一化参数只从训练集来# train_selection.py # 依赖: numpy pandas scikit-learn import numpy as np import pandas as pd from sklearn.neural_network import MLPClassifier from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.metrics import confusion_matrix, classification_report # 读取上一章生成的特征库 data pd.read_csv(fault_features.csv) # 列: f1..f14, label(0..3) X data.drop(label, axis1).to_numpy(dtypenp.float32) y data[label].to_numpy() # 7:2:1 分三份: 训练70%, 早停验证20%, 测试10% X_trainval, X_test, y_trainval, y_test train_test_split( X, y, test_size0.1, random_state42, stratifyy) X_train, X_val, y_train, y_val train_test_split( X_trainval, y_trainval, test_size0.222, random_state42, stratifyy_trainval) # 归一化参数只在训练集上拟合, 验证/测试复用同一套 scaler StandardScaler().fit(X_train) X_train_s scaler.transform(X_train) X_val_s scaler.transform(X_val) X_test_s scaler.transform(X_test) # 单隐层BP: 14维输入 - 16个隐层节点 - 4类输出 mlp MLPClassifier( hidden_layer_sizes(16,), activationtanh, solveradam, learning_rate_init0.01, max_iter2000, early_stoppingTrue, n_iter_no_change20, validation_fraction0.1, random_state42) mlp.fit(X_train_s, y_train) print(test accuracy: %.3f % mlp.score(X_test_s, y_test)) print(confusion_matrix(y_test, mlp.predict(X_test_s))) print(classification_report(y_test, mlp.predict(X_test_s)))逻辑说明test_size0.1先切出10%测试集剩下90%再按比例切出验证集配合early_stoppingTrue让网络在验证集不再提升时提前停止防止过拟合stratifyy保证每条线路的样本在三个集合里的占比一致避免某条线路的样本全进了测试集。参数说明learning_rate_init0.01对14维输入、16个隐层节点来说是个保守但安全的起点小了收敛慢大了容易震荡n_iter_no_change20是连续20次迭代验证损失不下降就停对千级样本足够random_state42固定随机种子跑出来的结果可复现。3.3 训练超参与评估指标准确率之外还要盯漏选率和错选率选线模型的评估不能只看总准确率。四回出线均匀分布时随机猜也有25%准确率即使模型做到95%实际场景里5%的错误也意味着一年几次误跳非故障线路。所以我更看重两个细化指标漏选率故障线路没被选出来错选率选了非目标线路。前者会导致故障长期挂着后者直接扩大停电范围后者危害更大。分类报告里的recall就是按线路分开看的召回率。对这版模型我的验收标准是测试集总准确率不低于95%并且每条线路的recall都不低于90%。如果有一条线路的recall只有70%说明特征对它区分度不够或者样本量偏少这时候不要盲目调网络回去看仿真样本里那条线路的故障条件是不是覆盖不全。如果跑出来的基线模型准确率在90%边缘晃优先检查三件事特征里是否混入了未归一化的稳态幅值、样本是否按线路分层划分、隐层节点数是不是拍脑袋定的。这三处修完仿真内提升两到三个百分点很常见。关于隐层节点数怎么拍的问题下一章专门讲。4. 人工神经网络选线避坑五个现场必然遇到的坑理论方案跑通和现场装置可靠工作是两回事。这一章写的是我在仿真和录波回放里反复踩过的五类问题每条按“现象→原因→解决”展开。前四条是方法和数据层面的最后一条是调参层面的建议收藏。4.1 过补偿让稳态特征翻转网络学到了错误的映射现象仿真内把L1设为故障线路准确率很高换到一套补偿度调成12%的录波数据上网络稳定选L2而且看特征曲线L1的稳态零序电流幅值排在四条线路最末。原因特征向量里包含了稳态零序电流幅值消弧线圈过补偿时故障线路的稳态零序电流被感性电流压到接近零甚至反相。网络在训练数据里学到的是“幅值大就是故障线路”到了补偿度更高的现场这条规则被整体逆转选线自然错。解决稳态幅值特征保留但权重上不给它主导地位主判据换成暂态首半波幅值和暂态能量训练样本的补偿度范围从原来的8%-10%扩展到0-20%把“过补偿翻转”当成一类正常现象交给网络学习而不是让它以为稳态幅值永远可靠。4.2 高阻接地时特征接近噪声模型频频误选现象过渡电阻2000Ω的样本里暂态零序电流峰值只有几安培和电流互感器的不平衡输出一个量级。网络输出的四个概率都接近0.25随便指了一条但置信度极低。原因特征信噪比太低。高阻接地时故障点电流本身小暂态分量被系统电容和CT精度双重衰减网络拿到的输入向量基本是噪声强行分类只会随机选。解决训练前给波形叠加高斯白噪声信噪比按20dB到40dB随机注入让网络见过“脏”输入验收时把高阻样本单独划成一个子集要求准确率不低于80%才算过关。现场逻辑也要配合概率最大值低于0.6时不要出口选线而是报“母线接地”并保持原线路这个阈值规则在最后一章展开。4.3 仿真样本太干净一到现场就翻车现象仿真里测试集准确率96%拿现场故障录波回放连续三次真实接地选错两次。原因分布漂移。仿真里线路参数固定、三相负荷平衡、CT和PT理想而现场线路电容可能偏了20%负荷不平衡导致零序电流自带偏置CT角差让相位特征偏移好几度。网络在仿真分布上学到的决策边界在现场分布上不成立。解决仿真阶段就对参数加扰动各线路对地电容在±20%内随机波动负荷功率±30%CT角差0到2度每一条线路的样本都带一组独立的扰动系数而不是全系统只改一个参数。这样生成的数据分布更接近现场网络学到的映射也更鲁棒。4.4 样本不平衡让网络退化成“只会报母线”现象模型总准确率虚高到98%但打开混淆矩阵一看故障线路样本的召回率只有40%大量故障线路样本被归类到非故障那条去。原因仿真数据生成时如果“无故障”或“母线故障”样本量明显多于单条线路故障样本网络为了最小化总损失会倾向于输出概率分布集中到样本量最多的类别。选线问题里这等于宁可把故障算到母线上也不愿意承担误跳线路的风险。解决每条线路的训练样本量严格对齐比如4条线路各300组母线故障单独300组如果某些工况实在采不到足够样本用class_weightbalanced让网络在损失函数层面给少数类加权。评估不要只看总准确率按线路分别看召回率任何一条低于90%都要处理。4.5 隐含层节点数拍脑袋训练集满分、测试集翻车现象隐层节点数从16改成50训练集准确率冲到100%测试集反而掉到88%改成6个节点后训练损失一直下不去迭代到头也只有70%出头。原因节点太多让网络有足够容量去记住训练样本的细节噪声过拟合节点太少则表达能力不足决策边界过于平滑欠拟合。所谓的“最优节点数”不是玄学是模型容量和样本量的匹配问题。解决把隐层节点数当成超参数做小范围扫描经验范围在(输入维度输出维度)/2到输入维度*2之间也就是9到28之间。配合早停训练跑一组简单的网格# 一个极简的节点数扫描 from sklearn.neural_network import MLPClassifier from sklearn.metrics import accuracy_score best_acc, best_nodes 0.0, 16 for nodes in (9, 12, 16, 20, 24, 28): mlp MLPClassifier(hidden_layer_sizes(nodes,), activationtanh, max_iter2000, early_stoppingTrue, random_state42) mlp.fit(X_train_s, y_train) acc accuracy_score(y_val, mlp.predict(X_val_s)) print(fnodes{nodes}, val_acc{acc:.3f}) if acc best_acc: best_acc, best_nodes acc, nodes print(fbest nodes: {best_nodes}, val_acc: {best_acc:.3f})逻辑说明这个循环纯粹用早停验证集分数选节点数不碰测试集选完再用测试集做最终评估避免对测试集过拟合。参数说明节点数从9到28覆盖了前面给的经验区间步长不是等差的9和12是偏欠拟合的边界28是偏过拟合的边界如果这六个值跑完测试集准确率都不到90%问题大概率不在节点数而是特征或样本本身。5. 从模型到装置录波回放验证与权重部署的完整链路训练完的模型只是一堆浮点权重现场选线装置要能加载它、执行它还要面对真实录波数据不翻车。这一章讲两件事离线用COMTRADE故障录波文件验证模型然后把权重手工导成C数组部署到嵌入式装置上。5.1 用COMTRADE录波文件做离线回放验证模型真本事COMTRADE是故障录波器的标准文件格式IEC/IEEE标准国内主流录波装置导出的是.cfg加.dat两个文件。.cfg描述通道数量和采样率.dat存实际采样值。用真实的故障录波回放是上线前最接近现场状态的验证手段。回放流程固定四步解析COMTRADE文件拿到各通道波形、定位故障起始点、按第2章的特征提取函数转成特征向量、送入训练好的模型得到选线结果。下面这个脚本搭好了骨架# replay_comtrade.py # 依赖: comtrade库(PyComtrade), numpy, joblib from comtrade import Comtrade import numpy as np import joblib rec Comtrade() rec.load(fault_20240512_001.cfg, fault_20240512_001.dat) fs int(round(rec.frequency)) # 通道名映射: 找到各线路零序电流和母线零序电压 line_names [I0_L1, I0_L2, I0_L3, I0_L4] ch_map {ch.name: ch.values for ch in rec.analog} if U0 not in ch_map: # 没有零序通道时用三相相电压合成3U0 ch_map[U0] (ch_map[UA] ch_map[UB] ch_map[UC]) / 3 df pd.DataFrame({**ch_map, t: rec.time}) feat extract_features(df, fsfs, line_namesline_names).reshape(1, -1) feat_s scaler.transform(feat) prob mlp.predict_proba(feat_s)[0] print(选线结果: L%d, 置信度 %.3f % (int(np.argmax(prob)), np.max(prob)))逻辑说明PyComtrade库负责解析二进制和ASCII两种格式的录波文件省去手写二进制解析的麻烦没有零序通道时用三相电压向量和除以3合成零序电压这是电压互感器二次侧开口三角的等效算法。注意这里scaler和mlp是第3章训练后保存下来的对象必须用joblib或pickle从训练工程里带过来不能现场重新拟合。通过标准我一般定两条并行不少于50条历史录波文件选线正确率不低于90%故障线路对应的最大概率平均值不低于0.7。低于这个数说明模型在现场分布上不过关直接进入增量训练流程。5.2 把训练好的权重导成C数组选线装置前向计算落地验证通过后的模型要进装置。scikit-learn的MLPClassifier训练完权重存放在coefs_和intercepts_里两个列表各两个元素分别对应输入到隐层、隐层到输出的权重和偏置。导出成C头文件是个体力活写个脚本一次搞定# export_c_header.py import numpy as np W1, W2 mlp.coefs_[0], mlp.coefs_[1] # W1: 14x16, W2: 16x4 b1, b2 mlp.intercepts_[0], mlp.intercepts_[1] with open(ann_model.h, w) as f: f.write(#ifndef ANN_MODEL_H\n#define ANN_MODEL_H\n\n) f.write(#define N_IN 14\n#define N_HID 16\n#define N_OUT 4\n\n) f.write(static const float W1[N_IN][N_HID] {\n) for row in W1: f.write( { , .join(f{v:.6f}f for v in row) },\n) f.write(};\n\n) # W2, b1, b2 同理, 省略重复代码 f.write(#endif\n)训练好的网络在装置上的前向计算只需要矩阵乘法和tanh代码量很小而且不依赖任何AI框架/* forward.c: 单隐层BP前向计算, 在DSP/ARM上直接编译 */ #include math.h #include ann_model.h void ann_forward(const float in[N_IN], float out[N_OUT]) { float h[N_HID]; for (int j 0; j N_HID; j) { h[j] b1[j]; for (int i 0; i N_IN; i) h[j] W1[i][j] * in[i]; h[j] tanhf(h[j]); } for (int k 0; k N_OUT; k) { out[k] b2[k]; for (int j 0; j N_HID; j) out[k] W2[j][k] * h[j]; } /* softmax: 先减最大值再指数, 防止浮点溢出 */ float m out[0]; for (int k 1; k N_OUT; k) if (out[k] m) m out[k]; float s 0.0f; for (int k 0; k N_OUT; k) { out[k] expf(out[k] - m); s out[k]; } for (int k 0; k N_OUT; k) out[k] / s; }逻辑说明隐层节点用了tanhf输出层先取最大值做平移再算softmax这一步不是可选项——如果某路输出达到几十上百直接expf会溢出成inf。参数说明N_IN、N_HID、N_OUT三个宏和第3章的维度严格对应改网络结构时先改头文件再改训练脚本两边对不上是最常见的部署事故。5.3 采样频率与数据窗长部署时最容易被忽视的两个边界前向算得再快前面采样的底子也得对。选线用的暂态零序电流主频在几百到几千赫兹采样率至少要能覆盖两倍以上主频。如果装置录波采样率只有2kHz首半波的幅值会被严重削峰提取出来的特征和训练分布不一致。我的经验是只做选线功能采样率不低于5kHz要做故障波形分析10kHz起步。数据窗长同样有讲究。第2章特征设计用的是故障后20ms窗口因为暂态主能量集中在前10ms20ms足够覆盖首半波和一部分稳态。窗口再长会把负载波动和消弧线圈调节过程卷进来反而引入噪声。启动判据建议用零序电压突变量超过额定值15%同时连续三个采样点越限才确认启动防止单点毛刺误触发。用这个启动逻辑配合20ms数据窗装置从故障发生到输出选线结果一般在40ms以内对不需要快速跳闸的小电流接地系统完全够用。6. 最后加一道保险给选线结果设置信度门槛别让装置乱开口仿真指标再漂亮现场的真实样本分布也不可能和训练分布完全一致。所以部署时我坚持加一道置信度门槛网络输出的是四个线路的概率分布不要简单取最大值就出口。概率最大值落在哪个区间决定装置到底该跳闸、该提示还是该闭嘴。我的判断逻辑分三档最大概率大于等于0.7并且连续三个数据窗指向同一条线路才允许出口选线结果最大概率在0.4到0.7之间只提示“综合选线建议Lx”不自动出口低于0.4直接报“无法判断”保持原运行方式。这个门槛是血泪经验——选线装置误跳一条非故障线路比选不出故障的后果严重得多。宁可让运维人员多跑一趟人工拉路也不能让装置乱开口。def decide_action(prob, history, thr_trip0.7, thr_report0.4): line int(np.argmax(prob)) p float(np.max(prob)) history.append(line) if len(history) 3: history.pop(0) if len(history) 3 and all(h line for h in history): if p thr_trip: return trip, line if p thr_report: return report, line return hold, None阈值本身可以按现场的验收结果微调如果50条录波回放里高阻接地样本频频落在0.4到0.7区间说明现场噪声比训练分布大可以把thr_report降到0.35但thr_trip不要低于0.6这是保住不误动底线的最后一道闸。希望这一套从样本构造到置信度门槛的流程能帮你少走几段弯路选线这条路先把“不乱动”做好再谈“选得准”。本文还有配套的精品资源点击获取
返回列表