本方案旨在利用混合量子K均值算法对癌症分类中的基因表达数据进行聚类,该算法可自动识别最优聚类数量并高效分离聚类,从而推动在含噪声中等规模量子设备上的生物信息学应用 (含噪声的中等规模量子)设备。
本方案旨在利用混合量子K均值算法对癌症分类中的基因表达数据进行聚类,该算法可自动识别最优聚类数量并高效分离聚类,从而推动在含噪声中等规模量子设备上的生物信息学应用 (含噪声的中等规模量子)设备。
本研究提出了一种具有自动聚类检测功能的混合量子K均值聚类算法,用于对癌症与非癌症基因表达数据进行分类。该方法采用量子多特征映射进行状态编码,基于交换测试的量子距离估计,以及基于量子梯度的优化方法,通过最小化类内方差动态识别最优聚类数量。初始聚类中心通过基于距离的概率成比例策略选取,从而提高了算法的稳定性和准确性。在乳腺癌数据集上的应用结果表明,该方法优于现有的量子K均值算法,其轮廓系数达到0.641(对比值为0.601),Calinski-Harabasz指数为766.57(对比值为617.65),Davies-Bouldin指数为0.659(对比值为0.704),表明其在聚类紧凑性与分离性方面表现更优。尽管所提出的算法由于迭代优化过程导致时间复杂度略高,为O (N×Kmax×Mobs),但在聚类准确性、误差降低和实际可行性方面显著优于预设聚类数的量子K均值算法。该算法在处理高维数据方面的高效性以及对量子噪声的鲁棒性,凸显了其在真实世界生物信息学应用中的潜力,特别是在基于基因表达谱的癌症分类任务中。
在生物医学工程、生物信息学、统计学、社会科学和经济学中,聚类是一种将数据组织成有意义的同质性组别的基本技术。例如,拓扑数据分析(TDA)已被应用于癌症基因表达数据集,以揭示高维空间中的结构模式1。聚类通过将高度相似的对象划分到同一簇中,而将不相似的对象分配到不同簇中,从而实现数据的组织。该方法属于无监督学习,无需依赖标注的训练数据。
在过去的几十年中,人们开发了众多聚类算法。经典方法包括基于划分的聚类2˒3、基于密度的聚类4,5、层次聚类6,7、基于网格的聚类8˒9,以及基于模型的聚类10。对这些方法的综述指出了它们的优势,同时也揭示了其局限性11。尽管这些算法在特定情境下有效,但大多数经典算法在处理高维、含噪声或分布不规则的数据时存在困难。因此,目前尚不存在一种能在所有数据类型上均表现最优的通用聚类方法。
为应对这些挑战,量子聚类已成为一种颇具前景的替代方法¹²。与经典算法不同,受量子启发的方法利用量子叠加、纠缠及其他量子力学原理,更高效地探索数据空间。这一范式在研究领域内正获得日益广泛的认同13˒14˒15˒16˒17˒18,因其在处理高维和含噪声数据集方面展现出优于经典聚类的潜力。然而,现有的量子聚类方法通常受限于预设的聚类数量或不稳定的质心初始化,从而降低了其在实际应用中的鲁棒性。
本研究提出了一种基于划分的新型混合量子K均值聚类算法,该算法融合了四项不同的创新:(i)用于将基因表达数据编码至高维希尔伯特空间的量子多特征映射;(ii)基于概率比例距离的质心初始化方法,相较于随机初始化显著提升了稳定性;(iii)基于交换测试(Swap Test)的量子距离估计,用于实现精确的相似性度量;(iv)基于量子梯度的优化方法,通过最小化类内方差动态确定最优聚类数目。这些贡献使所提出的方法区别于以往的量子聚类方法19,20,在真实世界的生物信息学场景中显著增强了算法的鲁棒性、可扩展性与适用性。
对基因表达数据进行聚类是生物信息学中的一项关键任务,尤其用于根据细胞的遗传特征区分癌细胞与非癌细胞。传统的聚类方法(如经典的K均值聚类)在处理高维基因表达数据集时常常表现不佳,导致分类效果不理想。为克服这些挑战,我们提出了具有最优聚类数确定能力的量子K均值算法,该算法利用量子特征映射和概率性质心初始化,实现更优的聚类性能。该算法不仅能高效地对基因表达数据进行聚类,还能自动确定最优聚类数目,从而识别出不同的癌症亚型。
将所提出的算法应用于包含癌变和非癌变基因表达谱的数据集,根据行为相似性对这些数据进行聚类,以评估其有效性。
访问受限。请登录或开始试用以查看此内容。
1. 量子特征映射
将经典数据点编码为量子态,是通过将它们映射到量子希尔伯特空间中实现的,该空间可被量子计算机高效地访问和操控16˒17,19。该过程采用非线性量子特征映射,将经典数据嵌入希尔伯特空间(图1)。固定的量子电路特征映射将输入数据点转换为量子态17,而变分电路则通过调整测量基来实现机器学习任务22。变分电路由一组参数化量子门构成,通过混合量子-经典技术进行优化23。

