Metody sztucznej inteligencji

Podobne dokumenty
Sztuczne sieci neuronowe (SNN)

Uczenie sieci typu MLP

Jakość uczenia i generalizacja

Inteligencja. Władysław Kopaliśki, Słownik wyrazów obcych i zwrotów obcojęzycznych

Metody selekcji cech

Uczenie sieci radialnych (RBF)

Co to jest grupowanie

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

Metody i techniki sztucznej inteligencji / Leszek Rutkowski. wyd. 2, 3 dodr. Warszawa, Spis treści

1. Historia 2. Podstawy neurobiologii 3. Definicje i inne kłamstwa 4. Sztuczny neuron i zasady działania SSN. Agenda

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Optymalizacja ciągła

Testowanie modeli predykcyjnych


Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta

Metody Sztucznej Inteligencji II

Sieci neuronowe do przetwarzania informacji / Stanisław Osowski. wyd. 3. Warszawa, Spis treści

4.1. Wprowadzenie Podstawowe definicje Algorytm określania wartości parametrów w regresji logistycznej...74

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

Literatura. Sztuczne sieci neuronowe. Przepływ informacji w systemie nerwowym. Budowa i działanie mózgu

Ontogeniczne sieci neuronowe. O sieciach zmieniających swoją strukturę

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

wiedzy Sieci neuronowe

Uczenie sieci neuronowych i bayesowskich

Wstęp do teorii sztucznej inteligencji Wykład II. Uczenie sztucznych neuronów.

Pattern Classification

Sztuczne sieci neuronowe

METODY INŻYNIERII WIEDZY

Zastosowania sieci neuronowych

Podstawy sztucznej inteligencji

Inteligentne systemy przeciw atakom sieciowym

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 335

PRZEWODNIK PO PRZEDMIOCIE

Algorytm grupowania danych typu kwantyzacji wektorów

Podstawy Sztucznej Inteligencji (PSZT)

Sztuczne sieci neuronowe

synaptycznych wszystko to waży 1.5 kg i zajmuje objętość około 1.5 litra. A zużywa mniej energii niż lampka nocna.

Sieć przesyłająca żetony CP (counter propagation)

1. Logika, funkcje logiczne, preceptron.

SZTUCZNA INTELIGENCJA

Algorytm grupowania danych typu kwantyzacji wektorów

Widzenie komputerowe

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka Adaline.

BIOCYBERNETYKA SIECI NEURONOWE. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.

Elementy modelowania matematycznego

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING

Najprostsze modele sieci z rekurencją. sieci Hopfielda; sieci uczone regułą Hebba; sieć Hamminga;

METODY INŻYNIERII WIEDZY

Wprowadzenie do uczenia maszynowego

8. Neuron z ciągłą funkcją aktywacji.

SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

KARTA MODUŁU KSZTAŁCENIA

Lekcja 5: Sieć Kohonena i sieć ART

Elementy inteligencji obliczeniowej

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

6. Perceptron Rosenblatta

S O M SELF-ORGANIZING MAPS. Przemysław Szczepańczyk Łukasz Myszor

Systemy uczące się wykład 2

Inteligentne systemy informacyjne

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane.

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

9. Praktyczna ocena jakości klasyfikacji

Eksploracja Danych. wykład 4. Sebastian Zając. 10 maja 2017 WMP.SNŚ UKSW. Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja / 18

Temat: Sztuczne Sieci Neuronowe. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

Wstęp do teorii sztucznej inteligencji Wykład III. Modele sieci neuronowych.

Algorytmy metaheurystyczne Wykład 11. Piotr Syga

Metody klasyfikacji i rozpoznawania wzorców. Najważniejsze rodzaje klasyfikatorów

Automatyczna predykcja. Materiały/konsultacje. Co to jest uczenie maszynowe? Przykład 6/10/2013. Google Prediction API, maj 2010

I EKSPLORACJA DANYCH

Wstęp do sztucznych sieci neuronowych

SZTUCZNA INTELIGENCJA

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

SAS wybrane elementy. DATA MINING Część III. Seweryn Kowalski 2006

Matlab podstawy + testowanie dokładności modeli inteligencji obliczeniowej

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

PROGNOZOWANIE OSIADAŃ POWIERZCHNI TERENU PRZY UŻYCIU SIECI NEURONOWYCH**

Sieci neuronowe i ich ciekawe zastosowania. Autor: Wojciech Jamrozy III rok SMP / Informatyka

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2012/2013

Zastosowania sieci neuronowych

Aproksymacja funkcji a regresja symboliczna

Zrównoleglona optymalizacja stochastyczna na dużych zbiorach danych

KADD Minimalizacja funkcji

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka ADALINE.

Optymalizacja systemów

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

Agnieszka Nowak Brzezińska Wykład III

Wstęp do sieci neuronowych, wykład 6 Wsteczna propagacja błędu - cz. 3

Sztuczne Sieci Neuronowe. Wiktor Tracz Katedra Urządzania Lasu, Geomatyki i Ekonomiki Leśnictwa, Wydział Leśny SGGW

Klasyfikatory: k-nn oraz naiwny Bayesa. Agnieszka Nowak Brzezińska Wykład IV

Temat: Sieci neuronowe oraz technologia CUDA

Adrian Horzyk

SIECI REKURENCYJNE SIECI HOPFIELDA

Metody systemowe i decyzyjne w informatyce

Wprowadzenie do teorii systemów ekspertowych

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 311

Wybór modelu i ocena jakości klasyfikatora

Sieć Hopfielda. Sieci rekurencyjne. Ewa Adamus. ZUT Wydział Informatyki Instytut Sztucznej Inteligencji i Metod Matematycznych.

Transkrypt:

Metody sztucznej inteligencji dr inż.marcin Blachnik marcin.blachnik@polsl.pl http://metet.polsl.pl/~mblachnik

Literatura S. Osowski, Sieci neuronowe w ujęciu algorytmicznym, WNT, 1996 L. Rutkowski, Metody i techniki sztucznej inteligencji, PWN, 2006 T. Wieczorek, Neuronowe modelowanie procesów technologicznych, Wyd. Politechniki Śl. 2008 N. Jankowski Ontogeniczne sieci neuronowe. O sieciach zmieniających swoją strukturę, AOW Exit, 2003 R Duda, P Hart, D Stork, Pattern Classification, J. Wiley & Sons, 2001

Inteligencja Władysław Kopaliśki, Słownik wyrazów obcych i zwrotów obcojęzycznych inteligencja psych. zdolność rozumienia, kojarzenia; pojętność, bystrość; zdolność znajdowania właściwych, celowych reakcji na nowe zadania i warunki życia, sprawnego zdobywania i wykorzystywania wiedzy.

Sztuczna inteligencja Co to takiego? ang. Artificial intelligence (AI) Ile książek tyle definicji co to AI John McCarthy w 1956 zdefiniował AI jako nauka i inżynieria robienia inteligentnych maszyn Inteligentna maszyna to system który analizuje swoje środowisko i podejmuje działanie które maksymalizuje prawdopodobieństwo odniesienia sukcesu w tym środowisku Lub po prostu: Rozwiązywanie problemów nie algorytmizowalnych lub trudno algorytmizowalnych

Sztuczna inteligencja Co to takiego? cd. Sztuczna inteligencja część informatyki w jej skład wchodzą: Struktury danych używane do reprezentacji wiedzy Algorytmy wykorzystujące zebraną wiedzę (w postaci powyższych struktu) Język i techniki programowania wykorzystywane do implementacji powyższych Obecnie coraz częściej mówi się o inteligencji obliczeniowej zamiast o sztucznej inteligencji, lub też traktuje sztuczną inteligencję jako podzbiór inteligencji obliczeniowej.

Ciekawostki AI a etyka: Jeżeli zbudujemy inteligentną maszynę, czy będzie ona miała zdolność do odczuwania? Jeśli tak, to czy mając zdolność odczuwania będzie ona miała takie same prawa jak ludzie?

