Neparametrické metody

Slides:



Advertisements
Podobné prezentace
Lineární klasifikátor
Advertisements

VÝPOČET OC.
J. Pokorný 1 DOTAZOVACÍ JAZYKY slajdy přednášce DBI006 J. Pokorný MFF UK
Rovnice roviny Normálový tvar rovnice roviny
Fraktálová komprese obrazu
Problematika a metody zpracování biomed. dat z pohledu jejich klasifikace Marcel Jiřina.
Medians and Order Statistics Nechť A je množina obsahující n různých prvků: Definice: Statistika i-tého řádu je i-tý nejmenší prvek, tj., minimum = statistika.
Lineární algebra.
Diskrétní rozdělení a jejich použití
Vlastnosti funkcí Vypracoval: Mgr. Lukáš Bičík
T.A. Edison Tajemství úspěchu v životě není v tom, že děláme, co se nám líbí, ale, že nacházíme zalíbení v tom, co děláme.
5. Přednáška funkce BRVKA Johann P.G.L. Dirichlet (1805 – 1859)
Formulace a vlastnosti úloh lineárního programování
METODA KONEČNÝCH PRVKŮ
Nechť (, , P) je pravděpodobnostní prostor:
2.2. Pravděpodobnost srážky
Data s diskrétním rozdělením
IGrid index Roman Krejčík. Obsah Motivace Prokletí dimenze Míry podobnosti IGrid, IGrid+ Experimentální porovnání.
Nelineární klasifikátory
Funkce více proměnných.
Tato prezentace byla vytvořena
Lineární regresní analýza
Rozpoznávání vzorů bez učitele (klastrování)
Elektron v periodickém potenciálovém poli - 1D
Reprezentace klasifikátoru pomocí „diskriminant“ funkce
Ekonometrie „ … ekonometrie je kvantitativní ekonomická disciplína, která se zabývá především měřením v ekonomice na základě analýzy reálných statistických.
Klasifikace klasifikace: matematická metoda, kdy vstupní objekty X(i) jsou rozřazovány do tříd podle podobnosti metody klasifikace bez učitele: podoba.
Rozhodovací stromy.
Odhad metodou maximální věrohodnost
Experimentální fyzika I. 2
Vektorová kvantizace (VQ) (Vector Quantization)
© Institut biostatistiky a analýz INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ ANALÝZA A KLASIFIKACE DAT prof. Ing. Jiří Holčík, CSc.
Rozpoznávání v řetězcích
2. Vybrané základní pojmy matematické statistiky
Základy matematické statistiky. Nechť je dána náhodná veličina X (“věk žadatele o hypotéku“) X je definována rozdělením pravděpodobností, s nimiž nastanou.
© Institut biostatistiky a analýz INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ ANALÝZA A KLASIFIKACE DAT prof. Ing. Jiří Holčík, CSc.
Klastrování - III.
© Institut biostatistiky a analýz INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ ANALÝZA A KLASIFIKACE DAT prof. Ing. Jiří Holčík, CSc.
Monte Carlo simulace Experimentální fyzika I/3. Princip metody Problémy které nelze řešit analyticky je možné modelovat na základě statistického chování.
W i ref (t+1) = W i ref (t) + h ci (t) [X(t) - W i ref (t)], i Nc h ci (t) 0, t  proces konverguje Algoritmy a struktury neuropočítačů ASN – P3 SOM algoritmus.
Sylabus V rámci PNV budeme řešit konkrétní úlohy a to z následujících oblastí: Nelineární úlohy Řešení nelineárních rovnic Numerická integrace Lineární.
Vyhledávání vzorů (template matching)
© Institut biostatistiky a analýz ANALÝZA A KLASIFIKACE DAT prof. Ing. Jiří Holčík, CSc.
Odhady parametrů.
Kvadratické nerovnice
Martin Langhammer Antonín Wimberský. ÚVOD PŘEDPOKLADY Jednotný vstup Zadní SPZ Stejný úhel a vzdálenost záběru Pouze vodorovné záběry značek Obdélníkové.
© Institut biostatistiky a analýz INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ ANALÝZA A KLASIFIKACE DAT prof. Ing. Jiří Holčík, CSc.
Inferenční statistika - úvod
Neuronové sítě.
Klasifikace a rozpoznávání Lineární klasifikátory.
© Institut biostatistiky a analýz INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ ANALÝZA A KLASIFIKACE DAT prof. Ing. Jiří Holčík, CSc.
© Institut biostatistiky a analýz ANALÝZA A KLASIFIKACE BIOMEDICÍNSKÝCH DAT prof. Ing. Jiří Holčík, CSc.
Náhodná veličina. Nechť (, , P) je pravděpodobnostní prostor:
Tektonická analýza, podzim 2006, Analýza duktilní deformace IV. Deformace eliptické nebo elipsoidální částice je popsána vztahem: kde A je matice elipsy.
Základy zpracování geologických dat R. Čopjaková.
Odhady odhady bodové a intervalové odhady
Korelace. Určuje míru lineární vazby mezi proměnnými. r < 0
Induktivní statistika
Induktivní statistika
Základy zpracování geologických dat Rozdělení pravděpodobnosti
ANALÝZA A KLASIFIKACE DAT
Klasifikace a rozpoznávání
Regresní analýza výsledkem regresní analýzy je matematický model vztahu mezi dvěma nebo více proměnnými snažíme se z jedné proměnné nebo lineární kombinace.
Funkce více proměnných.
Neuronové sítě.
ANALÝZA A KLASIFIKACE DAT
Pokročilé neparametrické metody Validační techniky
ANALÝZA A KLASIFIKACE BIOMEDICÍNSKÝCH DAT
Induktivní statistika
ANALÝZA A KLASIFIKACE DAT
Transkript prezentace:

Neparametrické metody

Neparametrické metody obsah: princip odhadu hustoty odhad hustoty pomocí metody Parzenova okénka pravděpodobnostní neuronové sítě odhad hustoty pomocí metody kn-nejbližších sousedů odhad aposteriorní pravděpodobnosti pravidlo nejbližšího souseda a pravidlo k-nejbližších sousedů

Neparametrické metody doposud jsme uvažovali učící algoritmy, které předpokládaly znalost hustoty rozdělení v praxi hustoty rozdělení neznáme umíme hustoty odhadnout, pokud mají tvar nějaké „běžné“ funkce hustoty (jako např. normální rozdělení, ...) problém: hustota reálných dat málokdy „pasuje“ na některou z běžných funkcí hustoty neparametrické metody: lze je použít pro libovolné rozdělení bez předpokladu, že známe tvar funkce hustoty rozdělení metod: odhady funkce hustoty p(x|ωj) z trénovacích dat když jsou odhady uspokojivé => použijeme tyto odhady jako skutečné hodnoty do klasifikátoru odhady aposteriorní pravděpodobnosti P(ωj|x)

„hladká zprůměrovaná verze hustoty“ Odhady hustoty metody založené na aproximaci hustoty pomocí histogramu označme P pravděpodobnost, že x padne do oblasti R: když odhadneme P => můžeme odhadnout i p(x) (*) neznáme „hladká zprůměrovaná verze hustoty“

Odhady hustoty nechť máme n vzorů x1, ..., xn vybraných nezávisle podle p(x) spočteme pravděpodnost Pk , že k z n vzorů spadne do oblasti R: tedy Pk má binomické rozdělení a očekávaná hodnota pro k je: binomické rozdělení pro k má ostrý vrchol okolo střední hodnoty poměr k/n bude dobrý odhad pro P (zejména pro velké n) P ~ k/n (**)

Odhady hustoty když oblast je R malá => p se v oblasti R příliš nemění => oblast lze aproximovat obdélníkem: x je bod uvnitř R V je objem R kombinací vztahů (*), (**) a (***) dostaneme, že pravděpodobnost v bodě x lze odhadnout jako: (***) „velikost“ oblasti R pravděpodobnost v bodě x – „výška“ obdélníku pravděpodobnost, že bod x padne do R

Odhady hustoty příklad na zobrazení závislosti odhadnuté p(x) na hodnotě k/n: skutečná P=0.7 každá křivka je binomická - je označena počtem vzorů n a je naškálovaná, aby dala stejnou hodnotu v maximu pro rostoucí n má křivka ostřejší vrchol (pro n→∞ dostaneme Diracovu delta funkci) jak se bude měnit odhad pro n→∞?