图1:量子希尔伯特空间中的特征映射。请点击此处查看此图的放大版本。
2. 将目标点和质心编码为量子比特
为了编码数据点的特征,我们需要使用U3门进行旋转操作。

这会使量子比特从正z轴方向旋转θ弧度,从正x轴方向旋转Φ弧度。
在编码过程开始之前,所有量子比特均被初始化为 ∣0〉 态。每个基因表达值被归一化至 [0,1] 范围,并通过关系式 θi=πxi 转换为旋转角度。随后对每个量子比特应用一个参数化酉门,以编码相应的特征,该操作在 Qiskit 中通过 qc.u(theta_i, pi, pi, qubit_index) 实现。当编码多个特征时,该旋转过程在相应的量子比特上重复进行,以构建多特征表示。完成这些操作后,所得的量子态 ∣ψ〉 即在希尔伯特空间中表示编码后的特征向量。此阶段未进行任何测量,因为制备的量子态将用于后续的相似性估计。
3. 比较量子态
量子实验的结果本质上是随机的,因为量子比特(qubit)在本质上是不稳定的,这一点在量子物理学中已有描述。因此,结论和预测必须以概率和不确定性的方式来表达。正因如此,得出明确无误的结论构成了真正的挑战。然而,当所考虑的量子态为纯态时,可以通过实验明确地预测不同量子态之间(具有非零概率)的差异24˒25。
两个量子态 ∣ψ〉和 ∣ϕ〉首先被加载到两个独立的量子寄存器中。随后,一个辅助量子比特被初始化为 ∣0〉态,用于控制交换操作。对辅助量子比特应用一个哈达玛门,使其进入叠加态,然后执行受控交换(controlled-SWAP)操作。弗雷德金(CSWAP)门以辅助量子比特作为控制比特,以两个数据寄存器作为目标比特,从而实现两个量子态之间的干涉。在此操作之后,对辅助量子比特再次应用第二个哈达玛门,以完成干涉图样。仅对辅助量子比特进行测量,其测量结果编码了两个量子态之间的相似性。当两个量子态相同时,辅助量子比特测得结果为 0 的概率为 1;而当两个量子态正交时,测得结果为 0 的概率为 0.5。

图 2:基于概率的比较示意图,如果量子态 ρ 和 ξ 不同,则观测到的概率分布属于 PE− \ PE+。请点击此处查看此图的放大版本。
密度算符 ρ 与任意量子态 ρ ∈ S(H) 相关联,满足 tr[ρ] = 1 且 ρ ≥ 0。此处,S(H) 表示与希尔伯特空间 H 相关联的系统的所有量子态的集合。正算符值测度(Positive Operator Valued Measure, POVM)是一种用于测量量子统计特征的方法,它由一组作用在 H 上的正算符 E1, ..., En 构成(记为 E),并满足恒等式 I =
。对于每个量子态 ρ ∈ S(H),测量 E 对应一个概率分布 
,其中 pj = tr[Ejρ] ≥ 0,且
= 126。
4. 基于SWAP的量子态比较
在量子计算中,可以使用SWAP测试程序来度量两个量子态之间的差异。该方法最初由Barenco et al.27 提出,后来由John Watrous、Ronald de Wolf、Harry Buhrman和Richard Cleve重新发现28。SWAP测试已被应用于量子计算和量子机器学习15,29。
SWAP 测试以 ∣ψ〉 和 ∣ϕ〉 作为输入态,以概率 ½ - ½〈ϕ,ψ〉2 输出 1(伯努利随机变量),从而估计这两个态的内积的平方30。
电路说明
考虑系统的两个态 ∣ϕ〉 和 ∣ψ〉,协议初始时的状态为 ∣0,ϕ,ψ〉。在应用哈达玛门(Hadamard gate)后,状态变为
∣0,ϕ,ψ〉 + ∣1,ϕ,ψ〉。受控交换门(CSWAP gate)将状态变换为
(0,ϕ,ψ〉 + ∣1,ψ,ϕ〉)。在第二个哈达玛门之后,状态变为 ½(|0,ϕ,ψ〉 + ∣1,ϕ,ψ〉 + |0,ψ,ϕ〉 - ∣1,ψ,ϕ〉) = ½∣0〉(|ϕ,ψ〉 + |ψ,ϕ〉) + ½|1〉(|ϕ,ψ〉 - |ψ,ϕ〉)。随后对第一个量子比特进行测量,得到结果 0 的概率为 P(第一个量子比特 = 0) = ½ (〈ϕ|〈ψ| + 〈ψ|〈ϕ|) ½ (|ϕ,ψ〉 + |ψ,ϕ〉) = ½ + ½ |〈ψ|ϕ〉|2。如果 ψ 和 ϕ 正交(|〈ψ|ϕ〉|2 = 0),则得到 0 的概率为 ½。如果两个态完全相同(|〈ψ|ϕ〉|2 = 1),则得到 0 的概率为 1。24

