Academia.eduAcademia.edu

Archipelag sztucznej inteligencji. Część IV

2021, Napędy i Sterowanie

Artykuł ten jest czwartym z serii artykułów poświęconych przeglądowej prezentacji poszczególnych metod sztucznej inteligencji (AI) prezentowanych jako wyspy archipelagu, co zostało skomentowane i wyjaśnione w pierwszym artykule tego cyklu. Warto dodać, że wszystkie wcześniejsze artykuły z tej serii są także dostępne w serwisie Academia.edu. W prezentowanym tu artykule przedstawione są programy sztucznej inteligencji grające z ludźmi w gry strategiczne (warcaby, szachy, Go), dalej omówiona jest obszerna dziedzina komputerowego przetwarzania języka naturalnego, a na końcu omówione są uczące się drzewa decyzyjne.

Archipelag sztucznej inteligencji. Część IV Ryszard Tadeusiewicz Wprowadzenie Artykuł ten jest (jak wynika z tytułu) czwartym z serii artykułów poświęconych przeglądowej prezentacji poszczególnych metod sztucznej inteligencji (AI) prezentowanych jako wyspy archipelagu. Wyjaśnienie, dlaczego przyjęto taką właśnie metaforę, znaleźć można w pierwszym artykule tego cyklu, opublikowanym w numerze 12/2020 miesięcznika „Napędy i Sterowanie”. W tym samym artykule, zapoczątkowującym cały cykl, zaproponowałem zasadę, że chociaż mamy tu do czynienia z metaforami (gdy mowa o wyspach i o archipelagu), to jednak nazw tych nie będę ujmował w cudzysłów, pozostawiając właściwą interpretację domyślności Czytelnika. Do tej pory ukazały się trzy artykuły z prezentowanego cyklu. W pierwszy z nich (NiS nr 12/2020) zaprezentowano metody AI oparte na stosowaniu rachunku symbolicznego, sieci neuronowe oraz systemy ekspertowe. Drugi artykuł (NiS nr 1/2021) zawierał opisy zbiorów rozmytych i logiki rozmytej, zbiorów przybliżonych i rozpoznawania obrazów. Trzeci artykuł (NiS nr 2/2021) omawiał analizę skupień, algorytmy genetyczne i algorytmy mrówkowe. Zawartość czwartego odcinka cyklu znajduje się poniżej. Programy grające z ludźmi w gry strategiczne Od początku istnienia sztucznej inteligencji twórców jej metod fascynowało tworzenie programów wykazujących inteligentne działanie podczas rywalizacji z człowiekiem w grach strategicznych [1]. Wyspa omawianego w tym cyklu archipelagu, reprezentująca metody sztucznej inteligencji wykorzystywane w tych programach rozgrywających, może być przedstawiona tak, jak na rysunku 1. Historia zaczęła się od programów komputerowych grających z ludźmi w warcaby – grę prostszą i łatwiejszą od szachów. Pierwsze programy grające w tę grę były bardzo mało Rys. 1. Wyspa będąca metaforą programów grających w gry strategiczne 72 l Nr 3 l Marzec 2021 r. inteligentne i łatwo pozwalały się pokonać. Ale już w 1954 roku, czyli u zarania techniki komputerowej, profesor A. Samuel pracujący dla IBM stworzył program, który pokonał nawet czwartego gracza w rankingu Stanów Zjednoczonych. Sprawą zainteresowało się wojsko i zaczęło finansować badania zmierzające do stworzenia programów grających w gry strategiczne, zakładając, że takie programy odpowiednio udoskonalone mogą pełnić rolę doradców dowódców na prawdziwym placu boju. Rozwój nie następował jednak tak szybko, jak by chciała armia, i ludzie ciągle jednak wygrywali z komputerami mimo dużego zaangażowania twórców. Dopiero w 1992 roku program Chinook stworzony przez J. Schaerffera „pokazał lwi pazur”. Program ten wygrał rywalizację US Open, ale w mistrzostwach zorganizowanych w Londynie przegrał z dr M. Tinsleyem wynikiem 4:2 po 33 remisach. Jednak w 1995 roku udoskonalony Chinook potrafił przewidywać dalekosiężne skutki każdego ruchu (rys. 2) i wygrywał wszystkie mecze [2]. Rys. 2. Sposób działania komputera przy układaniu strategii gry Trzeba było przyjąć do wiadomości, że w warcabach żaden człowiek nie dorówna maszynie, więc można w nie grać dla przyjemności tylko z innym człowiekiem albo z komputerem mającym celowo wprowadzone ograniczenia, natomiast gdy odpowiedni program osiągnie pełną moc przetwarzania informacji – to do gry o przesądzonej przegranej nie ma co siadać. Grą, która prawdziwie budziła emocję naukowców i kibiców, były szachy. Pierwsze teoretyczne prace na temat możliwości stworzenia programu do gry w szachy pisali „ojcowie informatyki” Norbert Wiener, Claude Shannon i Alan Turing w latach 1948–1951. Pierwsze działające programy powstały w 1957 roku w USA i ZSRR. W latach 1966–1967 rozgrywany był pierwszy mecz szachowy między programem radzieckim ITEP (Instytut Fizyki Teoretycznej i Eksperymentalnej w Moskwie) a amerykańskim programem Kotok-McCarthy (Uniwersytet Stanforda). Mecz trwał 9 miesięcy i zakończył się wygraną rosyjskiego programu. Niestety twórca tego sukcesu, dyrektor ITEP Aleksander Kronrod, został wyrzucony ze stanowiska i pozbawiony tytułu profesorskiego za to, że używał komputera mającego projektować bomby atomowe do jakichś szachowych turniejów. Od tej pory programy do komputerowej gry w szachy powstawały głównie w USA. Programy te początkowo grały słabo, więc w roku 1968 szkocki mistrz szachowy David Levy (rys. 3) ufundował nagrodę dla programu, który ogra go chociaż raz na cztery partie. Rys. 5. Kasparow przegrywa z komputerem Deep Blue Rys. 3. David Levy – twórca słynnego zakładu dotyczącego szachów komputerowych Ale programy szachowe stale się doskonaliły i w 1989 roku program Deep Thought pokonał Davida Levyego, wygrywając wszystkie 4 partie. Nie jest to właściwe miejsce, żeby opisywać owe kolejne, coraz sprawniejsze programy szachowe, ich sukcesy i porażki – ale warto spojrzeć na rysunek 4. Podano na nim punktację Elo przyznawaną szachistom w poszczególnych latach. Niebieska linia pokazuje poziom gry kolejnych arcymistrzów, a czerwona (opisana „Roboty”) – poziom gry stale doskonalonych programów szachowych. Rys. 4. Ranking kolejnych programów szachowych i kolejnych arcymistrzów wg punktacji Elo Jak widać, programy szachowe stale zbliżały się do poziomu gry najlepszych szachistów (ludzi) i nieuchronnie musiał nadejść moment, kiedy program szachowy wygra z arcymistrzem. Chwila ta nadeszła w maju 1997 roku. Ówczesny niekwestionowany mistrz świata, Garri Kasparow, przegrał mecz szachowy z programem komputerowym Deep Blue (rys. 5). To zwycięstwo komputera nad arcymistrzem miało doniosłe skutki. Po pierwsze, obaliło dość rozpowszechnione przekonanie, że sztucznej inteligencji jako takiej nie ma, ponieważ pozornie inteligentne zachowania komputerów są z góry zaprogramowane i tym, co działa, jest w istocie inteligencja programisty „zaszyta” w komputerowym programie. Tymczasem Kasparow był niekwestionowanym mistrzem świata (rys. 6). Wygrywał z każdym, kto się ośmielił z nim zmierzyć. Można powiedzieć, że na świecie nie było człowieka, który by wygrał z Kasparowem. Tym bardziej nie było programisty, który by mógł umieścić w programie metodę, jak tego mistrza pokonać. A jednak Deep Blue wygrał. To znaczy, że sam musiał znaleźć zwycięskie strategie – a zatem działał inteligentnie! Od 1997 roku programy szachowe są nadal doskonalone, więc podobnie jak w warcabach nie ma Rys. 6. Kasparow po jedjuż sensu prowadzenie rozgry- nym z licznych tryumfów wek w układzie człowiek przeciw podczas szachowych maszynie, bo wynik jest prze- mistrzostw świata sądzony – ale szachy są na tyle ciekawą grą, że ludzie nadal rywalizują ze sobą, rozgrywają turnieje, wyłaniają mistrzów itp. Pojawił się jednak problem „dopingu”: przyłapano kilku szachistów na tym, że wychodząc w trakcie meczu do toalety, zabierali ze sobą smartfony i korzystali z podpowiedzi komputerowych programów szachowych, wykorzystując je potem podczas rozgrywki. Posypały się dyskwalifikacje… Czy u narodzin pierwszych programów szachowych ktoś mógł to przewidzieć? Szachy są grą trudną i wymagającą, ale prawdziwym wyzwaniem była dalekowschodnia gra Go. Owa gra jest o wiele trudniejsza niż szachy, co widać, gdy się porówna kilka liczb. Liczba ruchów, jakie trzeba wykonać w trakcie partii Go, to średnio 260. Szachy to średnio tylko 35. Liczba możliwych do rozegrania partii w Go to 10260. W szachach to 10123. Liczba różnych pozycji na planszy w Go to 10172. W szachach to 1046. Opierając się na tych wyliczeniach, różni opiniodawcy sztucznej inteligencji twierdzili (zwłaszcza po sukcesie Deep Blue w szachach), że w Go żaden komputer z człowiekiem nie wygra. Nie trzeba było długo czekać, by się przekonać, że ta zapowiedź także okazała się nieprawdziwa. Program AlphaGo, stworzony przez firmę DeepMind, ale rozwijany potem przez Google, które 26.01.2014 roku przejęły DeepMind za 500 mln USD, pokonał najpierw Nr 3 l Marzec 2021 r. l 73 (2015) Mistrza Europy w Go, Fana Huia, a w marcu 2016 roku po czterodniowym meczu pokonał Lee Sedola, jednego z arcymistrzów tej gry. Specjaliści spierali się, czy Lee Sedol był drugim najlepszym graczem w Go, czy może czwartym, ale ta dyskusja została przecięta, gdy AlphaGo w maju 2017 roku pokonał dwukrotnie niekwestionowanego mistrza świata w Go, Ke Jie (rys. 7). Ogólnie w 2017 roku AlphaGo rozegrał w internecie 60 rozgrywek Go i wszystkie wygrał. Rys. 7. Rozgrywka w Go między programem AlphaGo a arcymistrzem Ke Jie Przetwarzanie języka naturalnego Przechodząc do kolejnej wyspy opisywanego tu archipelagu, napotykamy wizerunek przedstawiony na rysunku 8. Wyspa jest ogólnie znana, a jej najważniejszym elementem jest księga z ważnym napisem. I właśnie o ten napis chodzi, bo cywilizacja ludzka od czasów starożytnych gromadzi wiedzę w postaci tekstów. Dawniej teksty te gromadzono w postaci glinianych tabliczek (Babilon), papirusów, zwojów pergaminów, ręcznie przepisywanych, a później drukowanych ksiąg, czasopism i wielu innych form zapisów, natomiast obecnie wszystkie nowe teksty mają formę elektroniczną, która podlega teleinformatycznej dystrybucji do czytelników, a w jakiejś części (coraz mniejszej procentowo) jest także drukowana na papierze. Formę cyfrowych tekstów mają rejestrowane w mediach społecznościowych (głównie Facebook i Twitter, a także liczne blogi) wypowiedzi różnych ludzi, a także przechwytywane (często nielegalnie) treści sms i e-mail. Jest tego mnóstwo! Również dawne dokumenty pisane i drukowane są w coraz większym zakresie przenoszone do formy cyfrowej za pomocą Rys. 8. Wyspa symbolizująca metody przetwarzania języka naturalnego 74 l Nr 3 l Marzec 2021 r. ich skanowania, przy czym użycie technik OCR (Optical Character Recognition), należącej do omawianej w drugiej części cyklu techniki rozpoznawania obrazów (NiS nr 1/2021), pozwala na zamianę obrazu skanowanych stron do formy cyfrowo kodowanych łańcuchów znaków [3]. Ta konwersja czasem wprowadza błędy, które wymagają „ręcznej” korekty, ale korzyści z takiej transformacji są ewidentne. Również techniki zamiany mowy na tekst pisany (także należące do dziedziny rozpoznawania obrazów) pozwalają uzyskać nagrania wypowiedzi słownych w postaci łańcuchów znaków [4]. Do konwersji tekstu mówionego na tekst pisany służyć może cenione na świecie narzędzie, jakim jest program IBM Watson Speech. Niestety chwilowo nie radzi on sobie z zapisywaniem tekstów mówionych w języku polskim. Natomiast do pakietu Microsoft Office można już pobrać (za darmo!) program Dictate, który pozwala na głosowe sterowanie pracą komputera, ale także na rejestrowanie w formie tekstu całych wypowiedzi. Co więcej, Dictate może także tłumaczyć z jednego języka na drugi w ramach 20 języków, wśród których jest także język polski. Inna duża firma, Google, wypuściła program VoiceNote II, który współpracując z przeglądarką Google Chrome, dokonuje także konwersji mowy na tekst. Przez niektórych użytkowników polecany jest SkryBot domowy, szybki jest Dictation Pro, wygodny (ale drogi!) MagicScribe. Dyktowanie tekstu, który potem dostępny jest w formie pisanej, jest także jedną z usług, jakie może świadczyć system Google, a w nim narzędzie Google Docs. Ja sam budowałem kiedyś system, który na podstawie nagrań z przesłuchań policyjnych automatycznie sporządzał pisane protokoły, łatwiejsze do gromadzenia i przeszukiwania [5]. Jak widać, źródeł cyfrowych tekstów jest obecnie bardzo dużo. Efekt jest taki, że ogromna liczba ważnych informacji dostępna jest obecnie właśnie w takiej formie, która dla komputerów jest po prostu łańcuchem znaków (rys. 9). Rys. 9. Dla komputerów wszystkie teksty są wyłącznie łańcuchami znaków. Ich inteligentne wykorzystanie jest możliwe wyłącznie dzięki rozwojowi metod automatycznego przetwarzania języka naturalnego Żeby mieć z tych cyfrowych tekstów konkretny pożytek, trzeba jednak było wypracować liczne narzędzia do przetwarzania języka naturalnego – i takie właśnie narzędzia zostały w łonie sztucznej inteligencji stworzone i udoskonalone. Prowokacyjny dla badaczy sztucznej inteligencji był tak zwany test Turinga, opisany przez niego w wydanym w 1950 roku artykule „Computing Machinery and Intelligence”. Istotę tego testu opisałem w pierwszym odcinku tego cyklu (NiS nr 12/2020). Mnóstwo badaczy podejmowało więc próby budowy programów komputerowych, które mogłyby prowadzić z człowiekiem rozmowę na dowolny temat. Najstarsze publikacje innych autorów dotyczące tej tematyki opisałem w sposób popularny w artykułach [6, 7], a wyniki moich własnych prac badawczych związanych z budową pierwszych takich systemów dla języka polskiego, zostały opublikowane w artykułach [8] i [9], a potem retrospektywnie w opracowaniu [10]. W obszarze naukowym problematyka przetwarzania języka naturalnego przez długi czas opierała się na tworzeniu tak zwanych słowników częstościowych. Słownik taki w najprostszej postaci przypisuje do każdego wyrazu (czy nawet fleksyjnej formy wyrazu) częstość jego wystąpienia (rys. 10). Obecnie systemy do naturalnej konwersacji z ludźmi (nazywane niekiedy chatterbot) są też dość często budowane dla różnego rodzaju systemów doradczych albo call centers (rys. 11). Rys. 11. Jeden z wielu systemów dialogowych typu chatterbot Rys. 10. Przykład słownika frekwencyjnego Przykład pokazany na rysunku 10 dotyczy małej próbki tekstu w języku angielskim (stąd niewielkie liczby zliczeń częstości występowania wyrazów, podane na osi pionowej) i służy wyłącznie do ilustracji tego, czym jest słownik frekwencyjny, ale rzeczywiste słowniki buduje się w oparciu o teksty zawierające setki milionów słów. Bez pomocy komputerów takie badania były ogromnie uciążliwe. Ale w momencie wprowadzenia metod komputerowego przetwarzania języka naturalnego stało się możliwe tworzenie takich słowników zarówno dla całego języka (na przykład polskiego), jak i dla wybranych podzbiorów tego języka – na przykład artykułów prasowych, książek beletrystycznych, referatów konferencyjnych, przemówień polityków itp. Porównując takie „dziedzinowo zorientowane” słowniki frekwencyjne, językoznawcy mogą wyciągać daleko idące i empirycznie uzasadnione wnioski na temat właściwości poszczególnych podzbiorów języka. Co więcej, istnieje tzw. prawo Zipfa, które mówi, że kształt krzywej wynikającej ze słownika frekwencyjnego jest charakterystyczny dla każdego autora, więc może służyć do ustalania autorstwa dzieł, których autentyczność budzi wątpliwości. Metodę tę zastosowano z dobrym skutkiem do analizy dzieł Szekspira. Przechodząc do zastosowań praktycznych, metody przetwarzania języka naturalnego znajdują zastosowanie w przyjaznych dla użytkownika interfejsach, pozwalających na wygodne (z użyciem zdań języka naturalnego) stawianie zadań różnym systemom informatycznym oraz na uzyskiwanie od tych systemów odpowiedzi także formułowanych w zrozumiałej, prostej językowo formie. O takim interfejsie była mowa w pierwszym artykule tego cyklu (NiS nr 12/2020) przy okazji opisywania systemów ekspertowych. Praktyczne korzyści z systemów przetwarzania języka naturalnego mamy też przy zastosowaniu ich do automatycznego tłumaczenia tekstów lub mówionych wypowiedzi z jednego języka na drugi. Systemy do automatycznej translacji tworzono i doskonalono przez blisko 70 lat (pierwsze były demonstrowane publicznie w 1954 roku) – i chociaż jakość komputerowego tłumaczenia była początkowo dość marna – obecnie systemy te mają już zdecydowanie zadowalającą sprawność. W powszechnym użyciu jest tu zwłaszcza łatwo dostępny i dobrze działający translator firmy Google. Systemy przetwarzania języka naturalnego pełnią też ważną funkcję przy automatycznym porządkowaniu dużych zbiorów tekstów wraz z automatycznym ustalaniem związków pomiędzy nimi (rys. 12) Rys. 12. Automatyczne ustalanie związków pomiędzy tekstami, zdaniami, a nawet pojedynczymi słowami za pomocą narzędzi przetwarzania języka naturalnego Nr 3 l Marzec 2021 r. l 75 Cenione są także narzędzia wywodzące się z przetwarzania języka naturalnego, które pozwalają na automatyczne generowanie skrótów i streszczeń bardzo rozbudowanych zbiorów tekstów wyselekcjonowanych automatycznie metodami wybierania na podstawie słów kluczowych lub charakterystycznych fraz występujących w tekstach. Uczące się drzewa decyzyjne Metaforą wysypy reprezentującej uczące się drzewa decyzyjne w archipelagu sztucznej inteligencji jest sztuczna wyspa Palma Dżamira zbudowana w Dubaju (rys. 13). Uczące się drzewa decyzyjne też są sztuczne i też są mocno rozgałęzione, więc analogii łatwo się tu dopatrzeć [11]. drzewo) dochodzą do kolejnych węzłów, w których umieszczone są następne atrybuty i z których wyrastają kolejne gałęzie. Rozbudowując systematycznie kolejne piętra drzewa, dochodzimy wreszcie do miejsca (liścia), w którym możliwe jest podanie wzorcowej decyzji. Obejrzyjmy takie przykładowe drzewo decyzyjne związane z podejmowaniem decyzji, czy klientowi banku zwracającemu się o przyznanie kredytu w wysokości K złotych – przyznać ten kredyt, czy nie? Odpowiednie drzewo decyzyjne pokazane jest na rysunku 14. Rys. 13. Wyspa w archipelagu sztucznej inteligencji symbolizująca uczące się drzewa decyzyjne Generowanie reguł za pomocą drzew decyzyjnych jest jednym ze sposobów pozyskiwania wiedzy w sposób indukcyjny. Znaczenie indukcji w sztucznej inteligencji wynika z tego, że w wielu przypadkach nie dysponujemy wiedzą pozwalającą na stworzenie ogólnej metody rozwiązywania rozważanego zbioru problemów, więc niemożliwe jest zastosowanie metody dedukcji, natomiast mamy do dyspozycji przykłady zadań, które zostały prawidłowo rozwiązane. Metoda uczących się drzew decyzyjnych pozwala na zbudowanie efektywnej metody rozwiązywania różnych zadań, ale najczęściej jest wykorzystywana jako narzędzie wspomagające proces podejmowania decyzji [12]. Swoją popularność drzewa decyzyjne zawdzięczają dużej efektywności, możliwości prostej programowej implementacji oraz czytelnej dla człowieka reprezentacji. Opisując istotę metody drzew decyzyjnych, najkrócej można stwierdzić, że jest to metoda pozyskiwania wiedzy opierająca się na analizie przykładów, z których każdy musi być opisany przez zestaw atrybutów (przesłanek będących podstawą podjęcia decyzji) oraz musi mieć podaną tę właściwą decyzję, którą ktoś gdzieś podjął – i która okazała się trafna. Metoda nadaje się do zastosowania w przypadku atrybutów przyjmujących wartości dyskretne. Jest to ważne, bo te dyskretne wartości będą wybierać kolejne gałęzie drzewa. W przypadku problemów decyzyjnych wymagających użycia atrybutów ciągłych dokonuje się zwykle ich dyskretyzacji, na przykład dzieląc zakres ich zmienności na przedziały i wybierając przedział zamiast konkretnej wartości. Drzewa decyzyjne tworzone są w nieco przewrotny sposób, bo korzeń mają u góry, gałęzie rosną w dół, a zakończenia (czasem określane jako liście) znajdują się na samym dole. Korzeń związany jest z pierwszym (najważniejszym) atrybutem, a wychodzące z niego gałęzie (krawędzie grafu reprezentującego 76 l Nr 3 l Marzec 2021 r. Rys. 14. Przykładowe drzewo decyzyjne Jako korzeń w tym przypadku przyjęto najważniejszą okoliczność: czy wnioskodawca ma rachunek ROR (oszczędnościowo-rozliczeniowy) w tym banku. Jeśli tak, to posuwamy się do węzła określającego wpływy na ten rachunek w ciągu ostatnich trzech miesięcy i jeśli są one większe (lub równe) K, to można przyznać kredyt bez poręczycieli. Jeśli natomiast owe wpływy są małe, to wymaganych jest co najmniej dwóch poręczycieli. Jeśli natomiast wnioskodawca rachunku nie posiada – to warunkiem przyznania kredytu jest przedstawienie co najmniej trzech poręczycieli. Odpowiednie decyzje końcowe pokazane są jako „liście” na końcu odpowiednich gałęzi. W przypadku atrybutów przyjmujących wartości liczbowe drzewo decyzyjne może być utożsamiane z serią granic tnących przestrzeń tych atrybutów na obszary, w których należy podejmować takie, a nie inne decyzje. Ilustruje to rysunek 15, na którym po lewej stronie pokazana jest przestrzeń wyznaczona przez atrybuty x i y oraz przykłady punktów, w których powinna być podejmowana odpowiednia decyzja 1 lub 2, a po prawej stronie pokazane jest odpowiadające temu drzewo decyzyjne. Rys. 15. Podział przestrzeni atrybutów na obszary różnych decyzji przy użyciu drzewa decyzyjnego przez ekspertów następnych 6 amatorów – i drzewo decyzyjne skwapliwie się tego uczy. 33 klientów, których dochody przekroczyły próg 380 funtów tygodniowo, trafia do węzła nr 5, gdzie badane jest przeznaczenie kredytu. Jeśli klient deklaruje, że zamierza użyć kredytu do sfinansowania wakacji (a w przykładowej tabeli było takich marzycieli 17) – to jest kierowany do węzła nr 6, gdzie są ponownie sprawdzane jego dochody. Jeśli nie osiągają one pułapu 600 funtów tygodniowo – to klient trafia do węzła (liścia) nr 8, gdzie też czeka go końcowa decyzja odmowna. W tabeli opisującej decyzje ekspertów było takich pechowców 7. Jeśli natomiast odpowiedź na pytanie w węźle 6 była negatywna – to klienci trafiają o węzła nr 9, gdzie nareszcie są przydzielane decyzje pozytywne. Takich szczęściarzy jest 10. Liść z pozytywną decyzją znajduje się też w węźle nr 7, do którego trafiają ci średnio zamożni klienci, którzy jednak nie połakomili się na wakacje (negatywna odpowiedź w węźle 5). Jest takich klientów 16. Warto to wszystko prześledzić na rysunku 17. Rys. 16. Przykład zbioru danych, na podstawie którego można nauczyć drzewo decyzyjne Jak wynika z tytułu tej części artykułu – drzewa decyzyjne mogą powstawać automatycznie w wyniku procesu uczenia. Proces ten przebiega w sposób następujący: Najpierw gromadzi się dane na temat decyzji, jakie podejmowali ludzie. Przykład takiego zbioru danych pokazano na rysunku 16. Jest to oczywiście przykład wymyślony dla tego artykułu, ale tak mógłby wyglądać rejestr decyzji podjętych przez ekspertów banku, którzy pewnym ludziom przyznawali kredyty – a innym nie. Atrybutami, które brali pod uwagę, były: dochody (kwoty w tabeli dotyczą tygodniowych dochodów w funtach brytyjskich), liczba poręczycieli zgłoszonych przez osobę ubiegającą się o kredyt oraz przeznaczenie pożyczanych pieniędzy (brane pod uwagę były tylko wakacje albo zakup sprzętu). Wiadomo było też, czy danej osobie kredyt przyznano, czy też nie. Proces uczenia drzewa decyzyjnego pokazany jest na rysunku 17. Korzeniem drzewa (okienko z numerem 1) jest atrybut mówiący o liczbie poręczycieli. Z analizy tabeli (rys. 16) wynikało, że jeśli liczba poręczycieli była mniejsza lub równa 1,5, wówczas proces podejmowania decyzji kończył się negatywnie, czyli na podstawie tego warunku można dojść do liścia o numerze 2, gdzie końcowa decyzja jest negatywna. Takich przypadków w tabeli było 21 – i taką liczbą opatrzona jest gałąź wiodąca od węzła 1 do węzła 2. Negatywna odpowiedź na pytanie zadane w węźle 1 prowadzi do węzła nr 3. Takich przypadków w tabeli było 39. W węźle nr 3 badane jest, czy dochody kredytobiorcy są mniejsze lub równe 380. To odpowiada w tabeli granicy pomiędzy przypadkami od 1 do 12 (w których podjęto decyzję negatywną), a przypadkiem 13, który jako pierwszy otrzymał od ekspertów decyzję pozytywną. W związku z tym odpowiedź „tak” na pytanie w węźle 3 kieruje do liścia nr 4, który też oznacza decyzję negatywną. W ten sposób zostało „załatwionych odmownie” Rys. 17. Sposób automatycznego uczenia drzewa decyzyjnego. Omówienie w tekście. Oglądając rysunek, należy pamiętać, że w każdym węźle odpowiedź „tak” kieruje w lewo, a odpowiedź „nie” – w prawo Przedstawiony wyżej krok po kroku sposób budowy uczącego się drzewa decyzyjnego był możliwy do realizacji „ręcznie”, bo drzewo, które budowaliśmy, składało się z zaledwie 4 węzłów, Rys. 18. Uczące się drzewo decyzyjne do rozpoznawania arytmii (w medycynie) Nr 3 l Marzec 2021 r. l 77 w których były umieszczone określone warunki, oraz miało zaledwie 5 liści. W rzeczywistych zastosowaniach używane są drzewa, w których jest znacznie więcej węzłów – patrz na przykład rys. 18. Budowa i uczenie takich drzew decyzyjnych oparte są (najczęściej) na programach ID3 i C4.5, dostępnych w Internecie. Ale sięgając po te programy, które przy dobrze zebranym zbiorze przykładów wykonają całą pracę automatycznie, warto jednak wiedzieć, co i jak one robią – i temu właśnie poświęcony był ten artykuł. [7] [8] [9] Literatura [1] [2] [3] [4] [5] [6] Tadeusiewicz R.: Uroki gier [Charms of computer games] (felieton z serii „W laboratorium i w praktyce – ciekawostki naukowo-techniczne”) „Dziennik Polski” nr 161 (19475) 11.07.2008, PDF: https://www.academia.edu/34362713/Uroki_gier. Tadeusiewicz R.: Komputery grające w ludzkie gry [Computers playing human games] (felieton z serii „W laboratorium i w praktyce”) „Dziennik Polski” nr 131 (19749) 05.06.2009, PDF: https://www.academia.edu/34921268/Komputery_graj%C4%85ce_w_ludzkie_gry; http://www.dziennikpolski24.pl/ artykul/2603946,komputery-grajace-w-ludzkie-gry,id,t.html. Tadeusiewicz R., Mikrut Z.: Neural networks for image recognition [In Polish: Sieci neuronowe rozpoznające obrazy]. Referat plenarny – I Krajowa Konferencja Sieci Neuronowe i Ich Zastosowania, Kule, 12–15.04.1994, PDF: https://www.academia. edu/37437194/Sieci_neuronowe_rozpoznające_obrazy. Gajecki L., Tadeusiewicz R.: Language Modeling and Large Vocabulary Continuous Speech Recognition. „Journal of Applied Computer Science”, vol. 17, no. 2 (2009), PDF: https://www.academia.edu/37020601/Language_Modeling_and_Large_Vocabulary_Continuous_Speech_Recognition. Demenko G., Tadeusiewicz R.: Technologies of computer speech analysis and their application in police activity [In Polish: Technologie komputerowego przetwarzania mowy i ich możliwe zastosowania w pracy policji]. Rozdział w książce: Szymaniak A., Ciepiela W.: Policja w Polsce – stan obecny i perspektywy. Tom I. Wydawnictwo Naukowe Instytutu Nauk Politycznych i Dziennikarstwa UAM, Poznań 2007, PDF: https://www.academia.edu/37183918/Technologie_komputerowego_przetwarzania_mowy_i_ich_możliwe_zastosowania_w_pracy_policji Tadeusiewicz R.: Maszyna cyfrowa – partner do pogawędki. [Computer – Partner to a Chat]. „Młody Technik” 3/1977, PDF: https://www.academia.edu/34703955/ Maszyna_cyfrowa_-_partner_do_pogaw%C4%99dki. 78 l Nr 3 l Marzec 2021 r. [10] [11] [12] Tadeusiewicz R.: Mowa i maszyny. [Speech and Machines]. „Młody Technik” 1/1977, PDF: https://www.academia. edu/34703498/Mowa_i_maszyny. Mazoń S., Tadeusiewicz R.: Man-computer natural language conversation [In Polish: Konwersacja człowieka z maszyną cyfrową w języku naturalnym]. „Informatyka” 9/1978, PDF: https://www. academia.edu/28247444/Konwersacja_cz%C5%82owieka_z_ maszyn%C4%85_cyfrow%C4%85_w_j%C4%99zyku_naturalnym. Mazoń S., Tadeusiewicz R.: An attempt to description of some class of natural man – computer communication. [In Polish: Próba opisu pewnej klasy systemów naturalnej konwersacji człowieka z maszyną cyfrową]. Archiwum Automatyki i Telemechaniki, Tom XXIV, nr 2, 1979, PDF: https://www.academia. edu/36357748/Próba_opisu_pewnej_klasy_systemów_naturalnej_konwersacji_człowieka_z_maszyną_cyfrową; https://www. researchgate.net/publication/265546583_An_attempt_at_describing_a_class_of_man-machine_dialogue_systems_based_on_a_ natural_language. Tadeusiewicz R.: Natural language and computers [In Polish: Język naturalny i komputery]. Rozdział w pracy zbiorowej Lubaszewski W. (red.): Słowniki komputerowe i automatyczna ekstrakcja informacji z tekstu. UWND, Kraków 2009, PDF: https:// www.academia.edu/39535742/Język_naturalny_i_komputery Tadeusiewicz R.: Uczące się drzewa decyzyjne [Learning decision trees] (felieton z serii „W laboratorium i w praktyce – ciekawostki naukowo-techniczne”) „Dziennik Polski”, nr 208 (19522) 05.09.2008, https://www.academia.edu/34367315/ Ucz%C4%85ce_si%C4%99_drzewa_decyzyjne. Tadeusiewicz R., Dudek-Dyduch E.: Construction of Branch & Bound Decision Tree in Optimization of Discrete Manufacturing Processes, in: Computer Science in Management, Tempus S-JEP-09139-95, 1998, https://www.academia.edu/36360110/ Construction_of_Branch_and_Bound_Decision_Tree_in_Optimization_of_Discrete_Manufacturing_Processes.  prof. dr hab. inż. Ryszard Tadeusiewicz AGH – Akademia Górniczo-Hutnicza w Krakowie e-mail: rtad@agh.edu.pl, www.Tadeusiewicz.pl