Wprowadzenie do Uczenia Maszynowego#
Autor sekcji: dr Filip Wójcik.
Uczenie maszynowe (ML, ang Machine learning) jest bardzo szeroką dziedziną, łączącą w sobie elementy:
statystyki,
matematyki,
informatyki,
a nawet psychologii.
Co więcej, w ostatnich latach wykształciły się w jej ramach pod-dziedziny poświęcone między innymi:
Uczeniu głębokiemu i sieciom neuronowym,
Wielkim modelom językowym (ang. LLM),
Uczeniu ze wzmocnieniem (ang. RL) za pomocą symulatorów i (bardzo szeroko rozumianym) gier (np. giełdowych, optymalizacyjnych).
Uczeniu grafowemu i analizom sieci (w tym społecznościowych).
Płynne poruszanie się po zagadnieniach ML wymaga znajomości między innymi:
Podstaw algebry liniowej -w zakresie wymaganym do zrozumienia działania modeli liniowych, sieci neuronowych, operacji na macierzach.
Podstaw statystyki i probabilistyki - w zakresie zrozumienia próbkowania, kształtowania eksperymentów, oceny jakości modeli.
Podstaw teorii uczenia obliczeniowego COLT - w zakresie zrozumienia generalizacji, złożoności modeli, zbieżności algorytmów.
Znajomości specyfiki poszczególnych rodzin modeli, sposobów szkolenia, dobrych praktyk, itd.
Częstym problemem dla osób rozpoczynających przygodę w tej dziedzinie jest z jednej strony ogromna ilość dostępnych materiałów, z drugiej kwestia wybiórczości podejścia. Wiele osób, które chcą zapoznać się np. z grafowymi sieciami neuronowymi napotyka na kaskadę problemów. Najpierw należałoby zacząć od przypomnienia sobie, czym są grafy i z czego się składają. Grafowe sieci neuronowe korzystają z całego aparatu matematycznego i mechaniki sieci klasycznych - też należałoby je znać. Na grafach wykonuje się typowo zadania takie jak: klasyfikacja lub regresja dla wierzchołków, klasyfikacja lub regresja dla połączeń, klasyfikacja lub regresja dla całych grafów. Jeśli ktos nie zna zagadnień klasyfikacji lub regresji - trzeba doczytać czym są, jakich metryk się używa.Materiały o metrykach z kolei odwołują się do pojęć statystycznych, próbkowania, estymacji, walidacji krzyżowej itd.W efekcie, osoba, która planowała nauczyć się czegoś o sieciach neuronowych , musi najpierw zapoznać się z całym bagażem pokrewnych zagadnień.
Kolejną kwestią jest kompletność wiedzy. Wyrywkowe zapoznanie się ze specyfiką poszczególnych modeli, bez zrozumienia ich teoretycznych podstaw, może prowadzić do sytuacji, w której osoba, która zna np. sieci neuronowe lub drzewa decyzyjne, ale potrafi je stosować jedynie w prostych, standardowych przypadkach, bez zapewnienia rzetelnej statystycznej ewaluacji błędów, mocy modelu, etc.
W tym opracowaniu postanowiliśmy zacząć od podstaw, budując na tym fundamencie kolejne piętra budynku. I tak, Czytelnik lub Czytelniczka będzie się zapoznawać kolejno:
Z podstawowymi pojęciami i terminami, charakterystycznymi dla uczenia maszynowego.
Z podstawami teorii COLT, czyli teorii uczenia obliczeniowego.
Z taksonomią zadań realizowanych przez różne modele.
Z podstawowymi zagadnieniami z zakresu błędów, ograniczeń modeli oraz projektowaniem eksperymentów dla nich.
Z przekrojem przez najważniejsze rodziny modeli uczenia maszynowego.
(i dopiero potem) Ze szczegółami dotyczącymi po kolei każdej z wielkich rodzin modeli uczenia maszynowego, w tym:
Klasyczne modele drzew decyzyjnych.
Modele minimalnoodległościowe (KNN, etc.).
Modele typu „ensemble” czyli zespoły połączonych estymatorów.
Podstawy sieci neuronowych.
Podstawowe modele dla szeregów czasowych.
Mamy nadzieję, że taka prezentacja zagadnień, nawet w formie hasłowej i skróconej, ułatwi nawigowanie w skomplikowanym świecie analizy danych :)