1 / 36

Pécsi Tudományegyetem Pollack Mihály Műszaki Kar Műszaki Informatika Szak Data Mining

Pécsi Tudományegyetem Pollack Mihály Műszaki Kar Műszaki Informatika Szak Data Mining. 27. Előadás Dr. Pauler Gá bor , Egyetemi Docens PTE-PMMFK Villamos Intézet Számítástechnika Tanszék Iroda: Boszorkány u., B épület 101 Tel: 72/503-650/3725 E-mail: gjpauler@acsu.buffalo.edu

brosh
Download Presentation

Pécsi Tudományegyetem Pollack Mihály Műszaki Kar Műszaki Informatika Szak Data Mining

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pécsi TudományegyetemPollack Mihály Műszaki KarMűszaki Informatika SzakData Mining 27. Előadás Dr. Pauler Gábor, Egyetemi Docens PTE-PMMFK Villamos Intézet Számítástechnika Tanszék Iroda: Boszorkány u., B épület 101 Tel: 72/503-650/3725 E-mail: gjpauler@acsu.buffalo.edu Készült a PTE Alapítvány támogatásával

  2. Az előadás tartalma Eloszlásfüggetlen becslési rendszerek • Az eloszlásfüggetlen becslési módszerek alapfogalmai • Analitikus módszerek • Taylor-sor • Fourier transzformáció • Szabályalapú rendszerek • Alapfogalmak • Következtető gépek és fabejáró algoritmusok • Következtető gépek és a bizonytalanságkezelés • Manuális tudásbeszerzésre épülő szabályalapú rendszerek • Egyszerű szabályalapú rendszerek • Egyszerű szabályalapú rendszerektől a szakértői rendszerekig • Szakértői Rendszer Shellek • Az objektum-hierarchia alapfogalmai • A szakértői rendszer shell komponensei • A szakértői rendszer shell felhasnálóinak csoportjai • A szakértői rendszer shellel megoldható problémák • A szakértői rendszer shellek értékelése • Automatikus tudásbeszerzésre épülő szabályalapú rendszerek • CART • C4.5 • CHAID Szakirodalom

  3. Az eloszlásfüggetlen becslési módszerek alapfogalmai 1 • A gyakorlati problémákban igen gyakran van szükség rá, hogy input és output változók (Input/Output Variables) alkotta döntési térben (Decision Space) egy bonyolult nemlineáris, nem folytonos, nem konvex/konkáv függvénytranszformációt, vezérlési függvényt (Control Function) megbecsüljünk egy tanító minta (Learning Sample), korábban megfigyelt input-output értékpárok halmaza segítségével • Az eddig tanult eloszlásfüggő függvénybecslési módszerek (Distribution Dependent Estimators), (pl. lineáris regresszió, és különféle linearizált változatai, vagy az eltérésnégyzetösszegek minimalizációján alapuló paraméterbecslések) ennek csak nagyon korlátozottan, a feltételezett elmélet eloszlásukhoz illeszkedő körülmények közt képesek eleget tenni 27.1. PÉLDA Futódaruk • A szingapúri kikötő a világ legnagyobb konténerkikötője, ahol a konténerszállító hajókról futódaruk segítségével rakják ki/be a konténereket • A darun lógó konténert addig nem lehet lerakni, amíg leng, mert ledönti a többi konténert, viszont a daru futó részének gyorsítása-lassítása következtében a konténer óhatatlanul lengésbe jön • A ki/be rakodások szoros határidői viszont megkövetelik, hogy a rakodás a lehető legygyorsabban történjen

  4. Az eloszlásfüggetlen becslési módszerek alapfogalmai 2 • Így a darukezelőknek úgy kell gyorsítani és lassítani a futószerkezetet (Power), figyelembe véve a célpontig visszalévő távolságot (Distance), a pillanatnyi sebességet, a konténer tömegét, a drótkötél hosszát és állásszögét(Angle), a szél irányát és erősségét, hogy a konténer lengés nélkül megálljon egy adott pont felett, és gyorsan le lehessen ereszteni • Amikor differenciálegyenletekkel próbálták modellezni ezt a látszólag egyszerű , néhány változós vezérlési problémát, igen csúnya és nehezen megoldható modellhez jutottak, mert az input és output változók kapcsolatát leíró vezérlési függvény egy bonyolult nemlineáris felület • A darukezelők nagy része viszont egy hét alatt tökéletesen beletanul a dologba, és lengés nélkül megállítja a konténert, pedig nem jártak egyetemre (akkor nem darukezelőként dolgoznának), és a differenciálegyenletekről meg legfeljebb azt hiszik, hogy az valami cifra káromkodás. • Tehát, létezniük kell alternatív módszereknek a darukezelők fejében, amik hatékonyabban megoldják a problémát!

  5. y A x t Az eloszlásfüggetlen becslési módszerek alapfogalmai 3 • Az eloszlásfüggetlen becslési rendszerek (Distribution Free Estimators) úgy végeznek becslést az input és output változók közti függvény-transzformációra, hogy kozben nem tesznek kikötéseket ezek korábban megfigyelt értékeinek eloszlására vonatkozóan Ezeknek vannak analitikus módszerei: • A Taylor-sor (Taylor Series) egy magasabb fokszámú polinommal közelít egy bonyolult nemlineáris függvényt értelmezési tartományának egy zárt intervallumában. A Sin(x) közelítésére látunk példát. • A Fourier-transzformáció (Fourier Transform) egy bonyolult többváltozós függvényt különböző hullámhosszú szinuszos hullámzások súlyozott kombinációjára bont. Pl. egy változóban ez lehet egy idősor, vagy hanghullám, két változóban egy kép RGB-színmodelljének R, G, B komponensei. Értékelésük: +: Számolás- és memóriaigényük alacsony -: Nem modulárisak: a közelített függvény bármely kis lokális változása (pl. egy pici kanyarral több van benne) megváltoztatja az egész modellt, és csekély számú változás is exponenciálisan növelheti a modell komplexitását és megbízhatatlanságát • Emiatt itt ezeket a módszereket nem tárgyaljuk részletesebben (lásd az irodalomjegyzéket) • Erre a problémára a szabályalapú eloszlásfüggetlen becslési rendszerek adnak választ:

  6. vju IF x[vil,viu] THEN y [vjl,vju] y vjl x2 vil viu y mx(rk) = 1 x x x1 Az eloszlásfüggetlen becslési módszerek alapfogalmai 4 • A szabályalapú eloszlásfüggetlen becslési rendszerek (Rule-Based Distribution Free Estimators) az input/output változók közt a döntési térbeli vezérlési függvényt rk szabályok k=1..l véges halmazával, a szabálybázissal (Rule Basis) közelítik • Az rkszabályok (Rule)xi i=1..n input és yj j=1..m output változók vi, vj értékeinek, vagy [vil, viu]értékintervallumainak egymáshoz rendelése. • Az rk szabályok nyelvi (Linguistic) megjelenési formája: HA InputValtozo1 = Intervallum ÉS InputValtozo2 = Intervallum ÉS... AKKOR OutputValtozo = Intervallum formában. • Az rk szabályok grafikus (Graphic) megjelenési formája a döntési térben valamilyen hipertéglatest (Hyperregion) • A szabályok lehetnek kölcsönösen egymást kizáróak (Mutually Exclusive), amikor nincsenek közös részhalmazaik a döntési térben, vagy átlapolóak (Overlapping), amikor vannak • Minden szabálynak van egy mx(rk) érvényességi (Validity) értéke, amely azt mutatja, hogy az input változók adott x vektora esetén érvényesül-e, tüzel-e (Firing): x rk. • Ha input változók bármely x vektora esetén maximum egy szabály érvényes, a szabályrendszer ellentmondásmentes (Non-Contradictive), különben önellentmondó (Contradictive)

  7. mx(rk) P(xrk)= 0.025 P(xrk)= 0.025 mx(rk) P(xrk)= 0.945 +4m P(xrk)= 0.945 mx(rk) mx(rk) P(xrk)= 0.020 -4m P(xrk)= 0.020 mx(rk) y x2 z P(xrk)= 0.020 P(xrk)= 0.025 mx(rk) P(xrk)= 0.945 mx(rk) P(xrk)= 0.945 mx(rk) z P(xrk)= 0.020 P(xrk)= 0.020 mx(rk) x x1 x1 Az eloszlásfüggetlen becslési módszerek alapfogalmai 4 • Egymást kizáró esetben a szabályok érvényessége mx(rk){0,1} bináris érték, átlapoló vagy önellentmondó esetben esetben valamilyen mx(rk)[0,1] intervallumbeli skalár, amely az érvényesülés bizonytalanságát fejezi ki: • Ha a szabályok bekövetkezése bizonytalan (Uncertainty of Occourence), de a határaik pontosan definiáltak, és nem átlapolók, akkor ez a P(x rk)Bayes-i valószínűség (Bayesian Probability) Pl. 94.5% esélye van, hogy a dugattyú átmérője ±4m-os tűréshatáron belül marad: az atomi pontossággal definiált, mi a ±4m, de egy konkrét dugattyúról nem lehet tudni, hogy belül lesz-e • Ha a szabályok bekövetkezése biztos, de határaiknak definiálása bizonytalan (Uncertainty of Definition), és átlapolók, akkor ez a mx(rk) fuzzy tagságfüggvény (Fuzzy membership function) Pl. Biztos, hogy minden kormány „megszorító csomagot” vezet be az első 100 nap után, de hogy ez mit takar, az nem teljesen pontosan definiált, lehet alkudozni, feszegetni a limiteket • Mindkét esetben valamilyen interpolációra (Interpolation) kerül sor a tüzelő szabályok output értékei közt • Egy szabályhalmazt azonos univerzumba (Common Universe) tartozónak nevezünk, ha ugyanazon input/output változók közt vannak felírva. • Ilyenkor az outputok közvetlenül kiszámíthatók az inputokból a szabályok segítségével

  8. z2 z1 z3 y x x 03 02 01 z1 07 06 05 04 z2 10 09 08 z3 13 12 11 y Az eloszlásfüggetlen becslési módszerek alapfogalmai 5 • A valóságban azonban egy nagyméretű, sokváltozós rendszer esetén sokkal valószínűbb, hogy a szabályok a teljes döntési tér különböző altereiben (Subspace) (pl. x×z1, z1×z2, z2×z3, z3×y) vannak felírva, nincs bennük felhasználva az összes döntési változó • Ilyenkor 1 vagy több szabály output változója láncolódik (Chain) 1 vagy több szabály input változójához • A szabályok láncolata (Rule Chain) irányított gráffal modellezhető, amely összefüggő (Connected), és körmentes (Non-Cycling)fa-struktúrát (Tree) kell, hogy alkosson • A következtető gép (Inference Engine) egy algoritmus a több altérben felírt szabályalapú rendszerekben, amely a döntési tér input és output altere közt létesít kapcsolatot: • Lehet előrekövetkeztető (Forward chaining), vagyis adatvezérelt (Data Driven), amikor a megadott inputoktól halad az outputok kiszámítása irányába az ilyenkor démonnak (Demon) nevezett szabályok láncolatán keresztül • Lehet hátrakövetkeztető (Backward chaining), vagyis célvezérelt (Goal Driven) amikor a megadott output értékekhez keres input értékeket, a szabályok (Rule) láncolatán keresztül Rule01: IF x=3 THEN z1=1 Rule04: IF z1=1 THEN z2=1 Rule08: IF z2=1 THEN z3=3

  9. Az előadás tartalma Eloszlásfüggetlen becslési rendszerek • Az eloszlásfüggetlen becslési módszerek alapfogalmai • Analitikus módszerek • Taylor-sor • Fourier transzformáció • Szabályalapú rendszerek • Alapfogalmak • Következtető gépek és fabejáró algoritmusok • Következtető gépek és a bizonytalanságkezelés • Manuális tudásbeszerzésre épülő szabályalapú rendszerek • Egyszerű szabályalapú rendszerek • Egyszerű szabályalapú rendszerektől a szakértői rendszerekig • Szakértői Rendszer Shellek • Az objektum-hierarchia alapfogalmai • A szakértői rendszer shell komponensei • A szakértői rendszer shell felhasnálóinak csoportjai • A szakértői rendszer shellel megoldható problémák • A szakértői rendszer shellek értékelése • Automatikus tudásbeszerzésre épülő szabályalapú rendszerek • CART • C4.5 • CHAID Szakirodalom

  10. Következtető gépek és fabejáró algoritmusok 1 • A következtető gép működése egy fabejáró (Tree-Walking) algoritmuson alapul, amely a szabályfa megadott input/output vagyis start/cél csomópontjai közt igyekszik utat találni. Ezen algoritmusoknak több változata van, amelyet a következő szempontok szerint értékelhetünk: • d – a szabályfának átlagosan hány szintje (Levels) van: egy adott csomópontját gyökér elemnek (Root Node) kiválasztva, átlagosan hány él irányában áthaladva juthatunk el a levél-elemekig (Leaf Node), amelyek csak egy másik elemhez kapcsolódnak • b – az elágazások (Branches) átlagos száma: a szabályfa egy csomópontjából átlagosan hány él indul ki • t=f(d,b) – átlagos keresési idő, adott szintszám és elágazásszám mellett • T{0,1} – teljesség: biztosan megtalálja-e a start és a cél közt az utat, ha létezik • O{0,1} – optimalitás: a lehető legrövidebb úton jut el a starttól a célig • C{0,1} – végtelen ciklusba esik-e, ha a fa kört tartalmaz • M{0,1} – igényel-e jelentős memóriát

  11. IF X=1 THEN Z1=3 IF Z1=3 THEN Z3=3 IF Z1=3 THEN Z2=1 IF Z2=1 AND Z3=3 THEN Z5=2 IF Z2=1 THEN Z4=1 IF Z3=3 THEN Z6=3 IF Z6=3 THEN Z1=3 Következtető gépek és fabejáró algoritmusok 2 A fabejáró algoritmusok csoportosítása: • M=0Memóriával nem rendelkező keresések (Non-Memory Based Search): az algoritmus nem tárol működése közben jelentős mennyiségű információt a fa szerkezetéről, mindig csak egy csomópont szomszédaival foglalkozik • Egyszerű visszaléptetés (Simple Backtracking): a fa szintjein lefele haladva bontja ki az ágakat, ha nem tud továbbmenni, visszafordul az előző elágazáshoz, és másik ágat választ. Előnye az egyszerűség, de többször bejárhatja ugyanazt az utat és körön végtelen ciklusba esik (t=bd, T=0, O=0, C=1) • Memóriával rendelkező keresések (Memory Based Search): működésük közben a memóriában bizonyos információkat tárolnak a fa szerkezetét illetően: • Nem informált keresések (Non-informed Search): az algoritmus csak a csomópontok kapcsolódásának tényét vizsgálja: • Mélységi keresés (Depth Search): a lehető legmélyebb szintig megy, közben folyamatosan tárolja egy verem-memóriában (Last In First Out, LIFO), a szintek és elágazások adatait. Ha nem tud tovább lefele menni, az első felsőbb szintű elágazásnál választja a következő még be nem járt ágat. Egyszerű, teljes, közepes memóriaigényű, de nem optimális, és végtelen ciklusba eshet (t=bd, T=1, O=0, C=1, M=b×d) • Szélességi keresés (Width Search): Először egy adott szint összes csomópontját bejárja, memorizálja egy sor-memóriában (First In First Out, FIFO), majd a legjobb csomóponton lép lefele. Gyors, optimális, nem esik végtelen ciklusba, de csillagászati a memóriaigénye (t=bd, T=1, O=1, C=0, M=bd) IF X=1 THEN Z1=3 IF Z1=3 THEN Z3=3 IF Z1=3 THEN Z2=1 IF Z2=1 AND Z3=3 THEN Z5=2 IF Z2=1 THEN Z4=1 IF Z3=3 THEN Z6=3 IF Z6=3 THEN Z1=3 IF X=1 THEN Z1=3 IF Z1=3 THEN Z3=3 IF Z1=3 THEN Z2=1 IF Z2=1 AND Z3=3 THEN Z5=2 IF Z2=1 THEN Z4=1 IF Z3=3 THEN Z6=3 IF Z6=3 THEN Z1=3

  12. IF x1=1 AND X3=1 THEN Z0=1 IF x1=2 AND X3=1 THEN Z1=1 IF x2=2 AND X3=1 THEN Z1=2 IF x2=1 AND X3=1 THEN Z0=2 1 1 1 1 IF x1=1 AND X3=2 THEN Z0=3 IF x1=2 AND X3=2 THEN Z1=3 IF x2=2 AND X3=2 THEN Z1=4 IF x2=1 AND X3=2 THEN Z0=4 1 1 1 1 1 1 IF z1=1 AND z0=2 THEN Z3=1 IF z1=3 AND z0=4 THEN Z3=2 IF z0=3 AND z1=4 THEN Z2=2 1 1 1 1 IF z2=2 AND z3=2 THEN Z5=1 ELSE Z5=2 1 1 1 1 IF z4=1 AND z5=1 THEN Y=1 IF z4=2 AND z5=2 THEN Y=4 IF z4=2 AND z5=1 THEN Y=3 Következtető gépek és fabejáró algoritmusok 3 Informált keresések (Informed Search): az algoritmus nemcsak a csomópontok kapcsolódását vizsgálja, hanem hogy milyen hosszú úton, hány szabály láncolásán keresztül juthatunk át. Lényegében egy legrövidebb út (Shortest Path) probléma (lásd: Lesson24) leegyszerűsített megoldásai • Dijkstra-féle címkerögzítő algoritmus (Dijkstra Label Fixing Algorithm): • Minden csomópont egy memória címkét kap, ami a minimális távolságát tárolja a kezdőponttól. • A címke kezdetben ideiglenes ekkor még csak becslést tartlmaz, majd rögzített, amikor már biztos távolsági infót. • 0. Lépés: Minden címke kezdőértéke végtelen, az aktuális pont a kezdőpont • 1. Lépés: Az aktuális ponthoz közvetlenül csatlakozó szomszéd csomópontok címkéi megkapják az él hosszát (általában=1), és fixre váltanak, a szomszédok szomszédainak ideiglenes címkéjét pedig javítjuk, ha a szomszéd fix címkéje + élhossz értéke kisebb • 2. Lépés: Ha nincs több ideiglenes címke, akkor vége, különben a minimális ideiglenes címkéjű csomópontot fixre váltjuk, ez lesz az aktuális pont, majd vissza az 1. Lépéshez • Teljes, optimális, memóriaigénye közepes, de nem gyorsabb, mint a szélességi keresés (t=bd, T=1, O=1, C=0, M=b×d) IF z0=1 AND z1=2 THEN Z2=1     1 IF z2=1 AND z3=1 THEN Z4=1 ELSE Z4=2   2 2 IF z4=1 AND z5=2 THEN Y=2     3 3 3

  13. Következtető gépek és fabejáró algoritmusok 4 A Dijkstra-féle algoritmus azért nem gyorsabb, mert nem csak a kezdő- és a végpont közt határozza meg alegrövidebb utat, hanem a kezdőpont által generált fára (Node-Generated Tree): minden olyan csomópontra, ahova a csomópontból az élek irányában el lehet jutni. Ez az optimalitás biztosítása miatt szükséges. Azonban a legtöbb szabályfa nem olyan bonyolult szerkezetű, hogy a teljes generált fa számítására szükség lenne. • Ezen a megfigyelésen alapul a nyalábolt keresés (Beam Search): olyan Dijkstra algoritmus, ahol az aktuális pontból történő legjobb w<b db elágazással foglalkozunk. Így ez nem teljes, nem optimális, viszont sokkal gyorsabb (t=wd, T=0, O=0, C=0, M=w×d) • Az előretekintő keresésnél (Best-Fit Search) minden csomópontra van egy becslésünk, hogy mekkora távolságra lehet a céltól, és a Dijkstra algoritmusban ezeket minimalizálja. Nagyon gyors, de nem teljes és nem optimális (t=b×d, T=0, O=0, C=0, M=b×d) • Az A keresés (A Search) az előretekintő és a Dijkstra algoritmus vegyítése: a megtett távolságot + célig visszalévő távolság becslésének összegét minimalizálja. Igen gyors, teljes, de nem optimális (b×d<t<wd, T=1, O=0, C=0, M=b×d) • Az A* keresésnél (A* Search) feltesszük, hogy olyan becsléssel rendelkezünk minden csomópont céltól mért távolságára, amely nem lépi túl az ismeretlen tényleges távolságot. Így optimális is lesz (b×d<t<wd, T=1, O=1, C=0, M=b×d) (Az algoritmusokat az előrekövetkeztető esetre ismertettük. A hátrakövetkeztetésnél minden ugyanígy történik, csak fordított irányban haladunk végig az éleken) Fontos megjegyezni, hogy az A* keresés keresés kivételével a csomópontokat összekötő élek nem tárolódnak a memóriában, hanem egy mintaillesztő (Pattern Matching) algoritmus keres kapcsolatot a szabályhalmaz elemei közt: a szabály input változóinak és ezek értékeinek kell megegyeznie már tüzelő szabályok output változóival és értékeivel. A mintaillesztés lehet: • Pontos illeszkedés (Exact Match): teljes egyezést követel, rugalmatlanabb • Részleges illeszkedés (Partial Match): egy bizonyos maximális %-os eltérést még tolerál a változók és értékeik tekintetében. Ilyenkor az eltérés költségként beépül a fa-bejáró algoritmus legrövidebb út-számításaba (nemcsak fixen 1-es távolságot számít be élenként)

  14. 0.6 0.4 IF NEM=FFI THEN X=1 IF NEM=NŐ THEN X=2 0.5 0.5 0.7 0.3 IF X=2 ANDHAJ= SZŐKE THEN Z=4 IF X=2 ANDHAJ= BARNA THEN Z=3 IF X=1 ANDHAJ= SZŐKE THEN Z=2 IF X=1 AND HAJ= BARNA THEN Z=1 1.0 1.0 1.0 0.4 0.6 IF z=2 AND IQ= BUTA THEN VÁSÁRL= 8.00$ IF z=2 AND IQ= OKOS THEN VÁSÁRL= 4.00$ IF Z=1 OR Z=3 THEN VÁSÁRL= 2.00$ IF z=4 THEN VÁSÁRL= 16.00$ Következtető gépek és a bizonytalanságkezelés 1 A következtető gépek tovább bonyolódnak, ha a szabályok érvényessége nem bináris {0,1} értékű, hanem valamilyen [0,1] intervallumbeli skalárral kifejezhető bizonytalanságot takar: A legrégibb bizonytalanságkezelési módszer a Bayes-i valószínűség (Bayesian Probability): • A szabályok nem lehetnek átlapolóak, diszjunkt részhalmazait képezik a döntési térnek • A szabályrendszer önellentmondó, egy adott x inputra több, különböző output értéket eredményező rk szabály is tüzelni kezd • Azonban ezek bekövetkezése (Occourence) bizonytalan,vagyis sztochasztikus (Stochastic), határértékben P(xrk) valószínűséggel mérhető, a lehetetlen esemény valószínűsége 0, a biztos eseményé 1 • Döntési fának (Decision Tree) nevezzük azt a szabályfát, amelynek minden csomópontjánál a kiinduló élek által csatolt csomópontok szabályai ugyanazon output változóval, de ennek különböző értékeivel rendelkeznek, • És valószínűségeloszlást (Probability Distribution) alkotnak, valószínűségeik összege 1.

  15. 0.6 0.4 IF NEM=FFI THEN X=1 IF NEM=NŐ THEN X=2 0.5 0.5 0.7 0.3 IF X=2 ANDHAJ= SZŐKE THEN Z=4 IF X=2 ANDHAJ= BARNA THEN Z=3 IF X=1 ANDHAJ= SZŐKE THEN Z=2 IF X=1 AND HAJ= BARNA THEN Z=1 1.0 1.0 1.0 0.4 0.6 IF z=2 AND IQ= BUTA THEN VÁSÁRL= 8.00$ IF z=2 AND IQ= OKOS THEN VÁSÁRL= 4.00$ IF Z=1 OR Z=3 THEN VÁSÁRL= 2.00$ IF z=4 THEN VÁSÁRL= 16.00$ Következtető gépek és a bizonytalanságkezelés 2 0.60 0.40 • Itt a szabályok bármilyen logikai kapcsolódása esetén kiszámítható egy szabály bekövetkezési valószínűsége az inputjainak bekövetkezési valószínűségéből: • Komplementaritás: B: IF NOT A=1 THEN...  P(B) = 1-P(A=1) (27.1) • Metszet: C: IF A=1 AND B=1 THEN...  P(C) = P(A=1)×P(B=1) /ha függetlenek (27.2) • Unió: C: IF A OR B THEN...  P(C) = P(A=1)+P(B=1)-P(A=1∩B=1) (27.3) • A valószínűségelméleti bizonytalanságkezelés értékelése: • Előnye, hogy szilárd valószínűségszámítási elméleti alapokkal rendelkezik • Hátránya, hogy egy nagy szabályfa összeállításához elemi valószínűségek tízezreit kellene manuálisan begyűjteni, ami irreálisan hosszú ideig tart • Ezért egyes szabályalpú rendszerek a valószínűségelméleti megközelítés bizonyos nem teljesen egzakt leegyszerűsítéseit használják bizonytalanságkezelésre (Pl. Konfidencia faktorok, Dempster-Shafer modell, Modális logika, stb.) Ezzekkel itt nem foglalkozunk, lásd az irodalomjegyzéket A bizonytalanságkezelés másik fontos eszközrendszere a Fuzzy-logika. Ezzel bővebben a Session28–ban folalkozunk majd. 0.6×0.7=0.42 0.4×0.5=0.2 0.6×0.3=0.18 0.4×0.5=0.2 0.4×0.5+0.6×0.3=0.38 0.6×0.7×1.0=0.42 0.4×0.5×0.4=0.08 0.4×0.5×0.6=0.12

  16. A szabályalapú rendszerek csoportjai • Az áttekintés során nem foglalkozunk a mesterséges intelligencia (Artificial Intelligency, AI) fogalmával, történetével, a szabályalapú rendszerek elméleti hátterét adó racionális ágensek (Rational Agents) elméletével, az egyszerűbb tudásreprezetációs logikai nyelvekkel, ezekkel kapcsolatban lásd az irodalomjegyzéket. Csak olyan leszűkített nézőpontból vizsgáljuk a szabályalapú rendszereket, amennyiben eloszlásfüggetlen becslési rendszerként szóba jöhetnek az adatbányászatban: 1. Manuális tudásbeszerzésre (Manual Knowledge Aquisition) alapuló rendszerek: a szabályok létrehozása az adott tárgykör szakértőitől verbáliasna begyűjtött információk segítségével történik, ezért igen lassú és drága: 1.1. Egyszerű szabályalapú/produkciós rendszerek (Simple Rule Based/Prod. System): • Csak előrekövetkeztető szabályokból (Production Rule), logikai operátorokból, az input/output változók deklarálásából, az inputok kezdőértékadásából áll • A szabályok egyetlen halmazt képeznek, nincs semmi belső struktúra köztük • A következtető gép körbe-körbe jár a szabályokon, és mintaillesztéssel keresi az ismertté vált változókhoz csatlakozó szabályokat, amelyek tüzelnek • Bizonytalanságkezelésük a Bayes-i valószínűségelméleten alapul • Példa: Prolog nyelv, Facilitator Értékelésük: +: Egyszerű felépítés, szabálybázis moduláris építhetősége, nem kell algoritmust programozni,az outputokat meg tudja magyarázni (Reasoning) a tüzelő szabályokkal -: Nagyméretű szabálybázisoknál lassú, körbeláncolt szabályokon végtelen ciklusba esik

  17. Dim Ablak As Boolean Dim Szag As Boolean Dim Huzat As Boolean Const Csukva As Boolean = False Const Nyitva As Boolean = True Const NemBudos As Boolean = False Const Budos As Boolean = True Const Nincs As Boolean = False Const Van As Boolean = True Ablak = Csukva IF Ablak = Nyitva THEN Szag = NemBudos: Huzat = Van ELSE Szag = Budos: Huzat = Nincs ENDIF Huzat Van Szag Nincs Budos NemBudos Csukva Ablak Nyitva Egyszerű szabályalapú rendszerektől a szakértői rendszerekig • Matematikailag bizonyítható, hogy bámely tudásanyagot lehetséges procedurális/algoritmikusan és szimbolikusan is tárolni. Ez azért lehetséges, mert mindkét fajta tárolási mód visszavezethető bizonyos döntési térben megjelenő alakzatokra. Lássunk erre egy példát: „Vagy büdös van, vagy huzat.” (Braun aerodinamikai axiomája Murphy I. törvénykönyvéből) • Ábrázoljuk az Ablak(Csukva, Nyitva), Szag(Nem büdös, Büdös), Huzat(Nincs, Van) változók kapcsolatrendszerét: • Algoritmikus módon (pl. Visual Basic-ben): ha az IF ág nem teljesül, csak utána tér rá az ELSE ágra • Döntési térbeli alakzatként: a szabályok tüzelését figyeli • Szimbolikus módon (pl. Prolog-ban): körbejár az 1.-2. szabályokon és kapcsolódó I/O-változókat/értékeket keres • Ez azonban nem jelenti azt, hogy minden tudásanyagot egyforma hatékonysággal lehet a kétféle módon ábrázolni! • Pl. a sokszorosan egymásbaágyazott többszörös elágazások nem nagyon áttekinthetők algoritmukusan ábrázolva • Pl. a többszörösen egymásba ágyazott ciklusokat tartalmazó algoritmusokat nehéz szabály alapú rendszerben tárolni, mert a ciklus nyitó/záró peremfeltételek lehetséges kombinációi az n változószámmal robbanásszerűen (3n-1) nőnek • Ezért volt szükség olyan rendszerre, amely mindkétféle módon képes tudást ábrázolni! Domains ‘Változók értékkészletei’ Ablak(Csukva, Nyitva); Szag(NemBudos, Budos); Huzat(Nincs, Van); Predicates ‘Tényállítások’ Ablak(Csukva); Rules ‘Szabályok’ Rule1:Szag(NemBudos), Huzat(Van) IF Ablak(Nyitva); Rule2:Szag(Budos), Huzat(Nincs) IF Ablak(Csukva); ? Szag(X); ‘Output változó megad’

  18. Az előadás tartalma Eloszlásfüggetlen becslési rendszerek • Az eloszlásfüggetlen becslési módszerek alapfogalmai • Analitikus módszerek • Taylor-sor • Fourier transzformáció • Szabályalapú rendszerek • Alapfogalmak • Következtető gépek és fabejáró algoritmusok • Következtető gépek és a bizonytalanságkezelés • Manuális tudásbeszerzésre épülő szabályalapú rendszerek • Egyszerű szabályalapú rendszerek • Egyszerű szabályalapú rendszerektől a szakértői rendszerekig • Szakértői Rendszer Shellek • Az objektum-hierarchia alapfogalmai • A szakértői rendszer shell komponensei • A szakértői rendszer shell felhasnálóinak csoportjai • A szakértői rendszer shellel megoldható problémák • A szakértői rendszer shellek értékelése • Automatikus tudásbeszerzésre épülő szabályalapú rendszerek • CART • C4.5 • CHAID Szakirodalom

  19. Szakértői Rendszer Shellek 1 1.2. A manuális tudásbeszerzést használó szabályalapú rendszerek bonyolultabb, fejlettebb változatai a szakértői rendszerek (Expert System, ES), illetve az ezeket generáló szakértői rendszer shellek (Expert System Shell, ESS): • Az ESS a szabálybázist a hatékonyabb következtetés érdekében struktúrált módon, egy objektumhierarchiában (Object Hierarchy) tárolja: • Az objektum (Object) a modellezett valós probléma egy alrendszerének számítógépi megjelenítése, adott egyedi azonosítóval ellátva. Pl. Gepkocsi • Az osztály (Class) egy adott fajta objektum szerkezet definícióját jelenti, amely nem foglal erőforrásokat. Pl. GepkocsiLeiroObjektumTipus • A példány (Instance) egy konkrét objektum megjelenítése a neki kiosztott memóriaterület-, és processzoridő erőforrásokkal. Pl. AzEnKocsim: GepkocsiLeiroObjektumTipus • Az objektumoknak tulajdonságaik (Property) vannak, amelyek adott nevű (Name), tipusú (Type), értékhatárú (Range) változók, adott értékekkel (Value). Pl. Fogyasztas = 8.5l/100km, Vegsebesseg = 180km/h. A tulajdonságok rekordszerkezetekbe (Record Type) csoportosíthatók, amelyek több szinten egymásba ágyazhatók (Embedding). A beágyazásjelölő általában a „.”: pl.: ObjektumNev.Tulajdonsag.Altuladonság, AzEnKocsim.Szelepek(7).SzelepHezag • A tulajdonságok lehetnek globálisan (Global) és lokálisan (Local) deklaráltak, aszerint, hogy hozzáférhetők-e más objektumok számára • Az objektumoknak eljárásaik/metódusaik (Procedure/Method) vannak, amelyek a tulajdonságaik közti, illetve bizonyos, minden objektum által hozzáférhető globális változók (Global Variable) közti kapcsolatrendszert írnak le, úgy, hogy input/output paraméterként megkapják ezeket. Pl. ObjektumNev.Metodus(Paraméter), AzEnKocsim.SzelepBeallitas(SzelepSzam = 7)

  20. Parent: Properties: Tipus: Loket: Szelep: Methods: Hutes: Parent: Properties: Tipus: Marka: Evjarat: Methods: Inditas: Parent: Properties: Tipus: Marka: Teljesit: Methods: Ellenorzes: Object: Onindito Object: AzEnKocsim Object: Motor _ _ _ □ □ □ × × × Motor Onindito Benzines KFZ-407 Astra G Opel 1400ccm General Motors 1998 200W 16 DIM J As Integer FOR J=1 TO 2 DO DIM I As Integer FOR I=1 TO 12 DO IF Temp>85 THEN Term_ Szelep=Be ELSE Term_ Szakértői Rendszer Shellek 2 • A metódusok háromfélék lehetnek: • Procedurális utasítások (Procedural Command). Pl.: AzEnKocsim.Inditas • Adatezérelt, előrekövetkeztető szabályok/démonok (Demon). Pl. AzEnKocsim.MiLeszHaNapolojatToltokBele • Célvezérelt, hátrakövetkeztető szabályok (Rule). Pl.: AzEnKocsim.MiertNemEgABalFekLampa A metódusok is egymásba ágyazhatók, és lehetnek nyilvánosak (Public) és rejtettek (Hidden). Minden objektumnak van egy konstruktor (Constructor) és egy destruktor (Destructor) metódusa, ami az erőforrásokat foglalja le/szabadítja fel létrehozásakor/törlésekor. • Az objektumok a külvilág fele zártak (Encapsulation): csak globális tulajdonságaik módosításával, és nyilvános metódusak meghívásával befolyásolható a működésük, kívülről nem írhatunk/olvashatunk a memóriaterületükön, és nem módosíthatjuk metódusaik kódját • Az objektumok öröklési kapcsolatban (Inheritance) állnak egymással: egy bonyolultabb leszármazott/gyerek objektum (Descendent/Child Object) beágyazva tartalmazhat maximum 1db. egyszerűbb ős/szülő objektumot (Ancestor/Parent), és maga is része lehet több, korlátlan számú még bonyolultabb objektumnak. Pl. Gyerek.Szulo,AzEnKocsim.Motor.Onindito A leszármazott objektum hozzáfér a az ős tulajdonságaihoz és metódusaihoz, fordítva ez nem igaz. A leszármazások többszintű rendszerét objektum hierarchiának (Object Hierarchy) nevezzük, és egy irányított gráf-fával ábrázolhatjuk. Mivel az irányított gráf grafikusan nem túl kompakt megjelenítési forma:

  21. Szakértői Rendszer Shellek 3 • Ha az objektum hierarchia grafikus felhasználói felületen (Graphic User Interface, GUI) jelenik meg, akkor általában a bal oldalon van egy objektum hierarchia kontroll (Object Hierarchy Controll) (pl. ActvieX vagy Java), a jobb oldalon az éppen szerkesztett objektum egy keretben (Frame), amelyben kitöltő mezőkbe (Slot) írhatjuk a tulajdonságok értékeit és kódszerkesztő dobozokban (Code Editor Box) férünk hozzá a metódusokhoz • Az ős-objektum metódusai a leszármazott objektumban polimorf módon (Polymorphism) jelenhetnek meg: a leszármazott objektum saját magában definiálhat az ősével megegyező nevű metódust más kóddal, ami itt és minden további leszármazottban átveszi az eredeti szerepét. • Pl. az ősben: METHOD Futomu.FekEllenorzés(Fekmeret); BEGIN IF Fekmeret<8 THEN Baj; END; • Az egyik leszármazottban: METHOD Elso.Futomu.FekEllenorzés(FekTarcsa); BEGIN IF FekTarcsa<8 THEN Baj; END; • A másik leszármazottban: METHOD Hatso.Futomu.FekEllenorzés(FekDobRes); BEGIN IF FekDobRes>12 THEN Baj; END; • A módosított metódusokat a virtuális metódus tábla (Virtual Method Table) nevű memóriaterület tartja nyilván • Az ESS többféle bizonytalanságkezelési módszert képes használni: Bayes-i valószínűségelmélet, Konfidencia faktorok, újabban pedig Fuzzy halmazokat is

  22. Szakértői Rendszer Shellek 4 Az ESS kódja és felhasználói felülete szigorúan elkülönített komponensekre (Component) oszlik: • Az adott szakterületekkel kapcsolatos tudást objektum-hierarchia alapú tudásbázisban (Knowledge Base, KB) tárolja. Ebben lehetnek: • tárgykör specifikus szabályok (Area Specific Rules) • Meta szabályok (Meta Rules), amelyek a rendszer helyes működéséhez szükségesek, Pl. objektum törlésekor a destruktor metódus meghívása • Ezt a hibrid (Hybrid) jellegű következtető gép (Inference Engine) dolgozza fel, ami képes • Procedurális kód végrehajtására • Adatvezérelt előrekövetkeztetésre: ez rugalmasabb, minden változást nyomonkövet de nagyon lassú és könnyebben végtelen ciklusba eshet • Célvezérelt hátrakövekeztetésre: ez merevebb, csak az adott céllal foglalkozik, de sokkal gyorsabb, és nehezebben esik végtelen ciklusba • Ez a munkamemóriát (Operative Memory) használja a részeredmények tárolására • Az output és létrejöttének magyarázata, valamint további szimulációs lehetőségek a magyarázó komponensben (Reasoning Component) jelennek meg. Ennek a következő funkciói vannak: • WHY OutputValtozo=1? /WHY NOT OutputValtozo=1?: Célvezérelt következtetésnél a megadott célhoz/ vagy tagadásához tartozó szabálylánc mutatása, diagnosztikai céllal. Pl. WHY NOT Bal.Feklampa=Eg? • WHAT IF InputValtozo=1?: Adatvezérelt következtetés és a hozzá tartozó szabályláncolat mutatása, szimulációs céllal Pl. WHAT IF OlajNyomas<14? • WHAT IS ObjektumNev?: Az tudásbázis szerkezetének mutatása, következtetés nélkül. Pl. WHAT IS AzEnKocsim.Motor.SzelepVezerles.ForgattyusTengely.SzogJelado.Led?

  23. Szakértői Rendszer Shellek 5 A tudásbázis feltöltése az ismeretbeszerző komponensen (Knowledge Acquisition Component) keresztül zajlik • Direkt gyűjtési módszerek: a szakértő verbálisan/analitikusan megfogalmazható, explicit tudását (Explicit Knowledge) gyűjtik be • Interjú (InterView): személyes, verbális ismeretbeszerzés (lásd: Session2) • Protokoll elemzés (Protocol Analysis): személyes, a tevékenysége közben megszakítja a szakértőt, és megkéri, hogy gondolkodjon hangosan • Külső megfigyelés (Observation): monográfia készítése a szakértő munkájáról (lásd: III/3, KGB, CIA, Moszad, MI-6) • Indirekt gyűjtési módszerek: a szakértő verbálisan/analitikusan nem megfogalmazható, látens tudását (Latent Knowledge) gyűjtik be • Fókuszcsoport (Focus Group): csoportos interjútechnika, a csoporthatás révén hoz elő rejtett infókat (lásd: Session4) • Playback színház (Playback Theater): nagyobb közönség elött mesélteti a tudásmérnök a szakértőt egy múltbeli szituációról, amit színészek visszajátszanak a saját értelmezésükben. A szakértő álláspontját összevetve a színészek értelmezésével előjöhetnek rejtett információk (lásd: Session4) • Pszichodráma (Psychodrama): Abban különbözik az előzőtől, hogy egy kisebb 10-12 fős csoport önmagában játssza el az egyik tag által elmesélt történetet, aki esetleg maga is részt vehet a játékban. A személyes átélés, a csoporthatás, és szerepjáték együtt hozhat ki rejtett információkat A komponens feladata az is, hogy kiszűrje az egymásnak ellentmondó, vagy egymásra körben hivatkozó szabályokat

  24. Szakértői Rendszer Shellek 6 • Az ESS felhasználóinak csoportjai: • Az adott tárgykör szakértője (Expert), amiben a rendszer készül, Pl. Orvos, Autószerelő • A tudásmérnök (Knowledge Engineer), aki a szakértőtől szerzett ismereteket felviszi a tudásbázisba, igyekezvén kiküszöbölni belőle az ellentmondásokat • A végfelhasználó (User), akinek egy problémáját a rendszer megoldja • Az ESS-el megoldható problémák csoportosítása: • Procedurális problémák (Procedural Problems): ezt ESS-el megoldani, annyi, mint ágyúval verébre lőni, egyszerűbben megoldható 4. generációs objektumorientált programnyelvekkel (Visual C, Visual Basic, Delphi) • Diagnosztika (Diagnostics): sok megfigyelt output változó értékeiből visszakövetkesztetni kevés lehetséges inputra. Pl. Meghibásodások felderítése, orvosi diagnosztika. Itt aratta az ESS a legnagyobb sikert • Monitoring/Szimuláció (Monitoring/Simulation): Kevés inputból előrekövetkeztetni az összes lehetséges outputra. Pl. repülőgépek robotpilótája, robotika. Ebben az ESS nem volt igazán sikeres, mert túl sok szabályt igényelt és a következtetése túl lassú volt • Konfiguráció/tervezés (Configuration/Planning): Sok inputra adott megszorító feltétel mellett kellene hátra következtetni, amíg egy kívánt célértéket el nem érünk. Pl. A motor és segédberendezéseinek összezsúfolása minél kisebb motortérbe, erőforráskorlátos tevékenységütemezés. Ebben az ESS-nek jóval erősebb – bár nehezebben érthető - vetélytársai a matematikai programozási modellek.

  25. Szakértői Rendszer Shellek 7 • Példák ESS-re: Level 5 Object, XPert-Rule Az ESS értékelése: • +: Gyorsabb és hatékonyabb következtetési mechanizmus, mint az egyszerű szabályalapú rendszereknél, az objektumhierarchia zártsága miatt: könnyebben lehatárolható a szabályok azon részhalmaza, amelyek tüzelhetnek, és a következtetési gépnek nem kell mindig több 10000 szabályon átrágni magát • +: Az ellentmondó és körbeláncolt szabályok könnyebben felderíthetők • +: Az outputokhoz részletes magyarázatot ad a tüzelő szabályok láncolata segítségével grafikus felületen, ami a felhasználó számára átláthatbbá teszi a rendszer működését, és könnyebben elfogadhatóvá az eredményeket. Ez az ESS fő előnye az általában sokváltozós statisztikai elemzésen alapuló döntéstámogató rendszerekhez (Decision Supporting System, DSS) (lásd szakirodalom) képest: azok csak az outputot adják meg, a magyarázatát nem! • +: Ennek következtében a 1980-as évek elejétől nagy reményeket fűztek az ESS-hez, és a mesterséges intelligencia alappilléének tartották • -: A következtetési gép kódja rendkívül bonyolult a következtetési mechanizmusok keveredése miatt • -: A manuális tudásbeszerzés redkívül drága, és egyes problémák (pl. folytonos többváltozós függvények közelítése) csak rengeteg szabállyal leírhatók, és rengeteg elemi valószínűséget kellene megfigyelni a bizonytalanság kezeléséhez • -: Mindezek miatt az ESS-ek a 1990-es évek közepén haldoklani kezdtek. Megmentésükre kombinálni kezdték őket fuzzy rendszerekkel, ahol jóval kevesebb szabályra van szükség, a fuzzy logika sajátosságai miatt

  26. Az előadás tartalma Eloszlásfüggetlen becslési rendszerek • Az eloszlásfüggetlen becslési módszerek alapfogalmai • Analitikus módszerek • Taylor-sor • Fourier transzformáció • Szabályalapú rendszerek • Alapfogalmak • Következtető gépek és fabejáró algoritmusok • Következtető gépek és a bizonytalanságkezelés • Manuális tudásbeszerzésre épülő szabályalapú rendszerek • Egyszerű szabályalapú rendszerek • Egyszerű szabályalapú rendszerektől a szakértői rendszerekig • Szakértői Rendszer Shellek • Az objektum-hierarchia alapfogalmai • A szakértői rendszer shell komponensei • A szakértői rendszer shell felhasnálóinak csoportjai • A szakértői rendszer shellel megoldható problémák • A szakértői rendszer shellek értékelése • Automatikus tudásbeszerzésre épülő szabályalapú rendszerek • CART • C4.5 • CHAID Szakirodalom

  27. Automatikus tudásbeszerzést használó szabályalapú rendszerek 1 Automatikus tudásbeszerzésre elsősorban a klasszikus sokváltozós statisztikai módszerek használatosak: • Lineáris/linearizált regressziók (Linear Regression, OLS) a változók közti kapcsolatrendszer elemzésére (lásd: Session15) • Faktoranalízis (Factor Analysis, FA) a változók mögötti rejtett hatótényezők feltárására (lásd: Session16) • Hierarchikus klaszterezés (Hierarchical Clustering, HC) a megfigyelések csoportosítására (lásd: Session17). A K-közép klaszterezésnek (K-mean Clustering, KC) viszont igen limitált szerepe van a tudásbeszerzésben, mivel ott előre meg kell adni a csoportok számát. • Kontingencia tábla (Crosstabulation, CrossTab) a csoportok háttérváltozókkal történő jellemzésére (lásd: Lesson17) • Diszkriminancia analízis (Discriminant Analysis, DA) csoportbasorolási modell létrehozására (lásd: Session19) • Többdimenziós skálázás (Multi Dimensional Scaling, MDS) fogalmak térbeli elhelyezésére (lásd: Session20) Ezeket a módszereket is használják ESS-ek szabálybázisának feltöltésekor, de sohasem tudták őket rendesen integrálni a szakértői rendszer shellekbe, mert:

  28. Automatikus tudásbeszerzést használó szabályalapú rendszerek 2 A klasszikus sokváltozós statisztikai módszerek : • Eloszlásfüggőek, ezért a mintaadatok jelentős manuális előfeldolgozását, szűrését igénylik • Csak outputokat és eloszláshoz illeszkedési teszteket szolgáltatnak, • Az outputok kialakulását nem magyarázzák, a rendszer belső transzformációi (Troughput)nem átláthatóak (Non-transparent) a felhasználó számára • Eredményeik pedig nehezen interpretálhatók IF-THEN szabályok formájában: • Pl. a diszkriminancia analízis ugyan felállít egy csoportbasorolási modellt, konvex poliéder alakú térrészekbe dobván szét a megfigyeléseket, de ezek jóval bonyolultabb alakzatok, mint azok a hipertéglatestek, amiket szöveges szabályokkal ábrázolhatunk • Ha ezeket a poliédereket több szöveges szabály együttesével közelítjük, még akkor is meglehetősen pontatlan közelítést kapunk • Az egyetlen kivétel ez alól a kontingencia-tábla, ahol a kiugró reziduális értéket mutató cellák szabályként alkalmazhatóak. Ezen az ötleten alapulnak az asszociatív szabálygenerátor (Associative Rule Generator) rendszerek, melyekkel itt nem foglalkozunk részletesen (Lásd az irodalomjegyzéket).

  29. RULE1: IF CFPerKot ≤ 0.13 THEN GOTO RULE2 ELSE GOTO RULE3 RULE2: IF EredPerEszk ≤ 0.14 THEN P(Csod)=40/45 ELSE GOTO RULE4 RULE3: IF KotPerEszk ≤ 0.69 THEN P(Csod)=5/122 ELSE P(Csod)=4/10 RULE4: IF KotPerEszk ≤ 0.25 THEN P(Csod)=9/13 ELSE P(Csod)=0/10 $ Automatikus tudásbeszerzés: CART 1 A klasszifikációs és regressziós fák (Classification And Regression Trees, CART) módszer célja: • Kategória- vagy folytonos független változókat (pl. hiteligénylési adatok) és egy bináris, két csoport tagjait (pl.1:Csőd , 0:Nem csőd ) kódoló függő változót tartalmazó mintaadatbázis alapján • Nem fix szintszámú bináris döntési fát (Binary Decision Tree) épít, melynek minden csomópontja egy független változó adott értéke szerint bontja alsó- és felső részcsoportra a hozzá tartozó mintát, úgy hogy a részcsoportok a függő változó szerint belülről minél homogénebbek legyenek (vagy 1 vagy 0 értékek legyenek bennük nagy arányban) • A döntési fa szerkezete könnyen lefordítható egy előrekövetkeztető IF-THEN szabálybázisba • Egy független változókat tartalmazó új megfigyelés (pl. egy új hiteligénylő) bináris függő változó értéke megbecsülhető a bináris döntési fa segítségével (pl. csődbe fog menni, vagy vissza tudja fizetni a hitelt) $

  30. EredPerEszk 0.18 KotPerEszk $ 0.10 $ $ 0.80 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 0.30 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 0.10 $ $ $ $ 0.13 0.16 CFPerKot Automatikus tudásbeszerzés: CART 2 Inputok: • X={xij, yj, i=1..n, j=1..m} mintaadatok • xi i=1..n független változókkal, amelyek vik k=1..l diszkrét értékeket vehetnek fel (a folytonos változókat kategorizáljuk) • y{0,1} bináris függő változóval • j=1..m megfigyeléssel Paraméterek: • D≥0 – félreklasszifikációs hibavalószínűség alsó korlátja, alapértelmezett értéke 0 Algoritmus: • 0. LÉPÉS: Inicializáció: Legyen az aktuális minta A =X • 1. LÉPÉS: A aktuális minta minden xi független változójára: • Ha a változónak vannak eltérő értékei (Stdev(xi)>0 és Stdev(y)>0)akkor: • A változó minden előforduló vik értékére: • A aktuális mintát Gc, c{0,1} „kisebb”/”nagyobb” részcsoportokba vágja vik érték szerint, ahol: xij ≤ vik| jG0, xij > vik | jG1(27.4) • Közben keresi azt az optimális vik* változóértéket, ahol a (G0*, G1*) optimális részcsoportok y változó étékei szerinti összesített belső szórása minimális (bináris változóra vonatkozó szórásképlettel). Legyen vik* | Sc(SjGc(1-yj)/SjGc(1) × SjGc(yj)/SjGc(1))  Min (27.5) RULE1: IF CFPerKot ≤ 0.13 THEN ... ELSE ...

  31. EredPerEszk 0.18 KotPerEszk 0.14 $ 0.10 $ $ 0.80 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 0.69 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ RULE2: IF EredPerEszk ≤ 0.14 THEN P(Csod)=40/45 ELSE GOTO RULE4 $ $ $ $ $ $ $ $ $ $ 0.30 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 0.10 $ $ $ $ 0.13 0.16 CFPerKot RULE3: IF KotPerEszk ≤ 0.69 THEN P(Csod)=5/122 ELSE P(Csod)=4/10 Automatikus tudásbeszerzés: CART 3 • E(Gc) félreklasszifiációs hibavalószínűségek kiszámítása a két optimális részminta (G0*, G1*) szerint: • Melyik csoportban magasabb az y=1 értékek aránya: c* | SjGc(yj)/SjGc(1)  Max (27.6) • Az y=0 értékek aránya az y=1 többségű csoportban: E(Gc*) = SjGc(yj-1)/SjGc(1) (27.7) • Az y=1 értékek aránya az y=0 többségű csoportban: E(G(c*-1)) = SjGc(yj)/SjGc(1) (27.8) • Az algoritmus rekurzív ágaztatása a két optimális részminta (G0*, G1*) szerint, ha azok nincsenek a D hibavalószínűségi korlát alatt • Ha E(G0*) ≥ D, legyen az aktuális minta A=G0*, ugrás az 1. LÉPÉS-hez • Ha E(G1*) ≥ D, legyen az aktuális minta A=G1*, ugrás az 1. LÉPÉS-hez • Különben, ha nincsenek eltérő értékei az xi változónak: • A aktuális minta levél elem lesz • 2. LÉPÉS: Termináció: • Ha a legfelsőbb szinten vagyunk (A=X) akkor STOPkülönben visszalép a felsőbb szintű minta ágaztatásig RULE1: IF CFPerKot ≤ 0.13 THEN GOTO RULE2 ELSE GOTO RULE3

  32. RULE1: IF CFPerKot ≤ 0.13 THEN GOTO RULE2 ELSE GOTO RULE3 RULE2: IF EredPerEszk ≤ 0.14 THEN P(Csod)=40/45 ELSE GOTO RULE4 RULE4: IF KotPerEszk ≤ 0.25 THEN P(Csod)=9/13 ELSE P(Csod)=0/10 Automatikus tudásbeszerzés: CART 4 RULE1: IF CFPerKot ≤ 0.13 THEN GOTO RULE2 ELSE P(Csod)=9/132 Outputok: • A döntési fa szerkezete könnyen lefordítható egy előrekövetkeztető IF-THEN szabálybázisba • Egy xi független változókat tartalmazó új megfigyelés y függő változó értéke becsülhető a bináris döntési fa segítségével • A becslés megbízhatóságát a szabályfa tüzelő levél elemének E(Gc) félreklasszifikációs hibavalószinűség értéke adja Tesztelés: • Legyen R az E(Gc) hibavalózínűségek átlaga az összes levél-elemre vonatkozóan. Ez az egész rendszer működését teszteli • Keresztvalidáció (Cross-validation): • X mintaadatbázist elfelezi egy tanító és egy tesztmintára • A tanítómintával előállítja a döntési fát • A tesztminta újrabecslésénél figyeli az R átlagos félreklasszifikációs hibavalószínűséget • Beleütközhet a túltanulás (OverLearning) jelenségébe: • Nem a legrészletesebb felbontású fa adja a legjobb keresztvalidációs eredményt! • Ez azért van, mert a túl részletes felbontás szinte egyedileg elkülöníti a minta elemeit, és eltűnik belőle minden általánosítás (Induction), ami pedig szükséges a hatékony becsléshez • A túltanulást hallgatók esetén magolásnak (Conning) nevezzük, előfordulási valószínűsége konvergál a 0-hoz • Ez ellen a fa vágásával (Tree Pruning) védekezhetünk: • D hibavalószínűségi korlát folyamatos emelése mellett többször újrageneráljuk a fát, ami le fogja vágni a nagyon részletező ágakat, így a szabályrendszer általánosítóbb lesz • Minden fára keresztvalidálunk, és megnézzük melyik a legjobb RULE3: IF KotPerEszk ≤ 0.69 THEN P(Csod)=5/122 ELSE P(Csod)=4/10 $

  33. Automatikus tudásbeszerzés: CART 5 Előnyei: • A független változók legalább ordinális skálán kell, hogy mérhetőek legyenek, a függő binárison, így nincsenek nagy igényei a skálázást illetően • Nem zavarja meg a változóértékek túlzott koncentrációja a kategóriaváltozóknál, mint a klaszterezéseket és a diszkriminancia analízist • Folytonos változókat is képes kezelni, ha kategóriákra vágják őket elötte, bár a vágások optimalizálására nincs egzakt módszer • Egyszerű számolás a sokváltozós statisztikai módszerekhez képest • Transzparens a belső működése, a becslést képes magyarázni egy előrekövetkeztető IF-THEN szabályláncolat segítségével Hátrányai: • Az alap algoritmus csak két csoportot képes elkülöníteni, ezt a szoftverek általában többszörös iterációval áthidalják (minden csoport helyzetét megvizsgálják az összes többiből képzett csoport ellenében) • Nehézkesen kezeli a független változók közti erős kapcsolatrendszert, mert ezek átlós hiperfelületekbe kényszerítik a mintaadatbázis eloszlását a döntési térben, és ezeket nehéz leírni az IF-THEN szabályok hipertéglatestjeivel • Ez különösen súlyos ha a független változók egy idősor elemei, az időbeli kapcsolatok nem jelennek meg a CART számára. Időbeli ablakban történő felírás, dinamikus modellként segíthet • Az ágaztatás hatékonyságának tesztelése heurisztikus, nem valószínűségelméleti alapokon nyugvó teszt • Csak bináris fát képes építeni, ezért az egyszerű dolgok leírásához is sok szabály kell

  34. Automatikus tudásbeszerzés: A CART továbbfejlesztései C4.5 algoritmus: Megoldja a nem bináris faszerkezetek létrehozásának problémáját: • Nem bináris, hanem korlátlan elágazásszámú fát hoz létre • Az ágankénti átlagos belső szórást igyekszik minimalizálni • A fa vágásánál binomális eloszlással konfidencia intervallumot számít az E(Gc) hibára, és a felső határ szerint vágja a fát, de életben hagyhat belőle jó alágakat • Adatvesztéses tömörítést végez a szabálybázison, az input/output értékek hasonlósága alapján Chi-square Automatic Interaction Detection (CHAID) algoritmus: Megoldja a valószínűségelmélet-alapú tesztelés problémáját: • Nem utólag vágja a fát, közben igyekszik megakadályozni a túlnövését, de van olyan változata is amely teljesen kifejti a fát (Exhaustive CHAID) • Nemcsak bináris, hanem többszörös ágaztatást képez egy független kategóriaváltozó értékeinek k csoportba sorolásával • k×2-es kontingencia táblát készít a kdb értékcsoportosítás × a bináris függő változó két értéke {0,1} közt, és C2 asszociácós tesztet mér. Ez a Session9–ben megismert Cramer-V teszt nem normalizált változata • A maximális tesztértékű változó/értékcsoportosítás szerint ágaztat Mindezeket bővebben lásd az irodalomjegyzékben:

  35. Szakirodalom 1 Taylor-sorok: • Egyszerű definíció: http://hu.wikipedia.org/wiki/Taylor-sor • Matematikában: http://www.math.bme.hu/~pogacsa/b2_04_2_elemei/po02_25.pdf • Fizikában: http://www.szfki.hu/~klengyel/vektor.pdf Fourier-transzformáció: • Jelfeldolgozásban: http://itl7.elte.hu/html/jelfel/node7.htm • Fizikában: http://astro.u-szeged.hu/szakdolg/peterfia/html/chap3.htm Szabályalapú rendszerek: • Mesterséges intelligencia bevezető: http://www.cs.ubbcluj.ro/~csatol/mestint/ • Racionális ágensek: http://bme.selye.sk/segedanyagok/6felev/mi/eloadas-1-bevezeto-2004.doc • Tudásreprezentáció fajtái, logikai nyelvek: http://hu.wikipedia.org/wiki/Els%C5%91rend%C5%B1_nyelv • Alternatív bizonytalanságkezelési módszerek: • Konfidencia faktorok: http://www.tfhrc.gov/advanc/vve/vve4a.htm • Dempster-Shafer modell: http://www.glennshafer.com/assets/downloads/article48.pdf • Modális logika: http://en.wikipedia.org/wiki/Modal_logic • Döntéstámogató rendszerek: http://www.otk.hu/cd9198/1992/turchanyi.htm • Ingyenes szoftver: Facilitator: http://www.dss.netstorm.net.au/software/index.html

  36. Szakirodalom 2 Szakértői rendszer shellek: • Bevezető: http://en.wikipedia.org/wiki/Expert_system • Indirekt tudásbeszerzési módszerek: • Playback színház: http://elib.kkf.hu/edip/D_10239.pdf • Pszichodráma: http://www.pszichodrama.hu/indexhu.html • Ingyenes és kereskedelmi szakértői rendszer shellek linkgyűjteménye: http://www.ghg.net/clips/OtherWeb.html Ingyenes teljesítmény-limitált demó: XPertRule: http://www.xpertrule.com/samples/kb_setup.htm Automatikus tudásbeszerzés: • Asszociatív szabálygenerátorok: http://cronos.cos.ufrj.br/publicacoes/reltec/es61603.pdf http://students.cs.tamu.edu/kbiggers/datamining/DMReportFinal.doc http://www.datamining.monash.edu.au/software/camml/index.shtml • CART jegyzetek magyarul, CANAL-formátumban: CART notes.doc • CART módszer elméleti alapok: http://www.answers.com/topic/decision-tree • C4.5 algoritmus: http://en.wikipedia.org/wiki/C4.5_algorithm http://people.inf.elte.hu/saci/MI/esszek/ID3-algoritmus.doc http://palacsint.hu/doksik/behatolaserzekeles http://www.jataka.hu/rics/speci/src/class11/ • CHAID algoritmus: http://www.statsoft.com/textbook/stchaid.html • Khi2 teszt: http://www.hik.hu/tankonyvtar/site/books/b163/ch11s02.html

More Related