
专业语料天然会出现小众簇:漏洞分析、冷门语言和少见药物术语都可能离大多数文本很远。把离群等同于恶意,会让垂直模型首先失去最需要的知识。
算法输出先叫候选
离群分数依赖特征空间和邻居定义。嵌入模型换了、长度分布变了,旧阈值可能失效。固定隔离百分比还会在一批干净语料里硬找出异常候选,不能把候选数量描述成已查获攻击数量。
审核时应同时查看原文、来源和近邻。候选是合法长尾,还是错误标签、抓取噪声或确有触发条件的样本,需要不同处置。最重要的是保留误伤结果,别让审核界面只允许填写“成功拦截”。
下面用一维近邻距离示范排序。它不是LOF实现,只让读者看清“度量”与“标签”之间还差一步。

图中远点进入人工标注托盘,没有被直接扔进垃圾桶。
最小近邻距离示例
以下是可离线运行的最小示例,使用Python标准库。输入均为教学构造,不连接业务系统。
def nearest_distances(values):
if len(values) < 2:
raise ValueError("at least two samples")
return [
min(abs(x - y) for j, y in enumerate(values) if j != i)
for i, x in enumerate(values)
]
scores = nearest_distances([0.0, 0.1, 0.2, 8.0])
assert scores[-1] > max(scores[:-1])
assert nearest_distances([1.0, 1.0]) == [0.0, 0.0]
try:
nearest_distances([1.0])
except ValueError:
pass
else:
raise AssertionError("insufficient sample accepted")
print("distance ranking passed; no malicious labels inferred")
8.0来自手工教学数据,不是攻击样本。这个排序没有模型语义、密度估计、海量索引或投毒标签,不能宣称跑通了几何去毒流水线。
为每次隔离保留理由
至少记录特征版本、分数、阈值、近邻样本编号和人工结论;用后续复核纠正阈值。下游模型的攻击成功率和正常任务表现另测,避免去重、噪声和攻击指标混用。
真实embedding、LOF/HDBSCAN、GPU训练均未运行。数据血缘提供追踪能力,不保证上游数据真实或合法。
参考资料
转载自 CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/2301_80245214/article/details/169169710



