4. 不平衡数据预处理与量子态编码

在经典机器学习中,处理类别不平衡的常见手段是重采样与加权;而在量子分类框架下,数据必须先被编码为量子态,才能进入量子线路。这两件事并非彼此独立:编码方式决定了类别分布在量子态空间中的几何形态,而重采样与加权又直接改变编码前的样本集合与幅度结构。如果只按经典直觉做重采样,再随手选一种编码,很可能在量子态层面把少数类"压扁"或"淹没"。本节围绕三者的适配关系展开,并给出可操作的判断依据。

一、三种量子态编码对类别分布的敏感点不同

课程中常用的编码方式主要有三类,它们对样本数量和类别比例的反应差异很大。

基态编码(Basis Encoding)把每个经典样本映射为一个计算基态,例如把 4 位特征 x = (1,0,1,1) 编码为 |1011⟩。此时量子态空间是离散的,样本数 N 直接对应 N 个基态。重采样改变的是"哪些基态被重复使用",类别分布体现为基态集合的重复计数。它的优点是直观、线路浅;缺点是特征维度受量子比特数限制,且重复样本在态空间中完全重合,无法通过幅度区分权重。

幅度编码(Amplitude Encoding)把一个归一化向量 x/||x|| 的 N 个分量写入 log₂N 个量子比特的幅度中。这是对类别分布最敏感的一种编码:所有样本共享同一组幅度,少数类样本若数量少,其分量在整体范数中占比小,编码后信号幅度天然偏弱。重采样会直接改变归一化因子,从而改变每个样本在态中的"话语权"。

角度编码(Angle Encoding)把每个特征映射为绕某个轴的旋转角,如 R_y(θ_i)|0⟩,θ_i 由特征值决定。样本之间通过角度区分,类别分布不直接体现在幅度上,而体现在训练样本覆盖的角度区域密度。少数类样本少,意味着其对应角度区域采样稀疏,线路容易在该区域欠拟合。

判断要点:若你的编码是幅度编码,重采样与加权会改变归一化后的幅度结构,必须同步检查;若是角度编码,重点看少数类在角度空间的覆盖密度;若是基态编码,重点看重复基态是否造成训练集"虚假平衡"。

二、重采样与编码方式的适配关系

设原始训练集多数类 N_maj = 900、少数类 N_min = 100,不平衡比 9:1。下面以这个示例规模说明三种典型处理与编码的配合方式(数值为教学示例,非实测结果)。

随机过采样 + 幅度编码:把少数类复制到 900 条,总样本 1800 条。幅度编码需要 2^11 = 2048 维向量,复制样本使少数类分量重复出现,归一化后少数类总幅度占比从约 10% 提升到约 50%。这确实改善了类别平衡,但复制样本在态空间中完全同向,等于把同一方向重复叠加,容易导致线路对该方向过拟合。更稳妥的做法是过采样时加入小幅扰动(如特征加噪或 SMOTE 插值),使复制样本在幅度上略有差异。

随机欠采样 + 角度编码:把多数类降到 100 条,总样本 200 条。角度编码下每个样本对应一组旋转角,欠采样减少了多数类角度区域的密度,训练更快但可能丢失多数类的边界信息。此时应保留多数类中靠近决策边界的样本,而不是随机丢弃。

类别加权 + 基态编码:不改变样本数,在损失函数中给少数类更高权重,例如少数类权重 w_min = 9、多数类 w_maj = 1。基态编码下样本仍映射为不同基态,加权只影响损失计算,不改变量子态本身。这种方式实现简单,但要求线路能对重复基态做区分性训练,否则权重效果会被稀释。

三、类别分布如何在量子态层面被观察

重采样和加权是否"真的起作用",不能只看经典侧的样本计数,还要看编码后的态。一个实用的检查方法是:对编码后的训练态计算类别标签对应的子空间概率质量。以幅度编码为例,若少数类样本对应幅度索引集合为 S_min,则少数类在态中的总概率为 P_min = Σ_{i∈S_min} |α_i|²。理想情况下 P_min 应接近真实类别比例或经加权后的目标比例;若重采样后 P_min 仍显著偏低,说明归一化把增益抵消了。

对角度编码,可统计少数类样本在角度参数空间中的最近邻距离均值,若该值远大于多数类,说明少数类覆盖稀疏,需要过采样或调整角度映射范围。对基态编码,可统计不同基态被重复使用的次数分布,若少数类基态重复次数远低于多数类,则加权是必要的补充。

重采样 / 加权 → 量子态编码 → 类别分布变化 经典侧处理 原始分布 多数 900 / 少数 100 不平衡比 9:1 过采样 少数复制至 900 总数 1800 欠采样 多数降至 100 总数 200 类别加权 w=9:1 量子态编码 幅度编码 log₂N 比特,共享幅度 对归一化最敏感 角度编码 特征→旋转角 看角度覆盖密度 基态编码 样本→计算基态 看基态重复计数 编码决定观察指标 态层面观察 P_min 概率质量 Σ|α_i|²,i∈少数类 应接近目标比例 角度最近邻距离 少数类均值偏大 说明覆盖稀疏 基态重复分布 少数类重复次数低 需加权补充 不达标则回调节 若态层面指标未达目标,调整重采样比例或权重后重新编码

四、一个可执行的适配检查流程

把上述关系落成操作,可以按下面的顺序做,避免"先重采样再随便编码"的盲目性。

  1. 先定编码,再定重采样策略。若计划用幅度编码,优先考虑"过采样 + 扰动"而非纯复制,并在编码后计算 P_min;若用角度编码,优先考虑保留边界的欠采样;若用基态编码,优先用加权而非改变样本数。
  2. 编码后立即做一次态层面体检。幅度编码算 P_min,角度编码算少数类最近邻距离均值,基态编码统计基态重复次数。三项指标任一明显偏离目标,就回到第一步调整。
  3. 加权与重采样不要叠加过度。同时做过采样和 9:1 加权,等于把少数类放大两次,容易在态空间造成少数类方向过度集中。建议二者取其一,或把权重降到 3:1 左右再观察 P_min。
  4. 记录归一化因子。幅度编码下每次改变样本集合,归一化因子都会变,务必在预处理脚本中显式记录,便于复现和对比不同策略下的 P_min。
常见误区:把经典侧的"类别比例已平衡"当作任务完成。在幅度编码中,复制样本会让少数类分量重复但同向,P_min 虽然上升,态空间的多样性却没有增加;此时分类器在少数类上的泛化往往不如"过采样 + 小扰动"或"适度加权"。

五、小结:适配关系的三条判断线

第一,编码决定观察指标:幅度编码看概率质量,角度编码看覆盖密度,基态编码看重复计数,指标选错就无法判断重采样是否有效。第二,重采样改变的是样本集合,加权改变的是损失权重,前者影响编码后的态结构,后者不影响态本身,二者不能互相替代。第三,任何处理都要回到态层面验证,经典侧的计数平衡只是必要条件,不是充分条件。掌握这三条线,就能在具体任务中为给定的编码方式选择合适的不平衡处理组合,而不是套用固定套路。