Odhady hustoty uvažujme následující postup pro odhad hustoty: vytvoříme posloupnost R1, R2 ... každá Ri obsahuje vzor x R1 pracuje s 1 trénovacím vzorem, R2 pracuje s 2 trénovacími vzory,... označme Vn objem Rn pro pn(x) bude platit: kde kn je počet vzorů, které padnou do Rn pn(x) je n-tý odhad pro p(x) aby pn(x) konvergovalo k p(x), musí být splněno: limn→∞Vn = 0 limn→∞kn = ∞ limn→∞ kn /n = 0 ... ačkoliv velké množství vzorů padne do Rn => musí to být jen malý vzorek z celkového počtu vzorů n

Odhady hustoty 2 nejčastější způsoby, jak získat tyto posloupnosti, aby splňovaly požadované podmínky: zmenšovat počáteční oblast určením Vn jako funkci n např. Vn = 1 / √n pak je nutné ukázat, že náhodná veličina kn a kn/n se budou chovat „patřičně“ => metoda: Parzenovo okénko určit kn jako funkci n např. kn = √n objem Vn roste, dokud neobsahuje kn sousedů x => metoda: k-nejbližších sousedů

Odhad hustoty pomocí metody Parzenova okénka metoda na odhad hustoty, která předpokládá, že oblast Rn je d-dimenzionální hyperkostka hyperkostka se stranou hn má objem Vn: Vn = hnd potřebujeme analyticky zjistit výraz pro kn počet vzorů, které padnou do hyperkostky, budeme definovat pomocí okénka: φ(u) = 1 |uj| ≤ 1/2 pro j=1,...,d 0 jinak => φ(u) definuje jednotkovou hyperkostku vycentrovanou v počátku okénko pro hyperkostku o objemu Vn vycentrovanou v x má tvar: = 1 když xi padne do hyperkostky o objemu Vn vycentrované v x

Odhad hustoty pomocí metody Parzenova okénka počet vzorů, které padnou do této hyperkostky, je: tento výraz dosadíme do a dostaneme odhad hustoty pn(x): aby byl odhad pn(x) funkcí hustoty, pak musí být nezáporný a integrovatelný zde se snažíme aproximovat spojitou funkci p(x) pomocí nespojité skokové funkce φ(u) => náš odhad bude zatížen chybou Parzen tento odhad (*) zobecnil pomocí hladké funkce φ(u) aby docílil toho, že odhad pn(x) bude hustotou => zavedel okénko tak, aby samo bylo funkcí hustoty: φ(u) ≥ 0 a ∫ φ(u)du = 1 => pomocí takového okénka bude funkce (*) již funkcí hustoty a okénko bude mít stejný jednotkový objem (*)

Parzenovo okénko – vliv hn máme definované okénko a chceme zjistit, jak bude okénko ovlivňovat délka okénka hn: zavedeme funkci δn(x): pomocí funkce δn(x) vyjádříme pn(x): protože Vn=hnd => pak hn má vliv na amplitudu (výšku) i šířku funkce δn(x)

Příklady Parzenova okénka příklad (dim=2) Parzenovo okénko má tvar 2D-rotační symetrické normální funkce je zachycen tvar funkce δn pro 3 různé hodnoty hn δn(x) je normalizována => na svislé ose jsou různá škálování

Vlastnosti Parzenova okénka nastavení hn : hn velmi velké: amplituda δn je malá (funkce je nízká) x musí být daleko od xi, aby se δn(x-xi) změnilo od δn(0) hn velmi malé: vrchol δn(x-xi) je vysoký a vrcholu se nabývá blízko x=xi pn(x) bude mít tvar ostrých výběžků vycentrovaných v trénovacích vzorech hn dosáhne 0: δn(x-xi) je Diracova delta funkce vycentrovaná v xi

Příklady Parzenova okénka uvažujme Parzenovo okénko s parametry jako v přechozím případě nyní předložíme 5 trénovacích vzorů pro odhad hustoty pn(x) získaný tvar pn(x) je uveden na obrázku (různé škálování na svislé ose)

Konvergence Parzenova okénka mluvíme o konvergenci posloupnosti náhodných proměnných x je pevná hodnota hn => hodnota pn(x) závisí na trénovacích vzorech x1,...,xn pn(x) má: střední hodnotu rozptyl σn2(x) pn(x) konverguje k p(x), když: pro důkaz konvergence je nutné zavést podmínky na hustotu p(x), okénkovou funkci φ(u) a délku okénka hn důkaz lze najít v literatuře

