VYU ZIT I METODY NELINE ARN ICH NEJMEN S ICH CTVERC U
Transkript
I METODY NELINEARN ICH NEJMENS ICH CTVERC VYUZIT U CHARAKTERISTIKY. PRO REKONSTRUKCI PRECHODOV E Martin Strelec Katedra kybernetiky Zapadoceska univerzita v Plzni Univerzitn 22, 306 14 Plzen, Czech Republic email: [email protected] ABSTRACT anek popisuje pouzit nelinearn metody nejmensch Cl ctverc u (konkretne Levenberg-Marquadthova algoritmu) pro rekonstrukci prechodovych charakteristik. Jedna se tedy o identikaci neznamych parametr u zname nelinearn funkce pomoc interpolace neuplne prechodove charakteristiky. V prspevku bude nejprve popsan LevenbergMarquadth uv algorimus, dale bude uveden prklad aplikace algoritmu na problem interpolace prechodove charakteristiky. KEY WORDS nelinearn metoda nejmensch ctverc u, prechodova charakteristika, interpolace, Levenberg-Marquardt algoritmus 1 Uvod Levenberg-Marquardt uv (dale uz jen LM) algoritmus je numericka metoda pro urcen minima nelinearn funkce. LM je kombinac dvou numerickych metod, metody nejvetsho spadu1 a Gauss-Newtonovy metody. Stejne jako vsechny nelinearn metody je i LM anek se zabyva vyuzitm LM metodou iterativn. Cl jako nelinearn metody nejmensch ctverc u. V prpade aplikace LM na problem nejmensch ctverc u se minimalizuje soucet ctverc u rozdlu vstupnch dat a aproximovane nelinearn funkce. 2 Levenberg-Marquadt uv algoritmus Je dana aproximujc obecne nelinearn funkce f (x; p), kde x je vektor nezavislych promennych a p je vektor parametr u . Vektor vstupn ch dat bude oznacen jako y (x). Dale bude zaveden vektor yb(x), ktery predstavuje aproximovane hodnoty merenych dat. Pro vektor yb(x; p) plat, ze yb(x; p) = f (x; p) : 1 N ekdy (1) ozna cov ana za metodu nejstrm ej s ho sestupu nebo tak e gradientn metodu Vector chyby odhadu potom vypada nasledovne (x; p) = y(x) yb(x; p): (2) Metodou nejmensch ctverc u se minimalizuje soucin (x; p)T (x; p). Tudz se hleda takove p+ , pro ktere plat, ze p+ = argminp fF (x; p)g ; (3) kde m 1X 1 ( (x; p))2 = k(x; p)k = (4) 2 i=1 i 2 1 = (x; p)T (x; p) ; 2 kde m je velikost vektoru (x; p) (resp. pocet vzork u vstupnch dat). Vstupn promenne algoritmu tedy jsou vektor vstupnch dat2 y (x), vektor nezavislych promennych x a pocatecn hodnoty vektoru parametr u p0 . Zakladem LM algoritmu je linearn aproximace funkce f (x; p) v okol p. Pro mala p se m uze Taylor uv rozvoj aproximovat nasledovne F (x; p) = f (x; p + p ) f (x; p) + Jp ; (5) (x;p) kde J je Jacobiho matice @f@p . Jak jiz bylo receno LM je iterativn algoritmus. Zacna ze startovacch podmnek p0 a produkuje posloupnost vektor u p1 , p2 , : : : , ktera konverguje k vektoru p+ . Kde p+ je vektor parametr u funkce f (x; p+ ), pro nez plat ze (x; p+ )T (x; p+ ) ! min ((x; p)T (x; p)) : p (6) Proto se potrebuje nalezt p takove, ktere minimalizuje normu ky(x) yb(x; p + p )k (7) ky(x) f (x; p) Jp k = k(x; p) Jp k : Minimum je dosazeno pokud Jp gonaln k J , tedy kdyz J T (Jp (x; p)) = 0 2 Vstupn data (x; p) je orto(8) m u zou p redstavovat nam e ren e hodnoty apod. Rovnice (8) se m uze upravit na tvar J T Jp = J T (x; p) ; (9) cmz se dostane tzv. normaln rovnice. Matice JT J 2 f (x;p) @ na leve strane je tzv. Hessian (matice @p2 ). LM vlastne res jemnou odchylku normaln rovnice (9). Normaln rovnice (9) m uze byt zapsana ve tvaru Np = J T (x; p) ; (10) cmz se dostane rozsrena normaln rovnice. Nediagonaln prvky matice N jsou shodne s nediagonalnmi prvky matice J T J . Diagonaln prvky se vol jako Nii = + [J T J ]ii , kde > 0. Strategie zmeny diagonalnch prvk u J T J se nazyva damping. Promenna je pak tvz. damping term. Jestlize zmena vektoru parametr u p o p , kde p bylo vypocteno z rozsrene normaln rovnice (10), vede k redukci chyby (x; p), je tato zmena akceptovana a proces pokracuje s klesajcm . V opacnem prpade parametr roste a rozsrena normaln rovnice se res dale, dokud nen nalezena takova zmena p , pro kterou chyba (x; p) klesa. Tedy normaln rozsrena rovnice (10) se res tak dlouho, dokud nen (pro r uzne damping termy) nalezena prpustna zmena vektoru parametr u p, to odpovda jedne iteraci LM. Pro zabezpecen redukce chyby (x; p) se damping term prizp usobuje kazdou iteraci. Pokud je damping nastaven na velkou hodnotu, pak je matice N v rozsrene rovnici (10) skoro diagonaln a LM nastavuje krok p temer ve smeru nejvetsho spadu. Algoritmus se chova podobne jako metoda nejvetsho spadu. Toto chovan je zadouc pokud jsou odhadovane hodnoty parametr u vzdalene od skutecnych. Algoritmus v tomto prpade konverguje linerarne. Pokud je damping maly, algoritmus se chova spse jako Gaussova-Newtonova metoda. Teto vlastnosti se vyuzva v konecnych fazch odhadu, kdy se odhadovane hodnoty parametr u blz skutecnym. V teto fazi konverguje algoritmus kvadraticky. LM je tudz adaptivn algoritmus, protoze kontroluje vlastn damping. Zvysuje damping jestlize tento krok vede k poklesu chyby (x; p), v opacnem prpade damping snizuje. Pokud se nachaz daleko od resen priblizuje se pomalym sestupem, avsak v okol minima rychle konverguje. LM algoritmus je ukoncen, kdyz je splnena jedna z nasledujcch podmnek: velikost gradientu (x; p)T (x; p) poklesne pod prah 1 (dalsmi iteracemi se jiz nedosahuje vyrazneho zlepsen) relativn zmena velikosti p poklesne pod prah 2 (je dosazeno spravnych hodnot) chyba (x; p)T (x; p) poklesne pod prah 3 (je dosazeno spravnych hodnot) 3 pocet iterac prekroc kmax (v zadanem poctu krok u resen nekonverguje) Popis algoritmu V teto casti bude pomoc tzv. pseudokodu zapsan LM algoritmus. Vstupy: aproximujc funkce f (x; p) vektor vstupnch dat y (x) 2 Rm vektor nezavislych promennych x 2 Rm pocatecn podmnky p0 maximaln pocet iterac kmax tresholding 1 ; 2 ; 3 omezen dampingu V ystup: vektor p+ 2 Rn minimalizujc kriterium ky(x) f (x; p)k Algoritmus: begin k = 0; = 2; p = p0 ; A = J (p)T J (p); p = y(x) f (x; p); g = J (p)T f (x; p); stop = (kgk1 1 ); = maxfaii g; while((not stop) and (k kmax )) k = k + 1; repeat Reseni : (A + I ) p = g if(kp k 2 kpk) stop = true; else pnew = p + p ; k k2 ky(x) f (x; pnew )k2 ; = p pT (p + g) if ( > 0) p = pnew ; A = J (p)T J (p); p = y(x) f (x; p); g = J (p)T f (x; p); stop = (kgk1 1 ); 1 = max ; 1 (2 1)3 ; = 2; 3 else = ; = 2 ; until ( > 0) or stop; endwhile end p+ = p; 4 P r klad interpolace p rechodov e funkce. Zde bude ukazan prklad interpolace neuplne kmitave prechodove charakteristiky. Bude se vychazet z predpokladu, ze prechodovou charakteristiku lze popsat diferencialn rovnic druheho radu. a y00 + b y0 + c y = d ; (11) kde a; b; c; d jsou realne koecienty. Dals predpoklad je, ze koreny charakteristickeho polynomu diferencialn rovnice jsou komplexne sdruzene, tedy 1;2 = i . sen diferencialn rovnice vypada takto Re d 1 et (cos( t) + 0:5 sin( t)) = c = p1 [ 1 ep2 (t p3 ) (cos(p4 (t p3 )) + + 0:5 sin(p4 (t p3 )) ) ] ; (12) y(t) = kde p1 , p2 , p3 a p4 jsou odhadovane parametry. Pro simulacn potreby byla pomoc rovnice (12) vygenerovana data s nasledujcmi parametry p1 = 2, p2 = 1, p3 = 0 a p4 = 2. Vygenerovana data byla navc zasumena aditivnm sumem, jehoz stochasticke vlastnosti se rd podle normalnho rozlozen pravdepodobnosti N (0; p401 ). Pocatecn podmnky odhadu byly zvoleny takto p1 = 1, p2 = 1, p3 = 1 a p4 = 1. Maximaln pocet iterac byl stanoven na 500 krok u. Prahove hodnoty byly nastaveny na 1 = 0:00001, 2 = 0:001 a 3 = 0:001. Na nasledujcm obrazku (Obr. 1.) je ukazan vysledek experimentu. Obrazek zobrazuje pr ubehy p uvodnch nezasumnenych dat, p uvodnch zasumenych dat a dat, vygenerovanych pomoc funkce (12) s aproximovanymi parametry. Obrazek 1. Prklad interpolace neuplne prechodove charakteristiky Z obrazku 1. je patrne, ze algoritmus dokonvergoval (se zvolenou presnost) ke spravnemu resen. Algoritmus potreboval k urcen parametr u 16 iterac 3 . Nasledujc tabulka (Tab. 1.) ukazuje vysledky p uvodn a aproximovane hodnoty parametr u funkce (12). Parametr d c p1 p2 () p4 ( ) p3 P uvodn hodnota 2.00000 -1.00000 2.00000 0.00000 Aproximovana hodnota 1.99973 -1.00393 1.99609 2:35952 10 3 Tabulka 1. Vysledky aproximace parametr u - hodnoty parametr u Parametr d c p1 p2 () p4 ( ) p3 Absolutn chyba 2:67173 10 4 3:93522 10 3 3:90452 10 3 2:35952 10 3 Relativn chyba [%] 1:33586 10 2 0.39352 0.19522 | Tabulka 2. Vysledky aproximace parametr u - chyby odhadu parametr u Z vyse uvedene tabulky (Tab. 2.) lze videt, ze algorimus dokonvergoval k p uvodnm hodnotam parametr u s presnost na 0.5 %. Algoritmus byl zastaven prvn podmnkou, tedy ze dalsmi iteracemi se jiz nedosahlo vyrazneho zlepsen. Reference [1] K. Madsen, H.B. Nielsen, O. Tingle (2004): Methods for Non-Linear Least Squares Problems. Available at: http://www2.imm.dtu.dk/courses/02611/nllsq.pdf [2] Manolis I. A. Lourakis (2005): A Brief De- scription of the Levenberg-Marquardt Algorithm levmar. Available at: http://www.ics.forth.gr/lourakis/levmar/levmar.pdf Implemened by [3] Ray Muzic, Arthur Jutan (1992): Levenberg- Marquardt nonlinear regression algorithm able at: . Avail- ftp://y.cnuce.cnr.it/pub/software/octave/leasqr/ an (2003): [4] Miroslav Step Neline arn aproxi- mace sign alu, implementace algoritmu pro neline arn odhad parametru v Matlabu 2003/17. Available at: . Elektrorevue http://www.elektrorevue.cz/clanky/03017/ 3 Po cet iterac je z avisl y na zvolen ych prahov ych hodnot ach, maxim aln velikosti damping termu atd. [5] A. Raltson (1976): Zaklady atiky. Praha, Academia. numerick e matem-
Podobné dokumenty
- Ústav anorganické technologie
Základem separačnı́ch schopnostı́ všech membrán je rozdı́lná rychlost transportu jednotlivých
složek směsi přes membránu. Mechanismy pohybu molekul v membráně závisı́, jak na povaze me...
BAKAL A RSK A PR ACE
Eurobot je kazdorocne poradana mezinarodn roboticka soutez, jejmz clem je mimo
jine podporovat kreativitu a vymenu zkusenost mezi soutezcmi. Soutez se snaz vest
k...
KOMBINATORIKA A GRAFY I
Oznacme pi prmku axi, i 2 f0; 1; 2; 3; :::; ng. Kazde dve prmky pi a pj
(i 6= j ) se protnaj v bode a a nikde jinde. Prmky pi tedy maj po n
bodech krome a, to cin n(n + 1) +...
Zde - Fragmenty
reálný děs z návratu před listopad 1989.
Stal se ale zázrak. Petru Nečasovi se
podařilo zvrátit tuto hrozbu a hodinu
po dvanácté zachránit ODS. Díky jeho
neuvěřitelnému pracovnímu nasazení
ve vole...
MATEMATICK A ANAL YZA III
Jestlize existuje linearn zobrazen L :