$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
1. Mapowanie cech kwantowych
Kodowanie klasycznych punktów danych w stany kwantowe odbywa się poprzez odwzorowanie ich na kwantową przestrzeń Hilberta, do której komputer kwantowy może efektywnie uzyskać dostęp i ją manipulować16˒17,19. Proces ten wykorzystuje nieliniową mapę cech kwantowych, która osadza dane klasyczne w przestrzeni Hilberta (Rysunek 1). Stała mapa cech obwodów kwantowych przekształca punkty danych wejściowych w stanykwantowe 17, podczas gdy układy wariacyjne umożliwiają zadania uczenia maszynowego poprzez adaptację bazy pomiarowej22. Układ wariacyjny składa się z zestawu parametryzowanych bramek kwantowych, zoptymalizowanych za pomocą hybrydowych technik kwantowo-klasycznych23.

Rysunek 1: Mapowanie cech w kwantowej przestrzeni Hilberta. Proszę kliknąć tutaj, aby zobaczyć większą wersję tej figurki.
2. Kodowanie punktu docelowego i centroidów w kubitach
Aby zakodować cechy naszych punktów danych, musimy wykonać obroty za pomocą bramek U3.

To odwraca kubit θ radian od dodatniej osi z, a Φ radiany od dodatniej osi x.
Wszystkie kubity były inicjalizowane w stanie ∣0〉 przed rozpoczęciem procesu kodowania. Każda wartość ekspresji genu była normalizowana do zakresu [0,1] i przekształcana w kąt obrotu za pomocą relacji θi=πxi. Następnie do każdego kubitu zastosowano parametryzowaną bramkę unitarną do zakodowania odpowiadającej cechy, zaimplementowanej w Qiskit za pomocą operacji qc.u(theta_i, pi, pi, qubit_index). Gdy kodowano wiele cech, procedura rotacji była powtarzana na odpowiednich kubitach, aby uzyskać wielofunkcyjną reprezentację. Po tych operacjach powstały stan kwantowy ∣ψ〉 reprezentował zakodowany wektor cech w przestrzeni Hilberta. Na tym etapie nie przeprowadzono pomiaru, ponieważ przygotowany stan był zarezerwowany do późniejszej estymacji podobieństwa.
3. Porównanie stanów kwantowych
Wyniki eksperymentów kwantowych są z natury losowe, ponieważ kubity są z natury niestabilne, jak opisuje fizyka kwantowa. W konsekwencji wnioski i prognozy muszą być wyrażane w kategoriach prawdopodobieństw i niepewności. Wyciąganie jednoznacznych wniosków stanowi więc realne wyzwanie. Jednak gdy rozważane stany kwantowe są czyste, różnice między stanami (z niezerowym prawdopodobieństwem) można jednoznacznie przewidzieć za pomocą eksperymentów24˒25.
Dwa stany kwantowe, ∣ψ〉 i ∣φ〉, zostały najpierw załadowane do oddzielnych rejestrów kwantowych. Następnie qubit ancilla był inicjalizowany w stanie ∣0〉, aby kontrolować operację zamiany. Na ancilla zastosowano bramkę Hadamarda, aby umieścić ją w superpozycji przed wykonaniem operacji controlled-SWAP. Bramka Fredkin (CSWAP) wykorzystywała ancilla jako kubit sterujący oraz dwa rejestry danych jako cele, co umożliwiało interferencję między stanami. Po tej operacji na ancilla zastosowano drugą bramkę Hadamard, aby zakończyć wzór interferencyjny. Mierzono tylko qubit ancilla, a jego wynik pomiarowy kodował podobieństwo między tymi dwoma stanami. Gdy stany były identyczne, ancilla dawała wynik 0 z prawdopodobieństwem 1, natomiast stany ortogonalne dawały wynik 0 z prawdopodobieństwem 0,5.

