"Standardowa edukacja zapewni Ci przeżycie. Samokształcenie - fortunę".   Jim Rohn

"Jeśli trwacie w nauce mojej, jesteście prawdziwie moimi uczniami i POZNACIE PRAWDĘ ,A PRAWDA WAS WYZWOLI"    - Jezus z Nazaretu







Machine Learning … dla każdego (III)


Analiza cech i redukcja wymiarowości

Wśród pierwszych narzędzi do opanowania są różne techniki analizy cech i redukcji wymiarów. Podobnie jak w przypadku nadzorowanego uczenia się, potrzeba zmniejszenia wymiarowości wynika z wielu powodów podobnych do tych omówionych wcześniej w przypadku selekcji i redukcji cech. Mniejsza liczba rozróżniających wymiarów znacznie ułatwia wizualizację danych i klastrów. W wielu aplikacjach do kompresji stosuje się nienadzorowane techniki redukcji wymiarowości, które mogą być następnie wykorzystywane do transmisji lub przechowywania danych. Jest to szczególnie przydatne, gdy większe dane wiążą się z obciążeniem. Co więcej, zastosowanie technik redukcji wymiarowości może poprawić skalowalność pod względem pamięci i obliczeń prędkości wielu algorytmów.

Notacja

Użyjemy podobnej notacji, jak w części dotyczącej nadzorowanego uczenia się. Przykłady są w wymiarach d i są reprezentowane jako wektor:

x= (x1, x2,…, xd)T

Cały zbiór danych zawierający n przykładów można przedstawić jako macierz obserwacji:

X = {xij : 1 ≤i ≤ d , 1 ≤ j ≤ n}

Ideą redukcji wymiarowości jest znalezienie k ≤ d cech albo przez przekształcenie cech wejściowych, rzutowanie ich lub łączenie w taki sposób, że niższy wymiar k przechwytuje lub zachowuje interesujące właściwości oryginalnego zbioru danych.



Machine Learning … dla każdego (II)


Problemy wspólne z uczeniem nadzorowanym

Wiele z omawianych przez nas kwestii związanych z uczeniem się nadzorowanym jest również wspólnych z uczeniem się bez nadzoru. Niektóre z nich są wymienione tutaj:

•  Rodzaje funkcji obsługiwanych przez algorytm: Większość algorytmów grupowania i wartości odstających wymaga reprezentacji numerycznej do efektywnego działania. Przekształcanie danych kategorycznych lub porządkowych należy wykonywać ostrożnie
•  Klątwa wymiarowości: posiadanie dużej liczby funkcji skutkuje rzadkimi przestrzeniami i wpływa na wydajność algorytmów klastrowania. Należy wybrać jakąś opcję, aby odpowiednio zmniejszyć wymiarowość - albo wybór cech, w którym zachowany jest tylko podzbiór najistotniejszych cech, albo ekstrakcja cech, która przekształca przestrzeń cech w nowy zestaw głównych zmiennych przestrzeni o niższym wymiarze
•  Skalowalność pamięci i czasu treningu: wiele nienadzorowanych algorytmów uczenia się nie może skalować się do więcej niż kilku tysięcy wystąpień ze względu na ograniczenia pamięci lub czasu treningu
•  Wartości odstające i szum w danych: Na wiele algorytmów wpływ ma szum w funkcjach, obecność nietypowych danych lub brakujące wartości. Muszą być odpowiednio przekształcone i traktowane

Zagadnienia specyficzne dla uczenia się nienadzorowanego

Poniżej przedstawiono niektóre kwestie dotyczące uczenia się nienadzorowanego:

•  Ustawienie parametrów: Decydowanie o liczbie funkcji, użyteczności funkcji, liczbie klastrów, kształtach klastrów itd. ogromne wyzwania dla niektórych nienadzorowanych metod
•  Metody oceny: Ponieważ nienadzorowane metody uczenia się są źle postawione ze względu na brak podstawowej prawdy, ocena algorytmów staje się bardzo subiektywna.
•  Twarde lub miękkie etykietowanie: Wiele problemów związanych z uczeniem się bez nadzoru wymaga nadawania etykietom danych w sposób wyłączny lub probabilistyczny. Stanowi to problem dla wielu algorytmów
•  Interpretowalność wyników i modeli: w przeciwieństwie do uczenia nadzorowanego, brak podstawowej prawdy i natura niektórych algorytmów sprawiają, że interpretacja wyników zarówno z modelu, jak i etykietowania jest jeszcze trudniejsza


Machine Learning … dla każdego (I)


Techniki nienadzorowanego uczenia maszynowego

W ostatniej Części skupiliśmy się na uczeniu nadzorowanym, czyli uczeniu się na podstawie treningowego zestawu danych, który został oznaczony. W prawdziwym świecie uzyskanie danych z etykietami jest często trudne. W wielu dziedzinach etykietowanie danych jest praktycznie niemożliwe ze względu na koszt etykietowania lub trudności w etykietowaniu ze względu na samą objętość lub szybkość generowania danych. W takich sytuacjach uczenie się nienadzorowane, w swoich różnych formach, oferuje właściwe podejścia do eksploracji, wizualizacji i wykonywania modelowania opisowego i predykcyjnego. W wielu zastosowaniach uczenie nienadzorowane jest często połączone z uczeniem nadzorowanym jako pierwszym krokiem do wyodrębnienia interesujących elementów danych do etykietowania. Tu skupimy się na różnych metodologiach, technikach i algorytmach, które są praktyczne i dobrze nadają się do uczenia się bez nadzoru. Zaczynamy od zwrócenia uwagi na problemy, które są wspólne dla uczenia nadzorowanego i nienadzorowanego, jeśli chodzi o obsługę danych i przekształcenia. Następnie pokrótce przedstawimy szczególne wyzwania, z jakimi boryka się nauka nienadzorowana ze względu na brak "podstawowej prawdy" oraz charakter uczenia się w tych warunkach. Następnie omówimy techniki analizy cech i redukcji wymiarowości stosowane do nieoznakowanych zbiorów danych. Następnie następuje wprowadzenie do szerokiego spektrum metod grupowania i omówienie różnych algorytmów w praktyce, tak jak w przypadku uczenia nadzorowanego. Praktyczne podejście do nadzorowanego uczenia się w świecie rzeczywistym, pokazujące, jak każdy algorytm działa, kiedy z niego korzystać, a także jego zalety i ograniczenia. Zakończymy sekcję poświęconą grupowaniu, prezentując różne techniki oceny klastrów. Po omówieniu klastrowania podejdziemy do tematu wykrywania wartości odstających. Zestawimy ze sobą różne techniki i algorytmy, które ilustrują, co sprawia, że niektóre obiekty są odstające - zwane również anomaliami - w danym zbiorze danych. Część zakończy się eksperymentami dotyczącymi grupowania i wykrywania wartości odstających, przeprowadzonych na zestawie danych ze świata rzeczywistego oraz analizie uzyskanych wyników. W tym studium przypadku wykorzystamy biblioteki Java ELKI i SMILE do zadań uczenia maszynowego oraz przedstawimy kod i wyniki eksperymentów. Mamy nadzieję, że da to czytelnikowi poczucie mocy i łatwości korzystania z tych narzędzi.