Historia AI 1822-1859 - Charles Babbage & Ada Lovelace -> pierwszy komputer 1854 - George Boole -> definiuje algebrę Boola 1913 - Bertrand Russell i Alfred North Whitehead opublikowali Principia Mathematica, co zrewolucjonizowało logikę formalną. 1943 - Warren Sturgis McCulloch i Walter Pitts publikują "A Logical Calculus of the Ideas Immanent in Nervous Activity" (1943), dając podstawy matematycznej budowy sztucznego neuronu 1948 - John von Neumann powiedział (jako komentaż do wypowiedzi E.T. Jaynes) Sugerujesz że jest coś czego maszyna nie może zrobić? Jeśli zdefiniujesz mi dokładnie co takiego maszyna nie może zrobić, wówczas ja mogę zrobić maszynę która będzie robiła dokładnie to! obecnie maszyna = program 1949 Donald Hebb publikuje książkę The Organization of Behavior" gdzie definiuje tzw regułę uczenia na zasadzie wzmocnienia tzw. Regułę Hebba 1950 Alan Turing definiuje Test Turninga określający poziom inteligencji maszyny 1950 - Claude Shannon definiuje algorytm gry w szachy bazujący na metodach przeszukiwania 1956 - Johhn McCarthy po raz pierwszy używa nazwy artificial intelligence jako tematu organizowanej przez niego konferencji the second Dartmouth Conference. 1954 - John McCarthy (MIT) wymyśla język programowania logicznego Lisp 1958 Frank Rosenblatt opisuje Perceptron - pierwszy inteligentny komputer sieć neuronową która ma zdolność automatycznego uczenia się i wykorzystuje ją do automatycznego rozpoznawania pisma 1960 - Bernard Widrow oraz Ted Hoff budują sieć ADALINE (adaptacyjny liniowy neuron) oraz MADALINE (wiele adaline) 1965 L. Zadech w Fuzzy sets daje podstawy teorii zbiorów rozmytych 1968 - Minsky i Papert publikują dowód o ograniczeniach perceptronu -> problem xor 1974 - Werbsa 1982 - Parkera algorytm uczenia sieci neuronowych poprzez wsteczną propagację błędu 1986 Rumelharta 1982 Hopfield sieć ze sprzężeniem zwrotnym Ponowny bójny rozwój metod AI

Problemy Typowe problemy inteligencji obliczeniowej Znajdowanie rozwiązań dla różnych gier (szachy, warcaby, wychodzenie z labiryntów itp.) Automatyczne wnioskowanie i dowodzenie twierdzeń Systemy ekspertowe - budowanie dużych baz wiedzy Przetwarzanie i rozumienie języka naturalnego translacja pomiędzy językami (np. Google tłumacz), rozumienie zdań, rozpoznawanie mowy (np. Ms. Vista, Opera), chatterboty itp Modelowanie ludzkich potrzeb chatterboty jako wirtualny pomocnik, systemy autoasocjacyjne, diagnozowanie medyczne Planowanie i robotyka automatyczne planowanie produkcji, sterowanie robotem itp. Konstruowanie języka i środowiska do przetwarzania wiedzy (prolog, lisp) Rozpoznawanie i analiza obrazów itp.

Podejścia do rozwiązywania problemów sztucznej inteligencji Neurologia budowa mózgu Psychologia poznawcza i kognitywistyka jak uczą się ludzie i jak reprezentują wiedzę systemy rozmyte, systemy bazujące na prototypach Biologia algorytmy genetyczne, algorytmy ewolucyjne, algorytmy mrówkowe Inżynieria alg. Symulowanego wyżarzania Statystyka teorie probabilistyczne, posybilistyczne itp.

Jak budować inteligentne systemy = szeregowe przetwarzanie informacji Zmiana wewnętrznych parametrów modeli składowych Np. algorytmy genetyczne Pozyskanie informacji (danych) Wstępne przetwarzanie danych przygotowanie ich do dalszej analizy Selekcja informacji Ostateczny model decyzyjny Ocena modelu Model końcowy Wizualizacja danych - Normalizacja danych - Usuwanie wartości odstających (nietypowych) - Usuwanie wartości brakujących - Wstępna transformacja danych - Szukanie które sygnały wejściowe (pomiarowe) są nam naprawdę potrzebne do rozwiązania zadania - Szukanie nowych sygnałów, które można znaleźć na podstawie już istniejących, które pozwalają na jak najlepsze podejmowanie decyzji - Dobór zbioru uczącego - np.. Metody rankingowe bazujące na Spearman ie - Ostateczny model decyzyjny - Regresyjny SVM, sieci neuronowe, typu MLP lub RBF, metody okien Parzena, drzewa decyzji itp. - Klasyfikacyjny SVM, sieci neuronowe, drzewa decyzji itp

Formy reprezentacji wiedzy W postaci klasycznych reguł jeżeli.. To.. List reguł Jeżeli temperatura<15 i wilgotność > 80 to będzie padać Drzew decyzji

Formy reprezentacji wiedzy W postaci reguł rozmytych Jeżeli temperatura jest około 15st i wilgotność jest około 80 to będzie padać

Formy reprezentacji wiedzy W postaci reguł bazujących na prototypach Jeżeli pogoda jest zła to będzie padać w przeciwnym razie nie będzie padać

Formy reprezentacji wiedzy W postaci probabilistycznej P(wilgotność,temperatura padać) > P(wilgotność,temperatura nie padać) => nie będzie padać

Formy reprezentacji wiedzy Za pomocą zbiorów przybliżonych (definiujemy dolną i górną aproksymację dla zbioru padać) i na podstawie odpowiedniej heurystyki podejmujemy decyzję Dolna aproksymacja Górna aproksymacja

Formy reprezentacji wiedzy Sieci semantyczne (np. gra w 20 pytań)

To tyle w kwestii wstępu

Sztuczne sieci neuronowe (SNN)

SSN - podstawy Sieci neuronowe stosowane są do rozwiązywania problemów typu uczenie maszyn: rozpoznawanie obrazów Rozpoznawanie mowy itp. Cecha: Zdolność automatycznego uczenia się poprzez adaptację swojej struktury i jej właściwości do stawianego sieci zadania

Podział sieci ze względu na charakter problemu Uczenie nienadzorowane, Uczenie z krytykiem Uczenie nadzorowane Autoasocjacja

Uczenie nienadzorowane analiza skupień, klasteryzacja, grupowanie danych Ucząc model nie wiemy nic o tym czego czego mamy się nauczyć przykład: sieci samoorganizujące się Kochonena, Przykład: Czytając różne książki nie wiemy co się na ich podstawi nauczymy ale na pewno czegoś się nauczymy. Przykład: Mając dane dotyczące różnych kwiatów np. irysów (długości i szerokości kielicha oraz długości i szerokości płatka) chcemy się dowiedzieć iloma różnymi odmianami irysa dysponujemy

Uczenie nienadzorowane analiza skupień, klasteryzacja, grupowanie danych Ucząc model nie wiemy nic o tym czego czego mamy się nauczyć przykład: sieci samoorganizujące się Kochonena, Przykład: Czytając różne książki nie wiemy co się na ich podstawi nauczymy ale na pewno czegoś się nauczymy. Przykład: Mając dane dotyczące różnych kwiatów np. irysów (długości i szerokości kielicha oraz długości i szerokości płatka) chcemy się dowiedzieć iloma różnymi odmianami irysa dysponujemy

Uczenie nadzorowane Uczymy się na przykładach które już ktoś rozwiązał i próbujemy zrozumieć jak zostały rozwiązane, by później samemu móc rozwiązywać podobne zadania Problemy regresyjne gdy nasz cel uczenia daje się zapisać jako liczba rzeczywista (np.. Cena itp) Na podstawie położenia lokalu, jego powierzchni, wieku itp. Dokonać automatycznej wyceny tegoż lokalu (Boston houses) Na podstawie analiz rynku przewidzieć zmiany wartości akcji przedsiębiorstwa Problemy klasyfikacyjne gdy nasz celu uczenia jest czymś co nie jest liczbą, jest symbolem (np. typ choroby, gatunek roślin itp)

Uczenie nadzorowane Uczymy się na przykładach które już ktoś rozwiązał i próbujemy zrozumieć jak zostały rozwiązane, by później samemu móc rozwiązywać podobne zadania Problemy regresyjne gdy nasz cel uczenia daje się zapisać jako liczba rzeczywista (np.. Cena itp) Na podstawie położenia lokalu, jego powierzchni, wieku itp. Dokonać automatycznej wyceny tegoż lokalu (Boston houses) Na podstawie analiz rynku przewidzieć zmiany wartości akcji przedsiębiorstwa Problemy klasyfikacyjne gdy nasz celu uczenia jest czymś co nie jest liczbą, jest symbolem (np. typ choroby, gatunek roślin itp)

