• Nie Znaleziono Wyników

Sztuczna Inteligencja

N/A
N/A
Protected

Academic year: 2021

Share "Sztuczna Inteligencja"

Copied!
3
0
0

Pełen tekst

(1)

Sztuczna Inteligencja

klasyfikator LEM2

Algorytm ten służy do stworzenia bazy reguł używanych do klasyfikacji. Reguły są tworzone oddzielnie dla poszczególnych klas na podstawie próbek uczących. Algorytm ten należy do algorytmów zachłannych.

Każda reguła składa się z poprzednika, zawierającego część warunkową oraz następnika, który zawiera identyfikator klasy. Część warunkowa składać się może z kilku elementów połączonych spójnikiem „oraz”. Na przykład:

Jeśli atr2 = b To atrklasa = c2,

Jeśli atr1 = 3 oraz atr2 = a To atrklasa = c1, Jeśli atr1 = 2 oraz atr2 = a To atrklasa = c2.

Powyższa baza reguł sklasyfikuje próbki w sposób widoczny poniżej.

atr1 atr2 atrklasa (wynik działania klasyfikatora)

3 a c1

3 b c2

2 a c2

2 b c2

Działanie klasyfikatora reguł stworzonych przez LEM2 polega na znalezieniu pierwszej reguły, która pokrywa (pasuje) do podanej próbki testowej. Następnie klasyfikator zwraca odpowiedź taką, jaka znajduje się w następniku reguły. W rzadkich przypadkach klasyfikator nie może znaleźć jakiejkolwiek pasującej reguły, wtedy powinien zwrócić odpowiedź tzw. domyślną, lub odmówić udzielenia odpowiedzi. Algorytm LEM2 nie dopuszcza do sytuacji, iż pojedyncza próbka może mieć kilka pasujących reguł, które mają różne następniki.

Na przykład dla próbki o deskryptorach atr1=2 i atr2=b już pierwsza regułą jest aktywna, dlatego klasyfikator stwierdza, że próbka należy do klasy c2 (a właściwie to nadaje wartość „c2” atrybutowi

„atrklasa”).

Algorytm LEM2, pseudokod

Wejście: X // zbiór próbek należących do pojedynczej klasy Wyjście: Τ // zbiór reguł stworzonych dla tej klasy

Dodatkowe Wejścia: zbiór próbek nie należących do tej klasy; klasa próbek X

1. G:=X // G to zbiór próbek do pokrycia przez regułę 2. Τ :=∅ // zbiór reguł

3. dopóki G≠∅ // wykonywana dopóki wszystkie próbki X zostaną pokryte

3.1. T :=∅ // twórz regułę z pustym poprzednikiem, ale z następnikiem takim jak klasa próbek X

3.2. T

G

:={t :[t ]∩G≠∅} // T

G

to wszystkie potencjalne części reguły, które

pokrywają chociaż część próbek w zbiorze G (próbki do pokrycia). W przypadku

atrybutów symboliczny to po prostu wszystkie deskryptory, które występują dla próbek

(2)

w zbiorze G (próbki do pokrycia).

3.3. dopóki T =∅∨[T ]⊄ X // pętla wykonywana dopóki tworzona reguła jest pusta lub reguła pokrywa wciąż próbki z innych klas.

3.3.1. jeśli T

G

=∅ // czy zbiór potencjalnych części reguły jest pusty, czyli nie da się już dalej rozszerzyć reguły tak, aby była niesprzeczna (wskazywała na dokładnie 1 klasę)

3.3.1.1. zakończ funkcję LEM2 i zwróć Τ // wyjście przedwczesne z funkcji 3.3.2. wybierz t :=maxarg

t∈TG

|[ t ]∩G| , czyli tą potencjalną część reguły, która

pokrywa możliwie maksymalnie dużo próbek w zbiorze G (próbki do pokrycia), w przypadku remisu wśród najlepszych t wybierz ten, który pokrywa minimalną liczbę wśród wszystkich próbek ( minarg

t ∈TG

|[ t ]| ).

3.3.3. T :=T ∪t // dodaj do końca poprzednika reguły warunek t

3.3.4. G:=[t ]∩G // zawęź zbiór próbek G (próbki do pokrycia), tak aby usunąć z nich te próbki, które nie są pokryte przez dodany właśnie warunek t

3.3.5. T

G

