|
Neuronske mreže
> Predavanje
>
6. Ostali algoritmi
neuronskih mreža - Neuronska mreža opće regresije |
Neuronska mreža opće regresije
Prema Specht-u (1991), Neuronska
mreža opće regresije opći je oblik vjerojatnosne mreže koja
je prvenstveno namijenjena rješavanju problema klasifikacije.
mreža opće regresije može se koristiti za modeliranje i za predviđanje,
a posebna joj je kvaliteta u radu sa raspršenim i nestacionarnim
podacima. Njezini nedostaci, kao što su trošenje mnogo memorije
i vremena u fazi opoziva, nisu ograničavajući čimbenici za današnja
brza računala.
Računanje u mreži
Mreža opće regresije dizajnirana
je da izvodi nelinearnu regresijsku analizu. Ako je f(x,z)
funkcija gustoće vjerojatnosti vektora slučajne varijable
x (ulaznog vektora) i njegove skalarne slučajne varijable
(mjere) z, tada se računanje u mreži opće regresije sastoji
od računanja uvjetne srednje vrijednosti E(z|x) izlaznog vektora,
prema (Patterson, 1996):
Da bi se izračunala gornja uvjetna srednja vrijednost, potrebno
je znati funkciju gustoće vjerojatnosti (pdf funkciju f(x,z)).
Mreža opće regresije aproksimira pdf funkciju iz vektora za
treniranje koristeći procjenu uz pomoć Parzen-ovih prozora,
što je neparametrijska tehnika koja aproksimira funkciju gustoće
konstruirajući je iz mnogo jednostavnih parametrijskih pdf-ova
(Specht, 1991). Parzen-ovi prozori su Gauss-ove funkcije s
dijagonalnom matricom kovarijance:
gdje je P broj točaka xi u uzorku, N je dimenzija vektora
točaka xi iz uzorka, s je konstanta izglađivanja, a Di je
Euclidean-ova udaljenost između x i xi izračunata kao:
gdje je N broj ulaznih jedinica u mreži, s je prametar širine
koji zadovoljava naredno asimptotsko ponašanje dok se broj
Parzen-ovih prozora povećava:
and
, ili kada , ,
gdje je S skala, N je broj ulaznih jedinica. Kada se procijenjeni
pdf-ovi uvrste u gornju jednadžbu, proces substitucije nakon
nekoliko koraka rezultira narednom formulom za računanje svake
od komponenti zj:
.
Budući da je izračunavanje Parzen-ove procjene vremenski zahtjevno
u slučaju velikih uzoraka, često se u mrežu opće regresije
ugrađuje procedura klasteriranja. Prema toj proceduri, umjesto
računanja Gauss-ovog kernela u središtu x za svaki dani uzorak
xi, traži se udaljenost tog uzorka do najbližeg središta u
prethodno uspostavljenom kernelu, te se ponovo upotrebljava
najbliži kernel. Takav pristup gornju jednadžbu računanja
zj transformira u :
, j=1,…,M,
gdje je
, and .
Arhitektura mreže
Mreža se sastoji od ulaznog sloja,
skrivenog sloja (ili sloja uzoraka) i izlaznog sloja (vidi
Sliku 2.5). Također postoji dodatni nevidljivi sloj za sumaciju/dijeljenje
(summation/division) čija funkcija će biti objašnjena kasnije.
Proces učenja mreže izvodi se prema koracima:
1) od ulaznog do skrivenog sloja: vektor za treniranje X distribuira
se od ulaznog sloja u skriveni sloj, a težine veza između
ulaznog sloja i k-te jedinice skrivenog sloja pohranjuju centar
Xi k-tog Gauss-ovog kernela.
2) u skrivenom sloju: Sumacijska funkcija za k-te jedinice
skrivenog sloja računa Euclidean-ovu udaljenost Dk između
ulaznog vektora i pohranjenog centra Xi, te je transformira
kroz eksponencijalnu funkciju . Zatim se uvode B koeficijenti
kao težine veza između skrivenog sloja i prve jedinice u sloju
za sumaciju/dijeljenje, a A koeficijenti kao težine za preostale
jedinice u sloju za sumaciju/dijeljenje.
3) u sloju za sumaciju/dijeljenje: sumacijska funkcija ovog
sloja (koja je standardna funkcija vagane sume) računa brojnik
gornje jednadžbe za prvu jedinicu (j), a zatim nazivnik za
svaku narednu jedinicu (j+1). Da bi se izračunao izlaz, ,
suma brojnika je podijeljena sa sumom nazivnika, te je takav
izlaz prosljeđen u izlazni sloj (treba primijetiti da prva
jedinica sloja za sumaciju/dijeljenje ne generira izlaz).
4) u izlaznom sloju: izlazni sloj prima ulaze od sloja za
sumaciju/dijeljenje i šalje procijenjene uvjetne srednje vrijednosti,
te računa grešku koristeći stvarni izlaz iz okoline.
Slika 2.5. Arhitektura mreže opće regresije
Primjena mreže
Zbog svoje općenitosti, mreža opće
regresije može se upotrebljavati u različitim problemima,
kao npr. predviđanje, modeliranje i kontrolu procesa postrojenja,
općenito mapiranje, ili drugim riječima u svim problemima
gdje postoje nelinearne veze između ulaznih i izlaznih varijabli
(Patterson, 1996). Jedna od glavnih prednosti mreže opće regresije
je njihova sposobnost tretiranja nestacionarnih podataka (tj.
vremenskih serija čija se statistička svojstva mijenjaju tokom
vremena). Ova sposobnost postignuta je modificiranjem računanja
A i B koeficijenata u gornjoj jednadžbi na način da je uvedena
vremenska konstanta t (označavajući broj vektora za treniranje)
koja će pokazivati koliko brzo vremenska serija mijenja svoje
karakteristike. Ako je vektor za treniranje predstavljen diskretnim
vremenskim točkama t, modificirana funkcija ima oblik:
ako je novi uzorak dodijeljen klasteru k, (a)
ako je novi uzorak dodijeljen klasteru <> k. (b)
Gornje svojstvo mreže opće regresije može se interpretirati
kao "funkcija zaboravljanja", i ako je konstanta
t manja, mreža će brže zaboraviti što je naučila na prethodnim
podacima. Kada je t postavljen na vrlo veliki broj, mreža
opće regresije može se učinkovito upotrebljavati za stacionarne
vremenske serije. Međutim, problem se pojavljuje kada se određena
jedinica vrlo rijetko koristi, jer će tada jednadžba (b) prevladati
za tu jedinicu. U tom slučaju mreža opće regresije uvodi tzv.
reset mehanizam u obliku praga q, tako da ako je B(k)(t)<
q, jedinica je resetirana i može se dodijeliti novom vektoru
za treniranje. Ovakav mehanizam čini mrežu opće regresije
učinkovitom za nestacionarne (dugo neupotrebljavane jedinice
mogu se ponovo upotrijebiti), kao i za stacionarne podatke
(jedinice temeljene na vektorima za treniranje sa smetnjama
mogu se ponovo koristiti).
Može se zaključiti iz prethodnog
opisa da je mreža opće regresije posebno prilagođena:
· nestacionarnim i raspršenim podacima (zbog funkcije zaboravljanja
i reset mehanizma),
· stacionarnim podacima koji sadrže smetnje (zbog reset mehanizma),
što će biti testirano u našim eksperimentima.
Ulazni parametri za izgradnju
mreže
1) broj ulaznih, skrivenih
i izlaznih jedinica
Broj skrivenih jedinica može se odrediti kao broj vektora
podataka iz uzorka za treniranje, što se preporučuje samo
ako je uzorak dovoljno mali (manji od 50 promatranja), ili
ako je radijus utjecaja postavljen na vrijednost 0.
2) sumacijska funkcija u skrivenom sloju (Euclidean, City
Block, ili Funkcija projekcije)
Zbog široke upotrebe, preporučuje se upotreba Euclidean-ove
funkcije za većinu problema.
3) t - vremenska konstanta
Izražava se u vektorima uzorka za treniranje, a može se prilagoditi
stupnju nestacionarnosti prisutnom u podacima. Manja vrijednost
vremenske konstante uzrokovat će da mreža brže zaboravi prethodne
slučajeve. Standardna vrijednost vremenske konstante je 1000,
dok je u našim eksperimentima postavljena na 193 ako su podaci
nestacionarni (budući da je to 1/3 uzorka za treniranje) i
na 578 ako su podaci stacionarni (što je jednako veličini
uzorka za treniranje).
4) q - reset parametar
Prema prethodno objašnjenom značenju, ovaj parametar podijeljen
s brojem skrivenih jedinica korišten je za usporedbu kod resetiranja
B koeficijenata. Standardna vrijednost za reset parametar
je 0, a u našim eksperimentima je postavljen na 0.5.
5) radijus utjecaja
Radijus utjecaja je jedna vrsta klaster mehanizma za određivanje
granice Euclidean-ove udaljenosti uz pomoć koje će ulazni
vektor biti dodijeljen nekom klasteru. Ulazni vektor bit će
dodijeljen nekon klasteru ako je središte klastera najbliže
središte ulaznom vektoru, ili ako je središte klastera bliže
nego radijus utjecaja. Ako ulazni vektor ne zadovoljava gornje
uvjete, računa se novo središte za taj ulazni vektor. Stadardna
vrijednost radijusa je 0.250, što je također korišteno u našim
eksperimentima.
6) sigma skala (S) i sigma eksponent (E)
S i E vrijednosti koriste se za izračunavanje s (širine Parzen-ovih
prozora). Standardna vrijednost za S je 1, za E 0.5, što je
također korišteno u našim eksperimentima.
|