The ingredients of machine learning
S010
Tasks: the problems that can be solved with machine learning
S010
Najistotniejsze klasy zadań to m.in:
Mogą się różnić tym co otrzymujemy na wyjściu modelu (w wyniku jego użycia).
S016
Możemy mówić o modelach:
Ponadto modele dla zadań ML można budować w sposób:
Istotną kwestią jest możliwość oceny jakości pracy algorytmu uczenia. W procesie uczenia wypracowywany model powinien być ulepszany (wg pewnej przyjętej miary).
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:
Ze względu na sposób działania, modele mogą mieć charakter
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
.
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).
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ęć.
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.
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:
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ę.
W celu precyzyjnej oceny jakości klasyfikatora używamy szeregu metryk.
Patrz też:
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ę AUC – area under the (ROC) curve.
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
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.
Beyond binary classification
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:
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.
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: