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