Statistické testování algoritmu
Transkript
Statistické testování algoritmu
Statistické testovánı́ algoritmů Radek Mařı́k ČVUT FEL, K13133 September 6, 2011 Radek Mařı́k ([email protected]) Statistické testovánı́ algoritmů September 6, 2011 1 / 57 Obsah 1 Klasické propagovánı́ kovariančnı́ matice Motivace Princip 2 Přı́mé propagovánı́ chyby Princip Variance Problémy s korelacı́ Min/Max chyba Přı́klad 3 Propagace kovariančnı́ matice - implicitnı́ forma Definice Přı́klady Validace algoritmů Radek Mařı́k ([email protected]) Statistické testovánı́ algoritmů September 6, 2011 2 / 57 Klasické propagovánı́ kovariančnı́ matice Motivace Zpracovánı́ textury (a) Původnı́ obraz (b) Detekovaná skrvna (c) Původnı́ obraz (d) Detekovaná prasklina Radek Mařı́k ([email protected]) Statistické testovánı́ algoritmů September 6, 2011 4 / 57 Klasické propagovánı́ kovariančnı́ matice Motivace Model systému computational precision input data user specification Y=F(X) output data hidden parameters error propagation quality Radek Mařı́k ([email protected]) Statistické testovánı́ algoritmů September 6, 2011 5 / 57 Klasické propagovánı́ kovariančnı́ matice Princip Propagace kovariančnı́ matice vstupnı́ data: X výstupnı́ data: Y explicitnı́ vztah: Y = F(X) Propagace kovariančnı́ matice: ΣY = JΣX JT kde ΣY . . . kovariančnı́ matice výstupnı́ch dat Y, ΣX . . . kovariančnı́ matice vstupnı́ch dat X, J . . . lineárnı́ operátor prvnı́ho řádu Taylorova rozvoje funkce F(X) v okolı́ bodu X0 . Radek Mařı́k ([email protected]) Statistické testovánı́ algoritmů September 6, 2011 7 / 57 Klasické propagovánı́ kovariančnı́ matice Princip Propagace kovariačnı́ matice - odvozenı́ explicitnı́ vztah: Taylorův rozvoj v okolı́ bodu X0 : Y = F(X) ∂F (X − X0 ) + RY0 Y = Y0 + ∂X X0 substituce: δX = X − X0 , δY = Y − Y0 ∂F J0 = . . . Jakobián ∂X X0 δY = J0 · δX + RY0 δY · δYT ΣYY0 = (J0 · δX + RY0 )(J0 · δX + RY0 )T = J0 · δX · δXT · JT 0 + RYY0 T = 1/nΣni=1 (δYi · δYiT ) = 1/nΣni=1 (J0 · δXi · δXT i · J0 ) = T T = J0 · 1/nΣni=1 (δXi · δXT i ) ·J0 = J0 · ΣXX0 · J0 | {z } ΣXX0 Radek Mařı́k ([email protected]) Statistické testovánı́ algoritmů September 6, 2011 8 / 57 Klasické propagovánı́ kovariančnı́ matice Princip Propagace chyby v nelineárnı́m systému F(x) ∆y2 ∆y1 ∆x1 Radek Mařı́k ([email protected]) Statistické testovánı́ algoritmů ∆x2 x September 6, 2011 9 / 57 Přı́mé propagovánı́ chyby Princip Model datového toku Input quantities * + - * / * + sin() / * - Output quantities Radek Mařı́k ([email protected]) Statistické testovánı́ algoritmů September 6, 2011 11 / 57 Přı́mé propagovánı́ chyby Princip Přı́mé propagovánı́ chyby Odpadá zdlouhavé odvozenı́ chybového modelu. Substituce hodnot proměnných strukturami modelu chyby. “Symbolická derivace” následovaná výpočtem. Bodová analýza. Výpočet okamžité chyby. Lze hodnotit přesnost výpočtu. Předpokládá dostupnost zdrojového kódu. Chybový model jakéhokoliv hodnoty proměnné je vypočten pomocı́ chybových modelů vstupnı́ch operandů operace. Parametry chybových modelů: dáno, určené přesnostı́ měřenı́, určené předchozı́mi výpočty. Radek Mařı́k ([email protected]) Statistické testovánı́ algoritmů September 6, 2011 12 / 57 Přı́mé propagovánı́ chyby Princip Přı́mé propagovánı́ chyby - implementace Založeno na přetı́ženı́ operátorů v objektově-orientovaném kódovánı́. Přepı́nánı́ mezi normálnı́m kódem a kódem propagujı́cı́ chyby. C++ normálnı́ kód typedef double RealT; C++ kód propagujı́cı́ chyby class RealT .......; Přı́klad RealT x, a=3, b=5; x = a + b; Radek Mařı́k ([email protected]) Statistické testovánı́ algoritmů September 6, 2011 13 / 57 Přı́mé propagovánı́ chyby Variance Propagace variance 2 a σ2 a Dána funkce g (x, y ) dvou proměnných x a y s variancemi σxx yy kovariancı́ σxy . Variance hustoty chyb hodnot funkce 2 σgg (x0 , y0 ) = 2 σxx (∂g /∂x)2 (x ,y ) 0 0 2 + σyy (∂g /∂y )2 (x0 ,y0 ) +2 σxy (∂g /∂x)(∂g /∂y )|(x0 ,y0 ) Typické zjednodušenı́: σxy = 0 2 2 σgg (x0 , y0 ) = σxx (∂g /∂x)2 (x 0 ,y0 ) Radek Mařı́k ([email protected]) 2 + σyy (∂g /∂y )2 (x Statistické testovánı́ algoritmů 0 ,y0 ) September 6, 2011 15 / 57 Přı́mé propagovánı́ chyby Variance Propagace variance Základnı́ aritmetické operace a standardnı́ funkce: Funkce Propagace variance 2 = σ2 + σ2 z = x + y σzz xx yy 2 2 + σ2 z = x − y σzz = σxx yy 2 = y 2σ2 + x 2σ2 z = xy σzz 0 xx 0 yy 2 = (σ 2 + x 2 /y 2 σ 2 )/y 2 z = x/y σzz xx 0 0 yy 0 2 = 4x 2 σ 2 z = x2 σzz xx 0 √ 2 = 1 σ2 z= x σzz 4x0 xx 2 = cos2 x σ 2 z = sin x σzz 0 xx 2 = sin2 x σ 2 z = cos x σzz 0 xx 2 = e 2x0 σ 2 z = ex σzz xx 2 = 1/x 2 σ 2 z = ln x σzz 0 xx 1 2 = σ2 z = loga x σzz (x0 ln a)2 xx z = xy Radek Mařı́k ([email protected]) 2 = (y 2/x 2 σ 2 + ln2 x σ 2 ) x 2y0 σzz 0 yy 0 0 xx 0 Statistické testovánı́ algoritmů September 6, 2011 16 / 57 Přı́mé propagovánı́ chyby Variance Propagace variance - přı́klad 1.0 sin(x), var 0.5 0.0 -0.5 -1.0 0.0 10.0 20.0 x 30.0 40.0 Hodnoty funkce sin x pro argument s absolutnı́ chybou ±0.25. Radek Mařı́k ([email protected]) Statistické testovánı́ algoritmů September 6, 2011 17 / 57 Přı́mé propagovánı́ chyby Problémy s korelacı́ Důsledky zanedbánı́ korelace hloubková data ovlivněná chybnou kalibracı́ a náhodným šumem, d̃i . . . správné vzdálenosti, chybná kalibrace b se standardnı́ odchylkou σb , šum ni se společnou standardnı́ odchylkou σn , předpoklad: kalibrace a šum jsou nezávislé se střednı́ hodnotou šumu i odchylky kalibrace 0. di = d̃i + b + ni σd2i = σd1 d2 = σb2 σb2 + σn2 ρ= σb2 1 σd1 d2 = = 2 2 2 2 2 σb + σn σb + σn 1 + σσn2 b Důsledek Korelace je nezanedbatelná pokud odchylka je mnohem většı́ než přesnost standardnı́ odchylky šumu. σn = 1mm a σb = 3mm by vedl k ρ = 0.9, tedy 90% korelaci. Radek Mařı́k ([email protected]) Statistické testovánı́ algoritmů September 6, 2011 19 / 57 Přı́mé propagovánı́ chyby Problémy s korelacı́ Lineánı́ závislost - vstupy YT XT = d1 d2 = b n1 n2 d˜ + b + n1 Y = F(X) = ˜1 d2 + b + n2 ∂F 1 1 0 J = = 1 0 1 ∂X 2 σ b 02 0 ΣXX = 0 σn 0 0 0 σ2 n Radek Mařı́k ([email protected]) Statistické testovánı́ algoritmů September 6, 2011 20 / 57 Přı́mé propagovánı́ chyby Problémy s korelacı́ Lineánı́ závislost - propagace ΣYY = = = = σ2 0 0 1 1 b 1 1 0 • 0 σn2 0 • 1 0 J · ΣXX · JT = 1 0 1 0 0 σ2 0 1 n 2 σ σn2 0 1 1 σ 2 + σn2 σb2 = b • 1 0 = b 2 2 2 σ2 0 σ2 σ σ + σ n n b b b 0 1 σb2 1 2 2 σb +σn 2 2 2 2 1 ρ (σb + σn ) σ2 = (σb + σn ) = ρ 1 b 1 σ2 +σ 2 n b 2 σd σd1 d2 1 σd d σd22 1 2 Radek Mařı́k ([email protected]) Statistické testovánı́ algoritmů = September 6, 2011 21 / 57 Přı́mé propagovánı́ chyby Problémy s korelacı́ Rozdı́l korelovaných proměnných Y = f (X) = ∆ = d2 − d1 XT = d1 d2 ∂F = −1 1 ∂X d1 = d˜1 + n1 2 1 ρ = σn ρ 1 d2 = d˜2 + n2 1 ρ −1 2 T 2 • = = σ∆ = J · ΣXX · J = −1 1 • σn ρ 1 1 −1 2 = σn2 (1 − ρ + 1 − ρ) = = σn −1 + ρ, −ρ + 1 • 1 J = ΣXX ΣYY = 2(1 − ρ)σn2 Radek Mařı́k ([email protected]) Statistické testovánı́ algoritmů September 6, 2011 22 / 57 Přı́mé propagovánı́ chyby Problémy s korelacı́ Průměr korelovaných proměnných - vstupy Y = f (X) = d = n X di /n i=1 T X = d1 d2 · · · dn ∂F J = = 1/n 1/n ∂X 1 ρ ··· ρ 2 ρ 1 ··· ρ ΣXX = σn ............ ρ ρ ··· 1 Radek Mařı́k ([email protected]) ··· Statistické testovánı́ algoritmů 1/n di = d̃i + ni September 6, 2011 23 / 57 Přı́mé propagovánı́ chyby Problémy s korelacı́ Průměr korelovaných proměnných - propagace ΣYY = σd2 = J · ΣXX · JT 1 ρ ··· ρ 2 ρ 1 ··· ρ 1/n 1/n · · · 1/n • σn = ............ ρ ρ ··· 1 1/n 1/n 2 = = σn 1/n + (n − 1)ρ/n, · · · • ··· 1/n 1 + (n − 1)ρ 2 = σn2 (1/n + (n − 1)ρ/n) = σn n Radek Mařı́k ([email protected]) Statistické testovánı́ algoritmů • 1/n 1/n ··· 1/n September 6, 2011 = 24 / 57 Přı́mé propagovánı́ chyby Problémy s korelacı́ Vliv průměrů a rozdı́lů Průměrná vzdálenost d= n X r di /n σd = i=1 1 + (n − 1)ρ σn n Rozdı́l dvou vzdálenostı́ ∆ = d2 − d1 σ∆ = p 2(1 − ρ)σn Průměrovánı́ korelovaných pozorovánı́ má pouze omezený vliv, √ limn→∞ σd = ρσn . Např. 90% korelace omezuje zdola standardnı́ odchylku na 0.95σn . Standardnı́ odchylka rozdı́lu je významně menšı́ pro korelovaná data než pro nekorelovaná. Např. 90% korelace vede ke standardnı́ odchylce 0.45σn přičemž pro nekorelovaná data je 1.4σn . Testovánı́ průměrných hodnot vede k přı́liš optimistickým výsledkům, zatı́mco rozdı́ly vedou k pesimistickým výsledkům. Radek Mařı́k ([email protected]) Statistické testovánı́ algoritmů September 6, 2011 25 / 57 Přı́mé propagovánı́ chyby Min/Max chyba Propagace chyby Min/Max Uzavřený interval reálných čı́sel nebo Interval A = [amin , amax ] = {t|amin ≤ t ≤ amax , amin , amax ∈ R} I (R) . . . množina uzavřených intervalů, A, B, C , . . . , X , Y , Z . . . intervaly z I (R). Nechť ∗ ∈ {+, −, ·, :} je binárnı́ operace na množině reálných čı́sel R. Jestliže A, B ∈ I (R), potom A ∗ B = {z = a ∗ b|a ∈ A, b ∈ B} definuje binárnı́ operace na I (R). Radek Mařı́k ([email protected]) Statistické testovánı́ algoritmů September 6, 2011 27 / 57 Přı́mé propagovánı́ chyby Min/Max chyba Propagace chyby Min/Max - operace Vstupnı́ hodnoty: x ∈ [xmin , xmax ], y ∈ [ymin , ymax ] Funkce z =x +y z =x −y z =x ·y Výstupnı́ Min/Max intervaly [xmin + ymin , xmax + ymax ] [xmin − ymax , xmax − ymin ] [ min{xmin · ymin , xmin · ymax , xmax · ymin , xmax · ymax }, max{xmin · ymin , xmin · ymax , xmax · ymin , xmax · ymax }] z = x/y [xmin , xmax ] · [1/ymax , 1/ymin ] Jestliže g (x) je spojitá unárnı́ operace na R, potom g (X ) = [min g (x), max g (x)] x∈X x∈X definuje unarnı́ operarci na I (R). Radek Mařı́k ([email protected]) Statistické testovánı́ algoritmů September 6, 2011 28 / 57 Přı́mé propagovánı́ chyby Min/Max chyba Propagace chyby Min/Max - monotónnı́ unárnı́ funkce rostoucı́ funkce gi (x): [xmin , xmax ] =⇒ [gi (xmin ), gi (xmax )] klesajı́cı́ funkce gd (x): [xmin , xmax ] =⇒ [gd (xmax ), gd (xmin )] Radek Mařı́k ([email protected]) Statistické testovánı́ algoritmů September 6, 2011 29 / 57 Přı́mé propagovánı́ chyby Min/Max chyba Propagace chyby Min/Max - nemonotónnı́ funkce sin x s 10% relativnı́ chybou argumentu 1.0 sin(x), min, max 0.5 0.0 -0.5 -1.0 0.0 Radek Mařı́k ([email protected]) 10.0 20.0 x Statistické testovánı́ algoritmů 30.0 40.0 September 6, 2011 30 / 57 Přı́mé propagovánı́ chyby Přı́klad Jednoduchý přı́klad Funkce f (x) = x + 10 Jejı́ implementace: fimp (x) = (x · x − 100)/(x − 10). Testován rozsah x: [0, 20] s krokem 0.01. Radek Mařı́k ([email protected]) Statistické testovánı́ algoritmů September 6, 2011 32 / 57 Přı́mé propagovánı́ chyby Přı́klad Jednoduchý přı́klad - C++ kód #include <iostream.h> #include "StdType.hh" int main(void) { for (RealT x=0; x<=20; x+=0.01){ if (x == 10) continue; // to avoid division by zero cout << x << ’ ’ << (x*x -100)/(x-10) << ’\n’; } return 0; } StdType.hh: typedef double RealT; class RealT { ....... }; Radek Mařı́k ([email protected]) Statistické testovánı́ algoritmů September 6, 2011 33 / 57 Přı́mé propagovánı́ chyby Přı́klad Jednoduchý přı́klad - výsledek Relativnı́ chyba 10% ve vstupnı́ch datech. 40.0 f(x) 30.0 20.0 10.0 0.0 0.0 Radek Mařı́k ([email protected]) 5.0 10.0 x Statistické testovánı́ algoritmů 15.0 20.0 September 6, 2011 34 / 57 Přı́mé propagovánı́ chyby Detekce prasklin Přı́klad [SPK95] Textura žuly s horizontálnı́ prasklinou. Radek Mařı́k ([email protected]) Statistické testovánı́ algoritmů September 6, 2011 35 / 57 Přı́mé propagovánı́ chyby Přı́klad Výpočet DFT vzhledem k definici F(u), var, min, max 150.0 100.0 50.0 0.0 -20.0 -10.0 0.0 u 10.0 20.0 (a) 0.1% výpočetnı́ chyba -10 10 -11 10 -12 F(u) 10 -13 10 -14 10 -15 10 -20.0 -10.0 0.0 u 10.0 20.0 (b) přesnost procesoru - double Radek Mařı́k ([email protected]) Statistické testovánı́ algoritmů September 6, 2011 36 / 57 Přı́mé propagovánı́ chyby Přı́klad Výpočet DFT podle modifikace (modulo) F(u), var, min, max 150.0 100.0 50.0 0.0 -20.0 -10.0 0.0 u 10.0 20.0 (a) 0.1% výpočetnı́ chyba -10 10 -12 F(u) 10 -14 10 -16 10 -18 10 -20.0 -10.0 0.0 u 10.0 20.0 (b) přesnost procesoru - double Radek Mařı́k ([email protected]) Statistické testovánı́ algoritmů September 6, 2011 37 / 57 Propagace kovariančnı́ matice - implicitnı́ forma Definice Propagace kovariančnı́ matice - implicitnı́ forma [Har94] vstupnı́ data: X výstupnı́ data: Y vztah mezi Y a X je vyjádřen implicitnı́ skalárnı́ funkcı́ F (X, Y). Definice úlohy: dáno X̂ = X0 + ∆X, určit Ŷ = Y0 + ∆Y tak, aby se minimalizovala F (X̂, Ŷ) za předpokladu, že Y0 minimalizuje F (X0 , Y0 ). Estimátor: Σ̂∆Y = ( ∂g ∂g ∂g ∂g (X̂, Ŷ))−1 (X̂, Ŷ)Σ∆X (X̂, Ŷ)T [( (X̂, Ŷ))T ]−1 ∂Y ∂X ∂X ∂Y kde g(X0 , Y0 ) = Radek Mařı́k ([email protected]) ∂F (X0 , Y0 ) ∂Y Statistické testovánı́ algoritmů September 6, 2011 39 / 57 Propagace kovariančnı́ matice - implicitnı́ forma Definice Propagace kovariančnı́ matice - odvozenı́ 1 [Har94] X . . . vektor N × 1 bezchybného vstupu, ∆X . . . náhodná pertubace vektoru X, X̂ = X + ∆X . . . pozorovaný pertubovaný vstupnı́ vektor, Θ . . . vektor K × 1 parametrů, ∆Θ . . . náhodná pertubace na Θ indukovaná náhodnou pertubacı́ ∆X na X, Θ̂ = Θ + ∆Θ . . . vypočtený náhodně pertubovaný vektor parametrů, F . . . spojitá skalárnı́ funkce, která definuje vztah mezi X a Θ a vztah mezi X̂ = X + ∆X a Θ̂ = Θ + ∆Θ. Základnı́ úloha: dáno X̂ = X + ∆X, určete Θ̂ = Θ + ∆Θ tak, aby se minimalizovala F (X̂, Θ̂) za předpokladu, že Θ minimalizuje F (X, Θ). Pokud Θ̂ je vypočtena explicitnı́ funkcı́ h tak, že Θ̂ = h(X̂), funkce F je definována takto f (X, Θ) = (Θ − h(X))T (Θ − h(X)) Radek Mařı́k ([email protected]) Statistické testovánı́ algoritmů September 6, 2011 40 / 57 Propagace kovariančnı́ matice - implicitnı́ forma Definice Propagace kovariančnı́ matice - odvozenı́ 2 [Har94] ∂F gradient g je vektorová funkce K × 1: g(X, Θ) = ∂Θ (X, Θ) Taylorovým rozvojem g v okolı́ (X, Θ) zı́skáme aproximaci prvého řádu: gK ×1 (X + ∆X, Θ + ∆Θ) = gK ×1 (X, Θ) ∂gK ×N + (X, Θ)∆XN×1 ∂X ∂gK ×K (X, Θ)∆ΘK ×1 + ∂Θ F (X̂, Θ̂) má extrém v Θ̂, tedy g (X̂, Θ̂) = 0, F (X, Θ) má extrém v Θ, g (X, Θ) = 0: ∂g ∂g (X, Θ)∆X + (X, Θ)∆Θ 0= ∂X ∂Θ Relativnı́ extrém F je relativnı́ minimum, K ×K matice ∂g∂Θ (X, Θ) musı́ být positivně definitnı́ pro všechna (X, Θ), ∂g −1 a nenı́ proto singulárnı́. Proto existuje ( ∂Θ ) . Radek Mařı́k ([email protected]) Statistické testovánı́ algoritmů September 6, 2011 41 / 57 Propagace kovariančnı́ matice - implicitnı́ forma Klasický regresnı́ problém Definice [Har94] Θ = h(X) = JX Nalezni Θ pro minimum F (X, Θ) = (Θ − JX)T Σ−1 X (Θ − JX) Derivace maticových forem ∂Ω Ω = Ax −→ =A ∂x ∂Ω Ω = xT A −→ = AT ∂x Gradient ∂F T T −1 (X, Θ) = {Σ−1 g(X, Θ) = X (Θ − JX)} + (Θ − JX) ΣX ∂Θ = 2(Θ − JX)T Σ−1 X Potom ∂g ∂g = 2Σ−1 = −2Σ−1 X X J ∂Θ ∂X −1 −1 T −1 T −1 T −1 ΣΘ = (2Σ−1 = JΣ−1 X ) (−2ΣX J)ΣX (−2ΣX J) (2ΣX ) X J Radek Mařı́k ([email protected]) Statistické testovánı́ algoritmů September 6, 2011 42 / 57 Propagace kovariančnı́ matice - implicitnı́ forma Jednoduchý přı́klad y = x Přı́klady 2 Explicitnı́ propagace Y = J = Σy 2 = F(X) y = x2 ∂F = 2x ∂X 2 σy = 2x σx2 2x = 4x 2 σx2 Implicitnı́ propagace F (X, Y) g ∂g ∂y Σyy = = = F (x; y ) = (y − x 2 )2 · · · minimalizace pro 1 bod ∂F = 2(y − x 2 ) ∂y ∂g 2 = −4x ∂x 2 σy = 1/2 −4x σx2 −4x 1/2 = 4x 2 σx2 Radek Mařı́k ([email protected]) Statistické testovánı́ algoritmů September 6, 2011 44 / 57 Propagace kovariančnı́ matice - implicitnı́ forma Přı́klady Jednoduchý přı́klad y = x + q Explicitnı́ propagace: q = y − x J = Σqq = = = = = Radek Mařı́k ([email protected]) ∂q ∂q ∂x ∂y = −1 1 2 σq = −1 2 −1 1 σx σxy σxy σ 2 1 = y −σx2 + σxy , −σxy + σy2 −1 1 +σx2 − σxy − σxy + σy2 = 2 σx − 2σxy + σy2 Statistické testovánı́ algoritmů = September 6, 2011 45 / 57 Propagace kovariančnı́ matice - implicitnı́ forma Přı́klady Jednoduchý přı́klad y = x + q Implicitnı́ propagace: y = x + q F (x, y ; q) = (y − x − q)2 · · · minimalizace pro 1 bod F (X, Y) g = ∂F /∂q = −2(y − x − q) ∂g /∂q = 2 ∂g /∂x = 2 2 −1 σq = 2 2, σx2 σxy 1, −1 σxy σ 2 y 2 σx − σxy σxy − σy2 2 σx − 2σxy + σy2 Σqq = = = = Radek Mařı́k ([email protected]) ∂g /∂y = −2 σx2 σxy −2 σxy σy2 1 −1 = 1 −1 = Statistické testovánı́ algoritmů 2 −1 = −2 2 September 6, 2011 46 / 57 Propagace kovariančnı́ matice - implicitnı́ forma Přı́klady Obecný problém aproximace přı́mkou - zadánı́ [Har94] (x n, yn ) ξn (x n , yn) Nepozorované nepertubované body (xn , yn ), n = 1, · · · , N ležı́ na přı́mce xn cos θ + yn sin θ − ρ = 0 Pozorujeme (x̂n , ŷn ), zašuměné instance (xn , yn ). Radek Mařı́k ([email protected]) Statistické testovánı́ algoritmů September 6, 2011 47 / 57 Propagace kovariančnı́ matice - implicitnı́ forma Přı́klady Obecný problém aproximace přı́mkou - model Model šumu: x̂n ŷn = xn yn +ξ cos θ sin θ [Har94] kde ξn jsou nezávislé a identicky distribuované N(0, σ 2 ). Odhad parametrů přı́mky (θ̂, ρ̂) použitı́m metody nejmenšı́ch čtverců a kritéria: F (X, Θ) = N X (xn cos θ + yn sin θ − ρ)2 n=1 kde XT = (x1 , y1 , · · · , xN , yN ) a ΘT = (θ, ρ). Radek Mařı́k ([email protected]) Statistické testovánı́ algoritmů September 6, 2011 48 / 57 Propagace kovariančnı́ matice - implicitnı́ forma Obecná aproximace přı́mkou 2 µx = 1/N N X Přı́klady [Har94] xn n=1 µy σx2 = 1/N = 1/N σy2 = 1/N N X n=1 N X n=1 N X yn 2 (xn − µx ) = 1/N (yn − µy )2 = 1/N n=1 Radek Mařı́k ([email protected]) Statistické testovánı́ algoritmů N X n=1 N X xn2 − µ2x yn2 − µ2y n=1 September 6, 2011 49 / 57 Propagace kovariančnı́ matice - implicitnı́ forma Obecná aproximace přı́mkou 3 σxy = 1/N = 1/N N X n=1 N X Přı́klady [Har94] (xn − µx )(yn − µy ) xn yn − µx µy n=1 N X F (X, Θ) = (xn2 cos2 θ + yn2 sin2 θ + ρ2 + 2xn cos θyn sin θ n=1 −2ρxn cos θ − 2ρyn sin θ) = N(σx2 + µ2x ) cos2 θ + N(σy2 + µ2y ) sin2 θ +Nρ2 + N(σxy + µx µy ) sin 2θ −2Nρµx cos θ − 2Nρµy sin θ Radek Mařı́k ([email protected]) Statistické testovánı́ algoritmů September 6, 2011 50 / 57 Propagace kovariančnı́ matice - implicitnı́ forma Aproximace přı́mkou 4 Přı́klady [Har94] Geometrie výsledku: Jestliže (x, y ) je bod na přı́mce x cos θ + y sin θ − ρ = 0 a k je orientovaná vzdálenost mezi (x, y ) a bodem na přı́mce nebližšı́m počátku, potom ( p +px 2 + y 2 − ρ2 if y cos θ ≥ y sin θ k= − x 2 + y 2 − ρ2 otherwise Dále x = −k sin θ + ρ cos θ y = k cos θ + ρ sin θ Nechť µk = 1/N N X kn σk2 = 1/N n=1 Radek Mařı́k ([email protected]) N X (kn − µk )2 n=1 Statistické testovánı́ algoritmů September 6, 2011 51 / 57 Propagace kovariančnı́ matice - implicitnı́ forma Přı́klady Aproximace přı́mkou - vzájemné vztahy x, y , k µx = ρ cos θ − µk sin θ µy = ρ sin θ + µk cos θ σx2 σy2 = σk2 sin2 θ σxy Radek Mařı́k ([email protected]) [Har94] = σk2 cos2 θ = −σk2 sin θ cos θ Statistické testovánı́ algoritmů September 6, 2011 52 / 57 Propagace kovariančnı́ matice - implicitnı́ forma Přı́klady Aproximace přı́mkou - interpretace [Har94] Po odvozenı́ a substituci ΣΘ = σ 2 /N 1 σk2 µk σk2 µk σk2 1+ µ2k σk2 Jednoduchá geometrická interpretace: Souřadnicový systém přı́mky takový, že 0 odpovı́dá bodu na přı́mce nejbližšı́m počátku. µk je střednı́ poloha bodů. σk2 je variance polohy bodů. µk se chová jako momentová páka. Jestliže střednı́ poloha bodů na přı́mce je ve vzdálenosti |µk | od počátku na přı́mce, potom se variance odhadu ρ zvětšuje s koeficientem µ2k σ 2 /σk2 . Jinými slovy, odhad ρ nenı́ invariantnı́ vzhledem k translaci souřadnicového systému. Radek Mařı́k ([email protected]) Statistické testovánı́ algoritmů September 6, 2011 53 / 57 Propagace kovariančnı́ matice - implicitnı́ forma Validace algoritmů Statistická validace algoritmu 1 [Har94] Testuje se, zda vypočtené odhady patřı́ do distribuce s danou střednı́ hodnotou a kovariančnı́ maticı́. Hladina významnosti α. Testovaná statistika φ̂. Hodnota φ0 zamı́tnutı́ hypotézy. Postup: 1 2 3 urči správnou odpověd pro ideálnı́ přı́pad bez šumu, pertubuj vstupnı́ data normálnı́m rozloženı́m se nulou střednı́ hodnotou a danou kovariančnı́ maticı́, propaguj analyticky odhady kovariančnı́ matici. Radek Mařı́k ([email protected]) Statistické testovánı́ algoritmů September 6, 2011 55 / 57 Propagace kovariančnı́ matice - implicitnı́ forma Validace algoritmů Statistická validace algoritmu 2 [Har94] Testovaná hypotéza: zda pozorovánı́ θ1 , · · · , θN pocházı́ z normálnı́ho rozloženı́ se střednı́ hodnotou θ̄ a kovariančnı́ maticı́ Σ. Existuje uniformně nejsilnějšı́ test B= N X (θn − θ̄)(θn − θ̄)T n=1 Definujme 1 λ = (e/N)pN/2 |BΣ1 |N/2 × exp(− [tr (BΣ1 ) + N(θ̄ − θ)T Σ1 (θ̄ − θ)]) 2 Testovaná statistika: T = −2 log λ T distribuováno podle χ2p(p+1)/2+p kde p je dimenze θ Tα : Prob(χ2p(p+1)/2+p ≥ Tα ) = α Radek Mařı́k ([email protected]) Statistické testovánı́ algoritmů September 6, 2011 56 / 57 Propagace kovariančnı́ matice - implicitnı́ forma Validace algoritmů Literatura I R.M. Haralick. Propagating covariance in computer vision. In 12th International Conference on Pattern Recognition (Jerusalem, Israel, 1994), volume I, pages 493–498, Washington, DC, 1994. IEEE Computer Society Press. K. Y. Song, M. Petrou, and J. Kittler. Texture crack detection. Machine Vision and Application, 8:63–76, 1995. Radek Mařı́k ([email protected]) Statistické testovánı́ algoritmů September 6, 2011 57 / 57