+ All Categories
Home > Documents > Minimalizace součtu čtverců - úvod

Minimalizace součtu čtverců - úvod

Date post: 03-Feb-2016
Category:
Upload: rumer
View: 46 times
Download: 0 times
Share this document with a friend
Description:
Minimalizace součtu čtverců - úvod. Optimalizuje teoretický model tak, aby co nejvíce odpovídal naměřeným datům. => Minimalizuje odchylku modelu od naměřených hodnot. Využití: Všude, kde máme co do činění s analýzou nějakého přírodního nebo technického systému. - PowerPoint PPT Presentation
37
Minimalizace součtu čtverců - úvod Optimalizuje teoretický model tak, aby co nejvíce odpovídal naměřeným datům. => Minimalizuje odchylku modelu od naměřených hodnot. Využití: Všude, kde máme co do činění s analýzou nějakého přírodního nebo technického systému.
Transcript
Page 1: Minimalizace součtu čtverců - úvod

Minimalizace součtu čtverců- úvod

Optimalizuje teoretický model tak, aby co nejvíce odpovídal naměřeným datům.

=> Minimalizuje odchylku modelu od naměřených hodnot.

Využití:

Všude, kde máme co do činění s analýzou nějakého přírodního nebo technického systému.

Page 2: Minimalizace součtu čtverců - úvod

Minimalizace součtu čtverců- úvod II

Naměřená data si můžeme představit jako dvojice:

(ti, yi), i = 1, ..., m

kde:

ti Rk bod mìøení (napøíklad èas nebo místo mìøení

nebo obojí)

yi hodnota, namìøená v ti

Page 3: Minimalizace součtu čtverců - úvod

Minimalizace součtu čtverců- úvod III

Dále pak máme nìjaký matematický model M:

Rk+n -> R, který je závislý na n volných parametrech x1, x2, ..., xn a pro který požadujeme, aby:

M(ti, x) yi

kde:

x = (x1, ..., xn)

i = 1, ..., m

(m je tedy počet naměřených bodů, se kterými

budeme pracovat)

Page 4: Minimalizace součtu čtverců - úvod

Minimalizace součtu čtverců- úvod IV

V úlohách tohoto typu tedy pro m-prvkovou množinu naměřených bodů (ti, yi) hledáme parametry x1,..., xn modelu M tak, aby daný model co možná nejlépe popisoval tuto množinu.

=> Minimalizujeme odchylku modelu od naměřených dat.

Page 5: Minimalizace součtu čtverců - úvod

Minimalizace součtu čtverců- příklad

Ohmùv zákonData: ((Ui), Ii) kde Ui je napìtí na svorkách

rezistoru a Ii je proud, který prochází rezistorem

Model: Obecně: M(ti, x) pro data (ti, yi)

Konkrétně:

R

U)R(),U(M i

i

Parametry modelu: x = (R), kde R je odpor rezistoru.

Page 6: Minimalizace součtu čtverců - úvod

Minimalizace součtu čtverců- příklad II

Radioaktivní rozpadData: ((ti), Ni) kde ti je èas od poèátku

mìøení a Ni je poèet atomù v èase ti

Model: Obecně: M(ti, x) pro data (ti, yi)

Konkrétně:Parametry modelu: x = (N0, T), kde N0 je poèet

atomù v èase 0 a T je poloèas rozpadu.

2ln.T

t

00i

i

e.N)T,N(),t(M

Page 7: Minimalizace součtu čtverců - úvod

Minimalizace součtu čtverců- příklad III

Potenciální energie molekulyData: ((s1,..., sn), Epot) kde s1, ..., sn jsou souřadnice

jednotlivých atomů molekuly a Epot je potenciální energie molekuly

Model: Obecně: M(ti, x) pro data (ti, yi)

Konkrétně:

Parametry modelu: je jich velmi mnoho – ideální vazebné vzdálenosti, vazebné úhly a torzní úhly, konstanty úměrnosti, atd ...

elvdwtoranbnn1 EEEEE(...)),s,...,s(M

Page 8: Minimalizace součtu čtverců - úvod

Minimalizace součtu čtverců- obecně

Chceme minimalizovat odchylku modelu od naměřených dat =>

Chceme tedy, aby hodnoty rozdílù

ri(x) = M(ti, x) - yi

byly v absolutní hodnotì co nejmenší.

To se dá interpretovat jako minimalizace normy vektoru:

r(x) = (r1(x), ..., rm(x))T

Page 9: Minimalizace součtu čtverců - úvod

Minimalizace součtu čtverců- obecně II

Nejèastěji se používá euklidovská (L2) norma, pro kterou dostáváme minimalizovanou funkci ve tvaru:

Namísto L2 normy je také možno použít normu L1 (souèet absolutních hodnot ri) nebo L (maximum z absolutních hodnot ri). Tyto normy mají svoje opodstatnìní: napøíklad L1 norma lépe eliminuje body mìøení, které „uletìly“, tj. jsou výraznì mimo prùbìh zadaný ostatními body, èasto v dùsledku chyby pøi mìøení. V pøednáškách budeme dále pracovat pouze s Euklidovskou normou.

m

1i

2i

T )(r)()()(f xxrxrx

Page 10: Minimalizace součtu čtverců - úvod

Minimalizace součtu čtverců- obecně III

Na funkce typu:

je možno přímo aplikovat minimalizační metody, probrané v předchozích kapitolách. Při výpočtech ale můžeme ušetřit mnoho času i paměti tím, že využijeme speciální vlastnosti tohoto problému :-).

m

1i

2i

T )(r)()()(f xxrxrx

Page 11: Minimalizace součtu čtverců - úvod

Minimalizace součtu čtverců- obecně IV

Gradient funkce f se dá vyjádøit jako:

kde J(x) Rnm je Jakobiho matice funkce f(x)

(i-tý øádek matice J(x) je gradient ri v bodì x).

Hessián funkce f se pak dá zapsat jako:

)(.)(2)(r).(r2)( Tm

1iii xrxJxxxg

G x x x x x( ) ( ). ( ) ( ). ( ) 2 2

1

2

1

r r r ri iT

i

m

i ii

m

Page 12: Minimalizace součtu čtverců - úvod

Minimalizace součtu čtverců- obecně V

Pokud je model M v dobré shodì s daty, pak v minimu x* má funkce f velmi malou (kladnou) hodnotu. Pak tedy ri(x) jsou malá èísla a v okolí x* se proto dá zanedbat druhá suma ve vztahu:

Hessián funkce f pak může být aproximován jako:

G x x x x x( ) ( ). ( ) ( ). ( ) 2 2

1

2

1

r r r ri iT

i

m

i ii

m

)()(2)(r).(r2)( Tm

1i

Tii xJxJxxxG

Page 13: Minimalizace součtu čtverců - úvod

Minimalizace součtu čtverců- Gauss-Newtonovy metody

Metody, které kombinují tuto aproximaci s Newtonovskými metodami se nazývají Gauss-Newtonovy metody.

Klasický Newtonovský vztah pro výpočet směru přesunu (sk) z bodu xk do bodu xk+1:

je tedy přeformulován na vztah:

)k()k()k( . gsG

J J s J r( ) ( ) ( ) ( ) ( ). . .k T k k k T k

Page 14: Minimalizace součtu čtverců - úvod

Minimalizace součtu čtverců- Levenberg-Marquardtovy metody

Použití dané aproximace v metodě s omezeným krokem dává Levenberg-Marquardtovu metodu pro součet čtverců. Původně byla Levenberg-Marquardtova metoda vyvinuta právě pro tuto aplikaci. Rovnice:

kterou využívá Levenberg-Marquardtova metoda se v tomto speciálním případě přepisuje do tvaru:

 

G I g( ) ( ) ( )k k k

J J I J r( ) ( ) ( ) ( ) ( ). .k T k k k T k

Page 15: Minimalizace součtu čtverců - úvod

Minimalizace součtu čtverců- další metody

Situace se komplikuje v případě, kdy neexistuje dostatečně dobré minimum funkce f, tj. když r(x) je nezanedbatelně velké pro všechna x.

Pak je možné například kombinovat metodu BFGS a Gauss-Newtonovu metodu tímto způsobem:

Podle velikosti relativního poklesu funkce f v k-té iteraci se hessián pro další iteraci aproximuje buď pomocí BFGS nebo pomocí Gauss-Newtonovy metody.

Page 16: Minimalizace součtu čtverců - úvod

Minimalizace součtu čtverců- další metody II

Pøesnìji øeèeno, pokud

f(k) - f(k+1) .f(k)

kde (0, 1) je vhodì zvolený parametr, pak se pro odhad použije Gauss-Newtonova metoda, v opaèném pøípadì pak BFGS. Pro hodnotu doporuèuje napø. Fletcher volit = 0.2.

Page 17: Minimalizace součtu čtverců - úvod

Lineární úloha nejmenších čtverců- úvod

V tomto případě je model lineární vzhledem k aproximovaným parametrùm:

M(ti, x) = 1(ti).x1 + ... + n(ti).xn

Pro odchylku modelu od reálného výsledku měření platí:

=> ri(x) = M(ti, x) - yi = 1(ti).x1 + ... + n(ti).xn - yi

Funkce, kterou budeme v rámci metody minimalizovat, má tedy tvar:

f r t x t x yii

m

i n i n ii

m

( ) ( ) ( ). ... ( ).x x 2

11 1

2

1

Page 18: Minimalizace součtu čtverců - úvod

Lineární úloha nejmenších čtverců- úvod II

Budeme tedy minimalizovat funkci:

V minimu musí pro všechny parametry x1, ..., xn modelu platit:

Po odderivování tedy platí:

f

x j

0

m

1i

2inin1i1 yx).t(...x).t()(f x

f

xt t x t x y

jj i i n i n i

i

m

2 01 1

1

. ( ). ( ). ... ( ).

Page 19: Minimalizace součtu čtverců - úvod

Lineární úloha nejmenších čtverců- úvod III

Rovnici:

budeme dále upravovat:

Soustavu rovnice v tomto tvaru můžeme zapsat pomocí matice:

A.x = b

m

1iinin1i1ij 0yx).t(...x).t().t(.2

)t(.x).t(...x).t()t(.y ij

m

1i

m

1inin1i1iji

m

1iijinn

m

1iiji11 )t().t(.x...)t().t(.x

Page 20: Minimalizace součtu čtverců - úvod

Lineární úloha nejmenších čtverců- úvod IV

Soustavu rovnic:

lze zapsat ve tvaru A.x = b následovně:

kde k, j {1, …, n}

Můžeme tedy obejít náročný proces minimalizace a získat minimum přímo řešením této soustavy.

m

1iijinn

m

1iiji11

m

1iiji )t().t(.x...)t().t(.x)t(.y

m

1iijikkj )t().t(a

m

1iijik )t(.yb

Page 21: Minimalizace součtu čtverců - úvod

Lineární úloha nejmenších čtverců- příklad

Chceme řešit tento problém:

Mějme objekt, pohybující se v čase t rychlostí v.

Naměřili jsme, že objekt se v čase t1 = 1s pohyboval rychlostí v1 = 1 m/s

t2 = 2s pohyboval rychlostí v2 = 6 m/s

t3 = 3s pohyboval rychlostí v3 = 2 m/s

Pohyb tohoto objektu považujeme za rovnoměrně zrychlený a můžeme ho tedy modelovat pomocí vztahu:

v = a.t + v0, kde:

a zrychlení objektu

v0 počáteční rychlost objektu

Úkolem je určit parametry a a v0.

Page 22: Minimalizace součtu čtverců - úvod

Lineární úloha nejmenších čtverců- příklad II

Obecný vztah pro model:

M(ti, x) = 1(ti).x1 + ... + n(ti).xn

můžeme tedy v našem případě přepsat do tvaru:

M(ti, (a, v0)) = 1(ti).a + 2(ti).v0 = a.t + v0

=> n = 2

Pro 1 a 2 tedy platí:

1(ti) = ti

2(ti) = 1

Page 23: Minimalizace součtu čtverců - úvod

Lineární úloha nejmenších čtverců- příklad III

Měřením jsme získali 3 body: (1, 1); (2, 6) a (3, 2) (=> m = 3)

Problém lze obecně zapsat pomocí soustavy n rovnic A.x = b

kde k, j {1, …, n}

m

1iijikkj )t().t(a

m

1iijik )t(.yb

V našem případě tedy bude platit: a11 = t1. t1 + t2. t2 + t3. t3 = 14

a12 = t1 + t2 + t3 = 6

a21 = t1 + t2 + t3 = 6

a22 = 1 + 1 + 1 = 3

b1 = y1. t1 + y2. t2 + y3. t3 = 19

b2 = y1 + y2 + y3 = 9

x1 = a

x2 = v0

Page 24: Minimalizace součtu čtverců - úvod

Lineární úloha nejmenších čtverců- příklad IV

Budeme tedy řešit soustavu rovnic:

Řešení: a = 0.5 m/s2

v0 = 2 m/s

Součet čtverců odchylek:

9

19

36

614

3

1i

2i0i

m

1i

2ii yvt.ay),t(MS x

5,135,1)3(5,1

)223.5,0()622.5,0()121.5,0(222

222

Page 25: Minimalizace součtu čtverců - úvod

Lineární úloha nejmenších čtverců- příklad V

Grafické znázornění výsledku:

y = 0,5x + 2

0

1

2

3

4

5

6

7

0 0,5 1 1,5 2 2,5 3 3,5

t [s]

v [

m/s

]

Page 26: Minimalizace součtu čtverců - úvod

Lineární úloha nejmenších čtverců- úlohy se dvěma parametry

S tímto typem úloh se setkáváme v praxi velmi často, jedná se o úlohy typu:

Máte zadáno m bodů (ti, yi), proložte těmito body přímku.

= nalezněte koeficienty k a q v rovnici y = k.t + q.

V tomto případě lze obecnou soustavu rovnic A.x = b

kde k, j {1, …, n}

Pøepsat do tvaru:

m

1iijikkj )t().t(a

m

1iijik )t(.yb

m

1ii

m

1iii

m

1ii

m

1ii

m

1i

2i

y

t.y

q

k.

mt

tt

Page 27: Minimalizace součtu čtverců - úvod

Lineární úloha nejmenších čtverců- úlohy se dvěma parametry II

Řešením této soustavy:

Pak získáme pro k a q vztahy:

m

1ii

m

1iii

m

1ii

m

1ii

m

1i

2i

y

t.y

q

k.

mt

tt

m

t.tt

m

y.tt.y

k m

1ii

m

1iim

1i

2i

m

1ii

m

1iim

1iii

m

t.kyq

m

1ii

m

1ii

Page 28: Minimalizace součtu čtverců - úvod

Lineární úloha nejmenších čtverců- úlohy se dvěma parametry III

Příklad:

Zadání stejné jako u předchozího příkladu o „objektu, pohybujícím se v čase t rychlostí v“.

Máme tedy body: (1, 1); (2, 6) a (3, 2) a chceme jimi proložit přímku: v = a.t + v0

Konkrétní výpočet:

19t.v i

3

1ii

6t3

1ii

9v3

1ii

14t3

1i

2i

5,0

36.6

14

39.6

19k

3

6.5,09q

Page 29: Minimalizace součtu čtverců - úvod

Kvadratická úloha nejmenších čtverců- úloha se třemi parametry

Naměřenými body tedy chceme proložit rovnici:

y = a.t2 + b.t + c

Analogicky jako v lineárním případě lze i v kvadratickém případě tuto speciální úlohu zapsat pomocí soustavy rovnic A.x = b, a to následovně:

t t t

t t t

t t cm

a

b

c

t y

t y

y

i i i

i i i

i i

i

i

i

m

i

m

i

m

i

m

i

m

i

m

i

m

i

m

ii

m

ii

m

ii

m

4

1

3

1

2

1

3

1

2

1 1

2

1 1

2

1

1

1

.

Page 30: Minimalizace součtu čtverců - úvod

Kvadratická úloha nejmenších čtverců- úloha se třemi parametry II

Metodou nejmenších čtverců najděte polynom 2.stupně, který je nejblíže bodům:

[1,1], [2,3], [4,6].

Řešíme tedy soustavu rovnic:

t t t

t t t

t t m

a

b

c

t y

t y

y

i i i

i i i

i i

i

i

i

m

i

m

i

m

i

m

i

m

i

m

i

m

i

m

ii

m

ii

m

ii

m

4

1

3

1

2

1

3

1

2

1 1

2

1 1

2

1

1

1

.

Page 31: Minimalizace součtu čtverců - úvod

Kvadratická úloha nejmenších čtverců- úloha se třemi parametry III

=> soustava: 273a + 73b + 21c = 109

73a + 21b + 7c = 31

21a + 7b + 3c = 10

Výsledek je:

a = -1/6,

b = 5/2,

c = -4/3.

y t t

1

6

5

2

4

32

Page 32: Minimalizace součtu čtverců - úvod

Cvičení- příklad 1

Metodou nejmenších čtverců najděte přímku, která je nejblíže bodům: (1,1); (2,6) a (3,2)

Použijte „přímý přístup“ - vytvořit funkci, odderivovat, derivaci položit rovnu nule, dořešit :-).

