Informatyka Systemów Autonomicznych

Transkrypt

Informatyka Systemów Autonomicznych
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Informatyka
Systemów
Autonomicznych
Uczenie maszynowe: uczenie z
nauczycielem i bez nauczyciela.
Kamil Małysz
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Spis treści
I.
Wstęp .........................................................................................................................................3
II.
Początki uczenia maszynowego ...................................................................................................3
III. Zastosowania w praktyce.............................................................................................................4
IV. Metody maszynowego uczenia ....................................................................................................5
V.
Uczenie nadzorowane i uczenie nienadzorowane ........................................................................6
VI. Podsumowanie............................................................................................................................6
Literatura ............................................................................................................................................7
ISA
Strona 2
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
I.
Wstęp
Uczenie maszynowe (uczenie się maszyn, systemy uczące się) to stosunkowo młoda i szybko
rozwijająca się dziedzina wchodząca w skład nauk zajmujących się problematyką sztucznej
inteligencji. Jest to nauka interdyscyplinarna ze szczególnym uwzględnieniem takich dziedzin jak
informatyka, robotyka i statystyka. Głównym celem jest praktyczne zastosowanie dokonań w
dziedzinie sztucznej inteligencji do stworzenia automatycznego systemu potrafiącego doskonalić się
przy pomocy zgromadzonego doświadczenia (czyli danych) i nabywania na tej podstawie nowej
wiedzy.
Uczenie maszynowe jest konsekwencją rozwoju idei sztucznej inteligencji i metod jej wdrażania
praktycznego. Dotyczy rozwoju oprogramowania stosowanego zwłaszcza w innowacyjnych
technologiach i przemyśle. Odpowiednie algorytmy mają pozwolić oprogramowaniu na
zautomatyzowanie procesu pozyskiwania i analizy danych do ulepszania i rozwoju własnego systemu.
Uczenie się może być rozpatrywane jako konkretyzacja algorytmu czyli dobór parametrów,
nazywanych wiedzą lub umiejętnością. Służy do tego wiele typów metod pozyskiwania wiedzy oraz
sposobów reprezentowania wiedzy.
II.
Początki uczenia maszynowego
Pierwszym przykładem maszynowego uczenia się, może być projekt Arthura Samuela z firmy IBM,
który w latach 1952-1962 rozwijał program do szkolenia zawodników szachowych.
Przełomem w dziedzinie sztucznej inteligencji i maszynowego uczenia się było powstanie
systemu eksperckiego Dendral na Uniwersytecie Stanforda w 1965. System ten powstał w celu
zautomatyzowania analizy i identyfikacji molekuł związków organicznych, które dotychczas nie były
znane chemikom. Wyniki badań otrzymane dzięki systemowi Dendral były pierwszym w historii
odkryciem dokonanym przez komputer, które zostały opublikowane w prasie specjalistycznej.
W 1977 powstaje program AM (Automated Mathematician) napisany w języku programowania
Lisp, którego autorem był Doug Lenat. Służył do zautomatyzowanego poszukiwania nowych praw
matematycznych korzystając z algorytmów heurystycznych. Następcą AM został, również stworzony
przez Lenata, program Eurisko.
Badania nad uczeniem maszynowym nabierają tempa od początku lat 90., kiedy Gerald Tesauro
stworzył program TD-Gammon, potrafiący konkurować w grze Backgammon z mistrzami świata. Aby
dojść do takiej perfekcji program ten uczył się swojej strategii grając jako przeciwnik w ponad
milionie gier. Algorytm zaimplementowany w programie znalazł później zastosowanie w neuronauce.
W 1997 Garri Kasparow, mistrz świata w szachach, został pokonany walkowerem przez komputer
Deep Blue w ostatniej z sześciu rozgrywek, w której został znacznie unowocześniony przez firmę IBM.
Kasparow zarzucił firmie IBM oszustwo, która odmówiła mu dostępu do historii wcześniejszych gier
Deep Blue. W ten sposób Kasparow nie był w stanie analizować strategii przeciwnika, podczas gdy
twórcy Deep Blue niezwykle dokładnie analizowali i opracowywali wszystkie wcześniejsze rozgrywki
Kasparowa tworząc odpowiednie algorytmy programu. Pozostało mu jedynie studiowanie sposobów
gry ogólnodostępnych programów szachowych. Rosyjski szachista domagał się rewanżu, ale firma
IBM nie zgodziła się i Deep Blue przeszedł na „emeryturę”. Krytycy wielokrotnie zarzucali firmie IBM,
że zamiast sprawiedliwej rywalizacji szachowej mieli na celu wypromowanie swych rozwiązań
technologicznych i marki.
ISA
Strona 3
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Koniec lat 90. obfituje w powszechne zastosowanie algorytmów uczenia maszynowego w
rozwoju sieci internet i działania wyszukiwarek internetowych (Google, Yahoo, MSN).
W 2006 ogólnodostępny program szachowy Fritz 10 pokonał mistrza świata Władimira Kramnika,
jednego z szachowych arcymistrzów.
III.
Zastosowania w praktyce
Stosowanie systemów uczących się jest wskazane przy rozwiązywaniu problemów
dotyczących zjawisk świata rzeczywistego, charakteryzujących się dużym stopniem nie determinizmu
oraz zbyt dużą złożonością, aby mogły być one zadowalająco reprezentowane przez inne formalne
modele. Metody uczenia się bez nadzoru mogą znaleźć zastosowania w dziedzinie ekonomii, głównie
do problemów wymagających analizy pewnych danych (dotyczących np. sytuacji ekonomicznej
przedsiębiorstw, sytuacji na rynku określonych wyrobów, sytuacji na giełdzie papierów
wartościowych lub sytuacji gospodarczej w skali makroekonomicznej) i wykrywania między nimi
podobieństw oraz łączenia ich w klasy. Szczególnie zasadne wydaje się wykorzystanie modułów
uczących się bez nadzoru jako komponentów bardziej złożonych systemów inteligentnych. Na
przykład, w systemach wspomagania decyzji może zostać za pomocą takiego komponentu odkryte
podobieństwo aktualnej sytuacji do pewnych sytuacji z przeszłości, które może być następnie
podstawą do wykorzystania przy podejmowaniu aktualnej decyzji na podstawie wiedzy i doświadczeń
z tych przeszłych sytuacji.
Podstawowy obszar zastosowań metod uczenia się z nadzorem wydaje się zbliżony do obszaru
zastosowań tradycyjnych systemów doradczych, obejmującego różne zagadnienia wspomagania
decyzji, np. w zarządzaniu
Uczenie maszynowe wciąż się rozwija i znajduje nowe praktyczne zastosowania. Ilość możliwych
zastosowań jest niezwykle ogromna i pozwala przewidzieć, że w przyszłości każdy aspekt techniki
będzie zawierać jakąś implementację algorytmów maszynowego uczenia się.
Przykłady zastosowania uczenia maszynowego:
•
•
•
ISA
oprogramowanie do rozpoznawania mowy:
o automatyczne tłumaczenie
o rozpoznawanie mowy ludzkiej
o dyktowanie komputerowi
o interfejsy użytkownika sterowane głosem
o automatyzacja głosem czynności domowych
o interaktywne biura obsługi
o rozwój robotów
automatyczna nawigacja i sterowanie:
o kierowanie pojazdem (ALVINN)
o odnajdywanie drogi w nieznanym środowisku
o kierowanie statkiem kosmicznym (NASA Remote Agent)
o automatyzacja systemów produkcji i wydobycia (przemysł, górnictwo)
analiza i klasyfikacja danych:
o systematyka obiektów astronomicznych (NASA Sky Survey)
o rozpoznawanie chorób na podstawie symptomów
o modelowanie i rozwijanie terapii lekowych
Strona 4
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
o
o
o
o
o
IV.
rozpoznawania pisma na podstawie przykładów
klasyfikowanie danych do grup tematycznych wg kryteriów
aproksymacja nieznanej funkcji na podstawie próbek
ustalanie zależności funkcyjnych w danych
przewidywanie trendów na rynkach finansowych na podstawie danych mikro i makro
ekonomicznych
Metody maszynowego uczenia
Uczenie maszynowe i jego powodzenie zależy od wyboru odpowiedniej metody formułującej
problem, zbioru uczącego (czyli doświadczeń) oraz sposobu uczenia się nowych pojęć.
Metody uczenia:
•
•
•
•
•
•
•
ISA
wnioskowanie wartości funkcji logicznej z przykładów
uczenie drzew decyzyjnych (ang. Decision Tree Learning) - drzewo decyzyjne to graficzna
metoda wspomagania procesu decyzyjnego, stosowana w teorii decyzji. Algorytm drzew
decyzyjnych jest również stosowany w uczeniu maszynowym do pozyskiwania wiedzy na
podstawie przykładów. Jest to schemat o strukturze drzewa decyzji i ich możliwych
konsekwencji. Zadaniem drzew decyzyjnych może być zarówno stworzenie planu, jak i
rozwiązanie problemu decyzyjnego. Metoda drzew decyzyjnych jest szczególnie przydatna w
problemach decyzyjnych z licznymi, rozgałęziającymi się wariantami
uczenie Bayesowskie (ang. Bayesian Learning) - metody oparte na twierdzeniu
sformułowanym przez XVIII-wiecznego matematyka Thomasa Bayesa odgrywają znaczną i
ostatnio rosnącą rolę w dziedzinie sztucznej inteligencji, zwłaszcza w uczeniu się maszyn.
Można ogólnie powiedzieć, że wzór Bayesa stał się podstawą do rozwoju teorii i algorytmów
różnych form wnioskowania probabilistycznego.
uczenie z przykładów (ang. Instance-based Learning) - w odróżnieniu od metod uczenia, które
konstruują ogólny, tzw. jawny opis funkcji docelowej, kiedy dostarczane są dane uczące,
uczenie tego typu po prostu zapamiętuje przykłady. Uogólnianie nad tymi przykładami jest
odwlekane do czasu, aż nowy przykład (zadanie) ma być klasyfikowane. Za każdym razem,
kiedy przychodzi nowe zapytanie (przykład), badane są jego powiązania z zapamiętanymi
przykładami aby ustalić wartość docelowej funkcji nowego przykładu.
uczenie się zbioru reguł (ang. Learning Sets of Rules) - zbiór reguł w postaci klauzul
Hornowskich może być interpretowany jako program w np. języku Prolog
analityczne uczenie (ang. Analytical Learning) - metody uczenia indukcyjnego (wykorzystują
sieci neuronowe, drzewa decyzyjne), wymagają pewnej liczby przykładów aby osiągnąć
pewien poziom uogólnienia. Analityczne uczenie stosuje wiedzę aprioryczną i wnioskowanie
dedukcyjne do powiększania informacji dostarczanej przez przykłady uczące.
połączenie indukcyjnego i analitycznego uczenia (ang. Combining Inductive and Analytical
Learning) - czyste indukcyjne uczenie formułuje ogólne hipotezy poprzez znalezienie
empirycznych regularności w przykładach uczących. Natomiast czyste analityczne uczenie
stosuje aprioryczną wiedzę do otrzymania ogólnych hipotez dedukcyjnie. Połączenie obu
podejść daje korzyści: lepszą poprawność i trafność uogólniania gdy dostępna jest wiedza
Strona 5
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
•
V.
aprioryczna oraz szukanie zależności w obserwowanych danych uczących do wypracowania
szybkiej wiedzy apriorycznej.
wzmocnione uczenie (ang. Reinforcement Learning) - wzmocnione uczenie odnosi się do
pytania, jak autonomiczny agent, który odbiera bodźce i działa w swoim środowisku może się
uczyć wybierać najlepszą akcję aby osiągnąć cel działania. Ten ogólny problem obejmuje
takie zadania jak uczenie optymalizacji w fabrykach i uczenie się poprzez aktywny udział w
grach.
Uczenie nadzorowane i uczenie nienadzorowane
Na podstawie kryterium rozróżniającego metody uczenia się na podstawie rodzaju informacji
dostarczonej w zbiorze przykładów wyróżnia się: uczenie nadzorowane i uczenie nienadzorowane.
Uczenie nadzorowane znane jest również pod pojęciem uczenia z nadzorem lub z nauczycielem.
Polega ona na dostarczeniu systemowi uczącemu się przykładów z których każdy składa się z dwóch
elementów : informacji wejściowych do systemu i odpowiadających im informacji, które
otrzymujemy na wyjściu. Innymi słowy mówiąc, mamy wektor x, którego elementy zwierają
informacje dotyczące danego przykładu , które podajemy systemowi na wejście i wektor y który
zawiera informacje pożądane na wyjściu. Zadanie systemu polega na nauczeniu się na podstawie
informacji zawartych w wektorze x generowania zawartości wektora y. System powinien nauczyć się
pewnej funkcji odwzorowującej wektor x na wektor y.
Uczenie nienadzorowane znane również jako uczenie bez nadzoru lub bez nauczyciela polega na
dostarczenia do systemu zbioru przykładów opisanych jedynie za pomocą wektorów wejściowych x
bez podania pożądanych odpowiedzi , czyli bez wektora y. Celem jest zazwyczaj przekształcenie
dostarczanej do systemu uczącego się informacji wejściowej w pewne inne formy, lepiej
dostosowane do dalszego przetwarzania. Zasada, zgodnie z którą jest dokonywane to
przekształcenie, jest ustalona dla danej klasy zadań uczenia się bez nadzoru i wbudowana do
struktury systemu. Można więc powiedzieć, że system uczący się bez nadzoru ma na stałe
wbudowane źródło informacji trenującej. Typowym przykładem zadania uczenia się bez
nadzoru jest zadanie wykrywania pewnych regularności w danych wejściowych i grupowanie
ich na tej podstawie w pewne kategorie. Jest to tzw. grupowanie (klasteryzacja) oraz jej "bardziej symboliczna" forma, grupowanie pojęciowe (conceptual clustering). Algorytmy uczenia
się bez nadzoru stanowią ważną grupę algorytmów uczenia sieci neuronowych.
VI.
Podsumowanie
Uczenie maszynowe obecnie odgrywa niemałą rolę w tworzeniu systemów (programów
komputerowych) i można spodziewać się iż jego wpływ na tą dziedzinę będzie coraz większy z
biegiem czasu i rozwojem nauki. Maszynowe uczenie wpływa na zwiększenie poprawności działania
systemów przez analizę doświadczenia reprezentowanego przez zbiór przykładów uczących.
ISA
Strona 6
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Literatura
„Uczenie maszynowe i sieci neuronowe”, Krzysztof Krawiec, Jerzy Stefanowski
Artykuły i materiały zamieszczone w internecie
ISA
Strona 7

Podobne dokumenty