2. 异常检测问题形式化与量子计算基础

在开始写任何一行量子异常检测代码之前,我们需要先建立两套语言:一套用来精确描述“什么是异常”,另一套用来精确描述“量子计算机如何计算”。前者决定模型要优化什么,后者决定模型能表达什么。本节把这两套语言对齐,为后续建模打下可计算的基础。

一、把异常定义成可计算的数学对象

异常检测的本质是学习一个评分函数 s(x),使正常样本得分低、异常样本得分高,再通过阈值 τ 做判决:s(x) > τ 判为异常。因此形式化的第一步是明确三件事:样本空间 X、评分函数 s: X → R、判决规则。三者合起来构成一个检测器 D(x) = 1[s(x) > τ]。

异常的定义方式直接决定评分函数的形式。常见有三类:其一是基于距离/密度,认为异常远离正常数据的高密度区域,评分可取到近邻距离或局部密度倒数;其二是基于重构,用正常数据训练一个重构模型,评分取重构误差 s(x)=‖x−x̂‖²;其三是基于分布,估计正常分布 p(x),评分取负对数似然 s(x)=−log p(x)。量子模型通常落在第二、三类:量子线路天然是一个参数化酉变换,可视为特征映射或生成/重构过程,评分函数往往由测量期望值构造。

阈值 τ 不是随便取的。工程上常用验证集上的分位数确定,例如取正常验证样本评分的 99% 分位作为 τ,使误报率控制在约 1%。评价时用 ROC-AUC 衡量排序能力,用固定误报率下的召回率衡量实际可用性。这里要强调一个约定:本文所有评分均为“越大越异常”,若采用重构误差类评分,误差越大即越异常,方向一致,后续图示也遵循此约定。

二、量子计算的最小语言:比特、门、测量、线路

经典比特取值 0 或 1;量子比特的状态是二维复向量 |ψ⟩ = α|0⟩ + β|1⟩,满足 |α|²+|β|²=1。多比特系统的状态空间是张量积,n 个量子比特有 2ⁿ 个基态振幅,这是量子模型表达力的来源,也是仿真成本的来源。

量子门是作用在量子比特上的酉变换 U†U=I,因此可逆且保范数。建模中最常用的几个门必须熟记其矩阵形式:

H = 1/√2 [[1, 1], [1, -1]]        # 制造叠加
Rx(θ) = [[cos(θ/2), -i·sin(θ/2)],
         [-i·sin(θ/2), cos(θ/2)]]  # 参数化旋转
Rz(θ) = [[e^(-iθ/2), 0], [0, e^(iθ/2)]]
CNOT = [[1,0,0,0],[0,1,0,0],[0,0,0,1],[0,0,1,0]]  # 两比特纠缠

测量是量子线路唯一的输出通道。对状态 |ψ⟩ 在计算基下测量,得到 0 的概率为 |α|²,得到 1 的概率为 |β|²,测量后状态坍缩到对应基态。由于单次测量只给一个比特,实际使用中要重复运行线路 shots 次(例如 1024 次)统计频率,用频率估计概率。可观测量 Z 的期望值可由 ⟨Z⟩ = P(0) − P(1) 估计,这正是量子模型输出连续评分的主要方式。

线路模型把上述元素串起来:初始化 |0…0⟩ → 施加特征编码门 → 施加含可训练参数的变分门 → 测量。特征编码把经典数据 x 映射为角度,例如 Rx(x_i);变分部分用 Ry(θ)、CNOT 堆叠成 ansatz;测量得到期望值后送入经典优化器更新 θ。这条“量子前向 + 经典反向”的混合回路,就是后续所有模型的基本骨架。

经典侧:异常检测形式化 样本空间 X(正常/异常) x ∈ R^d,训练集仅含正常样本 评分函数 s(x) 距离 / 重构误差 / 负对数似然 阈值判决 D(x)=1[s(x)>τ] τ 取正常验证集 99% 分位 评价:ROC-AUC、固定FPR下召回 约定:评分越大越异常 评分由测量期望值构造 s(x) = ⟨Z⟩ 或 1−⟨Z⟩ 量子侧:线路模型 q0 q1 |0⟩ |0⟩ Rx(x₁) Rx(x₂) Ry(θ₁) Ry(θ₂) CNOT M M 特征编码 可训练参数 测量 shots 次重复 → 频率估计概率 ⟨Z⟩ = P(0) − P(1),作为评分输出 经典优化器更新 θ(混合回路) 量子前向 + 经典反向

三、两侧语言如何对齐

上图把两套语言并置:左侧是评分函数的抽象形式,右侧是线路模型的具体执行。对齐的关键在于把测量期望值当作评分。以重构类为例,若用线路学习正常数据的特征分布,可令评分 s(x) = 1 − ⟨Z⟩,正常样本经编码后测量偏向 |0⟩(⟨Z⟩ 接近 1),异常样本偏离该分布使 ⟨Z⟩ 下降,评分升高。这样“越大越异常”的约定在量子侧同样成立。

一个具体的教学示例(参数为合理假设,非实测):取 2 维特征,编码角 x₁=0.3, x₂=1.1,ansatz 参数初值 θ₁=θ₂=0.5,shots=1024。运行后统计得到 P(0)=0.78、P(1)=0.22,则 ⟨Z⟩=0.56,评分 s=0.44。若阈值 τ=0.35,该样本被判为异常。这个数字链条说明:经典数据 → 角度 → 概率 → 期望值 → 评分 → 判决,每一步都可复算、可检查。

建模时先固定评分方向与阈值来源,再设计线路。方向不一致会让优化器朝错误方向更新;阈值若在测试集上确定,会高估模型性能。

四、必须提前建立的工程约定

第一,比特序与测量基要统一。多比特系统中 q0 是最低位还是最高位,不同框架默认不同,读测量结果时必须确认,否则特征与比特的对应关系会错位。第二,shots 与统计误差要匹配。1024 次测量下概率估计的标准差约为 1/(2√1024)≈0.016,若评分差异小于该量级,需增加 shots 或多次平均。第三,参数化门的可微性要保证。选择 Rx/Ry/Rz 这类单参数旋转门,才能用参数移位规则计算梯度,支撑经典优化器更新。