Uczenie nadzorowane Uczymy się na przykładach które już ktoś rozwiązał i próbujemy zrozumieć jak zostały rozwiązane, by później samemu móc rozwiązywać podobne zadania Problemy regresyjne gdy nasz cel uczenia daje się zapisać jako liczba rzeczywista (np.. Cena itp) Na podstawie położenia lokalu, jego powierzchni, wieku itp. Dokonać automatycznej wyceny tegoż lokalu (Boston houses) Na podstawie analiz rynku przewidzieć zmiany wartości akcji przedsiębiorstwa Problemy klasyfikacyjne gdy nasz celu uczenia jest czymś co nie jest liczbą, jest symbolem (np. typ choroby, gatunek roślin itp) Na podstawie zawartości alkoholu, kwasowości, zawartości fenoli, intensywności koloru itp. odgadnąć producenta wina spośród trzech producentów z tego samego regionu Włoch (wine) Na podstawie analiz medycznych przewidzieć czy pacjentka cierpi na raka piersi czy nie

Uczenie nadzorowane Uczymy się na przykładach które już ktoś rozwiązał i próbujemy zrozumieć jak zostały rozwiązane, by później samemu móc rozwiązywać podobne zadania Problemy regresyjne gdy nasz cel uczenia daje się zapisać jako liczba rzeczywista (np.. Cena itp) Na podstawie położenia lokalu, jego powierzchni, wieku itp. Dokonać automatycznej wyceny tegoż lokalu (Boston houses) Na podstawie analiz rynku przewidzieć zmiany wartości akcji przedsiębiorstwa Problemy klasyfikacyjne gdy nasz celu uczenia jest czymś co nie jest liczbą, jest symbolem (np. typ choroby, gatunek roślin itp) Na podstawie zawartości alkoholu, kwasowości, zawartości fenoli, intensywności koloru itp. odgadnąć producenta wina spośród trzech producentów z tego samego regionu Włoch (wine) Na podstawie analiz medycznych przewidzieć czy pacjentka cierpi na raka piersi czy nie

Uczenie z krytykiem Uczenie gdy jedyną dostępną informacja o tym co nauczyliśmy się jest typu nagroda/kara. W pewnym sensie odmiana uczenia pod nadzorem gdzie nie jest znana wielkość popełnionego błędu a jedynie informacja typu prawda fałsz Przykład: Uczenie robota chodzenia przewróci się (-) nie przewrócił się (+) Strategie przetrwania dla systemów agentowych przeżył (+), zginął (-)

Uczenie z krytykiem Uczenie gdy jedyną dostępną informacja o tym co nauczyliśmy się jest typu nagroda/kara. W pewnym sensie odmiana uczenia pod nadzorem gdzie nie jest znana wielkość popełnionego błędu a jedynie informacja typu prawda fałsz Przykład: Uczenie robota chodzenia przewróci się (-) nie przewrócił się (+) Strategie przetrwania dla systemów agentowych przeżył (+), zginął (-)

Analiza koszykowa -> asocjacja Problemy asocjacyjne to problem typu co wiąże się z czym przykład sieci Hopfielda Przykładowe zastosowania socjo-marketing idąc do sklepu co jeszcze kupujemy kupując paluszki słone. Innymi słowy z czym wiążą się paluszki podczas zakupów np. piwo

Analiza koszykowa -> asocjacja Problemy asocjacyjne to problem typu co wiąże się z czym przykład sieci Hopfielda Przykładowe zastosowania socjo-marketing idąc do sklepu co jeszcze kupujemy kupując paluszki słone. Innymi słowy z czym wiążą się paluszki podczas zakupów np. piwo

Budowa neuronu neuron biologiczny

Budowa neuronu neuron liniowy Wg. McCullocha i Pittsa: Gdzie: w i i-ta waga x i i-te neuronu (dendryt) z wyjście neuronu (akson) b wolny dendryt do niczego nie podłączony

Budowa neuronu neuron nieliniowy typu perceptron Gdzie: w i i-ta waga x i i-te neuronu (dendryt) z wyjście neuronu (akson) b wolny dendryt do niczego nie podłączony f nieliniowa funkcja aktywacji neuronu

Budowa neuronu neuron nieliniowy funkcje aktywacji Binarna: unipolarna i bipolarna (Perceptron Rosenblatta) Ciągła: Sigmoidalny również nazywany perceptronem

Budowa neuronu neuron nieliniowy funkcje aktywacji - cd Neurony radialne (lokalnym charakter działania) Gaussowski 2 z f ( z) = exp 2 2σ 2 2 f ( z) = z + σ Wielomianowy 2 2 f ( z) = z + σ Hardyego f ( z) = z 1 + σ 2 2 Gdzie z = x - t ( ) 2 np. z = xi ti i

Architektury sieci neuronowych Typy architektur: sieci jednokierunkowe (feedforward networks) sieci o jednym kierunku przepływu sygnałów sieci rekurencyjne sieci ze sprzężeniem zwrotnym sieci komórkowe

Sieci jednokierunkowe

Sieci jednokierunkowe cd. Wynikiem przetwarzania pojedynczej warstwy takiej sieci jest: Gdzie: N h (u h ) operator przetwarzania neuronowego h-tej warstwy W h macierz współczynników wag połączeń pomiędzy warstwami (h-1) i (h) Natomiast całą sieć można opisać jako: Gdzie: y wektor wartości wyjściowych y=[y 1, y 2, y n ] T u wektor wartości wejściowych u=[u 1, u 2, u m ] T F wyj operator aktywacji neuronów warstwy wyjściowej N wyj operator przetwarzania neuronów warstwy wyjściowej W wyj macierz współczynników wag połączeń pomiedzy warstwami H-tą a wyjściową Przykłady: perceptron wielowarstwowy (dowolna ilość warstw, najczęściej 3), RBF (dwie warstwy)

Sieci ze sprzężeniem zwrotnym N 1 N 4 bloki reprezentujące grupy neuronów

Sieci ze sprzężeniem zwrotnym Np.. Sieć Hopfielda, Gdzie: k numer kolejnej iteracji b i sygnał sterowania zewnętrznego w ij wagi połączeń pomiedzy j-tym wyjściem a i-tym wejściem

Sieci komórkowe Sprzężenia i współpraca pomiędzy sąsiednimi neuronami sieci Przykład: mapy Kochonena, LVQ

Jakość uczenia i generalizacja

Dokładność uczenia Jest koncepcją miary w jakim stopniu nasza sieć nauczyła się rozwiązywać określone zadanie Dokładność mówi na ile nauczyliśmy się rozwiązywać zadania które już znamy, a generalizacja na ile potrafimy rozwiązywać nowe zadania podobne do tych które znamy ale mogą też być inne

Miary dokładności uczenia dla problemów klasyfikacyjnych Macierz konfuzji parametr (ang. true positive) TP parametr (ang. false positive) FP

Miary dokładności uczenia dla problemów klasyfikacyjnych cd. Dokładność (ang. accuracy) Dokładność zbalansowana (ang. Balanced accuracy)

Miary dokładności uczenia krzywa ROC i AUC

Miary dokładności uczenia dla problemów regresyjnych Błąd średniokwadratowy (MSE) (RMSE) n i = 1 i i 1 n ( ) 2 e = y d n i = 1 i i 1 n ( ) 2 e = y d Błąd średni (ME) e = i y i n d i Znormalizowany błąd średniokwadratowy (NMSE) e = 1 n i i n i= 1 ( y d ) 2 σ σ y d

Co to jest generalizacja Generalizacja zdolność do uogólniania zdobytej wiedzy Jeśli wszyscy uczyliby się do egzaminu równy okres czasu to i tak będą rozbieżności w ocenach. Dlaczego? Gdyż jedni uczą się szybciej a inni wolniej, jedni uczą się z przyjemnością fizyki, a inni wolą uczyć się na temat malarstwa. To samo zjawisko występuje w SSN i inteligencji obliczeniowej Generalizacja jest więc koncepcją określającą zdolnością do zastosowania zdobytej wiedzy w nowych sytuacjach, z którymi system nie spotkał się dotychczas.

Co to jest generalizacja Generalizacja Dokładność

