• Przegląd uczenia maszynowego
• Praktyczne podejście do nadzorowanego uczenia się + KOD
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.
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
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.
Wstęp i przegląd historyczny, czyli o co w tym wszystkim chodzi?
Algorytmy i dane
Języki programowania i paradygmaty
Metody algorytmiczne
Poprawność algorytmów
Wydajność algorytmów
Ograniczenia i wytrzymałość
Nieobliczalność i nierozstrzygalność
Uniwersalność algorytmów i ich wytrzymałość
Modele równoległości, współbieżności i alternatywne
Algorytmy probabilistyczne
Kryptografia i niezawodna interakcja
Inżynieria oprogramowania
Systemy reaktywne
Algorytmika i inteligencja
• Kluczowe Idee
• Przed startem …
• Podstawowe Zachowania
• Badania Użytkowników
• Granice naszych umysłów
• Architektura informacji
• Projektowanie zachowań
• Zasady projektowania wizualnego
• Szkielety i prototypy
• Psychologia użyteczności
• Treść
• Moment Prawdy
• Dane dla projektantów
• Znajdź pracę, ty brudny hipisie