České vysoké učení technické Praha Fakulta elektrotechnická Katedra kybernetiky Využití znalostí experta při zpracování EEG signálů květen 2013 Student: Jakub Kahoun Vedoucí práce: Ing. Václav Gerla, Ph.D.
Poděkování Rád bych poděkoval Ing. Václavu Gerlovi, Ph.D. za jeho rady, připomínky a pomoc při psaní této bakalářské práce. Dále bych rád poděkoval firmě Certicon a panu Marku Obitkovi za cené rady a pomoc při učení s programem Fel Ex Expert. V neposlední řadě bych rád poděkoval rodině a přátelům za podporu a pomoc během dosavadního studia.
Abstrakt Cílem této bakalářská práce bylo ověření možnosti využití znalostí experta při zpracování dlouhodobých EEG záznamů. Automatické zpracování spánkových EEG záznamů je velice náročná a komplexní úloha. Původním výstupem programu měl být hypnogram, graf popisující spánek. Bohužel pravidla využívaná lékaři nebyla lehce aplikovatelná, a proto jsme úlohu zjednodušili na automatickou detekci svalových artefaktů v EEG záznamu. Nicméně navržená metodologie je použitelná pro různé typy dat, pokud jsou sestavena vhodná pravidla. Testování bylo prováděno nad laboratorními daty, která byla naměřena pro potřeby této úlohy. Klíčová slova EEG, znalostní systémy, klasifikace, spánek, biosignály, Fel Ex Expert, PSGLab, Java, Weka
Abstract The aim of this bachelor thesis is to verify options of utilization of background knowledge in longterm electroencephalographic (EEG) signal processing. The automated classification of sleep EEG signals is a very difficult and complex task. Original result of code had been hypnogram, sleep graph. Unfortunately, the rules used by doctors are not easily applicable, and therefore we simplify the task for the automatic detection of muscle artifacts in EEG recording. However, the methodology is applicable to various types of data, if there are assembled correct rules. Testing was done over laboratory data, which was measured for the purposes of this task. Key words EEG, Knowledge systems, classification, sleep, biosignals, Fel Ex Expert, PSGLab, Java, Weka
Obsah 1 Úvod 1 2 Expertní systémy 2 2.1 Pojem expertní systémy............................ 2 2.2 Úvod do expertních systémů.......................... 2 2.3 Dělení expertních systémů........................... 4 2.4 Řídící mechanismus............................... 5 2.5 Ontologie.................................... 5 2.5.1 Příklady ontologií............................ 6 3 Fel Ex Expert 7 3.1 Úvod....................................... 7 3.2 Inferenční sít.................................. 7 3.3 Konzultace................................... 8 3.4 Získávání dat.................................. 8 3.4.1 Činitel jistoty.............................. 8 3.4.2 Číselné hodnoty............................. 9 3.5 Vazby...................................... 9 3.6 Taxonomie.................................... 10 3.6.1 Zaměření pozornosti.......................... 10 3.6.2 Hierarchické závislosti......................... 10 4 Biomedicínské signály 11 4.1 EEG....................................... 11 4.2 EKG....................................... 12 4.3 EMG....................................... 13 4.4 EOG....................................... 13 4.5 PSG....................................... 13 5 Spánek 14 5.1 REM....................................... 14 5.2 NREM...................................... 14 5.3 Hypnogram................................... 15 5.4 Skórovací systémy................................ 16 5.4.1 Historie skórovacích systémů...................... 16 5.4.2 Rechtschaffen and Kale......................... 16 5.4.3 AASM.................................. 17
6 WEKA 18 6.1 ARFF...................................... 18 6.2 Rozhodovací stromy.............................. 18 6.3 Selekce příznaků................................ 19 7 ROC křivka a její parametry 20 8 Řešení 22 8.1 Navržená metodologie............................. 22 8.2 Použitá data................................... 23 8.2.1 Klinická data.............................. 23 8.2.2 Laboratorní data............................ 24 8.3 Metody předzpracování dat.......................... 24 8.4 Rozhodovací pravidla.............................. 26 8.4.1 Rozhodovací strom........................... 26 8.4.2 Hodnocení příznaků.......................... 27 8.4.3 Závěrem k pravidlům.......................... 28 8.5 Chyba vstupních dat.............................. 29 8.6 Provázání s aplikací Fel Ex Expert...................... 30 8.6.1 Pravidla pro detekci artefaktů..................... 31 8.7 Zpracování výstupní databáze......................... 32 9 Java GUI 34 9.1 Debug mode................................... 34 9.2 Normal mode.................................. 35 10 Výsledky 36 11 Závěr 38 12 Reference 40
1 Úvod Zadání práce vzniklo ze snahy usnadnit práci lékařům a zkrátit čas potřebný pro klasifikaci spánkových EEG záznamů. EEG záznamy mohou být dlouhé i několik hodin. Takto dlouhý záznam neurolog hodnotí v řádu hodin. Navíc neexistuje přesná a jednotná definice jednotlivých spánkových fází, každý lékař může stejný záznam ohodnotit rozdílně. Výsledkem by mohla být metodologie umožňující vytvoření jednotné sady pravidel k ohodnocení spánkových EEG záznamů lékaři. Cílem této práce bylo rozhodnout, zda je možné efektivní využití expertních systémů v biomedicínském oboru, konkrétně k ohodnocení spánkových EEG záznamů. V této souvislosti se nabízí expertní systémy použít dvěma způsoby. V prvním případě by mohl nahrazovat experta, který sestavuje hypnogram, případně mu usnadní hodnocení těchto dat. V druhém případě by mohl analyzovat sestavený hypnogram a diagnostikovat přítomnost spánkových poruch. Tato práce se věnuje prvnímu případu, tedy využití znalostí experta ke klasifikaci EEG záznamů. V prvních dvou kapitolách si představíme expertní systémy a konkrétně systém Fel Ex Expert, který byl použit v této práci. Další dvě kapitoly pojednávají o EEG, spánku a způsobu jakým neurologové tento typ signálu hodnotí. Kapitola 6 obsahuje základy strojového učení a kapitola 7 popisuje metody používané k hodnocení binárních klasifikátorů. V praktické části jsme se zabývali metodami strojového učení, které nám navrhnou optimální rozhodovací strom. Výsledky tohoto stromu jsme porovnali s výsledky námi navrženého řešení. K ohodnocení výsledků jsme použili ROC křivku. V programovacím jazyce Java jsme vytvořili jednoduché GUI, které slouží ke grafickému zobrazení výsledků a spočítání příznaků signálu. Poslední kapitola shrne dosažené výsledky. Testování bylo prováděno nad dvěma typy dat. Klinickými daty naměřenými v nemocnici Na Bulovce a psychiatrické léčebně Bohnice. A laboratorními daty, která byla naměřena pro potřeby této úlohy. Tyto EEG záznamy byly naměřeny v laboratoři skupiny Biodat (Katedra Kybernetiky, Elektrotechnická Fakulta, ČVUT). Výstupem této bakalářské práce není hotový klasifikátor, ale metodologie, jak s danými daty pracovat. 1
2 Expertní systémy 2.1 Pojem expertní systémy Označení expertní systémy se používá pro velkou množinu úloh, od jednoduchých klasifikátorů, přes neuronové sítě a rozsáhlé diagnostické sítě až po sémantické weby. V této práci se pod pojmem expertní systémy myslí komplexní systém obsahující všechny 3 základní části: řídící mechanismus, báze znalostí a bázy dat. Tento expertní systém se snaží integrovat znalosti expertů s metodami umělé inteligence. Hlubším pohledem do expertních systémů zjistíme, že sémantický web, či neuronová sít bývá důležitou částí expertního systému, ale netvoří celý expertní systém. [1] 2.2 Úvod do expertních systémů První expertní systémy byly zavedeny na počátku 80. let. Přesná, všeobecně uznávaná definice expertního systému zatím chybí. Navíc se vize a očekávání v čase průběžně mění. V souladu s Feigenbaumem lze konstatovat, že: Expertní systémy jsou počítačové programy, simulující rozhodovací činnost experta při řešení složitých úloh a využívající vhodně zakódovaných, explicitně vyjádřených speciálních znalostí, převzatých od experta, s cílem dosáhnout ve zvolené problémové oblasti kvality rozhodování na úrovni experta. Postupně si rozebereme jednotlivé rysy expertních systémů: 1. Program nebude postupovat vždy stejně instrukci po instrukci, jako je tomu u normalního, procedurálního programovaní. Systém bude muset umět sám vyhodnotit, které výsledky jsou pro něj relevantnější než jiné. Báze znalostí je oddělena od řídícího mechanismu. 2. Pole působnosti tohoto programu bude dostatečně velké, aby zvládl něco řešit, ale nesmí být extrémní, nebot by tyto znalosti nešlo dát dohromady. Znalosti jsou obsaženy v popisu ontologii v kapitole 2.5. U každého expertního systému se jako největší problém ukázují všeobecné znalosti, které expert používá, aniž by si to uvědomoval. Některé situace nemohou v reálném světě nastat, a proto musí být ošetřeny pravidly. Nebo jiné situace jsou pro nás tak přirozené, že nám nedochází, že to víme (viz. Například robot, který vaří špagety na plynovém vařiči, pokud by mu utekla voda a uhasila oheň u jeho plynového hořáku. Musí vědět, že má zastavit přívod plynu.). 3. Báze znalostí popisuje znalosti z dané oblasti. Jedná se o soubor obecně rozhodovacích pravidel řešení konkrétní úlohy znamená dosadit data o daném případu do obecně formulovaných znalostí. 2
Tyto data může poskytovat uživatel sekvenčně, v dialogovém režimu s počítačem. Expertní systém se dotazuje uživatele na údaje, týkající se konzultovaného případu. Na základě odpovědi a svých obecných znalostí si postupně upřesňuje představu o případu a dochází k závěru, eventuálně k řešení. Posloupnost otázek, dynamicky volená s využitím principů umělé inteligence, může brát v úvahu i další kritéria, např. cenu získání odpovědi. U některých expertních systémů je dialog s uživatelem nahrazen přímým měřením údajů, či jejich vyhledáním v databankách. Množinu všech údajů k danému případu nazýváme bází dat. 4. Způsob zpracování znalostí a dat v expertním systému se musí podobat způsobu uvažování experta. Expertní systém musí být schopen: využívat nejistých znalostí, tj. znalostí s přidělenou mírou důvěry v jejich platnost (hovoříme o nejistotě v bázi znalostí) využívat odpovědi, zahrnující nejistotu uživatele (odpovědi typu nevím, asi ano apod.). V tom případě hovoříme o nejistotě v bázi dat 5. Báze znalostí musí obsahovat násobné či alternativní cesty vyvozování. Zjednodušeně řečeno každý závěr by měl být podporován či vyvracen více než jedním faktem. Expertní systém musí poskytovat radu i v situacích, kdy část vyžadovaných dat není dostupná. 6. Z hlediska vnějšího chování je na expertní systém kladena řada požadavků odvíjejících se z představy, že expertní systém nahrazuje odborníka, poskytující konzultaci laikovi či méně zkušenému odborníkovi. Počítačový expertní systém musí nejen vést s uživatelem dialog ve formě otázka-odpověd, ale musí být také schopen vysvětlit a zdůvodnit dílčí závěry i položit vhodný doplňující dotaz. Uvedený výčet charakteristických znaků nelze rozhodně chápat jako exaktní definici expertních systémů. Systémy řazené mezi expertní systémy nemusejí kategoricky splňovat všechny zmíněné požadavky, např. existuje řada úspěšných expertních systému, které neumějí pracovat s neurčitostí. [1] Pokud je úloha dobře specifikovaná a všechny okruhy znalostí jsou jasně zadané, následuje konzultace s expertem. Expert je v tomto programu velice důležitý, protože musí říct vše, co ví a umí. Zároveň nesmí mít pocit, že ho daný projekt ohrožuje. Jde spíše o psychologický úkol, než programátorský. Potřebujeme s expertem navázat lidský vztah. Aby samotní experti neměli pocit možné náhrady, která opravdu není cílem těchto projektů, 3
začalo se expertním systémům říkat znalostní. Nebot tyto programy mají uchovávat znalosti a pomáhat expertům k lepší, rychlejší a efektivnější práci. K efektivnímu získávání znalostí od experta byl vyvinut program SAZE (Systém Automatického Získávání Expertíz). Tansley a Hayball (Tansley a Heyball,1993) uvádějí příznaky podle nichž lze uvažovat o vhodnosti aplikace znalostních (expertních) systému: v definici úlohy jsou použity termíny typu: pravidla, vztahy, předpoklady, atd. úloha se zdá být neřešitelná numerickým výpočtem zpracovaná fakta se vyznačují určitým stupněm jistoty/ nejistoty úloha nevyžaduje manuální zručnost pro úlohu existují kvalifikovaní experti 2.3 Dělení expertních systémů Expertní systémy je možné rozdělit například do těchto třech skupin: diagnostické, plánovací a hybridní. Diagnostické expertní systémy se dělí ještě na povrchové a hloubkové. Povrchové jsou výpočetně lehčí, rychlejší a pokaždé si pouze aktualizují svoje pravděpodobnosti výsledků. Neumí odhalit chyby, které neznají, a nedokáží odhalit dvě nebo více chyb najednou. Hloubkové sledují vstup a výstup a v paměti mají model celého systému, kterému posílají stejná data jako reálnému systému a sledují odchylky v chování. Výhodou je, že dokáží odhalit i nové i vícenásobné chyby. Bohužel model celého systému je velice náročný a někdy i neřešitelný. U plánovacích expertních systémů známe počáteční i konečný stav. Cílem úlohy je najít nejlepší cestu, jak se dostat z počátečního stavu do konečného. Expanze všech stavů je omezována fakty a znalostmi. Pokud je použito málo pravidel, může systém narůst do neúnosných rozměrů. Hybridní expertní systémy jsou kombinací obou předchozích variant a nejčastěji se využívají jako inteligentní výukové systémy, monitorovací sytémy, atd. Každý expertní systém musí obsahovat bázi znalostí, bázi dat a řídící algoritmus(viz. obr. 1). Báze znalostí se také nazývá ontologií, jsou to všechny znalosti, poznatky a postřehy, které expert k dané problematice má a zná. Prázdné expertní systémy jsou speciální 4
neúplné expertní systémy, které nemají bázi dat, ani bázi znalostí, mají naimplementován pouze řídící algoritmus. Výhodou bývá přenositelnost na jiné téma. K novému tématu je vytvořena pouze nová báze znalostí, neboli ontologie. [1] Obrázek 1: Schéma expertního systému 2.4 Řídící mechanismus určuje v jakém pořadí budeme aplikovat pravidla na bázi znalostí: dopředné, nebo zpětné řetězení. [1] Pomocí dopředného řetězení začínáme listovými hypotézami a blížíme se k cílovým, strategie řízená daty. Zpětné řetězení postupuje obráceným směrem. Známe výsledek a snažíme se najít optimální cestu, jak jsme tohoto výsledku dosáhli, strategie řízená cílem. 2.5 Ontologie Znalosti mohou být reprezentovány třemi způsoby: sémantickou sítí, inferenční sítí, nebo pomocí rámců. Sémantická sít je složena ze dvou základních komponent: uzlů a hran. Každý uzel slouží k vyjádření nějakého stavu, tyto stavy mohou být počáteční, uzel nemá žádnou vstupní hranu. Mezilehlé uzly upřesňují nějakou situaci. Koncové uzly jsou výsledné hypotézy. Hrany určují vztahy mezi jednotlivými stavy. 5
V inferenční síti se data kódují pomocí jednoduchých pravidel ve tvaru: IF (podmínka) THEN (důsledek) S JISTOTOU (x). Podmínka se tvoří pomocí logických operátorů. Pod pojmem rámce se ukrývá dnes velmi rozšířené objektové programování. Využívá všechny jeho přednosti, jako jsou: zapouzdření, dědičnost a polymorfismus. Rámce se dají vyjádřit pomocí grafu, který spojuje více rámců do jednoho komplexního řešení. Každý rámec obsahuje uzly a relace. Jednoduše implementovatelné pomocí objektově orientovaného programovacího jazyka. Ontologie zahrnuje i obecně známé znalosti, které používá každý expert i laik, a ani si jejich používání neuvědomujeme. Některé stavy prostě nedávají smysl, takže je expert nenavrhne. Ale bez správného použití ontologií expertní systém nemá šanci tyto data správně vyhodnotit. Ontologie se dělí na dvě skupiny: aristotelské a moderní Aristotelské obsahují pouze dva vztahy a je to úplně nejzákladnější způsob, jak popsat lidské tělo(is-a, part-of). V praxi to znamené, že můžeme napsat: lidské tělo part-of orgány part-of ledvina. Záleží jen na nás, jak moc budeme jednotlivé dělení třídit. Moderní ontologie se dělí směrem od zdola. Například, jedna ontologie se nesnaží pokrýt něco tak složitého, jako je lidské tělo. Lidé už dávno vědí, že samotný mozek, či srdce vydá na mnohem více znalostí, než měli lidé dříve o celém těle. Používá mnohem více složitějších vztahů. Jeden expertní systém může využívat i více ontologií najednou, stačí vytvořit tzv. tabuli nad všemi ontologiemi. Všechny báze znalostí své výsledky přepisují na tuto tabuli, kde si ostatní mohou brát svá data pro další výpočty. V bázi dat jsou uloženy data o aktuální úloze. Podle jejich hodnot se řídící algoritmus rozhoduje, která hypotéza je aktuálně pravděpodobnější a jakým směrem by se měl ubírat. 2.5.1 Příklady ontologií Ontologie vyvíjená od roku 1990, která obsahuje na 2 000 000 všeobecných znalostí skrze všechny obory se nazývá CYC. Z oboru medicíny tu je UMLS, která je vnitřně rozdělena na tři zdroje získávání znalostí: hierarchický terminologický slovník, metatezaurus semantická sít zachycuje obecné vztahy mezi kategoriemi mapa informačních zdrojů 6
3 Fel Ex Expert 3.1 Úvod Fel Ex Expert je prázdný expertní systém z kategorie diagnostických expertních systémů (viz. obr. 2). Tento systém byl vyvinut na ČVUT, následně odkoupen firmou CertiCon. Ve všech verzích používá pravděpodobnostní pseudobayesovský přístup pro práci s neurčitostí a to jak v bázi dat, tak i bázi znalostí. Tento přístup je převzat ze systému PROSPECTOR. [17] Obrázek 2: Schéma diagnostického expertního systému 3.2 Inferenční sít Základem pro reprezentaci báze znalostí expertního systému jsou pravidla ve tvaru if předpoklad E then závěr H with pravděpodobnost P(H E) else závěr H with pravděpodobnost P(H not E) Pro výpočet (pseudo)pravděpodobnosti závěru se používá Bayesův vztah. Soubor těchto pravidel tvoří orientovaný graf, kde vrcholy jsou tvrzení (E, H) a hrany (ohodnocené pravděpodobností) tvoří pravidla. Tento graf se nazývá inferenční sít. Základní 7
inferenční sít doplňují logické kombinace výroků ve tvarech not E, E1 and E2, E1 or E2, atd. Rozlišuje se tedy mezi dvěma typy uzlů - bayesovský uzel a logický uzel. Bayesovský uzel reprezentuje tvrzení, jehož pravděpodobnost se dá vyhodnotit dle Bayesova vztahu. Má danou apriorní pravděpodobnost. Aposteriorní pravděpodobnost (po pozorování) se bud spočítá z pozorovaných předpokladů nebo se získá přímým pozorováním. Logický uzel reprezentuje tvrzení, jehož pravděpodobnost se dá vyhodnotit dle logické kombinace předpokladů. Pravděpodobnost tvrzení se vyhodnocuje pomocí vztahů převzatých z fuzzy logiky. Uzly (tvrzení) se také dají rozdělit dle své polohy v inferenční síti na vrcholové, listové a mezilehlé. Vrcholové uzly jsou uzly, z nichž nevede žádná orientovaná hrana. Vrcholové uzly reprezentují vrcholové hypotézy. Listové uzly jsou uzly, do nichž nevede žádná orientovaná hrana, reprezentují tedy tvrzení, která musí být ověřena pozorováním. Ostatní uzly jsou mezilehlé. Ty reprezentují mezilehlá (dílčí) tvrzení. Každý uzel může být navíc dotazovatelný (listový uzel musí být dotazovatelný) nebo může reprezentovat cílovou hypotézu. [16] 3.3 Konzultace Konzultace je proces, při kterém se systém snaží zjistit platnost cílových hypotéz. Systém při konzultaci vybírá nejpravděpodobnější cílovou hypotézu a snaží se jí dokázat, nebo vyvrátit. Pomocí skórovací funkce (viz. [17]) určuje nejužitečnější dotazy. Expertní systém položí otázku a na základě odpovědi si aktualizuje svůj model. Tento proces se opakuje, dokud není hypotéza kompletně vyšetřena. Konzultace končí v okamžiku vyšetření všech cílových hypotéz. [16] [17] 3.4 Získávání dat Při konzultaci je třeba získávat data z okolního světa. Tato data mohou být v nejrůznější podobě. Je však třeba vždy zajistit jejich převedení na pravděpodobnost, která se použije pro inferenci. [16] 3.4.1 Činitel jistoty Uživatel může odpovědět ano/ne/nevím a případně pomocí dalšího jemnějšího rozlišení mezi těmito hodnotami. Hodnota ano se přeloží jako pravděpodobnost 1, hodnota ne jako 0, hodnota nevím jako apriorní pravděpodobnost tvrzení. Zbylé hodnoty se určí lineární interpolací (viz. obr. 3). Pseudopravděpodobnost je následně dopočítána, dle: 8
Obrázek 3: Převod činitele jistoty na pravděpodobnost [17] P (E E ) = { P (E) + (1 P (E)) (R/5) pro R 0 P (E) (1 (R/5)) pro R < 0 3.4.2 Číselné hodnoty Zde uživatel odpovídá konkrétní numerickou hodnotou pozorované veličiny. Expert zadá významné body a jejich odpovídající pravděpodobnosti. Hodnota od uživatele se na pravděpodobnost přepočítá interpolací (příp. extrapolací) mezi body zadanými expertem. K dispozici jsou dva druhy tohoto uzlu, které se liší pouze v počítání pravděpodobnosti mimo zadané meze. Jeden počítá hodnoty mimo meze jako hodnoty mezí, druhý provádí lineární extrapolaci dle krajních dvou bodů až do hodnoty 0 nebo 1 (viz. obr. 4). [16] Obrázek 4: Porovnání dvou způsobů možného přepočtu vstupních dat na pravděpodobnost [16] 3.5 Vazby Základní inferenční sít popisuje vztahy mezi hypotézami. Bohužel tento popis není dostačující, nebot nedokážeme určit nutnost pořadí vykonávání jednotlivých záznamů nebo vykonávání 9
za zvláštních podmínek. K upřesnění těchto vztahů Fel Ex Expert využívá prioritní a kontextové vazby. [16] Prioritní (nepodmíněná) vazba určuje, že některý uzel se musí vyšetřit před vyšetřením jiného uzlu. Je tedy dána dvěma uzly a orientovanou vazbou mezi nimi. Kontextovou (podmíněnou) vazbu nemusíme v některých případech řešit. Například, nemá cenu se pacienta ptát, zda-li má nemocného bratra, pokud jsme neprokázali, že má nějakého bratra. Kontextová vazba určuje, že některé uzly budou vykonány pouze, když jiné splní podmínku rozsahu. 3.6 Taxonomie Taxonomie umožňují dále strukturovat znalosti uložené v inferenční síti, zvláště u rozsáhlých inferenčních sítí. Taxonomie se využívají pro zaměření pozornosti nebo upřesnění hierarchie mezi hypotézami. V prvním případě odstraňuje nadbytečné hypotézy, v druhém případě můžeme přeskočit vykonávání některých uzlů, u nichž můžeme odhadnout výsledek z jiného výsledku. 3.6.1 Zaměření pozornosti Pokud máme nějaké doplňkové informace o konzultovaném problému, můžeme je využít k zaměření pozornosti na nějaký seznam hypotéz podle taxonomie. Tento postup nám může snížit počet dotazů kladených uživateli a zkrátit dobu konzultace. [17] 3.6.2 Hierarchické závislosti Tento typ taxonomie může být využíván v průběhu konzultace. Odpověd na jednu otázku nám může poskytnou odpovědi i na jiné otázky. Např. pokud jistě víme, že je objekt šelma kočkovitá, pak je i savec, zvíře atd. [17] 10
4 Biomedicínské signály Biomedicínské signály se liší podle typu signálu, který snímají. Existují elektrické, magnetické, impedanční, akustické, mechanické a chemické. V této práci se budeme zabývat pouze elektrickými signály a to konkrétně EEG, EMG, ECG a EOG. Elektrické signály lidského těla (elektrické biosignály) jsou generovány nervovými a svalovými buňkami a jsou výsledkem elektrochemických procesů uvnitř buněk a mezi buňkami. Biosignály slouží v biologii a lékařství k vyjádření informací o sledovaném biologickém systému lidském organismu. Elektrické biosignály lze snímat plošnými elektrodami na povrchu těla. [6] [4] 4.1 EEG Elektroencefalograf snímá elektrickou aktivitu mozku z povrchu hlavy. U EEG se zaznamenává změna hodnoty amplitudy signálu v čase. V EEG se objevují různé frekvence. Klinicky významné jsou tyto 4 pásma: Delta (0-4 Hz), Théta (4-8 Hz), Alfa (8-13 Hz) a Beta (13-30 Hz). Alfa vlny se objevují, pokud má pacient zavřené oči. A to především na zadních kanálech. Pomocí měření EEG signálu se dají rozpoznat různé onemocnění jako: astmatický záchvat, nádor mozku, či porucha spánku. Poruchy spánku se mohou projevovat různě, od nemožnosti usnout, přes náměsíčnost, až po spánkovou apnoi, kdy pacient i několik vteřin nedýchá. EEG signál se výrazně mění s věkem pacienta. Obrázek 5: Ukázka úseku EEG záznamu Rozložení elektrod po povrchu hlavy je rovnoměrně rozdělené, aby zachytily co nejvíce elektrických signálů. Na obr. 5 je ukázka měření, které mělo využité kanály (Fp1, Fp2, 11
A, O2, O1, F7, Fz, T3, F8, Cz, T4, T5, T6). Toto rozložení kanálů se nazývá 10/20 [5], nebot elektrody jsou od sebe vzdáleny 10-20 - 20-20 - 20-10% z její celkové délky. Existují i jiná rozložení, ale ta mají jiný počet kanálů. Kanály jsou pojmenovány podle počátečních písmen latinského pojmenování oblastí mozku, nad kterými jsou umístěny. Fp - frontpolární, F - frontální, P - paritální, T - temporální, O - okcipitální a C - centrální. Lichá čísla se nacházejí nad levou hemisférou a sudá čísla nad pravou. Jednotlivé elektrody se rozdělují na dvě skupiny: explorační a referenční. Jsou tu dvě hlavní možnosti zapojení: referenční a bipolární. U Referenčního zapojení je explorační elektroda měřena proti referenční elektrodě. Toto řešení je velice jednoduché, pokud se zvolí správně referenční elektroda. Nejčastěji se používá referenční elektrody umístěné na uších pacienta, nebo vytvořením referenční elektrody pomocí zprůměrování signálu ze všech eletrod. Bipolární je zapojení párové. Všechny elektrody jsou zapojeny v páru a jsou měřeny proti sobě. Není jeden referenční svod, proti kterému by měřily všechny elektrody, jako je to u referenčního zapojení. Výhodou této metody je přesnost lokalizace ložiska. Obrázek 6: Rozložení elektrod při měření EEG 4.2 EKG Electrokardiograf (EKG) snímá elektrickou aktivitu srdce z povrchu těla. Standartizované měření se provádí pomocí 12-ti svodového EKG měření, nebo holtru, který vám dokáže měřit srdeční aktivita po celý den. Na výsledném signálu je popsáno 5 fází, které se značí P, Q, R, S a T. Nejvýraznější je R fáze, pomocí níž se vypočítá tep. Zjistí se špička - 12
špička za čas a převede se na jednu minutu. 4.3 EMG Electromyograf(EMG) snímá elektrickou aktivitu svalů z povrchu těla, nebo přímo ze svalů. U spánkových záznamů se tato aktivita měří na bradě pacienta. [2] 4.4 EOG Electrookulograf (EOG) snímá elektrickou aktivitu z povrchu hlavy (okolo očí). Používá se různé uspořádání podle počtu použitých kanálů. Okolo obličeje se umístí 1, 2, nebo 4 elektrody. Oční pohyby jsou důležité pro správnou detekci spánkové fáze REM, nebo probuzení pacienta. [2] 4.5 PSG Polysomnografie (PSG) je simultální záznam několika tělesných funkcí organismu prováděný během spánku. Na obr. 7 je ukázka PSG záznamu bez EEG kanálů. Kanály na obr. 7 jsou v tomto pořadí EKG, 2xEOG, 3xEMG. Na první pohled je vidět, že EKG signál je nejjasněji definovatelný. Navíc je to signál, kterým se lékaři zajímají nejdéle. [2] Obrázek 7: Ukázka ostatních biologických signálů 13
5 Spánek Normální lidský spánek je rozdělen na dvě základní fáze NREM (fáze bez rychlých očních pohybů z angl. non-rapid eye movement) a REM (fáze rychlých očních pohybů z angl. rapid eye movement). [2] 5.1 REM REM fáze tvoří 20-25% spánku. První REM fáze příchází asi 60-90 minut po usnutí. EEG během REM fáze ukazuje tzv. pomalé delta vlny (1-2 Hz). Je doprovázené nízkým napětím. Na základě měření EEG, EOG a EMG můžeme REM fázi rozdělit na dvě fáze tonic a phasic. Pro tonic fázi je charakteristické desynchronizace EEG, ochablost svalů a potlačení monosynaptického a polysynaptického reflexu. V phasic fázi se objevují rychlé oční pohyby všemi směry, spojené s výkyvy tlaku, změnou srdeční frekvence, pohyby jazykem a nepravidelným dýcháním. Na EEG se zobrazují pilovité vlny s frekvencí v rozmezí theta vln. Během REM spánku může dojít k několika apnoe (zástava dechu) nebo hypopnoe (mělké dýchání). [2] [14] 5.2 NREM NREM se dále dělí na další 4 stupně (1, 2, 3 a 4, viz. obr. 8), kde stupně 3 a 4 odpovídají hlubokému spánku. V celé NREM fázi strávíme 75-80% doby spánku. V 1. stupni NREM fáze spánku strávíme přibližně 3-8% z celkového spánkového času. Stupeň 1 se nejčastěji vyskytuje při přechodu mezi bdělostí a dalším stupněm spánku nebo následuje po probuzení. V prvním stupni spánku se na elektroencefalografu (EEG) objevuje Alfa aktivita (8-13 Hz), která je typická pro bdělost, snižuje. Nejvyšší amplituda se přesune do oblasti Theta (4-8 Hz). Elektromyogram (EMG) měří sníženou aktivitu a elektrookulogram (EOG) ukazuje pomalé kroužení očí. Vertex ostré vlny (50 až 200 ms) nastupují směrem ke konci 1. stupně NREM spánku. 2. stupeň NREM fáze spánku začíná přibližně 10-12 min po 1. stupni NREM spánku a zahrnuje 45-55% z celkového spánkového času. Charakteristické EEG nálezy druhého stupně NREM fáze spánku jsou spánková vřeténka a K-komplexy. Spánkové vřeténko je popsáno 12-14 Hz trvá nejméně 0,5 s a tvarem připomíná vřeteno. K-komplex je grafoelement, který obsahuje dvě složky: negativní vlnu následovaná kladnou vlnou, trvalé více než 0,5 s. V tomto stupni spánku se objevují delta vlny (0,5-4 Hz). Činnost EMG je snížena ve srovnání s bdělostí. 14
3. a 4. stupeň NREM fáze spánku představuje 15-20% z celkové doby spánku. Pro třetí stupeň je charakteristický menší počet vysokých špiček a pomalá vlnová činnost. Narozdíl od čtvrtého stupně, kde se vyskytuje velké množství vysokých špiček. EOG neregistruje žádné oční pohyby od druhého do čtvrtého stupně NREM fáze spánku. [2] [14] Obrázek 8: EEG záznam pro jednotlivé NREM fáze spánku u mladého dospělého člověka, šipka ukazuje na K-komplex [3] 5.3 Hypnogram Hypnogram je součástí polysomnografie (PSG), více parametrického testu, který se zabývá diagnostikou spánkových poruch a spánkem samotným. Jedná se o graf závislosti fáze spánku na čase (viz. obr. 9). Pro člověka je spánek velice důležitý. Aby splnil spánek svůj účel, musí obsahovat některé fáze. Požadavky člověka se s věkem mění. Jiný hypnogram bude mít 70 letý člověk a jiný roční dítě. Dále se hypnogramy můžou dělit dle standardu, který zobrazují (viz. kapitola 5.4). Spánek začíná krátkou periodou NREM fáze 1. stupně, dále postupuje do druhého, následován 3 a 4. Na konec dorazí do REM fáze. Nicméně v této fázi nezůstane po zbytek noci, ale spíše se střídají NREM a REM fáze po celou noc (viz. obr. 9). Délka prvního cyklu je 70-100 minut, druhý a všechny následující cykly trvají déle, 90-120 minut. U zdravých dospělých jedinců se s postupem noci prodlužují REM fáze, nejdelší jsou v poslední 15
třetině spánkového cyklu. S postupem spánku se u stupeň, stupně 3 a 4 úplně zmizí. [3] NREM fáze objevuje pouze druhý Obrázek 9: Popis fází spánku u mladého dospělého člověka [3] 5.4 Skórovací systémy Skórovací systémy se využívají k ohodnocení různých fází spánku (viz. kapitola 5). Každá fáze má své specifické prvky a navíc má i různý vliv na člověka. Všechny fáze jsou během noci potřebné. 5.4.1 Historie skórovacích systémů Když lidé začali zaznaménavat spánkové EEG, všimli si ústupu alfa vln, K-komplexů a dalších změn. Začali spánek rozdělovat do 5 fází (A-E). V roce 1957 pánové Kleitman a Dement [7] připojili k EEG i EOG a poprvé zaznamenali REM fázi. Následně spánek hodnotili těmito 6 fázemi (A-E a REM). [15] 5.4.2 Rechtschaffen and Kale V roce 1968 pánové Rechtschaffen a Kale [8] sepsali pravidla pro hodnocení jednotlivých fází spánku, který rozděloval spánek na W (vzhůru z angl. wakefulness), 1-4 stupně NREM a REM fáze. Dále zavedli standarty na snímání spánkového EEG. Použití minimálně jednoho svodu C3 nebo C4 spolu s EOG na obou očích. Doporučovali rozdělení EEG záznamu na 30 vteřinové úseky, původně z technického hlediska, aby stíhali tiskárny. Následně každým 30 vteřinám přidělili jednu fázi, pokud se v jedné periodě vyskytovaly znaky dvou různých fází, označilo se to jako ta, co má těchto znaků více. [15] 16
5.4.3 AASM V roce 2004 se American Academy of Sleep Medicine (AASM) rozhodla sestavit nový spánkový bodovací systém, který nahradí původní systém. Stanovení pravidel se drželo těchto zásad: být v souladu s potvrzenými závěry, být založeny na biologických principech, použitelné pro diagnostiku normálního i abnormálního spánku a být snadno použitelná pro vědce, techniky i lékaře. V roce 2007 byl vydán nový standart hodnocení spánkových fází. Hlavními změnami jsou: Možnost použití více předních svodů u EEG, starší systém dovoloval pouze jeden přední svod. Došlo ke sloučení 3 a 4 stupně u NREM fáze, nebot mezi nimi nebyly zjistěny žádné rozdíly. Nový AASM bodovací systém rozlišuje W (vzhůru), N1-N3 (3 NREM stupně) a REM fázi. [15] V roce 2008 EU vytvořila studii s 72 pacienty, které nechali ohodnotit spánkový cyklus AASM a R and K systémy. Celková schoda u AASM byla 82% oproti 80,6% u R and K. Nový systém vyhodnocování přinesl zlepšenou detekci všech fází spánku. Výsledky této studie potvrzují, že vylepšení hodnotícího systému bylo úspěšné. [13] Obrázek 10: Srovnání úspěšnosti hodnocení dvou skórovacích systémů [13] 17
6 WEKA Weka patří k nejrozšířenějším programům strojového učení. Pochází z Waikakské univerzity na Novém Zélandu (Waikato Environment for Knowledge Analysis) a proto tento název. Umožňuje snadné a rychlé sestavení rozhodovacích stromů, které by jinak byly jen těžko ručně sestavitelné, nad obrovkým množstvím dat. [12] 6.1 ARFF Weka pracuje s daty v ARFF formátu, který se skládá ze dvou částí, hlavičky a dat. V hlavičce se nachází definice všech proměných, které jsou použity společně s hodnotou, které mohou nabývat. Obrázek 11: Ukázka hlavičky ARFF formátu Následně v datové části je na každém řádku jedna hodnota pro jednu proměnou. Počet řádků zavisí na počtu segmentů. Obrázek 12: Ukázka dat ARFF formátu 6.2 Rozhodovací stromy Jednou z funkcí Weky je sestavení rozhodovacího stromu. Jeden z příznaků označíme jako třídu, podle které se budeme snažit rozdělit daná data. Program si rozdělí celou množinu dat na dvě části, trénovací a testovací. Pomocí vstupních parametrů můžeme upřesnit rychlost větvení a minimální počet prvků ve výsledných uzlech. Tím měníme celkovou velikost stromu. Trénovací množina by měla odpovídat asi jedné třetině dat, jinak bude 18
výsledek negativně ovlivněn. Pokud by jsme použili více trénovacích dat, strom bude moc konkrétní a na dalším příkladu nebude použitelný. Samotná Weka obsahuje mnoho různých typů rozhodovacích stromů podrobnější informace se dají nalézt v kapitole 11. Obrázek 13: Ukázka rozhodovacího stromu. Na obr. 13 je vidět úkázkový rozhodovací strom. Cílem tohoto stromu je rozhodnout, zda půjdeme ven, nebo zůstaneme doma. Počáteční uzel je otázka: Jak vypadá obloha?. Odpovědi mohou být tři: je jasno, je zataženo, prší. Pokud je jasno, tak strom pokračuje další otázkou tentokrát na vlhkost vzduchu. Pokud je vlhkost nad 75% zůstaneme doma (odpověd je NO, nepůjdeme ven), atd. 6.3 Selekce příznaků Další funkce slouží k ohodnocení jednotlivých příznaků, podle užitečnosti k rozdělení na správné třídy. Tato metoda je bohužel dost konkrétní, takže u každého měření se pohybují mezi nejlépe hodnocenými trochu jiné příznaky. Více informací je uvedeno na [11]. 19
7 ROC křivka a její parametry ROC analýza hraje v dnešní době významnou roli v lékařství při diagnostice. K sestavení ROC křivky je využito binární klasifikace, která se zabývá rozdělením dané množiny objektů na základě přítomnosti, či nepřítomnosti určité vlastnosti, například při testování, zda pacient trpí, či netrpí určitou nemocí. ROC křivka zachycuje vztah mezi specificitou a senzitivitou, které patří k nejdůležitějším parametrům pro hodnocení a grafické znázornění rozhodovacích pravidel. Grafem ROC křivky je dvourozměrný graf, kde na osu x nanášíme pravděpodobnost špatného zařazení objektů, které jsou ve skutečnosti negativní (1 - Specificita), a na osu y pravděpodobnost správného zařazení pozitivních objektů (Senzitivita), napříč všem možným dělícím bodům. Pro každou hodnotu dostaneme právě jeden bod na ROC křivce. Výsledkem je funkce, která popisuje ROC křivku (viz. obr. 15). Dále sestavíme tzv. matici záměn (viz. obr. 14). Tato matice je tvořena 2 sloupci a 2 řádky. [18] Obrázek 14: Matice záměn Označení použitá v tabulce na obr.14: TP - (z angličtiny True Positive) - jedinci, kteří jsou ve skutečnosti pozitivní a klasifikační pravidlo je zařadilo mezi pozitivní FN - (z angličtiny False Negavite) - jedinci, kteří jsou ve skutečnosti pozitivní avšak klasifikační pravidlo je zařadilo mezi negativní FP - (z angličtiny False Positive) - jedinci, kteří jsou ve skutečnosti negativní avšak klasifikační pravidlo je zařadilo mezi pozitivní TN - (z angličtiny True Negative) - jedinci, kteří jsou ve skutečnosti negativní a klasifikační pravidlo je zařadilo mezi negativní K vytvoření této matice u řešení, které obsahuje 3 a více tříd, je potřeba použití malého triku. Vytvoříme stejný počet matic, jako je počet tříd a pokaždé označíme jednu třídu jako TP, pokud je segment z této třídy správně označený. A zbylé, které jsou také 20
správně označíme TF. Následně spočítáme průměrné výsledky ze všech matic, výsledek nám dá výslednou matici, kterou použijeme. Parametry [18]: Senzitivita vyjadřuje pravděpodobnost, že test dá kladný výsledek u pozitivního objektu. TPF (z angličtiny True Positive Fraction), neboli relativní četnost správně klasifikovaných pozitivních případů. T P F = T P T P + F N Specificita vyjadřuje pravděpodobnost, že test dá záporný výsledek u negativního výsledku. TNF (z angličtiny True Negative Fraction), neboli relativní četnost správně klasifikovaných negativních případů. T NF = T N F P + T N AUC (viz. obr. 15) (z angličtiny Area Under Curve), neboli plocha pod ROC křivkou je nejběžnější kvantitativní index popisující ROC křivku. Vhodný k porovnání dvou ROC křivek, kdy celou ROC křivku zredukuje do jedné veličiny. Jelikož je AUC část jednotkového čtverce, jeho hodnota bude vždy mezi 0 a 1. (1) (2) AUC = 1 0 ROC(p)dp (3) Obrázek 15: Graf popisující plochu pod křivkou 21
8 Řešení 8.1 Navržená metodologie Na obr. 16 můžeme vidět použitý postup při získávání pravidel. Z původního PSG si pomocí PSGLabu necháme napočítat různé příznaky signálu. Pomocí programu WEKA a lékařských knih budou sestaveny základní pravidla, která budou aplikována v aplikaci Fel Ex Expert. Obrázek 16: Způsob sestavení pravidel Každé další spuštění programu, už tyto pravidla nebude generovat, ale pouze aplikovat. Pomocí PSGLabu si necháme opět spočítat příznaky zadaného signálu, které slouží jako vstupní databáze pro program Fel Ex Expert. Výstupem programu bude hypnogram, který je záznamem spánku s rozlišením jednotlivých spánkových fází. Na obr. 17 je hypnogram uveden v bloku Java GUI - vykreslení grafu. Obrázek 17: Blokové schéma navržené metodologie Z obr. 17 a obr. 18 je vidět, že navržená metodologie systému by mohla být uplatněna i na typově rozdílné úlohy. Systém by byl naprosto schodný, kromě bloku výběr dotazů (neboli Ontologie). Tento blok by musel být nahrazen novou sadou dotazů a pravidel, vytvořených podle požadavků úlohy. 22
Obrázek 18: Blokové schéma expertního systému, který bude diagnostikovat spánkové poruchy už z hotového hypnogramu. V kapitole 10 jsme tuto variantu netestovali. Nebot některé spánkové fáze si jsou velice podobné a v řadě případů se ani neurologové neshodnou na jeho hodnocení. Proto jsme sjednotili 4 fáze do dvou a původní počet šesti různých fází snížili na 4. Došlo ke sloučení NREM1 a NREM2 do jedné fáze NREM1-2 a NREM3 a NREM4 na NREM3-4. Obě tyto dvojice jsou si velice podobné a je dost obtížné je odlišit. Každý odvozený příznak EEG signálu je ohodnocen jedním číslem v rozmezí 0-1. K vytvoření této hodnoty má každý příznak svojí specifickou funkci. Tento nanormovaný příznak je vstupní hodnota, která ovlivní hodnotu výstupních stavů s kterými je svázána. 8.2 Použitá data V této práci byly použity dva typy dat, lékařské EEG záznamy a laboratorní data. Všechna data, která byla k dispozici, byla typu EaSys ( *.D ). 8.2.1 Klinická data K experimentům jsme měli k dispozici spánkové EEG záznamy. Tyto záznamy byly měřeny v nemocnici Na Bulovce a psychiatrické léčebně Bohnice. Získali jsme 25 EEG záznamů měřených v noci na zdravých pacientech. Záznamy jsou od 5 do 9 hodin dlouhé a vzorkovací frekvence je 250 Hz. Záznamy obsahují 10 EEG kanálů, 1-2 EOG kanály, 1-2 EMG kanály, ECG kanál, dechový záznam a saturace krve kyslíkem (Sp02). Všechny záznamy byly ohodnoceny neorology a byly označeny po 30 vteřinových úsecích. [10] 23
8.2.2 Laboratorní data Druhá sada záznamů jsou data, vytvořená pro potřeby této úlohy. Tyto záznamy byly naměřeny v laboratoři skupiny Biodat (Katedra Kybernetiky, Elektrotechnická Fakulta, ČVUT). Data mají délku 50-60 s a obsahují pouze EEG kanály. Jsou na nich úmyslně zaznamenány dva artefakty (svalová aktivita a mrknutí). 8.3 Metody předzpracování dat Z každého PSG signálu bylo napočítáno přes 120 různých příznaků, které jsme si nechali vyexportovat do ARFF formátu. Tyto příznaky jsou popsány v disertační práci [10]. Jeden spánkový záznam obsahuje přibližně 20 kanálů (16x EEG, EOG, EMG, ECG) s průměrnou délkou přes 8 hodin. A proto je vstupní sada dat obrovská. Z tohoto důvodu vyplynulo použití segmentace na 30 vteřinové úseky. Výsledkem je matice přibližně o 960 řádcích a 2400 sloupcích. Každý řádek odpovídá jednomu segmentu (8 hodin x 60 minut x 2 segmenty v jedné minutě = 960 řádků). Sloupce jsou spočítané příznaky všech kanálů v daném segmentu (120 příznaků x 20 kanálu = 2400 sloupců). PSGLab [9], který je používám při výpočtu jednotlivých příznaků, zvládá i adaptivní segmentaci, která rozděluje signál na úseky různé délky. Snahou je, aby v každém segmentu byl signál, co nejvíce stacionární. Tímto by se ale zvětšil počet řádků a společně s faktem, že všichni doktoři, kteří záznamy hodnotí, používají také 30 vteřinové rozdělení, tak jsme zůstali u této varianty. Zároveň také můžeme využít ohodnocené záznamy samotnými lékaři. Po provedení těchto experimentů jsme došli k závěru, že hodnocení spánku bude výrazně složitější úlohou, než by se zdálo z původní lékařské literatury. Nebot hlavním cílem této práce je vyzkoušení práce expertního systémů pro zpracování PSG signálů, rozhodli jsme se zjednodušit úlohu a splnit tento cíl. Přešli jsme tedy k detekci artefaktů v EEG signálu. Byly naměřeny krátké záznamy, o délce 50-60 sekund. Na těchto záznamech byly měřeny pouze EEG kanály. Pro jednoduchost jsme se rozhodli detekovat pouze dva artefakty, mrknutí a svalovou aktivitu. Třetí stav, který je vždy mezi těmito dvěma, je klidový stav s otevřenýma očima. Na obr. 19 je vidět, že kanály mohou mít své průběhy velice rozdílné, například na kanálech Fp1 a Fp2 se mrknutí projeví špičkou směrem dolů, ale na všech ostatních špičkou směrem nahoru. Příprava vstupní databáze na konzultaci s programem Fel Ex Expert není nejjednodušší, nebot jsme nechtěli 18x spouštět program nad skoro stejnými daty a následně zpracovávat 18 výsledků do jednoho. Využili jsme funkce psglab averaging signals.m, která spočítá průměr přes vybrané elektrody a výsledek uloží jako další kanál. Na obr. 6 je vidět rozložení jednotlivých kanálů po povrchu hlavy měřené osoby. Tento kanál má označení MEAN a pomocí PSGLabu spočítáme vhodné příznaky pouze u toho kanálu 24
Obrázek 19: Ukázka EEG záznamu s artefakty. Jednotlivé artefakty jsou označeny: OO(Otevřené oči), MR(Mrknutí) a SA(Svalová aktivita). Značky jsou umístěny na horním řádku, kanál Fp1. a výsledky použijeme jako vstupní hodnoty do aplikace Fel Ex Expert. Následně srovnáme výsledky dosažené s novým kanálem a některým z původních. Protože průměrování signálu u EEG není vhodná varianta slučování, může dojít k vyrušení a výsledná informace se ztratí. Pro tento typ úloh by bylo možné použít PCA analýzu (analýza hlavních komponent). Vstupní databáze pro program Fel Ex Expert musí odpovídat formátování, které umí zpracovat. Jedná se o relační databázi, která je oddělována pomocí čárek a nových řádků. První řádek musí obsahovat atributy, na které se bude program dotazovat. Na první pozici na každém řádku se nachází jedinečný klíč používaný k indexaci záznamů. Pomocí Matlabu, přesněji toolboxu PSGLab, který obsahuje funkci psglab export to weka.m, jsme vytvořili novou, podobnou funkci psglab export to fel expert.m. V kapitole 6 jsme popisovali formátování dat ARFF, které používá program Weka. Program Fel Ex Expert potřebuje podobné informace, pouze přeformátované do odpovídajícího tvaru. U toho postupu nastal jeden problém, který se týká příznaků, které začínají číslem. U Fel Ex Expertu není možné položit otázku, která začíná číslicí. Proto musíme použít před všechny příznaky název kanálu, který sice může být pro všechny příznaky shodný, ale je to podstatné, aby jsme mohli využít příznaků jako jsou: 1st diff mean, 1st diff max, atd. Výstupem naší funkce (psglab export to fel expert.m) jsou dva textové soubory. Soubor features-02s-id0001-fel-expert.txt obsahuje všechny napočítané příznaky pro vybrané kanály. Druhý soubor features-02s-id0001-fel-expert-results.txt obsahuje správné ohodno- 25
cení jednotlivých segmentů. Tento soubor bude použit při zpracování kvality ohodnocení. 8.4 Rozhodovací pravidla K dosažení efektivního využití programu Fel Ex Expert jsme museli nejdříve zformulovat pravidla, podle kterých budeme rozhodovat o jednotlivých třídách. Jednotlivá pravidla jsme už četli v kapitole 5. Ale následné aplikování se liší lékař od lékaře. Proto jsme se rozhodli pro sestavení pravidel pomocí programu Weka. Vybrali jsme si 4 různé záznamy, které byly ohodnoceny stejným doktorem. U všech 4 záznamů byly napočítány stejné příznaky. Program Weka nám poskytnul 2 možné způsoby, jak určit vhodná pravidla: sestavením rozhodovacího stromu, nebo ohodnocením jednotlivých příznaků. 8.4.1 Rozhodovací strom Tato metoda využije všech příznaků, které jsou k dispozici. Bohužel u každého měření se tento strom vytvoří velice odlišný. Pokoušeli jsme se upravovat parametry (rychlost prořezávání a minimální počet prvků na větvi) jednotlivých stromů. V základním nastavení se algoritmus pokusí vytvořit co nejlepší rozhodovací strom, který dosahuje přijatelných výsledků (kolem 80% úspěšného hodnocení). Bohužel je to obrovský strom, který by bylo velice složité použít ve Fel Ex Expertu. Proto jsme se snažili měnit nastavení a najít hranici, kdy bude výsledek dostatečně přesný a strom bude méně složitý. Použitou metodou na generování stromů je algoritmus J48. Hodnota prořezávání je nastavena na 0.25 a minimální počet prvků na větvi je 40. Oba tyto parametry výrazně ovlivní rozvětvení výsledného stromu. Další nevýhodou rozhodovacích stromů bylo jejich přeučení, nebot byli trénovány a testovány na stejných datech. Dochází k velké specializaci pravidel, která vede k dobrým výsledkům nad těmito záznamy, ale horším nad jinými. Ověření této teorie jsme provedli pomocí vybrání dvou záznamů. Jeden jsme označili jako trénovací a druhý jako testovací. Tento test jsme prováděli na 3 záznamech, to nám dává 6 možných kombinací. Obrázek 20: Výsledky jednotlivých měření. přesnost klasifikace [%] Z tabulky na obr. 20 můžeme vidět, že na pořadí záznamů moc nezáleží. Jednotlivých tříd, kterými je záznam ohodnocen, by mělo být u zdravého spánku přibližně stejně. V našem případě bylo rozložení tříd v záznamech následující (viz. obr. 21). 26
Obrázek 21: Rozložení jednotlivých tříd v záznamech. Výsledkem této nerovnosti jsou větší odchylky v přesnosti, když byl do měření zahrnut záznam číslo 3. Pokud by jsme se rozhodovali náhodně, tak by naše pravděpodobnost správného ohodnocení byla 25%. Všechny zvolené metody jsou lepší, než náhodný výběr. Bohužel je vidět, že při tvoření pravidel nad jedním záznamem a aplikováním nad druhým, je výsledek neuspokojivý. Navíc program strojového učení využívá veškeré napočítané příznaky, které mu předložíme, ale vůbec nebere v potaz pravidla, kterými se řídí lékaři. 8.4.2 Hodnocení příznaků K vyhodnocení nejužitečnějších příznaků jsme využili pouze některé kanály. A toto řešení jsme ověřili nad kanálem F7. Vynechali jsme i EOG, EMG a EKG kanály. Algoritmus hodnocení příznaků se nazývá InfoGainAttributeEval. Tato metoda ohodnotí každý příznak hodnotou, která odpovídá jeho vlivu na výsledné rozlišení tříd. Nebylo použito více kanálů, nebot jsme chtěli porovnávat kvalitu jednotlivých příznaků a ne kanalů. První číslo udává hodnotu s jakou úspěšností jde tento příznak použít na rozdělování do tříd. Tyto hodnoty fungují jako podmíněné pravděpodobnosti, takže klasickým součtem hodnot nedosáhneme na 100% úspěšnost. Druhé číslo je pouze číslo parametru. Obrázek 22: Ohodnocení kvality jednotlivých parametrů na datasetu 1 Obrázek 23: Ohodnocení kvality jednotlivých parametrů na datasetu 2 V tabulce na obr. 26 můžeme vidět 6 nejčastěji vyskytovaných příznaků mezi deseti nejlépe hodnocenými. Tyto parametry jsou podle výsledků, které nám nabídl program 27
Obrázek 24: Ohodnocení kvality jednotlivých parametrů na datasetu 3 Obrázek 25: Ohodnocení kvality jednotlivých parametrů na datasetu 4 Weka, nejvhodnější na hodnocení tříd. Jedná se o EEG parametry, které budou doplněny o ECG, EOG a EMG. Přesný popis významů jednotlivých parametrů je k nalezení v kapitole 7.1 v disertacni praci [10]. Obrázek 26: Průměr výsledků z 5 různých měření 8.4.3 Závěrem k pravidlům Pomocí metody NaiveBayes jsme si nechali spočítat úspěšnost rozdělení do jednotlivých tříd. U každého záznamu bylo dosaženo vysoké úspěšnosti nad 85%, ale pokaždé byla pravidla úplně jiná. Na obr. 27 jsou zobrazeny hodnoty příznaku medián pro 4 různé záznamy. Všechny záznamy byly hodnoceny stejným expertem a byly měřeny stejným přístrojem na stejném pacientovi, který simuloval pouze dva stejné artefakty v náhodném pořadí. U každého záznamu máme vypsanou průměrnou hodnotu příznaku, počet výskytů a přesnost. Přesnost udává vhodnost použití příznaku k rozlišení jednotlivých tříd. Jak je vidět, tak první a druhé měření si jsou velice podobná. Pomocí tohoto příznaku by se dala výborně rozlišit svalová aktivita, nebot hodnota této třídy je o řád vyšší, než u ostatních dvou tříd. Bohužel v dalších dvou měřeních je tato hodnota jiná. Nejvyšší průměrnou hodnotu má artefakt mrkání, a to dvojnásobně než artefakt svalové aktivity. 28
Obrázek 27: Parametr median u jednotlivých záznamů Zvýšení průměrné hodnoty u mrknutí může být způsobeno artefaktem, že pacient v době svalové aktivity mrknul. Výsledkem je, že daný kousek je označen jako mrknutí a průměrná hodnota je zvětšena o hodnotu svalové aktivity. Ale nevidím žádný důvod, proč by měla mít pouze svalová aktivita menší průměrnou hodnotu, než v předešlém měření. Výsledkem je, že pravidlo postavené na tomto příznaku se dá použít pouze na detekci artefaktů, a ne na rozlišení jednotlivých tříd od sebe. Obrázek 28: Parametr median ze všech 4 záznamů Na obr. 28 je vidět průměrná hodnota tohoto příznaku, když jsme data ze všech 4 měření spojili do jednoho souboru a nechali spočítat stejnou metodou. 8.5 Chyba vstupních dat V našem experimentu s detekcí artefaktů byla vstupní data ohodnocena ručně, a jak je vidět na obr. 19, na každém kanálu může artefakt začínat v jiném čase. Toto by v praxi u spánkových záznamů nemělo valný význam, nebot úseky jsou segmentovány po 30 vteřinách. Bohužel v našem případě, kdy máme segmentaci po 0,2 vteřiny, je tento efekt znatelný. Následně záleží pouze na kanále, který bude zvolen. Nastávají případy, kde první segment, který ještě není artefaktem, ale na záznamu je označen jako artefakt, je vyhodnocen správně jako klidový stav, ale podle původních výsledků by to měl být artefakt. Tato chyba nám negativně ovlivňuje méně jak 5% segmentů. 29
8.6 Provázání s aplikací Fel Ex Expert Fel Ex Expert má různé možnosti na přepočet vstupní hodnoty na pravděpodobnost. Všechny tyto možnosti jsou ukázány nad vzorovými příklady, nebot v našem případě komunikuje Fel Ex Expert rovnou s databází. Takže tyto okna nejsou vůbec viditelná. Dialogové okno 29 slouží k výběru hodnoty z předdefinovaných možností. Obrázek 29: Dialogové okno - výběr z možností. Dialogové okno 30 slouží k zadání číselné hodnoty. Obrázek 30: Dialogové okno - číselná hodnota. Dialogové okno 31 slouží k určení pravdivosti položené otázky. Pokud zadáme prostřední variantu Don t know bude tato otázka vynechána a výsledné hodnoty uzlů se po této otázce nezmění. Dialogové okno 32 zobrazí výsledek konzultace. Výsledky jsou seřazeny podle jejich výsledné pravděpodobnosti. První sloupec je index, v druhém sloupci je název 30
Obrázek 31: Dialogové okno - činitel jistoty. cílového uzlu. Třetí sloupec obsahuje počateční pravděpodobnost uzlu a čtvrtý sloupec je pravděpodobnost stavu po konzultaci. Obrázek 32: Výsledky konzultace 8.6.1 Pravidla pro detekci artefaktů Dalším krokem byla realizace navržených pravidel, podle kterých bude daný systém pracovat. V tomto kroku jsme se snažili využít závěry ze všech předchozích pokusů strojového učení. Na obr. 33 je vidět schéma navrženého systému. V horní řadě jsou vstupní příznaky, spodní řada jsou cílové uzly. Šipky vedoucí z počátečních příznaků jsou pravidla, která spojují tyto dva uzly. Na obr. 34 je vidět převodní funkce pro příznak STD (Standardní odchylka). Program Fel Ex Expert si dosadí hodnotu toho příznaku do funkce za proměnou X. Výsledek této rovnice je výsledná hodnota, kterou použije Fel Ex Expert k výpočtům. Při sekvenční konzultaci, kterou jsme prováděli se neobjevují dialogová okna, jako jsem uváděl výše. Nebot algoritmus si automaticky nalezne odpověd v databázi. Takže tato forma dialogu je vedena pouze mezi Fel Ex Expertem a textovým souborem, kde je 31
Obrázek 33: Schéma navrženého expertního systému. Obrázek 34: Převodní funkci pro příznak std. databáze uložena. Ačkoli tato konzultace proběhne úspěšně, program skončí zobrazením chybového okna. Tuto chybu se nám nepovedlo odladit. Chyba není způsobena naším kódem, ale vnitřním kódem Fel Ex Expertu. Obrázek 35: Chybové okno. 8.7 Zpracování výstupní databáze Výstupní databáze je generována ve formátu, který je uveden na obr. 36. První řádek obsahuje sloupec, nad kterým je daný program indexován, každý řádek odpovídá výsledku z jednoho segmentu, do kterých byly naměřené kanály rozděleny. Dále se v prvním řádku nacházejí všechny cílové hypotézy. Text není formátován a hodnoty jednotlivých tříd jsou 32
oddělovány pouze čárkou, každý další segment novým řádkem. Výsledkem je pravděpodobnost jednotlivých stavů v daném segmentu. Tento druh hodnocení odpovídá fuzzy logice, části matematické logiky, kde jsou jednotlivé stavy rozlišeny mírou příslušnosti k dané třídě. Tyto stavy se mohou navzájem překrývat. Příkladem nám může být věk člověka. Pokud je 20 letý člověk označen jako mladý a 35 letý člověk jako středně starý, tak se hodnota jejich stavů lineárně mění, jak stárnou. Pokud by bylo jinému člověku 22 let, byl by s hodnotou 0.88 mladý a 0.12 středně starý. Vyjádření těchto stavů přesnou hodnotou je poněkud zvláštní, ale pro člověka je mnohem přirozenější vnímání postupných změn, než náhlých skoků. Pokud máme vodu z kohoutku, také není jen horká a studená. Obrázek 36: Ukázka výstupní databáze. Fel Ex Expert zapisuje výsledky v tomto formátu. Tento výstup má své výhody i nevýhody. Hlavní nevýhodou je nutnost následného zpracování. Výstup ve formátu: oo, sa, mr, kde výsledný stav by odpovídal stavu s nejvyšší pravděpodobností, by byl uživatelsky jednodušší, ale zkomplikoval by ladění programu. Rozhodně je výhodnější vědět jakým směrem se výsledek vyvýjí a o kolik se přibližujeme požadované hodnotě. Výhoda tohoto řešení je, že pokud už se do následného zpracování pouštíme, tak nám tento výsledek poskytuje široké možnosti, jak s ním naložit. Můžeme si nechat zobrazit graf, kde budou jednotlivé stavy zobrazeny pouze pokud jejich pravděpodobnost je vyšší než nějaká hranice. Pokud si necháme zobrazit graf s jistotou nad 90%, může tento graf obsahovat prázdná místa, ale zase máme jistotu, že zobrazené stavy jsou správně klasifikované. Samozřejmě nám to nabízí možnost zpětné kontroly výsledků, nebot pokud si necháme vykreslit graf s jistotou 70% nebo více, a jeden segment bude označen více značkami, tak jsme našli slepé místo v definovaných pravidlech. Tento stav by byl pochopitelný a skoro i žádaný, pokud by hranice byla okolo 40% - 50%, nebot by jsme viděli, že se program nedokázal rozhodnout a má dvě varianty s podobnou hodnotou jistoty. Toto nám samozřejmě ukazuje slepá místa. Nebo si necháme vykreslit graf, kde má každý segment přidělenou právě jednu třídu s největšší pravděpodobností. Tento graf nemá žádné neoklasifikované segmenty, ani segmenty s nejednoznačnou klasifikací. 33
9 Java GUI K samotnému zpracování byl použit programovací jazyk Java. V tomto jazyce jsme napsali jednoduché GUI (z angličtiny Graphic User Interface), neboli grafické uživatelské rozhraní, které výrazně ulehčí obsluhu programu všem uživatelům. Toto rozhraní má jednoduché základní menu, kde uživatel vybere 3 textové soubory: Oart.txt je výstupním souborem, který generuje Fel Ex Expert a obsahuje hodnotu příslušnossti k jednotlivých stavů v daném segmentu. features-02s-id0001-fel-expert-results.txt je soubor generovaný PSGLabem funkcí psglab export to fel expert.m k ověření výsledků. define-classes.txt obsahuje čísla a jména jednotlivých tříd, která se vyskytují v datech. Obrázek 37: Ukázka zobrazení GUI 9.1 Debug mode Pokud je program využívám k upřesňování pravidel, nebo hledání slepých míst, zaškrtneme Debug mode. Do textového pole se zadá limit, který určí pravděpodobnost, jakou jsme 34
ochotni akceptovat při procházení řešení za platné. Následně se potvrdí spočítání výsledků. Program vytvoří textové soubory: Differences.txt, který umístí do stejného adresáře jako se nachází soubor Oart.txt. Tento výstup obsahuje index segmentu, kde se klasifikace experta a programu liší. Dále pak obsahuje hodnoty všech parametrů v daném segmentu a klasifikaci programu a experta (viz. obr.38). Results Debug.txt, který obsahuje řešení a je umístěn ve stejném adresáři. Tento výstup obsahuje data ve stejném formátu, jako jsou generovány správné výsledky programem Fel Ex Expert. Obrázek 38: Ukázka výstupu souboru Differences.txt. Do toho souboru jsou data zapisována v tomto formátu. V debug modu jsou počítány pouze jednoduché parametry jako je: úspěšnost správného ohodnocení, počet neohodnocených segmentů a segmentů, které byly ohodnocené více třídami. 9.2 Normal mode Pro vyhodnocení parametrů probramu ponecháme Debug mode vypnutý a program bude hledat v každém segmentu třídu s nejvyšší pravděpodobností a tou daný segment ohodnotí. Jako výstup programu jsou soubory Results.txt a Differences.txt. Zároveň je zobrazeno nové okno, kde jsou napočítány parametry předchozí klasifikace. V tomto okně jsou počítany parametry ROC křivky, protože každý segment je ohodnocen právě jednou třídou. 35