Wstęp
W tym bloku omawiane będą zagadnienia związane z maszynowym uczeniem się. Algorytmy uczenia maszynowego pozwalają na wydobywanie wiedzy z danych. Dane reprezentowane są w postaci zbioru przykładów uczących. Poniżej przedstawiono przykład krótkiego zbioru przykładów uczących (Quinlan, 86) dotyczącego decyzji czy grać w golfa w zależności od warunków pogodowych.
l.p. | Outlook | Temperature | Humidity | Windy | Play |
---|---|---|---|---|---|
1 | sunny | hot | high | false | no |
2 | sunny | hot | high | true | no |
3 | overcast | hot | high | false | yes |
4 | rainy | mild | high | false | yes |
5 | rainy | cool | normal | false | yes |
6 | rainy | cool | normal | true | no |
7 | overcast | cool | normal | true | yes |
8 | sunny | mild | high | false | no |
9 | sunny | cool | normal | false | yes |
10 | rainy | mild | normal | false | yes |
11 | sunny | mild | normal | true | yes |
12 | overcast | mild | high | true | yes |
13 | overcast | hot | normal | false | yes |
14 | rainy | mild | high | true | no |
Atrybuty i skale
Dane opisać można za pomocą notacji atrybut-wartość. Oznaczmy zbiór przykładów uczących jako $X$. Zbiór ten opisany jest za pomocą zbioru atrybutów $A = \{a_1, …, a_n\}$. Atrybut $a_i$ może przyjąć wartości należące do swojej dziedziny, $A_i$. I tak, powyższy zbiór danych opisany jest za pomocą 5 atrybutów: Outlook, Temperature, Humidity, Windy i Play. Dziedzinę atrybutu Outlook stanowią wartości sunny, overcast i rainy. Dla każdego z przykładów uczących $x$ należących do $X$ dana jest funkcja wartości atrybutu $a_i(x) \in A_i$. Zbiór wartości jakie przyjmuje przykład $x$ na kolejnych atrybutach $a_1(x), …, a_n(x)$ stanowi opis tego przykładu.
W naszym przykładzie wszystkie atrybuty są atrybutami nominalnymi. Innymi, często stosowanymi skalami są:
- porządkowa
- liczbowa (interwałowa i ilorazowa)
Podział algorytmów uczenia maszynowego
Jednym z możliwych podziałów algorytmów uczenia maszynowego jest podział na uczenie nadzorowane i nienadzorowane. Jeśli jeden z atrybutów jest wyróżniony i celem jest określenie wartości tego atrybutu na podstawie wartości pozostałych atrybutów, mamy do czynienia z uczeniem nadzorowanym. Wyróżniony atrybut jest nazywany atrybutem decyzyjnym. Pozostałe atrybuty to atrybuty warunkowe. Jeśli nie ma wyróżnionego atrybutu decyzyjnego, mówimy o uczeniu nienadzorowanym.
Jeśli celem jest przewidzenie etykiety dla nowych przykładów mamy do czynienia z klasyfikacją. Jeśli celem jest przybliżenie funkcji która pozwoli przewidzieć wartość liczbową, mówimy o regresji.
Klasyfikacja
Analiza danych algorytmem uczenia maszynowego pozwala na uzyskanie klasyfikatora, który może zostać wykorzystany do klasyfikacji nowych przykładów.
Liczenie miar dokładności (accuracy) dla danych klas decyzyjnych.
Aby móc ocenić jakość klasyfikacji dokonanej przez klasyfikator (w ogólności jakość otrzymanego modelu) stosowane są wskaźniki jakości. Poniżej przedstawiono interpretację i sposób obliczania wskaźników TP Rate, FP Rate i Precision.
TP Rate
stosunek liczby poprawnych zaklasyfikowań (trafień) do liczby wszystkich elementów klasy (liczność danej klasy wg. danych).
a b <- classified as
1 2 a
3 4 b
TP Rate(b) = 4/(4+3)
FP Rate
stosunek liczby niepoprawnych zaklasyfikowań (fałszywych alarmów) do liczby przypadków nienależących do danej klasy (liczność pozostałych klas).
a b <- classified as
1 2 a
3 4 b
FP Rate(b) = 2/(1+2)
Precission
miara precyzji klasyfikacji dokonanej przez model - stosunek ilości trafień do liczby przypadków zaklasyfikowanych przez model do danej klasy.
a b <- classified as
1 2 a
3 4 b
Precission(b) = 4/(2+4)
WEKA
Program WEKA można pobrać ze strony: http://www.cs.waikato.ac.nz/~ml/weka/ (sekcja Download).
Dostępne są wersje na różne dla różnych systemów operacyjnych (program wymaga środowiska Java).
- Tutorial programu
Materiały:
- !!! (29.05) nieoficjalne materiały do nauki !!!
- wykład
- Weka Manual (załączony do programu) str. 41-44 (klasyfikacja)
- WekaWiki http://weka.wikispaces.com/Primer - podrozdział weka.classifiers ze szczególnym uwzględnieniem analizy logu - tabeli z wynikami
- Algorytm ZeroR
- Algorytm OneR
Praca domowa:
- Dane do raportów
- Szablon raportu
- Raport do wypełnienia znajduje się w Moodle
- Zadanie pierwsze jest zadaniem opisowym - nie dotyczy otrzymanych danych.
- Zadania od 2 od 8 dotyczą indywidualnych danych. Proszę pamiętać o tym, że atrybut decyzyjny to ostatni z listy atrybutów.
- W zadaniach 2-5 odpowiedzieć (krótko), podobnie jak omawialiśmy to na zajęciach.
- W zadaniach 6-8 zwrócić uwagę, dla której z klas mają być udzielone odpowiedzi.
W razie niejasności proszę o kontakt mailowy.
—-
Raporty z badań wykorzystujące Wekę
Poniżej znajdują się linki do kilku ogólnodostępnych artykułów, których autorzy korzystali z Weki do analizy danych. Można zapoznać się z nimi, żeby zobaczyć, jak w praktyce porównuje się modele i jakie wnioski wyciąga na podstawie takich porównań.
- Timo de Vries, Predicting High-level Cognitive Decisions using Low-Level Features from Eye Gaze Data
- Bart Peintner, William Jarrold Dimitra Vergyri i in., Learning diagnostic models using speech and language measures
- O'Mahony, Michael P.; Cunningham, Pádraig; Smyth, Barry, An assessment of machine learning techniques for review recommendation