Peter Flach: Machine Learning, repetytorium 1

1 Co składa się na uczenie maszynowe

The ingredients of machine learning

S010

  • każde zadanie (task) uczenia maszynowego polega na wypracowaniu pewnego rozwiązania przy pomocy odpowiedniego modelu matematycznego (którego parametrów na początku nie znamy)
  • na wejściu modelu mamy dane (data) będące konkretnymi wartościami pewnych cech, atrybutów (features), na wyjściu modelu otrzymujemy rozwiązanie zadania
  • zadania wiążą się z pewnymi obiektami (domain objects), indywiduami, przykładami, egzemplarzami, pomiarami w świecie
  • problem uczenia maszynowego (learning problem) polega na automatycznym, maszynowym zbudowaniu modelu przy pomocy odpowiedniego algorytmu

1.1 Zadania: czyli typy problemów które rozwiązujemy

Tasks: the problems that can be solved with machine learning

S010 Najistotniejsze klasy zadań to m.in:

  • klasyfikacja
  • regresja
  • klasteryzacja (grupowanie)
  • identyfikacja struktur

Mogą się różnić tym co otrzymujemy na wyjściu modelu (w wyniku jego użycia).

S016 Możemy mówić o modelach:

  1. predykcyjnych, kiedy wiemy jakich zmiennych wyjściowych oczekiwać, np. w zadaniu klasyfikacji, gdy znamy klasy do których chcemy przyporządkować obiekty
  2. deskryptywnych, kiedy to sam algorytm ma wypracować, odkryć, zaproponować w.w. zmienne

Ponadto modele dla zadań ML można budować w sposób:

  1. nadzorowany (z nauczycielem) (supervised)
  2. nienadzorowany (unsupervised)

Istotną kwestią jest możliwość oceny jakości pracy algorytmu uczenia. W procesie uczenia wypracowywany model powinien być ulepszany (wg pewnej przyjętej miary).

1.2 Modele: czyli to co budujemy w procesie uczenia

Models: the output of machine learning

S018 Celem algorytmu uczenia jest wypracowanie parametrów odpowiedniego modelu. Modele te mogą być rożnego typu, należeć do różnych klas.

Trzy podstawowe klasy modeli wskazane w podręczniku to modele:

  1. logiczne, formalizowane przy pomocy pojęć logiki matematycznej, np. pojęcie reguły,
  2. geometryczne, wykorzystujące pojęcia geometrii, w tym analitycznej i algebry, np. pojęcie odległości,
  3. probabilistyczne, wykorzystujące rachunek prawdopodobieństwa i statystykę, np. pojęcie prawdopodobieństwa zdarzenia.

Ze względu na sposób działania, modele mogą mieć charakter

  • grupowania, lub
  • oceniania

obiektów.

Na slajdach S019-27 omówiono wstępnie przykłady modeli z poszczególnych klas. A ich wzajemne relacje i klasyfikację pokazano na S028,9.

1.3 Cechy: to bez czego modele nie mogłyby się obejść

Features: the workhorses of machine learning

Cechy (features) stanowią mechanizm pojęciowy dzięki któremu jesteśmy w stanie opisać obiekty. Z matematycznego punktu widzenia cecha będzie funkcją, która przyporządkowuje obiektowi wartości z pewnej dziedziny. Np. chcemy sklasyfikować różne jabłka ze względu na ich kolor. 'Kolor' jest cechą, jego konkretna wartość, np. 'jasnoczerwony' jest tym, co pojawi się jako dana na wejściu modelu (tu klasyfikatora). Na wyjściu pojawi się klasa do której można przypisać konkretne jabłko, np. 'dojrzałe'.

Na S033-6 pokazane są różne przykłady doboru cech, pojęć, w zależności od których możemy lepiej użyć pewnych modeli. Np. dzięki użyciu przekształcenia danych przy użyciu funkcji kernel możliwym staje się użycie klasyfikatora liniowego tam, gdzie na oryginalnych danych nie byłby w stanie zadziałać. Funkcja k dostarcza niejako nowego, innego pojęcia (innej przestrzeni).


2 Klasyfikacja binarna

Binary classification and related tasks

Klasyfikacja jest jednym z najważniejszych - najczęściej występujących - zadań ML, a klasyfikacja binarna jej najważniejszym przypadkiem. Między innymi dlatego, że klasyfikacje wieloklasową przeprowadzamy w oparciu o przypadek binarny.

Do opisu zadań klasyfikacji używamy odpowiednich pojęć.

  • instancja, (instance) egzemplarz, przypadek, dotyczy pojedynczego wystąpienia tego czegoś co klasyfikujemy np. jabłka, oznaczmy go x
  • przestrzeń instancji (instance space) jest zbiorem wszystkich możliwych przypadków, oznaczmy ją kreślonym dużym X
  • etykiety (label) należą do przestrzeni etykiet (label space) oznaczmy je odpowiednio kreślonymi l i L. Etykiety są używane do oznaczania przykładów w zbiorze uczącym, treningowym (training set) Tr={tr: (x,l(x))}
  • wyjście klasyfikatora y, należy do pewnej przestrzeni Y

W ogólnym przypadku modele (w tym klasyfikatory) będą więc pewnymi funkcjami. Różne scenariusze opisane są na S038.

Należy też pamiętać o kłopotach z jakością danych, określanych technicznie jako szum (noise). Zaszumione może być zarówno etykietowanie (ktoś źle opisał zbiór treningowy) jak i dane wejściowe, dostajemy nietypowe jabłka albo śliwki.

2.1 Klasyfikacja

Classification

Klasyfikator to funkcja X → C. W klasyfikacji binarnej zbiór C ma dwa elementy, najczęściej oznaczane jako pozytywne i negatywne, p/n, +/-, +1/-1.

Budowany klasyfikator jest tylko pewną aproksymacją, przybliżeniem, potencjalnego klasyfikatora idealnego. W procesie uczenia poprawiamy tę aproksymację.

S040 pokazuje jak w prosty sposób przejść od drzewa pokazującego liczbę przypadków w danej klasie zależności od kombinacji cech, do drzewa decyzyjnego stanowiącego klasyfikator (czy też jego przybliżenie).

S041 Żeby móc poprawić aproksymację, jaką jest klasyfikator musimy być wstanie ocenić jego jakość (performance). Może do tego służyć tablica krzyżowa (Contingency table). Ważne pojęcia to true/false positives/negatives

W tablicy na S040 mamy:

  • TP = 30
  • TN = 40
  • FP = 20
  • FN = 10

Trues oznaczono na niebiesko, falses na czerwono. Idealny klasyfikator powinien prawidłowo sklasyfikować wszystkie Pos = 50 i Neg = 50, podczas gdy nasza aproksymacja zidentyfikowała 40 jako p i 60 jako n.

W tym przypadku liczność obu klas jest jednakowa (50/50). Kłopoty pojawiają się, gdy jedna z klas jest nadreprezentowana, vide S041 wtedy trzeba wziąć pod uwagę tę proporcję.

Metryki

W celu precyzyjnej oceny jakości klasyfikatora używamy szeregu metryk.

  • class ratio (stosunek klas) clr = Pos/Neg
  • accuracy (dokładność) acc = (TP+TN)/(Pos+Neg) – stosunek przykładów sklasyfikowanych poprawnie sklasyfikowanych do wszystkich
  • error rate err=1-acc
  • recall, sensitivity, true positive rate tpr=Tp/Pos (wrażliwość)
  • specificity, true negative rate tnr=TN/Neg (swoistość)
  • precision, confidence prec=TP/(TP+FP) (precyzja)
  • F-measure F=2*(precision*recall)/(precision+recall)

Patrz też:

Wizualizacja metryk

W celu lepszego porównywania klasyfikatorów z użyciem metryk używamy wizualizacji. Najprostsza to wykres pokrycia, coverage plot bezpośrednio wizualizujący tablicę krzyżową. Patrz S043.

S044 Bardziej zaawansowaną metodą wizualizacji jest wykres ROC Receiver_operating_characteristic Pozwala na porównanie klasyfikatorów które są normalizowane do tej samej przestrzeni.

S050 Obszar poniżej krzywej ROC odpowiada dokładności klasyfikatora, związanej z ilością poprawnie sklasyfikowanych par tp/fp. Obszar ten czasem nazywa się AUCarea under the (ROC) curve.

2.2 Ocenianie

Scoring and ranking

Osobną metodą budowania klasyfikatorów jest użycie funkcji oceniającej, przypisującej pewnym kombinacjom wartości cech współczynniki. Współczynniki są wyliczane w zależności od tego, ile przykładów z danej klasy opisują. S047-9 To które kombinacje cech przesądzają o przynależności do konkretnej klasy zależy od porównania dokładności S054,5

2.3 Prawdopodobieństwo przynależności do klas

Class probability estimation

S057,8 Pokrewną grupą klasyfikatorów są takie, które oceniają prawdopodobieństwo przynależności danej instancji do klasy. Służą do przewidywania przynależność instancji. Na wyjściu takiego klasyfikatora dostajemy wartość prawdopodobieństwa przynależności instancji do klasy.


3 Coś więcej niż klasyfikacja binarna

Beyond binary classification

3.1 Klasyfikacja wieloklasowa

Handling more than two classes

S062,3 Mając klasyfikator kilkuklasowy możemy wyliczyć jego dokładność w poszczególnych klasach.

Zakładając, że w procesie uczenia mamy tylko przykłady pozwalające na uczenie klasyfikatorów binarnych, tzn. odróżniających od siebie tylko 2 klasy, mamy dwie podstawowe metody budowania klasyfikatora wieloklasowego:

  • 1-do-wiele (one-versus-rest) w którym uczymy k klasyfikatorów binarnych gdzie w uczeniu C_k pozostałe klasy są uznawane za przykłady negatywne, oraz
  • 1-do-1 (one-versus-one) w którym uczymy uczymy klasyfikatory dla każdej pary klas a następnie odpowiednio łączymy ich wyniki w procesie klasyfikacji.

3.2 Regresja

Regression

S069 Obok klasyfikacji regresja jest jednym z ważniejszych przypadków ML. Aby uniknąć przeuczenia (overfitting) liczba parametrów które dopasowujemy w procesie uczenia powinna być istotnie mniejsza niż liczba znany punktów/danych/przykładów.

S069 bias vs. variance Ilustracja dobrze ilustruje intuicję pozwalającą odróżnić odchylenie wyników od ich wariancji.

3.3 Uczenie nienadzorowane i deskryptywne

Unsupervised and descriptive learning

S072 W uczeniu nienadzorowanym (klasteryzacja i uczenie deskryptywne) zadania uczenia maszynowego i problem uczenia się pokrywają. Nie mamy do dyspozycji zbioru uczącego. Nie mamy modelu, którego parametry poprawiamy, ile - w procesie uczenia - budujemy taki model, np. określamy ile istnieje klas i jak do nich przypisywać przykłady. Na uczenie nienadzworowane możemy najczęściej spojrzeć jako na odkrywanie wiedzy (knowledge discovery).

S073-6 Istotne przypadki uczenia nienadzworowanego to:


pl/dydaktyka/ml/mlrep1.txt · ostatnio zmienione: 2017/07/17 08:08 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0