Aktuální vydání

celé číslo

04

2024

Průmyslové roboty a automatizace výrobních a montážních linek

celé číslo

Program pro řešení diagnostických úloh a rozpoznávání vzorů

číslo 5/2006

Program pro řešení diagnostických úloh a rozpoznávání vzorů

K použití při řešení diagnostických úloh z nejrůznějších oborů vyžadujících zpracování hromadných dat byl vytvořen program s názvem Pattern Recognition and Diagnostic Tasks Solver, zkráceně Preditas. Je to program řešící úlohy z oboru rozpoznávání vzorů (pattern recognition), jenž je založen na statistických metodách zpracování dat.

Co je diagnostická úloha

Nechť jisté prvky (objekty, pacienti, situace apod.) jsou charakterizovány skupinou vlastností (příznaky, naměřené hodnoty, výsledky pozorování), tj. svým obrazem. Úkolem je třídit prvky do dvou možných tříd (rozpoznat třídu, rozhodnout o klasifikaci) podle jisté klasifikační vlastnosti, která ale v okamžiku rozhodování není známá (pozorovatelná, měřitelná). Existuje-li soubor prvků, u kterých byla klasifikační vlastnost zjištěna (tj. trénovací, učební soubor), může být úloha úspěšně vyřešena s použitím programu Preditas. Název programu, vypůjčený z medicíny, byl zvolen proto, že vystihuje podstatu řešení. Neznamená to však, že medicína je výhradním oborem jeho použití. Úlohy daného typu se vyskytují ve všech oborech lidské činnosti.

Jak program Preditas pracuje a co poskytuje

Program Preditas analyzuje trénovací soubor, přičemž hodnoty jednotlivých příznaků jsou považovány za náhodné veličiny. Řešení diagnostické úlohy je založeno na metodách statistické diskriminační analýzy a probíhá v mnohorozměrném prvkovém prostoru, kde každá vlastnost prvku je zobrazena na jednu dimenzi tohoto prostoru.

Velmi důležitou fází řešení diagnostické úlohy je vyhodnocení klasifikační významnosti jednotlivých vlastností a jejich vzájemných vztahů. To uživateli umožňuje vybrat jen malý počet nejvýznamnějších vlastností a podstatně zmenšit počet dimenzí vlastní danému problému. Výsledkem řešení úlohy je sekvenční rozhodovací (diskriminační, klasifikační) pravidlo s pravděpodobností chybné klasifikace, kterou si stanoví uživatel. Prvky, jejichž pravděpodobnost chybné klasifikace přesáhne dovolenou mez, jsou označeny jako neklasifikovatelné. Sekvenčnímu diskriminačnímu pravidlu odpovídá v prvkovém prostoru lomená hranice mezi oběma třídami, která je tvořena částmi hyperrovin.

Protože nic není zadarmo, jsou tyto pozitivní vlastnosti řešení diagnostické úlohy podmíněny dostatečnou velikostí a kvalitou trénovacího souboru. Počet sledovaných vlastností a velikost trénovacího souboru jsou omezeny jen technickou výbavou počítače.

Program zpracovává trénovací soubor a uživateli v jednotlivých fázích nabízí dílčí výsledky zobrazené graficky. Uživatel podle těchto výsledků modifikuje postup a volí varianty řešení. Konečný výsledek, rovněž v grafickém tvaru, umožňuje uživateli odhadovat riziko chyby klasifikovaných prvků.

Program Preditas má solidní matematický a statistický základ. Uživatel k posouzení výsledků matematické znalosti nepotřebuje, ale může využít své odborné znalosti a intuici. Součástí programu jsou podrobné návody pro každou fázi řešení (v češtině i v angličtině) a je připojen obsáhlý matematický popis a zdůvodnění zvolených kroků řešení diagnostické úlohy (v angličtině).

Program nabízí trénink i uživateli. Ten si může řešení vyzkoušet na trénovacím souboru, který si sám se zvoleným počtem dimenzí a velikostí vygeneruje a seznámí se tak s možnostmi programu Preditas před zahájením prací na reálné úloze. Získaná základní zkušenost může být velmi užitečná již při vytváření trénovacího souboru.

Vybudováním hierarchické struktury několika základních (tj. právě popsaných) diagnostických úloh lze klasifikovat prvky do více než dvou tříd. Požadavky na trénovací soubor ovšem vzrostou.

Postup řešení diagnostické úlohy

Diagnostická úloha je vždy problém s vysokým stupněm neurčitosti. Je to dáno tím, že prvky trénovacího souboru jsou jen neúplné obrazy skutečných tříděných objektů a získané hodnoty příznaků mohou být zatíženy různými chybami. Výpočetní kroky řešení jsou matematicky korektní, ale postupy mají prvky heuristické a program nabízí v několika místech několik možných variant dalšího postupu. Je na řešiteli úlohy, aby vybral jednu nebo vyzkoušel i ostatní a pak vybral nejlepší. Při řešení diagnostické úlohy je třeba:

  1. Definovat pro daný problém disjunktní třídy.
  2. Zvolit soubor měřitelných (dostupných) vlastností prvků.
  3. Shromáždit data tvořící dostatečně reprezentativní trénovací soubor (program nabízí nástroje pro odhad kvality trénovacího souboru).
  4. Zjistit klasifikační významnost jednotlivých příznaků (v programu jsou k dispozici čtyři metody).
  5. Zvolit počet nejvýznamnějších příznaků (je třeba vyzkoušet několik variant).
  6. Stanovit rozhodovací pravidlo a určit velikost přípustné chyby.
  7. Opakováním dvou předchozích kroků vytvořit sekvenční rozhodovací pravidlo.
  8. Volit varianty počtu příznaků a najít nejlepší řešení úlohy.
  9. Otestovat rozhodovací pravidlo na testovacím souboru, u kterého je známa třída jeho prvků.
  10. Použít získané rozhodovací pravidlo ke klasifikaci neznámých prvků.
  11. Rozšířit neklasifikovanými a novými prvky původní trénovací soubor.
  12. Opakovat řešení úlohy s použitím rozšířeného trénovacího souboru.

Jak lze program Preditas získat

Program Preditas na řešení diagnostických úloh lze získat na webové adrese http://www.preditas.cz. Program je šířen jako freeware, tedy zdarma a bez omezení, ale jeho použití k řešení skutečného problému je podmíněno registrací uživatele. Bez registrace program pracuje pouze v demonstrační verzi, tj. s generovanými soubory.

Příklad řešení diagnostické úlohy

Na uvedené webové adrese je dostupná také ukázka řešení diagnostické úlohy na generovaném souboru. Příklad představuje všechny základní kroky programu a poskytuje všechny informace potřebné pro řešení úlohy.

Historie programu Preditas

Autor nabízeného programu Preditas je spoluautorem metody řešení diagnostické úlohy a autorem programu téhož názvu, který byl v osmdesátých letech minulého století instalován v Ústavu teorie informace a automatizace tehdejší ČSAV a provozován na sálovém počítači IBM 360. Program byl testován na několika úlohách z medicíny, geologie i z technických oborů. Informace o řešených úlohách byly publikovány. Po ukončení provozu počítače IBM tehdejší program Preditas zanikl.

Současný program Preditas je moderní a dokonalejší verze původního programu. Mnohonásobně větší výkony a dostupnost současných osobních počítačů nejenže umožňují získat výsledky téměř okamžitě a ve snadno srozumitelné grafické podobě, ale také vytvářejí nesrovnatelně lepší podmínky pro tvorbu trénovacího souboru, což je nejnáročnější a nejzdlouhavější fáze řešení diagnostických úloh.

Ing. Svatopluk Bláha, CSc.
(svatopluk.blaha@quick.cz)