Rysunek 2: Ilustracja porównania opartego na prawdopodobieństwie, Jeśli stany ρ i ξ są różne, to obserwowany rozkład prawdopodobieństwa należy do PE− \ PE+. Proszę kliknąć tutaj, aby zobaczyć większą wersję tej figurki.
Operator gęstości ρ jest powiązany z dowolnym stanem kwantowym ρ ∈ S(H), takim że tr[ρ] = 1, a ρ ≥ 0. Tutaj zbiór wszystkich stanów S(H) układu, który będzie powiązany z przestrzenią Hilberta H. Dodatnia miara operatorowa (POVM) to kwantowy pomiar cech statystycznych, będący zbiorem dodatnich operatorów E1, . . . , En jako E (działającego na H) oraz tożsamości I =
. Rozkład 
prawdopodobieństwa przypisuje pomiar E dla każdego stanu ρ ∈ S(H), gdzie pj = tr[Ejρ]≥ 0 i
= 126.
4. Porównanie stanów kwantowych oparte na SWAP
Różnicę między dwoma stanami kwantowymi można zmierzyć za pomocą procedury testowej SWAP w obliczeniach kwantowych. Metoda ta została po raz pierwszy wprowadzona przez Barenco i in.27 , a później ponownie odkryty przez Johna Watrousa, Ronalda de Wolfa, Harry'ego Buhrmana i Richarda Cleve'a 28. Test SWAP został zastosowany w obliczeniach kwantowych i uczeniu maszynowym kwantowym 15, 29.
Test SWAP przyjmuje ∣ψ〉 i ∣φ〉 jako stany wejściowe i daje 1 (zmienną losową Bernoulliego) o prawdopodobieństwie 1/2 - 1/2〈φ,ψ〉2 , co szacuje kwadrat iloczynu skalarnego obu stanów 30.
Wyjaśnienie obwodu
Rozważmy dwa stany ∣φ〉 i ∣ψ〉 systemu, protokół na początku to ∣0,φ,ψ〉. Po zastosowaniu bramki Hadamarda, stan zmienia się na
∣0,φ,ψ〉 + ∣1,φ,ψ〉. Bramka CSWAP przekształca stan w
(0,φ,ψ〉 + ∣1,ψ,φ〉). Po drugiej bramie Hadamarda stan staje się 1/2(|0,φ,ψ〉 + ∣1,φ,ψ〉 + |0,ψ,φ〉 - ∣1,ψ,φ〉)= 1/2∣0〉(|φ,ψ〉 + |ψ,φ〉) + 1/2|1〉(|φ,ψ〉 - |ψ,φ〉). Następnie mierzony jest pierwszy kubit, prawdopodobieństwo uzyskania wyniku 0 wynosi P(Pierwszy kubit = 0) = 1/2 (〈φ|〈ψ| + 〈ψ|〈φ|) 1/2 (|φ,ψ〉 + |ψ,φ〉) = 1/2 + 1/2 |〈ψ|φ〉|2. Jeśli ψ i φ są ortogonalne (|〈ψ|ϕ〉|2 = 0), to prawdopodobieństwo uzyskania 0 wynosi 1/2. Jeśli stany są identyczne (|〈ψ|ϕ〉|2 = 1) to prawdopodobieństwo uzyskania 0 wynosi 1. 24