Generalizacja a dokładność Poziom uogólnienia w funkcji VCdim Im model bardziej złożony tym bardziej maleje generalizacja Krzywa reprezentująca zależność pomiędzy dokładnością a generalizacją Błąd uczenia w funkcji VCdim (złożoności modelu) Im model bardziej złożony tym większy błąd (*) Sieci neuronowe w ujęciu algorytmicznym, Ossowski

Dokładność a generalizacja Zbyt duża generalizacja

Dokładność a generalizacja Przeuczenie (*) Pattern classification Duda, Hart, Stork

Dokładność a generalizacja Dobra generalizacja

Dokładność a generalizacja (*) Sieci neuronowe w ujęciu algorytmicznym, Ossowski

Problem rozmiaru sieci Im mamy bardziej pojemną sieć tym dłużej musimy się uczyć i tym więcej przypadków musimy przeanalizować Problem Jeżeli mamy bardzo dużą sieć to może dojść do niedouczenia sieci, jak i do przeuczenia się danego problemu Przykład Jeżeli mamy do rozwiązania zadanie z fizyki aby określić drogę jaką przebył kamień spadając przez 10s to można zadanie rozwiązać: 2 a) g t s = 2 b) wyliczyć z definicji przyspieszenia iż jest to druga pochodna z drogi po czasie, robiąc odpowiednie przekształcenia i uwzględniając tarcie powietrza itp..

Metody oceny generalizacji Zasada minimalnej długości opisu (ang. Minimal description length) - bazuje na analizie rozmiaru zbioru oraz stopnia złożoności modelu h wyrażonego w bitach Gdzie: - jest długością opisu modelu h pod warunkiem kodowania C - jest długością opisu zbioru X pod warunkiem modelu h oraz kodowania C.

Metody oceny generalizacji cd. Zasada minimalizacji ryzyka strukturalnego (ang. structural risk minimization, SRM) - Idea współczynnika SRM polega na uwzględnieniu obok dokładności modelu h drugiego czynnika opisującego jego złożoność, tym samym wariancję modelu - Rzeczywisty koszt popełnienia błędu - Empiryczny koszt popełnienia błędu - Współczynnik Vapnika-Czervonenkisa - Pewna stała

Empiryczne metody oceny generalizacji Podział trening/test Kroswalidacja (ang cross validation) lub test krzyżowy Test typu jeden pozostaw Test typu bootstrap

Podział trening test Wydzielenie ze zbioru danych części na której będzie dokonywane uczenie i części na której będzie dokonywana ocena (testowanie) modelu Wada łatwo może dojść do przeuczenia modelu lub dostosowania modelu do zbioru testowego!!! Zbiór danych Zbiór Uczący Zbiór walidujący Zbiór treningowy Zbiór testowy

Test krzyżowy Podziel zbiór danych X na N równych niezależnych części R(i), i=1..n (losowanie bez zwracania) For i=1:n Ucz model na zbiorze X / R(i) Testuj model na R(i) Dwa typy testu krzyżowego: normalny losowo podział zbioru danych Stratyfikowany losowy podział ale zapewniający stały rozkład punktów w poszczególnych klasach

Jeden pozostaw Test jeden pozostaw (ang. Leave one out) jest szczególną wersją testu krzyżowego, gdzie zawsze tylko 1 wektor pozostawiany jest do testowania, a proces uczenia odbywa się M razy, gdzie M liczba wektorów w zbiorze uczącym Zalety test nie obciążony Wady duża złożoność obliczeniowa (znane są różne uproszczenia testu LOO)

Bootstrap (by Efron) Mając zbiór X o M wektorach Ze zbioru danych X wylosuj ze zwracaniem M wektorów aby powstał zbiór R j Naucz model H j na zbiorze R j i wyznacz błąd modelu na tym zbiorze RE j Wyznacz błąd XE j modelu H j na całym zbiorze danych X Wyznacz optymizm opt j =XE j -Re j Powtórz kroki 1:4 J krotnie Wyznacz średni optymizm opt Wyznacz błąd na zbiorze uczącym E (trening modelu i jego testowanie odbywa się na zbiorze X) Na tej podstawie estymatę błędu generalizacji (e) wynosi e = E + opt

Podstawowe metody uczenia

Problem separowalny 5 4 3 2 1 0-1 -2-3 -4-5 -5-4 -3-2 -1 0 1 2 3 4

Problem nieseparowalny 4 3 2 1 0-1 -2-3 -4-4 -3-2 -1 0 1 2 3 4

Problem liniowo separowalny 5 4 3 2 1 0-1 -2-3 -4-5 -5-4 -3-2 -1 0 1 2 3 4

Problem liniowo nieseparowalny 8 6 4 2 0-2 -4-6 -8-6 -4-2 0 2 4 6

Neuron liniowy x 0 x n wejścia (ilość analizowanych zmiennych) w 0 w n wagi neuronu Funkcja aktywacji typu skok (-1, 1) g(x) wartość wyjściowa neuronu x = [x 0 x n ] T

Zadanie podział na dwie klasy g(x) = 0 granica decyzji Szukamy takiej prostej w i w 0 która spełnia zależność: w T x (1) +w 0 = w T x (2) +w 0 5 4 g(x)=0 3 2 1 0-1 -2-3 -4-5 -4-3 -2-1 0 1 2 3 4 5

Uczenie sieci/neuronu = problem optymalizacyjny Jak znaleźć położenie prostej g(x) czyli wyznaczyć parametry wektora w? Przez optymalizację Znalezienie optymalnej funkcji g(x) => problem NP zupełny Wykorzystanie metod suboptymalnych Metody gradientowe, największego spadku itp Metody optymalizacji stochastycznej (Monte Carlo, algorytmy genetyczne, ewolucyjne itp) Problem => definicja funkcji celu/kosztu którą będziemy optymalizować

Algorytm Rosenblatta Gwarantuje zbieżność gdy klasy (-1 i 1) są liniowo separowalne! T J ( w) = ( w x) Funkcja celu x Ω Gdzie w t x iloczyn skalarny wektorów: Ω-zbiór wektorów x które zostały błędnie sklasyfikowane Algorytm: T w x = w... 1x1 + w2 x2 + w3 x3 + + wn x t numer iteracji w wektor wag C(x) funkcja zwracająca etykietę klasy dla wektora x m liczba wektorów uczących t = 0 w = generuj losowo repeat t 0 =t; for i=0:m if (C(x i )=1) and (w T x i <0) => w=w+x i ; t=t+1 if (C(x i )=-1) and (W T x i >0) => w=w-x i ; t=t+1 end until t 0 =t n

Algorytm Rosenblatta Gwarantuje zbieżność gdy klasy (-1 i 1) są liniowo separowalne! T J ( w) = ( w x) Funkcja celu x Ω Gdzie w t x iloczyn skalarny wektorów: Ω-zbiór wektorów x które zostały błędnie sklasyfikowane Algorytm: T w x = w... 1x1 + w2 x2 + w3 x3 + + wn x Zbieżny jedynie dla danych t numer iteracji w wektor wag liniowo separowanych C(x) funkcja zwracająca etykietę klasy dla wektora x m liczba wektorów uczących t = 0 w = generuj losowo repeat t 0 =t; for i=0:m if (C(x i )=1) and (w T x i <0) => w=w+x i ; t=t+1 if (C(x i )=-1) and (W T x i >0) => w=w-x i ; t=t+1 end until t 0 =t n

Poprawa zbieżności i stabilności Funkcja kosztu perceptronu: T J ( w) = ( w x) x Ω Algorytm: t numer iteracji w wektor wag C(x) funkcja zwracająca etykietę klasy dla wektora x m liczba wektorów uczących η(j) współczynnik uczenia -> funkcja malejąca w czasie np. t = 0 w = generuj losowo for t=1:max_iter for i=0:m if (C(x i )=1) and (w T x i <0) => w=w+η(t)x i if (C(x i )=-1) and (W T x i >0) => w=w-η(t)x i end end η ( t) = 1 t + 1

Kształt funkcji kosztu Problem: płaska postać część funkcji kosztu w części separowalnej Kształt schodkowej funkcji kosztu (liczba wektorów błędnie klasyfikowanych) Kształt funkcji kosztu algorytmu Perceptronu

Jaka hiperpłaszczyzna jest lepsza? 5 4 3 2 1 0-1 -2-3 -4-5 -6-5 -4-3 -2-1 0 1 2 3 4

Jaka hiperpłaszczyzna jest lepsza? 5 4 3 2 1 0-1 -2-3 -4-5 -6-5 -4-3 -2-1 0 1 2 3 4

Jaka hiperpłaszczyzna jest lepsza? 5 4 3 2 1 0-1 -2-3 -4-5 -6-5 -4-3 -2-1 0 1 2 3 4

Kolejna modyfikacja algorytm z marginesem Procedura relaksacji: nowa funkcja t zamiast: w x Funkcja kosztu: Stąd pochodna: 0 J ( w) decyzyjna: = x Ω J ( w) = x Ω ( T w x b) 2 2 x T w x b x 2 x t w x b I zasada aktualizacji wartości wag: ( ) w = w + η t t+ 1 t b x Ω T w x 2 x x

Uczenie neuronu poprzez minimalizację błędu średniokwadratowego Rozwiązanie problemów nie separowalnych! Zapisując: x1,1 x1,2 x1, n w1 y1 x2,1 x2,2 x 2, n w 2 y = 2 Xw = y xm,1 xm,2 x m, n w n y n Gdzie X jest macierzą reprezentującą cały zbiór uczący o m wektorach, każdy n elementowy Zapisująć błąd jako e=xw-y wówczas funkcja kosztu przyjmuje postać: Stąd pochodna: I ostatecznie: J ( ) ( T ) ( T x = w x y = w x y) 2 m i= 1 m i= 1 J = 2 w x d y = 2Y Yw d ( T ) T i i i ( ) ( T ) 1 T w = X X X d

To tyle w tym temacie

Krótko o problemie systemów wieloklasowych

Od klasyfikatora dwuklasowego do wieloklasowego Klasa reszta Klasa - klasa (*) Duda, Hart, Stork, Pattern Classification ->

Klasyfikacja wieloklasowa - porównanie Dwie koncepcje: Klasa klasa Problem skalowalności mając k klas potrzebujemy (k 2 - k)/2 klasyfikatorów, czyli liczba klasyfikatorów rośnie z kwadratem liczby klas, ale jeśli rozmiar zbioru jest m i mamy równą ilość przypadków w danej klasie a złożoność uczenia algorytmu jest kwadratowa to uczenie jednego modelu ma złożoność (2m/k) 2 mamy więc złożoność całkowitą (k 2 -k)4m 2 /(2k 2 )=2(1-1/k)m 2 Klasa reszta Potrzebujemy k klasyfikatorów liniowa zależność w funkcji liczby klasyfikatorów ale tutaj całkowita złożoność jest: km 2

Uczenie sieci typu MLP

Przypomnienie budowa sieci typu MLP

Przypomnienie budowy neuronu Neuron ze skokową funkcją aktywacji jest zły!!! Powszechnie stosuje -> modele z sigmoidalną funkcją aktywacji β - współczynnik nastromienia. Im większy tym bardziej skokowa funkcja aktywacji f 1 ( z) 2 1 = 1 + exp β z ( ) ( ) 3 1 ( ) ( ) = ( β ) f z tgh z f z = 2 f z 1 M = i i + i z w x w 0

Różniczkowalność funkcji sigmoidalnej Pochodne funkcji aktywacji df 1 ( x) dx df ( x) ( ) 1 ( ) ( ) = β f x f x 1 1 ( x) ( 1 f ) 2 2 2 dx = β df 3 ( x) dx ( ) ( ) ( ) = 2β f x 1 f x 1 1

Trochę o uczeniu Uczenie sieci MLP to optymalizacja wartości wag w celu minimalizacji błędu popełnianego przez sieć. Funkcja celu - kryterium, według którego można oceniać dokonany wybór rozwiązania najlepszego spośród dopuszczalnych rozwiązań (wariantów), czyli jak dany system w procesie swego działania zbliża się do osiągnięcia wyznaczonego celu. Działając zgodnie z zasadami ekonomii (zasadą oszczędności i zasadą wydajności) dąży się każdorazowo do maksymalizacji lub minimalizacji funkcji celu w zależności od postawionego celu działania. Funkcja celu określa więc w sposób formalny zależność między celem systemu (firmy) a środkami służącymi do jego realizacji. wg. portalwiedzy.onet.pl Jak zdefiniować funkcję celu? Stosując metody gradientowe funkcja celu musi spełniać warunek różniczkowalności!!!

Funkcja celu Błąd średniokwadratowy dla sieci o M wyjściach M 1 E = ( y ) 2 i di 2 i= 1 y rzeczywista wartość i-tego wyjścia sieci d wyliczona wartość i-tego wyjścia sieci Całkowita wartość funkcji celu po prezentacji n przypadków uczących ma postać n M 1 E = ( y ( ) ( )) 2 i x j di x j 2 j= 1 i= 1

Inne odmiany funkcji celu Funkcja z normą L 1 M 1 E = yi d 2 Minimalizacja wszystkich błędów równomiernie i= 1 Funkcja z normą wyższych rzędów M 1 E = yi d 2 i= 1 ( ) 2 Minimalizacja największych błędów (małe błędy stają się nie istotne) i i K

Inne odmiany funkcji celu. CD. Kombinacja dwóch powyższych (Karayiannis): M M 1 2 E = λ ( yi di ) + ( 1 λ ) φ ( yi di ) 2 i= 1 i= 1 Dla λ=1 -> minimalizacja błędu średniokwadratowego Dla λ=0 -> minimalizacja błędu zdefiniowanego przez funkcję φ W praktyce uczymy zaczynając od λ=1 i stopniowo w trakcie uczenia zmniejszamy λ do 0 φ 1 ln cosh β ( a ) = ( β a ) ( ) Dla dużych β zachodzi φ(a)= a

Problem uczenia sieci MLP Jak dobrać odpowiednie wartości wag? Jak wyznaczyć błąd popełniany przez warstwy ukryte? Jak więc uczyć warstwy ukryte by minimalizować ów błąd? Jak określić kierunek zmian wartości wag, czy + czy -, o jaką wartość zmieniać wagi?

Metody optymalizacji Stochastyczne Monte carlo Algorytmy genetyczne Algorytmy ewolucyjne Gradientowe Największego spadku (reguła delta) ( 1) ( ) η p ( W ) W k + = W k + W W = η- współczynnik ucenia p(w) kierunek i wartość zmian wektora W

Algorytm wstecznej propagacji błędu 1. Analiza sieci neuronowej o zwykłym kierunku przepływu sygnałów. Podanie na wejście danego wektora x i i wyznaczenie odpowiedzi każdego z nauronów dla każdej z warstw (odpowiednio d i dla wyjściowej i s i dla ukrytej). 2. Stworzenie sieci propagacji wstecznej zamieniając wejścia sieci na jej wyjścia oraz zamieniając funkcje aktywacji neuronu na pochodne oryginalnych funkcji aktywacji. Na wejście sieci należy podać różnicę sygnałów wyjściowego i oczekiwanego (y i -d i ) 3. Uaktualnienie wag odbywa się na podstawie wyników uzyskanych w punkcie 1 i 2 wg. zależności 4. Opisany proces powatarzaj aż błąd nie spadnie poniżej wartości progowej ε<threshold

Trochę wzorów Funkcja celu uwzględniając dwie warstwy ukryte: v i wyjścia warstwy ukrytej, co dalej możemy zapisać jako Uwaga sumowanie po K od 0 bo zakładamy że nasz wektor ma postać x=[1 x 1 x 2 x N ] T i odpowiednio v=[1 v 1 v 2 v K ] T Uwaga N-wejść, K- neuronów ukrytych i M wyjść z sieci Żródło rysunku i wzorów: Ossowski, Sieci neuronowe w ujęciu algorytmicznym, WNT

Wzory cd. Zmaina wag warstwy wy. Gdzie przyjmując: ( y d ) δ = (2) i i i (2) ( i ) df u du (2) i Ostatecznie zmianę wag dla wa-wy 2 możemy zapisać jako: Dla warstwy ukrytej (nr 1) zależność ta przyjmuje postać: Gdzie zmiana wag wynikająca z wa-wy wyj (2), zmiana wag z wa-wy ukrytej(1) Żródło rysunku i wzorów: Ossowski, Sieci neuronowe w ujęciu algorytmicznym, WNT

Wzory cd.. Uwzględniając poszczególne składniki otrzymujemy Co dla poniższych oznaczeń: Pozwala zapisać pochodną funkcji kosztu w warstwie ukrytej jako Ostatecznie zmiana wag realizowana jest jako: Żródło rysunku i wzorów: Ossowski, Sieci neuronowe w ujęciu algorytmicznym, WNT η - wsp. uczenia

Problem minimów lokalnych Rys. M. Kordos Search-based Algorithms for Multilayer Perceptrons PhD

Różne wersje algorytmów algorytmy gradientowe W sąsiedztwie najbliższego rozwiązania rozwijają funkcję celu E(W) w szereg Taylora (najczęściej do pierwszych 3 składników) Gdzie: Oraz macierz drugich pochodnych p wektor kierunkowy liczenia pochodnych zależny od W Optymalne rozwiązanie gdy g(w k )=0 i H(W k ) jest dodatnio określona (wszystkie wartości własne macierzy H są > 0) lub Żródło rysunku i wzorów: Ossowski, Sieci neuronowe w ujęciu algorytmicznym, WNT

Inne metody optymalizacji Algorytm największego spadku (rozwinięcie tylko do pierwszej pochodnej) Algorytm zmiennej metryki (wykorzystanie kwadratowego przybliżenia funkcji E(W) w sąsiedztwie W k ) Algorytm Levenberga-Marquardta (najlepsza, zastąpienie H(W) przez aproksymację G(W) z reguloaryzacją)

Dobór współczynnika uczenia η Stały współczynnik uczenia W praktyce jeśli jest stosowany to jest on wyznaczany niezależnie dla każdej warstwy (n i -liczba wejść i-tego neuronu) Adaptacyjny dobór wsp. Uczenia Przyjmując jako błąd uczenia oraz η (i+1), η i współczynniki uczenia w iterazji i oraz i+1 oraz odpowiednio błąd uczenia ε (i+1), ε i, k w dopuszczalny wzrost wartości wsp η if then else Gdzie ρ d <1 (np. 0.7) oraz ρ i >1 (np. 1.05) Żródło rysunku i wzorów: Ossowski, Sieci neuronowe w ujęciu algorytmicznym, WNT

Dobór współczynnika uczenia η (inne metody) Dobór wsp. uczania przez minimalizację kierunkową Reguła delta-bar-delta doboru wsp. uczenia

Inicjalizacja wag Inicjalizacja wag wpływa na rozwiązanie zależy w którym miejscu funkcji powierzchni funkcji celu zaczniemy optymalizację Losowa PCA W praktyce zastosowanie metody wielostartu Rys. M. Kordos Search-based Algorithms for Multilayer Perceptrons PhD

Metody optymalizacji globalnej Dotychczasowe metody mają charakter lokalny (optymalizujemy w obrębie najbliższych rozwiązań) Metody globalne patrzą na problem całościowy i całościowo optymalizują sieć. Optymalizacja globalna to metody optymalizacji stochastycznej symulowane wyżarzania, algorytmy genetyczne i ewolucyjne

Przykład symulowane wyżarzanie 1. Start procesu z rozwiązania początkowego W, temperatura T=T max 2. Dopóki T>0 wykonaj L razy Wybierz nowe rozwiązanie W w pobliżu W Oblicz funkcję celu =E(W )-E(W) Jeżeli <= 0 to W=W W przeciwnym przypadku ( >0) jeżeli e - /T >R to W=W (gdzie R to liczba losowa z przedziału [0,1]) 3. Zredukuj temperaturę T=rT (r współczynnik redukcji z przedziału [0,1]) 4. Po redukcji temperatury T do 0 ucz metodą gradientową

Sieci typu LVQ i klasyfikator knn

Dygresja - metody bazujące na podobieństwie Podstawowa zasada: Elementy podobne powinny należeć do tej samej klasy -> inspiracja kognitywistyczna Problem: co to znaczy podobne i jak zdefiniować podobieństwo? W.Duch Similarity based methods a general framework for classification approximation and association. Control and Cybernetics, 2000 Podobieństwo to różne miary odległości lub ich odwrotności (miary podobieństwa)

Klasyfikator najbliższego sąsiada Uczenie: Zapamiętaj położenie wszystkich wektorów zbioru treningowego Testowanie: Dla każdego wektora testowego wyznacz jego odległość do wszystkich wektorów zbioru treningowego. Wybierz spośród wszystkich odległości wektor najbliższy (najbardziej podobny) danego wektora testowego Przypisz etykietę wektorowi testowemu równą etykiecie najbliższego sąsiada.

Klasyfikator najbliższego sąsiada Klasyfikator 1NN (1 najbliższego sąsiada ang. one nearest neighbor) ii = arg min c ( D( x p )) ( ) ( ), i D(x,p) odległość pomiędzy wektorami x i p ii = D i x arg max c x i S(x,p) podobieństwo pomiędzy wektorami x i p c p ii ( S ( x p )) c p ( ) ( ) ii, i

Podobieństwo a odległość Podobieństwo jest odwrotnością odległości: Metody transformacji odległości do podobieństwa i odwrotnie np.: S S ( α D x y ) x, y = exp, ( ) ( ) x, y ( ) = D 1 x, y + 1 ( )

Różne miary odległości ( x, y) ( ) ( x, y) n 2 2 D = x y E i i i= 1 n ( x, y) D = x y M i i i= 1 ( x y) D, = max x y C i i D α = x y α Mi i i i= 1 n Odległość Euklidesa Odległość Manhattan Odległość Czebyszewa Odległość Minkowskiego D H ( x, y) n = 0 xi = y 1 x y i= 1 i i i Odległość Hamminga D ( x,y ) n = i= 1 D D Odległość Heterogeniczna Mi H ( x y) ( x y), Jeżeli atrybut ciągy, Jeżeli atrybut symboliczny/binarny

Klasyfikator k najbliższych sąsiadów Klasyfikator knn (k najbliższych sąsiadów) Wyznacz odległości wektora testowego x do wszystkich przypadków zbioru treningowego. Znajdź k najbliższych sąsiadów Przeprowadź głosowanie klasy pomiędzy k najbliższymi sąsiadami, wybierz klasę najczęściej występującą Ewentualne konflikty rozwiąż losowo

Uwagi na temat knn Dokładność klasyfikatora 1NN na zbiorze treningowym zawsze = 100%!!! Gorzej działa w rzeczywistości, choć i tak dobrze W problemach klasyfikacyjnych nigdy nie używaj 2NN, bo w pobliżu granicy decyzji zawsze będzie konflikt podczas głosowania (jeden za, jeden przeciw) knn duży nakład obliczeniowy w przypadku dużych zbiorów treningowych (duża złożoność przy testowaniu)

Obszary Voronoi

Obszary Voronoi / Przykład 1NN

Wada 1NN

Przykład knn 1NN 3NN 2.5 2.5 2 2 1.5 1.5 1 1 0.5 0.5 0 0 0.5 1 1.5 2 2.5 0 0 0.5 1 1.5 2 2.5

Rozszerzenie knn wybór wektorów referencyjnych Algorytm knn można usprawnić poprzez: usunięcie ze zbioru prototypów (przechowywanych wektorów) przypadki błędne lub nietypowe Usunąć wektory leżące daleko od granicy gdyż one nie biorą czynnego udziału w procesie podejmowania decyzji

Przykład Przypadki błędne Wektory nieistotne

Algorytm ENN Autor Wilson. Metoda ta usuwa wszystkie wektory stanowiące szum w zbiorze danych treningowych. Dla każdego wektora wyznaczanych jest k najbliższych sąsiadów spośród zbioru uczącego, które użyte są do głosowania. Jeżeli wynikiem głosowania k sąsiadów jest błędna klasa, wówczas wektor taki zostaje oznaczony do usunięcia P = T\T, gdzie T jest zbiorem wektorów przeznaczonych do usunięcia. Rezultatem działania tego algorytmu jest usunięcie wektorów odstających oraz wektorów brzegowych, a jedyną wartością nastawną jest k (autor zaleca k = 3).

Algorytm ENN

Algorytm RENN i All knn RENN Modyfikacją algorytmu ENN jest metoda RENN (ang. repeated ENN), gdzie algorytm ENN jest wielokrotnie powtarzany aż do momentu, w którym żaden z wektorów nie jest już usuwany w wyniku działania algorytmu ENN. All knn algorytm All k-nn polega na porównywaniu wyników dla różnych wartości parametru k.

Algorytm RENN

Algorytm CNN Metoda ta należy do grupy przyrostowych. Rozpoczyna ona od losowo wybranego wektora jako prototypu P, następnie w pętli klasyfikuje pozostałe przypadki i jeżeli któryś zostaje błędnie sklasyfikowany przez aktualny zbiór prototypów jest on do niego dodawany P = P x. Procedura ta jest powtarzana aż wszystkie wektory zostają sklasyfikowane poprawnie.

Algorytm CNN

Inne metody RNN (Wilson/Martinez) DROP1-5 (Wilson/Martinez) Metody GE oraz RNG bazują bezpośrednio n stworzeniu i oczyszczeniu diagramu Voronoi Metody selekcji losowej/genetycznej/wspinaczki itp. Metody grupowania danych (klasteryzacji) Algorytm częściowo nadzorowanej klasteryzacji CFCM Bazują na CNN

Sieci LVQ a 1NN Usprawnienie 1NN redukcja liczby wzorców Zamiast wykorzystywać cały zbiór danych treningowych w 1NN, można wziąć tylko wybrane najważniejsze przypadki, ale które? Rozwiązanie: sieci typu LVQ Sieci LVQ szukają metodami optymalizacyjnymi najlepszego położenia wektorów wzorcowych

LVQ pojęcia Wektory kodujące (wzorce do których będziemy porównywali nasz wektor testowy) Miara odległości określa stopień podobieństwa do wektora testowego, w praktyce najczęściej odległość Euklidesa

Uczenie sieci LVQ1 Algorytm uczenia Określ liczbę wektorów kodujących Wylosuj położenie każdego z wektorów kodujących p i Dla danego wzorca uczącego x j znajdź najbliższy wzorzec kodujący, Dokonaj aktualizacji położenia wzorca zgodnie z zależnością Symbol (+) występuje gdy obydwa wzorce są z tej samej klasy wektor treningowy przyciąga wzorzec kodujący Symbol ( ) występuje gdy obydwa wzorce są z różnych klas wektor treningowy odpycha wzorzec kodujący Dokonaj aktualizacji wsp. uczenia α (z to numer iteracji)

Uczenie sieci LVQ2 Algorytm uczenia Dla danego wektora treningowego x j znajdź dwa najbliższe wektory kodujące Jeśli etykiety wektorów kodujących są zgodne z etykietą wektora treningowego aktualizuj położenie najbliższego wektora kodującego (jak LVQ1) Jeśli etykiety sąsiednich wektorów kodujących są różne, aktualizuj zgodnie z zależnością LVQ1 obydwa wektory kodujące (przyciągaj wektor zgodny, odpychaj niezgodny) (Lepsza dokładność niż LVQ1)

LVQ2.1 Algorytm identyczny z LVQ2 z tą różnicą iż najpierw realizowana jest weryfikacja czy wektor x wpada do okna zdefiniowanego jako Jeśli tak rób LVQ2, jeśli nie LVQ1 Gdzie w rozmiar okna d1 odległość wektora x od wzorca p 1 d2 odległość wektora x od wzorca p 2 s względna wielkość okna

LVQ3 Identyczny z LVQ2 z tą różnicą iż, jeśli obydwa najbliższe wektory kodujące są z tej samej klasy dokonaj aktualizacji w oparciu o zależność: Gdzie ε - stała zależna od rozmiaru okna w Celem LVQ3 jest nie tylko poprawna klasyfikacja ale również odtworzenie rozkładu danych uczących poprzez równomierny rozkład wektorów wzorcowych

OLVQ Optimized LVQ Uniezależnienie wartości wsp. Uczenia dla każdego wektora kodującego α i (z) wg. zależności aktualizacja wsp. uczenia następuje jedynie dla wektorów kodujących, których położenie zostało zaktualizowane Cel OLVQ - zapewnienie by wektory rzadko aktualizowane miały szansę wziąć większy udział w procesie uczenia rzadko aktualizowane mają większy wsp. Uczenia więc mogą bardziej radykalnie zmieniać swoje położenie

Problemy z sieciami LVQ Dobór liczby wektorów kodujących Algorytm Dyn LVQ Algorytmy przeszukiwania Algorytm wyścigu Inicjalizacja położenia wektorów kodujących Losowa Wstępna klasteryzacja Klasteryzacja nazworowana algorytm CFCM

Uczenie sieci radialnych (RBF)

Budowa sieci radialnej Lokalne odwzorowanie przestrzeni wokół neuronu MLP RBF

Budowa sieci radialnych Zawsze jedna warstwa ukryta

Budowa neuronu Neuron radialny powinien lokalnie (promieniście) odwzorowywać przestrzeń wokół swojego centrum Typowe neurony: Gaussowski Hardy ego Wielomainowy

Budowa neuronu radialnego

Trochę matematyki uczenie sieci radialnej Zależność przyjmując oznaczenie ϕ ji =G( x j -t i ) można zapisać jako funkcję liniową: Stąd wektor wag w można wyliczyć jako:

Trochę matematyki W praktyce, zwtkle k << n (liczba centrów k jest znacznie mniejsza od liczby wektorów treningowych n) więc macierz Φ jest prostokątna. Jak obliczyć Φ -1 Macierz pseudoodwrotna - Φ + =(Φ T Φ) -1 Φ T Wówczas: w = Φ + y rozwiązanie to jest równoważne minimalizacji błędu średniokwadratowego

Trzy fazy uczenia sieci RBF 1. Faza 1 Uczenie jedynie wektora wagowego. 2. Faza 2 Niezależne uczenie wektora wagowego i selekcja centrów funkcji bazowych 3. Faza 3 Nadzorowane i wspólne (jednoczesne) uczenie wektorów wagowych i centrów oraz parametrów funkcji bazowych

Faza 1 Najczęściej stosowane rozwiązanie: w = Φ + y Uwzględniając regularyzację Funkcja kosztu (błąd średnikwadratowy z rtegularyzacją): Czynnik regularyzacyjny Wówczas: w = Gy, przy czym G =(Φ +λ1) -1

Faza 2 Niezależne uczenie centrów funkcji radialnych oraz wektorów wagowych Metody wyznaczania położenia funkcji radialnych Losowy wybór centrów funkcji radialnych Wykorzystanie algorytmów grupowania danych Wykorzystanie algorytmu LVQ Wykorzystanie drzew decyzji

Faza 2 Losowy wybór centrów funkcji radialnych Problem regresyjny/klasyfikacyjny Określ liczbę funkcji radialnych k Wylosuj bez zwracania k wektorów zbioru treningowego Użyj tych wektorów jako centrów funkcji radialnej Problem klasyfikacyjny Określ liczbę funkcji radialnych k i dla każdej z klas Wylosuj bez zwracania k i wektorów z przypadków zbioru treningowego należących do i-tej klasy Użyj tych wektorów jako centrów funkcji radialnej Naucz wektor wagowy wg zależności z fazy 1

Faza 2 Losowy wybór centrów funkcji radialnych 5 4 3 2 1 0-1 -2-3 -4-5 -5-4 -3-2 -1 0 1 2 3 4 5

Faza 2 Algorytmy grupowania Problem regresyjny/klasyfikacyjny 1. Dokonaj na całym zbiorze danych procesu grupowania danych. 2. Traktuj centra klasterów jako położenie funkcji radialnych 3. Dla metod grupowania typu GMM, FCM itp. Dokonaj estymacji macierzy kowariancji Problem klasyfikacyjny 1. Dokonaj grupowania danych osobno dla przypadków należących do każdej z klas 2. Traktuj centra klasterów jako położenie funkcji radialnych 3. Dla metod grupowania typu GMM, FCM itp. dokonaj estymacji macierzy kowariancji Naucz wektor wagowy wg zależności z fazy 1

Faza 2 Algorytmy grupowania 5 4 3 2 1 0-1 -2-3 -4-5 -5-4 -3-2 -1 0 1 2 3 4 5

Czego nauczył się algorytm 5 4 3 2 1 0-1 -2-3 -4-5 -5-4 -3-2 -1 0 1 2 3 4 5

Faza 2 Algorytm LVQ Tylko problemy klasyfikacyjne 1. Przeprowadź uczenie sieci typu LVQ 2. Wydobądź wektory kodujące z sieci LVQ 3. Traktuj wektory kodujące jako centra funkcji radialnych 4. Naucz wektor wag korzystając z fazy 1

