114
Algorytmy uczenia maszynowego dr Przemyslaw Juszczuk Instytut Informatyki Uniwersytetu Śląskiego Wyklad 1 dr Przemyslaw Juszczuk Algorytmy uczenia maszynowego

Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

Embed Size (px)

Citation preview

Page 1: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

Algorytmy uczenia maszynowego

dr Przemysław Juszczuk

Instytut Informatyki Uniwersytetu Śląskiego

Wykład 1

dr Przemysław Juszczuk Algorytmy uczenia maszynowego

Page 2: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 3: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 4: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 5: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 6: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 7: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

Rysunek: Uczenie na przykładzie algorytmu

dr Przemysław Juszczuk Algorytmy uczenia maszynowego

Page 8: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 9: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 10: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

Dziedziny pokrewne

teoria prawdopodobieństwa;teoria informacji;logika formalna;statystyka;teoria sterowania;psychologia;neurofizjologia.

dr Przemysław Juszczuk Algorytmy uczenia maszynowego

Page 11: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 12: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 13: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 14: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 15: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

Przekształcenia wiedzy

generalizacja/specjalizacja;abstrakcja/konkretyzacja;podobieństwo/kontrastowanie;wyjaśnianie/predykcja.

dr Przemysław Juszczuk Algorytmy uczenia maszynowego

Page 16: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 17: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 18: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

Rysunek: Wartości obserwacji w tabeli

dr Przemysław Juszczuk Algorytmy uczenia maszynowego

Page 19: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 20: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 21: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 22: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 23: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 24: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 25: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 26: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 27: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 28: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 29: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 30: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 31: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

Rysunek: Sieć wnioskowania

dr Przemysław Juszczuk Algorytmy uczenia maszynowego

Page 32: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 33: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

Rysunek: Wynikowa sieć Bayesa

dr Przemysław Juszczuk Algorytmy uczenia maszynowego

Page 34: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 35: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 36: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 37: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 38: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

Rysunek: Wartości CF

dr Przemysław Juszczuk Algorytmy uczenia maszynowego

Page 39: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 40: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 41: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 42: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 43: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

Rysunek: Propagacja CF

CF (e4, e1) = CF (e2, e1)·CF (e4, e2)

dr Przemysław Juszczuk Algorytmy uczenia maszynowego

Page 44: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 45: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

Rysunek: Propagacja CF

CF (h, e4) = CF (e4, e1e3)·CF (h, e1e3)

dr Przemysław Juszczuk Algorytmy uczenia maszynowego

Page 46: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 47: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

Rysunek: Propagacja CF

CF (h, e1e3e5) = 0.5937

dr Przemysław Juszczuk Algorytmy uczenia maszynowego

Page 48: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 49: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 50: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

Rysunek: Sieć semantyczna - przykład

dr Przemysław Juszczuk Algorytmy uczenia maszynowego

Page 51: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 52: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 53: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

Rysunek: Sieć semantyczna - system informacyjny

dr Przemysław Juszczuk Algorytmy uczenia maszynowego

Page 54: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

Rysunek: Sieć semantyczna - zapytanie

dr Przemysław Juszczuk Algorytmy uczenia maszynowego

Page 55: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 56: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 57: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

Rysunek: Rozwiązanie

dr Przemysław Juszczuk Algorytmy uczenia maszynowego

Page 58: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 59: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

Elementy perceptu:

Rysunek: Percepty

Parametr bez wartości, to parametr bezkontekstowy:

Rysunek: Percepty

dr Przemysław Juszczuk Algorytmy uczenia maszynowego

Page 60: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 61: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 62: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 63: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 64: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 65: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 66: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 67: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 68: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 69: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

Rysunek: Sieć kognitywna

dr Przemysław Juszczuk Algorytmy uczenia maszynowego

Page 70: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

Rysunek: a - reprezentacja grafowa; b - reprezentacja macierzowa

dr Przemysław Juszczuk Algorytmy uczenia maszynowego

Page 71: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 72: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 73: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 74: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 75: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 76: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 77: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 78: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

Rysunek: Rozmyta sieć kognitywna

dr Przemysław Juszczuk Algorytmy uczenia maszynowego

Page 79: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 80: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

Rysunek: Atraktor chaotyczny

dr Przemysław Juszczuk Algorytmy uczenia maszynowego

Page 81: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

Naiwny klasyfikator Bayesa

Rysunek: Klasyfikator Bayesa

dr Przemysław Juszczuk Algorytmy uczenia maszynowego

Page 82: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 83: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

Stąd :prawd. a priori zielonego = 40

60prawd. a priori czerwonego = 20

60

Rysunek: Klasyfikator Bayesa

dr Przemysław Juszczuk Algorytmy uczenia maszynowego

Page 84: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 85: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 86: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 87: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

Do jakiej klasy wyznaczone zostanie czarne kółko? (Rozpatrując różnesąsiedztwo).

Rysunek: Klasyfikator Bayesa

dr Przemysław Juszczuk Algorytmy uczenia maszynowego

Page 88: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 89: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 90: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 91: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 92: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 93: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 94: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 95: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 96: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 97: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 98: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 99: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

Rysunek: Schemat neuronu

dr Przemysław Juszczuk Algorytmy uczenia maszynowego

Page 100: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 101: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

Rysunek: Model neuronu signoidalnego

dr Przemysław Juszczuk Algorytmy uczenia maszynowego

Page 102: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

Rysunek: Funkcja aktywacji neuronu

dr Przemysław Juszczuk Algorytmy uczenia maszynowego

Page 103: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

Rysunek: Sieć neuronowa jednowarstwowa

dr Przemysław Juszczuk Algorytmy uczenia maszynowego

Page 104: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

Rysunek: Sieć neuronowa dwuwarstwowa

dr Przemysław Juszczuk Algorytmy uczenia maszynowego

Page 105: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

Rysunek: Rodzaje sieci neuronowych

dr Przemysław Juszczuk Algorytmy uczenia maszynowego

Page 106: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

Rysunek: Przykład działania prostej sieci

dr Przemysław Juszczuk Algorytmy uczenia maszynowego

Page 107: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 108: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 109: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 110: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 111: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 112: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 113: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

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

Page 114: Algorytmy uczenia maszynowego - pjuszczuk.pl · Podstawowe definicje Uczenie się - definicja Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie

Dziękuję za uwagę

dr Przemysław Juszczuk Algorytmy uczenia maszynowego