Presentation is loading. Please wait.

Presentation is loading. Please wait.

Изкуствен интелект Изкуствен интелект Упражнение № 10 спец. Информатика, ФМИ 2003/2004.

Similar presentations


Presentation on theme: "Изкуствен интелект Изкуствен интелект Упражнение № 10 спец. Информатика, ФМИ 2003/2004."— Presentation transcript:

1 Изкуствен интелект Изкуствен интелект Упражнение № 10 спец. Информатика, ФМИ 2003/2004

2 Машинно самообучение  Формиране на описания на понятия (хипотези):  примери положителни отрицателни  обучаваща извадка  тестова извадка  Обучение за:  едно понятие  много понятия

3 Машинно самообучение  Езици за представяне на примерите и хипотезите  атрибут-стойност  релационен език  други

4 Език атрибут стойност  Представяне на примерите: %example (Id, Class, AVS) example(a4,mammal,[has_covering = hair, milk = t, homeothermic = t, habitat = air, eggs = f, gills = f]). example(a5,fish,[has_covering = scales, milk = f, homeothermic = f, habitat = sea, eggs = t, gills = t]). example(a6,reptile,[has_covering = scales, milk = f, homeothermic = f, habitat = land, eggs = t, gills = f]).

5 Език атрибут стойност  Представяне на хипотезите: IF A i =V ij & … & A k =V km THEN Class p … IF A s =V st & … & A n =V nl THEN Class q

6 Типове атрибути и стойности  Номинални  Линейни  Структурни

7 learn(H):- findall([Class|AVS], findall([Class|AVS], example(_,Class,AVS), example(_,Class,AVS), Ex), Ex), lrn(Ex,H). lrn(Ex,H).

8 lrn(E,H) :- lrn(E,H) :- del([Class|A],E,E1), del([Class|A],E,E1), del([Class|B],E1,E2), del([Class|B],E1,E2), lgg(A,B,LGG,Class), lgg(A,B,LGG,Class), \+((member([C1|LGG],E2), \+((member([C1|LGG],E2), \+(Class=C1))), \+(Class=C1))), lrn([[Class|LGG]|E2],H). lrn([[Class|LGG]|E2],H). lrn(H,H). lrn(H,H).

9 lgg([],[],[],Class). lgg([],[],[],Class). lgg([A=V1|Rest1],[A=V2|Rest2], [A=H1|Hyp],Class) :- lgg([A=V1|Rest1],[A=V2|Rest2], [A=H1|Hyp],Class) :- lgg1(A,V1,V2,H1,Class), lgg1(A,V1,V2,H1,Class), lgg(Rest1,Rest2,Hyp,Class). lgg(Rest1,Rest2,Hyp,Class).

10 lgg1(_,X,Y,X,_):- X==Y,!. lgg1(_,X,Y,X,_):- X==Y,!. lgg1(A,X,Y,_,C):- lgg1(A,X,Y,_,C):- X \== Y, nominal(C,N),member(A,N). nominal(C,N),member(A,N). lgg1(A,X,Y,H,C):- lgg1(A,X,Y,H,C):- X \==Y, X \==Y, linear(C,L),member(A,L), linear(C,L),member(A,L), cover(X,Y,H). cover(X,Y,H). lgg1(A,X,Y,H,C):- lgg1(A,X,Y,H,C):- X \==Y, X \==Y, struct(C,L),member(A,L), struct(C,L),member(A,L), common_parent(X,Y,H,C). common_parent(X,Y,H,C).

11 cover(X,X,X):-!.cover(X,Y,[Min,Max]):- atom(X),atom(Y),!, atom(X),atom(Y),!, min(X,Y,Min), min(X,Y,Min), max(X,Y,Max). max(X,Y,Max).cover(X,[Y1,Y2],[Min,Max]):- atom(X),!, atom(X),!, min(X,Y1,Min), min(X,Y1,Min), max(X,Y2,Max). max(X,Y2,Max).cover([X1,X2],Y,[Min,Max]):- atom(Y),!, atom(Y),!, min(X1,Y,Min), min(X1,Y,Min), max(X2,Y,Max). max(X2,Y,Max).cover([X1,X2],[Y1,Y2],[Min,Max]):- min(X1,Y1,Min), min(X1,Y1,Min), max(X2,Y2,Max). max(X2,Y2,Max).

12 min(X,X,X):-!.min(X,Y,X):-X<Y,!.min(X,Y,Y):-X>Y.max(X,X,X):-!.max(X,Y,X):-X>Y,!.max(X,Y,Y):-X<Y.

13 common_parent(X,Y,H,C):- parent(H,X,C), parent(H,X,C), parent(H,Y,C). parent(H,Y,C).parent(X,X,C).parent(X,Y,C):-isa(C,Y,X).parent(X,Y,C):-isa(C,Y,Z),parent(X,Z,C).

14 del(X,[X|T],T). del(X,[Y|T],[Y|V]) :- del(X,T,V). member(X,[X|_]). member(X,[_|T]) :- member(X,T). write_list([]). write_list([H|Rest]):- write(H),nl, write_list(Rest).

15 Пример example(a1,mammal,[has_covering = hair, milk = t, homeothermic = t, habitat = land, eggs = f, gills = f]). example(a2,mammal,[has_covering = none, milk = t, homeothermic = t, habitat = sea, eggs = f, gills = f]). example(a3,mammal,[has_covering = hair, milk = t, homeothermic = t, habitat = sea, eggs = t, gills = f]). example(a4,mammal,[has_covering = hair, milk = t, homeothermic = t, habitat = air, eggs = f, gills = f]). example(a5,fish,[has_covering = scales, milk = f, homeothermic = f, habitat = sea, eggs = t, gills = t]).

