W niniejszym protokole wykorzystano ogólnodostępny, zanonimizowany zbiór danych z nagraniami głosowymi pochodzący od strony trzeciej. Autorzy nie gromadzili nowych danych od ludzi, a do przeprowadzenia tego badania nie było wymagane dodatkowe zatwierdzenie przez komisję bioetyczną (IRB). Zbiór danych opisany w podrozdziale Pozyskiwanie zbioru danych i postępowanie z danymi na poziomie uczestnika został pierwotnie zgromadzony pod nadzorem instytucjonalnej komisji etycznej przez Little i współpracowników3, nie zawiera bezpośrednich informacji identyfikujących uczestników (wyłącznie zanonimizowane identyfikatory nagrań) i jest publicznie dostępny do celów badawczych. Należy sprawdzić, zgodnie z polityką danej instytucji, czy wtórna analiza tego ogólnodostępnego zbioru danych wymaga zatwierdzenia etycznego. W instytucji autorów uznano, że retrospektywna analiza wtórna tego w pełni zanonimizowanego, publicznie zarchiwizowane zbioru danych jest zwolniona z pełnej oceny przez IRB.
Pozyskiwanie zbioru danych i przetwarzanie danych na poziomie uczestnika
Pobrano zbiór danych Parkinson’s Disease Classification (UCI Machine Learning Repository, Dataset ID 174), pierwotnie opisany przez Little i współpracowników3. Zbiór danych zawierał 195 nagrań fonacji samogłoski /a/ wykonanych przez 31 osób (23 zdiagnozowanych z chorobą Parkinsona i 8 zdrowych osób kontrolnych; zakres wieku 46–85 lat). Ponieważ repozytorium nie zapewnia wersjonowanego identyfikatora DOI, zapisano dokładną datę pobrania, którą podano w Tabeli materiałów. Zbiór danych został dostarczony w formie pliku wartości rozdzielanych przecinkami (CSV) (parkinsons.csv). Nie było wymaganej dekompresji ani konwersji plików, a plik zaimportowano bezpośrednio przy użyciu funkcji read_csv z biblioteki Pandas (patrz Tabela materiałów).
Zweryfikowano, że pobrany zbiór danych zawiera 195 wierszy i 24 kolumny, w tym jedną kolumnę z identyfikatorem nagrania (format: phon_R01_S
przedmiot
_
nagrywanie
), 2 ciągłe kolumny cech akustycznych (Tabela 1), oraz jedną kolumnę z binarną etykietą klasy (status: 1 = choroba Parkinsona; 0 = zdrowa grupa kontrolna). Tabela 1 został użyty jako punkt odniesienia dla wszystkich cech akustycznych i kategorii cech w całym protokole.
| Kategoria | Cechy reprezentatywne | Znaczenie kliniczne |
| Częstotliwość podstawowa | MDVP:Fo(Hz), MDVP:Fhi(Hz), MDVP:Flo(Hz) | Średnia, maksymalna i minimalna częstotliwość podstawowa fonacji; odzwierciedla stabilność drgań fałdów głosowych. |
| Jitter (perturbacje częstotliwości) | MDVP:Jitter(%), MDVP:Jitter(Abs), MDVP:RAP, MDVP:PPQ, Jitter:DDP | Zmienność okresu podstawowego z cyklu na cykl, odzwierciedlająca zaburzenia kontroli motorycznej krtani. |
| Shimmer (perturbacja amplitudy) | MDVP:Shimmer, MDVP:Shimmer(dB), Shimmer:APQ3, Shimmer:APQ5, MDVP:APQ, Shimmer:DDA | Zmienność amplitudy sygnału z cyklu na cykl, odzwierciedlająca pochrypliwa lub niestabilna fonację. |
| Pomiary hałasu | NHR, HNR | Stosunek szumu do harmonicznych (tonalnych) komponentów sygnału głosu. |
| Dynamika nieliniowa / skalowanie fraktalne | RPDE, D2, DFA, spread1, spread2, PPE | Miary nieliniowej dynamiki głosu, periodyczności oraz długozasięgowych korelacji czasowych związanych z wibracjami fałdów głosowych. |
Tabela 1: Kategorie cech akustycznych wykorzystywane do klasyfikacji choroby Parkinsona. 2 cechy akustyczne głosu wyekstrahowane ze zbioru danych Classification dataset dla choroby Parkinsona zostały podzielone na pięć kategorii cech: częstotliwość podstawowa, jitter, shimmer, miary szumu oraz dynamika nieliniowa. Dla każdej kategorii wymieniono reprezentatywne cechy wraz z ich odpowiadającym znaczeniem klinicznym. MDVP, Multidimensional Voice Program; RAP, relative average perturbation; PPQ, pitch period perturbation quotient; APQ, amplitude perturbation quotient; DDP, difference of differences of periods; DDA, average absolute difference of amplitudes; NHR, noise-to-harmonics ratio; HNR, harmonics-to-noise ratio; RPDE, recurrence period density entropy; D2, correlation dimension; DFA, detrended fluctuation analysis; PPE, pitch period entropy.
Identyfikator uczestnika dla każdego nagrania został wyodrębniony poprzez analizę podciągu znaków poprzedzającego ostatni podkreślnik w nazwie nagrania. Na przykład nagrania phon_R01_S01_1 oraz phon_R01_S01_2 przypisano uczestnikowi S01. W ramach wszystkich opisanych w podrozdziale Protokół oceny procedur walidacji grupowanej lub z pominięciem jednego uczestnika (leave-one-participant-out) wykorzystano identyfikatory uczestników, a nie identyfikatory nagrań, ponieważ nagrania pochodzące od tego samego uczestnika są ze sobą skorelowane akustycznie. Po wyodrębnieniu utworzono i sprawdzono tabelę częstotliwości identyfikatorów, aby potwierdzić, że wszystkie 195 nagrań przypisano dokładnie 31 unikalnym uczestnikom, żadne nagranie nie pozostało nieprzypisane, a liczba nagrań przypadająca na jednego uczestnika jest zgodna z dokumentacją zestawu danych źródłowych.
Rozkład klas zestawiono zarówno na poziomie nagrań (147 nagrań z chorobą Parkinsona, 75,4%; 48 nagrań grupy kontrolnej osób zdrowych, 24,6%), jak i na poziomie uczestników (23 z 31 uczestników, 74,2%, zdiagnozowanych z chorobą Parkinsona). Oba rozkłady zostały przedstawione, ponieważ niezrównoważenie klas na poziomie nagrań i na poziomie uczestników nie jest identyczne i wpływa na późniejszą ewaluację.
Brak grup osób z chorobą Parkinsona oraz grup kontrolnych zdrowych osób, dobranych pod względem wieku lub płci w zbiorze danych źródłowych, odnotowano jako ograniczenie badania i uwzględniono w sekcji Dyskusja, ponieważ cecha ta wynika z pierwotnego procesu gromadzenia danych i nie może zostać skorygowana podczas późniejszego przetwarzania wstępnego.
Procedura wstępnego przetwarzania danych
Wszystkie procedury wstępnego przetwarzania były wykonywane niezależnie w obrębie każdego folderu treningowego procedury walidacji krzyżowej opisanej w podrozdziale Protokół oceny. Zarówno etapy normalizacji Min–Max, jak i analiza głównych składowych (PCA) były dopasowywane wyłącznie przy użyciu części treningowej każdego folderu. Dopasowane transformacje były następnie stosowane do odpowiadającej im wydzielonej części testowej bez ponownego dopasowywania, aby zapobiec wyciekowi informacji z części testowej do parametrów wstępnego przetwarzania.
2 surowych cech akustycznych w każdej partycji treningowej znormalizowano za pomocą skalera Min–Max z zakresem wyjściowym [0, π]. Dopasowany skaler zastosowano następnie zarówno do partycji treningowej, jak i testowej odpowiedniego foldowania (Równanie 1). Równanie 1 opiera się na standardowym sformułowaniu normalizacji Min–Max i zostało zdefiniowane dla niniejszego protokołu. Normalizację Min–Max przeprowadzono przy użyciu klasy MinMaxScaler z biblioteki scikit-learn (wersja 1.8.0) z parametrami feature_range=(0, π), copy=True oraz clip=False.
(1)
Model PCA z n_components = 4 dopasowano, wykorzystując wyłącznie znormalizowane dane treningowe. Dopasowana transformacja PCA została następnie zastosowana zarówno do partycji treningowej, jak i testowej. Dla każdego złożenia (fold) odnotowano proporcję całkowitej wariancji wyjaśnianej przez cztery zachowane główne składowe. W analizach opisanych w niniejszej pracy cztery zachowane główne składowe wyjaśniały 81,5% całkowitej wariancji (odpowiednio 50,3%, 16,3%, 9,4% i 5,5%). PCA wykonano przy użyciu klasy PCA z parametrami n_components=4, svd_solver="full", whiten=False oraz random_state=42.
Ponieważ PCA może generować wyniki składowych o wartościach ujemnych, zastosowano drugie skalowanie Min-Max z zakresem wyjściowym [0, π], dopasowane na podstawie partycji treningowej po transformacji PCA. Dopasowany skaler został następnie zastosowany zarówno do partycji treningowej, jak i testowej. Każda przekształcona wartość z partycji testowej, która wykraczała poza przedział [0, π], została przycięta do najbliższej granicy, ponieważ skaler został dopasowany wyłącznie przy użyciu partycji treningowej. W zbiorze danych nie występowały cechy o zerowej wariancji. Zakres każdej cechy we wszystkich 195 nagraniach był ściśle dodatni, w związku z czym nie wystąpił warunek dzielenia przez zero. Potwierdzono to, weryfikując, czy przeskalowany wynik nie zawiera wartości NaN ani nieskończonych.
Cztery ponownie znormalizowane komponenty główne przypisano sekwencyjnie jako kąty rotacji dla qubitów 0, 1, 2 i 3 podczas procedury kodowania kątowego opisanej w podrozdziale Konstrukcja obwodu kwantowego. Pierwszy komponent główny przypisano do qubitu 0, drugi do qubitu 1, trzeci do qubitu 2, a czwarty do qubitu 3. Tym samym zakończono proces wstępnego przetwarzania i przekazano przetworzone cechy klasyczne do obwodu kwantowego. Po drugim etapie skalowania Min–Max potwierdzono, że wszystkie wartości wyjściowe mieszczą się w przedziale [0, π]. Wartości z partycji testowej, które nieznacznie wykraczały poza ten zakres z powodu zaokrągleń zmiennoprzecinkowych, przycięto do najbliższej granicy przy użyciu funkcji clip z biblioteki NumPy (wersja 2.4.4). Procedura ta zapewniła, że wszystkie cztery wejścia do warstwy kodowania kątowego stanowiły poprawne kąty rotacji w przedziale [0, π].
Konstrukcja obwodu kwantowego
Obwód czterokubitowy został skonstruowany przy użyciu symulatora wektora stanu wymienionego w Tabeli materiałów oraz sekwencji bramek opisanej poniżej. Dodatkowy plik z kodem 1 posłużył jako kompletna, wykonywalna implementacja obwodu, obejmująca wszystkie funkcje pomocnicze do konstrukcji bramek oraz obliczania gradientu metodą przesunięcia parametrów. Rysunek 1 przedstawia pełny schemat pracy, od wstępnego przetwarzania nagrania głosowego, przez cztery warstwy obwodu, klasyczną głowicę post-processingu, aż po końcową klasyfikację.