图3:(a) 具有完全相反态的Fredkin门电路,(b) 测量得到的概率输出图,(c) 结合Hadamard门的Fredkin门电路,(d) 测量得到的概率输出图。请点击此处查看此图的放大版本。
该电路使用了一个辅助量子比特以及两个分别编码量子态 ∣ψ〉 和 ∣ϕ〉 的寄存器。在编码阶段开始前,所有量子比特均被初始化。随后,通过特征映射过程将基因表达特征编码到相应的寄存器中。对辅助量子比特应用哈达玛门以产生叠加态,然后以该辅助比特为控制比特,在两个状态寄存器之间执行受控-交换(controlled-SWAP)操作。接着对辅助量子比特再次应用哈达玛门,以完成干涉模式,随后对该辅助量子比特进行测量。当两个编码态完全相同时,辅助量子比特始终输出结果 0;当两个态相互正交时,辅助量子比特输出结果 0 的概率为 0.5;对于部分相似的态,获得结果 0 的概率介于 0.5 与 1 之间,反映了两个态之间的相似程度。
5. 量子距离估计
在经典数据分析中,可以使用欧几里得距离或曼哈顿距离等度量方法直接计算数据点之间的距离2,3。而对于量子计算机上的量子比特,由于量子态具有概率性,这一任务更为复杂。虽然可以测量相位差和概率幅,但它们无法被直接表示为两个向量之间的距离24,26。
在聚类分析中,必须评估数据点相对于聚类中心的相对位置13。为了将每个量子比特分配到合适的聚类中,需要定义一个参数,用以指示其与相应聚类中心的接近程度。
为此,引入了一个与相似性呈正相关的参数,从而作为传统距离度量的替代方法15,30。
距离估计过程从一个归一化的量子态 ∣Ψ〉 和一个初始化为零的辅助量子比特 ∣q0〉 开始。目标是估计编码在 ∣q1〉 中的新数据点与编码在 ∣q2〉 中的聚类中心之间的距离。为了准备干涉图样所需的叠加态,对辅助量子比特应用了哈达玛门,生成态
( ∣0〉 + ∣1〉 ) ⊗ ∣Ψ〉 )。随后应用了一个以辅助比特为控制比特的受控-SWAP(Fredkin)门,该操作将辅助比特与两个编码态纠缠在一起,使得它们的重叠部分能够影响测量结果。此操作生成了态
( ∣0〉 ⊗ ∣Ψ〉 + ∣1〉 ⊗ Fswap(∣Ψ〉) ),从中可通过后续对辅助比特的测量提取基于内积的距离信息。
电路实现与输出
该量子电路使用相位编码将基因表达数据编码到量子比特中,并随后通过受控交换(CSwap)门(也称为交换测试12)比较两种基因表达状态。
为了创建所需的叠加态,对所有量子比特(q0 到 q4)应用哈达玛门,从而产生所有基态的等幅叠加态 |Ψ〉 =
。该初始化步骤使得能够对多个基因表达值进行并行计算。随后,每个量子比特经历一个相位旋转:
,其中 θx 对应于映射的基因表达值。作用于量子比特 q1–q4 的酉算符 U(θ,π,π) 编码了各个基因的表达水平,每个角度 θ 代表一个基因表达值的变换形式。该过程通过相位编码将经典生物数据映射到量子态中,使得多个基因能够在高维量子空间中被同时表示6。
随后使用CSwap门通过纠缠来比较编码态。辅助量子比特q0作为控制比特,决定q1-q4的态是否发生交换。相似的量子态会在q0中产生相长干涉,导致测量结果为∣0〉的概率更高。相反,不相似的态会增加测量结果为∣1〉的概率。随后在q0上应用Hadamard门,以确保实现振幅干涉,从而通过测量提取相似性信息。
假设两个量子态 ∣ψ〉 和 ∣ϕ〉 分别表示不同的基因表达数据集,其中 |ψ〉 = ∑iai |i〉,|ϕ〉 = ∑ibi |i〉。
Swap检验用于评估它们之间的保真度(内积):
P (0) =
,
其中 ∣〈ψ∣ϕ〉∣ 表示内积。如果 P(0) ≈ 1,则两个态相似;如果 P(0) ≈ 0.5 或更低,则两个态不相似。
该框架能够实现不同患者或实验条件(例如,正常组织与病变组织)之间数据集的比较。它为在量子机器学习模型中对高维数据进行聚类提供了高效的基础。Swap Test 可支持识别量子态之间的相似性,从而可用于将样本分组为具有明确意义的簇4。

