Mesterséges intelligencia I
11. Előadás
Mi lenne a b legjobb választása? Statisztikai eljárásoknál az úgynevezett Fisher-féle
lineáris diszkriminancia függvény adja a legjobb szétválasztási lehetőséget - ha b-t jól
választjuk, ezt itt is megkaphatjuk. A levezetése elég hosszadalmas, nem adjuk meg.
A Bayes döntéshez tart növekvő mintánál!
A perceptron modell igazából csak az szétválasztható esetre működik jól, a legkisebb négyzetes pedig a nem
szétválaszthatóra.
Ha a b-t is változónak tekintjük, eljutunk a Ho-Kashyap eljáráshoz, amelyik mindkét esetre alkalmazható.
A kritérium-függvényünk:
Js(a,b) = Ya - b 2
Az a szerinti gradienst már kiszámoltuk:
aJs = 2Yt(Ya-b) a b szerinti pedig:
bJs = -2(Ya-b)
Elindulhatunk az a szerinti gradiensekből (a=Y†b) és a b > 0 feltételt megőrző
megoldáshoz juthatunk.
Ehhez a bJs pozitív kompenenseit nullának vesszük, és ezzel a
b(k+1) = b(k) - (k)[bJs - | bJs |]/2
összefüggéshez jutunk
Az előző eredmény gradienseit felhasználva kapjuk
b(1) > 0,
b(k+1) = a(k) + 2(k)e+(k), ahol
e(k) = Ya (k) - b (k) a hibafüggvény,
e+(k) = (e(k) + |e(k)| )/2 pedig ennek pozitív része, továbbá
a(k) =Y†b (k).
Ez a Ho-Kashyap eljárás
Több osztály esete
itt is lineáris diszkriminancia függvényeket keresünk,
és csak a szeparálható esettel foglalkozunk.
Homogén koordinátákkal ez
gi(x) = aity, i = 1, 2, …, c
alakú függvényeket jelent, és azt az i osztályt választjuk, amelyre
gi(x) > gj(x), minden j i -re.
Kessler módszere: kétosztályos esetre vezet vissza mindent (ezzel a dimenziókat c-szeresre növeli, de már ismert módszert fog tovább
használni).
Pontosabban: először az első osztályhoz tartozó pontokat választjuk el a többiektől a
a1tyk - ajtyk > 0, j = 2, 3, …, c segítségével.
Ez tulajdonképpen c-1 egyenlőtlenséget jelent, amelyeket a korábbi eljárásokkal oldhatunk
meg.
Vissza: agy működése (neuronhálók)
Példák logikai függvényekre
Többszintű hálók
Szintaktikus módszerek
Nem-numerikus adatok: például gyümölcsök osztályozásánál színek, méret, …
.Attribútumok listája.
Mit és hogyan lehet tanulni?
Döntési fa: minden csúcsban két- vagy többértékű döntés. Levelek: osztályok.
Hogyan építsünk fel egy döntési fát?
Itt is adott egy minta (osztályzott példák halmaza).
Ezt szeretnénk kérdésekkel felosztani.
Ideális (tiszta) eset: egy kialakult részhalmazban minden elemnek azonos a címkéje.
Addig: döntés, leálljunk-e (kevert osztály), vagy
további kérdést fogalmazzunk meg (növeljük a fát).
Faépítés általános kérdései
- elágazási szám: bináris vagy többértékű?
- melyik csúcsnál milyen tulajdonság ellenőrzése?
- mi legyen levél?
- ha túl nagy a fa, hogyan csökkenthetjük?
- ha egy levélnél több címke, melyiket válasszuk?
- mi legyen hiányzó adatoknál?
Bináris eset.
Mikor melyik kérdés? Tisztaságra törekvés.
Mérték? Tisztátlanság (i: impurity).
Entrópia az N csúcsnál:
i(N) = - j P(j)log2P(j),
ez akkor nulla, ha minden elem egy osztályba tartozik.
Másik (két osztályra): i(N) = P(1) P(2).
Gini tisztátlanság (több osztályra):
i(N) = ij P(i)P(j) = 1 - j P2(j),
Hibás osztályozás tisztátlanság:
i(N) = 1 - maxj P(j)
Alapkérdés: egy adott csúcspontban melyik tulajdonság szerint döntsünk?
Válasz: amelyik a tisztátlanságot a legjobban csökkenti:
i(N) = i(N) - PLi(NL) - (1 - PL)i(NR),
valamelyik tisztátlanság-definícióval (vagy annak monoton függvényével).
Elég sok számolással járhat.
Többlépcsős eljárás - mohó módszer.
Szükség esetén szuper-osztályok létrehozása.
Nagyobb elágazási faktor: a cél itt
i(N) = i(N) - Bk=1 Pki(Nk) minimalizálása.
Könnyen hoz létre túl sok osztályt.
Még több számolás.
Mikor álljunk le a további kérdésekkel?
- tanítás -tesztelés eredménye elég jó,
- a következő kérdésnél a tisztátlanság csökkenése elég kicsi,
- kevés pont marad a leveleknél, - statisztikai módszerek.
Vágás (nyesés): gyakran érdemes nagyon nagy fát felépíteni, és utána összevonni ágakat
(több információnk van, mintha korábban leállnánk).
Címkék hozzárendelése a levelekhez:
“tiszta” osztályoknál triviális, egyébként a legtöbb elemet tartalmazó osztály.
Példa
Számítási bonyolultság:
jó esetben O(dn(log n)2),
rossz esetben O(dn2log n).
Tulajdonságok kiválasztása:
gyakran sokat segíthet egy jó előfeldolgozás.
Példa.
Leggyakoribb módszer: ID3. Nominális adatok
(ha numerikus is van, először rész-
intervallumokba osztjuk azokat), entrópia használata.
Továbbfejlesztett (és leggyakrabban használt) változata: C4.5
Minták (sztringek) illesztése.
Adott egy véges abc, fölötte szavak.
Minta, szöveg, faktor, részsorozat definíciója.
Alkalmazási lehetőségek:
- keresés szövegekben,
- keresés DNS láncokban, - számítógépes grafika.
Alapproblémák:
- minta keresése (faktora egy szövegnek?)
- szerkesztési távolság: a lehető legkevesebb
elemi művelettel (törlés, beszúrás, csere) való átvitel
- minta keresése hibával
- minta keresése “akármi” szimbólummal
Szerkesztési távolság: dinamikus programozás. Alapképlet:
C(i,j) = min {C(i-1,j)+1, C(i,j-1)+1, C(i-1,j-1)+1-(x[i], y[j])}