16 Пример example(a6,reptile,[has_covering = scales, milk = f, homeothermic = f, habitat = land, eggs = t, gills = f]). example(a7,reptile,[has_covering = scales, milk = f, homeothermic = f, habitat = sea, eggs = t, gills = f]). example(a8,bird,[has_covering = feathers, milk = f, homeothermic = t, habitat = air, eggs = t, gills = f]). example(a9,bird,[has_covering = feathers, milk = f, homeothermic = t, habitat = land, eggs = t, gills = f]). example(a10,amphibian,[has_covering = none, milk = f, homeothermic = f, habitat = land, eggs = t, gills = f]).

17 Пример struct(_,[]).linear(_,[]).nominal(_,[has_covering,milk,homeothermic,habitat,eggs,gills])

18 Пример | ?- learn(H),write_list(H). [bird,has_covering=feathers,milk=f,homeothermic=t, habitat=_3699,eggs=t,gills=f][reptile,has_covering=scales,milk=f,homeothermic=f,habitat=_3039,eggs=t,gills=f][mammal,has_covering=_2095,milk=t,homeothermic=t,habitat=_2324,eggs=_2464,gills=f][fish,has_covering=scales,milk=f,homeothermic=f,habitat=sea,eggs=t,gills=t] [amphibian,has_covering=none,milk=f,homeothermic=f, habitat=land,eggs=t,gills=f]

19 Пример example(1,pos,[hs = octagon, bs = octagon, sm = no, ho = sword, jc = red, ti = yes]). example(2,pos,[hs = octagon, bs = octagon, sm = yes, ho = sword, jc = red, ti = yes]). example(2,pos,[hs = octagon, bs = octagon, sm = yes, ho = sword, jc = red, ti = yes]). example(3,neg,[hs = round, bs = square, sm = yes, ho = sword, jc = blue, ti = no]). example(3,neg,[hs = round, bs = square, sm = yes, ho = sword, jc = blue, ti = no]). example(4,neg,[hs = round, bs = square, sm = yes, ho = flag, jc = green, ti = yes]). example(4,neg,[hs = round, bs = square, sm = yes, ho = flag, jc = green, ti = yes]). example(5,pos,[hs = octagon, bs = round, sm = yes, ho = sword, jc = red, ti = yes]). example(5,pos,[hs = octagon, bs = round, sm = yes, ho = sword, jc = red, ti = yes]). example(6,pos,[hs = square, bs = octagon, sm = yes, ho = sword, jc = red, ti = yes]). example(6,pos,[hs = square, bs = octagon, sm = yes, ho = sword, jc = red, ti = yes]). example(7,pos,[hs = square, bs = square, sm = no, ho = sword, jc = red, ti = yes]). example(7,pos,[hs = square, bs = square, sm = no, ho = sword, jc = red, ti = yes]).

20 Машинно самообучение | ?- learn(H),write_list(H). [neg,hs=octagon,bs=square,sm=yes,ho=_125218,jc=blue, ti=no][neg,hs=square,bs=round,sm=_123819,ho=_123946,jc=green,ti=_124150] [neg,hs=octagon,bs=round,sm=_120834,ho=_120961,jc=yellow, ti=no] [neg,hs=square,bs=octagon,sm=_116815,ho=_116942,jc=green, ti=_117146] [neg,hs=square,bs=round,sm=_113808,ho=_113935,jc=yellow,ti=no][neg,hs=square,bs=round,sm=_111648,ho=_111775,jc=blue,ti=_111979] [neg,hs=round,bs=octagon,sm=_106498,ho=_106625,jc=yellow, ti=_106829] [neg,hs=round,bs=octagon,sm=_101722,ho=_101849,jc=green,ti=_102053]

21 [neg,hs=round,bs=octagon,sm=_100472,ho=_100599,jc=blue,ti=_100803][pos,hs=round,bs=round,sm=_93315,ho=_93442,jc=_93582,ti=_93735][pos,hs=square,bs=square,sm=_84522,ho=_84649,jc=_84789,ti=_84942][pos,hs=octagon,bs=octagon,sm=_70090,ho=_70217,jc=_70357,ti=_70510][neg,hs=round,bs=square,sm=_55652,ho=_55779,jc=yellow,ti=_55983][neg,hs=round,bs=square,sm=_51710,ho=_51837,jc=green,ti=_52041][neg,hs=round,bs=square,sm=_45417,ho=_45544,jc=blue,ti=_45748][pos,hs=_41557,bs=_41658,sm=_41772,ho=_41899,jc=red,ti=_42103][neg,hs=octagon,bs=round,sm=no,ho=flag,jc=green,ti=no][neg,hs=square,bs=octagon,sm=yes,ho=balloon,jc=blue,ti=no][neg,hs=square,bs=octagon,sm=no,ho=flag,jc=yellow,ti=yes][neg,hs=octagon,bs=square,sm=no,ho=balloon,jc=yellow,ti=yes][neg,hs=octagon,bs=square,sm=no,ho=sword,jc=green,ti=no]


Download ppt "Изкуствен интелект Изкуствен интелект Упражнение № 10 спец. Информатика, ФМИ 2003/2004."

Similar presentations


Ads by Google