Řešení: Hledáme přímku ve tvaru y = kx + q

Minimalizovaná funkce:

f k q t k q yi ii

n

( , ) ( . )

1

2

f k q k q k q k q( , ) ( ) ( ) ( ) 1 2 6 3 22 2 2

f k q k kq k q q( , ) 14 12 38 3 18 412 2

Page 33: Minimalizace součtu čtverců - úvod

Cvičení- příklad 1 II

Derivace:

Řešíme tedy a

Minimum je v bodě k = 0.5 a q = 2

f

kk q 28 12 38

f

qk q 12 6 18

0 28 12 38 k q 0 12 6 18 k q

Page 34: Minimalizace součtu čtverců - úvod

Cvičení- příklad 2

Metodou nejmenších čtverců najděte přímku, která je nejblíže bodům: (1, 2); (2, 2.3) a (3, 3)

Vytvořte soustavu rovnic A.x = b a vyřešte ji, obecně:

kde k, j {1, …, n}

m

1iijikkj )t().t(a

m

1iijik )t(.yb

Soustava:a11 = 14 a12 = 6 a21 = 6 a22 = 3

b1 = 15,6 b2 = 7,3

Řešení: k = 0,5 q = 1,43

Page 35: Minimalizace součtu čtverců - úvod

Cvičení- příklad 3

Metodou nejmenších čtverců najděte přímku, která je nejblíže bodům: (-2,0); (0,1) a (2,3)

Využijte vztahy:

m

t.tt

m

y.tt.y

k m

1ii

m

1iim

1i

2i

m

1ii

m

1iim

1iii

m

t.kyq

m

1ii

m

1ii

y ti ii

1

3

6 t ii

1

3

0 yii

1

3

4 t ii

2

1

3

8

k

60 43

80 03

0 75

.

., q

4 0

31 33

34 .

,

Page 36: Minimalizace součtu čtverců - úvod

Cvičení- příklad 4

Metodou nejmenších čtverců najděte polynom 2.stupně, který je nejblíže bodům:

[1,2], [2,0], [3,3], [4,4].

Řešení: Opět hledáme polynom ve tvaru

Tedy řešíme soustavu rovnic:

y ax bx c 2

t t t

t t t

t t m

a

b

c

t y

t y

y

i i i

i i i

i i

i

i

i

m

i

m

i

m

i

m

i

m

i

m

i

m

i

m

ii

m

ii

m

ii

m

4

1

3

1

2

1

3

1

2

1 1

2

1 1

2

1

1

1

.

Page 37: Minimalizace součtu čtverců - úvod

Cvičení- příklad 4 II

=> soustava: 354a + 100b + 30c = 93

100a + 30b + 10c = 27

30a + 10b + 4c = 9

Výsledek je:

a = 3/4,

b = -57/20,

c = 15/4.

y t t 3

4

57

20

15

42


Recommended