Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Neparametrické metody

Podobné prezentace


Prezentace na téma: "Neparametrické metody"— Transkript prezentace:

1 Neparametrické metody

2 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ů

3 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)

4 „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“

5 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 (**)

6 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

7 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→∞?

8 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 = ačkoliv velké množství vzorů padne do Rn => musí to být jen malý vzorek z celkového počtu vzorů n

9 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ů

10 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) = |uj| ≤ 1/2 pro j=1,...,d jinak => φ(u) definuje jednotkovou hyperkostku vycentrovanou v počátku okénko pro hyperkostku o objemu Vn vycentrovanou v x má tvar: = když xi padne do hyperkostky o objemu Vn vycentrované v x

11 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 (*)

12 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)

13 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í

14 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

15 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)

16 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

17 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:

18 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

19 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í)

20 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)

21 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=∞)

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

23 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é

24 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ž:

25 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šší

26 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

27 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

28 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

29 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ří

30 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 xjk← xjk / (Σxji)2 // normalizace wjk← xjk // učení if (x in ωi) then aij←1 6. until j=n 7. end

31 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

32 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

33 Algoritmus klasifikace
1. begin initialize k←0, x←tested_pattern 2. do k←k+1 netk← wkT∙ x 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

34 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

35 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)

36 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ů

37 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

38 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

39 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

40 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

41 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

42 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

43 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

44 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

45 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)

46 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ů

47 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ů

48 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

49 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’ 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

50 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

51 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:

52 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

53 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

54 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á

55 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

56 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

57 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

58 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’)


Stáhnout ppt "Neparametrické metody"

Podobné prezentace


Reklamy Google