Faza 2 Algorytm LVQ 5 4 3 2 1 0-1 -2-3 -4-5 -5-4 -3-2 -1 0 1 2 3 4 5

Dobór szerokości funkcji radialnych W typowych przypadkach wówczas σ jest wspólne dla wszystkich neuronów (zwykle stosowane dla fazy 1 i 2) Sieć można też rozbudować i zdefiniować σ osobno dla każdego neuronu (np.. Tak by spełnić zasadę pokrywania całej przestrzeni danych z minimalnym progiem) Można też poddać dalszej modyfikacji, tak by w ramach pojedynczego neuronu każdy kierunek miał swoją własną wagę (stosowane np.. Przy metodzie uczenia drzewem) Można też zastosować macierz kowariancji wykorzystując informacje z algorytmów grupowania takich jak FCM, GMM

Faza 2 Algorytm drzew decyzji

Faza 2 Algorytm drzew decyzji Położenie funkcji radialnych

Faza 2 Algorytm drzew decyzji 1. Dokonaj uczenia drzewa decyzji 2. Dla każdego z niezależnych obszarów wyznaczonych przez drzewo wyznacz jego środek i umieść w nim centrum funkcji radialnej 3. Wpisz do tego obszaru funkcję radialną tak by była styczna z jego bokami (dokonaj tego modyfikując odpowiednie wagi odległości) 4. Naucz wektor wag korzystając z fazy 1

Faza 3 Jednoczesne uczenie wektorów wagowych oraz położenia funkcji radialnych 1. Dokonaj uczenia sieci RBF w oparciu o Fazę 2 2. Uzyskane wyniki traktuj jako inicjalizację sieci przed uczeniem gradientowym 3. Ucz gradientowo wg. zależności k a a a ( )( ) w = η φ x y d jl j l l a= 1 k a x p p = η φ x w y d n a i ij a a ( ) 2 ( ) ij j jb b b a= 1 σ ij b= 1 k a x p σ = η φ 2 ( ) ( ) n a i ij a a x 3 w ( y d ) ij j a jb b b a= 1 σ ij b= 1 Wagi neuronu. wyj. Położenie centrów Wagi odległości j-tego centrum

Inne metody uczenia nadzorowanego

SVM

Inne metody uczenia nadzorowanego SVN Drzewa decyzji Systemy regułowe Klasyczne Rozmyte Metody zbiorów przybliżonych Metody Bayessowskie Klasyfikator Naiwny Bayessowski Metody okien Parzena RVM

Metody grupowania danych

Sieci typu SOM

Sieci rekurencyjne

Wstępne przetwarzanie danych

Metody selekcji cech

A po co to Często mamy do dyspozycji dane w postaci zbioru cech lecz nie wiemy które z tych cech będą dla nas istotne. W zbiorze cech mogą wystąpić cechy redundantne niosące identyczną informację jak istniejące już cechy Cel wybranie ze zbioru dostępnych cech tych które nas interesują Interesujące cechy to takie, których kombinacja pozwala na możliwie najlepszą klasyfikację lub regresję!

8 7 6 5 Przykład z danymi iris 4 3 2 6 4 2 2 1 0 5 6 7 8 2 3 4 2 4 6 0 1 2

Podział metod selekcji cech Ze względu na charakter problemu Nadzorowane Nienadzorowame Ze względu na relację z innymi algorytmami nadrzędnymi Filtry Wrappery (opakowane) Frapery kombinacja filtrów i Wrapperów Metody wbudowane

Filtry cech Filtry cech to taka grupa metod, która autonomicznie podejmuje decyzję, które z cech będą istotne dla późniejszego procesu uczenia. Decyzja ta podejmowana jest na podstawie niezależnego od klasyfikatora współczynnika takiego jak informacja wzajemna lub dywergencja Kullbacka Leiblera

Informacja wzajemna i dywergencja Kullbacka Leiblera Informacja wzajemna (ang. Mutual Information) Dla zmiennych o rozkładach dyskretnych p(x) i q(x) Dla zmiennych ciągłych o rozkładach p(x) i q(x) Dywergencja Kullbacka Leiblera (ang. Kullback Leibler divergence) Dla zmiennych o rozkładach dyskretnych p(x) i q(x) Dla zmiennych ciągłych o rozkładach p(x) i q(x)

Metody opakowane Metody opakowane to grupa metod w której występuje sprzężenie zwrotne pomiędzy elementem decyzyjnym (np.. Siecią neuronową) a algorytmem selekcji cech. Dzięki temu podzbiór cech optymalizowany jest pod kątem konkretnego klasyfikatora

Metody filtrów Zalety Uniwersalność uzyskany podzbiór cech jest niezależny od klasyfikatora, dzięki czemu teoretycznie możemy użyć dowolny klasyfikator W problemach medycznych jak analiza DNA zależy nam na znalezieniu genów odpowiedzialnych za pewne cechy, nie chcemy by wynik był zależny od użytej sieci neuronowej Szybkość jesteśmy niezależni od metody klasyfikacyjnej dzięki czemu złożoność obliczeniowa nie wpływa na szybkość i wydajność tego algorytmu Uniwersalność - algorytm tego typu może być wykorzystany do każdego problemu klasyfikacyjnego Wady Konieczność estymacji wielowymiarowych rozkładów prawdopodobieństwa

Metody opakowane Zalety Wybrany podzbiór cech jest dostosowany do wymagań lub charakteru algorytmu decyzyjnego (sieci neuronowej itp) Większa dokładność niż metod filtrów Uniwersalność - algorytm tego typu może być wykorzystany do każdego problemu klasyfikacyjnego Wady Często większa złożoność obliczeniowa

Kombinacje filtrów i metod opakowanych Wykorzystuje się algorytm filtrów do selekcji cech, jednakże parametry filtru dostraja się na podstawie metody opakowującej. Właściwości Szybkość Często większa dokładność niż metod filtrów, lecz mniejsza niż metod opakowanych Uniwersalność - algorytm tego typu może być wykorzystany do każdego problemu klasyfikacyjnego

Metody wbudowane Metody wbudowane to taka grupa algorytmów które wykorzystują pewne cechy algorytmów uczenia dokonując automatycznej selekcji cech na etapie uczenia sieci neuronowej lub innego algorytmu decyzyjnego Właściwości Szybkość selekcja cech realizowana jest podczas procesu uczenia dzięki czemu nie musimy dokonywać żadnych dodatkowych obliczeń Dokładność metody te są zaprojektowane pod kątem konkretnego algorytmu Brak uniwersalności metody te można wykorzystywać jedynie dla danego algorytmu

Algorytmy przeszukiwania

Selekcja w przód Startuje z pustego zbioru cech i stopniowo zwiększ jego rozmiar aż do osiągnięcia maksimum funkcji oceniającej (np.. MI lub max. dokładność sieci neuronowej) Złożoność obliczeniowa: n 2

Selekcja w tył Startuje z pełnego zbioru cech i stopniowo usuwa z niego najmniej użyteczne cechy aż do osiągnięcia maksimum funkcji oceniającej (np.. MI lub max. dokładność sieci neuronowej) Złożoność obliczeniowa: n 2

Inne Selekcja z wykorzystaniem algorytmów genetycznych Selekcja typu i w przód j w tył i odwrotna Dadajemy algorytmem selekcji w przód i nowych cech po czym z rezultatu usówamy j najmniej użytecznych. Warunek i>j Z całego podzbioru usuwamy i najmniej istotnych cech, po czym dodajemy j nowych. Warunek i>j

Metody rankingowe

Metody rankingowe Metody rankingowe są bardzo wydajnymi (szybkimi) metodami selekcji cech Stosowane są jako filtry wówczas należy podać liczbę wybranych cech jako wejście algorytmu Stosowane jako frappers (kombinacja metod filtrów i opakowanych) wówczas liczba wybranych cech optymalizowana jest przez algorytm decyzyjny (np.. Sieć neuronową) Wady brak stabilności

Metody rankingowe - algorytm

Współczynniki rankingowe Znormalizowany zysk informacji (ang. Normalized information gain) lub asymetryczny współczynnik zależności (ang. asymmetric dependency coecient, ADC) znormalizowany względny zysk informacyjny (ang. normalized gain ratio) kryterium DML Gdzie: H(c) entropia klasy H(f) entropia cechy MI(c,f) informacja wzajemna Pomiędzy cechą i klasą

Dziękuję za uwagę