图 4:测量数据点与聚类中心之间距离的电路图。请点击此处查看此图的放大版本。

图 5:概率测量结果图。 请点击此处查看此图的放大版本。
首先将一个数据点编码为量子态 ∣ψ〉,并将相应的聚类中心编码为量子态 ∣ϕ〉。随后执行前述的交换测试(swap test)过程以比较这两个量子态,并记录辅助比特的测量概率 P(0)。两态之间的保真度定义为 F=∣〈ψ∣ϕ〉∣2,量子距离定义为 D (ψ,ϕ) =
。D 的值越小,表示该数据点在量子特征空间中越接近聚类中心。
6. 初始质心选择
聚类中心的初始化对于K-均值聚类的稳定性和准确性至关重要。随机选择可能导致中心点分布不佳,从而引起收敛速度缓慢和结果次优。为解决这一问题,采用了一种受K-均值++策略启发的概率与距离成正比的方法20。在量子增强方法中,利用基于SWAP测试的量子距离估计器来评估距离,确保所选中心点能更好地代表数据的底层分布。该策略增强了聚类分离效果,提高了算法的鲁棒性,尤其适用于高维数据集。
质心初始化过程首先随机选择一个数据点作为第一个质心。然后使用量子距离估计方法计算该质心与所有其余数据点之间的量子距离。基于这些距离值,建立一个概率分布,其中每个点被赋予的选中概率与其到最近质心的平方距离成正比。根据此分布抽取新的质心,并重复该过程,直到获得所需数量的质心 K。该方法生成的初始质心集合比随机选择具有显著更优的分离度。
7. 量子方差计算
簇方差用于量化数据点围绕其质心的紧密程度,是评估聚类质量的关键指标。在经典K均值算法中,方差通过计算数据点与其所分配质心之间的平均平方距离得到。在量子增强方法中,这些距离通过量子距离估计器(利用SWAP测试)获得,该方法基于量子态之间的保真度来计算相似性。通过对每个簇内平方距离求和,并除以簇的大小进行归一化,可得到反映簇内凝聚程度的方差值。最小化该方差有助于形成更紧密、更具意义的簇,这在高维基因表达数据集中尤为重要,可用于区分癌变与非癌变样本。
通过使用量子距离估计,将每个编码的量子数据点分配到最近的质心,从而完成聚类分配。对于每个聚类 Ck,计算每个数据点与其质心之间的量子距离 D(ψi,Ck)。然后利用
计算簇内方差,以衡量每个簇的紧凑程度。通过将所有簇的个体方差相加得到总方差。该总方差值被记录下来,用于确定最优聚类数目以及评估整体聚类性能。
8. 量子梯度优化方法
确定最优聚类数量(K)是聚类任务中的一个基本挑战。传统的 K 均值算法要求预先定义 K 值,这常常导致聚类不足或过度聚类。在我们的量子增强方法中,我们引入量子梯度优化(QGBO)来自适应地识别最优聚类数目。该算法迭代地增加 K,在每一步重新计算方差,并评估方差的减少量(ΔV)。当方差的改善程度低于某一阈值时,聚类过程即终止。量子梯度通过参数偏移规则计算,该规则利用量子电路估算期望值的导数。该方法确保最终的聚类数量在准确性和效率之间取得平衡,特别适用于生物信息学领域中生物亚型真实数量未知的应用场景。
聚类过程从 K=1 开始,使用量子方差计算程序计算总方差 V(K)。随后将聚类数量增加至 K+1,并重新计算方差 V(K+1)。通过评估方差的减少量 ΔV=V(K)−V(K+1),判断新增聚类是否持续改善数据的紧凑性。当 ΔV 低于预设阈值时,迭代停止,表明进一步增加 K 值不再带来显著改进。构建了一个包含变分门的参数化量子电路,用于监测方差趋势中曲率的变化,该信息用于指导聚类优化过程。最优聚类数量被选定为方差减少趋于稳定的 K 值,从而获得紧凑且分离良好的聚类结果。
9. 计算簇方差并存储至 Vlist
当稳定的簇形成后,算法会计算簇的方差以衡量每个簇的紧密程度。给定簇的方差 Vkj 通过计算该簇中每个数据点与簇质心之间的距离来确定:

其中:x 表示一个基因表达样本,Ci 表示一个聚类,Cci 表示聚类 Ci 的质心,Vkj 表示在具有 k 个聚类的情况下第 jth 次迭代记录的方差。
该方差存储在列表 Vlist 中,后续将用于确定最优聚类数量。
10. 确定最佳聚类数量
为了确定最优聚类数量 K,该算法会执行多次迭代,观察不同的初始条件。主要步骤包括:
该算法首先从针对不同 K 值计算得到的方差列表中识别出最小方差值。随后使用表达式 ΔV=∣Vk−Vk−1∣ 来衡量连续聚类数量之间的方差减少量,其中 Vk 表示 K 个聚类的方差,Vk−1 表示 K−1 个聚类的方差。如果方差减少量 ΔV 低于预设阈值,表明聚类效果提升可忽略不计,则程序终止;否则,聚类数量递增,并重复计算过程,直至达到最优聚类数量。
11. 癌症与非癌症分类的聚类结果定型
一旦确定了最优聚类数 K,最终的聚类结果即代表基因表达数据中的不同组别。通常情况下,该算法会产生两个主要聚类:
一个代表癌细胞的簇(由与恶性肿瘤相关的独特基因表达特征标记)。
一个代表非癌细胞的聚类(包含正常基因表达谱)。
在所提出的量子K均值聚类算法中使用的参数、变量和常量列于表1中。定义数据集的维度,设定聚类数量K,并应用停止准则和优化阈值以指导整个过程。配置计算设置,例如每次运行的采样次数(shots)和随机种子,以确保结果可重复。采用基于概率的选择方法初始化聚类中心,并在迭代过程中持续更新,直至收敛。该表还规定了预期输出结果,包括聚类标签、聚类中心、最优K值、评估指标以及可视化图表。
| 类别 | 参数 | 数值 / 默认值 | 说明 |
| 数据集 | 乳腺癌数据集 | 569 个样本 × 32 个特征(经 PCA 降维至 2 个主成分) | 使用主成分分析(PCA)进行降维 |
| 聚类数量 | K | 动态变化,初始为 1,最多至 5 | 通过方差减少法优化 |
| 最大聚类数 | Kmax | 5 | 搜索的上限值 |
| 每次运行的采样次数 | N | 1024 | 每次电路执行的测量次数 |
| 停止容差 | ε | 1 × 10^-14 | 方差收敛判据 |
| 方差斜率阈值 | ΔV | 9.9 × 10^-4 | 优化过程的停止阈值 |
| 观测次数 | Mobsrv | 3 | 每个聚类大小的独立运行次数 |
| 迭代上限 | – | 10 | 每次运行中质心更新的最大步数 |
| 随机种子 | – | 42 | 确保结果可重复 |
| 预期输出 | – | 聚类标签、质心、最优 K 值、评估指标、图表 | 以 .csv 和 .png 文件格式导出 |
| 各聚类间的方差 | Vlist | 空 | 用于检测最优 K 值 |
| 第 j 个质心 | cj | 由函数初始化(基于点到已有质心距离平方的概率) | 迭代更新并存储最终质心 |
表1:材料、软件与可重复性设置
| 步骤 | 功能 / API(来自您的代码) | 操作 | 预期结果 |
| 特征编码 | qc.u(theta, pi, pi, qubit) | 将归一化的经典特征编码为量子比特旋转 | 量子比特态 |
| SWAP 测试 / 量子距离 | get_Distance(x, y) 使用 qc.cswap() | 构建三量子比特电路(辅助比特 + 两个态) | 相同态 → P(0) ≈ 1.0;正交态 → P(0) ≈ 0.5 |
| 电路执行 | SamplerV2 配合 AerSimulator(1024 次采样) | 在模拟器上运行电路并进行转译(优化等级 1) | 辅助量子比特的概率分布 |
| 质心初始化 | initialize_centroids_kmeans_pp(points, k) | 根据距离成比例选择初始质心 | 多样化的起始质心 |
| 聚类重新分配 | find_nearest_neighbour(points, centroids) | 将数据点分配给最近的质心 | 稳定的聚类成员关系 |
| 方差计算 | calculate_variance(centers, centers_distance) | 计算类内方差 | 每次迭代后方差减小 |
| 方差斜率 | grad_slope(k, V_k, k-1, V_k-1) | 比较 ΔV 与 ε = 1e-14 及斜率阈值 ΔV ≤ 0.000099 | 检测到最优 K 值 |
| 可视化 | matplotlib.pyplot, plot_histogram | 绘制聚类分配结果与量子计算结果 | PCA 散点图、方差图、直方图 |
| 指标计算 | silhouette_score, calinski_harabasz_score, davies_bouldin_score | 评估聚类质量 | 轮廓系数 ≈ 0.64,CH ≈ 766,DB ≈ 0.65 |
表2:所提出算法的可运行实现细节。
实施与算法
具有最优聚类数确定的量子K均值算法是一种量子增强型聚类方法,能够在利用量子特征映射的同时动态识别最优聚类数量19。该过程首先将所有数据点视为属于一个单一聚类。随后逐步增加聚类数目K。聚类中心根据点间距离以概率方式初始化,之后将每个数据点分配至其最近的质心,形成K个聚类。接着计算聚类方差,并更新质心。此重新分配过程被迭代重复,直至不再发生进一步变化为止。
该算法通过多次迭代评估方差,并存储对应于不同聚类数量的方差值。通过在监测方差减少量 ΔV 的同时最小化方差,确定最优的 K 值。如果 ΔV 变得可忽略不计,则程序终止;否则,K 值递增,聚类过程重新开始。这种自适应策略可确保在高维特征空间中对数据进行高效且准确的划分。

