Wybrane paradygmaty sztucznej inteligencji / Piotr Artiemjew
Transkrypt
Wybrane paradygmaty sztucznej inteligencji / Piotr Artiemjew
Wybrane paradygmaty sztucznej inteligencji / Piotr Artiemjew. – Warszawa, cop. 2013 Spis treści 1 Wprowadzenie w Problematykę Sztucznej Inteligencji 1.1 Wybrane zastosowania metod sztucznej inteligencji 1.2 Wybrane obszary sztucznej inteligencji 1.3 Przykłady wzorowania się na naturze 1.4 Filozoficzne spojrzenie na sztuczną inteligencję 1.5 Cele sztucznej inteligencji i zagroŜenia z nimi związane 3 3 4 5 6 10 2 Wybrane Paradygmaty Wnioskowań w Sztucznej Inteligencji 2.1 Wprowadzenie 2.2 Problematyka wnioskowania aproksymatywnego 2.3 Zbiory przybliŜone 2.3.1 Systemy decyzyjne w sensie Pawlaka 2.3.2 Klasyfikatory i metody ich określania w ramach teorii zbiorów przybliŜonych 2.3.2.1 Algorytmy wyczerpujące 2.3.2.2 Algorytmy sekwencyjnie pokrywające (Sequential covering) 2.3.2.3 Algorytmy wyliczania minimalnego zbioru reguł 2.3.3 Podobieństwo, mereologia aproksymatywna, inkluzje aproksymatywne 2.3.3.1 Relacje podobieństwa 2.3.4 Elementy mereologicznej teorii pojęć 2.3.5 Inkluzje aproksymatywne 2.3.6 Obliczenia granularne jako zastosowanie metod mereologii przybliŜonej 2.4 Zbiory rozmyte 2.4.1 Pojęcie zbioru rozmytego 2.4.2 Podstawowe operacje na zbiorach rozmytych 2.4.3 Proces sterowania rozmytego 2.4.3.1 Podstawowe funkcje określania przynaleŜności do zbiorów rozmytych pozwalające na rozmywanie (fuzzyfikację) 2.4.4 Metody wyostrzania (defuzzyfikacji) 2.4.5 Przykład sterowania rozmytego - odwrotnego wahadła 2.5 Sieci neuronowe 2.5.1 Sztuczny neuron - McCullocha-Pittsa 2.5.2 Funkcje aktywacji 2.5.3 Perceptron Rosenblatta 2.5.4 MoŜliwości perceptronu jednowarstwowego zawierającego jeden neuron 13 13 14 18 19 20 20 21 24 26 26 28 29 34 37 37 38 51 52 57 60 67 67 67 69 70 2.5.5 Wyuczanie operacji logicznej AND 2.5.6 Wyuczanie operacji logicznej OR 2.5.7 Nierozwiązywalność problemu XOR 2.5.8 Rozwiązanie XOR perceptronem zawierającym dwie warstwy 2.5.9 Sieci wielowarstwowe 2.5.10 Uczenie sieci neuronowych 2.5.10.1 Uczenie z nauczycielem 2.5.11 Sieci rekurencyjne 2.5.11.1 Sieć neuronowa Hopfielda 2.5.11.2 Sieć Hamminga 2.5.12 Ograniczenia moŜliwości wyuczania wzorców płynące z teorii kodów 2.5.13 Uczenie nienadzorowane 2.5.13.1 Algorytm konkurencyjny 2.5.14 Przeuczenie sieci neuronowej 2.5.15 Przykładowe zastosowania 2.6 Algorytmy genetyczne 2.6.1 Operacje genetyczne 2.6.2 Metoda Wczesnego Stopu - przeciwdziałania przeuczeniu 70 71 72 72 72 74 74 81 81 85 3 Metody Pre-procesowania Danych 3.1 Redukty 3.1.1 Redukty systemu informacyjnego 3.1.2 Przykład generacji reduktów systemu Informacyjnego 3.1.3 Redukty Względne 3.1.4 Przykład generacji reduktów względnych (systemu decyzyjnego) 3.1.5 Heurystyka Johnsona 3.1.6 Przykład generacji reduktów z pomocą heurystyki Johnsona 3.2 Granulacja 3.2.1 Granulacja standardowa 3.2.2 Granulacja concept-dependent 3.2.3 Granulacja wielokrotna 3.2.4 Granulacja wielokrotna concept-dependent 3.2.5 Metody szukania pokrycia granularnego 3.2.5.1 Pokrycie hierarchiczne 3.2.5.2 Pokrycie losowe 3.2.5.3 Pokrycie granulami o minimalnej długości 3.2.5.4 Pokrycie granulami o średniej długości 3.2.5.5 Pokrycie granulami o maksymalnej długości 3.2.5.6 Pokrycie granulami przekazującymi najmniejszą ilość nowych obiektów 3.2.5.7 Pokrycie granulami przekazującymi średnią ilość nowych obiektów 3.2.5.8 Pokrycie granulami przekazującymi największą ilość nowych obiektów 3.2.5.9 Pokrycie zaleŜne od wielkości konceptów - hierarchiczne 95 95 95 97 97 98 99 100 102 105 110 114 115 116 117 118 118 118 120 85 87 87 87 88 88 89 91 120 121 121 121 3.2.5.10 Pokrycie zaleŜne od wielkości konceptów - losowe 3.2.5.11 Pokrycie zaleŜne od wielkości konceptów - granule minimalnej długości 3.2.5.12 Pokrycie zaleŜne od wielkości konceptów - granule średniej długości 3.2.5.13 Pokrycie zaleŜne od wielkości konceptów - granule maksymalnej długości 3.2.5.14 Pokrycie zaleŜne od wielkości konceptów - granule przekazujące najmniej nowych obiektów 3.2.5.15 Pokrycie zaleŜne od wielkości konceptów - granule przekazujące średnią ilość obiektów 3.2.5.16 Pokrycie zaleŜne od wielkości konceptów - granule przekazujące najwięcej nowych obiektów 3.2.6 Granulacja epsilonowa 3.2.6.1 Granulacja epsilonowa z klasyfikacją epsilonowi 3.2.6.2 Granulacja epsilonowa concept-dependent z klasyfikacją epsilonową 3.3 Wybrane metody ekstrakcji cech systemów decyzyjnych 3.3.0.3 Metoda Fishera - separacja klas centralnych (MFM1) 3.3.1 Statystyka F - separacja klas centralnych (MSF4) 3.3.2 Statystyka F - separacja par klas decyzyjnych (MSF6) 3.3.3 Statystyka A - separacja klas centralnych (SAM10) 3.3.4 Statystyka A - separacja par klas decyzyjnych (SAM5) 3.4 Inne metody 122 4 Klasyfikacja 4.1 Wybrane sposoby określania odległości i podobieństwa obiektów 4.1.1 Metryka Hamminga (dyskretna) 4.1.2 Metryka Hamminga - epsilonowa 4.1.3 Metryka Minkowskiego 4.1.4 Metryka Euklidesa 4.1.5 Metryka Manhattan (miejska) 4.1.6 Metryka Centrum 4.1.7 Metryka Canberra 4.1.8 Metryka Czebyszewa 4.1.9 Bezwzględny współczynnik korelacji Pearsona 4.1.10 Metryka chi square 4.1.11 Miara Cosinusowa 4.1.12 Metryka Znormalizowana 4.1.13 Odległość Mahalanobisa 4.1.14 Ranking metryk wedle klasyfikacji metodą k-NN dla systemu decyzyjnego Australian Credit 4.2 Reguły decyzyjne 4.2.1 Metody z rodziny Brute Force 4.2.1.1 Wyliczanie reguł exhaustive metodą standardową z najmniejszą 157 157 158 158 159 159 160 160 161 162 162 163 164 165 166 123 123 124 125 125 126 126 126 132 135 136 140 144 148 152 156 167 170 170 ilością deskryptorów 4.2.1.2 Algorytm wyczerpujący dyskretny - przy uŜyciu macierzy nieodróŜnialności względnej 4.2.2 Metody Sekwencyjnie Pokrywające 4.2.2.1 Algorytm pokrywający obiekty - dyskretny 4.2.2.2 Algorytm pokrywający deskryptory - dyskretny 4.2.3 Metody minimalnej ilości reguł 4.2.3.1 LEM2 dyskretny 4.2.3.2 Algorytm Apriori - budowania zbiorów zdarzeń częstych 4.2.3.3 Reguły asocjacyjne 4.3 Wybrane metody klasyfikacji 4.3.1 Metody z rodziny k najbliŜszych sąsiadów 4.3.2 Maszyna wektorów wspierających 4.3.3 Drzewa decyzyjne 4.3.3.1 Drzewa binarne 4.3.3.2 Drzewa Decyzyjne - algorytm ID3 jako pierwowzór metody C4.5 4.3.3.3 Drzewa gry 4.4 Klasyfikatory granularne 4.4.0.4 Wprowadzenie w tematykę klasyfikacji granularnej 4.4.1 Klasyfikatory granularne, inkluzja Łukasiewicza, faktoryzacja klasyfikatora exhaustive przez granule 4.4.2 Modyfikacje inkluzji Łukasiewicza 4.4.3 Implikacje residualne, waŜenie 4.4.3.1 WaŜenie dla t-normy minimum 4.4.3.2 WaŜenie dla t-normy produktowej 4.4.3.3 WaŜenie dla t-normy Łukasiewicza 4.4.4 Miary epsilonowe podobieństwa 4.4.5 Wyniki ewaluacji opisanych klasyfikatorów 4.5 Przykładowe Repozytoria danych 4.5.1 UCI Machine Learning repository 4.5.2 Statlog 4.5.3 TunedIT 4.5.4 Kaggle 5 Metody i Parametry Oceny Jakości Klasyfikacji 5.1 Zjawisko przeuczenia i przedopasowania 5.1.1 Przedopasowanie w systemach decyzyjnych 5.1.2 Przeuczenie w sieciach neuronowych 5.1.3 Przeuczenie w algorytmach genetycznych 5.1.4 Przedopasowanie w drzewach decyzyjnych 5.1.5 Przedopasowanie wynikające z dysproporcji ilości atrybutów i obiektów 5.1.6 Niwelowanie zjawiska przeuczenia przy zastosowaniu zespołów klasyfikatorów 5.2 Parametry oceny jakości klasyfikacji 171 171 177 178 179 180 180 182 184 186 186 191 195 196 197 207 209 210 212 217 222 222 227 231 235 240 241 242 242 242 242 245 245 246 247 248 248 249 249 249 5.2.1 Parametry wyliczane na bazie macierzy predykcji 5.2.1.1 Dokładność globalna (ассglobalne) 5.2.1.2 Dokładność zbalansowana (acczbalansowane) 5.2.1.3 Pokrycie globalne (covglobalne) 5.2.1.4 Pokrycie zbalansowane (covzbalansowane) 5.2.1.5 Stopień trafności w klasę decyzyjną (TPRc) 5.2.1.6 Indeks Youdena oraz współczynnik korelacji Matthew 5.2.2 Parametry wyliczane na bazie tablic kontyngencji 5.2.2.1 Tablice kontyngencji 5.2.2.2 Formuły doświadczalne 5.2.2.3 Miary asocjacji 5.2.2.4 G2 - statyczny stopień prawdopodobieństwa 5.2.2.5 Miary zgodności 5.2.2.6 Miary ilości informacji 5.2.3 Inne parametry oceny jakości reguł i klasyfikatorów 5.2.4 Ocena jakości klasyfikacji wieloetykietowej (wieloklasowej) 5.2.5 Root Mean Square Error (RMSE) 5.2.5.1 Parametry oceny klasyfikacji dokumentów 5.3 Metody oceny jakości klasyfikatorów 5.3.1 Trenuj i testuj (Train and Test) (T&T) 5.3.2 Walidacja krzyŜowa Monte Carlo 5.3.3 Bootstrap 5.3.4 Bagging 5.3.5 Losowe Lasy 5.3.6 Walidacja KrzyŜowa 5.3.7 Leave one out 5.3.8 Zespoły klasyfikatorów 250 250 251 251 251 251 251 252 253 253 255 255 256 257 257 259 259 260 261 261 262 263 264 264 264 266 266 6 Metody Robotyki Inteligentnej 6.1 Warsztat pracy 6.1.1 Robot Mindstorms NXT - zmodyfikowany model Tribot 6.1.2 Podstawowe sterowanie - biblioteka NXT++ 6.1.2.1 Podstawowe komponenty i przestrzenie nazw 6.1.2.2 Nawiązywanie komunikacji z robotem 6.1.2.3 Ramy programu NXT++ 6.1.2.4 Wyświetlanie poziomu baterii i ilości dostępnej pamięci 6.1.2.5 UŜywanie generatora dźwięków 6.1.2.6 Nasłuchiwanie wciśnięcia klawisza - przydatne w odświeŜaniu parametrów sterujących 6.1.2.7 Porty serwomechanizmów - Tribota 6.1.2.8 Skręcanie w lewo - przy x<y 6.1.2.9 Skręcanie w prawo - przy x>y 6.1.2.10 Skręcanie w lewo względem osi jezdnej robota 6.1.2.11 Skręcanie w prawo względem osi jezdnej robota 6.1.2.12 Jazda na wprost z prędkością x 269 269 269 273 273 274 274 274 274 275 275 275 275 275 276 276 6.1.2.13 Jazda do tyłu z prędkością x 6.1.2.14 Przykładowe sterowanie szczypcami 6.1.2.15 Przykładowe zwiększanie lub zmniejszanie prędkości robota przy jeździe na wprost 6.1.2.16 Zwalnianie serwomechanizmów 6.1.2.17 Porty sensorów 6.1.2.18 Uaktywnienie sensora dotyku w porcie 1 6.1.2.19 Uaktywnienie sensora odległości w porcie 4 i pobranie odległości od przeszkody, wyłączenie sensora 6.1.2.20 Uaktywnienie sensora światła w porcie 3, pobranie poziomu światła, deaktywacja sensora 6.1.2.21 Pobranie poziomu dźwięku 6.1.2.22 Obsługa czujnika koloru 6.1.3 Podstawy języka Python 6.2 Algorytmy planowania ruchu 6.2.1 Algorytm BUG I 6.2.2 Algorytm BUG II 6.2.3 Algorytm Tangent BUG 6.2.4 Algorytm A* 6.2.5 Programowanie dynamiczne 6.3 Algorytmy sterowania 6.3.1 Sterowanie za pomocą kontrolera PID 6.3.1.1 Kontroler P w sterowaniu robotem Mindstorms NXT 6.4 Algorytmy lokalizacji 6.4.1 Filtr histogramowy 6.4.2 Filtr partykułowy 6.4.3 Implementacja filtrów lokalizacji 6.5 Algorytmy śledzenia obiektów 6.5.1 Śledzenie obiektów kamerą NXTCam-v3 - z zastosowaniem kontrolera P 6.5.1.1 Definiowanie kolorów w kamerze NXTCam-v3 6.5.1.2 Obsługa kamery NXTCam-v3 w bibliotece NXT++ 276 276 277 277 277 277 278 278 278 278 280 286 286 288 290 293 302 305 305 307 313 313 314 316 324 324 325 326 Literatura 329 Indeks 341 oprac. BPK