METODY INŻYNIERII WIEDZY

Podobne dokumenty
METODY INŻYNIERII WIEDZY

METODY INŻYNIERII WIEDZY

Adrian Horzyk

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING. EKSPLORACJA DANYCH Ćwiczenia. Adrian Horzyk. Akademia Górniczo-Hutnicza

SZTUCZNA INTELIGENCJA

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

BAZY DANYCH. Microsoft Access NAWIGACJA, MENU I PARAMETRY WYSZUKIWANIA. Adrian Horzyk. Akademia Górniczo-Hutnicza

Agnieszka Nowak Brzezińska

BAZY DANYCH MAKRA I PRZYCISKI. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

BAZY DANYCH NORMALIZACJA BAZ DANYCH. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

TRANSFORMACJE I JAKOŚĆ DANYCH

Sztuczna inteligencja : Algorytm KNN

Zagadnienie klasyfikacji (dyskryminacji)

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

Agnieszka Nowak Brzezińska Wykład III

Iteracje. Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony.

Agnieszka Nowak Brzezińska Wykład III

PODSTAWY INFORMATYKI wykład 10.

WSTĘP DO INFORMATYKI. Struktury liniowe

Asocjacyjna reprezentacja danych i wnioskowanie

BAZY DANYCH NORMALIZACJA BAZ DANYCH. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

PODSTAWY INFORMATYKI wykład 5.

PROLOG WSTĘP DO INFORMATYKI. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.

SYSTEMY UCZĄCE SIĘ WYKŁAD 3. DRZEWA DECYZYJNE. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

Zadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for.

ALGORYTMY SZTUCZNEJ INTELIGENCJI

WIEDZA METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING. Adrian Horzyk. Akademia Górniczo-Hutnicza


Złożoność obliczeniowa zadania, zestaw 2

Adrian Horzyk

Metody Inżynierii Wiedzy

Hierarchiczna analiza skupień

Pzetestuj działanie pętli while i do...while na poniższym przykładzie:

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

Analiza algorytmów zadania podstawowe

Uczenie się pojedynczego neuronu. Jeśli zastosowana zostanie funkcja bipolarna s y: y=-1 gdy z<0 y=1 gdy z>=0. Wówczas: W 1 x 1 + w 2 x 2 + = 0

Co to jest grupowanie

Podstawy MATLABA, cd.

Zastosowanie stereowizji do śledzenia trajektorii obiektów w przestrzeni 3D

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 9 TECHNOLOGIE INFORMACYJNE

Systemy uczące się Lab 4

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

Prawdopodobieństwo czerwonych = = 0.33

Metoda list prostych Wykład II. Agnieszka Nowak - Brzezińska

Wstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami

Laboratorium nr 7 Sortowanie

Podstawy Programowania C++

Elementy modelowania matematycznego

Inteligentna analiza danych

INFORMATYKA Z MERMIDONEM. Programowanie. Moduł 5 / Notatki

Lab 9 Podstawy Programowania

BAZY DANYCH. Microsoft Access. Adrian Horzyk OPTYMALIZACJA BAZY DANYCH I TWORZENIE INDEKSÓW. Akademia Górniczo-Hutnicza

KLASYFIKACJA. Słownik języka polskiego

Zakładka Obmiar jest dostępna dla pozycji kosztorysowej w dolnym panelu. Służy do obliczania ilości robót (patrz też p ).

WSTĘP I TAKSONOMIA METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING. Adrian Horzyk. Akademia Górniczo-Hutnicza

Zapisywanie algorytmów w języku programowania

Klasyfikator. ˆp(k x) = 1 K. I(ρ(x,x i ) ρ(x,x (K) ))I(y i =k),k =1,...,L,

Egzamin, AISDI, I termin, 18 czerwca 2015 r.

Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie

BAZY DANYCH. Microsoft Access. Adrian Horzyk OPTYMALIZACJA BAZY DANYCH I TWORZENIE INDEKSÓW. Akademia Górniczo-Hutnicza

Algorytmy przeszukiwania wzorca

SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska

Naiwny klasyfikator Bayesa brał pod uwagę jedynie najbliższe otoczenie. Lecz czym jest otoczenie? Jak je zdefiniować?

Wstęp do programowania

Wymagania edukacyjne z informatyki w klasie VIII

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

Odwrotna Notacja Polska

1. Napisz program, który wyświetli Twoje dane jako napis Witaj, Imię Nazwisko. 2. Napisz program, który wyświetli wizytówkę postaci:

INFORMATYKA POZIOM ROZSZERZONY

Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A

Informatyka 1. Złożoność obliczeniowa

Algorytmy i struktury danych. Wykład 4

BAZY DANYCH. NIERELACYJNE BAZY DANYCH NoSQL I ASOCJACYJNE STRUKTURY DANYCH. Adrian Horzyk. Akademia Górniczo-Hutnicza

Wstęp do programowania

Ćwiczenie 1. Wprowadzenie do programu Octave

WHILE (wyrażenie) instrukcja;

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

Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Olimpiada O Diamentowy Indeks AGH 2017/18. Informatyka Etap III

Regresja liniowa, klasyfikacja metodą k-nn. Agnieszka Nowak Brzezińska

Wykład 6. Wyszukiwanie wzorca w tekście

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

WHILE (wyrażenie) instrukcja;

Ćwiczenie 1. Wprowadzenie do programu Octave

Język C część 2. Podejmowanie decyzji w programie. if else. switch

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

Algorytmy i struktury danych

Algorytmy klasteryzacji jako metoda dyskretyzacji w algorytmach eksploracji danych. Łukasz Przybyłek, Jakub Niwa Studenckie Koło Naukowe BRAINS

- - Ocena wykonaniu zad3. Brak zad3

1. Liczby wymierne. x dla x 0 (wartością bezwzględną liczby nieujemnej jest ta sama liczba)

Laboratorium nr 1. i 2.

Programowanie proceduralne INP001210WL rok akademicki 2017/18 semestr letni. Wykład 3. Karol Tarnowski A-1 p.

Lekcja 5: Sieć Kohonena i sieć ART

wagi cyfry pozycje

A. Arkusz standardowy GM-A1, B1, C1 oraz arkusze przystosowane: GM-A4, GM-A5, GM-A6 1.

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

Transkrypt:

METODY INŻYNIERII WIEDZY Metoda K Najbliższych Sąsiadów K-Nearest Neighbours (KNN) ĆWICZENIA Adrian Horzyk Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Katedra Automatyki i Inżynierii Biomedycznej Laboratorium Biocybernetyki 30-059 Kraków, al. Mickiewicza 30, paw. C3/205 horzyk@agh.edu.pl, Google: Adrian Horzyk

1. Wczytaj dane dla przykładowego zbioru uczącego zbiór Iris, umieszczając dane w tabeli lub 6 kolumnowej tablicy elementów typu float. Zbiór uczący składa się ze zbioru par <x i, y i >, gdzie x i jest zbiorem parametrów wektorów x i ={x i 1,,x i n} definiujących obiekty, y i jest indeksem lub nazwą klasy, do której obiekt x i należy i którą razem z innymi obiektami tej klasy definiuje. 2. Pierwsze cztery kolumny reprezentują atrybuty: długość i szerokość listka i płatka kwiatu, natomiast 5. kolumna służy do zapisu numeru klasy: 1 Iris-Setosa, 2 Iris-Versicolor, 3 Iris-Virginica. Ostatnia 6. kolumna służy do zapisu wyniku działania metody, czyli zapisania numeru klasy, do której metoda przypisała dany wzorzec. 3. W podstawowej wersji tej metody dla wybranego k tworzymy podstawową pętlę obliczeniową, w której obliczamy odległość Euklidesa klasyfikowanego wzorca x (zadanego w postaci wektora określonych cech) do wszystkich wzorców uczących. Celem przyspieszenia działania metody knn możemy pominąć obliczanie pierwiastka bo ci sami najbliżsi sąsiedzi zostaną wybrani dla sumy kwadratów jak dla odległości Euklidesa. 4. Celem jest określenie najlepszego k oraz procentu wzorców poprawnie sklasyfikowanych. 5. Należy zbudować pętlę obliczeniową, w której dla kolejnych wzorców szukamy k najbliższych sąsiadów do wybranego wzorca.