Rysunek 3: (a) Obwód bramki Fredkina z biegunowym stanem przeciwstawnym, (b) Wyjście wykresu mierzonego prawdopodobieństwem, (c) Obwód bramki Fredkina z bramką Hadamarda, (d) Wyjście wykresu mierzonego prawdopodobieństwem. Proszę kliknąć tutaj, aby zobaczyć większą wersję tej figurki.
Obwód wykorzystywał jeden qubit ancilla wraz z dwoma rejestrami kodującymi stany kwantowe ∣ψ〉 i ∣φ〉. Wszystkie kubity zostały zainicjowane przed rozpoczęciem etapu kodowania. Cechy ekspresji genów były następnie kodowane w odpowiednich rejestrach za pomocą procedury mapowania cech. Do kubitu ancilla zastosowano bramkę Hadamarda, aby utworzyć superpozycję, po czym wykonywano operację controlled-SWAP pomiędzy dwoma rejestrami stanów z ancilla jako kontrolą. Do ancilla zastosowano drugą bramkę Hadamarda, aby uzupełnić wzór interferencyjny, a następnie zmierzono qubit ancilli. Gdy dwa zakodowane stany były identyczne, ancilla konsekwentnie generował wynik 0. Gdy stany były ortogonalne, ancilla dawała wynik z prawdopodobieństwem 0,5. Dla częściowo podobnych stanów prawdopodobieństwo uzyskania 0 wynosiło od 0,5 do 1, co odzwierciedlało stopień podobieństwa między stanami.
5. Estymacja odległości kwantowej
W klasycznej analizie danych odległości między punktami danych można obliczyć bezpośrednio za pomocą miar takich jak odległość euklidesowa czy manhattańska 2,3. W przypadku kubitów na komputerze kwantowym zadanie to jest bardziej złożone ze względu na probabilistyczny charakter stanów kwantowych. Różnice fazowe i amplitudy prawdopodobieństwa można zmierzyć, ale nie można ich bezpośrednio przedstawić jako odległości między dwoma wektorami 24, 26.
Dla klasterizacji konieczne jest ocenenie względnych pozycji punktów danych względem centroidów klastrów13. Aby przypisać każdy kubit odpowiedniemu klastru, należy zdefiniować parametr służący jako wskaźnik bliskości do odpowiedniego centroidu klastra.
Aby to osiągnąć, wprowadza się parametr, który koreluje pozytywnie z podobieństwem, pełniąc tym samym funkcję alternatywy dla konwencjonalnych miar odległości 15,30.
Proces szacowania odległości rozpoczął się od znormalizowanego stanu kwantowego ∣Ψ〉 oraz kubitu pomocniczego z zerową inicjaturą ∣q0〉. Celem było oszacowanie odległości między nowym punktem danych zakodowanym w ∣q1〉 a centroidem klastrowym zakodowanym w ∣q2〉. Aby przygotować superpozycję wymaganą dla wzorca interferencyjnego, do kubitu ancilla zastosowano bramkę Hadamarda, co dało stan
( ∣0〉 + ∣1〉 ) ⊗ ∣Ψ〉 ). Następnie zastosowano bramkę kontrolowaną SWAP (Fredkin) z ancillą jako kontrolą, która splątała ancillę z dwoma zakodowanymi stanami i umożliwiła ich nakładanie się wpływu na wynik pomiaru. Operacja ta generowała stan
( ∣0〉 ⊗ ∣Ψ〉 + ∣1〉 ⊗F swap(∣Ψ〉)), z którego można było wyodrębnić odległość oparty na iloczynie wewnętrznym poprzez późniejsze pomiary ancilla.
Implementacja i wyjście obwodu
Ten kwantowy układ koduje dane ekspresji genów do kubitów za pomocą kodowania fazowego, a następnie porównuje dwa stany ekspresji genów za pomocą bramki Controlled-Swap (CSwap), znanej również jako Test Swap12.
Aby stworzyć wymaganą superpozycję, do wszystkich kubitów (q0 doq 4) stosuje się bramki Hadamarda, co skutkuje równą superpozycją wszystkich stanów bazowych |Ψ〉 =
, Ta inicjalizacja umożliwia równoległe obliczenia dla wielu wartości ekspresji genów. Każdy kubit następnie przechodzi rotację fazową,
, gdzie θx odpowiada odwzorowanej wartości ekspresji genów. Operatory unitarne U(θ,π,π) stosowane do kubitów q1-q 4 kodują poziomy ekspresji poszczególnych genów, przy czym każdy kąt θ reprezentuje przekształconą wersję ekspresji genu. Procedura ta mapuje klasyczne dane biologiczne na stany kwantowe poprzez kodowanie fazowe, pozwalając na reprezentację wielu genów w wysokowymiarowej przestrzeni kwantowej6.
Bramki CSwap są następnie używane do porównywania zakodowanych stanów poprzez ich splątanie. Kubit pomocniczy q0 pełni funkcję kontroli, decydując, czy stany q1-q 4 są zamieniane. Podobne stany kwantowe generują interferencję konstruktywną w q0, co skutkuje wyższym prawdopodobieństwem pomiaru ∣0〉. Natomiast stany niepodobności zwiększają prawdopodobieństwo pomiaru ∣1〉. Kolejna bramka Hadamarda na q0 zapewnia interferencję amplitudy, umożliwiając wydobycie informacji o podobieństwie poprzez pomiar.
Załóżmy, że dwa stany kwantowe ∣ψ〉 i ∣φ〉 reprezentują różne zbiory danych ekspresji genów, |ψ〉 = ∑iai |i〉, |φ〉 = ∑ibi |i〉 .
Test Swap ocenia wierność (iloczyn skalny) między nimi:
P (0) =
,
Gdzie ∣〈ψ∣φ〉∣ oznacza iloczyn skalarny. Jeśli P(0) ≈ 1, stany są podobne; jeśli P(0) ≈ 0,5 lub niższa, są one różne.
Takie ramy umożliwiają porównywanie zbiorów danych między pacjentami lub warunkami doświadczalnymi (np. tkanka normalna vs. chora). Zapewnia efektywną podstawę do klastrowania danych o wysokim wymiarze w modelach kwantowego uczenia maszynowego. Test Swap wspiera identyfikację podobieństw między stanami kwantowymi, co może być wykorzystane do grupowania próbek w znaczące klastry4.

Rysunek 4: Obwód pomiaru odległości między punktami danych a ogniskami. Proszę kliknąć tutaj, aby zobaczyć większą wersję tej figurki.