图6:所提出的混合量子K-均值聚类流程的流程图,展示量子特征映射、质心初始化、迭代聚类分配、量子方差计算、基于方差的收敛性检查,以及利用量子梯度辅助选择最优聚类数量。请点击此处查看该图的放大版本。
以下步骤概述了用于聚类癌症与非癌症基因表达数据的量子K均值算法。
算法:使用量子K均值算法对癌细胞与非癌细胞的基因表达数据进行聚类
步骤 1:量子特征映射(多特征编码)。
步骤 2:假设初始时所有数据点均属于同一聚类,因此将 K 值设为 1(其中,K:最优聚类数量;V:聚类方差;ΔV:方差减少量)。
步骤 3:初始化中心点(基于数据点之间距离的概率比例选择初始中心点)。
步骤 4:将每个数据点分配给其最近的质心,从而形成预定义的“K”个聚类。
步骤 5:计算聚类方差,并为每个聚类放置新的质心。
步骤 6:重复步骤 4,即将每个数据点重新分配给每个聚类中新的最近质心。
步骤 7:如果发生任何重新分配,则返回步骤 5;否则进入步骤 8。
步骤 8:此时得到聚类 Cj(第‘j’次迭代,包含‘k’个聚类),并计算方差 Vkj=
,其中‘x’表示属于聚类 Ci 的数据点,Cci 表示聚类 Ci 的聚类质心。将方差 Vkj 记录在 Vlist 中,并从步骤 3 开始使用新的中心点再次进行聚类(重复若干次,即‘j’次,其中 1 ≤ j ≤ Mobsrv),保持相同的‘K’值。
步骤 9:在 Vlist 中找出对应‘K’个聚类的最小方差 V。
步骤 10:计算 ΔV(ΔV = |Vk - Vk-1|,其中 Vk 表示具有‘K’个聚类的方差,Vk-1 表示具有‘K-1’个聚类的方差),如果 ΔV 基于量子梯度优化(显著减少),则结束;否则增加 K(K = K + 1),并以新的‘K’值返回步骤 3。
步骤 11:聚类已完成,最优聚类数量为‘K’。
量子特征映射算法
算法 1:量子特征映射
输入:量子态 |ψ〉 和 |Φ〉 的 P 个点
输出:对 |〈ψ|Φ〉|2 的估计值
算法步骤:
步骤 1:我们取一个量子比特,将其初始化为零态;应用哈达玛门,使其从 Z 基矢旋转到 X 轴方向。
步骤 2:根据数据点在特征 1 上的取值,以弧度设定 ϕ(0 ≤ ϕ ≤ π)。
ϕ = 2*rad(cos-1(d0)),其中 d0 表示特征 1 的数据值,且 d0 ∈ [0, 1]。
步骤 3:根据数据点在特征 2 上的取值,以弧度设定 θ(0 ≤ θ ≤ π)。
θ = 2 * rad(cos-1(d1)),其中 d1 表示特征 2 的数据值,且 d1 ∈ [0, 1]。
步骤 4:我们使用 U3 量子门来实现旋转,从而对数据点的特征进行编码。