1. ilustrační příklad (dim=1) chceme odhadnout neznámou hustotu p(x) ve skutečnosti má neznámá hustota normální rozdělení p(x) ~ N(0,1) použijeme okénko, které má tvar Gaussovy funkce: velikost hn definujeme jako: kde h1 je parametr, který ovlivňuje šířku okénka a je nastavitelný uživatelem => pn(x) bude mít tvar:

1. ilustrační příklad – výsledky odhad neznámé hustoty p(x) ~ N(0,1) pomocí metody Parzenova okénka různý parametr h1 pro šířku okénka a různý počet vzorů n

1. ilustrační příklad – postřehy různé iniciální šířky okénka h1 a různý počet vzorů n svislá osa má různé škálování, aby byla vystižena struktura grafu pro n→∞ jsou odhady stejné a odpovídají skutečné hustotě nezávisle na šířce okénka n=1 pn(x) je jediná Gaussovka vycentrovaná v prvním vzoru n=10 pro h1=0.1 je možné rozlišit příspěvky jednotlivých vzorů pro h1=0.5 nebo h1=1 situace se zlepší pro rostoucí n se zlepšuje schopnost pn(x) rozlišit změny v p(x) když je n velké pn(x) je citlivější na lokální nepravidelnosti ve vzorech (ač víme, že pn(x) bude konvergovat pro n →∞ k hladké křivce normálního rozdělení)

2. ilustrační příklad (dim=2) odhad neznámé hustoty p(x), která má ve skutečnosti dvourozměrné normální rozdělení různý parametr h1 pro šířku okénka a různý počet vzorů n (n=1 a n=10)

2. ilustrační příklad (dim=2) odhad neznámé hustoty p(x), která má ve skutečnosti dvourozměrné normální rozdělení různý parametr h1 pro šířku okénka a různý počet vzorů n (n=100 a n=∞)

3. ilustrační příklad (dim=1) neznámá hustota je směs uniformní a trojúhelníkové hustoty

3. ilustrační příklad – postřehy neznámá hustota je směs uniformní a trojúhelníkové hustoty n = 1 dozvíme se více o okénkové funkci než o neznámé hustotě n = 16 žádný z odhadů není dobrý n = 256, h1 = 1 výsledky začínají být přijatelné

Klasifikace založená na Parzenově okénku v klasifikátoru založeném na Parzenově okénku se odhaduje hustota pro každou třídu vzor se klasifikuje podle odpovídající maximální aposteriorní pravděpodobnosti pro 2 třídy může klasifikátor vypadat: x dáme do ω1(ω2) když:

Klasifikace – rozhodovací hranice rozhodovací hranice závisí na okénkové funkci φ a na šířce h h malé => oblasti jsou komplikované h velké => oblasti jsou jednodušší

Parzenovo okénko – závěr okénko úzké => malá chyba na trénovacích vzorech klasifikátor má klasifikovat i neznámé vzory malá chyba na trénovacích vzorech negarantuje malou chybu na testovacích datech parametrické metody: výhoda spočívá v obecnosti (+) potřeba obrovského množství trénovacích dat (−) mnohem více než u metod, kde známe tvar hustoty funkce časová i prostorová náročnost (−) požadavek na velké množství dat roste exponenciálně s dimenzí dat => „ prokletí dimenze“ mnohodimenzionální funkce mají potenciál být mnohonásobně složitější než nízko-dimenzionální funkce tyto komplikace se těžko poznají jediný způsob, jak obejít „ prokletí dimenze“ je přidat další informace o datech

Pravděpodobnostní neuronové sítě většina metod při rozpoznávání lze implementovat paralelně lze použít neuronové sítě (NS) => zde se ukážeme použití NS na Parzenovo okénko uvažujem n d-dimenzionálních vzorů v c třídách d vstupních jednotek (neuronů) n „pattern“-neuronů c výstupních neuronů, kterén přísluší jednotlivým třídám vstupní neuron je spojen s každým „pattern“-neuronem každý „pattern“-neuron je spojen s právě jediným výstupním neuronem

Pravděpodobnostní neuronové sítě spojení mezi vstupní a „pattern“-vrstvou představují váhy, které je nutné naučit každý „pattern“-neuron spočte skalární součin svého váhového vektoru a normalizovaného trénovacího vzoru z = wTx na výsledek skalárného součinu z se aplikuje funkce: exp [(z-1)/σ2] každý neuron ve výstupní vrstvě spočte součet výstupů z „pattern“-neuronů, se kterými je spojen