Rysunek 5: Wynik wykresu mierzonego prawdopodobieństwem. Proszę kliknąć tutaj, aby zobaczyć większą wersję tej figurki.
Punkt danych był najpierw kodowany do stanu kwantowego ∣ψ〉, a odpowiadający mu środek skupiska kodowano do stanu ∣φ〉. Następnie wykonano wcześniej procedurę testu zamiany, aby porównać te dwa stany, a prawdopodobieństwo pomiaru ancilla P(0) zostało zarejestrowane. Wierność między stanami uzyskano jako F=∣〈ψ∣φ〉∣2, a odległość kwantowa została zdefiniowana jako D (ψ,φ) =
. Mniejsza wartość D wskazywała, że punkt danych znajduje się bliżej centroidu w przestrzeni cech kwantowych.
6. Początkowy wybór centroidu
Inicjalizacja centroidów klastrowych jest kluczowa dla stabilności i dokładności klastrowania K-Means. Losowa selekcja może powodować słabo rozłożone centroidy, co prowadzi do wolnej zbieżności i wyników suboptymalnych. Aby rozwiązać ten problem, stosuje się metodę proporcjonalnej odległości prawdopodobieństwa inspirowaną strategią K-Means++20 . W podejściu wzmocnionym kwantowo odległości są oceniane za pomocą Quantum Distance Estymator oparty na teście SWAP, co zapewnia, że wybrane centroidy lepiej odzwierciedlają rozkład danych bazowych. Ta strategia zwiększa rozdzielanie klastrów i poprawia odporność algorytmiczną, szczególnie w zbiorach danych o wysokich wymiarach.
Proces inicjalizacji centroidu rozpoczął się od losowego wyboru jednego punktu danych, który miał służyć jako pierwszy centroid. Odległość kwantowa między tym centroidem a każdym pozostałym punktem danych była następnie obliczana za pomocą procedury szacowania odległości kwantowej. Na podstawie tych wartości odległości utworzono rozkład prawdopodobieństwa, w którym każdemu punktowi przypisano prawdopodobieństwo wyboru proporcjonalne do kwadratu odległości od najbliższego środka ciężkości. Nowe centroidy były próbkowane według tego rozkładu, a procedurę powtarzano aż do uzyskania pożądanej liczby centroidów K. To podejście dało początkowy zbiór centroidów o znacznie lepszej separacji niż losowy dobór.
7. Obliczanie wariancji kwantowej
Wariancja klastrów ilościowo określa zwartość punktów danych wokół ich centroidów, co czyni ją kluczową miarą do oceny jakości klasteryzacji. W klasycznych średnich K-wariancja oblicza się jako średnią kwadratową odległość między punktami danych a ich przypisanymi centroidami. W podejściu wzmocnionym kwantowo odległości te są uzyskiwane za pomocą Quantum Distance Estymator (za pomocą testu SWAP), który oblicza podobieństwa między stanami kwantowymi oparte na wierności. Sumując kwadrat odległości w obrębie każdego klastra i normalizując przez jego wielkość, otrzymujemy wartość wariancji odzwierciedlającą stopień spójności wewnątrz klastra. Minimalizowanie tej zmienności zapewnia bardziej zwarte i znaczące skupiska, co jest szczególnie ważne w wysokowymiarowych zbiorach danych o ekspresji genów do rozróżniania próbek nowotworowych i nienowotworowych.
Przypisanie klastrów przeprowadzono poprzez przypisanie każdego zakodowanego punktu danych kwantowych do najbliższego centroidu za pomocą kwantowej estymacji odległości. Dla każdego klastra Ck obliczono odległość kwantową D(ψ i,Ck) między każdym punktem danych a jego centroidem. Wariancja wewnątrzklastrowa została następnie obliczona za pomocą
, które mierzyły zwartość każdego klastra. Całkowita wariancja została uzyskana przez sumowanie poszczególnych wariancji we wszystkich klastrach. Ta całkowita wartość wariancji była rejestrowana w celu określenia optymalnej liczby klastrów oraz oceny ogólnej wydajności klastrowania.
8. Optymalizacja oparta na gradientach kwantowych
Określenie optymalnej liczby klastrów (K) jest fundamentalnym wyzwaniem w zadaniach klastrowania. Tradycyjne K-Means wymagają predefiniowania K , co często prowadzi do niedo- lub nadmiernego skupienia. W naszym podejściu wspieranym kwantowo integrujemy optymalizację opartą na gradientach kwantowych (QGBO), aby adaptacyjnie zidentyfikować optymalną liczbę klastrów. Algorytm iteracyjnie zwiększa K, ponownie oblicza wariancję na każdym kroku i ocenia redukcję wariancji (ΔV). Gdy poprawy wariancji spadną poniżej progu, klasteryzacja zostaje zakończona. Gradient kwantowy oblicza się za pomocą reguły przesunięcia parametrów, która szacuje pochodne wartości oczekiwanych z układów kwantowych. Takie podejście zapewnia, że ostateczna liczba klastrów równoważy dokładność i efektywność, co czyni je szczególnie przydatnym w zastosowaniach bioinformatycznych, gdzie rzeczywista liczba podtypów biologicznych nie jest znana z góry.
Proces klastrowania rozpoczął się od K=1, a całkowita wariancja V(K) była obliczana za pomocą procedury obliczeń wariancji kwantowej. Liczba klastrów została następnie zwiększona do K+1, a wariancja V(K+1) została ponownie obliczona. Zmniejszenie wariancji, ΔV=V(K)−V(K+1), zostało ocenione, aby ustalić, czy dodatkowe klastry nadal poprawiają zwartość danych. Iteracja zatrzymała się, gdy ΔV spadło poniżej ustalonego progu, co wskazuje, że dalsze wzrosty K nie przyniosły istotnych popraw. Skonstruowano parametryzowany obwód kwantowy z bramkami wariacyjnymi do monitorowania zmian krzywizny trendu wariancji, a te informacje kierowały procesem optymalizacji klastra. Optymalna liczba klastrów została wybrana jako wartość K , przy której ustabilizowała się redukcja wariancji, co skutkowało zwartymi i dobrze rozdzielonymi klastrami.
9. Obliczanie wariancji klastrów i przechowywanie wliście V
Po utworzeniu stabilnych klastrów algorytm oblicza wariancję klastrów, aby zmierzyć zwartość każdego klastra. Wariancja Vkj dla danego klastra jest wyznaczana na podstawie odległości między każdym punktem danych w klastrze a centroidem klastra:

gdzie: x oznacza próbkę ekspresji genów, Ci to klaster, Cci to środek ognia klastra Ci, Vkj to wariancja zarejestrowana dla j iteracji z k klastrami.
Ta wariancja jest przechowywana w liście V, która później posłuży do określenia optymalnej liczby klastrów.
10. Określenie optymalnej liczby klastrów
Aby znaleźć optymalną liczbę klastrów K, algorytm wykonuje wiele iteracji, obserwując różne warunki początkowe. Kluczowe kroki obejmują:
Algorytm najpierw zidentyfikował wartość minimalnej wariancji z listy wariancji obliczonych dla różnych wartości K. Redukcję wariancji między kolejnymi liczbami klastrów zmierzono następnie za pomocą wyrażenia ΔV=∣Vk−V k−1∣, gdzie Vk oznaczało wariancję dla K klastrów, a Vk−1 dla klatrów K−1. Jeśli redukcja ΔV spadła poniżej ustalonego progu, co wskazuje na znikomą poprawę klastrowania, procedura została zakończona. W przeciwnym razie liczba klastrów była zwiększana, a obliczenia powtarzano aż do osiągnięcia optymalnej liczby klastrów.
11. Finalizacja klastrów dla klasyfikacji nowotworowych i nienowotworowych
Po ustaleniu optymalnej liczby klastrów K , ostateczny zestaw klastrów reprezentuje odrębne grupy w danych ekspresji genów. Zazwyczaj algorytm generuje dwa główne klastry:
Jeden klaster reprezentujący komórki nowotworowe (oznaczone wyraźnymi sygnaturami ekspresji genów związanych z nowotworem).
Jeden klaster reprezentuje komórki nienowotworowe (zawierające prawidłowe profile ekspresji genów).
Parametry, zmienne i stałe stosowane w proponowanym algorytmie klastrowania K-Means kwantowego są wymienione w Tabeli 1. Definiuj wymiary zbioru danych, ustaw liczbę klastrów K oraz stosuj kryteria zatrzymania i progi optymalizacji do kierowania procesem. Konfiguruj ustawienia obliczeniowe, takie jak liczba strzałów na jeden przebieg i losowe seedy, aby zapewnić powtarzalność. Inicjalizuj środki ciężkości metodą selekcji opartej na prawdopodobieństwie i aktualizuj je iteracyjnie aż do zbieżności. Tabela określa również oczekiwane wyniki, w tym etykiety klastrów, centroidy, optymalne K, metryki ewaluacyjne oraz wykresy wizualizacyjne.
| Kategoria | Parametr | Wartość / Domyślność | Przypisy |
| Zbiór danych | Zbiór danych dotyczących raka piersi | 569 próbek × 32 cechy (zmniejszone do 2 komponentów PCA) | Zredukowana wymiarowość z PCA |
| Liczba klastrów | K | Dynamiczne, początkowo 1, do 5 | Optymalizacja za pomocą redukcji wariancji |
| Maksymalne skupiska | Kmax | 5 | Górna granica wyszukiwania |
| Liczba uderzeń na punkt | N | 1024 | Pomiary na wykonanie obwodu |
| Zatrzymanie tolerancji | ε | 1 × 10^-14 | Kryterium zbieżności wariancji |
| Próg nachylenia wariancji | ΔV | 9.9 × 10^-4 | Próg zatrzymania dla optymalizacji |
| Obserwacje | Mobsrv | 3 | Niezależne uruchomienia na wielkość klastra |
| Limit iteracji | – | 10 | Maksymalne kroki aktualizacji centroidów na przebieg |
| Losowe ziarno | – | 42 | Zapewnia powtarzalność |
| Oczekiwane wyniki | – | Etykiety klastrów, centroidy, optymalne K, metryki ewaluacji, wykresy | Eksportowane jako pliki .csv i .png |
| Wariancje między klastrami | Vlist | pusty | Wykrywa optymalną K |
| Centroid j | CJ | inicjalizowane przez funkcję (na podstawie prawdopodobieństw proporcjonalnych do kwadratu odległości punktów) | Aktualizowane iteracyjne i przechowywane ostateczne centroidy |
Tabela 1: Materiały, oprogramowanie i ustawienia powtarzalności
| Krok | Funkcja / API (z twojego kodu) | Działania | Oczekiwany rezultat |
| Kodowanie cech | qc.u(theta, pi, pi, qubit) | Zakoduj znormalizowaną cechę klasyczną do rotacji kubitu | Stan kubitu |
| Test SWAP / odległość kwantowa | get_Distance(x, y) za pomocą qc.cswap() | Buduj układ 3-kubitowy (ancilla + dwa stany) | Identyczne → P(0) ≈ 1.0; ortogonalna → P(0) ≈ 0,5 |
| Wykonywanie obwodów | SamplerV2 z AerSimulator (1024 zdjęcia) | Uruchom układ na symulatorze z transpilacją (poziom opt 1) | Rozkład prawdopodobieństwa dla kubitu ancilla |
| Inicjalizacja centroidów | initialize_centroids_kmeans_pp(punkty, k) | Wybierz początkowe środki ciężkości proporcjonalne do odległości | Różnorodne centroidy początkowe |
| Przypisanie klastrów | find_nearest_neighbour(punkty, centroidy) | Przypisz punkty do najbliższego środka ciężkości | Stabilne przynależności do klastrów |
| Obliczenie wariancji | calculate_variance(w centrum, centers_distance) | Oblicz wariancję wewnątrzklastrową | Wariancja maleje z każdą iteracją |
| Nachylenie wariancji | grad_slope(k, V_k, k-1, V_k-1) | Porównaj ΔV z ε = 1e-14 oraz progiem nachylenia ΔV ≤ 0,000099 | Wykryte optymalne K |
| Wizualizacja | matplotlib.pyplot, plot_histogram | Przypisania klastrów wykresów i wyniki kwantowe | Wykresy rozrzutowe PCA, wykresy wariancji, histogramy |
| Obliczenia metryczne | silhouette_score, calinski_harabasz_score, davies_bouldin_score | Ocena jakości klastrowania | Sylwetka ≈ 0,64, CH ≈ 766, DB ≈ 0,65 |
Tabela 2: Szczegóły implementacji proponowanego algorytmu do uruchomienia.
Implementacja i algorytmy
Algorytm K-Means Kwant z Optymalnym Określaniem Klastrów to metoda klasteryzacji wspomaganej kwantowo, która dynamicznie identyfikuje optymalną liczbę klastrów przy jednoczesnym wykorzystaniu mapowania cechkwantowych 19 . Procedura rozpoczyna się od rozważenia wszystkich punktów danych jako należących do jednego klastra. Liczba klastrów K jest stopniowo zwiększana. Centra klastrów są inicjalizowane probabilistycznie według odległości między punktami, po czym każdy punkt danych jest przypisywany do najbliższego środka ciężkości, tworząc K klastrów. Następnie obliczana jest wariancja klastrów, a środki ciężkości są aktualizowane. Proces ponownego przypisywania powtarza się iteracyjnie, aż nie następują dalsze zmiany.
Algorytm ocenia wariancję w wielu iteracjach, zapisując wartości wariancji odpowiadające różnej liczbie klastrów. Wartość optymalną K określa się poprzez minimalizację wariancji podczas monitorowania redukcji wariancji ΔV. Jeśli ΔV stanie się znikome mały, procedura zostaje zakończona; w przeciwnym razie K jest zwiększane i proces klastrowania rozpoczyna się od nowa. Ta adaptacyjna strategia zapewnia efektywne i dokładne podziały danych, szczególnie w wysokowymiarowych przestrzeniach cech.

