ALGORYTMY SZTUCZNEJ INTELIGENCJI

advertisement
ALGORYTMY SZTUCZNEJ
INTELIGENCJI
Sieci neuronowe
06.12.2014
Krzysztof Salamon
1 Wstęp
Sprawozdanie to dotyczy ćwiczeń z zakresu sieci neuronowych realizowanym na przedmiocie:
Algorytmy Sztucznej Inteligencji. Wykonane zadanie dotyczyło zbudowania w programie Statistica
odpowiedniej sieci neuronowej, służącej do klasyfikacji. Wykorzystywanym zbiorem danych był zbiór
IrisSNN (posiadający 150 obserwacji), który zawierał 5 atrybutów:

długość działki,

szerokość działki,

długość płatka,

szerokość płatka oraz

odmiana – opisująca gatunek irysa.
Dodatkowym atrybutem w zbiorze był NNSET który posłużył do rozdzielenia danych na zbiór uczący
i walidacyjny.
Po zbudowaniu odpowiedniej sieci neuronowej wygenerowano 5 modeli, z czego 3 zostały wybrane.
Podczas analizy modeli wykorzystałem narzędzia takie jak:

macierz pomyłek,

wykres – ramka-wąsy (dla atrybutu długość płatka)

predykcja.
2 Tworzenie sieci neuronowej
W tym rozdziale opisane zostało przygotowanie sieci neuronowej, której zadaniem była klasyfikacja
danych wejściowych.
2.1 Wybór zadania dla sieci neuronowej
Pierwszym krokiem wymaganym do realizacji zadania był wybór zadania dla sieci neuronowej
- w tym celu należało zaznaczyć klasyfikację w polu „nowa analiza”.
Rysunek 1 Wybór zadania sieci neuronowej
2.2 Definicja zmiennych
Dla tworzonej sieci neuronowej należało sprecyzować zmienne wejścia oraz zmienną wyjściową.
Statistica umożliwia taką czynność w zakładce Podstawowe, w której można wybrać również sposób
tworzenia modeli – zaznaczono opcję „projekt sieci użytkownika”. W przypadku zestawu danych
IrisSNN jako zmienne wejściowe (ilościowe) wybrano 4 atrybuty: długość działki, szerokość działki,
długość płatka, szerokość płatka. Natomiast jako zmienną wyjściową oznaczono atrybut odmiana.
Rysunek 2 Wybór zmiennych
2.3 Wybór podzbiorów
Kolejnym krokiem był wybór podzbiorów – uczącego oraz walidacyjnego. Zbiór danych IrisSNN
posiadał atrybut NNSET który definiował podział danych na próby. W tym celu w zakładce
„wybór podzbiorów” zaznaczono Identyfikator grupy, który umożliwia zdefiniowanie grupy
uczącej/walidującej na podstawie wartości danego atrybutu. Elementami zbioru uczącego zostały
wszystkie wiersze posiadające w kolumnie NNSET wartość UCZĄCY. Elementami próby walidacyjnej
zostały wszystkie wiersze posiadające w kolumnie NNSET wartość WALIDACYJNY.
Rysunek 3 Podział na próby: uczącą i walidacyjną
2.4 Określenie podstawowych cech sieci
Dla tworzonej sieci neuronowej wybrano typ - „perceptron wielowarstwowy”. Jako funkcję błędu
sieci określono sumę kwadratów, funkcją aktywacji neuronów ukrytych została funkcja: tangens
hiperboliczny, natomiast funkcją aktywacji neuronów wyjściowych -funkcja liniowa.
Liczba wygenerowanych sieci została ustawiona na 5, a liczba neutronów w warstwie ukrytej na 6.
Rysunek 4 Konfiguracja sieci neuronowych
3 Wynik uczenia
W tym rozdziale prezentuje wynik uczenia sieci neuronowych, ich analizę oraz graficzną interpretację
sieci.
3.1 Wybór modeli sieci neuronowej
Po wygenerowaniu 5 sieci, na podstawie jakości próby walidacyjnej, wybrano trzy najlepsze:
•
2 sieć - MLP463 o jakości=97,142857
•
4 sieć - MLP463 o jakości=94,285714
•
5 sieć - MLP463 o jakości=94,285714
Rysunek 5 Wybrane sieci neuronowe
3.2 Graficzny model sieci neuronowej
Model sieci neuronowej przedstawia się następująco:
Rysunek 6 Graficzny model sieci neuronowej
3.3 Analiza sieci neuronowych – macierz pomyłek
Po wygenerowaniu macierzy pomyłek, można stwierdzić, że optymalną siecią dla zbioru
walidacyjnego była sieć nr 2. Dla odmiany Setosa, sieć nie popełniła żadnego błędu dla 23 prób.
Dla odmiany Versicol, sieć pomyliła się raz, a 23 zestawy danych zaklasyfikowało poprawnie – to daje
poprawność dla tej odmiany w wysokości 95,83333%, sieć pomyliła się w 4,166667 przypadków. Sieć
raz pomyliła się również dla odmiany Virginic - na 23 próby, co daje poprawność równą 95,65217%,
błędnie zaklasyfikowała 4,34783%. Łącznie, dla wszystkich odmian poprawność sieci wyniosła
97,14286% (błędne 2,85714%), czyli na 70 przypadków poprawnie sklasyfikowała 68 zestawów
danych.
Poprawność klasyfikacji 4 sieci dla wszystkich odmian wynosi 94,28571% (błędne 5,71429)
- na 70 przypadków 66 zaklasyfikowano poprawnie, a 4 źle. Patrząc pod kątem odmiany Setosa
poprawnych klasyfikacji było 22 z 23, co dało poprawność wynoszącą 95,6522. Dla odmiany Versicol
sieć pomyliła się dwukrotnie – niepoprawnie sklasyfikowano 8,3333%, natomiast 22 sklasyfikowano
poprawnie – 91,66667%. Sieć nr 4 sklasyfikowała 22 z 23 (poprawność: 95,65217%) przypadków
poprawnie dla odmiany Virginic.
Ostatnia wybrana przeze mnie sieć bezbłędnie sklasyfikowała zestawy danych dla odmiany Setosa.
Dla odmiany Versicol poprawność wyniosła 91,66667% (22 na 24 poprawne), pomyliła się natomiast
w 8,33333% klasyfikacji. Sieć dla odmiany Virginic pomyliła się dwukrotnie na 23 próby, co daje
poprawność klasyfikacji na poziomie 91,30435% (błędnie zaklasyfikowano 8,69565%). Dla wszystkich
odmian łącznie, sieć numer 5 zaklasyfikowała poprawnie 66 z 70 zestawów danych, czyli poprawność
klasyfikacji wynosi 94,28571% (błąd 5,71429%).
Rysunek 7 Macierz pomyłek
3.4 Analiza sieci neuronowych – predykcja
Na podstawie dwóch wybranych błędnych klasyfikacji (przedstawionych na rysunku 8) można
stwierdzić, że dla 71 zestawu danych, błąd popełniły sieci 4 i 5 – zamiast odmiany Versicol,
sklasyfikowały dane do odmiany Virginic. Dla wiersza 84, wszystkie sieci popełniły błąd klasyfikacji,
zamiast odmiany Versicol zaklasyfikowały dane do klasy Virginic.
Podsumowując predykcję można stwierdzić, że sieć:
•
2.MLP 4-6-3 pomyliła się dwukrotnie, w pierwszym przypadku zamiast zakwalifikować dane
do zbioru Versicol zakwalifikowała do zbioru Virginic, w drugim z kolei sieć zakwalifikowała
dane do zbioru Virginic, choć prawidłową klasą była Versicol;
•
4.MLP 4-6-3 pomyliła się czterokrotnie, z czego raz zamiast wybrać klasę Setosa,
zakwalifikowano dane do klasy Versical, sieć 2 razy błędnie zakwalifikowała dane do klasy
Virginic – zamiast Versical . Ostatnią pomyłką sieci było zakwalifikowanie danych do Versicol
zamiast Virginic;
•
5.MLP 4-6-3 pomyliła się czterokrotnie, sieć 2 razy błędnie zakwalifikowała dane do klasy
Virginic – zamiast Versical . Pozostałe 2 pomyłki sieci wystąpiły przy sklasyfikowaniu obiektów
do klasy Versicol, choć prawidłową klasą była Virginic.
Rysunek 8 Arkusz predykacji
3.5 Grupowanie klas ze względu na długość płatka
Po wygenerowaniu wykresu ramkowego dla długości płatka, grupowanego względem odmiany,
można stwierdzić, że sprawdzany atrybut wyraźnie rozdziela odmianę Setosa od pozostałych. Dane
nieodstające dla tej odmiany zawierają się pomiędzy wartościami 1,1 a 1,9, mediana wynosi 1,5.
Dla odmiany Versicol wartość minimalna wynosi 3,3 (wartość odstająca 3), mediana 4,35 a wartość
maksymalna 5,1. Zbiór danych dla ostatniej z badanych odmian irysów posiada medianę wynoszącą
5,55, wartość minimalną 4,5 a maksymalną równa 6,9.
Z wykresu wynika, że atrybut długość płatka pozwala dobrze rozróżnić klasę Setosa od Versicol
i Virginic, dzięki czemu sieci neuronowe popełniły mniej błędów klasyfikując kwiaty odmiany Setosa,
niż rozróżniając od siebie odmiany Versicol i Virginic, gdzie wartości zachodzą na siebie.
Rysunek 9 Wykres grupujący długość płatka względem odmiany
4 Podsumowanie
Podczas realizowanych ćwiczeń zbudowano efektywne klasyfikatory odmian irysów wykorzystujące
sieci neuronowe. Dla wybranego zbioru danych, w próbie walidacyjnej najlepsza sieć osiągnęła jakość
wynoszącą około 97,14%, myląc się dwukrotnie na 70 przypadków. Podczas analizy danych
zauważono również, jak różnice w danym atrybucie (długość płatka) mogą wpłynąć na trafność
klasyfikacji - dla pokrywających się wartości klasyfikator częściej się mylił.
Reasumując, sieć neuronowa jest efektywnym narzędziem klasyfikacji obiektów.
Download