Podręcznik
2. Uczenie maszynowe
Sieci neuronowe są jednym z algorytmów uczenia maszynowego. Celem tego rozdziału nie jest wyczerpujące wprowadzenie do tematyki, a jedynie przedstawianie podstawowych pojęć, które będą niezbędne dla dalszego zgłębiania sieci neuronowych. Czytelnikowi zainteresowanemu pogłębieniem wiedzy z zakresu uczenia maszynowego polecamy [Geron, 2019] [James et al., 2023].
W problemach uczenia maszynowego możemy wyróżnić:
-
Zadanie - na przykład rozpoznanie czy na zdjęciu znajduje się pies czy kot.
-
Model - pewien zbiór funkcji (np. funkcje liniowe, sieci neuronowe), o dostrajanych parametrach.
-
Funkcję kosztu - liczbową miarę, określającą, jak dobrze model radzi sobie z postawionym zadaniem. Im lepiej model sobie radzi, tym mniejsza wartość funkcji kosztu.
-
Dane - na przykład zestaw oznaczonych zdjęć psów i kotów.
Algorytmy uczenia maszynowego dobierają parametry modelu (np. współczynniki modelu liniowego) minimalizując funkcję kosztu na podstawie wykorzystywanych danych uczących. Dla sieci neuronowych parametry to wagi połączeń między neuronami (rozdział 3). Jest to zmiana paradygmatu w stosunku do klasycznego programowania, ponieważ tu nie precyzujemy konkretnej funkcji realizowanej przez model, a oczekujemy, że model dostroi się do określonego zadania na podstawie danych w procesie uczenia.
Wśród zadań uczenia możemy wyróżnić:
-
Uczenie nadzorowane - algorytm dostaje zbiór danych i oraz prawidłową, oczekiwaną odpowiedź dla każdego przykładu (na przykład zestaw oznaczonych zdjęć psów i kotów). Prawidłową, oczekiwaną odpowiedź, dla danego przykładu, będziemy nazywać etykietą.
-
Uczenie nienadzorowane - algorytm dostaje zbiór danych bez informacji o prawidłowej odpowiedzi. Celem algorytmu jest odkrycie zależności i powiązań w danych. Przykładem jest segmentacja grupy klientów.
-
Uczenie ze wzmocnieniem - algorytm jest agentem, który otrzymuje obserwacje ze środowiska, może wykonywać akcje i dostaje nagrody za swoje działanie. Forma ta jest często wykorzystywana w grach (np. algorytm do gry w szachy).
W tym module będziemy się koncentrować na zadaniach uczenia nadzorowanego. W uczeniu nadzorowanym możemy wyróżnić dwie podstawowe grupy problemów:
-
Regresja - model wyznacza liczbę bądź liczby rzeczywiste. Przykładem jest predykcja cen energii.
-
Klasyfikacja - zadaniem modelu jest przyporządkowaniem przykładu do jednej z dyskretnych klas. Przykładem jest rozpoznawanie, czy na zdjęciu jest pies czy kot.
Literatura
[Geron, 2019]
|
Geron, A. (2019). Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems. O'Reilly Media, Inc., 2nd edition. |
[James et al., 2023]
|
James, G., Witten, D., Hastie, T., Tibshirani, R., and Taylor, J. (2023). An Introduction to Statistical Learning with Applications in Python. Springer Texts in Statistics. Springer, Cham. [ | DOI | http ] |