Rysunek 6: Schemat blokowy proponowanej procedury Hybrid Quantum K-Means Clustering, pokazujący mapowanie cech kwantowych, inicjalizację centroidów, iteracyjne przypisywanie klastrów, obliczenia wariancji, sprawdzanie zbieżności oparte na wariancji oraz selekcję optymalnej liczby klastrów wspomaganą gradientem kwantowym. Proszę kliknąć tutaj, aby zobaczyć większą wersję tej figurki.
Poniższe kroki przedstawiają algorytm Kwant K-Means do klasteryzacji danych o ekspresji genów nowotworowych i nienowotworowych.
Algorytm: Klasteryzacja danych ekspresji genów komórek nowotworowych i nienowotworowych za pomocą algorytmu kwantowych k-means
Krok 1: Mapowanie cech kwantowych (kodowanie wielofunkcyjne).
Krok 2: Zakładając, że początkowo wszystkie punkty danych należą do tego samego klastra, ustaw wartość K=1 (gdzie K: to liczba optymalnych klastrów, V: to wariancja klastra, a ΔV: redukcja wariancji).
Krok 3: Inicjalizacja Centrów (Wybieranie początkowych punktów centralnych na podstawie proporcji prawdopodobieństwa odległości między punktami danych).
Krok 4: Przypisz każdy punkt danych do jego najbliższego środka ciężkości, co utworzy zdefiniowane klastry 'K'.
Krok 5: Oblicz wariancję klastrów i umieść nowy środek ciężkości każdego klastra.
Krok 6: Powtórz Krok 4, czyli przypisz każdy punkt danych do nowego, najbliższego centroidu każdego skupiska.
Krok 7: Jeśli nastąpi jakaś zmiana, przejdź do Kroku 5, a potem do Kroku 8.
Krok 8: Teraz otrzymujemy klaster Cj ("j'-ta iteracja z 'k' numerem klastrów) i obliczamy wariancję Vkj=
, gdzie 'x': punkt danych należy do klastra Ci, a Cci: centrum klastra klastra Ci. Prowadź zapis wariancji Vkj na liście V i zaczynaj od nowa klasteryzować z nowymi centrami od kroku 3 (kilka razy, czyli 'j', gdzie 1 ≤ j ≤ Mobsrv) z tym samym 'K'.
Krok 9: Znajdź minimalną wariancję V zlisty V z 'K' numerem klastrów.
Krok 10: Oblicz ΔV (ΔV = |Vk - Vk-1|, gdzie Vk: to wariancja z 'K' nielicznymi klastrami i Vk-1: to wariancja z 'K-1' bez klastrów), jeśli ΔV jest zoptymalizowany na poziomie kwantowym (ogromna redukcja), to ZAKOŃCZ, w przeciwnym razie zwiększaj K (K=K+1) i przejdź do kroku 3 z nowym 'K'.
Krok 11: Klastry są gotowe, a optymalna liczba klastrów to 'K'.
Algorytm mapowania cech kwantowych
Algorytm 1: Mapowanie cech kwantowych
Wejścia: P wskazuje każdy ze stanów kwantowych |ψ〉 i |Φ〉
Efekt: Estymacja | 〈 ψ | Φ〉 |2
Kroki algorytmu:
Krok 1: Bierzemy kubit i inicjujemy go przez zero; zastosuj bramkę Hadamarda i obróć ją z bazy Z do osi X.
Step 2: Ustawiamy φ (0 ≤ φ ≤ π ) w radianie zgodnie z wartością punktu danych względem cechy 1.
φ = 2*rad(cos-1)(d0)), gdzie d0 oznacza wartości danych cech 1, a d0 ∈ [0, 1].
Krok 3: Ustawiamy θ (0 ≤ θ ≤ π ) w radiannie zgodnie z wartością punktu danych względem cechy 2.
θ = 2 * rad(cos-1(d1)), gdzie d1 oznacza wartości danych cech 2, a d1 ∈ [0, 1].
Krok 4: Używamy bramki kwantowej U3 do implementacji rotacji i kodowania cech punktów danych.

