PDF pagePrint page

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:

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 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:

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ń.