W uczeniu maszynowym wyróżniamy szereg konceptów określanych mianem składników uczenia maszynowego.
Doświadczenie w postaci danych tworzy zbiór uczący. Zbiór uczący opisuje obiekty pochodzące z dziedziny problemu przy pomocy wybranych atrybutów (zwanych często cechami). Instancją nazywamy zestaw atrybutów opisujących pojedynczy obiekt. Przykładem zbioru uczącego może być zbiór danych iris pochodzący ze standardowego pakietu R datasets. Dane ze zbioru zostały pozyskane w 1936 roku przez Ronalda Fishera i prezentuje się następująco:
1 2 3 4 5 6 7 8 9 10 11 12 |
# wymiary zbioru > dim(iris) [1] 150 5 # wyświetlenie sześciu wybranych instancji > iris[c(1, 2, 51, 52, 101, 102), ] Sepal.Length Sepal.Width Petal.Length Petal.Width Species 1 5.1 3.5 1.4 0.2 setosa 2 4.9 3.0 1.4 0.2 setosa 51 7.0 3.2 4.7 1.4 versicolor 52 6.4 3.2 4.5 1.5 versicolor 101 6.3 3.3 6.0 2.5 virginica 102 5.8 2.7 5.1 1.9 virginica |
Zbiór danych iris zawiera 150 instancji opisujących kwiaty irysa. Kwiaty są określone przy pomocy 4 atrybutów numerycznych opisujących długości i szerokości płatków kwiatu sepal i petal. Ostatni atrybut jakościowy definiuje gatunek opisywanego irysa (species). Jednym z problemów możliwych do rozwiązania przy użyciu tego zbioru uczącego jest określenie gatunku dla nowego kwiatu irysa w zależności od wielkości jego płatków. Jest to przykład zadania klasyfikacji.
Zbiór uczący iris jest zbiorem etykietowanym ponieważ klasa, czyli konkretny gatunek irysa jest znany dla każdej instancji (obiektu) w zbiorze uczącym. Innymi słowy wiemy co dokładnie reprezentuje każda z instancji w zbiorze. Odmiennym przypadkiem jest zbiór nieetykietowany gdzie nie mamy informacji o tym co opisuje instancja. Przykładem takiego zbioru uczącego może być zbiór danych iris pozbawiony kolumny z klasą obiektu:
1 2 3 4 5 6 7 8 |
> iris[c(1, 2, 51, 52, 101, 102), -5] Sepal.Length Sepal.Width Petal.Length Petal.Width 1 5.1 3.5 1.4 0.2 2 4.9 3.0 1.4 0.2 51 7.0 3.2 4.7 1.4 52 6.4 3.2 4.5 1.5 101 6.3 3.3 6.0 2.5 102 5.8 2.7 5.1 1.9 |
Wykorzystując powyższy nieetykietowany zbiór uczący możemy rozwiązać problem sformułowany następująco: które z instancji w zbiorze uczącym należą do tego samego gatunku? Problem ten jest przykładem zadania klasteryzacji, bądź inaczej grupowania. Uczenie maszynowe oparte o dane pochodzące z nieetykietowanego zbioru uczącego nazywamy uczeniem nienadzorowanym ze względu na nieznajomość ukrytych struktur w danych. Przeciwieństwem jest uczenie nadzorowane wykorzystujące do uczenia etykietowany zbiór uczący.
Przedstawiliśmy do tej pory przykłady dwóch zadań uczenia maszynowego: klasyfikacji i klasteryzacji. Zadaniem uczenia maszynowego nazywamy abstrakcyjny opis problemu, który chcemy rozwiązać. Rozwiązanie zadania jest możliwe poprzez wykorzystanie algorytmu uczącego, który na podstawie zbioru uczącego tworzy reprezentacje rozwiązania w postaci modelu. W przypadku klasyfikacji nowego irysa do gatunku model reprezentuje pewne mapowanie pomiędzy znanymi instancjami irysów, a ich gatunkiem. Modele dzielimy ze względu na ich budowę na:
- model geometryczny – instancje reprezentowane przez zbiór atrybutów zostają umieszczone w przestrzeni euklidesowej. Do opisu istniejących zależności pomiędzy danymi wykorzystywane są pojęcia geometryczne takie jak linia, punkt, płaszczyzna i w większej liczbie wymiarów: hiperpłaszczyzna. Różnice w klasach instancji są reprezentowane przy użyciu barier decyzyjnych (np. linia), które separują różne klasy instancji. Algorytmy tworzące modele geometryczne to: regresja liniowa, regresja logistyczna, maszyna wektorów wspierających (SVM, SMO).
- model logiczny – oparty u podstaw o różne sformalizowane logiki matematyczne. Na ich podstawie tworzone są proste reguły postaci: część warunkowa => część decyzyjna. Działanie modelu opiera się o wnioskowanie na podstawie stworzonych reguł. Część warunkowa zawiera atrybuty instancji z przystawionymi konkretnymi wartościami. W części decyzyjnej dla np. zadania klasyfikacji mamy klasę, którą przypisujemy do aktualnie badanej instancji. Popularną reprezentacją regułową są drzewa decyzyjne, które w przejrzysty sposób przedstawiają połączenia między częściami warunkowymi reguł. Algorytmy tworzące modele geometryczne to: algorytm drzew decyzyjnych ID3 (implementacja J48), JRipper, PART.
- model probabilistyczny – wykorzystuje prawdopodobieństwo do modelowania zależności pomiędzy instancjami, atrybutami i klasami. Kluczowym konceptem w modelu jest prawdopodobieństwo warunkowe i zbudowana na nim reguła Bayesa. Reguła ta umożliwia połączenie ze sobą prawdopodobieństwa dwóch zdarzeń A i B. Twierdzenie Bayesa stanowi podstawę teoretyczną do tak zwanych sieci bayesowskich powszechnie wykorzystywanych w algorytmach uczących.
- model hybrydowy – modele te łączą dowolne z technik tworzenia i reprezentacji modeli.
Niezależnie od wybranego algorytmu i rodzaju utworzonego modelu wymagana jest jego ewaluacja. Załóżmy że uczymy model na zbiorze uczącym iris w celu dokonywania klasyfikacji do gatunku dla nowych instancji danych. Automatycznie nachodzi pytanie: jak oszacować jakość wykonanego przez nas uczenia przed dokonywaniem klasyfikacji nowych instancji? Jednym z rozwiązań jest podzielenie zbioru uczącego na dwie części: zbioru treningowego (najczęściej 66%) oraz zbioru testowego (najczęściej 33%). Następnie uczenie jest wykonywane tylko na zbiorze treningowym. Po zbudowaniu modelu weryfikujemy jego skuteczność przy użyciu zbioru testowego. Innym popularnym wariantem powyższego postępowania jest tzw. “10-fold cross-validation“. Proces ten polega na 10-krotnym powtórzeniu podziału zbioru uczącego (10% zbiór testowy, 90% zbiór treningowy), uczeniu modelu oraz jego ewaluacji. Końcowy wyniki jest uśrednionym wynikiem z 10 powtórzeń.