6. Korzystamy tutaj z pomocniczej tablicy rankingowej, w której trzymamy k-najbliższych sąsiadów (id w tablicy wzorców) zgodnie z odległością Euklidesa lub sumę kwadratów: 7. W pętli obliczeniowej przechodzimy po wszystkich wzorcach uczących, z którego każdy po kolei traktujemy jako testowy, wyznaczając dla niego najbliższych sąsiadów w tabeli rankingowej. Wobec tego w tej pętli jest kolejna pętla, w której przechodzimy po pozostałych 149 wzorcach, których odległość do badanego wzorca badany i spośród nich K najbliższych zapisujemy do tablicy rankingowej, podmieniając je w trakcie pętli na te najbliższe w zależności od obliczonej odległości Euklidesa. Jeśli odległość ta jest mniejsza niż najdalszego w tej tablicy, wtedy jego wyszukujemy pozycję w liście poprzez proste wstawianie lub wstawianie połówkowe, a następnie przesuwamy wzorce w liście rankingowej. Ostatni najdalszy wypada z listy. 8. Tworzymy sobie funkcję, która oblicza nam odległość Euklidesa dla dwóch wskazanych wzorców o indeksach i,j z tablicy, sumując kwadraty odjętych od siebie odpowiadających wartości dla poszczególnych atrybutów: Tworzymy pętlę for (j=0; j<4; j++) sumakwadratów += (T[k][j] T[l][j]) * (T[k][j] T[l][j]); odległosceuklidesa = Math.Sqrt((T[k][j] T[l][j]) * (T[k][j] T[l][j]));

9. Po obliczeniu odległości Euklidesa sprawdzamy, czy jest ona mniejsza od odległości dla ostatniego wzorca w tablicy rankingowej R. 10. Jeśli nie, to przechodzimy do następnego wzorca i obliczamy odległość Euklidesa dla niego. 11. Jeśli tak, to algorytmem sortowania przez proste wstawianie lub algorytmem sortowania przez wstawianie połówkowe (dla bardziej ambitnych), wyszukujemy indeks w tablicy rankingowej R, idąc np. od najbardziej oddalonego wzorca w górę tablicy tak długo dopóki następny wzorzec nie będzie miał odległości mniejszej niż ta obliczona obecnie lub nie dojdziemy do początku tablicy. 12. Po wyznaczeniu indeksu w tablicy rankingowej R, dokonujemy przesunięcia wzorców o dłuższych odległościach w dół, przy czym ostatni (o najdłuższej odległości) wypada z niej. W miejscu wyznaczonego indeksu wpisujemy nowe ID wzorca oraz jego odległość od badanego. 13. W taki sposób wyznaczamy tablicę rankingową dla K najbliższych sąsiadów. Ambitni mogą zamiast tablicy zbudować listę rankingową, która nie wymaga przesuwania elementów w tablicy, więc działa szybciej! 14. Po wyznaczeniu tablicy rankingowej i konkretnego K, które badamy, możemy przejść do głosowania K najbliższych wzorców (na podstawie ich klas) na temat tego wzorca, którego klasę próbujemy określić. Głosowanie przebiega na zasadzie zwykłej większości głosów, a głosy zliczamy na podstawie numerów klas określonych dla porównywanych wzorców uczących. Zliczanie głosów możemy wykonać za pomocą małej pomocniczej tablicy: 15. W ogólnej wersji metody tworzymy tablicę najbliższych wzorców do dla poszczególnych k, wyznaczamy dla nich zwycięską klasę i najlepsze k.

16. Wszystko umieszczamy w pętli obliczeniowej i obliczamy te odległości i tabele Rankingowe dla kolejno wszystkich wzorców na zasadzie każdy względem pozostałych wzorców uczących i dla wszystkich badanych K = 1,, 20:

MODYFIKACJE METODY K NAJBLIŻSZYCH SĄSIADÓW Metoda Ważonych Odległości Najbliższych Sąsiadów (Distance Weighted Nearest Neighbors) prowadzi do głosowania na temat klasyfikacji gwiazdki biorąc pod uwagę k najbliższych sąsiadów lub nawet wszystkie wzorce, lecz ich głosy są ważone w zależności od ich odległości (dla wybranej metryki) do gwiazdki: im dalej jest głosujący wzorzec tym ma mniejszą wagę. A więc wzorce położone najbliżej będą miały największy wpływ na wynik klasyfikacji: w 2 w1 w 3 w 4 w 5 w7 w6