Rysunek 1Architektura systemu i przepływ pracy obwodu kwantowego. Schemat klasyfikacji choroby Parkinsona na podstawie nagrań głosu ludzkiego. Diagram przedstawia wstępne przetwarzanie nagrań głosu, walidację krzyżową warstwową lub grupowaną według pacjentów, wykonanie parametryzowanego obwodu kwantowego czterech kubitów, pomiar Pauli-Z dla pojedynczego kubitu na kubicie 0, klasyczne przetwarzanie końcowe oraz końcową klasyfikację binarną jako choroba Parkinsona lub zdrowa grupa kontrolna. CNOT, bramka kontrolowanego NOT; PCA, analiza głównych składowych; ReLU, liniowa jednostka prostotowana. Prosimy o kliknięcie tutaj, aby wyświetlić powiększoną wersję tej ryciny.
Rejestr czterech kubitów został zainicjowany w stanie bazy obliczeniowej ∣0
.
W warstwie kodowania kątowego do kubitu i, gdzie i = 0,1,2,3, zastosowano bramkę rotacji Ry (xi), wykorzystując cztery kąty wygenerowane przez potok przetwarzania wstępnego (Równanie 2). Równanie 2 opisuje standardową procedurę kodowania kątowego stosowaną w parametrycznych obwodach kwantowych, zgodnie z modelem uczenia parametrycznych obwodów kwantowych opracowanym przez Mitarai i współpracowników9, i została ona tutaj zastosowana w specyficznej konfiguracji czterech kubitów zdefiniowanej dla obecnego protokołu.
(2)
W pierwszej warstwie splatania zastosowano kolistą sekwencję bramek controlled-NOT w następującej kolejności sterowanie-cel: (0,1), (1,2), (2,3) oraz (3,0).
W przypadku warstwy wariacyjnej osiem trenowalnych parametrów od w0 do w7 zostało zainicjowanych poprzez niezależne próbkowanie z rozkładu normalnego ze średnią 0 i odchyleniem standardowym 0,3. Wykorzystany ziarno losowości (random seed) odnotowano w Tabeli Materiałów. Osiem wariacyjnych parametrów kwantowych zainicjowano za pomocą funkcji numpy.random.default_rng(42 + fold_index).normal(0, 0.3, size = 8), gdzie fold_index to numer grupy (fold) zaczynający się od zera, co zapewniło specyficzne dla każdej grupy, ale powtarzalne inicjalizacje. Dla każdego kubitu i = 0, 1, 2 i 3 zastosowano bramkę Rz(wi), a następnie bramkę Ry(wi+4) (Równanie 3). Równanie 3 opisuje wariacyjną (trenowalną) warstwę kwantową zgodną z ogólnym schematem uczenia parametryzowanych obwodów kwantowych wprowadzonym przez Mitarai i współpracowników9, która została tutaj zaimplementowana przy użyciu konkretnej sekwencji bramek i parametryzacji zdefiniowanej dla niniejszego protokołu.
(3)
W przypadku drugiej warstwy splątania zastosowano otwarty łańcuch bramek kontrolowanego NOT w następującej kolejności sterowanie-cel: (0,1), (1,2) oraz (2,3). Łańcuch ten nie został zamknięty powrotem do kubitu 0.
Wartość oczekiwana operatora Pauliego- na samym kubicie 0,
, obliczono przy użyciu produktu wewnętrznego wektorów stanu. Wykonywanie obwodów przeprowadzono z wykorzystaniem niestandardowego symulatora wektorów stanu zaimplementowanego przy użyciu standardowych operacji na tablicach numerycznych (Uzupełniający plik z kodem 1; qhcnn.py). Przez cały czas korzystano z precyzji Complex128 (numpy.complex128). Wartości oczekiwane obliczano analitycznie z iloczynu wewnętrznego wektora stanu; w związku z tym nie przeprowadzano próbkowania opartego na strzałach. Nie wymagano zewnętrznych frameworków do obliczeń kwantowych. Gdyby zamiast symulatora wektora stanu zastosowano symulator oparty na próbkowaniu lub urządzenie kwantowe, przeprowadzono by powtórzone pomiary kubitu 0 w bazie obliczeniowej, a uzyskane częstotliwości bitów przeliczono by na wartość oczekiwaną (Równanie 4). Równanie 4 jest standardowym kwantowo-mechanicznym wzorem na wartość oczekiwaną i został tutaj zastosowany do obserwowalnej Pauliego dla pojedynczego kubitu, zdefiniowanej dla niniejszego protokołu. Ze względu na brak próbkowania opartego na serii pomiarów (shot-based sampling), nie było konieczności stosowania mitygacji błędów pomiarowych. Symulator wykorzystywał indeksowanie kubitów w formacie big-endian, w którym kubit 0 odpowiadał najbardziej znaczącemu bitowi indeksu wektora stanu. Konwencja ta została jawnie uwzględniona podczas konstruowania obserwowalnej Pauliego, aby zapewnić pomiar właściwej wartości oczekiwanej.
(4)
Gradient
w odniesieniu do każdego z ośmiu parametrów wariacyjnych obliczono przy użyciu reguły przesunięcia parametru. W trakcie każdego obliczania gradientu obwód oceniano dwukrotnie dla każdego parametru, raz przy θ + π/2 i raz przy θ - π/2 (Równanie 5). Równanie 5 jest standardową regułą przesunięcia parametrów (parameter-shift rule) wprowadzoną przez Mitarai i współpracowników.9 i została zastosowana tutaj bez żadnych modyfikacji.
(5)
Druga warstwa splątania, zgodnie z powyższym opisem, nigdy nie zastosowała bramki CNOT (controlled-NOT) z kubitem 0 jako celem. Ponieważ bramka CNOT nie zmienia zredukowanego stanu swojego kubitu sterującego, druga warstwa splątania nie mogła zmienić
niezależnie od wartości parametrów podlegających uczeniu. Aby druga warstwa splatania mogła wpływać na mierzony wynik w zmodyfikowanym protokole, qubit 0 musiałby zostać uwzględniony jako cel, na przykład poprzez zamknięcie łańcucha dodatkową bramką NOT kontrolowaną (3,0), lub zamiast wartości oczekiwanej dla pojedynczego qubitu należałoby zmierzyć obserwowalną wieloqubitową. W niniejszym protokole zachowano pierwotnie określoną drugą warstwę splatania, a jej zmierzony wkład został wyraźnie przedstawiony w Wyniki sekcję, zamiast korygować to po cichu, ponieważ zachowanie tego obwodu stanowi część obecnych wyników.
Klasyczna warstwa postprocesowania
Klasyczny etap postprocesingu składał się z sieci neuronowej z przodu (feed-forward), zaimplementowanej przy użyciu standardowych operacji numerycznych opartych na tablicach, wymienionych w Tabela materiałówpojedynczy skalarny sygnał wyjściowy obwodu,
zostało zmapowane na osiem jednostek ukrytych za pomocą warstwy w pełni połączonej, po której zastosowano funkcję aktywacji ReLU (rectified linear unit). Podczas treningu zastosowano warstwę dropout z prawdopodobieństwem zachowania 0,8 (wskaźnik dropout = 0,2). Osiem jednostek ukrytych zostało następnie zmapowanych na jedną jednostkę wyjściową za pomocą drugiej warstwy w pełni połączonej, a w celu wygenerowania końcowej prawdopodobieństwa klasy ŷ zastosowano funkcję aktywacji sigmoid (Równanie 6). Równanie 6 definiuje specyficzną klasyczną architekturę postprocesowania zastosowaną w niniejszym protokole, która obejmuje standardowe operacje liniowe, jednostki liniowe z prostowaniem (ReLU) oraz funkcje sigmoidalne.
(6)
Macierze wag pierwszej i drugiej warstwy zostały zainicjowane poprzez niezależne próbkowanie z rozkładu normalnego o średniej 0 i odchyleniu standardowym 0,5, natomiast wszystkie człony biasu zainicjowano wartością 0. W celu zapewnienia powtarzalności między poszczególnymi uruchomieniami, do warstwy klasycznej wykorzystano tę samą instancję generatora liczb pseudolosowych i ziarno (seed), które posłużyły do inicjalizacji kwantowych parametrów wariacyjnych. Konkretnie, klasyczne macierze wag zainicjowano za pomocą numpy.random.default_rng(42 + fold_index).normal(0, 0.5, size=...), podczas gdy wszystkie człony biasu ustawiono na zero. Na początku każdego etapu walidacji krzyżowej stworzono pojedynczą zainicjowaną ziarnem 42 + fold_index instancję generatora liczb losowych, która była wykorzystywana sekwencyjnie do inicjalizacji parametrów kwantowych, inicjalizacji wag klasycznych, tasowania mini-batchy oraz generowania masek dropout, zamiast stosowania osobnych, niezależnych strumieni ziarna dla każdego z tych procesów.
Podczas trenowania zastosowano mechanizm dropout poprzez generowanie nowej próbkowanej maski binarnej przy każdym przejściu w przód zgodnie z konwencją odwróconego dropoutu (inverted-dropout), w której jednostki zachowane zostały przeskalowane przez 1/0,8. Podczas walidacji i testowania dropout został całkowicie wyłączony, a do wnioskowania wykorzystano pełną, nieskalowaną sieć.
Połączony model QI-HCNN zawierał 33 parametry trenowalne: osiem kwantowych parametrów wariacyjnych z obwodu kwantowego oraz 25 parametrów klasycznych. Komponent klasyczny obejmował osiem wag i osiem obciążeń (bias) w pierwszej warstwie w pełni połączonej, a także osiem wag i jedno obciążenie w drugiej warstwie w pełni połączonej. Wymiary tensorów wag i obciążeń wynosiły
i
Klasyczna warstwa postprocesingu została zaimplementowana w całości przy użyciu standardowych operacji na tablicach numerycznych, bez wykorzystania dodatkowego frameworka do uczenia maszynowego. Wszystkie obliczenia klasyczne wykonano z wykorzystaniem arytmetyki float64 (podwójnej precyzji).
Trenowanie modelu
Obwód kwantowy opisany w podrozdziale Konstrukcja obwodu kwantowego oraz klasyczna warstwa post-processingu opisana w podrozdziale Klasyczna warstwa post-processingu zostały połączone w jeden kompleksowy model możliwy do trenowania end-to-end. Wszystkie 3 parametry trenowalne optymalizowano wspólnie za pomocą optymalizatora Adam z początkową stopą uczenia 0,01 oraz regularyzacją wag, zaimplementowaną jako kara L2, stosowana wyłącznie do klasycznych macierzy wag. Optymalizator Adam został zaimplementowany ręcznie przy użyciu standardowych operacji na tablicach numerycznych z następującymi ustawieniami: stopa uczenia = 0,01, β1 = 0,9, β2 = 0,9, ∈ = 1 × 10-8 oraz weight decay = 1 × 10-4, stosowany wyłącznie do klasycznych macierzy wag, z pominięciem składników bias oraz kwantowych parametrów wariacyjnych.
Jako funkcję straty wykorzystano binarną entropię krzyżową. W procedurze balansowania klas po podziale, opisanej w Protokół ewaluacyjny w podsekcji wkład każdej próbki treningowej w funkcję straty był ważony przez odwrotność częstotliwości występowania klasy danej próbki w części treningowej bieżącego folderu. W przypadku protokołu niezrównoważonego przypisano jednolite wagi próbek. Binarną entropię krzyżową obliczano jako średnią stratę dla wszystkich próbek w każdym mini-batchu, stosując standardową formułę binarnej entropii krzyżowej.
Model był trenowany przez 30 epok z wykorzystaniem mini-batchy po 16 próbek. Próbki treningowe były losowo przemieszane na początku każdej epoki przy użyciu funkcji numpy.random.default_rng(42 + fold_index).permutation(n) w celu wygenerowania losowej kolejności próbek. W przypadku, gdy liczba próbek treningowych nie była podzielna przez 16, ostatni mniejszy mini-batch był zachowywany i przetwarzany w jego faktycznym rozmiarze, zamiast być odrzucanym.
Podczas treningu zastosowano schodkowy harmonogram tempa uczenia. Tempo uczenia było mnożone przez 0,7 po każdych 10 ukończonych epokach, a konkretnie na początku epok 1 i 21.
Gradienty dla ośmiu kwantowych parametrów wariacyjnych obliczono przy użyciu reguły przesunięcia parametrów (parameter-shift rule) opisanej w Konstrukcja obwodu kwantowego podrozdział. Gradienty dla 25 parametrów klasycznych obliczono przy użyciu standardowego różniczkowania w trybie wstecznym wyłącznie przez warstwę klasyczną. Wyjście obwodu kwantowego,
a jego gradienty przesunięcia parametru stanowiły interfejs pomiędzy obwodem kwantowym a warstwą klasyczną. Wszystkich 3 parametry zaktualizowano przy użyciu tej samej instancji optymalizatora Adam.
Nie zastosowano wczesnego zatrzymania w oparciu o walidację. Każdy model był trenowany zgodnie ze stałym harmonogramem 30 epok, a wyniki wydajności na wydzielonej części testowej raportowano po zakończeniu ostatniej epoki. Wszystkie parametry modelu (kwantowe parametry wariacyjne, klasyczne macierze wag oraz wyrazy bias) były reinicjalizowane niezależnie na początku każdego folderu walidacji krzyżowej przy użyciu losowego ziarna specyficznego dla folderu (42 + fold_index). Parametry nie były współdzielone pomiędzy folderami ani uruchomieniami bazowymi.
Środowisko obliczeniowe, w tym procesor, pamięć, wersje oprogramowania oraz przybliżony czas trenowania w czasie rzeczywistym dla każdej partycji (fold), zostało odnotowane w Tabeli Materiałów.
Protokół oceny
Wydajność modelu oceniano przy użyciu procedur walidacji krzyżowej zarówno na poziomie nagrań, jak i uczestników, wraz z porównaniami z modelem bazowym, analizami zrównoważenia klas, eksperymentami z ablacją obwodów, testami istotności statystycznej oraz analizami istotności cech.
W celu przeprowadzenia podstawowej oceny, 195 nagrań głosowych podzielono na trzy warstwowe foldy przy użyciu stałego ziarna losowego, zachowując w każdym foldzie stosunek nagrań osób z chorobą Parkinsona do zdrowej grupy kontrolnej na poziomie 75,4%/24,6%. Model opisany w poprzednich sekcjach był trenowany przy użyciu dwóch foldów i oceniany na pozostałym, wydzielonym foldzie; procedurę tę powtarzano do czasu, aż każdy fold posłużył raz jako partycja testowa. Dokładność (accuracy), precyzja (precision), czułość (recall), wynik F1-score oraz pole pod krzywą charakterystyki operacyjnej odbiornika (AUC–ROC) obliczano dla każdego foldu i raportowano jako średnią ± odchylenie standardowe z trzech foldów. Podstawowa trzykrotna warstwowa walidacja krzyżowa została zaimplementowana przy użyciu klasy StratifiedKFold z parametrami n_splits=3, shuffle=True oraz random_state=42.
Binarne predykcje klas wygenerowano poprzez zastosowanie stałego progu prawdopodobieństwa wynoszącego 0,50 do przewidywanego prawdopodobieństwa klasy, ŷ, uzyskanego z klasycznej warstwy postprocesowania. Dokładność, precyzję, czułość oraz wynik F1 obliczono na podstawie tych predykcji po zastosowaniu progu, natomiast AUC–ROC obliczono bezpośrednio z ciągłych wartości prawdopodobieństwa bez ich progowania. Precyzję, czułość i wynik F1 obliczono przy użyciu funkcji metryk z parametrem zero_division=0, przypisując wartość 0,0 do każdej niezdefiniowanej metryki. W trakcie raportowanych eksperymentów nie wystąpił taki niezdefiniowany warunek.
Modele bazowe oceniono przy użyciu tych samych podziałów na fałdy oraz tej samej czteroskładnikowej reprezentacji przetworzonych cech wygenerowanej przez potok przetwarzania wstępnego. Klasyczny wielowarstwowy perceptron zawierający jedną warstwę ukrytą składającą się z ośmiu jednostek z aktywacją ReLU, dopasowany architektonicznie do klasycznego komponentu modelu hybrydowego, ale bez obwodu kwantowego, został wytrenowany przy użyciu optymalizatora Adam z karą L2 wynoszącą 1 × 10−4. Wytrenowano również klasyfikator drzewa z gradientowym wzmacnianiem (gradient-boosted tree) przy użyciu tej samej czteroskładnikowej reprezentacji, stosując 20 drzew, maksymalną głębokość drzewa równą 3, tempo uczenia 0,1 oraz wagowanie klas równe odwrotności częstotliwości klas w każdym fałdzie treningowym. Dodatkowo wytrenowano drugi klasyfikator drzewa z gradientowym wzmacnianiem, korzystając z pełnej reprezentacji 2 cech wygenerowanej po wstępnej normalizacji Min–Max, bez zastosowania PCA lub kwantowego kodowania cech. Model ten wykorzystał 30 drzew, maksymalną głębokość drzewa równą 4, tempo uczenia 0,05 oraz tę samą strategię wagowania klas opartą na odwrotności częstotliwości w fałdach treningowych. Bazowy klasyczny wielowarstwowy perceptron zaimplementowano przy użyciu MLPClassifier z parametrami hidden_layer_sizes=(8,), activation="relu", solver="adam", alpha=1 × 10⁻4, batch_size="auto", learning_rate_init=0.01, max_iter=50, early_stopping=False, shuffle=True oraz random_state=42. Zastosowano domyślną jednorodną inicjalizację wag Glorota (Xaviera) dostarczoną przez implementację. Bazowe modele drzew z gradientowym wzmacnianiem zaimplementowano przy użyciu XGBoost 3.3.0 z parametrami objective = "binary:logistic", eval_metric = "logloss", tree_method = "auto", subsample = 1.0, colsample_bytree = 1.0, reg_alpha = 0, reg_lambda = 1 oraz random_state = 42.
Aby ocenić wpływ balansowania klas po podziale, podstawową procedurę walidacji krzyżowej powtórzono dla modelu QI-HCNN z włączonym ważeniem próbek. Wagi balansujące obliczano wyłącznie na podstawie części treningowej każdego folda po podziale na zbiór treningowy i testowy; nie obliczano ich dla odpowiadającej im wydzielonej części testowej.
Eksperymenty z ablacją komponentów obwodu przeprowadzono poprzez czterokrotne powtórzenie pełnego procesu preprocessingu, trenowania i ewaluacji, modyfikując jedynie dwie warstwy splątania obwodu kwantowego. Cztery warianty obwodu obejmowały: (i) pełny obwód zawierający obie warstwy splątania; (ii) obwód z usuniętą pierwszą warstwą splątania i zachowaną drugą; (iii) obwód z zachowaną pierwszą warstwą splątania i usuniętą drugą oraz (iv) obwód z usuniętymi obiema warstwami splątania. W każdym z czterech eksperymentów zastosowano identyczne podziały na foldy, ziarna losowe i konfiguracje trenowania, tak aby wszelkie zaobserwowane różnice w wydajności można było przypisać wyłącznie konfiguracji warstw splątania.
W ramach oceny odporności przeprowadzono walidację krzyżową z grupowaniem uczestników, dzieląc 31 uczestników, a nie 195 nagrań, na pięć grup zawierających od sześciu do siedmiu osób każda. W każdej iteracji model był trenowany z wykorzystaniem nagrań od uczestników z czterech grup i ewaluowany przy użyciu nagrań od uczestników z pozostałej grupy, co zapewniło, że żaden uczestnik nie dostarczył nagrań jednocześnie do zbioru treningowego i testowego w ramach tego samego folda. Dokładność (accuracy), precyzja (precision), czułość (recall), wynik F1 (F1-score) oraz AUC–ROC zostały przedstawione jako średnia ± odchylenie standardowe z pięciu foldów z grupowaniem uczestników dla modelu QI-HCNN, klasycznego wielowarstwowego perceptrona oraz modelu bazowego gradient-boosted z czterema cechami. Walidację krzyżową z grupowaniem uczestników zaimplementowano przy użyciu klasy GroupKFold z parametrem n_splits=5, gdzie identyfikatory uczestników służyły jako zmienna grupująca. Ponieważ GroupKFold nie tasuje grup, uczestnicy zostali przydzieleni zgodnie z domyślnym deterministycznym kolejnością implementacji, co poskutkowało foldami zawierającymi po sześć lub siedem uczestników.
Istotność statystyczną oceniono, stosując parzyste testy rangowe Wilcoxona do wartości AUC–ROC obliczonych dla poszczególnych fałdów (folds) w modelach ewaluacyjnych i bazowych. Raportowano dokładne wartości p oraz odpowiadające im liczby par obserwacji, ponieważ moc statystyczna tego testu jest ograniczona przy dostępności niewielkiej liczby fałdów. A priori zdefiniowano cztery porównania parzyste AUC–ROC: (1) QI-HCNN w porównaniu z klasycznym wielowarstwowym perceptronem; (2) QI-HCNN w porównaniu z bazowym modelem drzew gradientowych dopasowanych za pomocą PCA; (3) klasyczny wielowarstwowy perceptron w porównaniu z bazowym modelem drzew gradientowych dopasowanych za pomocą PCA; oraz (4) niezbilansowany model QI-HCNN w porównaniu z modelem QI-HCNN zbilansowanym po podziale danych. Nie zastosowano korekty dla wielokrotnych porównań, ponieważ analizy miały charakter eksploracyjny, a ograniczona liczba fałdów znacząco zredukowała moc statystyczną.
Analizę istotności cech przeprowadzono przy użyciu klasyfikatora drzew gradientowych (gradient-boosted tree classifier) wytrenowanego na pełnej reprezentacji składającej się z 2 cech. Wyekstrahowano i uszeregowano wyniki istotności cech oparte na zysku (gain-based) dla wszystkich oryginalnych cech akustycznych. Osobno, wyłącznie w celach raportowania, dopasowano analizę PCA do pełnego zbioru danych; nie była ona wykorzystywana podczas oceny modelu. Dla każdej oryginalnej cechy akustycznej zsumowano wartości bezwzględne ładunków (loadings) w obrębie czterech zachowanych głównych składowych, a następnie uszeregowano cechy zgodnie z tymi wartościami. Zaraportowano obie metody rankingowe oraz zakres ich pokrywania się. W przypadku analizy istotności cech opartej na zysku, implementacja drzew gradientowych wygenerowała unikalne zmiennoprzecinkowe wartości zysku, w związku z czym nie wystąpiły remisy. W rankingach ładunków głównych składowych remisy w zsumowanych wartościach bezwzględnych ładunków rozstrzygano zgodnie z oryginalną kolejnością kolumn cech w zbiorze danych.