Genetikai algoritmus

Fejlesztek egy genetikai algoritmust, mely Monte Carlo szimulációval megtalált paraméterek hibáját konvergálja tovább nulla felé.

 

Mi adja a problémát? Hogy nem tudjuk, hogy a végtelen térnek mely részén keressünk. Nézzünk egy egyszerű példát:

Hatvány görbét akarok illeszteni az alábbi X-Y pontokhoz:

( 1, 1 )

( 4, 2 )

( 6, 10 )

Függvénye:

y = p1 x^p2 + p3

Keressük p1, p2 és p3 paraméterek értékét, melyekkel a görbe minél kisebb hibával tér el a pontoktól. A gyakorlatban sokkal több paramétert keresünk sokkal komplexebb összefüggés rendszerben.

Miért nem jók a robusztus és nem robusztus eljárások, mint például LOWESS és SPLINE? Egyrészt azért, mert csak 2 dimenziós illesztést tudnak végezni. Másrészt arra van szükségem, hogy a pontok által meghatározott tartományon kívül is tudjak prediktálni és számításokat végezni (inference). Léteznek egyéb görbe illesztési eljárások, de azok meg általában vagy kevés paramétert tudnak állítani szintén csak 2D-ben, vagy pedig szükség van a függvény deriváltjára, mely sok esetben nem elérhető a probléma komplexitása miatt.

Habár tetszőleges optimum kereső megoldások is léteznek, a saját motor a genetikai algo fejlesztéséhez kell. Kutatásom célja, hogy hogyan tudom a problémát egyszerre tovább egyszerűsíteni és hatékonyabbá tenni a lépések még adaptívabbá alakításával.

 

https://www.geogebra.org/graphing/uwfat3wk

https://i.imgur.com/2Pjl7Wj.png

Hozzászólások

Nekem még az rémlik, hogy n pontra n-1-edfokú polinomot illesztünk, vagyis y = p1 x^2 + p2 x + p3. Jelen esetben y = 0.73333 x^2 - 3.33333 x + 3.6.

Van valami különleges oka a tört kitevőnek?

Debian - The "What?!" starts not!
http://nyizsa.blogspot.com