Učení pravděpodobnostní neuronové sítě každý trénovací vzor je normalizován: síti je předložen první trénovací vzor x1: váhy spojující vstupní jednotky a první „pattern“-neuron se nastaví na tento vzor: w1= x1 je vytvořena vazba od prvního „pattern“-neuronu k výstupnímu neuronu, který odpovídá třídě, kam x1 patří tento proces se opakuje pro každý trénovací vzor: váhy se nastaví na odpovídající vzory: wk= xk k=1, ... ,n je vytvořena vazba mezi každým „pattern“-neuronem a výstupnímu neuronem, který odpovídá třídě, kam xk patří

Algoritmus učení značení: algoritmus: xj = (xj1, ..., xjn) j=1,...,n wj = (wj1, ..., wjn) j=1,...,n algoritmus: 1. begin initialize j←0, n, aij←0 j=1,...,n i=1,...,c 2. do j←j+1 3. xjk← xjk / (Σxji)2 // normalizace 4. wjk← xjk // učení 5. if (x in ωi) then aij←1 6. until j=n 7. end

Klasifikace pomocí neuronové sítě testovaný vzor je normalizován a poté je předložen vstupní vrstvě každý „pattern“-neuron spočte skalární součin netk: netk= wkT ∙x na netk je aplikována aktivační funkce: kde σ je uživatelsky definovaný parametr, který určuje šířku Gaussova okénka každý výstupní neuron spočte součet příspěvků od jednotlivých „pattern“-neuronů, se kterými je spojen vazbou

Klasifikace pomocí neuronové sítě aktivační funkce musí být exponenciála, abychom při klasifikaci dostali Parzenovo okénko: protože wkT ∙wk =1 a x T ∙x =1 a hn je konstanta výstup „pattern“-neuronu: odpovídá pravděpodobnosti, že testovaný vzor byl generován Gaussovkou umístěnou ve středu tohoto trénovacího vzoru součet těchto lokálních odhadů dá diskriminant funkci gi(x) .... odhad hustoty pomocí Parzenova okénka max gi(x) dá hledanou třídu pro testovaný vzor x

Algoritmus klasifikace 1. begin initialize k←0, x←tested_pattern 2. do k←k+1 3. netk← wkT∙ x 4. if (aki=1) then gi←gi+exp((netk-1)/σ2) 5. until k=n 6. return class←argmaxi(gi(x)) 7. end vlastnosti popsané neuronové sítě: výhodou je rychlost učení – stačí jeden průchod trénovací množinou prostorová složitost je úměrná počtu vazeb O((n+1)d) lze použít online učení nový vzor lze snadno zabudovat do již naučeného modelu

Odhad hustoty pomocí kn-nejbližších sousedů chceme najít „nejlepší“ okénko => uděláme ho závislé na trénovacích datech princip odhadu hustoty pn(x) z n trénovacích vzorů: uděláme okénko okolo x toto okénko zvětšujeme, dokud v něm není kn vzorů => tyto vzory nazveme kn-nejbližších sousedů k bodu x hustota blízko bodu x je: velká => okénko bude relativně malé a dostaneme dobré rozlišení malá => okénko bude široké a zastaví se, až narazí na nějakou oblast s velkou hustotou odhad hustoty je chceme, aby kn→∞ pro n →∞ to nám zaručí, že kn/n bude dobrý odhad pravděpodobnosti

Odhad hustoty pomocí kn-nejbližších sousedů – postřehy ačkoliv pn(x) je spojitá => její gradient není spojitý navíc body nespojitosti gradientu jsou málokdy na pozici trén. vzorů odhad hustoty pomocí 3- a 5- nejbližších sousedů (dim=1) odhad hustoty pomocí 5-nejbližších sousedů (dim=2)

Porovnání metody kn-nejbližších sousedů a Parzenova okénka uvažujeme dřívější příklad: odhadujeme uniformní a trojúhelníkové hustoty pro n =1, 16, 256, ∞ Parzenovo okénko kn-nejbližších sousedů

