Mesterséges Intelligencia I. ID3 futás

Hasonló dokumentumok
1. gyakorlat. Mesterséges Intelligencia 2.

Fák Témakörök. Fa definíciója. Rekurzív típusok, fa adatszerkezet Bináris keresőfa, bejárások Bináris keresőfa, módosítás B-fa

15. A VERSENYRENDEZÉS

Fa (Tree): csomópontok (nodes) halmaza, amelyeket élek (edges) kötnek össze, és teljesülnek az alábbi feltételek:

Új típusú döntési fa építés és annak alkalmazása többtényezős döntés területén

Kupac adatszerkezet. A[i] bal fia A[2i] A[i] jobb fia A[2i + 1]

Adatszerkezetek és algoritmusok

VÉLETLENÍTETT ALGORITMUSOK. 1.ea.

Algoritmusok és adatszerkezetek gyakorlat 07

Általános algoritmustervezési módszerek

B-fa. Felépítés, alapvető műveletek. Programozás II. előadás. Szénási Sándor.

Bináris keresőfa. Felépítés, alapvető műveletek. Programozás II. előadás. Szénási Sándor

1. ábra. Egy rekurzív preorder bejárás. Egy másik rekurzív preorder bejárás

Kupac adatszerkezet. 1. ábra.

Mesterséges Intelligencia MI

10. tétel. Adatszerkezetek és algoritmusok vizsga Frissült: január 28.

Mesterséges intelligencia 3. laborgyakorlat

Adatszerkezetek 7a. Dr. IványiPéter

V. Kétszemélyes játékok

Adatszerkezetek I. 7. előadás. (Horváth Gyula anyagai felhasználásával)

Programozás alapjai. 6. gyakorlat Futásidő, rekurzió, feladatmegoldás

Gyakori elemhalmazok kinyerése

Programozási módszertan. A gépi tanulás alapmódszerei

Edényrendezés. Futási idő: Tegyük fel, hogy m = n, ekkor: legjobb eset Θ(n), legrosszabb eset Θ(n 2 ), átlagos eset Θ(n).

Kétszemélyes játékok

2. Rekurzió. = 2P2(n,n) 2 < 2P2(n,n) 1

Partíció probléma rekurzíómemorizálással

Dr. habil. Maróti György

A félév során előkerülő témakörök

Turing-gépek. Számításelmélet (7. gyakorlat) Turing-gépek 2009/10 II. félév 1 / 1

Gépi tanulás Gregorics Tibor Mesterséges intelligencia

Algoritmuselmélet. 2-3 fák. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 8.

Algoritmusok és adatszerkezetek 2.

Gyakori elemhalmazok

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008

A programozás alapjai előadás. [<struktúra változó azonosítók>] ; Dinamikus adatszerkezetek:

Rekurzió. (Horváth Gyula és Szlávi Péter előadásai felhasználásával)

Hierarchikus adatszerkezetek

Algoritmuselmélet 2. előadás

Információs Technológia

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008

Adatbányászat: Osztályozás Alapfogalmak, döntési fák, kiértékelés

Adatszerkezetek Bevezetés Adatszerkezet Adatszerkezet típusok Műveletek Bonyolultság

A 2017/2018 tanévi Országos Középiskolai Tanulmányi Verseny második fordulójának feladatai. INFORMATIKA II. (programozás) kategória

Mohó algoritmusok. Példa:

Rekurzió. Programozás alapjai C nyelv 9. gyakorlat. Rekurzív algoritmus. Rekurzív algoritmus fajtái. Példa: n! (2) Példa: n!

30. ERŐSEN ÜSSZEFÜGGŐ KOMPONENSEK

Keresőfák és nevezetes algoritmusaikat szemléltető program

Algoritmusok és adatszerkezetek gyakorlat 03 Oszd meg és uralkodj. Nagy

Programozás módszertan p.1/46

Mesterséges Intelligencia MI

Számítógép hálózatok, osztott rendszerek 2009

Házi feladatok megoldása. Nyelvek használata adatszerkezetek, képek leírására

Az informatika logikai alapjai

