Systemy uczące się (SUS, uczenie maszynowe, machine learning) – dziedzina wiedzyłącząca sztuczną inteligencję, statystykę i rozpoznawanie obrazów, która obejmujebudowę i analizę sztucznych systemów zdolnych do uczenia się na podstawie danych.
Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca napodstawie doświadczeń, która prowadzi do poprawy jakości jego działania. Zmiana dotyczy „parametrów” systemu, które reprezentują wiedzę lub umiejętności systemu (inaczej jego hipotezę) i decydują o jego działaniu.
System uczący się (uczeń) – program komputerowy wykorzystujący pewien abstrakcyjny „parametryzowany” algorytm rozwiązujący pewien problem. Uczenie się polega na dobraniu na podstawie doświadczeń (informacji trenującej) odpowiednich „parametrów”.
Wiedza może być:
Przykład – reprezentacja wiedzy dot. kolejności liter
Podejście deklaratywne:
Fakty: A stoi przed B, B stoi przed C, C stoi przed D, …
Reguła: Jeżeli (X stoi przed Y) i (Y stoi przed Z) to (X stoi przed Z)
Podejście proceduralne:
Procedura, która porównuje kolejność liter wykorzystując ich kody ASCII
Dla naprawdę złożonych zadań trudno jest sformułować wprost ustalone, pełne i poprawne algorytmy ich rozwiązywania. Złożone problemy są trudne do opisu, często nie posiadają wystarczających modeli teoretycznych albo ich uzyskanie jest bardzo kosztowne.
Środowisko lub warunki ulegają zmianie po uruchomieniu programu. Program powinien posiadać zdolność adaptacji.
Inteligentne systemy powinny być w maksymalnym stopniu autonomiczne, czyli zdolne do działania bez (zbyt dużej) ingerencji człowieka, co nie jest możliwe bez adaptacyjności, zdolności do przystosowywania się do zmieniających się środowisk i wymagań.
Często zbiory dostępnych danych są zbyt duże i skomplikowane, aby można było wyszukiwać w nich zależności, klasyfikować obiekty itd. niezautomatyzowany.
Systemy uczące się klasyfikuje się w zależności od:
Reprezentacja symboliczna – zorganizowane napisy, którym można przypisać interpretację
np. A ∧B → C
Reprezentacja subsymboliczna – np. zbiory liczb lub łańcuchów binarnych, które łącznie reprezentują pewna wiedzę, wyrażoną zwykle w postaci niezrozumiałej dla człowieka
np. 001010100100100100001010101…
Przykłady metod reprezentacji wiedzy:
Sposób używania wiedzy zdeterminowany jest zadaniem stojącym przed systemem. Do najbardziej typowych zadań należą:
Gdy źródłem informacji trenującej jest „nauczyciel”, który podpowiada pożądaną odpowiedź systemu, mówimy o uczeniu nadzorowanym.
Zadanie SUS – poprawne (pożądane) odpowiedzi na informacje wejściowe (wektory wejściowe).
Proces uczenia polega na określeniu algorytmu generowania tych odpowiedzi.
Informacja trenująca instruuje ucznia, co do właściwego sposobu odpowiadania.
Gdy informacja trenująca jest niedostępna, mamy do czynienia z uczeniem bez nadzoru. Wtedy system uczy się właściwych odpowiedzi wyłącznie na podstawie informacji wejściowej. Przykładem uczenia bez nauczyciela jest grupowanie danych.
Inne metody uczenia:
Mechanizm nabywania wiedzy ma najczęściej charakter indukcyjny – jednostkowa informacja trenująca jest generalizowana w celu uzyskania ogólnej wiedzy.
Indukcja – wnioskowanie, polegające na wyprowadzeniu ogólnych wniosków z przesłanek, które są poszczególnymi przypadkami tych wniosków. W naukach empirycznych metoda polegająca na wprowadzeniu uogólnień na podstawie eksperymentów i obserwacji faktów, formułowaniu i weryfikacji hipotez.
Strategie uczenia się można podzielić na: