W niniejszym protokole wykorzystano publicznie dostępny, zanonimizowany zestaw danych z nagraniami głosowymi opracowany przez podmioty trzecie. Autorzy nie gromadzili nowych danych pochodzących od ludzi i nie wymagano dodatkowej zgody komisji etyki (IRB) dla niniejszego badania. Zestaw danych opisany w podrozdziale Pozyskiwanie zbioru danych i przetwarzanie danych na poziomie uczestnika został pierwotnie zebrany pod nadzorem instytucjonalnej komisji etycznej przez Little i współpracowników3, nie zawiera bezpośrednio identyfikujących informacji o uczestnikach (wyłącznie zanonimizowane identyfikatory nagrań) i jest publicznie dostępny do celów badawczych. Należy potwierdzić, zgodnie z procedurami właściwej instytucji, czy wtórna analiza tego publicznie dostępnego zbioru danych wymaga oceny etycznej. W instytucji autorów uznano, że retrospektywna wtórna analiza tego w pełni zanonimizowanego, publicznie zarchiwizowanego 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.3. Zbiór danych zawierał 195 nagrań fonacji samogłoski /a/ utrzymanej przez 31 osób (23 zdiagnozowanych z chorobą Parkinsona i 8 zdrowych osób kontrolnych; zakres wieku 46–85 lat). Ponieważ repozytorium nie udostępnia wersjonowanego identyfikatora DOI, dokładna data pobrania została odnotowana i podana w Tabeली materiałów. Zbiór danych dostarczono w formie pliku wartości rozdzielonych przecinkami (CSV) (parkinsons.csv). Nie było konieczności dekompresji ani konwersji plików, a plik zaimportowano bezpośrednio za pomocą 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ę identyfikatora nagrania (format: phon_R01_S
subject
_
recording
), 22 kolumny ciągłych cech akustycznych (Tabela 1) oraz jedną kolumnę binarnej etykiety klasy (status: 1 = choroba Parkinsona; 0 = zdrowa kontrola). Tabela 1 służyła 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 (perturbacja częstotliwości) | MDVP:Jitter(%), MDVP:Jitter(Abs), MDVP:RAP, MDVP:PPQ, Jitter:DDP | Zmienność okresu podstawowego z cyklu na cykl, odzwierciedlająca zaburzenie 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 zachrypliwe lub niestabilne fonowanie. |
| Pomiary szumów | NHR, HNR | Stosunek szumu do harmonicznych (tonalnych) składowych sygnału głosu. |
| Dynamika nieliniowa / skalowanie fraktalne | RPDE, D2, DFA, spread1, spread2, PPE | Miary nieliniowej dynamiki głosu, periodyczności oraz długozakresowych korelacji czasowych związanych z drganiami fałdów głosowych. |
Tabela 1: Kategorie cech akustycznych wykorzystywane do klasyfikacji choroby Parkinsona. 22 akustyczne cechy głosu wyekstrahowane z zestawu danych do klasyfikacji choroby Parkinsona zostały podzielone na pięć kategorii cech: częstotliwość podstawową, jitter, shimmer, pomiary szumu i dynamikę nieliniową. 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.
Dla każdego nagrania wyekstrahowano identyfikator uczestnika poprzez analizę podciągu znaków poprzedzającego ostatni podkreślnik w nazwie nagrania. Na przykład, phon_R01_S01_1 i phon_R01_S01_2 zostały przypisane do uczestnika S01. W celu przeprowadzenia wszystkich opisanych procedur walidacji grupowej lub z pominięciem jednego uczestnika (leave-one-participant-out), w dalszej części wykorzystano identyfikatory uczestników zamiast identyfikatorów nagrań w Protokół oceny podsekcja, ponieważ nagrania uzyskane od tego samego uczestnika są skorelowane akustycznie. Po ekstrakcji wygenerowano i sprawdzono tabelę częstotliwości identyfikatorów, aby potwierdzić, że wszystkie 195 nagrań przypisano do dokładnie 31 unikalnych uczestników, że żadne nagranie nie pozostało nieprzypisane oraz że liczba nagrań na każdego uczestnika była zgodna z dokumentacją źródłowego zbioru danych.
Rozkład klas zestawiono zarówno na poziomie nagrań (147 nagrań z chorobą Parkinsona, 75,4%; 48 nagrań z 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 zaraportowane, 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 chorych na chorobę Parkinsona oraz zdrowych grup kontrolnych, dopasowanych pod względem wieku lub płci w zbiorze danych źródłowych, został odnotowany jako ograniczenie badania i uwzględniony w części Dyskusja, ponieważ cecha ta wynika z pierwotnego sposobu gromadzenia danych i nie może zostać skorygowana podczas późniejszego przetwarzania wstępnego.
Procedura wstępnego przetwarzania
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 przy użyciu wyłącznie partycji treningowej każdego folderu. Dopasowane transformacje zastosowano następnie do odpowiadającej im wydzielonej partycji testowej bez ponownego dopasowywania, aby zapobiec wyciekowi informacji z partycji testowej do parametrów wstępnego przetwarzania.
22 surowe cechy akustyczne w każdej partycji treningowej zostały znormalizowane za pomocą skalera Min–Max z zakresem wyjściowym [0, π]. Dopasowany skaler zastosowano następnie zarówno do partycji treningowej, jak i testowej w odpowiadającym jej zwinięciu (Równanie 1). Równanie 1 opiera się na standardowej formule 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. Dopasowane przekształcenie PCA zastosowano następnie zarówno do partycji treningowej, jak i testowej. Dla każdego folda odnotowano proporcję całkowitej wariancji wyjaśnionej 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ć ujemne wartości wyników składowych, zastosowano drugi skaler Min–Max o zakresie wyjściowym [0, π], dopasowany przy użyciu przekształconego przez PCA zbioru treningowego. Dopasowany skaler zastosowano następnie zarówno do zbioru treningowego, jak i testowego. Każda przekształcona wartość ze zbioru testowego, która wypadła poza przedziałem [0, π], została przycięta do najbliższej granicy, ponieważ skaler został dopasowany wyłącznie na podstawie zbioru treningowego. 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, że skalowane wyniki nie zawierały wartości NaN ani nieskończoności.
Cztery ponowno-znormowane główne składowe przypisano sekwencyjnie jako kąty obrotu dla kubitów 0, 1, 2 i 3 podczas procedury kodowania kątowego opisanej w podrozdziale Konstrukcja obwodu kwantowego. Pierwszą główną składową przypisano do kubitu 0, drugą do kubitu 1, trzecią do kubitu 2, a czwartą do kubitu 3. Tym samym zakończono potok przetwarzania wstępnego 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 znalazły się nieznacznie poza tym zakresem z powodu zaokrągleń liczb zmiennoprzecinkowych, zostały przycięte 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 były poprawnymi kątami obrotu 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. Uzupełniający plik kodu 1 posłużył jako kompletna, wykonywalna implementacja obwodu, zawierająca wszystkie funkcje pomocnicze do konstrukcji bramek oraz obliczania gradientu metodą przesunięcia parametrów. Rysunek 1 przedstawia pełny przebieg procesu, od wstępnego przetwarzania nagrań głosowych, przez cztery warstwy obwodu, klasyczną głowicę postprocesingu, aż po końcową klasyfikację.

Rycina 1Architektura systemu i schemat blokowy obwodu kwantowego. Schemat klasyfikacji choroby Parkinsona na podstawie nagrań głosu ludzkiego. Diagram przedstawia wstępne przetwarzanie nagrań głosu, stratyfikowaną lub pogrupowaną według pacjentów walidację krzyżową, wykonanie parametryzowanego obwodu kwantowego czterech kubitów, pomiar Pauli-Z pojedynczego kubita na kubicie 0, klasyczne postprzetwarzanie oraz końcową klasyfikację binarną jako chorobę Parkinsona lub grupę kontrolną zdrową. CNOT, bramka NOT sterowana; PCA, analiza głównych składowych; ReLU, jednostka liniowa z prostowaniem. Proszę kliknąć tutaj, aby wyświetlić powiększoną wersję tej figury.
Rejestr czterech kubitów został zainicjowany w stanie bazy obliczeniowej ∣0000
.
W przypadku warstwy kodowania kąta, an Ry (Proszę podać tekst źródłowy do tłumaczenia.iZastosowano bramkę obrotu do kubitu i, gdzie i = 0, 1, 2, 3, przy użyciu czterech kątów wygenerowanych przez potok przetwarzania wstępnego (Równanie 2). Równanie 2 opisuje standardową procedurę kodowania kątowego stosowaną w parametryzowanych obwodach kwantowych, zgodnie z ramami uczenia parametryzowanych obwodów kwantowych zaproponowanymi przez Mitarai i współpracowników.9i został zastosowany w niniejszej pracy w specyficznej konfiguracji czterech kubitów określonej dla obecnego protokołu.
(2)
W pierwszej warstwie splątania zastosowano kolisty łańcuch bramek kontrolowanego 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 w0 do w7 zainicjowano poprzez niezależne próbkowanie z rozkładu normalnego ze średnią 0 i odchyleniem standardowym 0,3. Użyte ziarno losowości odnotowano w Tabeli materiałów. Osiem wariacyjnych parametrów kwantowych zainicjowano za pomocą numpy.random.default_rng(42 + fold_index).normal(0, 0,3, size = 8), gdzie fold_index to numer foldowania zaczynający się od zera, co zapewniło specyficzne dla każdego foldowania, ale reprodukowalne 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ólnymi ramami uczenia parametryzowanych obwodów kwantowych wprowadzonymi przez Mitarai i wsp.9, która została tutaj zrealizowana 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 NOT kontrolowanych 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- tylko dla kubitu 0,
, została obliczona przy użyciu iloczynu wewnętrznego wektora stanu. Do wykonania obwodu wykorzystano niestandardowy symulator wektora stanu zaimplementowany za pomocą standardowych operacji na tablicach numerycznych (Supplementary Coding File 1; qhcnn.py). W całym procesie zastosowano precyzję Complex128 (numpy.complex128). Wartości oczekiwane obliczono analitycznie z iloczynu wewnętrznego wektora stanu; w związku z tym nie przeprowadzano próbkowania opartego na liczbie pomiarów (shot-based sampling). Nie było wymagane użycie zewnętrznych frameworków do obliczeń kwantowych. Gdyby zamiast symulatora wektora stanu użyto symulatora opartego na próbkowaniu lub urządzenia kwantowego, przeprowadzono by wielokrotne pomiary kubitu 0 w bazie obliczeniowej, a uzyskane częstotliwości bitów przekształcono by w wartość oczekiwaną (Równanie 4). Równanie 4 stanowi standardowy wzór mechaniki kwantowej na wartość oczekiwaną i zostało tutaj zastosowane do obserwabla Pauliego dla jednego kubitu, zdefiniowanego dla niniejszego protokołu. Ponieważ nie przeprowadzono próbkowania opartego na pomiarach, nie było konieczne stosowanie metod 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 wyraźnie uwzględniona podczas konstruowania obserwabla Pauliego, aby zapewnić pomiar poprawnej wartości oczekiwanej.
(4)
Gradient
względem każdego z ośmiu parametrów wariacyjnych obliczono przy użyciu reguły przesunięcia parametrów (parameter-shift rule). Podczas każdego obliczania gradientu obwód ewaluowano dwukrotnie dla każdego parametru: raz dla θ + π/2 oraz raz dla θ - π/2 (Równanie 5). Równanie 5 stanowi standardową regułę przesunięcia parametrów wprowadzoną przez Mitarai i wsp.9 i została ona tutaj zastosowana bez modyfikacji.
(5)
Druga warstwa splatania, zgodnie z powyższym opisem, nigdy nie stosowała bramki kontrolowanego NOT z kubitem 0 jako celem. Ponieważ bramka kontrolowanego NOT nie zmienia zredukowanego stanu swojego kubitu kontrolnego, druga warstwa splatania nie mogła zmienić
, niezależnie od wartości parametrów trenowalnych. Aby umożliwić drugiej warstwie splatania wywieranie wpływu na mierzony wynik w zmodyfikowanym protokole, kubit 0 musiałby zostać uwzględniony jako cel, na przykład poprzez zamknięcie łańcucha dodatkową bramką kontrolowanego NOT (3,0), lub należałoby zmierzyć obserwabel wielokubitową zamiast wartości oczekiwanej dla pojedynczego kubitu. W niniejszym protokole zachowano pierwotnie określoną drugą warstwę splatania, a jej zmierzony wkład został raportowany jawnie w sekcji Wyniki zamiast być po cichu korygowany, ponieważ zachowanie tego obwodu jest częścią obecnych ustaleń.
Klasyczna warstwa postprocesingu
Klasyczny etap postprocesingu składał się z sieci neuronowej typu feed-forward, zaimplementowanej przy użyciu standardowych operacji numerycznych opartych na tablicach, wymienionych w Tabeli materiałów. Pojedynczy skalarny wyjściowy sygnał obwodu,
, został zmapowany na osiem jednostek ukrytych za pomocą warstwy w pełni połączonej, po której nastąpiła aktywacja jednostki liniowej z prostowaniem (ReLU). Podczas trenowania zastosowano warstwę dropout z prawdopodobieństwem zachowania 0,8 (wskaźnik dropout = 0,2). Osiem jednostek ukrytych zostało następnie zmapowanych na pojedynczą jednostkę wyjściową za pomocą drugiej warstwy w pełni połączonej, a w celu wygenerowania końcowego prawdopodobieństwa klasy, ŷ (Równanie 6), zastosowano funkcję aktywacji sigmoidalnej. Równanie 6 definiuje konkretną architekturę klasycznego postprocesingu wykorzystaną w niniejszym protokole i obejmuje standardowe operacje liniowe, jednostkę liniową z prostowaniem (ReLU) oraz funkcję sigmoidalną.
(6)
Macierze wag pierwszej i drugiej warstwy zainicjowano poprzez niezależne próbkowanie z rozkładu normalnego ze średnią 0 i odchyleniem standardowym 0,5, natomiast wszystkie człony obciążenia (bias) zainicjowano wartością 0. Ta sama instancja generatora liczb pseudolosowych oraz ziarno (seed) użyte do inicjalizacji kwantowych parametrów wariacyjnych zostały zastosowane również dla warstwy klasycznej, aby zapewnić powtarzalność wyników między uruchomieniami. Konkretnie, macierze wag klasycznych zainicjowano przy użyciu numpy.random.default_rng(42 + fold_index).normal(0, 0.5, size=...), podczas gdy wszystkie człony obciążenia zainicjowano zerem. Na początku każdego folderu walidacji krzyżowej utworzono jedną instancję generatora liczb losowych z ziarnem 42 + fold_index, która była wykorzystywana sekwencyjnie do inicjalizacji parametrów kwantowych, inicjalizacji wag klasycznych, tasowania mini-batchy oraz generowania masek dropout, zamiast stosowania oddzielnych, niezależnych strumieni ziarna dla każdego z tych procesów.
Podczas trenowania zastosowano dropout poprzez generowanie nowo próbkowanej maski binarnej przy każdym przejściu w przód, zgodnie z konwencją 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 składał się z ośmiu wag i ośmiu przesunięć w pierwszej warstwie w pełni połączonej, wraz z ośmioma wagami i jednym przesunięciem w drugiej warstwie w pełni połączonej. Wymiary tensorów wag i przesunięć wynosiły
oraz
. Klasyczna warstwa postprocesingu została zaimplementowana w całości przy użyciu standardowych operacji na tablicach numerycznych, bez dodatkowego frameworka uczenia maszynowego. Wszystkie obliczenia klasyczne zostały wykonane 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 kompletny model możliwy do trenowania (end-to-end). Wszystkie 33 trenowalne parametry były optymalizowane wspólnie przy użyciu optymalizatora Adam z początkową stopą uczenia 0,01 oraz mechanizmem weight decay, zaimplementowanym 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,999, ∈ = 1 × 10-8 oraz weight decay = 1 × 10-4, stosowany wyłącznie do klasycznych macierzy wag, a nie do wyrazów bias lub kwantowych parametrów wariacyjnych.
Jako funkcję straty zastosowano binarną entropię krzyżową. W procedurze balansowania klas po podziale, opisanej w podrozdziale Evaluation Protocol , wkład każdej próbki treningowej do straty był ważony odwrotnością częstotliwości występowania jej klasy w partitionie treningowym bieżącego folda. W protokole niezbalansowanym przypisano jednolite wagi próbek. Binarną entropię krzyżową obliczano jako średnią stratę dla wszystkich próbek w każdym mini-batchu, stosując standardowy wzór binarnej entropii krzyżowej.
Model był trenowany przez 30 epok przy użyciu mini-batchy po 16 próbek. Próbki treningowe były losowo tasowane na początku każdej epoki za pomocą numpy.random.default_rng(42 + fold_index).permutation(n) w celu wygenerowania losowej kolejności próbek. W sytuacjach, gdy liczba próbek treningowych nie była podzielna przez 16, ostatni, mniejszy mini-batch był zachowywany i przetwarzany w swojej rzeczywistej wielkości, zamiast zostać odrzuconym.
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 11. i 21. epoki.
Gradienty dla ośmiu kwantowych parametrów wariacyjnych obliczono przy użyciu reguły przesunięcia parametrów opisanej w podrozdziale Konstrukcja obwodu kwantowego. Gradienty dla 25 parametrów klasycznych obliczono za pomocą standardowego różniczkowania w trybie wstecznym wyłącznie przez warstwę klasyczną. Wyjście obwodu kwantowego,
, oraz jego gradienty obliczone metodą przesunięcia parametrów posłużyły jako interfejs pomiędzy obwodem kwantowym a warstwą klasyczną. Wszystkie 33 parametry zostały zaktualizowane przy użyciu tej samej instancji optymalizatora Adam.
Nie zastosowano wczesnego zatrzymywania w oparciu o walidację. Każdy model był trenowany zgodnie ze stałym harmonogramem 30 epok, a wyniki uzyskane na wydzielonej partii testowej raportowano po zakończeniu ostatniej epoki. Wszystkie parametry modelu (kwantowe parametry wariacyjne, klasyczne macierze wag oraz wyrazy biasu) były reinicjowane niezależnie na początku każdego etapu walidacji krzyżowej przy użyciu ziarna losowości specyficznego dla danego etapu (42 + fold_index). Parametry nie były współdzielone między etapami ani między uruchomieniami bazowymi.
Środowisko obliczeniowe, w tym procesor, pamięć, wersje oprogramowania oraz przybliżony czas trenowania w czasie rzeczywistym na jedną partycję (fold), zapisano w Tabeli Materiałów.
Protokół ewaluacji
Wydajność modelu oceniono za pomocą procedur walidacji krzyżowej na poziomie nagrań i na poziomie uczestników, wraz z porównaniami z modelem bazowym, analizami balansowania klas, eksperymentami z ablacją obwodów, testami istotności statystycznej oraz analizami istotności cech.
Do oceny podstawowej 195 nagrań głosowych podzielono na trzy stratyfikowane foldy przy użyciu stałego ziarna losowania, zachowując w każdym foldzie stosunek nagrań osób z chorobą Parkinsona do grupy kontrolnej wynoszący 75,4%/24,6%. Model opisany w poprzednich sekcjach trenowano przy użyciu dwóch foldów, a następnie ewaluowano na pozostałym foldzie testowym; procedurę tę powtarzano do momentu, aż każdy fold posłużył raz jako partycja testowa. Dla każdego foldu obliczono dokładność (accuracy), precyzję (precision), czułość (recall), wynik F1 (F1-score) oraz pole pod krzywą charakterystyki operacyjnej odbiornika (AUC–ROC), a następnie przedstawiono je jako średnią ± odchylenie standardowe z trzech foldów. Podstawową trzykrotną stratyfikowaną walidację krzyżową zaimplementowano przy użyciu klasy StratifiedKFold z parametrami n_splits=3, shuffle=True oraz random_state=42.
Przewidywania klas binarnych wygenerowano poprzez zastosowanie stałego progu prawdopodobieństwa 0.50 do przewidywanego prawdopodobieństwa klasy, ŷ, wyprodukowanego przez klasyczną warstwę postprocesingu. Dokładność, precyzję, czułość oraz wynik F1 obliczono na podstawie tych przewidywań z zastosowaniem progu, natomiast AUC–ROC obliczono bezpośrednio z ciągłych wartości prawdopodobieństwa bez stosowania progowania. Precyzję, czułość i wynik F1 obliczono przy użyciu funkcji metrycznych z parametrem zero_division=0, przypisując wartość 0.0 do każdej niezdefiniowanej metryki. W raportowanych eksperymentach nie wystąpił taki niezdefiniowany warunek.
Modele bazowe oceniano przy użyciu tych samych podziałów na foldy oraz tej samej czteromponentowej przetworzonej reprezentacji cech wygenerowanej przez potok preprocessingu. Klasyczny wielowarstwowy perceptron zawierający jedną warstwę ukrytą z ośmioma jednostkami 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 drzew gradientowych (gradient-boosted tree) przy użyciu tej samej czteromponentowej reprezentacji, stosując 200 drzew, maksymalną głębokość drzewa równą 3, współczynnik uczenia 0,1 oraz wagowanie klas równe odwrotności częstotliwości występowania klasy w każdym foldzie treningowym. Dodatkowo wytrenowano drugi klasyfikator drzew gradientowych przy użyciu pełnej reprezentacji obejmującej 22 cechy wygenerowane po wstępnej normalizacji Min–Max, bez zastosowania PCA lub kwantowego kodowania cech. Model ten wykorzystywał 300 drzew, maksymalną głębokość drzewa równą 4, współczynnik uczenia 0,05 oraz tę samą strategię wagowania klas na podstawie odwrotności częstotliwości w foldach 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.001, max_iter=500, early_stopping=False, shuffle=True oraz random_state=42. Wykorzystano domyślną jednostajną inicjalizację wag Glorota (Xaviera) dostarczoną przez implementację. Modele bazowe drzew gradientowych 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 danych, główną procedurę walidacji krzyżowej powtórzono dla modelu QI-HCNN z włączoną funkcją ważenia próbek. Wagi balansujące obliczano wyłącznie na podstawie partycji treningowej każdego folderu po podziale na zbiór treningowy i testowy; nie obliczano ich z odpowiadającej im wydzielonej partycji 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. We wszystkich czterech eksperymentach zachowano identyczne partycje fałdowania, ziarna losowe oraz konfiguracje trenowania, 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 grupami uczestników, dzieląc 31 uczestników (a nie 195 nagrań) na pięć grup, z których każda zawierała od sześciu do siedmiu osób. Podczas każdej iteracji model był trenowany przy użyciu nagrań od uczestników z czterech grup i oceniany na podstawie 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 obrębie tego samego folderu. Dokładność, precyzja, pełność, wynik F1 oraz AUC–ROC zostały przedstawione jako średnia ± odchylenie standardowe z pięciu folderów z podziałem na uczestników dla modelu QI-HCNN, klasycznego wielowarstwowego perceptronu oraz modelu bazowego opartego na gradientowym wzmocnieniu czterech cech. Walidację krzyżową z grupami 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 przypisani zgodnie z domyślną deterministyczną kolejnością implementacji, co w rezultacie stworzyło foldery zawierające po sześć lub siedem osób.
Istotność statystyczną oceniono, stosując testy znaków Wilcoxona dla par pomiarów dla wartości AUC–ROC uzyskanych w poszczególnych foldach dla modeli ewaluacyjnego i bazowego. Podano dokładne wartości p oraz odpowiadającą im liczbę sparowanych obserwacji, ponieważ moc statystyczna tego testu jest ograniczona przy małej liczbie dostępnych foldów. A priori zdefiniowano cztery porównania par AUC–ROC: (1) QI-HCNN względem klasycznego wielowarstwowego perceptrona; (2) QI-HCNN względem bazowego modelu drzew gradientowych dopasowanych przez PCA; (3) klasycznego wielowarstwowego perceptrona względem bazowego modelu drzew gradientowych dopasowanych przez PCA; oraz (4) niezbalansowanego modelu QI-HCNN względem modelu QI-HCNN zbalansowanego po podziale danych. Nie zastosowano korekty na wielokrotne porównania, ponieważ analizy miały charakter eksploracyjny, a ograniczona liczba foldów znacznie obniżyła moc statystyczną.
Analizę istotności cech przeprowadzono przy użyciu klasyfikatora drzew gradientowych (gradient-boosted tree) wytrenowanego na pełnej reprezentacji obejmującej 22 cechy. Wyekstrahowano i uszeregowano wyniki istotności cech oparte na zysku (gain) dla wszystkich pierwotnych cech akustycznych. Osobno, wyłącznie w celach raportowania, do pełnego zbioru danych dopasowano analizę PCA, której nie wykorzystano podczas ewaluacji modelu. Dla każdej pierwotnej cechy akustycznej zsumowano wartości bezwzględne ładunków (loadings) dla czterech zachowanych głównych komponentów, a następnie uszeregowano cechy zgodnie z tymi wartościami. Zaraportowano obie metody rankingowe oraz stopień ich pokrycia. W analizie istotności cech opartej na zysku implementacja drzew gradientowych wygenerowała unikalne wartości zysku w formacie zmiennoprzecinkowym, w związku z czym nie wystąpiły remisy. W przypadku rankingów ładunków komponentów głównych remisy w zsumowanych wartościach bezwzględnych ładunków rozstrzygano zgodnie z pierwotną kolejnością kolumn cech w zbiorze danych.