1: Bevezetés: Internet, rétegmodell Alapok: aszimptótika, gráfok. HálózatokII, 2007

Algoritmizálás, adatmodellezés tanítása 11. előadás. (Horváth Gyula előadása alapján)

Permutáció n = 3 esetében: Eredmény: permutációk száma: P n = n! romámul: permutări, angolul: permutation

A számítástudomány alapjai. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem

Tartalomjegyzék. Köszönetnyilvánítás. 1. Az alapok 1

... fi. ... fk. 6. Fabejáró algoritmusok Rekurzív preorder bejárás (elsőfiú-testvér ábrázolásra)

Számjegyes vagy radix rendezés

Mesterséges Intelligencia I. (I602, IB602)

Data Mining. Slides for Chapter 2 of Data Mining by I. H. Witten, E. Frank and M. A. Hall

29. Visszalépéses keresés 1.

Alkalmazott modul: Programozás 4. előadás. Procedurális programozás: iteratív és rekurzív alprogramok. Alprogramok. Alprogramok.

Dinamikus programozás II.

GRÁFELMÉLET. 7. előadás. Javító utak, javító utak keresése, Edmonds-algoritmus

Mesterséges Intelligencia MI

R ++ -tree: an efficient spatial access method for highly redundant point data - Martin Šumák, Peter Gurský

III. Gráfok. 1. Irányítatlan gráfok:

1. ábra. Számláló rendezés

A MAXIMUM-KUPACOL eljárás helyreállítja az A[i] elemre a kupactulajdonságot. Az elemet süllyeszti cserékkel mindaddig, amíg a tulajdonság sérül.

C++ programozási nyelv

Kombinatorikus számítási modellek MSc hallgatók számára. 4. Hét

Programozás alapjai C nyelv 9. gyakorlat. Rekurzió. Rekurzív algoritmus

Egy Erlang refaktor lépés: Függvényparaméterek összevonása tuple-ba

10. Szimultán kiválasztások

Oktatási segédlet 2014

KUPAC TĺPUSÚ ADATSZERKEZETEK

Algoritmuselmélet. Mélységi keresés és alkalmazásai. Katona Gyula Y.

III. Adatszerkezetek és algoritmusok

Kétszemélyes játékok Gregorics Tibor Mesterséges intelligencia

7. BINÁRIS FÁK 7.1. A bináris fa absztrakt adattípus 7.2. A bináris fa absztrakt adatszerkezet

VIII. INDUKTÍV TANULÁS

Osztott jáva programok automatikus tesztelése. Matkó Imre BBTE, Kolozsvár Informatika szak, IV. Év 2007 január

Algoritmuselmélet 12. előadás

Közösség detektálás gráfokban

2. Visszalépéses keresés

A 2008/2009 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása. INFORMATIKÁBÓL II. (programozás) kategóriában

16. Az AVL-fa. (Adelszon-Velszkij és Landisz, 1962) Definíció: t kiegyensúlyozott (AVL-tulajdonságú) t minden x csúcsára: Pl.:

Algoritmuselmélet. Függvények nagyságrendje, elágazás és korlátozás, dinamikus programozás. Katona Gyula Y.

28. MÉLYSÉGI BEJÁRÁS

ALGORITMUSOK ÉS BONYOLULTSÁGELMÉLET Matematika MSc hallgatók számára. 6. Előadás

Specifikáció. B logikai formula, a bemeneti feltétel, K logikai formula, a kimeneti feltétel, A az algoritmus, amelyre az állítás vonatkozik.

Programozás I. 5. Előadás: Függvények

Egyesíthető prioritási sor

A program telepítése

Elemi adatszerkezetek

Összetett programozási tételek Rendezések Keresések PT egymásra építése. 10. előadás. Programozás-elmélet. Programozás-elmélet 10.

Logikai ágensek. Mesterséges intelligencia március 21.

Átírás:

Mesterséges Intelligencia I. ID3 futás Futtassuk az ID3 algoritmust az S adatbázison az E(S) = 4p + p entrópia használatával. Kezdeti hívás: ID3(S,{Outlook, T emperature, Humidity, W ind}) 1. ábra. S adatbázis (eredeti) A következő Gain értékek maximumaként tudja az algoritmus kiválasztani az aktuális hívásban létrejövő csomópont címkéjét. E(S) = 4 9 5 14 14 = 90 98 Gain(S,Outlook) = 90 ( 5 98 14 4 3 55 + 4 14 44 0 44 + 5 14 43 55 Gain(S,Temp) = 90 ( 4 98 14 4 44 + 6 14 44 66 + 4 ) 14 43 1 44 Gain(S,Hum) = 90 ( 7 98 14 43 7 Gain(S,Wind) = 90 ( 8 98 ) = 90 98 4 35 = 0.3 = 90 98 37 4 = 0.03 4 7 + 7 ) 14 46 1 = 90 77 98 36 49 = 0.18 14 46 88 + 6 ) 14 43 3 = 90 66 98 6 7 = 0.06 Maximális a Sunny attributum ő lesz a gyökér, 3 leszármazottal.

. ábra. Első hívás által létrehozott csomópont Minden egyes leszármazott egy-egy rekurzív hívással lesz létrehozva. ASunny él mentén történő hívás:id3(s Outlook=Sunny,{Temperature,Humidity,Wind}) 3. ábra. S Outlook=Sunny adatbázis A következő Gain értékek maximumaként tudja az algoritmus kiválasztani az aktuális hívásban létrejövő csomópont címkéjét. E(S) = 4 3 55 = 4 5 Gain(S Outlook=Sunny,Temp) = 4 ( 5 5 40 + 5 41 Gain(S Outlook=Sunny,Hum) = 4 5 Gain(S Outlook=Sunny,Wind) = 4 ( 3 5 1 + 1 ) 5 41 0 11 ( 3 5 40 3 33 + ) 5 4 0 5 41 33 + ) 5 41 1 = 4 5 4 10 = 4 5 = 4 5 X > 0 Maximális a Humidity attributum ő lesz az Outlook csúcs Sunny él menti leszármazottja.

4. ábra. Második hívás által létrehozott csomópont Minden egyes leszármazott egy-egy rekurzív hívással lesz létrehozva. AHigh él mentén történő hívás:id3(s Outlook=Sunny Humidity=High,{Temperature,Wind}) 5. ábra. S Outlook=Sunny Humidity=High adatbázis Ahogy látható az adatbázis homogén (csak N o címkével rendelkező példákat tartalmaz), ami az ID3 algoritmus megállási feltétele. Tehát megállunk és egy No címkével 6. ábra. Második hívás által létrehozott csomópont

ANormal él mentén történő hívás:id3(s Outlook=Sunny Humidity=Normal,{Temperature,Wind}) 7. ábra. S Outlook=Sunny Humidity=Normal adatbázis Ahogy látható az adatbázis homogén (csak Yes címkével rendelkező példákat tartalmaz), ami az ID3 algoritmus megállási feltétele. Tehát megállunk és egy Y es címkével 8. ábra. Harmadik hívás által létrehozott csomópont Mivel a Humidity csomópont teljes részfáját létrehoztuk visszatér a rekurzió. 9. ábra. Visszatérünk a gyökér szintjére AOvercast él mentén történő hívás:id3(s Outlook=Overcast,{Temperature,Humidity,Wind})

10. ábra. S Outlook=Overcast adatbázis Ahogy látható az adatbázis homogén (csak Yes címkével rendelkező példákat tartalmaz), ami az ID3 algoritmus megállási feltétele. Tehát megállunk és egy Y es címkével 11. ábra. A következő hívás által létrehozott csomópont

ARain él mentén történő hívás:id3(s Outlook=Rain,{Temperature,Humidity,Wind}) 1. ábra. S Outlook=Rain adatbázis A következő Gain értékek maximumaként tudja az algoritmus kiválasztani az aktuális hívásban létrejövő csomópont címkéjét. E(S) = 4 3 55 = 4 5 Gain(S Outlook=Rain,Temp) = 4 5 Gain(S Outlook=Rain,Hum) = 4 ( 5 Gain(S Outlook=Rain,Wind) = 4 ( 3 5 ( 3 5 4 1 33 + ) 5 41 1 = 4 5 14 15 5 41 1 + 3 ) 5 4 1 = 4 33 5 14 15 5 43 0 33 + ) 5 40 = 4 5 Maximális a Wind attributum ő lesz az Outlook csúcs Rain él menti leszármazottja. 13. ábra. A következő hívás által létrehozott csomópont