To obraca kubit o Φ o promieni względem osi dodatniej x oraz θ o promień względem dodatniej osi z.
Porównanie algorytmu stanów kwantowych
Algorytm 2: Porównanie stanów kwantowych
Dane wejściowe: Dwa kubity |q1〉 i |q2〉 każdy ze stanów kwantowych |ψ〉 i |Φ〉
Efekt: Estymacja | 〈ψ|Φ〉 |2
Kroki algorytmu:
Krok 1: Rozważenie kubitu A jako ancilla i inicjalizacja go według stanu |0〉
Krok 2: Zastosuj bramkę Hadamarda na kubitie A
Krok 3: Zastosuj CSWAP na kubitach |q1 〉 i |q2 〉 (w stanie|ψ〉 i |Φ〉), gdzie A jest kubitem sterującym
Krok 4: Zastosuj bramkę Hadamarda na kubitie A
Krok 5: Zmierz A w na podstawie Z i zapisz wynik pomiaru jako M
powrót M jako nasze oszacowanie | 〈 ψ|Φ 〉 |2
Algorytm szacowania odległości kwantowej dla k-średnich klasterów
Algorytm 3: Estymator odległości kwantowej i wybierz nowy centroid klastrów
Wejścia: P zero punktów danych i K zero centroidów klastrowych, każdy ze stanów kwantowych |ψ〉 i |Φ〉
Efekt: Nowy skupiony środek ciężkości związany z punktami danych
Kroki algorytmu:
dla i w zakresie od 1 do P:
Wybierz i punkt danych i zapisz go na |qi 〉
dla j w zakresie od 1 do K:
Wybierz jsklastrowany środek i ustaw go na |qj 〉
Porównaj stany kwantowe |qi 〉 oraz |qj 〉 tzn. i- kubit zj-tym centroidem i zapisz pomiar w M jako (M, i, j)
koniec dla
Znajdź minimalną odległość (Mmin ,min) od M, a zbiór min to nowy środek ogniska |qi 〉 i zapisz go jako Ci
koniec dla
powrót C jako nasza nowa lista centroidów
M= lista wszystkich skupistych odległości centroidalnych od |qi 〉 kubita i-tego
C = lista wszystkich nowo obliczonych skupień o minimalnych odległościach skupionych Ci z |qi 〉; ∀(i∈{1,...,P})
Algorytm wyboru początkowego środka ciężkości
Algorytm 4: Oblicz początkowe punkty ciężkości, używając proporcji prawdopodobieństwa odległości między punktami danych
Wejścia: m liczba punktów danych (X1, X2,...,Xm), każdy ze stanów kwantowych |ψ〉 i |Φ〉
Wyjście: zwróć zbiór S o K początkowych centroidach
Kroki algorytmu:
Krok 1: Wybierz losowo jeden punkt X z punktów danych Xi (1 ≤ i ≤ m) i dodaj go do zbioru S
Krok 2: Dla każdego Xi oblicz odległość między Xi za pomocą Quantum Distance Estymator a najbliższym punktem centroidalnym w S i ustaw odległość jako Ddist(Xi)
Krok 3: Wybierz liczbę Y równomiernie między 0 a Ddist(X1)2 + Ddyst (X2)2 + ...+ Ddyst (Xm)2
Krok 4: Znajdź unikalną liczbę całkowitą i taką, że
Ddystynkt (X1)2 + Ddyst (X2)2 + ...+ Ddyst (Xi)2 >= Y > Ddyst (X1)2 + Ddyst (X2)2 + ...+ Ddyst (Xi-1)2
Krok 5: Dodaj Xi do S
Krok 6: Dopóki nie zostanie znalezione K centroidów, powtarzaj kroki 2–4
powrót S jako początkowe punkty ciężkości
Algorytm obliczania wariancji kwantowej
Algorytm 5: Obliczanie wariancji kwantowej
Dane wejściowe: P liczba punktów danych, każdy ze stanów kwantowych | ψ〉 i |Φ〉
Wynik: zwróć wariancję punktów danych
Kroki algorytmu:
totalVariance ← 0
dla i w zakresie od 1 do K:
Wybierz ith skupiony środek i ustaw go na |qi 〉
totalVariancei ← 0, M ← 0
dla wszystkich j ∈ P, związany z centroidem klastrowym i:
Wybierz j punkt danych i ustaw go na |qj 〉
Porównaj stany kwantowe |qi 〉 oraz |qj 〉 t. tj. i - tego środka ciężkości zj-tym punktem danych i zapisz pomiar w Mj
M ← M + Mj
koniec dla
totalVariancei ←
[Ci toi-ty klaster; |Ci | nie jest żadnym z punktów danych wi-tym klastrze, Dk to punkt danych ∈ Ci i Mk
to odległość między centroidem Ci a Dk]
totalVariance ← totalVariance + totalVariancei
koniec dla
wróć totalVariance
Algorytm optymalizacji oparty na gradientach kwantowych (uzyskanie optymalnej liczby klastrów)
Etap optymalizacji oparty na gradientach kwantowych określa optymalną liczbę klastrów poprzez monitorowanie zmiany wariancji wewnątrzklastrowej wraz ze wzrostem K. Oblicz wariancję dla kolejnych wartości K i wymień zmianę między nimi. Gdy redukcja wariancji spada poniżej ustalonego progu, dodatkowe klastry przestają poprawiać zwartość, a odpowiadające mu K jest wybierane jako optymalne. To kryterium oparte na krzywiźnie zapewnia, że klasteryzacja kończy się w miejscu, gdzie naturalna struktura danych zostaje uchwycona bez nadmiernego podziału.
Algorytm 6: Optymalizacja oparta na gradientach kwantowych
Dane wejściowe:
Parametryzowany układ kwantowy QC(θ) z pojedynczą bramką obrotową kubitu RY(θ).
Kwantowa obserwable
= Z (wartość oczekiwana Pauli-Z).
Zakres wartości parametrów θ.
Efekt: Druga pochodna f′′(θ) wartości oczekiwanej 〈Z〉 względem θ.
Kroki algorytmu:
Krok 1: Zainicjalizuj układ kwantowy QC(θ) o pojedynczym kubicie:
Parametryzowana bramka rotacji RY(θ).
Pomiar w oparciu obliczeniowym (Z).
Krok 2: Zdefiniuj funkcję Evaluate_ Oczekiwanie(θ), czyli f′(θ) = 
Przypisz parametr θ do układu.
Wykonaj układ na symulatorze kwantowym z N shotami.
Mierz prawdopodobieństwa wyniku P(0) i P(1).
Oblicz wartość oczekiwaną:
f(θ)=P(0)−P(1)
Krok 3: Oblicz drugą pochodną za pomocą reguły przesunięcia parametrów:
Ustaw wartość przesunięcia s = 
Oblicz wartości oczekiwane w przesuniętych punktach:
f(θ+s), f(θ), f(θ−s)
Oblicz drugą pochodną:
f ′′(θ) = 
Krok 4: f ′′(θ) do analizy zachowań redukcji wariancji.
Szczegóły implementacji proponowanego podejścia do klastrowania kwantowego przedstawiono w Tabeli 2. Tabela określa funkcje możliwe do uruchomienia oraz API używane na każdym etapie algorytmu, w tym kodowanie cech w obwodach kwantowych, wykonanie testu SWAP dla szacowania odległości, inicjalizację centroidów, iteracyjne przypisanie klastrów oraz ocenę wariancji/ΔV. Wymienione są także parametry wykonania układów, takie jak użycie SamplerV2 z backendem AerSimulator przy 1024 strzałach oraz optymalizacja transpilacji poziomu 1. Ponadto tabela przedstawia metody wizualizacji stosowane do generowania wykresów rozrzutowych PCA, wykresów wariancji i histogramów, a także metryki oceny klasteryzacji (silhouette_score, calinski_harabasz_score i davies_bouldin_score). Poprzez szczegółowe opisanie konkretnych funkcji i API na poziomie poleceń, tabela zapewnia powtarzalność wszystkich kroków obliczeniowych w proponowanym algorytmie.