• Nem Talált Eredményt

Radiális bázisfüggvényekből álló hálózat

6.3. RBF neuronhálók tanítása

6.4. ábra. Példa egy kétdimenziós tér bázisfüggvényekkel való lefedésére

6.3. RBF neuronhálók tanítása

Az RBF hálók tanítóval való tanítást (felügyelt tanítást) igényelnek, tehát szükség van egy tanító halmazra. Ha szabályzásra használjuk a hálót, a tanító halmaz a referencia és kimenet párosból állítható össze. Mivel ezek-nél a hálózatoknál a súlytényezőkön kívül a bázisfüggvények középpontjai és ezek szórása is tanítható, a tanítás több részből is összetevődhet. Az RBF hálózat tanítását a6.5. ábra foglalja össze.

6.3.1. Bázisfüggvények elhelyezése

Érdemes a bázisfüggvények középpontjait olyan helyre tenni, ahol a tanító halmaz több pontot tartalmaz, vagy ahol a tanítandó felület vál-tozása nagy. A bázisfüggvények szórását úgy kell megválasztani, hogy az egész intervallumot lefedjék. A középpontok és a bázisfüggvények tanítá-sa a súlytényezőkkel analóg módon is történhet, a hiba minimumát keresve.

Egyszerűbb esetekben a bázisfüggvények egyenlő távolságra helyezkednek el egymástól, és a szórásuk úgy van megválasztva, hogy az egész teret lefedjék.

Ebben az esetben csak a súlytényezők tanításával kell foglalkozzunk.

A bázisfüggvények elhelyezésére több megoldás is alkalmazható:

6.5. ábra. RBF hálózat paraméter hangolásának összefoglalása 1. A bemeneti tartomány bázisfüggvényekkel való egyenletes lefedése:

meghatározzuk, hogy egy dimenzió szerint hány bázisfüggvényt sze-retnénk elhelyezni, és ennek alapján határozzuk meg a bázisfüggvény középpontját és szélességparaméterét.

2. A bázisfüggvények középpont paraméterének a meghatározására klaszterező algoritmust alkalmazunk.

3. Egyenként elkezdünk elhelyezni egy-egy bázisfüggvényt. A bázisfügg-vényt a legnagyobb hibapontban helyezzük el, elkezdjük tanítani a neuronhálót, amikor tanítási ciklusok során a hiba már nem csökken, egy újabb bázisfüggvényt helyezünk el szintén a legnagyobb hibának megfelelő bemeneti pontra. Addig ismételjük a bázisfüggvények elhe-lyezését, amíg a hiba egy előre meghatározott küszöbérték alá nem

6.3. RBF neuronhálók tanítása 99 esik. A bázisfüggvények elhelyezésére különböző kritériumokat le-het meghatározni: például egy metrika alapján, ha az elhelyezendő bázisfüggvény túl közel esik egy már elhelyezett bázisfüggvényhez, akkor az új bázisfüggvényt nem helyezzük el, vagy kivágunk egy már korábban elhelyezett bázisfüggvényt.

4. A bázisfüggvények elhelyezésére és a háló paramétereinek a hango-lására genetikus algoritmusokra épülő módszereket alkalmazunk.

6.3.2. Bázisfüggvények paramétereinek meghatározása

A különböző rétegbeli processzáló elemek paramétereit eltérő módon vá-lasztjuk, illetve határozzuk meg. A kimeneti réteg paraméterei, a wi súlyok, ellenőrzött tanítás során kapják meg a megfelelő értékeiket. Az aktivációs függvény paramétereinek (ciközéppont és esetenként aσi szélességparamé-ter) a megválasztására különböző eljárásokat alkalmazunk:

1. Kevés tanító pont esetén minden egyes tanító pont egyben függ-vényközéppontot is képviselhet. Ilyenkor az RBF processzáló elemek száma megegyezik a tanító pontok számával.

2. Nagyszámú tanító pont mellett minden tanító pont középpontként való felhasználása nem alkalmazható. A kellő pontosságú approxi-mációhoz elegendő, ha a tanító pontoknak valamilyen összetartozó csoportjához egyetlen középpontot és így egyetlen processzáló elemet rendelünk. A tanító pontok csoportosítására, klaszterek képzésére bármilyen klaszterkialakító algoritmus használható:

– tanulóvektor-kvantálás (LVQ-learning vector quantization);

K-átlagképző (K-mean) eljárás.

6.3.2.1. K átlagképző eljárás

A standardK-átlagképző eljárás (K-mean) klaszterkialakító algoritmus feltételezi, hogy az összes tanító pont a rendelkezésünkre áll. A K-mean algoritmus célja, hogy K olyan klaszter-középpontot (ck, k = 1,2, . . . , K) határozzon meg, hogy a tanító pontok és a hozzájuk legközelebb eső klaszter-középpont négyzetes távolságainak összege minimális értéket vegyen fel. Ha U azui, i= 1,2, . . . , P tanító vektorok halmazát,U(k) pedig azon halmazt

jelöli, melynek pontjai ack (k = 1,2, . . . , K) középpontokhoz lesznek a leg-közelebb, akkor a következő (6.4) kifejezés megoldását keressük [4]:

minck

A K-mean algoritmus lépései:

1. Véletlenszerűen válasszunk meg egy K középpontot ck, k = 1,2, . . . , K.

2. Határozzuk meg minden tanító pontra, hogy mely középponthoz van a legközelebb, vagyis alakítsuk ki aKklasztert, haui-től a legkisebb távolságra lévő középpontck, akkor uia k-adik klaszterU(k) eleme lesz.

3. Határozzuk meg az így kialakított klaszterek új középpontjait. Egy klaszter új középpontja legyen a klaszterekbe tartozó mintapontok átlaga.

4. Akkor fejezzük be az eljárást, ha a mintapontok klaszterbe sorolása már nem változik.

Sok esetben a ck középpontokat egyszerűen a tanító pontokból vélet-lenszerűen kiválasztott K pont képezi. A középpont-paraméterek ellenőrzött tanítással is kialakíthatók [4]. Az RBF hálózatok nem érzékenyek a széles-ségparaméter megválasztására, a középpontok meghatározása után az alábbi heurisztikus, R legközelebbi szomszéd módszerrel határozható meg (6.5):

σj = 1

ahol azR különbözőcj középpont,ck R legközelebbi szomszédja. A széles-ségparaméter szintén meghatározható ellenőrzött tanítással is (6.6).

ck= 1 P(k)

X

ui∈U(k)

ui (6.6)

ahol P(k) azU(k) klaszterbe tartozó tanító pontok száma.

A súlytényezők tanítása történhet a pillanatnyi hiba vagy a tanítási ciklus globális átlaghibája alapján:

6.3. RBF neuronhálók tanítása 101 – online tanítás – minden egyes be-kimeneti tanítópárra kiszámoljuk

a hibát és tanítjuk a súlytényezőket;

– batch tanítás – kiszámoljuk a hibát minden be-kimeneti tanítópárra, de a súlymódosítást csak egyetlenegyszer végezzük el egy tanítási cikluson belül.

6.3.3. Súlytényezők hangolása

6.3.3.1. Pillanatnyi hiba alapján való tanítás

A pillanatnyi hiba alapján történő tanulásnál a súlymódosításra alkal-mazzuk a Widroff–Hoff-(delta) szabályt (6.7):

wi,n[k+ 1] =wi,n[k] +µi)g(X, ck, σk) n= 1, . . . , N, i= 1, . . . , M.

(6.7) A tanítási lépések:

1. Meghatározzuk a háló topológiáját, bázisfüggvények típusát, bázis-függvények számát, a bázisbázis-függvények elhelyezésének módját, vélet-lenszerűen meghatározzuk a súlytényezők kezdőértékeit.

2. Kiszámoljuk a háló kimenetét (y) azxk bemenet függvényében.

3. Ismerve a bemeneti-kimeneti tanító párokat (xk, dk), a második lé-pésben kiszámolt kimenetre kiszámoljuk a hibát (6.8):

δ=dky. (6.8)

4. Módosítjuk a súlytényezőket a delta-szabállyal.

5. Megismételjük minden egyes ki-bemeneti párra a tanító halmazból.

6. Egy teljes ciklus végén kiszámolunk egy négyzetes hibát (6.9):

E=

M

X

i=1

δi2. (6.9)

Ha a hiba egy adott szint alá csökken, vége a tanításnak, ha nem, újra vesszük a be-kimeneti párokat, és megismételjük az algoritmust a 2. ponttól.

6.3.3.2. Globális hiba alapján való tanítás

Kevés tanító pont esetén a kimeneti lineáris réteg tanítása egy lineá-ris egyenletrendszer megoldását jelenti, ahol az egyenletek és ismeretlenek száma megegyezik. Ha az ui tanító pontokra adott kívánt válaszokat most di-vel jelöljük, akkor a megoldandó egyenlet (6.10):

G W =d (6.10)

ahol G= [gij] az interpolációs mátrix és d adi kívánt válaszokból álló osz-lopvektor. A kvadratikus mátrix elemei gij =gi(uj). Ha G nemszinguláris, a megoldásvektor létezik (6.11) [4]: [28]:

W =G−1d. (6.11)

Amennyiben a tanító pontok száma nagyobb, mint a rejtett rétegbeli processzáló elemek száma, a G mátrix nem lesz kvadratikus, a megoldan-dó egyenletrendszerben az egyenletek száma nagyobb, mint az ismeretlenek száma. A megoldást ilyenkor a legkisebb négyzetes eltérés értelmében ke-reshetjük (6.12):

C(W) = min

W kd−GWk (6.12)

függvényt felírva és elvégezve a w szerinti szélsőérték-keresést, a megoldás a következő (6.13):

W =GTG−1GTd (6.13)

GTGkvadratikus, tehát amennyiben nem szinguláris, invertálható és így a megoldás létezik. Ha mégis aGTGszinguláris, akkor a következő egyen-lettel helyettesítjük:GTG+λI.

A λ megfelelő megválasztása biztosítja a nem szingularitást, I – egy-ségmátrix.

Az RBF hálózat egyik változata a normalizált bázisfüggvények alkalma-zása. A normalizálás azt jelenti, hogy bármely bemeneti vektorra az összes processzáló elem kimenetének összege konstans 1. A normalizált bázis-függvények alkalmazását az approximációs tulajdonságok javulását mutató