Nie, cóż, oczywiście, nie mówię poważnie. Musi istnieć granica zakresu, w jakim możliwe jest uproszczenie przedmiotu. Ale na pierwsze etapy, zrozumienie podstawowych pojęć i szybkie „wejście” w temat, może być do przyjęcia. O tym jak poprawnie nazwać ten materiał (opcje: „Uczenie maszynowe dla manekinów”, „Analiza danych z pieluszek”, „Algorytmy dla najmłodszych”) porozmawiamy na koniec.
Do momentu. Napisał kilka programów aplikacyjnych w MS Excel do wizualizacji i wizualnej reprezentacji procesów zachodzących w różnych metodach uczenia maszynowego podczas analizy danych. W końcu zobaczyć znaczy uwierzyć, jak mówią przedstawiciele kultury, która rozwinęła większość tych metod (swoją drogą, nie wszystkie. Najpotężniejszą „maszyną wektorów nośnych”, czyli SVM, maszyną wektorów nośnych jest wynalazek nasz rodak Władimir Wapnik, Moskiewski Instytut Zarządzania, notabene 1963! Teraz jednak wykłada i pracuje w USA).
1. Grupowanie K-oznaczeń
Problemy tego typu odnoszą się do „uczenia się bez nadzoru”, gdy musimy podzielić dane wyjściowe na pewną liczbę znanych z góry kategorii, ale nie mamy żadnej liczby „poprawnych odpowiedzi”; musimy je wydobyć z samych danych . Zasadniczy, klasyczny problem znalezienia podgatunków kwiatów irysa (Ronald Fisher, 1936!), uważany za pierwszy przejaw tej dziedziny wiedzy, ma właśnie taki charakter.
Metoda jest dość prosta. Mamy zbiór obiektów reprezentowanych jako wektory (zbiory N liczb). W irysach są to zestawy 4 liczb charakteryzujących kwiat: odpowiednio długość i szerokość zewnętrznych i wewnętrznych płatków okwiatu (
Następnie środki skupień są wybierane losowo (lub nie losowo, patrz poniżej) i obliczane są odległości od każdego obiektu do środków skupień. Każdy obiekt na danym etapie iteracji jest oznaczany jako należący do najbliższego środka. Następnie środek każdego klastra przenosi się na średnią arytmetyczną współrzędnych jego elementów (przez analogię z fizyką nazywany jest także „środkiem masy”) i procedura się powtarza.
Proces zbiega się dość szybko. Na zdjęciach w dwóch wymiarach wygląda to tak:
1. Początkowy losowy rozkład punktów na płaszczyźnie i liczba skupień
2. Wyznaczanie ośrodków skupień i przypisywanie punktów do ich skupień
3. Przeniesienie współrzędnych ośrodków skupień, przeliczenie przynależności punktów do czasu ustabilizowania się ośrodków. Widoczna jest trajektoria przemieszczania się środka gromady do ostatecznej pozycji.
W każdej chwili możesz wyznaczyć nowe centra klastrów (bez generowania nowego podziału punktów!) i przekonać się, że proces podziału nie zawsze jest jednoznaczny. Matematycznie oznacza to, że dla optymalizowanej funkcji (suma kwadratów odległości punktów od środków ich skupień) znajdujemy nie minimum globalne, ale lokalne. Problem ten można przezwyciężyć albo poprzez nielosowy wybór początkowych centrów skupień, albo wyliczenie możliwych ośrodków (czasami warto umieścić je dokładnie w jednym z punktów, wtedy przynajmniej mamy gwarancję, że nie zostaniemy puste) klastry). W każdym razie zbiór skończony zawsze ma infimum.
Opis metody w Wikipedii -
2. Aproksymacja wielomianami i podział danych. Przekwalifikowanie
Wybitny naukowiec i popularyzator data science K.V. Woroncow krótko opisuje metody uczenia maszynowego jako „naukę rysowania krzywych przez punkty”. W tym przykładzie odnajdziemy wzór w danych metodą najmniejszych kwadratów.
Pokazano technikę podziału danych źródłowych na „trenujące” i „kontrolne”, a także takie zjawisko, jak przekwalifikowanie, czyli „ponowne dopasowywanie” do danych. Przy prawidłowym przybliżeniu będziemy mieli pewien błąd na danych uczących i nieco większy błąd na danych kontrolnych. Jeśli jest niepoprawna, skutkuje to precyzyjnym dopasowaniem do danych treningowych i ogromnym błędem na danych testowych.
(Wiadomo, że przez N punktów można narysować pojedynczą krzywą stopnia N-1, a metoda ta w ogólnym przypadku nie daje pożądanego rezultatu.
1. Ustaw rozkład początkowy
2. Punkty dzielimy na „trening” i „kontrolę” w stosunku 70 do 30.
3. Rysujemy krzywą aproksymującą wzdłuż punktów treningowych, widzimy błąd jaki daje na danych kontrolnych
4. Rysujemy dokładną krzywą przez punkty treningowe i widzimy potworny błąd w danych kontrolnych (i zero w danych treningowych, ale po co?).
Pokazano oczywiście najprostszą opcję z pojedynczym podziałem na podzbiór „trenujący” i „kontrolujący”, w ogólnym przypadku robi się to wielokrotnie, aby jak najlepiej dopasować współczynniki.
3. Zejście gradientowe i dynamika zmiany błędu
Będzie przypadek 4-wymiarowy i regresja liniowa. Współczynniki regresji liniowej będą wyznaczane krok po kroku metodą gradientu opadania, początkowo wszystkie współczynniki wynoszą zero. Oddzielny wykres przedstawia dynamikę redukcji błędów w miarę coraz dokładniejszego dopasowywania współczynników. Możliwe jest oglądanie wszystkich czterech projekcji dwuwymiarowych.
Jeśli ustawimy krok gradientu zejścia na zbyt duży, widać, że za każdym razem pominiemy minimum i dotrzemy do wyniku w większej liczbie kroków, chociaż w końcu i tak dotrzemy (chyba że opóźnimy też krok zejścia dużo - wtedy algorytm pójdzie „w pikach”). A wykres błędu w zależności od kroku iteracji nie będzie gładki, ale „szarpany”.
1. Wygeneruj dane, ustaw stopień opadania gradientu
2. Przy odpowiednim dobraniu stopnia zejścia gradientowego płynnie i szybko dochodzimy do minimum
3. Jeśli krok opadania gradientu zostanie źle wybrany, przekroczymy maksimum, wykres błędów jest „szarpany”, zbieżność wymaga większej liczby kroków
и
4. Jeśli całkowicie błędnie dobierzemy stopień opadania gradientowego, odchodzimy od minimum
(Aby odtworzyć proces wykorzystując wartości kroku opadania gradientu pokazane na ilustracjach, zaznacz pole „dane referencyjne”).
Czy zdaniem szanownego środowiska takie uproszczenie i sposób prezentacji materiału jest dopuszczalne? Czy warto przetłumaczyć artykuł na język angielski?
Źródło: www.habr.com