:={t :[t ]∩G≠∅} // uaktualnij listę wszystkich potencjalnych warunków dostępnych w regułach. Niech zawiera ona wszystkie potencjalne części reguły, które pokrywają chociaż część próbek ze zbioru G (próbki do pokrycia) 3.3.6. T

G

:=T

G

−T // usuń ze zbioru potencjalnych części reguł te części, które już

były użyte w aktualnej regule T

3.4. dla każdego t∈T // przepatrz wszystkie części aktualnej reguły, zaczynając od części reguły najwcześniej dodanej w poszukiwaniu nadmiarowej części reguły 3.4.1. jeśli [T −t ]⊆ X // sprawdź, czy po potencjalnym usunięciu części t z

aktualnej reguły T reguła ta wciąż nie pokrywa próbek z innych klas 3.4.1.1. T :=T −t // usuń z aktualnej reguły nadmiarową część t 3.5. Τ := Τ ∪T // dodaj do zbioru reguł aktualną regułę

3.6. G:=X // stwórz od nowa listę próbek do pokrycia

3.7. dla każdego T ∈ Τ // przeiteruj po wszystkich regułach zawartych w bazie reguł

Τ

3.7.1. G:=G−[T ] // usuń z listy próbek do pokrycia próbki pokryte przez wszystkie dotychczasowe reguły

4. dla każdego T ∈ Τ // przeiteruj po wszystkich regułach zawartych w bazie reguł w celu poszukiwania nadmiarowych reguł

4.1. jeśli X=U

T '∈

{Τ−T } [ T ' ] // sprawdź, czy po usunięciu reguły T wciąż wszystkie próbki w zbiorze X są pokryte

4.1.1. Τ := Τ −T // usuń nadmiarową regułę T ze zbioru reguł

Zadania do wykonania

1. Najpierw proszę wczytać bazę próbek car lub inną, w której wszystkie atrybuty wejściowe są symboliczne. Ostatni atrybut (kolumna) określa klasę próbki.

2. Podziel bazę próbek tak, aby losowe 20% procent próbek stworzyło zbiór próbek testowych,

a reszta zbiór próbek uczących.

(3)

3. Stwórz pustą bazę reguł.

4. Do bazy próbek dodaj reguły stworzony osobno dla zbioru próbek należących do każdej z klas w zbiorze próbek uczących korzystając z algorytmu LEM2.

5. Sprawdź dokładność klasyfikacji za pomocą stworzonych reguł dla próbek uczących (powinna wyjść dokładność 100%) oraz dla próbek testowych (dokładność powinna wyjść 100% lub mniej).

Wskazówka

Warto przed implementacją algorytmu LEM2 stworzyć funkcję dokonującą klasyfikację na

podstawie bazy reguł.

Cytaty

Powiązane dokumenty

Horzyk, A., Innovative Types and Abilities of Neural Networks Based on Associative Mechanisms and a New Associative Model of Neurons - referat na zaproszenie na

Pseudoneuronów jest znacznie mniej niż wzorców uczących, każdy taki pseudoneuron powinien średnio reprezentować pewną ilość tych wzorców, które potencjalnie mogą należeć

rozpoczynających się od różnie wylosowanych wag początkowych odległość neuronów zwycięskich reprezentujących najmocniejsze klasy znacznie się różni.. Neurony te nie muszą

Sensory w polach sensorycznych tworzone są, jeśli po prezentacji bodźca żaden z istniejących sensorów nie zareagował odpowiednio mocno, czyli gdy dystans wartości bodźca

wnioskowania dają N zbiorów rozmytych, oraz systemy typu B, na wyjściu którego otrzymujemy jeden zbiór rozmyty,. który jest wynikiem agregacji rezultatów wnioskowania

pierwsza warstwa konwolucyjna bierze jako obraz wejściowy jedną składową koloru R, G lub B surowego obrazu, a różne neurony względem wymiaru głębokości tej sieci (które tworzą

Wypisać wszystkie kombinacje 3-elementowe zbioru {1 , 2, 3, 4, 5}, w których dokładnie dwie liczby są parzyste.. Ile jest takich kombinacji zbioru {1

Wypisać wszystkie kombinacje 3-elementowe zbioru {1, 2, 3, 4, 5}, w których dokładnie dwie liczby są parzyste.. Ile jest takich kombinacji zbioru