Metoda kn-nejbližších sousedů – postřehy n = 1 a kn= √n =1 odhad hustoty má tvar pn(x) = 1/(2|x-x1|) a to je velmi špatný odhad hustoty pro rostoucí n se odhad zlepšuje, ale: ∫ pn(x)=∞ .... špatné (má být 1) tato nepříjemná skutečnost je kompenzována faktem, že pn(x) se nikdy nepřiblíží k 0 nikdy nemůža nastat situace, že žádný vzor nespadne do okénka (okénko je konstruováno tak, aby v něm bylo právě kn vzorů) toto se hodí pro mnohorozměrné prostory

Klasifikace založená na metodě k-nejbližších sousedů pro jednoduchost uvažujeme jen 2 třídy ω1 a ω2 postup: předložíme neznámý vzor x a zjistíme (Eukleidovskou) vzdálenost k trén. vzorům označme r1 (r2) poloměr hyperkoule se středem v x, které obsahuje k trénovacích bodů z ω1 (ω2) označme V1 (V2) objem těchto hyperkoulí vzor x bude klasifikován do ω1 (ω2), když: poznámky: hodnota k může být různá pro jednotlivé třídy když se místo Eukleidovské vzdálenosti použije Mahalanobisova vzdálenost => dostaneme hyperelipsoidy

Odhad aposteriorní pravděpodobnosti popsané metody lze použít nejen k odhadu hustoty ve třídě, ale také k odhadu aposterironí pravděpdoobnosti P(ωi|x) z n trénovacích vzorů umístíme okénko o velikosti V okolo x, které bude mít k trénovacích vzorů nechť ki z k trénovacích vzorů patří do třídy ωi => rozumný odhad Pn(ωi|x) = ki / k v případě klasifikátoru založením na minimální pravděpodobnosti chyby vybíráme třídu, která je nejvíce reprezentována v daném okénku když máme dostatek trénovacích vzorů a dostatečně malé okénko => dostaneme dobré výsledky poměr počtu vzorů v okénku, které padnou do dané třídy ku počtu vzorů v okénku

Metody odhadu hustoty - shrnutí metody na odhad hustoty: Parzenovo okénko definujeme, jak se má zvětšovat objem okénka Vn je funkcí n např. Vn = 1/√n kn-nejbližších sousedů definujeme, kolik vzorů má okénko obsahovat - Vn se zvětšuje, dokud nemá kn vzorů kn je funkcí n např. kn = √n když n→∞, pak nekonečně vzorů padne do okénka

Pravidlo nejbližšího souseda základní princip pravidla: označme Dn = {x1,..., xn} množinu n „označkovaných prototypů“ (tj. trénovací vzory, u kterých máme značku, do jakých tříd patří) označme x neznámý bod, který máme klasifikovat označme x’ z množiny Dn prototyp, který je nejblíž k x pravidlo nejbližšího souseda klasifikuje vzor x do třídy, kam patří x’ vlastnosti pravidla: pravidlo nejbližšího souseda je suboptimální typicky vede k horší chybě pravděpodobnosti než je minimální možná chyba lze ukázat, že s nekonečným množstvím trénovacích vzorů pravděpodobnost chyby není nikdy horší než dvojnásobek Bayesovské pravděpodobnosti chyby

Proč funguje pravidlo nejbližšího souseda? označme θ’ značku třídy, kam patří nejbližší soused pravděpodobnost, že θ’=ωi, je aposteriorní pravděpodobnost P(ωi|x’) když je počet vzorů velký můžeme předpokládat, že x’ je dostatečně blízko k x tedy P(ωi|x’) ≈ P(ωi|x) => toto je pravděpodobnost, že vzor x bude ve třídě ωi => pravidlo nejbližšího souseda bude „přiřazovat“ tyto pravděpodobnosti ke třídám pravidlo nejbližšího souseda rozdělí příznakový prostor do oblastí: oblast je tvořena všemi body, které jsou bližší trénovacímu bodu x’ než k ostatním trénovacím vzorům všechny body v jedné oblasti jsou označkovány třídou, jakou má „jejich“ trénovací vzor dostaneme tzv. Voronoiovu mozaiku

Pravidlo nejbližšího souseda – Voronoiova mozaika dim=2 ... pravidlo rozdělí prostor do n-úhelníkových oblastí dim=3 ... oblasti jsou 3D a dělicí rozvnice mají tvar krystalu

Pravidlo nejbližšího souseda – vlastnosti označme ωm nejpravděpodobnější třídu pro bod x: když P(ωm|x) je blízko 1 výběr nejbližšího souseda je téměř shodný jako Bayesovský výběr když minumum chybné pravděpodobnosti je malé => pravděpodobnost chyby při metodě nejbližšího souseda je také malá když P(ωm|x) je blízko 1/c všechny třídy jsou zhruba stejně pravděpodobné výběr Bayesovským pravidlem i pravidlem nejbližšího souseda jsou zřídkakdy stejné pravděpodobnosti chyby je přibližně stejná u obou metod

Pravidlo nejbližšího souseda – vlastnosti značení Pn(e) je průměrná pravděpodobnost chyby na n trénovacích vzorech lze ukázat, že platí: lze najít vztah mezi chybou Bayesovské klasifikace a klasifikace pomocí nejbližšího souseda pro nekonečně trénovacích vzorů jak je to pro konečně trénovacích vzorů? je vynakládáno velké úsilí na tento problém, ale všechny výsledky pro obecný případ jsou negativní lze ukázat, že konvergence může být libovolně pomala a chyba Pn(e) se dokonce ani nemusí monotónně snižovat (pro rostoucí n) je těžké cokoliv analyticky spočítat, když neuděláme další předpoklady o pravděpodobnostní struktuře zvoleného problému minimální možná chyba klasifikace (Bayesovská klasifikace)

Pravidlo k-nejbližších sousedů zobecnění metody nejbližšího souseda idea: vzor x je klasifikován do třídy, která je nejvíce zastoupena mezi k nejbližšími trénovacími vzory k neznámému vzoru najdeme jeho k nejbližších sousedů (trénovacích vzorů) a zjistíme jejich třídy třída, která má „největší počet hlasů“, zvítězí máme vzor x do bodu x umístíme sférickou oblast tuto sférickou oblast rozšiřujeme, dokud neobsahuje k trénovacích vzorů zjistíme „počet hlasů“ zde je k=5 a tak x je klasifikován do množiny černých bodů

Zlepšení výpočetní složitosti nejbližšího souseda v literatuře existuje mnoho analýz týkající se výpočetné složitosti této metody (pro dim=1 a dim=2) zde se zaměříme na mnohodimenzionální prostory nechť máme n trénovacích vzorů dimenze d a hledáme trénovací vzor, který je nejblíže neznámému vektoru x 2 základní techniky, jak lze snížit výpočetní složitost metoda částečné vzdálenosti eliminace zbytečných prototypů

Metoda částečné vzdálenosti definujeme r: r<d spočteme vzdálenost neznámého vzoru a trénovacího vzoru (prototypu) jen pomocí prvních r příznaků ve vzorech ... částečná vzdálenost když je tato částečná vzdálenost příliš velká => nepočítáme dál když částečná vzdálenost je větší než celá vzdálenost pro doposud nejbližší vzor, pak nemusíme počítat dál

Eliminace zbytečných prototypů editace/čistění/kondenzace metoda eliminuje prototypy, v jejichž okolí jsou jen trénovací vzory ze stejné třídy tyto prototypy můžeme odstranit rozhodovací hranice i celková chyba se nezmění algoritmus: 1. begin initialize j←0, D←trénovací_data, n←počet_prototypů vytvoř úplný Voronoi diagram z množiny D do j←j+1; pro každý prototyp xj’ 4. najdi Voronoiovy sousedy k xj’ if (některý soused je z jiné třídy než xj’) then označ xj’ until j=n odstraň všechny neoznačené prototypy vytvoř Voronoi diagram ze zbývajících (označených) prototypů 9. end

Eliminace zbytečných prototypů prototyp zůstane zachován: když prototyp přispívá k rozhodovací hranici (tedy aspoň jeden z jeho sousedů patří k jiné třídě) vlastnosti metody: algoritmus negarantuje minimální množinu prototypů (–) algoritmus sníží výpočetní složitost, aniž by se měnila přesnost výpočtu (+) nelze dodatečně přidávat trénovací data do „vyčištěného“ modelu (–) k vyčištení je potřeba znalost všech trénovacích dat

Metriky pro metody nejbližších sousedů doposud jsme uvažovali jen Eukleidovskou vzdálenost lze použít i jiné metriky vlastnosti metriky: nezápornost: D(a,b) ≥ 0 reflexivita: D(a,b) = 0 jen když a = b symetrie: D(a,b) = D(b,a) trojúhelníková nerovnost: D(a,b) + D(b,c) ≥ D(a,c) nejběžnější metriky: Eukleidovská metrika: Minkowského metrika:

Metriky pro metody nejbližších sousedů Minkowského metrika: k=1 ... Manhatannovská vzdálenost (vzdálenost městských bloků) k=2 ... Eukleidovslá vzdálenost (vzdálenost městských bloků) k=∞ ... projekce a, b na jednotlivé souřadnicové osy na jednotlivých souřadnicových osách najdeme vzdálenosti promítnutých bodů L∞ je maximum mezi vzdálenostmi v jednotlivých souřadnicových osách každá výplň odpovídá bodům ve vzdálenosti 1 od počátku měřeno Minkowského metrikou

Metriky pro metody nejbližších sousedů ne vždy se hodí Eukleidovská metrika např. prostor je transformován tak, že každá ze souřadnicových os se vynásobí nějakou konstantou Eukleidovské vzdálenosti ve transformovaném prostoru mohou být odlišné od vzdáleností v původním prostoru toto může mít vliv na nalezení nejbližšího souseda vlevo je předložen x v původním prostoru => nejbližší bod je černý bod vpravo je transformovaný prostor, kde byla osa x vynásobena konstantou α=1/3 => nejbližší bod je červený bod

Metriky pro metody nejbližších sousedů Eukleidovská metrika má také problém s invariancí vůči posunutí na obrázku x’ reprezentuje ručně psanou cifru 5 x’(s=3) je stejná cifra jen posunutá o 3 pixely doprava x8 je ručně psaná cifra 8 Eukleidovská vzdálenost D(x’,x’(s=3)) > D(x’,x8) => tedy klasifikátor bude fungovat špatně na grafu dole je zachycena vzdálenost původní a posunuté cifry 5 v závislosti na velikosti posunutí když s>1 pak D(x’,x’(s)) > D(x’,x8) => tedy klasifikace je chybná

Tangentová metrika a klasifikátor tato metrika je výpočetně náročná, ale je invariantní vůči základním transformacím uvažujme r transformací horizontální a verikální posun, rotace, škálování, čárové ztenčení, .... konstrukce klasifikátoru vezmene každý prototyp x’ a aplikujeme jednotlivé transformace Fi(x’,αi) vytvoříme tangentový vektor TVi pro každou transformaci i TVi = Fi(x’,αi) - x’ tangentové vektory TVi pro x’ dáme do matice T např. Fi(x’,αi) je rotace o malý úhel αi

Tangentová metrika a klasifikátor klasifikace neznámého vektoru x pro každý prototyp x’ spočteme tangentovou vzdálenost najdeme prototyp s minimální tangentovou vzdáleností od x minimální hodnotu a najdeme např. metodami diferenciálního počtu

Tangentová metrika a klasifikátor – příklad prototyp ručně psané cifry 5 (v levém dolním rohu) byl ovlivněn 2 transformacemi – rotací a čárovým ztenčením dostaneme 2 tangentové vektory TV1 a TV2 (jsou nakresleny vně os) každý z 16 obrázků uvnitř os reprezentuje prototyp + lineární kombinace tangentových vektorů s koeficienty a1, a2 x’tan = x+a1TV1+a2TV2 malé červené číslo v obrázku je Eukleidovská vzdálenost mezi prototypem a tangentovou aproximací x’tan Eukleidovská vzdálenost je 0 pro: a1 = 1, a2 = 0 a1 = 0, a2 = 1 a1 = 0, a2 = 0

Tangentová metrika a klasifikátor – příklad prototyp x’, který je kombinací dvou základních transformací, spadne na povrch mnoharozměrné plochy (šedá plocha) tangentový prostor prototypu x’ je r-dimenzionální Eukleidovský prostor určený tangentovými vektory (zde TV1 a TV2) tangentová vzdálenost Dtan(x, x’) je nejmenší Eukleidovská vzdálenost od bodu x k tangentovému prostoru bodu x’ (červená čára k roviny k bodům x1 a x2) Eukleidovská vzdálenost od x’ k x1 je menší než k bodu x2 ale u tangentové vzdálenosti je situace je obrácená Eukleidovská vzdálenost od x2 k tangentovému prostoru x’ je kvadratická funkce proměnné a (červený paraboloid) pomocí jednoduché gradientní metody snadno najdeme optimální hodnotu pro parametr a pomocí nalezené hodnoty a spočteme tangentovou vzdálenost Dtan(x2, x’)