Minden egyes leszármazott egy-egy rekurzív hívással lesz létrehozva. AWeak él mentén történő hívás:id3(s Outlook=Rain Wind=Weak,{Temperature,Humidity}) 14. ábra. S Outlook=Rain Wind=Weak adatbázis Ahogy látható az adatbázis homogén (csak Yes címkével rendelkező példákat tartalmaz), ami az ID3 algoritmus megállási feltétele. Tehát megállunk és egy Y es címkével 15. ábra. Következő hívás által létrehozott csomópont

AStrong él mentén történő hívás:id3(s Outlook=Rain Wind=Strong,{Temperature,Humidity}) 16. ábra. S Outlook=Rain Wind=Strong adatbázis Ahogy látható az adatbázis homogén (csak N o címkével rendelkező példákat tartalmaz), ami az ID3 algoritmus megállási feltétele. Tehát megállunk és egy No címkével 17. ábra. Következő hívás által létrehozott csomópont Mivel a Wind csomópont teljes részfáját létrehoztuk visszatér a rekurzió. Mivel a Outlook csomópont teljes részfáját létrehoztuk visszatér a rekurzió. A futás véget ér.

Ugyan ez a feladat Shanon entropiával számolva: E : p i log pi E(S) = 9 14 log 9 14 5 14 log 5 14 = 0.94 [ 4 Gain(S, Outlook) = 0.94 14 ( 4 4 log 4 4 0 4 log 0 4 )+ 5 14 ( 5 log 5 3 5 log 3 5 )+ 5 14 ( 3 5 log 3 5 ] 5 log 3 5 ) = 0.5 [ 4 Gain(S,Temp) = 0.94 14 ( 3 4 log 3 4 1 4 log 1 4 )+ 4 14 ( 4 log 4 4 log 4 )+ 6 14 ( 4 6 log 4 6 ] 6 log 6 ) = 0.09 [ 7 Gain(S,Hum) = 0.94 14 ( 3 7 log 3 7 4 7 log 4 7 )+ 7 14 ( 6 7 log 6 7 1 ] 7 log 1 7 ) = 0.15 [ 6 Gain(S,Wind) = 0.94 14 ( 3 6 log 3 6 3 6 log 3 6 )+ 8 14 ( 6 8 log 6 8 ] 8 log 8 ) = 0.048 E(S Outlook=Sunny ) = 5 log [ Gain(S Outlook=Sunny,Temp) = 0.97 [ 3 Gain(S Outlook=Sunny,Hum) = 0.97 [ Gain(S Outlook=Sunny,Wind) = 0.97 5 3 5 log 3 5 = 0.97 5 ( 0 log 0 log )+ 5 ( 1 log 1 1 log 1 )+ 1 5 ( 1 1 log 1 1 0 ] 1 log 0 1 ) 5 ( 0 3 log 0 3 3 3 log 3 3 )+ 5 ( log 0 ] log 0 ) = 0.97 5 ( 1 log 1 1 log 1 )+ 3 5 ( 1 3 log 1 3 ] 3 log 3 ) = 0.0 E(S Outlook=Rain ) = 3 5 log 3 5 5 log 5 = 0.97 [ Gain(S Outlook=Rain,Temp) = 0.97 0+ 3 5 ( 3 log 3 1 3 log 1 3 )+ 5 ( 1 log 1 1 ] log 1 ) = 0.0 [ Gain(S Outlook=Rain,Hum) = 0.97 5 ( 1 log 1 1 log 1 )+ 3 5 ( 3 log 3 1 ] 3 log 1 3 ) = 0.0 [ Gain(S Outlook=Rain,Wind) = 0.97 5 ( 0 log 0 log )+ 3 5 ( 3 3 log 3 3 0 ] 3 log 0 3 ) = 0.97