algorytmy uczenia maszynowego - pjuszczuk.pl · podstawowe definicje uczenie się - definicja...
TRANSCRIPT
Algorytmy uczenia maszynowego
dr Przemysław Juszczuk
Instytut Informatyki Uniwersytetu Śląskiego
Wykład 1
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Algorytmy uczenia maszynowego
wykład 10 godzin (stary tryb - 20 godzin);laborki 20 godzin;
Tematyka - laborki
Szczegółowe przygotowanie studentów do rozwiązywania zadań zewskazaniem na metodologię postępowania, wskazaniem kolejnościwykonywanych czynności. Projektowanie algorytmów i ich implementacjakomputerowa. Analizowanie treści zgodne z zakresem przedstawionym nawykładach.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Laborki
sprawozdanie grupowe - Poprawne wykonanie zadanego projektu–zgodnie z wiedzą teoretyczną i sztuką programowania; konieczne jestdostarczenie kompletnego projektu wraz z analizą procesu uczenia.prace kontrolne - Sprawdzian przeprowadzany jest w formie pisemnejlub przy komputerze. Czas trwania sprawdzianu: 15-45 minut wzależności od liczby i poziomu trudności zadań. Sprawdzianprzeprowadzany jest przez prowadzącego w trakcie jednostekkontaktowych.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Wykład
Oceniane są poszczególne zadania do wykonania w ramachegzaminu, ocena końcowa za pracę jest średnią arytmetyczną ocenza poszczególne zadania.Alternatywnym rozwiązaniem jest rozwiązanie przez studentów testuzawierającego pytania z zakresu obowiązującego materiału. Testzawiera około 25 pytań (po ok. 4-5 pytań z każdego działu). Zakażde pytanie student otrzymuje 1 punkt.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
1 Uczenie maszynowe
2 Uczenie się w sztucznej inteligencji
3 Problem dyskretyzacji danych
4 Metody reprezentacji wiedzy
5 Sieci Bayesa
6 Drzewa decyzyjne
7 Sieci neuronowe
8 Algorytmy ewolucyjne
9 Uczenie nadzorowane i nienadzorowane
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Podstawowe definicje
Uczenie się - definicja
Uczeniem się systemu jest każda autonomiczna zmiana w systemiezachodząca na podstawie doświadczeń, która prowadzi do poprawy jegodziałania.
Wynik uczenia się
W wyniku procesu uczenia się możliwe jest uzyskanie wiedzy orazumiejętności. Różnica pomiędzy widzą a umiejętnościami jest dośćpłynna, przy czym w sytuacji, kiedy konieczne jest wykonanie pewnegookreślonego szeregu czynności najczęściej używa się słowa ”umiejętność”.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Rysunek: Uczenie na przykładzie algorytmu
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Przykłady uczenia się
gra w grę - uczenie na podstawie wcześniej rozegranych partii -modyfikacja pewnej funkcji oceniającej;diagnostyka medyczna - uczenie na podstawie poszerzenia zestawudostępnych danych;klasyfikacja - problem klasyfikacji obiektów pojawiających się wsystemie;kierowanie pojazdem.
Motywacja uczenia się
złożone problemy, dla których konieczne może okazać się podejścieniedeterministyczne;dążenie do maksymalnej autonomiczności ze strony systemów;analiza, klasyfikacja i odkrywanie zależności w złożonych zbiorachdanych.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Rodzaje systemów uczących się
metoda reprezentacji wiedzy - wybór wewnętrznej reprezentacjidanego problemu z uwzględnieniem dziedziny zastosowania systemu,możliwości wykorzystania wiedzy środowiskowej, prostotyprzekształcenia;sposób używania wiedzy/umiejętności - powiązany z reprezentacjąwiedzy oraz celem, jakiemu ma służyć - np. klasyfikacja lubaproksymacja;źródło i postać informacji trenującej - uczenie nadzorowane oraznienadzorowane (gdzie w pierwszym przypadku dostępna jestinformacja wyjściowa odpowiadająca zestawowi zmiennychwejściowych, natomiast w drugim przypadku uczenie możliwe jesttylko na podstawie pewnego zestawu wektorów wejściowych);mechanizm nabywania wiedzy/umiejętności- wyznaczany najczęściejprzez zastosowaną metodę reprezentacji wiedzy - np. indukcja, czyliuogólnianie zdobywanej wiedzy.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Dziedziny pokrewne
teoria prawdopodobieństwa;teoria informacji;logika formalna;statystyka;teoria sterowania;psychologia;neurofizjologia.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Sztuczna inteligencja - SI
system, który myśli jak człowiek;system, który myśli racjonalnie;
Test Turinga
Udział bierze dwóch graczy: sędzia (C) i poddawany testowi (A);Gracze nie kontaktują się w ze sobą inaczej niż przy pomocyklawiatury;Pytania zadaje sędzia, a gracz A odpowiada na nie;Gracz C nie powinien byc ekspertem w dziedzinie komputerów;Test ma charakter statyczny i powinien byc powtarzany kilkukrotnie.Sędzia powinien oceniać kilka razy, a w rolę gracza A czasamipowinien wcielić się człowiek.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Główne działy sztucznej inteligencji
automatyczne wnioskowanie (systemy ekspertowe oraz automatycznedowodzenie twierdzeń);przeszukiwanie - zadanie przeszukiwania dużej przestrzeni rozwiązań;planowanie - znalezienie planu rozwiązania w sposób bardziejefektywny, niż poprzez przeszukiwanie;uczenie się - zachowanie racjonalne systemu oraz dążenie doposzerzania zakresu wiedzy/umiejętności (uczenie się, jakownioskowanie).
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Wnioskowanie
Wnioskowanie w przód : wnioskowanie od faktów do celu(wnioskowanie sterowane danymi).Wnioskowanie w tył : wnioskowanie od celu do faktów(wnioskowanie sterowane celem).Wnioskowanie mieszane : cechy wnioskowania w tył i w przód. Np.podział bazy wiedzy na dwie części dla wnioskowania w przód orazw tył.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Przykład wnioskowania
Dana jest baza wiedzy :R1: jeżeli „a” i „b” i „c” to „d”R2: jezeli „a” i „b” to „g”R3: jeżeli „b” i „c” to „e”R4: jeżeli „a” i „c” to „f”R5: jeżeli „e” i „b” i „c” to „f”
Dane są fakty : „a”, „b”, „c”. Celem wnioskowania jest „f”.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Przekształcenia wiedzy
generalizacja/specjalizacja;abstrakcja/konkretyzacja;podobieństwo/kontrastowanie;wyjaśnianie/predykcja.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Preprocessing danych
Przetwarzanie wstępne (ang. preprocessing) polega naprzekształceniu danych doprowadzonych do wejścia systemu doformatu akceptowanego przez moduł wnioskowania.
Przetwarzanie końcowe (ang. postprocessing) służy do konwersjidanych wyjściowych z tego modułu do postaci zgodnej z wymogamiukładów zewnętrznych.
Procedura fuzyfikacji (z ang. fuzzification), polega na transformacjiwartości z dziedziny liczb rzeczywistych na wartości z dziedzinyzbiorów rozmytych. W tym celu dokonuje się wyznaczenia wartościfunkcji przynależności dla kolejnych zmiennych lingwistycznych i dladanej rzeczywistej wartości wejściowej.
Defuzyfikacja (ang. defuzzification), zwana również wyostrzaniem,jest przekształceniem odwrotnym do rozmywania, czylitransformacją informacji zawartej w zbiorze rozmytym do postacipojedynczej wartości (crisp value)
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Usuwanie danych odstających. Gdzie pewna wartość ze zbioru danychwejściowych znacznie odstaje od pozostałych. Może się tak zdarzyć naprzykład na skutek błędnie odczytanych wejściowych, przekłamania wzapisie itp.
Rysunek: Dane odstające na wykresie
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Rysunek: Wartości obserwacji w tabeli
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Skalowanie danych
Dane wejściowe należą do przedziału < xmin : xmax >Dane wyjściowe należą do przedziału < ymin : ymax >
y = ymin + (x−xmin)·(ymax−ymin)xmax−xmin
Sieci neuronowe < −1, 1 >Rozmyte sieci kognitywne < 0, 1 >
Normalizacja danych
Normalizacja danych do przedziału < 0 : 1 >y = x/xmax
W przypadku danych ujemnych : przedział < −xmin, xmax > na< 0, ymax >
Dyskretyzacja danych wejściowych
podział zbioru początkowego na n równych części.podział zbioru w zależności od częstości występowania obiektów.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Pozyskiwanie wiedzy
Pozyskiwanie wiedzy
Ekspert sam przedstawia wiedzę w postaci reguł (łańcuchprzyczynowo-skutkowy):„Jeśli coś to wtedy...”Zaletą jest czytelność. Liczne wady : czas potrzebny do przekazaniawiedzy, konieczność usystematyzowania wiedzy przez eksperta.Ekspert określa prawdopodobieństwo wpływu poszczególnych cechna daną sytuację. Np. Lekarz określający prawdopodobieństwowystąpienia danego objawu. Zdecydowaną wadą takiego podejściajest błędne szacowanie prawdopodobieństwa + różni eksperci mogąróżnie interpretować pewne fakty.Budowa bazy wiedzy opartej na przykładach. Nie zawsze jednak dladanego problemu istnieje wystarczająca liczba opisanych przypadków.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Problem pozyskiwania wiedzy
Duża liczba ekspertów. Metody wykorzystujące n ekspertów.
Mini metoda delficka
uczestnik niezależnie od innych opracowuje swoją ocenę,przedstawienie wszystkich ocen na forum (anonimowo),dyskusja nad rozbieżnościami,każdy ekspert weryfikuje swoją ocenę,mediana ostatnich wyników przyjmowana jako wynik końcowy.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Reprezentacje wiedzy
Reprezentacje wiedzy
Regułowe bazy wiedzy - wiedza zapisana w postaci reguł :if obiekt = wartość then regułaTablice decyzyjne - odpowiadają regułom. Zapis w tablicy, gdziejeden wiersz odpowiada jednej regule. Zawiera atrybuty warunkoweoraz atrybut/atrybuty decyzyjne.Język perceptów - (SKRZYDA : SAMOLOT : X ,MA)Język predykatów - Wyższy(Paweł, Piotr)wiedza niepewna (zbiory przybliżone, sieci Bayesa).
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Tablice decyzyjne
Definicje
Tablicowe przedstawienie wiedzy KRS - Knowledge RepresentationSystem.Tablica decyzyjna jest modyfikacją KRS.Definicja bazy wiedzy:
K = (U,R),U - skończony zbiór obiektów zwany uniwersum,
R = {R1,R2, ...,Rn} - zbiór relacji równoważnościowych nad UKRS to skończona tablica, w której rzędy są etykietowane przezobiekty a kolumny przez atrybutyna przecięciu wiersza i kolumny znajduje się wartość atrybutudanego obiektu.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Predykaty
Skrócona metoda zero-jedynkowa
Tabela: Skrócona zero-jedynkowa
(p ∧ q) → (q ∧ p)1
1 1 11 1 1 1 11 1 1 1 1 11 1 1 1 1 1 1
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Metoda założeniowa
Reguła Odrywania (RO) : (a→ b) ∧ a→ bReguła dołączania koniunkcji (DK) : (a) ∧ (b)→ (a ∧ b)Reguła opuszczania koniunkcji (OK) : (a ∧ b)→ aReguła opuszczania koniunkcji II(OK) : (a ∧ b)→ bReguła dołączania alternatywy (DA) : p → (p ∨ q)Reguła dołączania alternatywy II (DA) : q → (p ∨ q)Reguła opuszczania alternatywy (OA) : ((p ∨ q) ∧ ¬p)→ qReguła opuszczania alternatywy (OA) : ((p ∨ q) ∧ ¬q)→ pReguła dołączania równoważności (DE) :((p → q) ∧ (q → p))→ (p ↔ q)Reguła opuszczania równoważności (OE) : (p ↔ q)→ (p → q)Reguła opuszczania równoważności II (OE) : (p ↔ q)→ (q → p)
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Kwantyfikatory
Kwantyfikatorem ogólnym nazywamy wyrażenia „dla każdego”.Wyrażenie z kwantyfikatorem:
kwantyfikatora;zmiennej;wyrażenie zdaniowego.
Zmienna, do której odnosi sią kwantyfikator, nazywamy zmiennąwiązaną.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Przekształcanie tekstu - prawo rozdzielności kwantyfikatorów∧x(α(x)→ β(x))→ (
∧x α(x)→
∧x β(x))
Przyjmujjąc:x - budynek.α(x) - budynek zbudowany z cegły.β(x) - budynek jest trwalszy niż budynek zbudowany z drewna.
Jeżli każdy dom zbudowany z cegły jest trwalszy od budynkuzbudowanego z drewna (założenie)To każdy dom zbudowany z cegły jest trwalszy od każdego domuzbudowanego z drewna (teza).
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Sieci Bayesa
Przykład
Miażdżyca powoduje często zwężenie tętnic wieńcowych. Prowadzi tozazwyczaj do zmniejszenia przepływu krwi w tych naczyniach, co możewywołać niedotlenienie mięśnia sercowego, zwłaszcza przy wysiłkufizycznym.—————————————–
Które fragmenty wskazują na niepewność wnioskowania?Jak przekształcić powyższy tekst w taki sposób, aby można było doniego zastosować jedną z poznanych dotychczas reprezentacji wiedzy.Czy do tak przekształconego tekstu można zadać pytania:
jaki ma wpływ wysiłek fizyczny na niedotlenienie mięśnia sercowegou ludzi z jednakowo posuniętą miażdżycą, wykonujących wysiłekfizyczny o różnym natężeniu?w jakim stopniu człowiek, u którego nie występuje niedotlenienie zpowodu wysiłku, narażony jest na zwężenie tętnic z powodumiażdżycy?
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Definicje
Podejście probabilistyczne:Mająć dany zbiór hipotez:
H = {h1, ..., hn}dla których:
P(hi ) > 0 dla każdego iMając zbiór pewnych obserwacji:
E = {e1, ..., em}każdy fragment obserwacji ej jest niezależny warunkowo względem każdejhipotezy.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Rysunek: Przesłanka a hipoteza
Obserwacja e oraz hipoteza h są reprezentowane przez wierzchołki grafu,natomiast natomiast wnioskowanie przez krawędź. Rozpatrywana regułamoże być rozpatrywana w modelu Bayesa następująco:
P(h|e) = P(e|h)·P(h)P(e)
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Rysunek: Sieć wnioskowania
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Sieć Bayesa
B = {N,E ,CP}gdzie dwójka {N, E} jest skierowanym grafem acyklicznym zbudowanymna podstawie zadanych prawdopodobieństw warunkowych zawartych wzbiorze CP. Przykład:Dany jest zbiór pewnych zmiennych identyfikujących obserwacje ihipotezy. P Niech zbiór tych zmiennych ma następującą postać:
Z = A,B,C ,D,E ,F ,G ,HDane są również informacje opisujące związki przyczynowo-skutkowepomiędzy tymi zmiennymi w postaci zbiory prawdopodobieństwwarunkowych CP:
CP ={P(A),P(B|A),P(C |B),P(C |F ),P(D|C ),P(E |CH),P(F |G ),P(G ),P(H|G )}
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Rysunek: Wynikowa sieć Bayesa
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Współczynniki pewności
CF
Współczynniki pewności CF:Jeżeli e(&e2&...&en) To h ze stopniem pewności CF
gdzie:e(, e2, ..., en) to przesłanki reguły a h to konkluzja, & to operator
logiczny And.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Współczynnik CF
CF nie jest interpretowany jako klasyczne prawdopodobieństwoWspółczynnik pewności CF jest połączeniem stopnia wiedzy, orazniewiedzy.Stopień wiedzy - inaczej miara wiarygodności - MB.Stopień niewiedzy - miara niewiarygodności - MD.
Załóżmy istnienie prostej reguły:Jeżeli e to h
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Współczynniki CF
Współczynniki dla powyższej reguły określone są następująco:MB(h,e)MD(h,e)CF(h,e)
Sam współczynnik CF definiowany jest jako:CF (h, e) = MB(h, e)−MD(h, e)
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Miary CF
Interpretacja powyższych miar może być następująca:jeżeli P(h|e) = 1 to h jest prawdziwe na pewno, wtedyMB(h, e) = 1,MD(h, e) = 0, oraz CF (h, e) = 1,jeżeli P( h|e) = 1 to h jest fałszywe na pewno, wtedyMB(h, e) = 0,MD(h, e) = 1, oraz CF (h, e) = −1,jeżeli P(h|e) = P(h) to h co znaczy, że h i e są niezależne, wtedyMB(h, e) = 0, oraz MD(h, e) = 0,CF (h, e) = 0.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Rysunek: Wartości CF
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Propagacja współczynników niepewności
Mając daną regułę R:Jeżeli e to h ze stopniem pewności CF
przesłanka reguły e ma pewien współczynnik CFkonkluzja reguły h również ma współczynnik CF
Końcowy współczynnik pewności wyznaczany jest w następujący sposób:CF (h, e) = CF (e)·CF (h)
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Współczynniki pewności
W przypadku gdy przesłanka reguły zawiera wyrażenie zawierająceoperator AND (&) :
Jeżeli e1&e2 to h ze stopniem pewności CFto współczynnik pewności konkluzji h wyznaczany jest wnastępujący sposób:
CF (h, e1&e2) = Minimum {CF (e1),CF (e2)}·CF (h)W przypadku gdy przesłanka reguły zawiera wyrażenie zawierajacefunktor OR (|) :
Jeżeli e1|e2 to h ze stopniem pewności CFto współczynnik pewności konkluzji h wyznaczany jest wnastępujący sposób:
CF (h, e1|e2) = Maksimum {CF (e1),CF (e2)}·CF (h)
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
W przypadku, gdy jedna hipoteza h jest konkluzją więcej niż jednejreguły:
Jeżeli e1 to h
Jeżeli e2 to h
Rysunek: Obliczanie CF
Rysunek: Obliczanie CF
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Połączenie szeregowe reguł:
Jeżeli e1 to e2
Jeżeli e2 to h
Rysunek: Szeregowe połączenie reguł CF (h, e1) = CF (e2, e1)·CF (h, e2)
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Rysunek: Propagacja CF
CF (e4, e1) = CF (e2, e1)·CF (e4, e2)
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Rysunek: Propagacja CF
CF (e4, e1, e3) = CF (e4,e1)+CF (e4,e3)1−min(|CF (e4,e1)|,|CF (e4,e3)|)|
CF (e4, e1, e3) = 0.251−0.2 = 0.25
0.8 = 0.3125
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Rysunek: Propagacja CF
CF (h, e4) = CF (e4, e1e3)·CF (h, e1e3)
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Rysunek: Propagacja CF
CF (h, e1e3, e5) = CF (h, e1e3) + CF (h, e5)− CF (h, e1e3)·CF (h, e5)
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Rysunek: Propagacja CF
CF (h, e1e3e5) = 0.5937
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Definicja
Sieć składająca się z następujących elementów:zbiór obiektów {oj} = Ozbiór cech {cj} = Czbiór wartości {vj} = V
Elementami zbioru obiektów moga byc symbole oznaczajace konkrety lubabstrakcje, np:samochód - to symbol abstrakcji, zas Fiat 126 p KAE 0321- to symbol konkretu.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Relacje
OxO relacja miedzy obiektami, relacja okreslona na zbiorzeobiektów.
ISA - relacja typu „cześć- całość” (nadrzędność)ISPART - relacja podrzędności, czyli „(coś) jest cześcią (czegoś)”
Relacje te są przechodnie.OxC - relacja przysługiwania obiektom pewnych cech - „posiadacechę”.VxC - relacja postaci „ jest wartością cechy”.VxV - relacja uporządkowania elementów zbioru wartości cech, np.:relacja typu: „(coś) poprzedza (coś)”, lub „(coś) następuje po(czymś)”.OxV - relacja typu „posiada wartość cechy”, czyli przypisaniaobiektom wartości cechy. Czasem relacja ta jest tworzona przezzłączenie relacji OxC oraz VxC .
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Rysunek: Sieć semantyczna - przykład
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Rysunek: Budowanie sieci semantycznej - przykład
Rysunek: Budowanie sieci semantycznej - przykład
Możliwe jest następujące wnioskowanie:
Jaś jest kosem,
kos jest ptakiem,
Jaś jest ptakiem.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Rysunek: Sieć semantyczna - błąd wnioskowania
Ale: „uczeni badaja Jasia”, co może ale nie musi być prawdą.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Rysunek: Sieć semantyczna - system informacyjny
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Rysunek: Sieć semantyczna - zapytanie
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Zastosowanie sieci semantycznych
projektowanie systemów informacyjnych (baz danych);rozumienie języka naturalnego;rozpoznawanie mowy;budowania systemów odpowiadajacych na pytania
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Przykład 1
Komputer jest opisywany przez nastepujace parametry:procesor;pamięć RAM;karta grafiki;dysk twardy.
Przedstaw sieć semantyczną opisującą powyższe zależności. Jakoprzykład przyjmij komputer: procesor Pentium I, pamieć RAM 32 MB,karta grafiki S3 Trio, dysk HDD 4GB.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Rysunek: Rozwiązanie
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Percepty
Percept jest parą (pa, val), której pierwszy element pa jest parametremperceptu charakteryzującym pewne istnienie e z wartością val będącądrugim elementem perceptu:
(e, (pa, val)) ∈ per
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Elementy perceptu:
Rysunek: Percepty
Parametr bez wartości, to parametr bezkontekstowy:
Rysunek: Percepty
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Przykłady:
(CIŚNIENIE : PARA : KOCIOŁ, K1): ciśnienie pary w kotle K1
(KOLOR : KOCIOL : K1, CZERWONY)
(KSZTALT : KOCIOL : K1,WALEC)
(SKRZYDLA : SAMOLOT : X,MA)
(Informatyk : Osoba : Jan, TAK)
(SKRZYDLA : OBIEKT : X,MA) → (LATA : OBIEKT : X, TAK)
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
System perceptowy:
Systemem perceptowym w uniwersum U nazywamy trójkę:S = (U,FS ,GS)
składającą się z uniwersum U,
skończonego zbioru FS U-zdań wyrażających fakty o konkretachparametrów PAR
skończonego zbioru GS U-zdań wyrażających cele (pytania)dotyczące konkretów parametrów PAR.
U-zdania wyrażające fakty nazywamy U-faktami, a Uformułyopisujące cele — U-celami.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Przykład:
(D1) Pies AS szczeka.
(D2) Zwierzę Mruczek miauczy.
(R1) Jeśli pies merda ogonem, to jest przyjazny.
(R2) Jeśli pies szczeka na kota, to kot obawia się psa.
(R3) Pies jest zwierzęciem. ( Jeżeli pies to zwierzę. )
(R4) Jeśli zwierzę miauczy, to jest kotem.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Wnioskowanie, dowodzenie:Dwie główne reguły dowodzenia:
reguła odrywania : (DR1)A,A⇒BB
reguła uogólnienia: (DR2)∀xA(x)A(x)
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Wnioskowanie w tył:Dane są reguły:
Drogie uniwersalne komputery, zamknięte w dużej obudowie posia-dają procesor PII.
(cena:komputer:x1,drogi) ∧ (cecha:komputer:x1,uniwersalny) ∧(obudowa:komputer:x1,duża) → (procesor:komputer:x1,PII)
Szybkie komputery przeznaczone do gier są drogie.
(prędkość:komputer:x1,szybki) ∧ (przeznaczenie:komputer:x1,gry) →(cena:komputer:x1,drogi)
Komputery wyposażone w dużą pamięć operacyjną są uniwersalne.
(pamięć:komputer:x1,dużo) → (cecha:komputer:x1,uniwersalny)
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Jeżeli komputer nie ma nagrywarki CD, to jest dostosowany do gier.
(nagrywarka:komputer:x1,nie) → (przeznaczenie:komputer:x1,gry)
Komputery wyposażone w nagrywarki są drogie.
(nagrywarka:komputer:x1,tak) → (cena:komputer:x1,drogi)
Fakty: Mój komputer ma dużą obudowę, jest szybki i wyposażony wnagry- warki, a przy tym ma dużą pamięć opracyjną.
(obudowa:komputer:mój,duża)
(prędkość:komputer:mój,szybki)
(nagrywarka:komputer:mój,tak)
(pamięć:komputer:mój,dużo)
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Sieci kognitywne
Dane temporalne - definicja
Niech T = t0, t1, ..., tn - ciąg etykiet czasu;∀i ∈ T , ti − ti−1 = ∆ti = 1;
Dane temporalne - przykład
t1 : a1 = 0.3; a2 = 0.6; a3 = 0.1;t2 : a1 = 0.6; a2 = 0.2; a3 = 0.5;tn : a1 = 0.3; a2 = 0.3; a3 = 0.6;
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Czym jest sieć kognitywna?
Jedna z metod reprezentacji wiedzy wykorzystywanych w systemachwspomagania decyzji.Zainspirowane biologią i psychologią.Korzystają z takich elementów jak : pojęcie, relacja przyczynowa.Mają formę grafu.Przy pomocy sieci kognitywnej zaprojektować można pewien procesdecyzyjny, lub środowisko.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Sieć kognitywna
FCM = 〈C ,A,W 〉 (1)
gdzie: C jest skończonym zbiorem pojęć, A to zbiór aktywacji pojęć(ai ∈ [0, 1]), W zbiór wartości wag wij ∈ [−1, 1].
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Rysunek: Sieć kognitywna
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Rysunek: a - reprezentacja grafowa; b - reprezentacja macierzowa
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Rozmycie sieci
Podstawowa wersja sieci kognitywnej zakłada dwa stany : dodatniwpływ, oraz ujemny wpływ pojęć na siebie.FCM pozwala na określenie częściowego ujemnego, lub dodatniegowpływu.Rozmycie określane jest na podstawie pewnych ustalonychpoziomów.
Rozmycie
bardzo słaby 0− 0.2słaby 0.2− 0.4średni 0.4− 0.6silny 0.6− 0.8bardzo silny 0.8− 1.0
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Więcej o macierzach
Macierz nie jest częścią sieci kognitywnej, tylko jej strukturąpomocniczą.Macierz wskazuje zależności pomiędzy pojęciami.Macierz jest strukturą kwadratową, gdzie liczba wierszy i kolumnrówna jest liczbie pojęć.Każda komórka macierzy to jedno połączenie pomiędzy pojęciami.W przypadku braku zależności pomiędzy pojęciami, w danej komórceznajduje się 0.Wartość w komórce macierzy określa siłę wpływu (wagę) jednegopojęcia na inne.Wagi znajdują się w przedziale [−1, 1], gdzie -1 określa wpływujemny, natomiast 1 dodatni.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Uczenie sieci - problem
Dane historyczne dla pojęć,Brak informacji na temat zależności pomiędzy pojęciami,Brak informacji na temat wag sieci,
Zadanie
Wykrycie zależności pomiędzy pojęciami,Wykrycie wartości wag pomiędzy pojęciami.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Uczenie sieci - problem
Dane historyczne dla pojęć,Brak informacji na temat zależności pomiędzy pojęciami,Brak informacji na temat wag sieci,
Zadanie
Wykrycie zależności pomiędzy pojęciami,Wykrycie wartości wag pomiędzy pojęciami.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Uczenie sieci - problem II
Potrzebny jest algorytm, który w sposób automatyczny potrafi:Określić zbiór pojęć danej sieci,Znaleźć zależności pomiędzy nimi,Obliczyć wpływ poszczególnych pojęć na siebie.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Uczenie sieci
Znane są dwie główne metody uczenia rozmytych sieci kognitywnych:Uczenie z wykorzystaniem wiedzy eksperta z danej dziedziny.Automatyczne generowanie sieci z danych historycznych.
Metoda klasyczna
Pierwsza opisywana metoda opiera się na wykorzystaniu pomocyekspertów dziedzinowych. Zadaniem ekspertów jest:
Określenie kluczowych pojęć.Wskazanie relacji pomiędzy pojęciami.Ustalenie siły wpływu poszczególnych pojęć na siebie.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Wnioskowanie w FCM
Ci (t + 1) = γ(Σni=1wij ·Ci (t))
C1(t + 1) = 0.9· 0.9 + 0.8· 0.8C1 = 1.45, a wartość C musi należeć do przedziału [0, 1].
γ
γ pełni rolę funkcji normalizującej wartość pojęcia do przedziału [0, 1].
Coś o normalizacji
Wartość każdego pojęcia zmieniana jest tak, aby pasowała do przedziału[0, 1]. Dokonać można tego za pomocą specjalnej funkcji zwanej funkcjąsigmoidalną:
f (x) = 11+e−Cx
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Rysunek: Rozmyta sieć kognitywna
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
f =1
(te − 1) · n·
te∑t=ts
n∑i=1
|ai (t)− a′i (t)|p, (2)
where:
tl dolna granica okna czasowego oraz indeks początkowy seriidanych;
tu górna granica okna czasowego oraz indeks końcowy serii danych;
n = card(C ) liczba pojęć;
p parametr sterujący procesu uczenia p = 1,
an(t) obserwowana wartość i-tego pojęcia w chwili czasu t
a′n(t) obserwowana wartość wygenerowana przez FCM.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Rysunek: Atraktor chaotyczny
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Naiwny klasyfikator Bayesa
Rysunek: Klasyfikator Bayesa
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Jakie jest prawdopodobieństwo, że nowy obiekt będziezielony/czerwony?
Jaki będzie kolor nowego obiektu?
Obliczenie prawdopodobieństwa a priori: prawdopodobieństwo, któremożemy ustalić na podstawie obserwacji zbioru.prawd. a priori zielonego = l.zielonych
l.wszystkich
prawd. a priori czerwonego = l.czerwonychl.wszystkich
wszystkich obiektów = 60
obiektów zielonych = 40
obiektów czerwonych = 20
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Stąd :prawd. a priori zielonego = 40
60prawd. a priori czerwonego = 20
60
Rysunek: Klasyfikator Bayesa
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Następnym krokiem jest wybranie obiektów sąsiadujących z nowymobiektem - umiejscowienie nowego obiektu.
Obliczenie ile kulek czerwonych jest w sąsiedzywie nowego obiektu
Obliczenie ile kulek zielonych jest w sąsiedztwie nowego obiektu
Szansa, że X będzie zielone = l.zielonychwssiedztwieXcak.l.zielonych
Szansa, że X będzie czerwone = l.czerwonychwssiedztwieXcak.l.czerwonych
więc mamy:Szansa, że X będzie zielone = 1
40Szansa, że X będzie czerwone = 3
20
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Teraz możemy wyliczyć prawdopodobieństwa:X zielone = 4
6 ·140 = 1
60X czerwone − 26 ·
320 = 1
40X będzie czerwone, ponieważ ma większe prawdopodobieństwo.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Przykład: mamy zbiór danych treningowych złożony z 30 koni, 50 kotów i20 kur. Otrzymalismy zwierzę (obiekt testowy) czworonożne. Jak określićjego gatunek? Musimy wyliczyć prawdopodobieństwo warunkowe tego, żezwierzę jest koniem, o ile ma 4 nogi, i podobnie dla kota i kury. W tymzadaniu prawdopodobieństwa te możemy wyliczyć wprost, jakoodpowiednio 38 , 5/8 i 0 (gdyż 38 czworonogów jest końmi, 58 kotami i 0kurami). Wnioskujemy, że nieznane zwierzę jest raczej kotem.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Do jakiej klasy wyznaczone zostanie czarne kółko? (Rozpatrując różnesąsiedztwo).
Rysunek: Klasyfikator Bayesa
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Algorytm k-nn
Klasyfikacja obiektów w oparciu o najbliższe obiekty:Algorytm 1-NN - najbliższego sąsiada.
Parametr wejściowy, to zbiór obiektów, na podstawie których będzieprzebiegała klasyfikacja.
obiekt do zaklasyfikowania
Parametr wyjściowy to klasa decyzyjna, do której zaklasyfikowanyzostanie obiekt.
Schemat algorytmu:1 Poszukaj obiektu najbliższego w stosunku do obiektu
klasyfikowanego.
2 Określenie klasy decyzyjnej na podstawie obiektu najbliższego.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Algorytm k-NN - k najbliższych sąsiadów.Podobny do powyższego algorytmu
Bardziej odporny na szumy - w poprzednim algorytmie obiektnajbliższy klasyfikowanemu może być zniekształcony - tak samozostanie zaklasyfikowany nowy obiekt.
Konieczność ustalenia liczby najbliższych sąsiadów.
Wyznaczenie miary podobieństwa wsród obiektów (wiele miarpodobieństwa).
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Dobór parametru k - liczby sąsiadów:Jeśli k jest małe, algorytm nie jest odporny na szumy - jakośćklasyfikacji jest niska.
Jeśli k jest duże, czas działania algorytmu rośnie - większa złożonośćobliczeniowa.
Należy wybrać k, które daje najwyższą wartość klasyfikacji.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Wyznaczanie odległości obiektów:
odległość euklidesowa
odległość miejska
odległość taksówkowa
Manhattan
Pierwsza z nich wyraża się wzorem:
dij =√
Σpk=1(xik − xjk)2
Z kolei odległość miejska:
dij = Σpk=1|xik − xjk |
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Przykład:
Tabela: Tabela danych
X1 X2 Y5 5 +7 7 +5 3 +7 3 +3 3 +5 4 +5 2 +3 1 +7 5 +5 1 +
Tabela: Tabela danych
X1 X2 Y8 4 -4 6 -4 6 -
10 8 -10 6 -8 5 -7 4 -4 9 -5 5 -4 8 -9 10 -
10 7 -6 4 -4 10 -3 6 ?
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Obiekt klasyfikowany podany jako ostatni : X1 = 3, X2 = 6Teraz obliczmy odległości poszczególnych obiektów od wskazanego. Dlauproszczenia obliczeń posłużymy się wzorem:
dij = (X1i − X̂1)2 + (X2i − X̂2)2
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Przykład:
Tabela: Tabela danych
X1 X2 Y d5 5 + 267 7 + 405 3 + 177 3 + 23 3 + 135 4 + 455 2 + 83 1 + 587 5 + 175 1 + 18
Tabela: Tabela danych
X1 X2 Y d8 4 - 204 6 - 134 6 - 8
10 8 - 2910 6 - 108 5 - 57 4 - 174 9 - 25 5 - 264 8 - 109 10 - 0
10 7 - 56 4 - 404 10 - 363 6 ?
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Wybranie K= 9 najbliższych sąsiadów i określenie ich decyzji:
Tabela: Tabela danych
X1 X2 Y d znak5 5 + 267 7 + 405 3 + 177 3 + 2 +3 3 + 135 4 + 455 2 + 8 +3 1 + 587 5 + 175 1 + 18
Tabela: Tabela danych
X1 X2 Y d znak8 4 - 204 6 - 134 6 - 8 -
10 8 - 2910 6 - 10 -8 5 - 5 -7 4 - 174 9 - 2 -5 5 - 264 8 - 10 -9 10 - 0 -
10 7 - 5 -6 4 - 404 10 - 363 6 ?
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Ostatnim krokiem jest obliczenie liczby sąsiadujących obiektów w danychklasach decyzyjnych:
Obiekty w klasie dodatniej 2
Obiekty w klasie ujemnej 7
Klasyfikowany obiekt będzie najprawdopodobniej w klasie ujemnej.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Sieci neuronowe
Ogólne informacje
ogólna nazwa struktur matematycznych i ich programowych lubsprzętowych modeli, realizujących obliczenia lub przetwarzaniesygnałów poprzez rzędy elementów, zwanych sztucznymi neuronami;sztuczna sieć naśladująca biologiczne sieci neuronowe żywychorganizmów;graf skierowany z odpowiednio określoną rolą węzłów i krawędzi;Układ elementów przetwarzających, nazwanych neuronami, wktórych wyjścia każdego neuronu są połączone poprzez wagi zwejściami wszystkich neuronów, w tym także z jego własnymwejściem.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Cechy sieci neuronowych
uogólnienie posiadanej informacji na nowe przypadki;odporność na błędne, lub niepełne informacje;może być połączona z systemem ekspertowym w celu wskazaniamożliwego rozwiązania danego problem;ma możiwość aproksymacji funkcji;
Zastosowanie sieci neuronowych
prognozowanie zjawisk (dane pogodowe, dane giełdowe);rozpoznawanie języka, w jakim napisany jest tekst;przetwarzanie zeskanowanego obrazu na tekst;ma możiwość aproksymacji funkcji;
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Rysunek: Schemat neuronu
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Zasada działania neuronu
sygnały wejściowe zostają pomnożone przez odpowiadające im wagi;otrzymane wartości są sumowane;w wyniku powstaje sygnał s odzwierciedlający działanie częściliniowej neuronu (poddawany działaniu funkcji aktywacji - najczęściejnieliniowej);
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Rysunek: Model neuronu signoidalnego
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Rysunek: Funkcja aktywacji neuronu
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Rysunek: Sieć neuronowa jednowarstwowa
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Rysunek: Sieć neuronowa dwuwarstwowa
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Rysunek: Rodzaje sieci neuronowych
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Rysunek: Przykład działania prostej sieci
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Inne rodzaje sieci
Połączenia między neuronami stanowią graf z cyklami (obieg zamknięty)tzn. sygnały z warstwy wyjściowej sieci podawane są z powrotem dowarstwy wejściowej.
Sieć Hopfielda
Układ gęsto połączonych ze sobą neuronów (każdy z każdym, ale bezpołączeń zwrotnych)
Maszyna Boltzmanna
Opracowana przez Geoffa Hintona i Terry’ego Sejnowskiegostochastyczna modyfikacja sieci Hopfielda. Koncepcja takiej maszynyoparta jest na założeniu, że stan każdego neuronu może się zmieniać wsposób losowy z określonym prawdopodobieństwem (prawdopodobieństwoto zależy od energii i temperatury sieci).
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Sieć Adaline
Układ został zaproponowany w 1960 roku przez Widrowai Hoffa.Nazywany jest również adaptacyjnym liniowym sumatorem ważonym.Algorytm modyfikacji wag ma charakter uczenia pod nadzorem.Sygnał wyjściowy y sumatora porównywany jest z sygnałemwzorcowym d .
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Radialne sieci neuronowe
Zaproponowane w 1988 roku przez Broomhead’a i Lowe’a.W sieci takiej znajdują się neurony, których pobudzenie zależy ododległości sygnału wyjściowego od pewnego centrum.Dany neuron reaguje jedynie na bodźce podobne do pewnego z góryustalonego bodźca zapisanego w neuronie.
Uczenie sieci radialnej
Neurony warstwy ukrytej wzbudzane są za pomocą funkcji zależnej ododległości pomiędzy danym punktem x a pewnym centrum c , które jestjednym z parametrów neuronu ustalanym w procesie nauki.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Klasyfikacja sieci - sposób uczenia
uczenie bez nadzoru podczas treningu sieci nie jest podawaneprawidłowe rozwiązanie.uczenie z nadzorem właściwy rezultat jest znany i podany sieci,która zmieniając poszczególne wagi połączeń stara się otrzymaćwynik jak najbardziej podobny do podanego.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Procedura uczenia się
Zbiór T przykładów uczących czyli par (xi , di ), i = 1, . . . , nreprezentujących przybliżaną funkcję.Początkowe ustalenie wag neuronów.Podanie k par do sieci oraz obliczenie wartości błędu.Modyfikacja wag sieci tak, aby wartość błędu zostałazminimalizowana.
W powyższym przykładzie pojedyncza modyfikacja wag określana jestjako epoka, a liczba początkowych par to długość epoki.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Uczenie nadzorowane i nienadzorowane
Uczenie nadzorowane
Sieci podaje się przykłady poprawnego działania, które powinna onapotem naśladować.Mamy doczynienia z parą wartości- przykładowym sygnałemwejściowym i pożądanym (oczekiwanym) wyjściem.Zbiór przykładów zgromadzonych w celu ich wykorzystania wprocesie uczenia sieci nazywa się zwykle ciągiem uczącym.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Uczenie nienadzorowane
Nie jest wymagane zgromadzenie żadnej dodatkowej wiedzy.Na wejściu sieci pojawiają się przykłady sygnałów wejściowych, alewartość wyjściowa nie jest podawana.Sieć na podstawie danych musi wywnioskować sposób działania.Pomiędzy pojawiającymi się obiektami nie jest podawana żadnazależność.
dr Przemysław Juszczuk Algorytmy uczenia maszynowego
Dziękuję za uwagę
dr Przemysław Juszczuk Algorytmy uczenia maszynowego