该操作使量子比特绕正 x 轴旋转 ϕ 弧度,绕正 z 轴旋转 θ 弧度。
量子态比较算法
算法 2:比较量子态
输入:两个量子比特 |q1〉 和 |q2〉,其量子态分别为 |ψ〉 和 |Φ〉
输出: | 〈ψ|Φ〉 |2 的估计值
算法步骤:
步骤 1:将量子比特 A 视为辅助比特,并将其初始化为态 |0〉
步骤 2:对量子比特 A 应用哈达玛门
步骤 3:对 |q1〉 和 |q2〉 量子比特(即态 |ψ〉 和 |Φ〉)应用受控交换门(CSWAP),以 A 作为控制量子比特
步骤 4:对量子比特 A 再次应用哈达玛门
步骤 5:在 Z 基下测量 A,并将测量结果记录为 M
返回 M 作为 | 〈ψ|Φ〉 |2 的估计值
k均值聚类算法的量子距离估计器
算法 3:量子距离估计器与选择新聚类中心
输入: P 数据点数量和 K 簇中心数量,每个量子态 |ψ〉 和 |Φ〉
输出: 与数据点相关联的新聚类中心
算法步骤:
用于 i 从 1 到 P:
挑选 ith 数据点并记录在 |qi 〉
用于 j 在 1 到 K 的范围内:
挑选 jth 聚类质心并将其设置在 |qj 〉
比较量子态 |qi 〉 和 qj 〉 即 ith qubit 与 jth 质心并记录 M 中的测量值为 (Mi,j)
结束循环
找到最小距离(M分钟 ,从 M 中获取 min,并将 min 设为 |q 的新质心i 〉 并将其记录为 Ci
结束循环
返回 C 作为我们的新质心列表
M = 所有聚类质心距离的列表,距离来自 |qi 〉 第 i 个量子比特
C = 所有新计算的最小距离聚类质心 Ci 的列表,对应 |qi 〉;∀(i∈{1,...,P})
初始质心选择算法
算法 4:使用数据点之间距离的概率比例计算初始聚类中心点
输入:m 个数据点 (X1, X2,...,Xm),每个数据点对应量子态 |ψ〉 和 |Φ〉
输出:返回包含 K 个初始聚类中心的集合 S
算法步骤:
步骤 1:从数据点 Xi (1 ≤ i ≤ m) 中随机选择一个点 X,并将其加入集合 S
步骤 2:对于所有 Xi,使用量子距离估计器计算 Xi 与集合 S 中最近聚类中心之间的距离,并将该距离记为 Ddist(Xi)
步骤 3:在 0 与 Ddist(X1)2 + Ddist(X2)2 + ...+ Ddist(Xm)2 之间均匀随机选择一个数 Y
步骤 4:找到唯一的整数 i,使得
Ddist(X1)2 + Ddist(X2)2 + ...+ Ddist(Xi)2 >= Y > Ddist(X1)2 + Ddist(X2)2 + ...+ Ddist(Xi-1)2
步骤 5:将 Xi 加入集合 S
步骤 6:重复 步骤 2 – 4,直到找到 K 个聚类中心
返回 S 作为初始聚类中心点
量子方差计算算法
算法 5:计算量子方差
输入: P 个数据点,每个数据点对应一个量子态 | ψ〉 和 |Φ〉
输出: 返回数据点的方差
算法步骤:
总方差 ← 0
用于 i 从 1 到 K:
挑选 ith 聚类质心并将其设置在 |qi 〉
totalVariancei ← 0, M ← 0
对于所有 j ∈ 与簇中心 i 相关的 P:
挑选 jth 数据点并将其设置在 |qj 〉
比较量子态 |qi 〉 和 qj 〉 即th 带有 j 的质心th 数据点并记录测量值,单位为 Mj
M ← M + Mj
结束循环
总方差i ←
[细胞]i 是 ith 簇 |Ci | i 中的数据点数量th 簇, Dk 该数据点是否属于集合 Ci & Mk
是C质心之间的距离i 至 Dk]
总方差 ← 总方差 + 总方差i
结束循环
返回 总方差
基于量子梯度的优化算法(获取最优聚类数量)
基于量子梯度的优化步骤通过监测类内方差随聚类数 K 增加而变化的情况,确定最优聚类数量。计算连续 K 值对应的方差,并评估它们之间的变化。当方差的减小幅度低于预设阈值时,表明增加更多聚类不再提升聚类紧凑性,此时对应的 K 值即被选为最优。这种基于曲率的判据可确保聚类在数据自然结构被充分捕捉且不发生过度划分的点停止。
算法 6:基于量子梯度的优化
输入:
参数化量子电路 质量控制(θ) 与单量子比特旋转门 RY(θ)
一个量子力学可观测量
= Z (Pauli-Z 期望值)
一系列参数值 θ。
输出: 期望值〈Z关于 θ。
算法步骤:
步骤1: 初始化单量子比特量子电路 质量控制(θ) 与:
参数化旋转门 RY(θ)
计算中的测量(Z)为基础。
步骤 2: 定义功能 评估_期望(θ) 即 f′(θ) = 
将参数 θ 绑定到电路。
在量子模拟器上执行该电路 N 镜头。
测量结果概率 P(0)和 P(1).
计算期望值:
f(θ)=P(0)−P(1)
步骤 3: 使用参数平移法则计算二阶导数:
设置偏移值 s = 
在偏移点处计算期望值:
f(θ+s),f(θ),f(θ−s)
计算二阶导数:
f ′′(θ) = 
步骤 4: 使用 f ′′(θ) 分析方差缩减行为。
表2提供了所提出的量子聚类方法的实现细节。该表列出了算法各个阶段所使用的可运行函数和API,包括将特征编码到量子电路中、执行SWAP测试以估计距离、质心初始化、迭代聚类重分配以及方差/ΔV评估。电路执行参数也一并列出,例如使用AerSimulator后端的SamplerV2,采样次数为1024次,以及优化级别为1的电路转换(transpilation)。此外,该表还概述了用于生成主成分分析(PCA)散点图、方差图和直方图的可视化方法,以及聚类评估指标(silhouette_score、calinski_harabasz_score和davies_bouldin_score)。通过详细说明具体命令级别的函数和API,该表确保了所提出算法中所有计算步骤的可重复性。
访问受限。请登录或开始试用以查看此内容。
一个好的聚类结果取决于多种因素,例如聚类之间的分离距离、聚类内部距离、方差比准则等。因此,聚类性能通过三个标准指标进行评估:轮廓系数(Silhouette Score)、Calinski-Harabasz指数(CH Index)和Davies-Bouldin指数(DB Index)。轮廓系数通过公式
来衡量聚类间的分离程度,其中 ic 表示类内平均距离,nc 表示到最近聚类的平均距离。该值范围为 -1 到 +1,接近 +1 的值表示聚类紧凑且分离良好。CH指数通过公式
访问受限。请登录或开始试用以查看此内容。
本研究提出一种新型的混合量子K均值聚类算法,结合最优 聚类检测,专门用于利用高维基因表达数据对癌变与非癌变样本进行分类。该方法融合了量子多特征映射、基于交换测试的量子距离估计、以及 基于量子梯度的优化技术,以动态确定最优聚类数量。与传统K均值算法不同,传统方法需预先设定聚类数目且对初始聚类中心的选择敏感,而所提出的方法采用基于概率比例的聚类中心初始化策略,以确保算法的稳定性与收敛性。
结合最优聚类数确定的量子K均值算法利用量子特征映射和概率性质心初始化,以增强在复杂数据集(如基因表达谱)中的聚类性能。通过将量子原理引入聚类流程,该方法提高了组间分离度,并在高维数据分析中提供了更强的鲁棒性20。
基因表达数据的量子特征映射
基因表达数据集通常包含大量基因,每个基因都对应一个表达水平。这些数据点位于高维特征空间中,在此空间中,传统的聚类方法在...
访问受限。请登录或开始试用以查看此内容。
作者感谢使用了公开的基因表达数据集和量子模拟器,这些资源使得本研究的实际验证成为可能。
访问受限。请登录或开始试用以查看此内容。
| 姓名 | 公司 | 目录编号 | 评论 |
|---|---|---|---|
| Apple MacBook Pro(M1 芯片) | Apple Inc. | - | 8核 CPU / 8核 GPU,16 GB 统一内存 — 用于本地模拟 |
| 乳腺癌基因表达数据集 | Kaggle | - | 包含 569 个样本、32 个特征的数据集(在研究中通过主成分分析 PCA 降维) |
| macOS Monterey(操作系统) | Apple Inc. | 12.6.9 | 本地机器上使用的运行环境 |
| math(Python 标准库) | Python Software Foundation | 内置 | 基本数学函数 |
| Matplotlib | Matplotlib 社区 | 3.8.4 | 绘图与可视化 |
| NoiseModel、QuantumError、ReadoutError(Qiskit Aer) | IBM / Qiskit 项目 | 属于 Aer 0.13.3 版本 | 用于模拟真实的量子噪声 |
| NumPy | NumPy 开发者团队 | 1.26.4 | 数值计算与数组操作 |
| pandas | pandas 开发团队 | 2.2.2 | 数据处理、输入/输出、表格操作 |
| Python | Python Software Foundation | 3.10.12 | 编程语言,用于 Jupyter / IPython 环境 |
| Qiskit Aer | IBM / Qiskit 项目 | 0.13.3 | 模拟器后端,支持噪声建模与执行 |
| Qiskit IBM Runtime – Session、SamplerV2 | IBM / Qiskit 项目 | 0.41.1 | 用于在模拟器中执行电路的执行框架 |
| Qiskit Terra | IBM / Qiskit 项目 | 0.45.0 | 用于量子电路构建与转译的框架 |
| scikit-learn | scikit-learn 开发者 | 1.4.2 | 主成分分析 PCA、聚类评估指标、数据预处理 |
访问受限。请登录或开始试用以查看此内容。
申请许可以重复使用本 JoVE 文章的文本或图表
申请许可