1. Zadanie wnioskowania, reprezentacja wiedzy, rodzaje i cele wnioskowania.
1 Rodzaje i cele wnioskowania
Wnioskowanie jest to przetwarzanie formuł, także z pewnego zbioru znanych formuł
(bazy wiedzy) wyprowadzanie nowych formuł. Wnioskowanie
dzielimy na dwa główne rodzaje:
•
wnioskowanie formalne - stwierdzenia tutaj zapisane są w ustalonym,
precyzyjnym języku, a wyprowadzenie nowych stwierdzeń rządzi sie
precyzyjnie ustalonymi regułami
•
wnioskowanie nieformalne - stwierdzenia tutaj są w języku naturalnym, a
wyprowadzenie nowych stwierdzeń odbywa sie ze znacznym udziałem intuicji
Język użyty do wnioskowania jest to sposób zapisu i interpretacji formuł
reprezentujących wiedzę. Wyprowadzanie formuł odbywa sie zgodnie z
regułami wnioskowania, które określają jak z formuły określonej postaci uzyskać
nową. Celem wnioskowanie jest wykazanie pewnej formuły
docelowej na podstawie zestawu znanych formuł. Wykazanie to nosi nazwę
przeprowadzenie dowodu wnioskowania. Dowód to ciąg formuł z
których każda kolejna albo pochodzi z początkowej bazy wiedzy, albo jest wynikiem
zastosowania pewnej reguły wnioskowania do formuł
wcześniejszych. Ostatnia formuła dowodu jest formuła docelowa. Od systemów
wnioskujących oczekuje sie także uzasadnienia poprawności
dowodu, czyli uzyskanie zastosowanych do jego skonstruowania reguł wnioskowania.
System ekspertowy – program, który ma naśladować eksperta, rozwiązywać jego
problemy. Za cechy eksperta uważa się wiedzę dziedzinowa oraz
umiejętność wnioskowania. Elementami składowymi systemu eskertowego są:
•
baza wiedzy - wiedza dziedzinowa, istotna dla pojemowania racjonalnych
decyzji
•
system wnioskujący - system podejmujący decyzje na podstawie bazy wiedzy
•
edytor bazy wiedzy - umożliwia edycję, aktualizacje i usuwanie bazy wiedzy
•
interfejs uzytkownika - komunikacja systemu z użytkownikiem
•
dynamiczna baza wiedzy - służąca do przechowywania odpowiedzi
użytkownika i wyników wnioskowania
2 Reprezentacja wiedzy
Do opisania pewnej dziedziny wiedzy niezbędne są reguły. Ogólna postać reguły to:
IF przesłanka THEN konkluzja/działanie
Przesłanka może zawierać pewną liczbę stwierdzeń połączonych funktorami
logicznymi. Wyróżniamy dwa rodzaje reguł: proste (mające postać
wniosków pośrednich) oraz złożone (umożliwiające bezpośrednie wyznaczenie
wniosków przez system).
Klauzule Horna
Fakt – może być uważany za wniosek reguły, której warunki są zawsze prawdziwe.
Fakty zapisujemy jako A, B, C itd.
Twierdzenie
Dowolne zagadnienie dające się wyrazić w języku logiki można wyrazić za pomocą
Klauzul Horna
Jeżeli z tych samych warunków mogą wynikać dwa wnioski to zapisujemy w postaci
dwóch Klauzul Horna:
A, B, C – wniosek 1; A, B, C – wniosek
2. Jeżeli ten sam wniosek uzyskujemy z wyniku spełnienia dwóch różnych zbiorów
warunków to zapisujemy:
A, B, C – wniosek; D, E, F – wniosek
- zapis w postaci faktów: (nr_reguły, wniosek[wniosek 1,..., wniosek n]) reguła
- zapis reguły przybliżonej, niepewnej; warunki i wnioski takich reguł są przybliżone
współczynnikom pewności CF co zapisujemy:
A, B, C -> CF -> X gdzie CF=[-1,1] wsp. pew. reguł
- dla warunków niepewnych współczynnik pewności CF_W zapisujemy jako: W(CF_W)
Warunki dopytywane – nie będące wnioskami innych reguł (wyprowadza
użytkownik)
Warunki niedopytywalne – wnioski innych reguł (wyprowadza system)
Wnioskowanie elementarne dokładne
W przód
Celem jest wyznaczenie wszystkich faktów wynikających z elementarnej dokładnej
bazy reguł, z bany ograniczeń i ze zbioru tych warunków
dopytywanych, które zostały uznane za fakty przez użytkownika. Wnioskowanie na
drodze wielokrotnego testowania wszystkich reguł w kolejności
ich występowania w bazie wiedzy. Testowanie polega na wyznaczeniu wartości
logicznej wniosku reguły na podstawie znajomości wartości
logicznych warunków i aktualizacje dynamicznej bazy wiedzy.
Działanie
Testowanie reguły może dać następujące wyniki:
• Jeżeli reguła ma wniosek niedopytywalny o nieokreślonej wartości logicznej to
jest pomijana
• Jeżeli wszystkie warunki reguły są faktami to reguła jest spełniona i jej wniosek
jest faktem – dodawanym do dynamicznej bazy danych
• Jeżeli jeden z warunków nie jest faktem, to reguła jest niespełniona i jej wniosek
nie jest faktem, czego nie piszemy bo:
◦ to co nie wynika z bazy reguł nie jest faktem
◦ elementarna baza dokładna nie ma reguł z zanegowanymi warunkami
niedopytywalnymi
• Jeżeli kilka reguł ma ten sam wniosek to spełnienie co najmniej jednej z nich
czyni wniosek faktem
• Jeżeli reguła została już testowana i jej wniosek uznano za fakt zostaje pomijana
w następnym cyklu testowania
Wstecz
Przy wnioskowaniu w przód użytkownik deklaruje pewne fakty otrzymując na wyjściu
nowe fakty, wynikające z bazy wiedzy bez ograniczeń.
Użytkownik nie musi być zainteresowany znalezieniem wszystkich faktów o jedynie
stwierdzeniem prawdziwości jednego z nich – nazywamy go
hipotezą. Wynikiem wnioskowania wstecz może być:
•
weryfikacja hipotezy – potwierdzenie
•
falsyfikacja hipotezy – zanegowanie
Dla zweryfikowania hipotezy musi ona być wnioskiem co najmniej jednej z reguł. W
przypadku gdy nie jest wnioskiem żadnej z reguły jest
falsyfikowana (założenie zamkniętego świata)
Działanie
• Wnioskowanie zaczyna sie od testowania reguły, której wnioskiem jest hipoteza
• Wartość logiczna warunków dopytywanych testowanej reguły określa użytkownik
• Jeżeli warunki dopytywane testowanej reguły są faktami a reguła ma warunki
niedopytywane staja sie one hipotezami pomocniczymi, dla których testuje sie
kolejno odpowiadające im reguły aż do wyczerpania sie hipotez pomocniczych
lub pojawienia sie warunków dopytywanych nie będących faktami
• Hipoteza główna zostaje zweryfikowana gdy odpowiadające jej warunki
doptywalne są faktami a hipotezy pomocnicze zostaną zweryfikowane
Wnioskowanie rozwinięte dokładne
Rozwinięta baza reguł – baza w której występują zanegowane warunki niedopytywane
np. NW dla W będącego wnioskiem reguły.
Istota wnioskowani w BRD – w trakcie wnioskowania nie tylko zwracamy uwagę na
wniosek.
Celem jest wyznaczenie wszystkich faktów wynikających z bazy wiedzy, bazy
ograniczeń i zbioru warunków dopytywanych uznanych przez
użytkownika za fakty. Sposób testowania odbywa się na drodze wielokrotnego
testowania wszystkich reguł w kolejności ich występowania.
Działanie
Testowanie rozwinięte dokładnie to wyznaczenie wartości logicznej wniosku zapisane w
dynamicznej bazie danych wyniki wraz z numerem reguły z
której został otrzymany.
W przód
• Jeżeli reguła ma warunek niedopytywany o nieokreślonej wartości to jest
pomijana i testowana jest następna
• Jeżeli wszystkie warunki reguły są faktami to jest ona spełniona i jej wniosek jest
faktem oraz zostaje dodana wraz z nr reguły, który go wygenerował do
dynamicznej bazy danych oraz:
◦ gdy jej zanegowany odpowiednik jest juz w bazie danych jest z nie
usuwany
◦ dodawanie odbywa sie także, gdy fakt juz został wygenerowany przez
inna regułę co umożliwia śledzenie wszystkich reguł generujących ten
fakt
• Jeżeli jeden z warunków reguły nie jest faktem lub jest faktem zanegowanym to
reguła jest niespełniona ale jej wniosek musi zostać zapisany w bazie danych
wraz z numerem reguły niespełnionej przy czym:
◦ zaistnienie faktu nX gdy w bazie jest już fakt X lub nX generowany przez
inna regułę nie powoduje dopisania zanegowanego faktu do bazy
◦ zaistnienie faktu nX gdy w bazie jest juz fakt X wygenerowany przez ta
sama regułę oraz nie ma faktów X wygenerowanych przez inne reguły,
wówczas nX dodawany jest wraz z numerem reguły do bazy a fakt X z
tym numerem jest usuwany
◦ zaistnienie faktu nX gdy w bazie jest juz fakt X generowany przez
dokładnie tą samą regułę oraz sa fakty X generowane przez inne reguły
wówczas następuje tylko usuniecie faktu X generowanego przez tę regułę
co nX
Wstecz
• Hipoteza może być nie tylko jednym z wniosków rozwiniętej dokładnej bazy
danych ale także jego negacją
• Cel wnioskowania wstecz:
◦ weryfikacja hipotezy – wskazanie że jest prawdziwa
◦ falsyfikacja hipotezy – wskazanie że negacja jest prawdziwa
• Gdy hipoteza nie jest wnioskiem żadnej z reguł uznawana jest za fałszywą na
mocy załóżenia zamkniętego świata
Weryfikacja hipotezy
• Jeżeli wszystkie warunki dopytywane reguły odpowiadające hipotezie głównej są
faktami, a reguła ma warunki niedopytywane staja sie one hipotezami
pomocniczymi, Hipoteza jest zweryfikowana gdy warunki dopytywane są faktami
a wszystkie jej hipotezy pomocnicze zostały zweryfikowane
• Jeżeli choć jeden z warunków dopytywanych nie jest faktem bądź jedna z hipotez
pomocniczych nie została zweryfikowana, a nie ma innej reguły, której hipoteza
jest wnioskiem to hipoteza główna nie jest zweryfikowana
• Jeżeli choć jeden warunek dopytywany nie jest faktem albo choć jedna z hipotez
pomocniczych nie jest zweryfikowana, a w bazie reguł jest dotychczas nie
testowana inna reguła, której wnioskiem jest hipoteza główna to jest ona
testowana
• Do weryfikacji hipotezy wystarczy weryfikacja jednej hipotezy, której wnioskiem
jest hipoteza główna
Falsyfikowanie hipotezy – weryfikacja hipotezy będącej negacją wniosku
falsyfikowanej reguły
• Jeżeli choć jeden warunek dopytywany wymienionej reguły nie jest faktem, a w
bazie reguł nie ma innych reguł których wniosek będąc hipoteza główna nie
został sfalsyfikowany, to hipoteza ta nie jest prawdziwa, a więc została
pomyślnie sfalsyfikowana. Gdy taka reguła jest przystępujemy do falsyfikowania
jej wniosku
• Jeżeli choć jeden warunek dopytywany nie jest faktem albo choć jedna z hipotez
pomocniczych nie jest zweryfikowana a w bazie reguł jest dotychczas nie
testowana inna reguła, której wnioskiem jest hipoteza główna to jest ona
testowana
Do weryfikacji hipotez wystarczy weryfikacja jednej hipotezy, której wnioskiem jest
hipoteza główna
Sprzeczność w elementarnej baza reguł
Typu SED 1
• Źródłem tylko baza reguł - sprzeczność generowana w obrębie jednej bazy
• Mogą być tylko typu zewnętrznego
◦ Zewnętrznie SED 1 samosprzeczna – jednym z warunków jest wniosek:
M, N, X -> X
◦ Zewnętrzne bezpośrednio SED 1 sprzeczna – wniosek jednej z reguł jest
wśród warunków drugiej i na odwrót: M, N Y -> X; P, Q, X -> Y
• Zastąpienie wniosku jednej z reguł warunkami drugiej daje regułę SED 1
samosprzeczną
◦ Zewnętrznie pośrednio SED 1 sprzeczna – gdy podstawienie wniosku
jednej z reguł do kolejnej, tej do jeszcze następnej doprowadza do
reguły SED 1 samosprzecznej: K, B -> H; C, D, X -> K; H, A -> X
Typu SED 2
• Źródłem sprzeczności jest interakcja z bazą reguł i bazą ograniczeń.
Sprzecznością SED 2 jest wystepowanie reguł o warunkach wykluczających się:
A, B, C -> W przy ograniczeniu A, C
Nadmiarowość
Typu NED 1
• Źródłem nadmiarowości tylko baza reguł
◦ NED 1.1 – występowanie reguło jednakowych warunkach i wnioskach: A,
B, G -> Y; C, D -> A; E, F -> B; C, D, E, F, G -> Z
◦ NED 1.2 – występowanie reguł subsumowanych: A, B, C, D -> W; A, B -
> W
Typu NED 2 – interakcja BED z bazą ograniczeń: A, B, C -> W; A, B, D -> W; A, B ,E
-> W Z lista warunków wykluczających sie: C, D, E
2. Reprezentacja bazy wiedzy w języku Prolog, przykłady reguł prologowych.
(Czy budowa bazy wiedzy też?)
1 Reprezentacja bazy wiedzy
Prolog - deklarowany język programowania, nie implementuje się algorytmu tylko
dostarcza receptur i fakty. Jest językiem programowania w
logice. Pisząc program w prologu skupiamy się na definicjach obiektu a związkach
między nimi, a nie na sposobie wykonania danego zadania.
Nacisk kładziemy na to Co obliczyć a nie JAK to obliczyć.
Język prolog to kompilatory wyposażony w system wnioskowania (sam rozstrzyga
prawdziwość podanego calu dla podanych reguł i faktów). Dzięki
w/w cechom umożliwia łatwe projektowanie systemów ekspertowych, które mogą być
realizowane w innym języku. Baza wiedzy składa się z reguł i
faktów. Program w Prologu składa się z faktów, relacji, reguł i zapytań. Reguły to
wiedza dziedzinowa o charakterze ogólnym, natomiast fakty to
wiedza dziedzinowa o charakterze szczegółowym.
Reprezentacja faktów:
Fakty przedstawia się za pomocą predykatów (
symbol_predykatu(ob_1,ob_2,...,ob_n). )
mezczyzna(jarek)
Jarek jest mężczyzną.
Reprezentacja reguł:
( B:-A1,A2,...,An ) gdzie A1,...,An są predykatami. Ponieważ reguły odnoszą się do
relacji pomiędzy pewnymi zbiorami obiektów, jako
argumenty mogą wystąpić zmienne.
rodzic(anna, jarek)
Anna jest rodzicem Jarka.
Cel:
Mając bazę faktów i reguł można zadawać pytania czyli stawiać cele do
rozwiązania. Cel to pojedynczy predykat lub koniunkcja predykatów.
Przykład reguły
"Jeżeli student X otrzymał wszystkie zaliczenia w terminie i student X zdał wszystkie
egzaminy to zaliczył wszystko"
Przykład faktu
"Student X otrzymał zaliczenia ze wszystkiego w terminie"
Bazę wiedzy w postaci klauzul Prologu zapisujemy w pliku tekstowym. Fakty to
klauzule o pustym ciele. Pytania to klauzule posiadające tylko ciało. Reguły to klauzule,
które maja niepuste zarówno nagłowek jak i ciało.
2 Przykładowe reguły
Sprawdzenie parzystości:
parzysta(X):-Y is X mod 2, Y =0.
Silnia:
silnia(N,F):-N>0, N1 is N-1, silnia(N1,F1), F is N*F1.
silnia(0,1).
Ciąg Fibonacciego:
f(0,1).
f(1,1).
f(N,F):-N>1, N1 is N-1, N2 is N-2, f(N1,F1), f(N2,F2), F is F1 + F2.
NWD
nwd(X,X,X).
nwd(X,Y,Z):-X>Y, X1 is X-Y, nwd(X1,Y,Z).
nwd(X,Y,Z):-X<Y, Y1 is Y-X, nwd(X,Y1,Z).
Względnie pierwsze
wp(X,Y):-nwd(X,Y,1).
NWW
nww(X,Y,Z):-nwd(X,Y,Z1), Z is X*Y/Z1.
Wieża Hanoi
wh(1,X,Y,_):- write(X), write('->')write(Y), nl.
wh(N,X,Y,Z):- N>1, M is N-1, wh(M,X,Z,Y), wh(1,X,Y,_),wh(M,Z,X,Y).
3. Przeszukiwanie przestrzeni stanów, grafowa reprezentacja problemu
przeszukiwania, przeszukiwanie w głąb i wszerz.
1 Przeszukiwanie przestrzeni stanów
Przeszukiwanie to staranne rozważanie wielu możliwości prowadzące do wybory tej,
która wydaje się być optymalna. Jest ono elementem
wszystkich metod sztucznej inteligencji. przeszukiwaniami są miedzy innymi uczenie
czy wnioskowanie.
Przeszukiwanie przestrzeni stanów - reprezentacja
•
Opis przestrzeni stanów
◦
iloczyn kartezjański (para, trójka,...)
◦
dziedzina parametrów opisu przestrzeni
•
Przestrzeń stanów może być skończona bądź nieskończona
◦
skończoność czy nieskończoność przestrzeni nie musi determinować
trudności problemu
◦
w przestrzeni stanów mogą istnieć stany nieosiągalne
• Stan początkowy – jest to stan jawny
• Stan końcowy – jest on jawny; niejawny – w tym przypadku dysponujemy
warunkami osiągnięcia stanu końcowego, funkcją oceny stanu
• Operator zmiany stanu – warunki zastosowania stanu, efekty działania; opis
może być parametryczny ( np. ruch w labiryncie )
Schemat algorytmu przeszukiwania stanów
Algorytm GT (Generate and test)
•
Rozpocznij od stanu początkowego
•
Dopóki niespełniony warunek celu
◦
wybierz operator stosowany w stanie Stan
◦
zastosuj wybrany operator przechodząc w nowy stan
Algorytm ten sugeruje, że wybiera pierwszy możliwy do zastosowania w aktualnym
stanie operator. Wywiera on wypływ na wybór operatora
poprzez odpowiednie ich posortowanie. W praktyce stosowanie operatorów wyznacza
kolejka. Kluczowym elementem jest wybór odpowiedniej
strategii przeszukiwania.
Rodzaje strategii przeszukiwania
Ślepa
Możliwa do zastosowania we wszystkich przypadkach. Zakłada stosowanie
operatorów zgodnie z kolejnością występowania w
kolejce, np. strategia prawej ręki w przeszukiwaniu labiryntu.
Poinformowana
Wykonuje informacje specyficzne dla problemu. Informacja taka może być dostępna
w ogólnym przypadku, np. przeszukiwanie labiryntu w którym
z miejsca wyjścia dochodzą głosy.
Odwracalna
Mamy z nią do czynienia, gdy istnieje wgląd w całą przeszukiwana przestrzeń,
istnieje możliwość symulowania ruchu lub jego cofnięcia. W
praktyce pomimo możliwości symulowania wielkość przestrzeni uniemożliwia jej
pełne przeszukanie.
2 Grafowa reprezentacja problemu przeszukiwania
3 Przeszukiwanie w głąb i wszerz
Przeszukiwanie wszerz
• Zbadaj wszystkie stany w odległości d od stanu początkowego przed zbadaniem
jakiegokolwiek stanu w odległości d-1
• Jest wersja algorytmu przeszukiwania z nawracaniem z kolejką FIFO, tzn nowe
stany umieszczone są na końcu
• Własności:
◦ Zawsze gwarantuje znalezienie rozwiązania gdy istnieje
◦ Złożoność wykładnicza
Przeszukiwanie w głąb
• Zbadaj wszystkie nowe stany ( potomki ) danego stanu s przed powrotem do
badania sąsiadów stanu s
• Jest wersja algorytmu przeszukiwania z nawracaniem z kolejką LIFO, tzn nowe
stany umieszczane na początku
• Własności:
◦ Nie gwarantuje znalezienia rozwiązania gdy istnieje
◦ Może nie znaleźć rozwiązania optymalnego w sensie długości drogi
dojścia do niego
◦ Złożoność wykładnicza
• Dla przestrzeni nieskończonych użyteczne jest ograniczenie głębokości
4. Przeszukiwanie w grach dwuosobowych, drzewo gry, algorytm min-max.
1 Przeszukiwanie w grach dwuosobowych
• W grze bierze udział dwóch graczy którzy na przemian wykonują ruch
• W każdym momencie gry wykonać można tylko skończoną liczbą ruchów
• Wynikiem w grze może być:
◦ wygrana pierwszego lub drugiego gracza bądź remis
• Przeszukiwanie przestrzeni stanów dla gier dwuosobowych nie może być
stosowane bezpośrednio ze względu na to że nie są znane ruchy przeciwnika
• Rozwiązaniem jest schemat uwzględniający wszystkie możliwe ruchy przeciwnika
• W pewnych przypadkach pełna wiedza o stanie w ogóle nie jest dostępna dla
obydwu graczy
2 Drzewo gry dwuosobowej
• Partię gry można opisać w pełni przez ciąg naprzemiennych ruchów obu graczy,
od początkowego ustawienia do rozstrzygnięcia
• W celu wyboru optymalnego ruchu na pewnym poziomie rozważyć można
wszystkie możliwe scenariusze rozpoczynające sie możliwymi ruchami tego
gracza po każdym z których może nastąpić każdy możliwy ruch drugiego gracza
itd.
• Scenariusz gry reprezentujemy w postaci drzewa, którego kolejne poziomy
reprezentują na przemian ruchy graczy, a każdy węzeł obrazuje aktualny stan
gry
• Korzeń drzewa – reprezentuje początkowy stan gry, kolejny poziom stan gry po
pierwszym ruchu itd.
• Gałęzie – reprezentują wszystkie możliwe do wykonania ruchy gracza który
aktualnie wykonuje ruch
• Każda gałąź prowadzi do węzła reprezentującego stan gry po ruchu
• Liście – reprezentują sytuacje, w których partia gry jest rozstrzygnięta
3 Algorytm min-max
Może być stosowany dla gier deterministycznych z pełną informacja, polega na
obliczaniu wartości węzła startowego poprzez propozycje wartości
końcowych w górę drzewa.
• Ruchów przeciwnika nie można przewidzieć ani opisać dlatego przyjmujemy, że
przeciwnik również dąży do wygranej
• Zakładając, że węzłom drzewa gry przypisujemy wartości liczbowe będące ocena
szans wygranej gracza, to na poziomie ruchu gracza należy zakładać wybór
maxujący tą ocenę a na poziomie przeciwnika min
• Algorytm ten działa wg schematu i może być stosowany do gier
deterministycznych z pełną informacją, polega na obliczeniu wartości węzła
startowego poprzez propagację wartości końcowych w gore drzewa
• Poziom drzewa odpowiada ruchom graczy MAX-a i MIN-a. Zakładamy, że MAX
wykonuje pierwszy ruch
• Stanom końcowym reprezentowanym przez liście przypisujemy wartości
wygranej ( przegrana – liczba ujemna )
• Węzłom drzewa powyżej liści przypisujemy stopniowo wartości: maksymalna ze
wszystkich gałęzi, jeśli węzeł odpowiada ruchowi MAX-a minimalna gdy MIN-a
• Najwyższa gałąź z największą wartością wskazuje optymalny ruch MAX-a.
5. Zadanie uczenia pod nadzorem i uczenia nienadzorowanego. Przykłady
algorytmów.
5.1 Uczenie pod nadzorem – w przypadku gdy zbiór uczący składa sie z
wektorów cech oraz wektorów odpowiedzi:
- wektor wejściowy – wektor cech
- wektor wyjściowy – wektor zmiennych opisywanych
- cel uczenia – nauczenie systemu odpowiedzi na wektory wejściowe
- przykład – zadanie klasyfikacji, wyjściem etykieta klasy
W trybie uczenia z nauczycielem (nazywanym również uczeniem pod nadzorem)
oprócz danych wejściowych posiadamy również sygnały wyjściowe, jakie chcemy
uzyskać. Dobór wag musi być przeprowadzony w taki sposób, aby aktualny
sygnał wyjściowy y był najbliższy wartości zadanej d.
5.2 Uczenie nienadzorowane – zbiór uczący składa sie z wektora cech.
- cel uczenia - opisanie i objasnienie zbioru dnaych wejściowych tylko na
podstawie ich samych, wykrycie wewnętrznej struktury danych, wykrycie
współzależności.
- przykład - zadanie grupowania danych w rozłączne klasy (klasyfikacja
nienadzorowana)
Uczenie maszynowe albo uczenie się maszyn
( ang. machine learning) jest dziedziną sztucznej inteligencji której przedmiotem
zainteresowania
są
metody
umożliwiające
uczenie
się
programom
komputerowym. Program uczy się, jeśli potrafi modyfikować jakiś aspekt samego
siebie (swój stan) i dzięki temu działać coraz lepiej lub wydajniej. Uczenie
maszynowe
(nienadzorowane)
znajduje
zastosowanie
na
przykład
w
rozwiązywaniu problemów, dla których ze względu na ich złożoność niemożliwe
jest podanie gotowego programu rozwiązującego dany problem w racjonalnym
czasie.
6. Zadanie uczenia klasyfikacji, ocena klasyfikatora.
6.1. Zadanie uczenia klasyfikacji.
Zbiór obserwacji próbek (próbek) nazywamy zbiorem wektorów uczących -
oznaczamy symbolem V.
Każdy element zbioru V opisywany jest przez zestaw atrybutów (cech)
a
1
,...,a
p
ze zbioru A oraz przez klasę, którą reprezentuje
Atrybuty tworzą tak zwaną przestrzeń cech.
...
Algorytmem klasyfikacji (regułą decyzyjną) nazywamy funkcję odwzorowującą
przestrzeń cech w zbiór numerów klas, tzn (przy przyjętych założeniach)
funkcję:
taką, że
, gdy wektor x jest elementem
klasy i.
Każda próbka może należeć tylko i wyłączenie do jednej klasy.
...
6.2. Ocena klasyfikatora.
Walidacja klasyfikatora – sprawdzenie sprawnośći (prawdopodobieństwa
poprawnje klasyfikacji) klasyfikatora na podstawie niezależnej od zbioru
uczącego próby, zwanej próba walidacyjną.
Testowanie – ostateczna ocena sprawności kklasyfikatora.
7. Podstawowe architektury sieci neuronowych, reguła uczenia perceptronu,
perceptron wielowarstwowy. Reguła propagacji wstecznej błędu.
7.1.Podstawy architektury sieci neuronowych.
Neuron
- W oryginale - komórka nerwowa. W sieci neuronowej -
podstawowy jej składnik.
Jądro - "centrum obliczeniowe" neuronu. To tutaj zachodzą procesy
kluczowe dla funkcjonowania neuronu.
Akson - "wyjście" neuronu. Za jego pośrednictwem neuron powiadamia
świat zewnętrzny o swojej reakcji na dane wejściowe. Neuron ma tylko
jeden akson.
Wzgórek aksonu - stąd wysyłany jest sygnał wyjściowy, który wędruje
dalej poprzez akson.
Dendryt - "wejście" neuronu. Tędy trafiają do jądra sygnały mające
być w nim później poddane obróbce. Dendrytów może być wiele -
biologiczne neurony mają ich tysiące.
Synapsa - jeśli dendryt jest wejściem neuronu, to synapsa jest jego
furtką. Może ona zmienić moc sygnału napływającego poprzez dendryt.
Wejścia to dendryty,
lub
ściślej: sygnały przez
nie
nadchodzące. Wagi to
cyfrowe
odpowiedniki
modyfikacji
dokonywanych
na
sygnałach
przez synapsy. Blok sumujący to
odpowiednik jądra, blok aktywacji to wzgórek aksonu, a wyjście -
to akson. Zaznaczam, że fakt, iż na rysunku są trzy dendryty, jest
czysto przypadkowy. Liczba ich jest dowolna, (zaś na moich rysunkach
wynosi trzy jedynie ze względów estetycznych.)
7.2. Reguła uczenia perceptronu.
7.3.Perceptron wielowarstwowy.
Perceptron wielowarstwowy jest aproksymatorem nieliniowym. Węzeł grafu sieci
odpowiada pojedynczemu neuronowi. Krawędź odpowiada połączeniu między
neuronami (tzw. połączenie synaptyczne) – jest skierowana od wyjścia jednego
do wejścia drugiego neuronu, co odpowiada jednokierunkowemu przepływowi
danych.
Neuron działa w taki sposób, że dokonuje się ważonego sumowania wartości
wejść, obliczając wartość, zwaną pobudzeniem :
7.4. Reguła propagacji wstecznej błędu
Podanie na wejście wektora uczącego x i obliczenie aktualnego wyjścia y.
Obliczanie błędów w warstwie ostatniej na podstawie różnicy otrzymanych
wartości wektora y oraz wzorcowych y. Adaptacja wag od warstwy wejściowej
do wyjściowej. Obliczenie błędów dla neuronów we wszystkich warstwach
wcześniejszych po kolei. Powtarzamy procedurę do momentu kiedy sygnał
wyjściowy sieci będzie dostatecznie blisko.