Paweł Cichosz
Systemy uczące się ucz¹ce siê
Opiniodawca prof. dr hab. Andrzej Szałas
Redaktor Zofia Dackiewicz Okładkę i strony tytułowe projektował Paweł G. Rubaszewski Korekta Lech Oleksiak, Gabriela
Szpunar
Skład i łamanie Paweł Cichosz
Podręcznik akademicki dotowany przez Ministerstwo Edukacji Narodowej
© Copyright by Wydawnictwa Naukowo-Techniczne Warszawa 2000 Ali Rights Reserved Printed in Poland Utwór w całości ani we fragmentach nie może być powielany ani rozpowszechniany za pomocą urządzeń elektronicznych, mechanicznych, kopiujących, nagrywających i innych, w tym również nie może być umieszczany ani rozpowszechniany w postaci cyfrowej zarówno w Internecie, jak i w sieciach lokalnych, bez pisemnej zgody posiadacza praw autorskich. Adres poczty elektronicznej:
[email protected] Strona WWW: www.wnt.com.pl
ISBN 83-204-2544-1
Spis treści Przedmowa
17
Podziękowania
25
Wykaz ważniejszych oznaczeń
27
1 Uczenie się w ujęciu algorytmicznym 1.1 Znaczenie uczenia się 1.1.1 Definicja uczenia się 1.1.2 Programy uczące się 1.1.3 Przykłady maszynowego uczenia się 1.1.4 Motywacja do uczenia się 1.2 Rodzaje uczenia się 1.2.1 Taksonomia maszynowego uczenia się 1.2.2 Główne działy maszynowego uczenia się 1.3 Nauka o uczeniu się 1.3.1 Trzy nurty 1.3.2 Dziedziny pokrewne 1.4 Uczenie się w sztucznej inteligencji 1.4.1 Słaba i silna sztuczna inteligencja 1.4.2 Główne działy sztucznej inteligencji 1.4.3 Uczenie się wiedzy do wnioskowania 1.4.4 Uczenie się heurystyk 1.5 Uczenie się jako wnioskowanie 1.5.1 Typy wnioskowania 1.5.2 Transmutacje wiedzy 1.5.3 Uczenie się jako przeszukiwanie 1.6 Zastosowania systemów uczących się 1.7 Perspektywa filozoficzna 1.8 Podsumowanie 1.9 Uwagi historyczne i bibliograficzne 1.10 Ćwiczenia 2 Uczenie się indukcyjne 2.1 Wnioskowanie indukcyjne 2.2 Główne rodzaje indukcyjnego uczenia się 2.2.1 Uczenie się pojęć 2.2.2 Tworzenie pojęć 2.2.3 Uczenie się aproksymacji funkcji
. . . .
31 32 33 35 37 39 41 41 45 45 45 46 49 49 50 52 52 53 53 54 55 55 58 63 64 68 70 71 71 74 85 87
6
SPIS TREŚCI 2.2.4 Tryby uczenia się 2.2.5 Obciążenie indukcyjne 2.2.6 Inne odmiany indukcyjnego uczenia się Algorytmiczna teoria indukcji 2.3.1 Szacowanie błędów hipotez 2.3.2 Model PAC 2.3.3 PAC-nauczalność 2.3.4 Wymagania dotyczące liczby przykładów 2.3.5 Wymiar Vapnika-Chervonenkisa 2.3.6 Brzytwa Ockhama 2.3.7 Model ograniczania liczby pomyłek Uczenie się przestrzeni wersji 2.4.1 Częściowy porządek hipotez 2.4.2 Reprezentacja hipotez przez kompleksy 2.4.3 Reprezentacja przestrzeni wersji 2.4.4 Algorytm eliminacji kandydatów 2.4.5 Stosowanie przestrzeni wersji 2.4.6 Dobór przykładów trenujących 2.4.7 Obciążenie algorytmu CAE Zagadnienia praktyczne Zagadnienia implementacyjne 2.6.1 Reprezentacja informacji o atrybutach 2.6.2 Reprezentacja przykładów Podsumowanie Uwagi historyczne i bibliograficzne Ćwiczenia
90 92 93 94 94 98 99 102 109 113 115 117 118 118 120 122 125 127 128 128 130 130 131 131 132 135
Indukcja drzew decyzyjnych 3.1 Drzewa decyzyjne jako hipotezy 3.1.1 Struktura drzewa 3.1.2 Notacja dla drzew decyzyjnych 3.1.3 Zalety i ograniczenia drzew decyzyjnych 3.2 Zstępujące konstruowanie drzewa 3.2.1 Kryterium stopu i ustalenie etykiety 3.2.2 Rodzaje testów 3.2.3 Kryterium wyboru testu 3.2.4 Kandydujące testy 3.3 Przycinanie drzewa 3.3.1 Schemat przycinania 3.3.2 Kryteria przycinania 3.3.3 Liście probabilistyczne 3.4 Złożoność obliczeniowa 3.5 Zagadnienia praktyczne 3.5.1 Duże zbiory przykładów 3.5.2 Atrybuty o wielu wartościach 3.5.3 Brakujące wartości atrybutów
138 139 139 141 144 146 147 150 152 162 168 169 170 172 174 175 175 176 177
2.3
2.4
2.5 2.6
2.7 2.8 2.9 3
SPIS TREŚCI
3.6
3.7 3.8 3.9
3.5.4 Inkrementacyjne konstruowanie drzewa Zagadnienia implementacyjne 3.6.1 Reprezentacja drzewa 3.6.2 Rekurencja 3.6.3 Przekazywanie argumentów 3.6.4 Ocena testów nierównościowych Podsumowanie Uwagi historyczne i bibliograficzne Ćwiczenia
4 Indukcja reguł 4.1 Zbiory reguł jako hipotezy 4.1.1 Logiczne podstawy reprezentacji regułowej 4.1.2 Reprezentacja warunków 4.1.3 Zbiory reguł 4.1.4 Złożoność hipotez 4.2 Sekwencyjne pokrywanie 4.3 Algorytm AQ 4.3.1 Strategia przeszukiwania 4.3.2 Specjalizacja gwiazdy 4.3.3 Ocena kompleksów 4.3.4 Wybór ziaren 4.3.5 Wybór kategorii 4.4 Algorytm CN2 4.4.1 Strategia przeszukiwania 4.4.2 Ocena kompleksów 4.4.3 Wybór kategorii 4.5 Przycinanie zbiorów reguł 4.5.1 Schemat przycinania 4.5.2 Kryteria przycinania 4.6 Złożoność obliczeniowa 4.7 Zagadnienia praktyczne 4.7.1 Niepoprawne dane trenujące 4.7.2 Efektywna specjalizacja 4.7.3 Atrybuty porządkowe i ciągłe 4.7.4 Brakujące wartości atrybutów 4.7.5 Inkrementacyjna indukcja reguł 4.8 Zagadnienia implementacyjne 4.8.1 Reprezentacja kompleksów 4.8.2 Reprezentacja zbiorów kompleksów 4.9 Podsumowanie 4.10 Uwagi historyczne i bibliograficzne 4.11 Ćwiczenia
7 183 185 185 186 186 187 188 189 191 194 195 195 197 202 210 212 214 215 217 219 222 223 228 228 230 234 239 . . . 240 241 241 242 243 244 246 249 251 252 252 254 255 257 258
8
SPIS TREŚCI
5
Metody probabilistyczne 5.1 Prawdopodobieństwo w sztucznej inteligencji 5.2 Twierdzenie Bayesa 5.3 Klasyfikacja bayesowska 5.3.1 Wybór hipotezy 5.3.2 Prawdopodobieństwo danych 5.3.3 Optymalny klasyfikator bayesowski 5.3.4 Klasyfikacja bayesowska w praktyce 5.3.5 Naiwny klasyfikator bayesowski 5.4 Sieci bayesowskie 5.4.1 Terminologia 5.4.2 Struktura i semantyka sieci 5.4.3 Wnioskowanie w sieciach bayesowskich 5.4.4 Indukcja sieci bayesowskich 5.5 Zasada minimalnej długości kodu 5.5.1 Prawdopodobieństwo a długość kodu 5.5.2 Indukcja jako kompresja danych 5.5.3 Kodowanie 5.5.4 Kodowanie danych 5.5.5 Stosowanie zasady minimalnej długości kodu 5.6 Zagadnienia praktyczne 5.6.1 Prawdopodobieństwa a priori 5.6.2 Atrybuty ciągłe 5.7 Zagadnienia implementacyjne 5.8 Podsumowanie 5.9 Uwagi historyczne i bibliograficzne 5.10 Ćwiczenia
263 264 265 267 267 268 271 274 275 283 284 284 290 291 294 295 297 298 301 302 304 304 306 309 309 311 313
6
Grupowanie pojęciowe 6.1 Grupowanie jako wiedza 6.1.1 Grupowanie według podobieństwa 6.1.2 Od grupowania do pojęć 6.2 Grupowanie za pomocą pokryć 6.2.1 Kompleksy jako reprezentacja grupowania 6.2.2 Wyznaczanie kompleksów opisujących kategorie 6.2.3 Ocena jakości grupowania 6.2.4 Liczba kategorii 6.2.5 Klasyfikowanie przykładów 6.3 Grupowanie probabilistyczne 6.3.1 Grupowanie pojęciowe jako przeszukiwanie 6.3.2 Funkcja oceny grupowania 6.3.3 Reprezentacja grupowania 6.3.4 Operatory 6.3.5 Strategia sterowania 6.3.6 Klasyfikowanie przykładów 6.4 Grupowanie z atrybutami ciągłymi
316 317 317 320 320 321 323 331 331 332 334 335 335 339 345 348 353 357
SPIS TREŚCI
6.4.1 Algorytm CLUSTER/2 i atrybuty ciągłe 6.4.2 Algorytm COBWEB i atrybuty ciągłe 6.4.3 Grupowanie wyłącznie z atrybutami ciągłymi 6.5 Grupowanie jako kompresja danych 6.5.1 Kodowanie hipotez 6.5.2 Kodowanie danych 6.6 Zagadnienia praktyczne 6.6.1 Grupowanie w uczeniu się z nadzorem 6.6.2 Duże zbiory danych 6.7 Zagadnienia implementacyjne 6.8 Podsumowanie 6.9 Uwagi historyczne i bibliograficzne 6.10 Ćwiczenia 7 Przekształcanie atrybutów 7.1 Przestrzeń atrybutów a przestrzeń hipotez 7.1.1 Informacyjna zawartość atrybutów 7.1.2 Rola atrybutów w grupowaniu 7.1.3 Atrybuty a reprezentacja 7.1.4 Rodzaje przekształceń 7.2 Dyskretyzacja atrybutów ciągłych 7.2.1 Dyskretyzacja a agregacja atrybutów porządkowych 7.2.2 Korzyści z dyskretyzacji 7.2.3 Rodzaje dyskretyzacji 7.2.4 Przedziały i wartości progowe 7.2.5 Prymitywne metody dyskretyzacji 7.2.6 Dyskretyzacja zstępująca 7.2.7 Dyskretyzacja wstępująca 7.2.8 Dyskretyzacja jako kompresja danych 7.2.9 Dyskretyzacja bez nadzoru 7.2.10 Agregacja atrybutów porządkowych 7.3 Konstruktywna indukcja 7.3.1 Rodzaje konstruktywnej indukcji 7.3.2 Konstruktywna indukcja na podstawie danych 7.3.3 Konstruktywna indukcja na podstawie hipotez 7.4 Zagadnienia praktyczne 7.4.1 Celowość dyskretyzacji 7.4.2 Wybór metody dyskretyzacji 7.4.3 Liczba przedziałów dyskretyzacji 7.4.4 Atrybuty o nieznanej przeciwdziedzinie 7.4.5 Stosowanie konstruktywnej indukcji 7.5 Zagadnienia implementacyjne 7.5.1 Implementacja dyskretyzacji zstępującej 7.5.2 Implementacja dyskretyzacji wstępującej 7.6 Podsumowanie 7.7 Uwagi historyczne i bibliograficzne
9 358 359 361 365 366 366 367 367 368 369 370 371 373 377 378 378 378 379 381 383 384 385 385 387 389 392 397 403 405 406 407 408 409 415 420 420 420 421 421 422 423 423 424 425 427
10
SPIS TREŚCI 7.8
8
Ćwiczenia
Uczenie się aproksymacji funkcji 8.1 Zadanie aproksymacji 8.1.1 Cechy przykładów 8.1.2 Aproksymowane odwzorowanie 8.1.3 Ocena hipotez 8.1.4 Tryby i szybkość uczenia się 8.1.5 Informacja trenująca 8.2 Rodzaje aproksymatorów 8.3 Metody parametryczne 8.3.1 Obliczanie wartości funkcji 8.3.2 Aktualizacja wartości funkcji 8.3.3 Aproksymator liniowy 8.3.4 Aproksymatory nieliniowe 8.3.5 Metody wykładniczo-gradientowe 8.3.6 Regresja 8.3.7 Atrybuty dyskretne 8.4 Rozszerzona reprezentacja 8.4.1 Rozszerzanie opisu przykładów 8.4.2 Reprezentacja randomizowana 8.4.3 Rozproszone przybliżone kodowanie 8.5 Metody pamięciowe 8.5.1 Pamięć i jej stosowanie 8.5.2 Najbliższy sąsiad 8.5.3 Lokalne średnie ważone 8.5.4 Lokalna regresja 8.6 Metody symboliczne 8.6.1 Hipotezy modelowania 8.6.2 Drzewa modelowania 8.7 Zagadnienia praktyczne 8.7.1 Dobór rozmiaru kroku 8.7.2 CMAC i nieograniczone przeciwdziedziny cech 8.7.3 Mieszane przestrzenie atrybutów 8.7.4 Ograniczona pamięć w metodach pamięciowych 8.8 Zagadnienia implementacyjne 8.8.1 Wagi w rozproszonych przybliżonych tablicach 8.8.2 Zapamiętywanie przykładów 8.9 Podsumowanie 8.10 Uwagi historyczne i bibliograficzne 8.11 Ćwiczenia
429
'
432 433 433 434 435 435 437 437 438 438 439 441 446 446 447 447 448 448 450 453 469 469 471 473 474 475 475 477 479 480 481 481 483 484 484 485 487 488 490
SPIS TREŚCI
11
9 Indukcyjne programowanie logiczne 9.1 Reprezentacja wiedzy w rachunku predykatów 9.2 Uczenie się pojęć w rachunku predykatów 9.3 Sekwencyjne pokrywanie dla predykatów 9.3.1 Podstawowy schemat 9.3.2 Generowanie koniunkcji 9.3.3 Lokalne zbiory trenujące 9.3.4 Kryterium stopu 9.3.5 Wybór literałów 9.4 Odwracanie dedukcji 9.4.1 Wnioskowanie za pomocą zasady rezolucji 9.4.2 Odwrócona rezolucja 9.4.3 Uczenie się za pomocą odwróconej rezolucji 9.5 Zagadnienia praktyczne 9.5.1 Unikanie nadmiernego dopasowania 9.5.2 Niepoprawne dane trenujące 9.5.3 Pojęcia zdaniowe 9.6 Zagadnienia implementacyjne 9.6.1 Reprezentacja klauzul 9.6.2 Reprezentacja literałów 9.7 Podsumowanie 9.8 Uwagi historyczne i bibliograficzne 9.9 Ćwiczenia
493 494 495 512 513 514 516 520 521 529 529 530 533 535 535 538 539 539 540 540 541 542 543
10 Dokonywanie odkryć 10.1 Wiedza a dane 10.1.1 Zależności w danych jako wiedza 10.1.2 Zależności w relacyjnych bazach danych 10.1.3 Uczenie się jako odkrywanie wiedzy 10.2 Stosowanie algorytmów uczenia się 10.2.1 Duże zbiory danych 10.2.2 Liczne atrybuty 10.2.3 Liczne kategorie 10.2.4 Nierównomierny rozkład kategorii 10.2.5 Inkrementacyjna aktualizacja 10.2.6 Niekompletne dane 10.2.7 Niepoprawne dane 10.2.8 Metauczenie się 10.3 Odkrywanie asocjacji 10.3.1 Reguły asocjacyjne 10.3.2 Tablice kontyngencji 10.3.3 Wzorce w tablicach kontyngencji 10.3.4 Od wzorców do reguł asocjacyjnych 10.3.5 Poszukiwanie wzorców 10.3.6 Reguły asocjacyjne dla wielu atrybutów 10.4 Odkrywanie równań
546 547 547 548 549 550 551 555 556 557 558 558 559 560 568 569 571 573 577 578 578 584
12
SPIS TREŚCI
10.5 10.6 10.7 10.8 10.9
10.4.1 Terminologia i notacja dla równań 10.4.2 Równania z dwiema zmiennymi 10.4.3 Równania z wieloma zmiennymi Zagadnienia praktyczne Zagadnienia implementacyjne 10.6.1 Struktury danych dla dużych zbiorów trenujących Podsumowanie Uwagi historyczne i bibliograficzne Ćwiczenia
11 Uczenie się przez wyjaśnianie 11.1 Wiedza wrodzona w uczeniu się 11.1.1 Wykorzystanie wiedzy wrodzonej w indukcji 11.1.2 Uczenie się jako kompilacja wiedzy wrodzonej 11.1.3 Obciążenie w uczeniu się przez wyjaśnianie 11.2 Generalizacja na podstawie wyjaśnień 11.2.1 Sformułowanie zadania 11.2.2 Algorytm EBG 11.3 Usprawnianie rozwiązywania problemów 11.3.1 Rozwiązywanie problemów w sztucznej inteligencji 11.3.2 Rozwiązywanie problemów a planowanie 11.3.3 Uczenie się rozwiązywania problemów 11.4 Łączenie wyjaśniania i indukcji 11.4.1 Integracja indukcji i dedukcji 11.4.2 Dedukcyjna specjalizacja 11.5 Zagadnienia praktyczne 11.5.1 Niedoskonała teoria 11.5.2 Niepoprawne przykłady 11.5.3 Przykłady negatywne 11.6 Zagadnienia implementacyjne 11.7 Podsumowanie 11.8 Uwagi historyczne i bibliograficzne 11.9 Ćwiczenia 12 Uczenie się automatów 12.1 Automat jako model języka i środowiska 12.1.1 Automaty skończone 12.1.2 Perspektywa lingwistyczna 12.1.3 Perspektywa identyfikacji 12.1.4 Zadanie uczenia się automatów 12.2 Uczenie się na podstawie zapytań 12.2.1 Zapytania i odpowiedzi 12.2.2 AlgorytmL* 12.2.3 Osłabianie informacji trenującej 12.3 Uczenie się na podstawie eksperymentów 12.3.1 Algorytmy sekwencji sprowadzających
585 586 599 604 604 605 610 611 615 619 620 620 623 625 625 626 630 640 640 642 642 644 645 646 649 650 651 652 . 653 653 655 656 658 659 661 662 663 667 672 672 673 682 683 684
SPIS TREŚCI 12.3.2 Algorytm równoważności testów 12.4 Zagadnienia praktyczne 12.4.1 Niedeterminizm automatu docelowego 12.4.2 Usprawnianie testowania równoważności 12.5 Zagadnienia implementacyjne 12.5.1 Reprezentacja tablicy obserwacji 12.5.2 Reprezentacja zbiorów testów 12.6 Podsumowanie 12.7 Uwagi historyczne i bibliograficzne 12.8 Ćwiczenia 13 Uczenie się ze wzmocnieniem 13.1 Zadanie uczenia się ze wzmocnieniem 13.1.1 Uczenie się z wartościującym sprzężeniem zwrotnym 13.1.2 Scenariusz 13.1.3 Środowisko 13.1.4 Zadanie ucznia 13.1.5 Zadania epizodyczne 13.1.6 Tryby uczenia się 13.1.7 Specyfika uczenia się ze wzmocnieniem 13.2 Procesy decyzyjne Markowa 13.2.1 Własność Markowa 13.2.2 Strategie i funkcje wartości 13.2.3 Optymalność strategii 13.2.4 Problemy Markowa a uczenie się ze wzmocnieniem 13.3 Programowanie dynamiczne 13.3.1 Równania Bellmana 13.3.2 Wartościowanie strategii 13.3.3 Wyznaczanie strategii optymalnej 13.3.4 Programowanie dynamiczne a uczenie się 13.4 Uczenie się funkcji wartości 13.4.1 AlgorytmTD 13.4.2 Zbieżność 13.5 Uczenie się strategii 13.5.1 Algorytm AHC 13.5.2 Algorytm Q-learning 13.5.3 Algorytm Sarsa 13.6 Wybór akcji 13.6.1 Strategie probabilistyczne 13.6.2 Strategie licznikowe 13.7 Reprezentacja funkcji 13.8 Przyspieszanie uczenia się: TD(A > 0) 13.8.1 Ślady aktywności 13.8.2 Dochody TD(A) 13.8.3 Uczenie się strategii 13.8.4 Rola i dobór A
13 690 703 703 704 705 705 706 . 706 708 710 712 713 713 715 716 717 719 722 724 726 727 730 734 739 740 740 744 747 751 753 754 756 757 757 760 763 764 766 767 767 769 769 773 774 775
14
SPIS TREŚCI 13.9 Uczenie się rozwiązywania problemów 13.9.1 Problem jako środowisko 13.9.2 Rozwiązanie jako strategia 13.9.3 Funkcja wartości jako heurystyka 13.10 Zagadnienia praktyczne 13.10.1 Ukryty stan 13.10.2 Aktywna percepcja 13.10.3 Uczenie się i planowanie 13.10.4 Hierarchiczne uczenie się 13.10.5 Wiedza wrodzona 13.11 Zagadnienia implementacyjne 13.11.1 Efektywne ślady aktywności 13.11.2 Eliminacja śladów aktywności 13.12 Podsumowanie 13.13 Uwagi historyczne i bibliograficzne 13.14 Ćwiczenia
14 Zakończenie 14.1 Od algorytmów do systemów 14.1.1 Etapy konstruowania systemu 14.2 Lista nieobecności 14.2.1 Sieci neuronowe 14.2.2 Algorytmy ewolucyjne 14.2.3 Zagadnienia szczegółowe 14.3 Kierunki badań 14.3.1 Wyzwania teoretyczne 14.3.2 Wyzwania koncepcyjne 14.3.3 Wyzwania praktyczne 14.4 Słowo końcowe 14.5 Podsumowanie 14.6 Uwagi historyczne i bibliograficzne 14.7 Ćwiczenia A Rozwiązania i wskazówki do ćwiczeń A.l Rozdziali A.2 Rozdział 2 A.3 Rozdział 3 A.4 Rozdział4 A.5 Rozdział 5 A.6 Rozdziało A.7 Rozdział 7 A.8 Rozdział 8 A.9 Rozdział 9 A.10 Rozdział 10 A.ll Rozdział 11 A.12 Rozdział 12
776 776 777 778 778 780 781 781 782 782 783 783 784 785 787 790
'
793 794 794 798 798 799 800 802 803 804 804 805 806 806 807 809 809 809 812 815 818 822 827 831 835 839 841 844
SPIS TREŚCI A.13 Rozdział 13 A.14 Rozdział 14
15 847 851
B Podstawy teorii prawdopodobieństwa B.l Zdarzenia B.2 Aksjomaty prawdopodobieństwa B.3 Prawdopodobieństwo warunkowe B.4 Zmienne losowe B.4.1 Zmienne losowe dyskretne B.4.2 Zmienne losowe ciągłe B.5 Ważniejsze rozkłady prawdopodobieństwa
852 852 852 852 853 854 855 856
C Podstawy logiki predykatów C l Składnia języka predykatów C2 Semantyka języka predykatów C 3 Wnioskowanie w rachunku predykatów C 4 Rachunek predykatów w uczeniu się
857 857 858 860 861
D Internetowa strona książki
862
Literatura
863
Skorowidz
881
Dla A.(Q)
Przedmowa Fve got a linie blach book with mypoems inl Gdy praca owa ukazała się własnym moim nakładem, wybiegłem co rychlej na ulicę, tego pewien, iż lud mię zaraz na barkach swych uniesie, kwiatami uwieńczy i złotem obsypie, aliści nawet cybernardyn kulawy mnie nie pochwalił1.
Pomysł napisania tej książki pojawił się jesienią 1995 r., kiedy prowadziłem po raz pierwszy przedmiot Uczenie się maszyn dla studentów Wydziału Elektroniki i Technik Informacyjnych Politechniki Warszawskiej i pracowałem nad przygoto waniem dość szczegółowych notatek. Wówczas udało się to tylko częściowo — przygotowałem notatki jedynie do tych partii wykładanego materiału, w których czułem się niezbyt pewnie, a te najlepiej sobie znane omawiałem bez specjalnego przygotowania. Następnie od początku 1996 aż do połowy 1997 r. byłem zbyt po chłonięty swoją rozprawą doktorską, aby do sprawy wracać. Powrót ten nastąpił dopiero jesienią 1997 r., kiedy czas oczekiwania na recenzje tej rozprawy umila łem sobie przygotowywaniem, tym razem w sposób bardziej kompletny i syste matyczny, notatek do nieco zmodernizowanej wersji mojego wykładu. Wówczas notatki te, liczące niewiele ponad sto stron, udostępniłem studentom i nienajgor sze przyjęcie, z jakim się spotkały, spowodowało, że pomysł napisania książki o maszynowym uczeniu się pojawił się ponownie tuż po obronie rozprawy. Tak jak za pierwszym razem, tak i wówczas było oczywiste, że jest to pomysł szalony. Nie uważałem, aby moja wiedza, doświadczenie i umiejętność pisania były wy starczające do takiego przedsięwzięcia. Jeszcze mniej optymistycznie oceniałem własne zasoby energii, pracowitość i konieczną w tego rodzaju projektach bezin teresowność. Ale byłem tuż po kilkuletniej intensywnej pracy nad doktoratem oraz kilkumiesięcznym okresie rozprężenia między jej ukończeniem a obroną i musia łem sobie odpowiedzieć na pytanie, co robić dalej. Okazało się bardzo szybko, że ten szalony pomysł pisania książki jest na tyle kuszący, że nie potrafię się mu oprzeć. Stanowił on bowiem prawdziwe wyzwanie, które nie daje spokoju dopóty, dopóki nie stawi się mu czoła. Miałem szereg powodów, by wątpić, czy potrafię tę książkę dobrze napisać. I właśnie dlatego, a nie mimo to, musiałem spróbować. ]
Nobody home (Pink Floyd: The Wall). Bajka o trzech maszynach opowiadających króla Genialona.
2
18
PRZEDMOWA
Czytelnik otrzymuje obecnie efekt mojego kilkunastomiesięcznego zmagania się z tym wyzwaniem, do którego trzeba doliczyć także kilkunastomiesięczny etap prac redakcyjnych i przygotowywania tekstu do druku.
Cel książki Książka ma służyć jako podręcznik akademicki, dotyczący systemów uczących się. Jest to szczególnie intensywnie rozwijająca się dziedzina badań w ramach sztucznej inteligencji, która w ostatnich latach budzi w wielu krajach rosnące za interesowanie na uczelniach i w instytutach naukowych oraz coraz częściej znaj duje znaczące zastosowania praktyczne. Jej przedmiotem są metody konstruowa nia programów komputerowych, charakteryzujących się zdolnością do uczenia się, czyli — mówiąc najogólniej — do poprawy jakości wykonywania swoich zadań na podstawie doświadczeń z przeszłości. Dziedzinę tę będziemy nazywać ucze niem się maszyn lub maszynowym uczeniem się, chociaż są to bardzo niezręcznie brzmiące w języku polskim odpowiedniki jej angielskiej nazwy machinę learning. Celem książki jest prezentacja najważniejszych rodzajów maszynowego ucze nia się i odpowiadających im algorytmów uczenia się, opracowanych w większości w ciągu ostatnich 20 lat. W polskiej literaturze nie ma dotychczas pozycji, któ ra prezentowałaby wyniki badań nad systemami uczącymi się w sposób wszech stronny, systematyczny i nowoczesny. Nieliczne dostępne publikacje, poruszające zagadnienia maszynowego uczenia się, mają ograniczony zakres, uwzględniający tylko niektóre szczególne rodzaje i algorytmy uczenia się, a jedynym naprawdę dobrze reprezentowanym w nich typem systemów uczących się są sztuczne sieci neuronowe. Tę dotkliwą lukę ma wypełnić przedstawiana czytelnikowi książka.
Tematyka książki Próby konstruowania programów uczących się nie są motywowane chęcią elimi nacji wysiłku projektantów oprogramowania i programistów. Nie są one w żadnej mierze alternatywą dla tradycyjnej inżynierii oprogramowania. Motywacja do ich podejmowania nie wynika ze złożoności procesu tworzenia oprogramowania, któ rej opanowaniu służą nowoczesne metody analizy i projektowania, lecz ze złożo ności niektórych rodzajów zadań stawianych programom komputerowym, utrud niającej lub uniemożliwiającej sformułowanie poprawnych i pełnych algorytmów ich rozwiązywania. Program uczący się można sobie wyobrażać jako program wy korzystujący szablonowy, wymagający konkretyzacji algorytm wykonywania za dania, w którym pewne „puste miejsca" należy wypełnić nieznanymi z góry para metrami. Wówczas uczenie się polega na przekształceniu tego algorytmu w algo rytm konkretny spełniający wymagania konstruktora przez dobranie na podstawie
PRZEDMOWA
19
historycznych doświadczeń odpowiednich parametrów szablonu. Owe uzyskiwane w wyniku uczenia się parametry są nazywane, zależnie od rodzaju zadań, wiedzą lub umiejętnością. Algorytmy pozyskiwania lub doskonalenia wiedzy bądź umie jętności nazywa się algorytmami uczenia się. W literaturze systemów uczących się znanych jest bardzo wiele algorytmów uczenia się. Można je dzielić na grupy ze względu na różne kryteria, takie jak me toda reprezentacji wiedzy (umiejętności), rodzaj zadań, do wykonywania których ta wiedza (umiejętność) jest używana, sposób pozyskiwania doświadczeń stano wiących podstawę uczenia się (informacji trenującej). W książce będą omówio ne najbardziej reprezentatywne i skuteczne w praktyce algorytmy poszczególnych grup. Świadomie będą przy tym niemal całkowicie pominięte sieci neuronowe, które oczywiście są systemami uczącymi się szczególnego typu, lecz doczekały się już wielu znakomitych książek wydanych w języku polskim.
Przeznaczenie książki Książka, jako podręcznik akademicki, jest przeznaczona przede wszystkim dla stu dentów wyższych uczelni, studiujących na kierunkach informatycznych lub po krewnych. Będzie ona również pomocna dla nauczycieli akademickich zaintereso wanych prowadzeniem przedmiotów dotyczących systemów uczących się, którzy oprócz tekstu umożliwiającego opracowanie wykładu znajdą propozycje ćwiczeń i projektów. Dzięki wszechstronnemu i nowoczesnemu potraktowaniu dziedziny maszynowego uczenia się książka może się też stać pożytecznym źródłem infor macji dla naukowców, porządkującym najważniejsze wyniki badań w tej dziedzi nie i wskazującym podstawowe pozycje literatury. Dla doktorantów planujących własne badania dotyczące maszynowego uczenia się zapoznanie się z treścią książ ki będzie dobrym punktem wyjścia, dającym orientację w obecnym stanie wiedzy i ułatwiającym identyfikację obiecujących kierunków badawczych. Powinna ona także zaspokoić po części potrzeby praktyków zainteresowanych zastosowaniami systemów uczących się, zwłaszcza do odkrywania zależności w bazach danych, pozyskiwania wiedzy dla systemów eksperckich i automatycznego sterowania. U czytelników książki będzie zakładana znajomość podstaw informatyki i ele mentarna umiejętność programowania w dowolnym języku programowania. W lekturze niektórych fragmentów książki będzie pomocna znajomość podstaw rachunku prawdopodobieństwa i logiki formalnej, gdziekolwiek jednak wykorzy stywany aparat matematyczny wykracza poza materiał szkoły średniej, będzie on zwięźle opisany w dodatkach. Nieliczne trudniejsze pod względem matematycz nym rozważania czytelnicy niezainteresowani teoretycznymi podstawami syste mów uczących się mogą pominąć bez szkody dla zrozumienia istoty omawianych w niej algorytmów.
20
PRZEDMOWA
Ćwiczenia i projekty Ćwiczenia zamieszczane na końcu każdego rozdziału mają pomóc czytelnikowi w weryfikacji i ugruntowaniu zrozumienia omawianych w rozdziale zagadnień, zwrócić jego uwagę na niektóre szczegółowe problemy, które nie zostały dokład nie przedstawione w głównym tekście rozdziału, a niekiedy zasugerować pewne możliwe rozszerzenia algorytmów. W książce występują ćwiczenia trzech typów: tradycyjne: rozwiązywane za pomocą długopisu i kartki papieru, laboratoryjne: rozwiązywane przy komputerze z wykorzystaniem oprogramo wania towarzyszącego książce, dostępnego w Internecie, projektowe: rozwiązywane przez samodzielne zaprojektowanie, napisanie i uru chomienie programów. Wśród ćwiczeń tradycyjnych znajdują się m.in. pytania dotyczące pewnych elementów teorii lub właściwości algorytmów, polecenia prześledzenia działania algorytmów dla podanych danych wejściowych oraz ogólne sugestie pewnych mo dyfikacji algorytmów z prośbą o ich sprecyzowanie i przedyskutowanie. Szkicowe rozwiązania lub wskazówki do większości ćwiczeń tego typu są podane w dodatku do książki. Ćwiczenia laboratoryjne polegają na przeprowadzeniu eksperymentów, wy korzystujących zamieszczone na internetowej stronie książki implementacje oma wianych w niej algorytmów oraz na dokonaniu pewnych niewielkich zmian w tych programach. Ćwiczenia projektowe dotyczą implementacji pewnych wariantów algorytmów omawianych w książce i ewentualnie wykorzystania ich w konkretnych prostych zastosowaniach.
Oprogramowanie Książce towarzyszy zbiór programów, implementujących niektóre spośród oma wianych w niej algorytmów uczenia się. Sposób implementacji możliwie wier nie odzwierciedla opis algorytmów zamieszczony w tekście. Programy w postaci źródłowej w języku Common Lisp, którego komercyjne i darmowe interpretery są dostępne dla wszystkich częściej spotykanych typów komputerów i systemów operacyjnych (w tym dla najbardziej popularnych komputerów PC z systemami DOS/Windows i Linux), dostępne na internetowej stronie książki pod adresem h t t p : / / t i c h y . i s e .pw. edu . p l / S U / s u . h t m l . Dostępny jest tam także niekomercyjny intepreter języka Common Lisp w wersjach dla najbardziej popu larnych platform (MS DOS, MS Windows, Linux). Wybór najszerzej używanego dialektu języka Lisp, normowanego standardem ANSI, jako języka programowa nia, w którym zostały zaimplementowane algorytmy z książki, jest uzasadniony:
PRZEDMOWA
21
• jego dużymi walorami dydaktycznymi, w tym możliwością dokładnego śle dzenia wykonywania programów i łatwością ich modyfikacji ad hoc, • dostępnością mechanizmów wspomagających przetwarzanie symboliczne, le żące u podstaw większości implementowanych algorytmów, co pozwala uwol nić programy od nużących technicznych szczegółów i skoncentrować uwagę na algorytmach, kodowanych na poziomie abstrakcji zbliżonym do poziomu abstrakcji ich opisu w książce, • dążeniem do zapewnienia dużej przenośności kodu dostarczanego czytelni kom, umożliwiającej korzystanie z niego na różnych komputerach z różnymi systemami operacyjnymi. Chociaż znajomość języka Common Lisp (lub innego dialektu języka Lisp) niewątpliwie ułatwia korzystanie z programów, nie jest w żadnej mierze koniecz na. Udostępnianym programom towarzyszą szczegółowe instrukcje umożliwiające posługiwanie się nimi bez żadnej uprzedniej znajomości języka Lisp. Na interne towej stronie książki można znaleźć także krótki przewodnik po języku Common Lisp, umożliwiający zrozumienie kodu źródłowego i wykonywanie w nim pro stych modyfikacji. Odwołując się w treści niektórych ćwiczeń do zamieszczonych na internetowej stronie książki programów, a także przykładowych zbiorów danych dla tych pro gramów, które także można tam znaleźć, będziemy krótko pisać o udostępnionych programach i udostępnionych zbiorach danych.
Dydaktyczne wykorzystanie książki Jak wspomniano wcześniej, książka może być wykorzystana do celów dydaktycz nych — jako podstawowy tekst do kursu systemów uczących się lub jako uzu pełniający tekst do kursów na temat sztucznej inteligencji, systemów eksperckich, metod reprezentacji wiedzy itp. Według oceny autora zawartość książki może po służyć do opracowania przynajmniej 30-45 godzin wykładu (zależnie od pozio mu szczegółowości oraz przygotowania i zainteresowań słuchaczy). Zamieszczo ne w książce ćwiczenia tradycyjne są proponowane jako przykładowe zadania do mowe lub egzaminacyjne. Towarzyszące książce oprogramowanie i zamieszczo ne ćwiczenia laboratoryjne mogą posłużyć do zorganizowania 10-20 godzin za jęć przy komputerach w ramach laboratorium systemów uczących się. Ćwiczenia projektowe należy potraktować wtedy jako sugestie tematów semestralnych pro jektów wykonywanych indywidualnie lub w niewielkich zespołach. Niektóre trud niejsze ćwiczenia projektowe, odpowiednio rozwinięte, można także potraktować jako sugestie tematów prac dyplomowych na poziomie wyższych studiów zawo dowych lub, zwłaszcza po uwzględnieniu sugerowanych w książce modyfikacji i usprawnień omawianych w niej algorytmów, magisterskich.
22
PRZEDMOWA
Przegląd rozdziałów Na książkę składa się 14 rozdziałów i 4 dodatki. Rozdział 1 przybliża czytelnikom algorytmiczne rozumienie procesu uczenia się. Rozdział 2 definiuje zadanie indukcyjnego uczenia się (w kilku podstawowych odmianach) i wprowadza jego podstawy teoretyczne. Rozdział 3 jest poświęcony jednemu z głównych podejść do indukcyjnego ucze nia się pojęć na podstawie przykładów, w którym hipotezy są reprezentowane za pomocą drzew decyzyjnych. Rozdział 4 jest poświęcony drugiemu głównemu podejściu do uczenia się pojęć na podstawie przykładów — indukcji zbiorów reguł. Rozdział 5 podaje najważniejsze metody uczenia się oparte na wynikach teo rii prawdopodobieństwa, a zwłaszcza na twierdzeniu Bayesa, odgrywającym wciąż rosnącą rolę w sztucznej inteligencji. Rozdział 6 dotyczy algorytmów tworzenia pojęć, czyli indukcyjnego uczenia się bez nadzoru. Rozdział 7 omawia bardzo ważne w praktyce, a rzadko systematycznie prezento wane problemy przekształcania zbioru atrybutów opisujących przykłady w ce lu umożliwienia bądź ułatwienia stosowania algorytmów indukcyjnego ucze nia się. Rozdział 8 jest poświęcony algorytmom uczenia się aproksymacji funkcji — od wzorowań ze zbioru przykładów na zbiór liczb rzeczywistych. Rozdział 9 wprowadza istotne rozszerzenie do paradygmatu indukcyjnego ucze nia się omawianego w poprzednich rozdziałach, polegające na wykorzystaniu predykatów do reprezentowania pojęć, a do reprezentowania hipotez formuł rachunku predykatów pierwszego rzędu. Rozdział 10 zamyka część książki poświęconą metodom indukcyjnego uczenia się omówieniem jego najważniejszego praktycznego zastosowania, jakim jest obecnie odkrywanie zależności w danych, na ogół przechowywanych w ba zach danych. Rozdział 11 odchodzi od paradygmatu indukcyjnego uczenia się i zwraca uwagę na pomijaną w poprzednich rozdziałach wiedzę wrodzoną ucznia — wiedzę, w jaką system uczący się może być wyposażony przez jego konstruktora i która może być wykorzystana do odpowiedniego uogólnienia informacji trenującej za pomocą metod uczenia się przez wyjaśnianie. Rozdział 12 jest poświęcony uczeniu się zupełnie innego rodzaju wiedzy niż bę dąca przedmiotem zainteresowania w poprzednich rozdziałach wiedza mająca charakter odwzorowania określonego na obiektach pewnej dziedziny. W tym rozdziale jest ona reprezentowana przez maszyny abstrakcyjne, nazywane au tomatami skończonymi.
PRZEDMOWA
23
Rozdział 13 przynosi kolejną zmianę rozważanego paradygmatu uczenia się. O ile poprzednie rozdziały były poświęcone w większości uczeniu się z nadzorem i niekiedy uczeniu się bez nadzoru, o tyle ten dotyczy uczenia się ze wzmoc nieniem, w którym uczeń otrzymuje wartościującą informację trenującą i na podstawie tej informacji oraz interakcji ze środowiskiem ma nauczyć się se kwencyjnego podejmowania decyzji, czyli pewnej umiejętności. Rozdział 14 zamykający główną część książki jest próbą podsumowania zawar tych w niej treści oraz wskazania aktualnych problemów w dziedzinie syste mów uczących się, którymi zajmują się naukowcy i praktycy. Dodatek A zawiera szkicowe rozwiązania lub wskazówki do większości ćwiczeń tradycyjnych. Dodatek B streszcza podstawowe wiadomości z zakresu teorii prawdopodobień stwa, które mogą ułatwić lekturę kilku bardziej teoretycznych fragmentów książki. Dodatek C stanowi krótkie wprowadzenie do rachunku predykatów pierwsze go rzędu, zawierające wiadomości wykorzystywane w niektórych rozdziałach książki. Dodatek D zawiera zwięzły opis zawartości internetowej strony książki.
Źródło cytatów Koniec niniejszej przedmowy wydaje się najlepszym miejscem, aby wyjaśnić po chodzenie otwierających każdy rozdział cytatów literackich. Ich celem jest — cza sem zabawne, a nawet nieco przewrotne — komentowanie zawartości następują cych po nich stron, lecz przede wszystkim nadanie nieco suchej książce akademic kiej charakteru bardziej osobistego. W związku z tym zaczerpnąłem je z utworów dwóch bardzo różnych autorów, których twórczość znam i cenię. Pierwszy z każ dej pary cytatów pochodzi z tekstów artysty rockowego Rogera Watersa, wielolet niego członka grupy Pink Floyd. Cytaty umieszczone na drugim miejscu wybrałem z opowiadań Stanisława Lema zamieszczonych w tomie Cyberiada. Nie zawsze udało mi się dobrać fragmenty wyraźnie nawiązujące do tematyki rozdziału, lecz pomysł cytowania w każdym przypadku tych samych dwóch autorów był dla mnie — przez moje upodobanie do systematyczności — zbyt kuszący, aby się tym za nadto przejmować. Dla każdego cytatu z Watersa podaję tytuł utworu oraz płyty, na której został opublikowany. Dla cytatów z Lema podaję tytuły odpowiednich opowiadań.
Podziękowania Heyyou, wouldyou help me to carry the stone?3 — Przyszedłem podziękować ci za piękny podarek, szkoda tylko, że podczas mego snu umknął zostawiając otwarte drzwi, jakby się pałiłof
Chociaż na zasadniczy kształt książki nikt poza mną nie miał większego wpływu, wiele osób przyczyniło się do jej powstania i poprawienia niektórych jej manka mentów. W pierwszej kolejności chcę podziękować swojemu szefowi, Profesorowi Janowi Mulawce, za zachętę do podjęcia pracy nad przeobrażeniem zbioru moich notatek w książkę. Z bardzo życzliwym przyjęciem spotkałem się, kiedy z tym pomysłem zwróciłem się do Pani Redaktor Elżbiety Beuermann z Wydawnictw Naukowo-Technicznych, której zachęta towarzyszyła mi przez cały czas pracy, dyscyplinując mnie do nieprzekraczania ustalonych terminów i ograniczeń roz miaru tekstu. Ani bez początkowej zachęty Profesora Mulawki, ani bez życzli wości Pani Redaktor, nie poważyłbym się na przedsięwzięcie, którego ta książka jest rezultatem. Ważne było także towarzyszące ich wsparciu moralnemu wspar cie finansowe pochodzące od Dziekana Wydziału Elektroniki i Technik Informa cyjnych, które otrzymałem w ramach grantu dziekańskiego i za które wyrażam podziękowanie. Praca nad książką przebiegała zbyt intensywnie, abym mógł znaleźć czas na szerokie konsultowanie moich koncepcji przed ich przelaniem na papier. Pierw szym czytelnikiem roboczych wersji tekstu był Krzysiek Skowroński, za którego dużą wnikliwość i umiarkowany krytycyzm jestem wdzięczny. Szczególnie cen na była jego pomoc w uzupełnieniu danych bibliograficznych oraz sprawdzeniu poprawności przykładów i rozwiązaniu niektórych ćwiczeń, choć nie zdejmuje to ze mnie pełnej i wyłącznej odpowiedzialności za wszystkie błędy, jakie mimo to pozostały. Kompletny, choć jeszcze bardzo surowy manuskrypt, zechciał prze czytać Profesor Ryszard Michalski. Żałuję, że nie wszystkie z jego uwag byłem w stanie uwzględnić ze względu na przyjęty w książce poziom szczegółowości. Dziękuję opiniodawcy książki Profesorowi Andrzejowi Szałasowi za wnikliwą lekturę, wytknięcie błędów i sugestie ulepszeń — z większością z nich zgodzi łem się, a z tych z kolei większość wprowadziłem, w takim stopniu, w jakim czas 2 4
Hey you (Pink Floyd: The Wali). Wielkie łanie.
26
PODZIĘKOWANIA
na to pozwalał. Jestem też wdzięczny redaktorowi merytorycznemu książki, Pa ni Zofii Dackiewicz, za trud włożony w zapewnienie poprawności językowej oraz uporządkowanie terminologii i stylu, a także za wyrozumiałość w przypadkach, w których postanowiłem pozostać przy swojej wersji, wskutek czego sam ponoszę odpowiedzialność za występujące w książce niekonsekwencje w tym zakresie. O ile rękopis książki był dostępny dla bardzo wąskiego kręgu czytelników, o tyle stanowiące dla niej materiał wyjściowy notatki do wykładu były czytane przez nieco szersze grono słuchaczy. Dzięki nim zdobyłem doświadczenie dydak tyczne w zakresie systemów uczących się, które pomogło mi w prowadzeniu wy wodu oraz doborze przykładów i ćwiczeń. Zapewne książka nie jest tak przystęp na, jak można by sobie tego życzyć, lecz dzięki moim studentom jest napisana mniej mętnie, niż byłaby, gdybym był pozbawiony pochodzącego od nich sprzę żenia zwrotnego, zwłaszcza w postaci pytań i dyskusji podczas wykładów. Swoim rodzicom dziękuję za to, że regularnie pytając o postępy w mojej pra cy nie pozwalali mi jej zbytnio zaniedbać, a Asi (mojemu Qlinkowi) za radość i nadzieję, jaką dało mi jej pojawienie się w moim życiu.
Warszawa, w czerwcu 2000 r.
Paweł Cichosz
Wykaz ważniejszych oznaczeń -r — operator różnicy symetrycznej zbiorów -< — relacja większej szczegółowości hipotez y — relacja mniejszej szczegółowości hipotez O — relacja pokrywania przykładów ? — selektor uniwersalny 0 — selektor pusty (?) — kompleks uniwersalny (0) — kompleks pusty A"=i Pi — koniunkcjap! A p2 A • - * A pn V"=i Pi — alternatywa pi V p2 V • • • V pn f|"=1 Bi — iloczyn zbiorów Bx n B2 n • • • n Bn UiLi Bi — suma zbiorów £?i U B2 U • • • U Bn A — przestrzeń atrybutów Ai — przeciwdziedzina atrybutu ai a% — atrybut o numerze i argmax y F(y) — (dowolna) wartość y maksymalizująca F(y) argmin^ F(y) — (dowolna) wartość y minimalizująca F(y) Arg maxy F(y) — zbiór wszystkich wartości y maksymalizujących F(y) Argmax^ F(y) — zbiór pierwszych m wartości y w kolejności według rosnących war tości F(y) — wartość bezwzględna b \b\ — liczba elementów zbioru B \B\ — klasa pojęć C — współczynnik dyskontowania 7 — etykieta kategorii liścia 1 drzewa decyzyjnego di dr — etykieta kategorii reguły r — funkcja przejść automatu; funkcja przejść procesu decyzyjnego Markowa 5 J* — łańcuchowa funkcja przejść automatu — wiarygodność reguły asocjacyjnej r na zbiorze przykładów P fr(P) $ — przestrzeń cech — cecha o numerze i 4>i U — ogólne ograniczenie przestrzeni wersji VSe)jP H,P — przestrzeń hipotez e — zbiór przedziałów dyskretyzacji II k — kompleks — kompleks reguły r kr — maksymalnie szczegółowy kompleks pokrywający przykład x *^x K — koniunkcja literałów L — zbiór literałów
28 ŁK LJ lx .z X
WYKAZ WAŻNIEJSZYCH OZNACZEŃ
— — — —
zbiór literałów występujących w koniunkcji K zbiór liści drzewa decyzyjnego T liść drzewa decyzyjnego T odpowiadający przykładowi x pusty napis (ciąg akcji) dla automatu; współczynnik świeżości w metodach TD(A) max y F(y) — maksymalna wartość F(y) dla różnych y maKJ^i, V2,. . . , Vk } — maksymalna liczba spośród v\, v2,..., Vk min y F(y) — minimalna wartość F(y) dla różnych y m i n j f i , ^ , . . . ,Vk} — minimalna liczba spośród v\, v2, - - . , ^ Np*0,3 — tablica kontyngencji dla atrybutów ai i aj na podstawie zbioru przykła dów P Nj — zbiór węzłów drzewa decyzyjnego T Nj,x — zbiór węzłów drzewa decyzyjnego T odpowiadających przykładowi x UJ — funkcja wyjść automatu u* — łańcuchowa funkcja wyjść automatu Pcd — podzbiór zbioru przykładów P należących do kategorii d pojęcia c Pd — podzbiór zbioru przykładów P należących do kategorii d ustalonego pojęcia docelowego phd — podzbiór zbioru przykładów P należących do kategorii d hipotezy h Pai — podzbiór zbioru przykładów P, dla których wartość atrybutu a należy do przedziału / Pav — podzbiór zbioru przykładów F, dla których atrybut a ma wartość v Pa — podzbiór zbioru krotek P pokrywanych przez klauzulę a Pk — podzbiór zbioru przykładów P pokrywanych przez kompleks k Ą\i — podzbiór zbioru przykładów P odpowiadający liściowi n drzewa decyzyj nego T Ą\n — podzbiór zbioru przykładów P odpowiadający węzłowi n drzewa decyzyj nego T Ptr — podzbiór zbioru przykładów P, dla których test t daje wynik r PxV {o) — prawdopodobieństwo przejścia procesu decyzyjnego Markowa ze stanu x do stanu y po wykonaniu akcji a pr — kompleks warunkujący reguły asocjacyjnej r ii — strategia Qn — funkcja wartości akcji względem strategii ix qr — kompleks warunkowany reguły asocjacyjnej r 5R — zbiór liczb rzeczywistych M — zbiór reguł %c — podzbiór zbioru reguł IR złożony z reguł pokrywających przykład x Rd — podzbiór zbioru reguł E złożony z reguł dla kategorii d pokrywających przy kład x Rt — zbiór wyników (przeciwdziedzina) testu t R{x, a) — wartość oczekiwana nagrody dla procesu decyzyjnego Markowa po wyko naniu akcji a w stanie x r — reguła Q — relacja docelowa; funkcja wzmocnienia procesu decyzyjnego Markowa pi — relacja pomocnicza
WYKAZ WAŻNIEJSZYCH OZNACZEŃ
S S^P Si s^ Sr(.P) sy T (T) A
— — — — — — — —
{T)CK
—
(T){
—
Ty>x
—
P'^
—
tn 0[ #2 d wT Ui Va Vs V* VC(H) VS| P
— — — — — — — — — — —
(X)A
—
29
zbiór wszystkich kompleksów atomowych szczegółowe ograniczenie przestrzeni wersji V S ^ P zbiór numerów następników węzła ai w sieci bayesowskiej selektor występujący w kompleksie k na pozycji i wsparcie reguły asocjacyjnej r na zbiorze przykładów P selektor o zbiorze wartości dozwolonych V drzewo decyzyjne zbiór trenujący do tworzenia pojęć zawierający opisy przykładów za pomocą atrybutów z przestrzeni A zbiór trenujący do uczenia się pojęcia docelowego c zawierający opisy przy kładów za pomocą atrybutów z przestrzeni A zbiór trenujący do uczenia się aproksymacji funkcji docelowej / zawierający opisy przykładów za pomocą atrybutów z przestrzeni A zbiór trenujący do odkrywania równania dla zmiennej zależnej y i niezależ nej x zbiór trenujący do odkrywania równania dla zmiennej zależnej y i zbioru zmiennych niezależnych Vx test w węźle n drzewa decyzyjnego lewy koniec przedziału dyskretyzacji I prawy koniec przedziału dyskretyzacji I funkcja oceny jakości (testów, kompleksów, literałów itd.) macierz transponowana dla macierzy w zbiór numerów bezpośrednich poprzedników węzła a* w sieci bayesowskiej zbiór wszystkich zmiennych wolnych występujących w formule a zbiór wartości dozwolonych selektora s funkcja wartości względem strategii TT wymiar Vapnika-Chervonenkisa dla przestrzeni hipotez M przestrzeń wersji pojęcia c ze względu na przestrzeń hipotez M i zbiór przy kładów P wektor wartości atrybutów z przestrzeni A dla przykładu x
Rozdział 1
Uczenie się w ujęciu algorytmicznym Welcome my son, welcome to the machinę1 Zbieram skarby wiedzy, gdyż takie jest moje zamiłowanie Życiowe, płynące z wyższego wykształcenia i praktycznego wglądu w istotę rzeczy ( . . . J2.
Celem rozdziału jest łagodne wprowadzenie czytelnika w krąg problemów, któ rym jest poświęcona ta książka. Dzięki temu dość ogólnemu i odwołującemu się głównie do intuicji rozdziałowi mamy nadzieję w rozdziałach kolejnych przecho dzić do konkretów szybko i sprawnie. Wyjaśnimy tu, co będziemy rozumieć przez uczenie się i system uczący się oraz dlaczego takie systemy są godne naszego zainteresowania. Zobaczymy, jak na podstawie kilku kryteriów można wyróżnić wiele rodzajów uczenia się, którym odpowiadają właściwe dla nich algorytmy. Naszkicowany tu zostanie także obraz maszynowego uczenia się jako dyscypliny naukowej, z właściwym jej podziałem zainteresowań między uprawiającymi ją na ukowcami. Pozwoli to ogólnie zapoznać czytelnika z zakresem książki, która jest w zamierzeniu wszechstronnym i systematycznym podręcznikiem tej dyscypliny. Zostaną wskazane także jej powiązania z wybranymi dyscyplinami pokrewnymi, które będą dawać o sobie znać w kolejnych rozdziałach. Przedstawimy rolę ba dań nad uczeniem się w ramach szerszej dziedziny sztucznej inteligencji, zapo znając przy okazji czytelnika z podziałem na słabą i silną sztuczną inteligencję oraz związanymi z tym dylematami. Przygotowaniem do kolejnych rozdziałów, poświęconych różnym rodzajom uczenia się i algorytmom służącym do ich auto matyzacji, będzie zarys inferencyjnej teorii uczenia się, która traktuje ten proces jako wynik jednego lub wielu łącznie stosowanych mechanizmów wnioskowania. Zakończymy zwięzłym i z konieczności niesłychanie uproszczonym przeglądem bezpośrednio lub pośrednio związanych z uczeniem się problemów filozoficznych, jakie poruszała myśl zachodnia w ciągu ostatnich 2500 lat.
1
Welcome to the machinę (Pink Floyd: Wish You Werę Herę). Wyprawa szósta, czyli jak Trurl i Klapaucjusz demona drugiego rodzaju stworzyli, aby zbójcę Gębona pokonać. 1
32
ROZDZIAŁ 1. UCZENIE SIĘ W UJĘCIU ALGORYTMICZNYM
1.1 Znaczenie uczenia się Czytelnik tej książki musiał się wiele nauczyć, żeby móc przystąpić do jej czy tania. Ucząc się zdobywamy wiedzę, taką jak znajomość liter alfabetu, ortografii i gramatyki języka oraz znaczenia słów i zdań, znajomość notacji matematycznej i sposobu posługiwania się nią oraz podstawowych pojęć informatyki, aby wymie nić tylko to, co z lekturą książki wiąże się najbardziej bezpośrednio. Ucząc się zdobywamy także umiejętności, takie jak umiejętność mówienia, czytania, umie jętność programowania, a także umiejętność chodzenia, jeżdżenia na rowerze, kie rowania samochodem i pływania. Uczymy się rozpoznawać twarze znanych sobie osób, wiek ludzi na podstawie ich wyglądu, ich nastrój na podstawie wyrazu twa rzy i gestykulacji. Uczymy się korzystając z pomocy nauczycieli i podręczników. Uogólniamy nasze obserwacje i odkrywamy zależności między nimi. Podejmu jemy próby i popełniamy błędy, korygowane przez krytycznych instruktorów lub przez nas samych, których ponownego popełnienia staramy się uniknąć. Nie ma żadnej przesady w kategorycznym stwierdzeniu, że całe nasze doświadczenie jest przetkane uczeniem się. Całokształt naszych cech psychicznych i intelektualnych oraz fizycznych sprawności jest wynikiem długotrwałego i nieustającego procesu uczenia się, a może raczej niezliczonej liczby przeplatających się procesów ucze nia się. Uczą się także niektóre zwierzęta. Nawet wyjątkowo mało lotny pies rozpo znaje właściciela i domowników, reaguje na swoje imię i wie, o jakiej porze dnia i w jakim miejscu może się spodziewać porcji pożywienia. Bardziej rozgarnię ci przedstawiciele gatunku naszych szczekających przyjaciół zaskakują nas cza sem przejawami wiedzy lub umiejętności znacznie bardziej skomplikowanych, a przy tym z pewnością nie wrodzonych, lecz nabytych. Właśnie na ich zdolno ści do uczenia się opiera się wykorzystywanie ich przez policję, straż graniczną czy niektóre inne służby. Szczury najwyraźniej uczą się unikać trutek rozkłada nych w piwnicach. Grupę szympansów udało się nawet nauczyć posługiwania się językiem migowym w celu porozumiewania się. Jak mają się te różne znane nam rodzaje uczenia się, występujące u ludzi i zwierząt, do tego, czego ma nauczyć czytelnika ta książka? Na to pytanie pró buje w gruncie rzeczy odpowiedzieć cały ten rozdział, ale odpowiedź zaczyna się właśnie tutaj. Otóż chcemy mówić o sztucznych systemach, a nazywając rzeczy po imieniu — o programach komputerowych, którym można przypisać pewną szczególną właściwość. Właściwość tę, przy wszystkich różnicach dzielących ją od właściwości naturalnych systemów biologicznych, najlepiej można opisać na zywając ją zdolnością do uczenia się. W kolejnych rozdziałach dowiemy się, jak pisać programy komputerowe mające tę właściwość. W tym rozdziale postaramy się lepiej zrozumieć istotę tej właściwości i uzasadnić celowość rozważania jej nie tylko w ujęciu biologicznym i psychologicznym, lecz także algorytmicznym.
1.1. ZNACZENIE UCZENIA SIĘ
1.1.1
33
Definicja uczenia się
Jak w tym bogactwie rodzajów uczenia się, którego przed chwilą zaledwie do tknęliśmy, znaleźć wspólne elementy? Innymi słowy, na czym polega zdolność do uczenia się, która jest udziałem niektórych systemów biologicznych i którą chcemy także przypisać tworzonym przez nas systemom sztucznym? Przy całej różnorodności rodzajów uczenia się, jakich doświadczamy sami i jakie obserwu jemy u innych ludzi lub zwierząt, najwyraźniej znamy pojęcie uczenia się, chociaż możemy mieć trudności z podaniem jego definicji. Inaczej mówiąc, potrafimy po wiedzieć, czy w poszczególnych przypadkach mamy do czynienia z uczeniem się, czy też nie, lecz podanie ogólnych reguł rozstrzygania tej kwestii może stanowić pewien kłopot. Spróbujemy mimo to wykonać kilka pierwszych kroków w kierun ku sformułowania takich reguł. Pierwszym elementem uproszczonej definicji uczenia się, którą będziemy się tu starali skonstruować, jest zmiana. Nie można powiedzieć, że uczy się czego kolwiek system, który pozostaje niezmienny w czasie. Nie każda jednak zmiana zachodząca w systemie ma charakter uczenia się — by użyć skrajnego kontrprzykładu, zmianą jest również zapominanie. Precyzując zatem rodzaj zmian, o jakie może chodzić, będziemy żądać, aby zmiany te były korzystne, czyli aby niosły poprawę. Nie chodzi tu rzecz jasna o poprawę z jakiegokolwiek aksjologicznego punktu widzenia, poprawę, dzięki której system staje się „moralnie lepszy", lecz o poprawę czysto instrumental ną — zwiększenie skuteczności, sprawności systemu w wypełnianiu jego funk cji. Uczącym się ludziom ich funkcje, oprócz czysto biologicznych uwarunko wań, wyznacza cywilizacja, społeczeństwo i wyznawany światopogląd, uczącym się zwierzętom zajmowana przez nie nisza ekologiczna lub wymagania tresera, a uczącym się programom komputerowym ich konstruktor i użytkownik. Może się zdarzyć, że następująca w systemie zmiana będzie korzystna ze względu na nie które jego funkcje, a niekorzystna ze względu na inne. Możemy przyjąć, że takie zmiany o mieszanych skutkach również zasługują na nazwanie uczeniem się, lecz odmówić takiej nazwy zmianom, których konsekwencje dla działania systemu są wyłącznie negatywne. Zakładamy przy tym, że dla każdego konkretnego systemu istnieje możliwość oceny jakości jego działania, umożliwiająca zauważenie zmian i odróżnienie zmian korzystnych od niekorzystnych, choć w praktyce czasem oce na taka musi mieć charakter dość arbitralny. Nie każdą jednak instrumentalnie korzystną zmianę jesteśmy skłonni nazwać uczeniem się. Zwierzę, które zaczyna być lepiej odżywiane, staje się bardziej sprawne, ale niczego się w ten sposób nie uczy. Niczego się nie uczy także pro gram komputerowy, w którym poprawiono implementację kilku funkcji lub który skompilowano lepiej optymalizującym kompilatorem, chociaż w obu przypadkach możemy w nim obserwować korzystną zmianę. Nie uznalibyśmy również za wy-
34
ROZDZIAŁ 1. UCZENIE SIĘ W UJĘCIU ALGORYTMICZNYM
nik uczenia się jakiejkolwiek niewrodzonej sprawności uzyskanej przez człowieka na skutek interwencji neurochirurgicznej lub zażycia specyfiku psychotropowego, bez względu na to, czy jest to obecnie możliwe. Powyższe kontrprzykłady mogą sugerować dalsze rozbudowanie naszej de finicji przez dodanie wymogu autonomiczności korzystnych zmian zachodzących w systemie: system, który się uczy, sam zmienia się na lepsze (a nie jest zmieniany przez kogoś lub coś na zewnątrz niego). Tu jednak wkraczamy na dość niepewny grunt subtelnych rozróżnień, gdyż chodzi mimo wszystko nie o zmianę samoistną czy losową, lecz o zmianę, która — chociaż autonomiczna — dokonuje się pod wpływem albo na podstawie pewnych czynników lub okoliczności zewnętrznych. Aby autonomiczna korzystna zmiana w systemie mogła być nazwana uczeniem się, będziemy dodatkowo wymagać, aby wpływające na nią czynniki zewnętrzne można było sensownie traktować jako doświadczenia zdobywane przez system. Warunek ten spełniają czynione przez system obserwacje lub otrzymywane in formacje związane z jego funkcjami, których poprawa sprawności wykonywania jest zewnętrznym znamieniem procesu uczenia się. Dla tresowanego zwierzęcia doświadczeniem takim będzie udane wykonanie żądania tresera, po którym nastę puje nagroda, bądź niepoprawne zachowanie, po którym następuje kara. W naturze dla zwierzęcia doświadczenie umożliwiające uczenie się pochodzi z prób stawia nia czoła wymogom środowiska, w którym żyje, takich jak poszukiwanie poży wienia czy ucieczka przed groźnym napastnikiem, lecz mogą one także pochodzić z obserwacji i naśladowania innych osobników tego samego gatunku. Dla ucznia w szkolnej ławce jest możliwa większa różnorodność form, w jakich zdobywa on swoje doświadczenia: obejmują one wykład nauczyciela, dostarczane przez nie go przykłady wykonywania określonych typów zadań, a także samodzielne próby rozwiązywania innych zadań tych typów, korygowane lub ocenianie przez nauczy ciela. Definicja uczenia się, do której doprowadziły powyższe rozważania, może być sformułowana następująco: • DEFINICJA 1.1. Uczeniem się systemu jest każda autonomiczna zmiana w sys temie zachodząca na podstawie doświadczeń, która prowadzi do poprawy ja kości jego działania. 0 System, w którym w pewnym okresie czasu zachodzą zmiany spełniające za warte w tej definicji warunki, będziemy nazywać uczniem. Definicji tej daleko oczywiście do precyzji. O ile warunek zmiany poddaje się jeszcze stosunkowo obiektywnym kryteriom weryfikacji, o tyle przy pozostałych wchodzimy w obszar rozstrzygnięć umownych i zależnych od punktu widzenia. Nic nie znaczy popra wa, jeśli nie określimy, jakich aspektów działania systemu ma ona dotyczyć, i nie podamy kryterium jakości, według którego chcemy ją mierzyć. Jeszcze gorzej jest
1.1. ZNACZENIE UCZENIA SIĘ
35
z oceną autonomicznosci zmian i całkiem źle z rozstrzyganiem, czy nastąpiły na podstawie doświadczeń. Te pożałowania godne problemy nie tyle jednak świad czą o mankamentach definicji, co raczej o naturalnej nieostrości naszego pojęcia uczenia się, którego sztuczne wyostrzanie na nic by się nie zdało. Zmniejszając nasze wymagania, potraktujmy ją w tej chwili tylko jako wstępną wskazówkę od noszącą się do tego, co należy do istoty uczenia się, którą najlepiej rozpatrywać w połączeniu z bardziej lub mniej konkretnymi przykładami różnych form, jakie może ten proces przyjmować. Kilka bardzo prostych przykładów uczenia się przez ludzi i zwierzęta podaliśmy wyżej. Kolejne przykłady, jakie się pojawią, będą do tyczyć już tego, co nas tu interesuje przede wszystkim, czyli uczenia się przez programy komputerowe. 1.1.2
Programy uczące się
Próby konstruowania programów uczących się nie są motywowane chęcią elimi nacji wysiłku projektantów oprogramowania i programistów. Nie są one w żadnej mierze alternatywą dla tradycyjnej inżynierii oprogramowania — tak zresztą jak zdolność uczenia się ludzi i zwierząt nie może zastąpić odpowiedniego wyposaże nia organizmów ukształtowanego na drodze ewolucji. Motywacja do podejmowa nia tych prób nie wynika ze złożoności procesu tworzenia oprogramowania, której opanowaniu służą nowoczesne metody analizy i projektowania, lecz ze złożoności niektórych rodzajów zadań stawianych programom komputerowym, utrudniającej lub uniemożliwiającej sformułowanie poprawnych i pełnych algorytmów ich roz wiązywania. Program uczący się można sobie wyobrażać jako program wykorzy stujący abstrakcyjny, w pewien sposób „parametryzowany" algorytm wykonywa nia zadania. Uczenie się polega wówczas na dobraniu na podstawie historycznych doświadczeń odpowiednich „parametrów", które ten algorytm abstrakcyjny prze kształcą w spełniający wymagania konstruktora algorytm konkretny. Symbolicznie ilustruje to rys. 1.1. Uzyskiwane w wyniku uczenia się „parametry" są nazywane, zależnie od ro dzaju zadań i przyjętego punktu widzenia, wiedzą lub umiejętnością. Ponieważ nie są one uczniowi w żaden sposób bezpośrednio podawane, lecz identyfikowane przez niego w wyniku autonomicznego procesu uczenia się, nazywa się je czę sto jego hipotezą, pochodzącą z pewnego zbioru określanego mianem przestrzeni hipotez, która zawiera wszystkie hipotezy, jakie uczeń może wykorzystywać do wykonywania swoich zadań. Taka terminologia podkreśla z jednej strony niepew ny status wiedzy lub umiejętności pozyskanych przez ucznia, które najczęściej nie mogą być uznane za niezawodne i mogą wymagać rewizji, z drugiej zaś strony jego rolę jako autonomicznego podmiotu, który samodzielnie je odkrywa. Różnica między wiedzą a umiejętnością jest zresztą dość płynna i ma charakter umowny. Raczej o umiejętności niż o wiedzy mówi się w przypadku zadań wyma-
36
ROZDZIAŁ 1. UCZENIE SIĘ W UJĘCIU ALGORYTMICZNYM
algorytm abstrakcyjny
algorytm konkretny
I
a
I
uczenie się
Rys. 1.1. Uczenie się jako konkretyzacja algorytmu gających wykonania przez program pewnej sekwencji operacji, która jest ustalana w wyniku uczenia się. Stanowi więc ona odpowiedź na pytanie, jak należy postę pować, aby osiągnąć pożądane cele. O wiedzy powiedzielibyśmy raczej wówczas, gdy chodzi o wybór jednego z wariantów pewnej pojedynczej decyzji, dotyczącej najczęściej interpretacji danych wejściowych systemu. Odpowiada ona na pyta nie, co wiadomo o obserwowanym obiekcie, na przykład jakiego jest rodzaju, czy jak jest powiązany z innymi obiektami. Często i wiedzę w takim węższym sensie, i umiejętność nazywa się łącznie wiedzą w szerszym sensie. Wówczas o wiedzy w węższym sensie można mówić jako o wiedzy deklaratywnej (opisującej pewne obiekty, sytuacje, związki), a o umiejętności jako o wiedzy proceduralnej (repre zentującej strategie osiągania pewnych celów). Algorytmy pozyskiwania lub do skonalenia wiedzy bądź umiejętności są nazywane algorytmami uczenia się. Zde cydowana większość tej książki jest poświęcona różnym algorytmom uczenia się zarówno wiedzy, jak i umiejętności3. Jeśli powyższy obraz uczenia się przez programy komputerowe zdaje się nie zbyt ściśle przystawać do przedstawionej wcześniej przybliżonej definicji uczenia się jako takiego, to jest to tylko pozorna rozbieżność. W trakcie uczenia się na stępuje bowiem zmiana przechowywanych i wykorzystywanych przez program „parametrów" algorytmu wykonywania zadania, czyli wiedzy lub umiejętności. Można się spodziewać, że jest to zmiana korzystna, zwłaszcza jeśli początkowe domyślne wartości tych „parametrów" nie były odpowiednio dobrane (gdyby bo wiem istniała możliwość takiego doboru, uczenie się byłoby zbędne). Jest ona autonomiczna, gdyż dokonuje jej sam program, a nie programista lub operator. 3
W części starszych źródeł poświęconych systemom uczącym się uczenie się umiejętności nie było wcale lub w tylko znikomym stopniu reprezentowane. W tej książce jesteśmy w stosunku do niego bardziej sprawiedliwi, lecz i tak jej większa część jest poświęcona pozyskiwaniu wiedzy de klaratywnej.
1.1. ZNACZENIE UCZENIA SIĘ
37
Następuje wreszcie na podstawie doświadczeń, które będziemy w tym przypadku określać także mianem informacji trenującej. Tak jak uczące się systemy biolo giczne, uczące się programy mogą posiadać wiedzę wrodzoną, wbudowaną przez konstruktora, która w trakcie uczenia się podlega uzupełnianiu, korygowaniu i do skonaleniu. 1.1.3
Przykłady maszynowego uczenia się
Aby nie zniechęcić czytelnika zanadto abstrakcyjnym charakterem powyższych wywodów, przedstawimy teraz kilka konkretnych przykładów uczenia się, z jakim możemy mieć do czynienia w przypadku programów komputerowych. Przykład 1.1 (Gra w grę planszową). Weźmy pod uwagę program służący do gry w grę planszową, taką jak warcaby, który początkowo gra formalnie poprawnie (zgodnie z regułami gry), lecz miernie. Wiedzą systemu może być wówczas funkcja oceniająca jakość różnych możliwych sytuacji na planszy ze względu na jego szan se wygranej. Zmiana tej funkcji może być przeprowadzana na podstawie wyników wcześniej rozegranych partii. Jeśli dzięki tej zmianie program potrafi lepiej oceniać użyteczność występujących w trakcie gry sytuacji, to potrafi również lepiej wybierać swoje ruchy i w efekcie poziom jego gry się podnosi. Zauważmy, że ten przykład de monstruje występującą w pewnych sytuacjach wymienność między wiedzą a umiejęt nością: wiedza reprezentowana w tym przypadku przez funkcję oceny sytuacji w grze przekłada się na umiejętność wyboru ruchów. Przykład 1.2 (Diagnostyka medyczna). Załóżmy, że oddział szpitalny, zajmują cy się określonym rodzajem schorzeń, zgromadził w bazie danych zapisy historii cho roby swoich dotychczasowych pacjentów. Mogłyby się tam znajdować wyniki prze prowadzanych dla poszczególnych pacjentów różnych testów diagnostycznych, ob serwowane symptomy, ustalenia z wywiadów przeprowadzonych przez lekarzy oraz informacja o rozpoznaniu, zastosowanej terapii i jej efektach. Dane tego rodzaju, jeśli obejmują dostatecznie wielu pacjentów oraz są dostatecznie kompletne i wiarygodne, mogą być cennym potencjalnym źródłem wiedzy wspomagającej lekarzy w diagno zowaniu i leczeniu nowych przypadków. Można przyjąć, że pozyskujący taką wiedzę program uczyłby się reguł sugerujących rozpoznanie choroby i terapię na podstawie symptomów i wyników testów. Wykorzystując takie reguły do wnioskowania program mógłby funkcjonować jako system doradczy, w żadnej oczywiście mierze nie zastę pujący kompetentnego lekarza, lecz przypuszczalnie pomocny w jego pracy. Przykład 1.3 (Wykrywanie nadużyć). Weźmy pod uwagę transakcje realizowa ne w punktach handlowych i usługowych przez posiadaczy kart płatniczych. Najczę ściej pracownik takiego punktu wykorzystuje w celu realizacji transakcji elektronicz ny terminal, który wczytuje dane karty z jej paska magnetycznego. Wówczas terminal może nawiązać połączenie z odpowiednim centrum rozliczeniowym w celu dokona nia autoryzacji. Obejmuje ona w najprostszym przypadku sprawdzenie, czy karta jest ważna, czy nie została przez jej posiadacza zastrzeżona oraz czy kwota transakcji nie spowoduje przekroczenia limitu, który może być dla karty ustalony przez jej wystaw-
38
ROZDZIAŁ 1. UCZENIE SIĘ W UJĘCIU ALGORYTMICZNYM
cę (lub dla kart debetowych stanu konta jej użytkownika). Transakcja może dojść do skutku, jeśli autoryzacja przebiegnie pomyślnie. Niestety, karty płatnicze cieszą się także zainteresowaniem amatorów cudzej własności. Mogą oni próbować przeprowa dzać transakcje na cudzy rachunek, korzystając ze skradzionej prawowitemu użyt kownikowi lub zgubionej przez niego karty, zanim zdąży on dokonać zastrzeżenia, lecz także wytwarzając fałszywą kartę lub posługując się numerem karty, który po znali w ten czy inny sposób. Jeśli autoryzacja takich transakcji przebiegnie pomyślnie, klient dowie się o wszystkim nawet dopiero kilka tygodni później, z miesięcznego wy ciągu przesłanego mu przez bank. Byłoby więc pożądane wykrywanie podejrzanych transakcji na etapie autoryzacji. Możemy sobie wyobrazić wykorzystanie w tym ce lu programu uczącego się, który na podstawie analizy historycznych danych dotyczą cych „dobrych" i „złych" transakcji określi pewne cechy pozwalające na maksymalnie wiarygodne ich odróżnianie. Swoją wiedzę na ten temat będzie oczywiście okresowo aktualizować uwzględniając nowe porcje danych. Taki adaptacyjny system wykrywa nia nadużyć miałby istotną przewagę nad systemami z ustalonymi, prostymi reguła mi alarmowania, opracowanymi przez specjalistów. Warto dodać, że w nieco innych odmianach problem wykrywania nadużyć występuje również w innych dziedzinach, na przykład w telefonii komórkowej, gdzie dotyczy rozmów na cudzy rachunek, czy w sieciach komputerowych, gdzie chodzi o podejrzaną aktywność hakerów. Przykład 1.4 (Klasyfikowanie dokumentów). Rozwój elektronicznych technik przechowywania i przysyłania informacji wywołał pilną potrzebę zautomatyzowa nych metod jej klasyfikowania i filtrowania. Użytkownicy rosnących lawinowo za sobów dostępnych w sieci Internet mogliby zaoszczędzić wiele czasu dysponując na rzędziami, które „czytałyby" i w inteligentny sposób selekcjonowałyby najbardziej interesujące z ich punktu widzenia strony WWW lub artykuły z grup dyskusyjnych. Pożyteczny mógłby być w szczególności program, który na podstawie próbki doku mentów uprzednio poklasyfikowanych przez użytkownika (na kategorie tematyczne lub na interesujące i nieinteresujące) uczyłby się odpowiednio klasyfikować nowe dokumenty. Pożądane mogłoby być także nieustanne doskonalenie wiedzy progra mu w trakcie jego używania, kiedy po przeczytaniu nowych dokumentów użytkownik weryfikowałby ich kategorię przewidzianą przez program. Przykład 1.5 (Kierowanie pojazdem). Raczej niechętnie oddalibyśmy swoje ży cie i zdrowie pod opiekę elektronicznych taksówkarzy, którzy woziliby nas po ru chliwych ulicach miast. Możemy jednak rozważać przynajmniej kilka sytuacji, kiedy komputery potrafiące w jakimś stopniu kierować pojazdami byłyby przydatne. Może to być zautomatyzowane parkowanie samochodów na parkingach, przewóz towarów i osób po prostych trasach na ograniczonym obszarze (np. wewnątrz zakładu produk cyjnego) lub wspomaganie i ewentualnie częściowe zastępowanie kierowcy-człowieka podczas jazdy na niektórych odcinkach trasy (np. na autostradach). Systemy tego typu mogłyby podejmować decyzje o prawidłowym stanie urządzeń sterowniczych pojazdu (np. dobierać kąt obrotu kierownicy) na podstawie obrazu sytuacji na drodze, otrzy mywanego z jednej lub kilku umieszczonych na pojeździe kamer i ewentualnie do datkowych specjalnych czujników. Jako źródło informacji trenującej umożliwiającej nauczenie się takiej umiejętności można by wykorzystać nauczyciela demonstrujące go prawidłowe kierowanie pojazdem w różnych warunkach.
1.1. ZNACZENIE UCZENIA SIĘ
39
Przykład 1.6 (Nawigacja w środowisku biurowym). Niektóre firmy i instytu cje zajmują duże, wielopiętrowe budynki z siecią korytarzy i licznymi pokojami na każdym piętrze. Ponieważ postęp technologii informatycznej nie wyeliminował ko nieczności intensywnego obiegu papieru w takich firmach i instytucjach (niektórzy twierdzą, że wręcz ten obieg zintensyfikował), powstaje konieczność przeznaczania części czasu niekiedy wysoko wykwalifikowanego personelu na przemierzanie kory tarzy z plikiem dokumentów w ręku lub zatrudnienia gońców. Za alternatywę można wówczas uznać gońców mechanicznych — ruchome roboty, sterowane programem umożliwiającym sprawne poruszanie się. Jedną z umiejętności, które musi taki pro gram posiąść, jest umiejętność nawigacji — omijania ludzi i przeszkód, przechodze nia przez drzwi, poruszania się prosto wzdłuż korytarza itp. Program taki miałby więc za zadanie odpowiednie sterowanie silniczków, za pomocą których robot się porusza, na podstawie informacji pochodzących z jego sensorów (np. ultradźwiękowych lub re agujących na podczerwień). Potrzeba uczenia się wynika w tym przypadku z trudności sformułowania gotowego, pełnego, konkretnego algorytmu dla tego problemu, trud ności dodatkowo powiększanych przez niepewność obserwacji pochodzących z sen sorów. Jedno z możliwych podejść do uczenia się mogłoby polegać na pozwoleniu robotowi na eksperymentowanie — próby poruszania się i popełnianie błędów, które powinny doprowadzić do znalezienia zadowalającej strategii sterowania. Konkretne problemy uczenia się, których dotyczą podane przykłady, są na ogół w swojej realnej postaci zbyt złożone, aby w takim jak ten podręczniku można by ło podać ich kompletne rozwiązania, gotowe do implementacji i wdrożenia. Dla niektórych nie są zresztą dotychczas znane rozwiązania całkowicie zadowalające. Jednak w książce będą omówione algorytmy oraz podane wskazówki dotyczące ich stosowania, których umiejętne i twórcze wykorzystanie pozwoli czytelnikowi projektować systemy uczące się dla takich i wielu innych praktycznie interesują cych problemów, poszerzać znajomość dziedziny przez samodzielne studiowanie literatury, a także trafnie rozpoznawać ograniczenia, na jakie mogą napotkać znane metody uczenia się w konfrontacji ze złożonością świata rzeczywistego. 1.1.4
Motywacja do uczenia się
Poza niewartymi wzmianki wyjątkami, nie mamy trudności z określeniem wła snej motywacji do uczenia się. Patrząc na to szerzej, nie uznalibyśmy raczej za nieracjonalne wyposażenie również niektórych innych biologicznych gatunków w zdolność do uczenia się, która zapewnia sprzyjającą przeżyciu i reprodukcyj nemu sukcesowi zdolność przystosowawczą, zmienność cech i zachowań szybką i zachodzącą na poziomie organizmów, zamiast zmienności powolnej na poziomie gatunków, możliwej do osiągnięcia w przypadku zaszycia tych cech i zachowań w genetycznym kodzie. Jak rzecz się ma z motywacją do zajmowania się — w pra cowniach naukowców, salach wykładowych, firmach informatycznych i tu w na szej książce — uczącymi się programami? Wydaje się, że w tym przypadku biolo giczna analogia jest zachowana w dużym stopniu. Tak jak programistce-ewolucji
40
ROZDZIAŁ 1. UCZENIE SIĘ W UJĘCIU ALGORYTMICZNYM
opłaca się „sparametryzować" organizmy niektórych gatunków zdobywaną przez nie w swym jednostkowym życiu wiedzą i umiejętnościami, tak twórcom oprogra mowania dla niektórych zastosowań opłaca się wykorzystać programy uczące się — zamiast angażować czas, wysiłek i koszty w opracowanie dla nich ustalonych algorytmów, które przecież i tak zawsze mogą się okazać przy próbie użycia nie pełne (nie spełniające wszystkich wymagań) lub niepoprawne (działające błędnie w niektórych sytuacjach). Rozwijając nieco powyższą myśl można wskazać następujące powody, dla któ rych badania nad systemami uczącymi się mają sens i są godne zainteresowania. • Dla naprawdę złożonych zadań trudno jest sformułować wprost ustalone, peł ne i poprawne algorytmy ich rozwiązywania. Dotyczy to zwłaszcza zastoso wań realnych, w których należy się liczyć z niedeterminizmem i zmiennością środowiska działania programu. Uzyskanie zadowalających algorytmów może być niemożliwe lub nieekonomiczne (wymagające zbyt wiele pracy lub zaso bów). Wiąże się to z tym, że z reguły złożone środowiska są trudne do opisu, często nie mają wystarczających modeli teoretycznych albo ich uzyskanie jest bardzo kosztowne. Jeśli nawet są one dostępne, to ze względu na ich uprosz czenia lub nieprzewidywalną zmienność środowiska opracowane na ich pod stawie algorytmy byłyby mało wiarygodne. • Inteligentne systemy informatyczne w wielu współczesnych zastosowaniach powinny być w maksymalnym stopniu autonomiczne, czyli zdolne do dzia łania bez (zbyt dużej) ingerencji człowieka. Dotyczy to w szczególności sys temów sterowania złożonymi procesami, działaniem robotów przemysłowych lub biurowych, bezzałogowych pojazdów itp. Wymagany stopień autonomii nie jest możliwy do uzyskania bez adaptacyjności, czyli zdolności do przysto sowywania się do zmieniających się środowisk i wymagań. Program uczący się może być użyty w środowisku, w którym zachodzą trudne do przewidzenia z góry zmiany, lub w wielu różnych środowiskach. • Zbiory dostępnych danych, pochodzących z pomiarów, obserwacji, dokumen tów itp., są często zbyt duże i skomplikowane, aby można było wyszukiwać w nich zależności i klasyfikować je w sposób niezautomatyzowany. Programy uczące się dają możliwość wiarygodnego wnioskowania na podstawie danych historycznych. Nowoczesna analiza danych stała się jednym z najważniejszych zastosowań maszynowego uczenia się. Pragnieniem autora jest, aby dalsza lektura przekonała czytelnika do jeszcze jednego, może najważniejszego powodu, dla którego coraz więcej osób zajmuje się maszynowym uczeniem się: jest to tematyka ciekawa, a bywa pasjonująca. Osią gnięto w niej dotychczas wystarczająco wiele, aby były możliwe udane realne za stosowania, a jednocześnie pozostało wystarczająco wiele otwartych problemów, aby wciąż mogły powstawać dobre rozprawy doktorskie i publikacje naukowe.
1.2. RODZAJE UCZENIA SIĘ
1.2
41
Rodzaje uczenia się
Z dotychczasowej dyskusji, mającej sprecyzować, co rozumiemy przez uczenie się sztucznych systemów, czytelnik z pewnością wyniósł słuszne wrażenie, że mo żemy mieć do czynienia z dość różnymi postaciami tego procesu. Jasno było to widoczne także z przedstawionych przykładów uczenia się. Spróbujmy obecnie wprowadzić nieco porządku w tę różnorodność, wskazując najbardziej racjonal ne kryteria klasyfikacji rodzajów uczenia się oraz wynikający z tych kryteriów podział dziedziny na bardziej szczegółowe obszary, częściowo odpowiadający po działowi tej książki na rozdziały.
1.2.1
Taksonomia maszynowego uczenia się
Rodzaje uczenia się, a właściwie raczej rodzaje systemów uczących się, można klasyfikować według szeregu kryteriów, uzyskując różne mniej i bardziej szcze gółowe podziały. Wśród tych kryteriów najbardziej podstawowe znaczenie mają następujące: • • • •
metoda reprezentacji wiedzy lub umiejętności, sposób używania wiedzy lub umiejętności, źródło i postać informacji trenującej, mechanizm nabywania i doskonalenia wiedzy lub umiejętności.
Każdemu z tych kryteriów poświęcamy krótką uwagę, zarysowującą wynikający z niego podział i zapowiadającą reprezentację odpowiadających mu poszczególnych rodzajów uczenia się w dalszych rozdziałach książki. Reprezentacja wiedzy. Opracowano różne metody wewnętrznej reprezentacji wiedzy lub umiejętności zdobywanej przez uczący się program. Określona dzie dzina zastosowania projektowanego systemu uczącego się na ogół zawęża reper tuar, z którego należy dokonać wyboru, do co najwyżej kilku możliwości, z któ rych każda ma własne zalety i ograniczenia. W tej książce nie będziemy poświęcać miejsca na systematyczną prezentację metod reprezentacji wiedzy, uznając za bar dziej właściwe wprowadzanie różnych metod w miarę potrzeby, przy omawianiu wykorzystujących je algorytmów. Wśród tych metod znajdą się drzewa decyzyj ne, reguły, formuły logiki predykatów, rozkłady prawdopodobieństw i automaty skończone. Często stosowane jest tradycyjne rozróżnienie symbolicznych i subsymbolicznych metod reprezentacji wiedzy. Do pierwszej kategorii należą metody wykorzystujące różnego rodzaju struktury, przechowujące informację o charakte rze symbolicznym, czyli zorganizowane w pewien sposób napisy, którym można przypisać interpretację. Tak reprezentowana wiedza może być na ogół dość ła two zapisana w czytelnej dla człowieka postaci i poddana jego inspekcji. Zarówno
42
ROZDZIAŁ 1. UCZENIE SIĘ W UJĘCIU ALGORYTMICZNYM
całość, jak i poszczególne fragmenty symbolicznie reprezentowanej wiedzy mają swoją interpretację w dziedzinie zadania ucznia. W przypadku metod subsymbolicznych mamy do czynienia z informacją, której poszczególne elementy nie mają, wzięte z osobna, sensownej interpretacji. Są to najczęściej zbiory liczb lub łańcu chów binarnych, które łącznie reprezentują pewną wiedzę, lecz wiedza ta nie może być bezpośrednio wyrażona w postaci zrozumiałej dla człowieka. Nieco metafo rycznie zostało to zilustrowane na rys. 1.2. Wiedza o zależności C od jednoczes nego wystąpienia A i B została zapisana symbolicznie w postaci napisu, którego elementy mają dobrze określone znaczenie (są to symbole A, B i C oraz funktory logiczne), oraz subsymbolicznie w postaci macierzy zer i jedynek, której każde mu elementowi nie da się przypisać żadnej sensownej (związanej z A, B lub C albo z operacją logiczną) interpretacji. Naszej ilustracji nie należy traktować zbyt dosłownie — z taką subsymboliczną reprezentacją wiedzy nie spotkamy się ra czej w praktyce — demonstruje ona jednak jej zasadnicze właściwości. W książce tej będziemy mieli do czynienia na ogół, chociaż nie wyłącznie, z reprezentacją symboliczną. a) reprezentacja symboliczna
AAB^C
b) reprezentacja subsymboliczną 1110111111111100000011111111111000001 1101011111111101111101111111110111110 1101011111111101111101111101110111111
-..11101..0111110101110101111101111111110111110 0111110101110100000011111111111000001
Rys. 1.2. Symboliczna i subsymboliczną reprezentacja wiedzy
Wykorzystywanie wiedzy. Nie zawsze przyjęta metoda reprezentacji wiedzy jednoznacznie wyznacza sposób jej wykorzystywania, chociaż oczywiście rzadko pozostawia do wyboru wiele możliwości w tym zakresie. Sposób używania wiedzy jest na ogół determinowany łącznie przez metodę reprezentacji wiedzy i cel, któ remu ta wiedza ma służyć, czyli stojące przed uczącym się jej systemem zadanie. Do najbardziej typowych zadań należą klasyfikacja, czyli ustalanie przynależności obiektów lub wzorców do kategorii, i aproksymacja, czyli odwzorowanie obiek tów lub wzorców na zbiór liczb rzeczywistych. W przypadku klasyfikacji będzie my mówić o uczeniu się pojęć, przez pojęcie rozumiejąc właśnie wiedzę o przy należności obiektów pewnej dziedziny do określonych kategorii. Więcej o tych dwóch często spotykanych sposobach używania wiedzy będziemy mieli do po wiedzenia już w następnym rozdziale książki. Zetkniemy się jednak także z innymi typami zadań, takimi jak rozwiązywanie problemów, sekwencyjne podejmowanie decyzji czy modelowanie środowiska. Może być też tak, że wykorzystanie uzy skanej w wyniku wiedzy polega po prostu na przedstawieniu jej użytkownikowi w czytelnej postaci i pozostawienie mu zrobienia z niej ewentualnego dalszego użytku.
43
1.2. RODZAJE UCZENIA SIĘ
Informacja trenująca. Kryterium źródła i postaci dostępnej informacji trenują cej prowadzi w najprostszym ujęciu do tradycyjnego podziału na uczenie się z nad zorem i uczenie się bez nadzoru, który zechcemy tu jednak nieco rozszerzyć przez dodanie rozróżnień bardziej precyzyjnych. Dla celów tej dyskusji wygodnie jest przyjąć, że system uczący się ma za zadanie obserwowanie pewnych wektorów informacji wejściowych i odpowiadanie na nie właściwymi wyjściami, a proces uczenia się polega na określeniu algorytmu generowania tych odpowiedzi. Infor macja trenująca instruuje w pewien sposób ucznia, bezpośrednio lub pośrednio, co do właściwego sposobu odpowiadania. Sytuację tę przedstawia rys. 1.34. informacja wejściowa
informacja wyjściowa Uczeń
informacja trenująca Nauczyciel/krytyk Rys. 1.3. Uczeń i źródło informacji trenującej
W przypadku uczenia się z nadzorem, w którym źródło informacji trenują cej przyjęto nazywać nauczycielem (stąd stosowany również termin „uczenie się z nauczycielem"), uczeń otrzymuje informację określającą w pewien sposób jego pożądane odpowiedzi dla pewnego zbioru wektorów wejściowych jako przykła dy zachowania, jakiego się od niego oczekuje. Przy uczeniu się bez nadzoru taka instruktażowa informacja trenująca w ogóle nie jest dostępna: podawane są jedy nie wektory wejściowe i uczeń ma się nauczyć właściwych odpowiedzi wyłącz nie obserwując ich sekwencje. Z takim rodzajem uczenia się mamy do czynienia przede wszystkim w przypadku grupowania lub innych przekształceń przestrzeni wejściowej, których zasada nie pochodzi od nauczyciela, lecz jest integralną czę ścią algorytmu uczenia się (mówi się czasem, że systemy uczące się bez nadzoru mają wbudowanego nauczyciela). Oprócz najlepiej znanego uczenia się z nadzo rem i uczenia się bez nadzoru, o których więcej powiemy w następnym rozdziale, będziemy mieć do czynienia także z rodzajami uczenia się, które ze względu na źródło i charakter informacji tenującej trudno zaklasyfikować do którejkolwiek z tych grup. Stosunkowo blisko uczenia się z nadzorem znajduje się uczenie się na podstawie zapytam wówczas informacja trenująca również pochodzi od na4
Schcmat ten sugeruje, że uczeniu się podlega pewna funkcja odwzorowująca wejścia na wyjścia. Tak jest istotnie w szeregu często stosowanych rodzajów uczenia się, lecz nie należy traktować tego jako obowiązującego kanonu. Przekonamy się, że w wielu przypadkach działanie systemów uczących się jest daleko bardziej złożone, niż sugerowałby ten wygodny schemat.
44
ROZDZIAŁ 1. UCZENIE SIĘ W UJĘCIU ALGORYTMICZNYM
uczyciela, lecz ma postać jedynie odpowiedzi na jawnie zadawane przez ucznia pytania. Nauczyciel nie może aktywnie dobierać przykładów, jest tylko wyrocz nią, do której uczeri może się zwracać. O uczeniu się przez eksperymentowanie mówimy wówczas, gdy uczeń gromadzi doświadczenia eksperymentując ze swo im środowiskiem. Może to polegać na wykonywaniu pewnych akcji (czy używa jąc poprzedniej terminologii, generowaniu pewnych wyjść) i obserwowaniu ich konsekwencji. Niekiedy ten rodzaj uczenia się traktuje się jako szczególny przy padek uczenia się bez nadzoru, lecz podejście takie rodzi ryzyko nieporozumień. Wreszcie wymieńmy uczenie się ze wzmocnieniem, które opiera się wprawdzie na eksperymentowaniu, lecz wykorzystuje dodatkowe źródło informacji trenującej, nazywane czasem krytykiem, dostarczające sygnałów oceniających jakość działa nia ucznia (są to liczbowe nagrody, nazywane także wzmocnieniami). Informacja trenująca ma w tym przypadku charakter nie instruktażowy (nie mówi uczniowi, co powinien robić), lecz wartościujący (mówi uczniowi, jak dobre lub złe jest jego dotychczasowe działanie). Celowo nie definiujemy bardziej precyzyjnie żadnego z wyróżnionych tu rodzajów uczenia się, gdyż różnice między nimi nie są do koń ca ostre i w niektórych skrajnych sytuacjach mogą polegać tylko na odmiennym punkcie widzenia. Najrozsądniej jest więc wstrzymać się z konkretyzowaniem za rysowanych grup do czasu omawiania należących do nich algorytmów — a ze tkniemy się w tej książce z reprezentantami każdej z nich.
Mechanizm nabywania wiedzy. Na podstawie otrzymanej informacji trenują cej system uczący się generuje nową lub doskonali wcześniej posiadaną wiedzę lub umiejętność, w pewien ustalony sposób reprezentowaną i przeznaczoną do wyko rzystania przy wykonywaniu określonego zadania. Mechanizm, zgodnie z którym dokonuje się nabywanie lub doskonalenie wiedzy, jest najczęściej wyznaczany jed noznacznie przez metodę reprezentacji wiedzy oraz postać informacji trenującej. Na ogół dostępnych jest wiele algorytmów uczenia się realizujących poszczegól ne mechanizmy nabywania wiedzy. Najbardziej popularny mechanizm uczenia się to indukcja, podejście do wnioskowania polegające na uogólnianiu jednostkowej informacji trenującej w celu uzyskania ogólnej wiedzy. Należałoby jednak raczej mówić o całej rodzinie mechanizmów indukcyjnych. O takich mechanizmach bę dzie mowa w następnym rozdziale, a o różnych realizujących je praktycznych al gorytmach w kilku kolejnych rozdziałach. Mechanizmy uczenia się nieindukcyjnego, z jakimi się zetkniemy, to przede wszystkim wyjaśnianie, w którym informa cja trenująca nie tyle jest uogólniana, co służy do konkretyzacji wiedzy wrodzonej ucznia, oraz stosowane przy uczeniu się ze wzmocnieniem przypisanie zasługi, po legające na określeniu wpływu poszczególnych akcji na otrzymane nagrody. Próbą jednolitego sformułowania różnych mechanizmów tworzenia wiedzy jest inferencyjna teoria uczenia się, której zarys będzie przedstawiony w tym rozdziale.
1.3. NAUKA O UCZENIU SIĘ
1.2.2
45
Główne działy maszynowego uczenia się
Przedstawione kryteria klasyfikacji rodzajów uczenia się są do pewnego stopnia ortogonalne, a więc można stosować je niezależnie, chociaż niekiedy decyzja do tycząca jednego z kryteriów ogranicza możliwe decyzje dla innego kryterium. Oznacza to, że wynikające z zastosowania każdego z nich podziały istniejących i możliwych systemów uczących się dają grupy różne, lecz częściowo pokrywa jące się. O ile żadne z tych kryteriów z osobna nie różnicuje rodzajów uczenia się w wystarczającym stopniu, o tyle łączne użycie wszystkich prowadziłoby do podziału zbyt drobnoziarnistego. Utrudnia to dokonanie systematycznej klasyfi kacji dziedziny maszynowego uczenia się na podstawie tych kryteriów. W istocie dziedzina ta nie rozwijała się w sposób systematyczny, a jej wtórna pełna systema tyzacja na obecnym etapie jej rozwoju nie wydaje się jeszcze możliwa. Najbardziej odpowiadający rzeczywistości wykaz głównych podejść do konstruowania syste mów uczących się można uzyskać, wybierając rodzaje uczenia się wyróżnione przez różne kryteria lub kryteria te łącząc. Powstającemu w ten sposób podziałowi daleko wprawdzie do systematyczności, lecz jest pragmatyczny, to znaczy dobrze odpowiada rzeczywistym podziałom zainteresowań naukowców i praktyków. Or ganizacja tej książki odpowiada właśnie takiemu podziałowi, przeprowadzanemu według różnych kryteriów, a większość jej rozdziałów odpowiada poszczególnym, wynikającym z niego rodzajom uczenia się, wśród których część jest wyróżniona przez wykorzystywaną reprezentację wiedzy, część przez mechanizm wnioskowa nia, a jeszcze inne przez postać wykorzystywanej informacji trenującej.
1.3 Nauka o uczeniu się Badania nad systemami uczącymi się, w miarę wzrostu ich tematycznego zakresu i zróżnicowania oraz popularności w środowisku akademickim, dały początek wą skiej, lecz prężnej dyscyplinie naukowej. Tę naukę o uczeniu się sztucznych syste mów nazywa się czasem maszynowym uczeniem się lub uczeniem się maszyn — terminów tych używaliśmy już kilkakrotnie wyżej. Najwygodniej jest traktować ją jako gałąź sztucznej inteligencji, tę zaś jako poddziedzinę informatyki, chociaż wraz z pogłębianiem się specjalizacji we współczesnej nauce wzrasta także zna czenie badań interdyscyplinarnych i coraz trudniej o prosty hierarchiczny podział. W istocie znaczny wkład do badań nad systemami uczącymi się wnoszą oprócz informatyków także min. matematycy, automatycy, psycholodzy i biolodzy. 1.3.1
Trzy nurty
Na najwyższym poziomie ogólności można wskazać trzy podstawowe nurty w pra cach naukowych w ramach maszynowego uczenia się, które można nazwać nurtem
46
ROZDZIAŁ 1. UCZENIE SIĘ W UJĘCIU ALGORYTMICZNYM
teoretycznym, biologicznym i systemowym. Nurt teoretyczny zajmuje się rozwija niem podstaw teoretycznych algorytmów uczenia się. Rozpatrywane w tych ba daniach problemy to m.in. ocena trudności różnych problemów uczenia się, sza cowanie czasu i ilości informacji trenującej wymaganej do uczenia się, określanie jakości wiedzy możliwej do nauczenia się, a także tworzenie jednolitego słownika teoretycznego do rozważania różnych mechanizmów uczenia się. Teoria maszy nowego uczenia się jest w tej książce reprezentowana w skromnym stopniu ze względu na matematyczną złożoność części rezultatów, która mogłaby ten pod ręcznik uczynić zanadto hermetycznym, oraz na jej dotychczas dość ograniczo ny wpływ na powstawanie praktycznych algorytmów uczenia się. Przedstawiono jednak wybrane wyniki o znaczeniu najbardziej podstawowym, które dają pewne wyobrażenie o charakterze teoretycznych prac nad systemami uczącymi się. Nurt biologiczny, który w tej książce nie znajduje w ogóle odzwierciedlenia, stawia sobie za cel konstruowanie obliczeniowych modeli procesów uczenia się występujących w naturalnych systemach biologicznych, u ludzi i zwierząt, na róż nych poziomach ich struktury (od komórki do centralnego układu nerwowego). Te prace wiążą się najbliżej z biologicznymi i psychologicznymi korzeniami uczenia się i nie są bezpośrednio interesujące dla informatyków. W zdecydowanej większości książka jest poświęcona wynikom nurtu systemo wego, wyraźnie dominującego w naszej dyscyplinie, który zajmuje się opracowy waniem algorytmów uczenia się oraz konstruowaniem, badaniem i stosowaniem wykorzystujących je systemów uczących się. W pewnym uproszczeniu można na wet patrzeć na ten podręcznik jako na usystematyzowany katalog podstawowych algorytmów uczenia się, wzbogacony o dyskusję niektórych praktycznych zagad nień związanych z ich implementacją i stosowaniem. Nie oznacza to, że wyniki pozostałych dwóch nurtów nie zasługują na szerszą prezentację i nie są godne za interesowania. Zagadnienia te pozostają jednak do zagospodarowania innym przy szłym publikacjom. 1.3.2
Dziedziny pokrewne
We współczesnej nauce nie ma oczywiście izolowanych obszarów badań, pomi jających swoje otoczenie i zamkniętych na jego wpływ. Poszczególne dyscypliny przenikają się wzajemnie i inspirują, a rosnąca część projektów badawczych ma charakter interdyscyplinarny. Nie inaczej jest z uczeniem się maszyn. O związkach badań nad systemami uczącymi się z resztą sztucznej inteligencji będzie mowa w kolejnym podrozdziale. Tymczasem rzetelność wymaga wymienienia przynaj mniej niektórych innych dziedzin, z którymi maszynowe uczenie się łączą wyraźne więzy pokrewieństwa, przejawiające się między innymi czerpaniem z ich dorobku użytecznych narzędzi teoretycznych lub obliczeniowych, o czym będziemy mieli okazję przekonać się w kolejnych rozdziałach.
1.3. NAUKA O UCZENIU SIĘ
47
Teoria prawdopodobieństwa. Teoria prawdopodobieństwa ma istotny wpływ zarówno na nurt teoretyczny uczenia się maszyn, jak i na nurt systemowy. W pierw szym przypadku jej wyniki współtworzą aparat matematyczny, używany do ana lizy algorytmów uczenia się. Dotyczy to przede wszystkim obliczeniowej teorii uczenia się, której podstawowe elementy będą streszczone w następnym rozdziale. W drugim przypadku stanowią one podstawę różnych mechanizmów wnioskowa nia probabilistycznego, cieszących się rosnącym zainteresowaniem i skutecznych w wielu zastosowaniach. Będziemy o nich mówić w rozdziale 5. Teoria informacji. Na badania w systemowym nurcie uczenia się maszyn, a do kładniej na projekt niektórych algorytmów uczenia się, wpłynęła teoria informacji. Niekiedy przy wyborze hipotez stosuje się teorioinformacyjne kryteria jakości. Na problem indukcyjnego uczenia się można też patrzeć jak na problem odpowied niego kodowania informacji trenującej. Zagadnienia z tym związane są poruszane między innymi w rozdziałach 3 i 5. Logika formalna. Logika formalna wpłynęła na badania nad systemami uczący mi się przede wszystkim jako podstawa wielu symbolicznych metod reprezentacji wiedzy, w szczególności wykorzystujących reguły. Jednak niektóre rodzaje ucze nia się są z nią związane bardziej bezpośrednio. Dotyczy to zwłaszcza omawiane go w rozdziale 9 indukcyjnego programowania logicznego, gdzie wiedza genero wana w wyniku uczenia się jest reprezentowana w postaci formuł logicznych, oraz omawianego w rozdziale 11 uczenia się przez wyjaśnianie, gdzie wykorzystuje się elementy logicznej dedukcji. Statystyka. Statystyka zajmuje się metodami analizy danych i wnioskowania na ich temat. Posługuje się w tym celu m.in. opisem ich rozkładu, wartościami średnich i odchyleń standardowych oraz aparatem teorii prawdopodobieństwa. Jej cel jest zbieżny z celem niemałej części algorytmów maszynowego uczenia się (co nawet skłania niektórych do traktowania tej dziedziny jako swoistej odmiany statystyki), lecz posługuje się innymi środkami. Rodzaje wiedzy, jakie mogą być pozyskiwane przez systemy uczące się, daleko wykraczają poza statystyczny opis danych stanowiących informację trenującą, a tym samym nieporównanie większe są możliwości wnioskowania na jej podstawie. Jednocześnie niektóre rodzaje sys temów uczących się wykorzystują narzędzia statystyczne do analizy danych trenu jących i wyciągania na ich podstawie wniosków przydatnych w procesie uczenia się. Dotyczy to zwłaszcza charakteryzowania błędów popełnianych przez ucznia i testów statystycznej wiarygodności hipotez, które mogą być używane do ich wy boru, a także do empirycznego oceniania jakości działania systemów uczących się. Z podejściem takim zetkniemy się w wielu rozdziałach tej książki, np. 3, 4, 5, 7.
48
ROZDZIAŁ 1. UCZENIE SIĘ W UJĘCIU ALGORYTMICZNYM
Teoria sterowania. Przedmiotem teorii sterowania są metody projektowania sys temów automatycznego sterowania dla różnych klas obiektów i procesów. Zada niem regulatora jest oddziaływanie na sterowany obiekt lub proces w sposób za pewniający osiągnięcie lub utrzymanie jego pożądanego stanu. Ponieważ sterowa nie polega z reguły na wykonywaniu przez regulator sekwencji operacji mających prowadzić do określonego celu, wiąże się ono najbliżej z uczeniem się umiejętno ści. Dokładniej, związek ten dotyczy przede wszystkim sterowania adaptacyjnego, w którym nie zakłada się znajomości modelu sterowanego obiektu i dopuszcza je go zmienność w czasie. W związku z tym można brać pod uwagę wykorzystanie odpowiednich rodzajów systemów uczących się jako regulatorów adaptacyjnych. Przepływ wyników między obydwiema dziedzinami może jednak przebiegać tak że w drugim kierunku — pewne wyniki teorii sterowania inspirują badania nad niektórymi rodzajami systemów uczących się. Te powiązania najwyraźniej są za znaczone w rozdziale 13 poświęconym uczeniu się ze wzmocnieniem. Psychologia. Fenomen uczenia się ludzi i wyżej rozwiniętych zwierząt jest oczy wiście istotnym zagadnieniem w psychologii. Rozwijane na jej gruncie koncepcje uczenia się wpływają nie tylko na biologiczny nurt maszynowego uczenia się, gdyż wśród praktycznych algorytmów uczenia się można wskazać takie, które nawią zują do inspiracji psychologicznych. Było tak w przypadku niektórych wczesnych symbolicznych indukcyjnych systemów uczących się, które jednak mają już tylko znaczenie historyczne. We współczesnym uczeniu się maszyn korzenie psycho logiczne ma przede wszystkim uczenie się ze wzmocnieniem. Wartościująca in formacja trenująca w postaci liczbowych nagród przypomina podejścia stosowane przez psychologów-eksperymentatorów w ich badaniach nad uczeniem się zwie rząt, a sam termin „wzmocnienie" pochodzi właśnie z literatury psychologicznej. Neurofizjologia. Inspiracje rodem z neurofizjologii, czyli nauki o systemie ner wowym ludzi i zwierząt, wpłynęły oczywiście na badania w ramach biologicznego nurtu uczenia się maszyn, lecz stały się także inspiracją dla nurtu systemowego, której wyraźne ślady możemy dostrzec w niektórych subsymbolicznych systemach uczących się5. Chodzi tu przede wszystkim o sieci neuronowe, o których zgodnie z wcześniejszą zapowiedzią nie będziemy w tej książce mówić. Przy okazji aprok symacji funkcji zetkniemy się jednak z systemem uczącym się wywodzącym się z bardzo silnej inspiracji neurofizjologicznej (i z tych względów niekiedy zalicza nym do grupy sieci neuronowych, mimo że nie występują w nim żadne jednostki przetwarzające analogiczne do „neuronów"). 5
Możemy więc powiedzieć, że poziom komórek nerwowych lub ich zespołówJakimi zajmuje się neurofizjologia, jest poziomem „subsymbolicznym" przetwarzania informacji przez układ nerwowy, podczas gdy przedmiotem zainteresowania psychologii jest „symboliczny" poziom myślenia.
1.4. UCZENIE SIĘ W SZTUCZNEJ INTELIGENCJI
1.4
49
Uczenie się w sztucznej inteligencji
Wspomnieliśmy już, że próbując umiejscowić dziedzinę maszynowego uczenia się na szerszym tle najrozsądniej jest potraktować ją jako bardziej szczegółowy obszar badań w ramach sztucznej inteligencji. Warto poświęcić podrozdział na przedys kutowanie roli, jaką uczenie się maszyn odgrywa w tej szerszej dyscyplinie, oraz zasygnalizowanie jego powiązań z niektórymi zagadnieniami z jej głównego nur tu. Jest to tym bardziej celowe, że wokół sztucznej inteligencji nagromadziło się w ciągu kilkudziesięciu lat jej rozwoju wiele nieporozumień. 1A l
Słaba i silna sztuczna inteligencja
Nigdy właściwie nie było i zapewne w najbliższej przyszłości także nie będzie powszechnej zgody co do tego, czym zajmuje się sztuczna inteligencja i jakie sta wia sobie cele. O ile wszyscy jej zwolennicy i przeciwnicy przystaliby zapewne na stwierdzenie, że dąży ona do konstruowania sztucznych systemów inteligentnych, o tyle można spotkać przynajmniej następujące cztery główne sposoby rozumienia tego, czym jest lub ma być system inteligentny: • • • •
system, który myśli jak człowiek, system, który myśli racjonalnie, system, który zachowuje się jak człowiek, system, który zachowuje się racjonalnie.
Ryzykując pewne uproszczenie można powiedzieć, że informatykom zajmują cym się sztuczną inteligencją bliższe są raczej sformułowania mówiące o zacho waniu i racjonalności, a psychologom i filozofom raczej te mówiące o myśleniu i naśladowaniu człowieka. Oczywiście każde z tych sformułowań samo w sobie może być przedmiotem dyskusji —jest w szczególności kwestią trudną do jedno znacznego określenia, jakie kryteria racjonalności można stosować wobec zacho wania się systemów, a tym bardziej co właściwie oznacza myślenie i jak można je stwierdzić. Nie jest także jasne, które aspekty zachowania się człowieka systemy sztuczne mogą i powinny naśladować. Dość często stanowiska wobec sztucznej inteligencji dzieli się jeszcze prościej na dwa tylko rodzaje, określane mianem silnej i słabej sztucznej inteligencji. Sil na sztuczna inteligencja stawia sobie cel ambitny i dalekosiężny doprowadzenia do powstania sztucznych systemów myślących, o poziomie intelektualnym zbli żonym do ludzkiego lub go przewyższającym. Możliwość porównywania zakłada oczywiście niejawnie jakieś pokrewieństwo charakteru procesów myślowych ta kich systemów ze sposobem myślenia ludzi, ale nie muszą być one zasadniczo tożsame. Słaba sztuczna inteligencja zajmuje się dość szerokim spektrum pro blemów szczegółowych o dobrze określonych celach i kryteriach ich osiągnięcia.
50
ROZDZIAŁ 1. UCZENIE SIĘ W UJĘCIU ALGORYTMICZNYM
Problemy te dotyczą wykonywania przez systemy informatyczne zadań, których złożoność powoduje, że wymagają one inteligencji, jeśli są wykonywane przez człowieka. Rozwiązania tych problemów mogą się okazać użyteczne w programie silnej sztucznej inteligencji, lecz motywacją do pracy nad nimi jest raczej ich bar dziej bezpośrednia użyteczność w różnych praktycznych zastosowaniach. Uprasz czając można powiedzieć, że słaba sztuczna inteligencja jest częściej przedmiotem zainteresowania na wydziałach informatycznych, a silna sztuczna inteligencja na wydziałach filozoficznych wyższych uczelni. Interesujący się słabą sztuczną inteli gencją profesjonalni informatycy zajmują przy tym wobec programu silnej sztucz nej inteligencji różne stanowiska, od braku zainteresowania przez sceptycyzm po entuzjazm. W tej książce nie chcemy bronić żadnego poglądu w bardzo zajmującym spo rze o to, czy cele silnej sztucznej inteligencji są osiągalne. Nie ulega natomiast wątpliwości, że udało się rozwiązać wiele problemów słabej sztucznej inteligen cji oraz że jest możliwy i prawdopodobny dalszy postęp w tej dziedzinie. Mó wiąc w tej książce o sztucznej inteligencji, będziemy mieć na myśli właśnie słabą sztuczną inteligencję, a maszynowe uczenie się traktować jako jeden z jej najważ niejszych i najbardziej obiecujących działów.
1.4.2
Główne działy sztucznej inteligencji
Już próby klasyfikowania i systematyzowania dziedziny uczenia się maszyn oka zały się dostatecznie kłopotliwe, aby teraz podejmować podobne starania wobec dyscypliny zdecydowanie szerszej i bardziej różnorodnej. Ułatwimy sobie zadanie wymieniając najważniejsze grupy zagadnień, które są przedmiotem prac w sztucz nej inteligencji. Wnioskowanie. Najwcześniej zapoczątkowanym i wciąż aktywnie rozwijanym nurtem sztucznej inteligencji są prace nad automatycznym wnioskowaniem. Opie rając się na osiągnięciach logiki formalnej, dążą one do uzyskania efektywnych algorytmów dedukcji. Oznacza to mechaniczne wyprowadzanie logicznych kon sekwencji bazy wiedzy za pomocą reguł wnioskowania. Wykorzystywano do tegu celu różne systemy formalne, takie jak rachunek zdań, rachunek predykatów pierwszego rzędu i logiki nieklasyczne. Metody automatycznego wnioskowania stanowią podstawę systemów eksperckich i systemów dowodzenia twierdzeń. Przeszukiwanie. Zagadnienia przeszukiwania dużych przestrzeni w efektywny sposób są przedmiotem zainteresowania sztucznej inteligencji ze względu na ich dwa główne zastosowania: rozwiązywanie problemów i gry planszowe. Przyjęty w tej dziedzinie paradygmat rozwiązywania problemów zakłada, że problem jest charakteryzowany przez przestrzeń możliwych stanów z wyróżnionymi stanami
1.4. UCZENIE SIĘ W SZTUCZNEJ INTELIGENCJI
51
końcowymi (docelowymi) odpowiadającymi akceptowalnym rozwiązaniom oraz przez zestaw operatorów, umożliwiający poruszanie się w tej przestrzeni. Znale zienie (najlepszego) rozwiązania sprowadza się do znalezienia (najlepszej według pewnego kryterium) sekwencji operatorów przeprowadzających stan początkowy problemu w jeden z jego stanów końcowych. Przeszukiwanie ma na celu znale zienie rozwiązania optymalnego przy możliwie małym zużyciu pamięci i czasu obliczeń. Z kolei w przypadku gier planszowych rozważa się wybór przez gracza ruchu maksymalizującego jego szanse na wygraną przy danej aktualnej sytuacji na planszy. Prowadzi to do przeszukiwania drzewa gry, powstającego przez rozważe nie sytuacji wynikających z możliwych do wykonania ruchów gracza, następnie dla każdej z tych sytuacji rozważenie konsekwencji możliwych ruchów przeciw nika itd. Zarówno w przypadku rozwiązywania problemów, jak i gier planszowych wyczerpujące przeszukiwanie (całej przestrzeni stanów albo pełnego drzewa gry) nie wchodzi w rachubę (z wyjątkiem problemów lub plansz o trywialnie małym rozmiarze). W związku z tym opracowuje się heurystyczne metody przeszukiwa nia, które na ogół nie dają gwarancji poprawy efektywności w przypadku pesymi stycznym, lecz wyraźnie poprawiają oczekiwaną efektywność w przypadku prze ciętnym. Opierają się one na wykorzystaniu funkcji heurystycznych, starannie za projektowanych przez konstruktora systemu, służących do liczbowego szacowania jakości stanów (ze względu na odległość do stanu końcowego) lub sytuacji wystę pujących w grze (ze względu na szanse zwycięstwa). Planowanie. Planowanie jest w pewnym stopniu wynikiem połączenia mecha nizmów automatycznego wnioskowania i rozwiązywania problemów. Od systemu planującego oczekuje się, w podstawowym przypadku, znalezienia planu rozwią zania problemu w sposób bardziej efektywny niż przez przeszukiwanie (nawet heurystyczne) przestrzeni stanów, dzięki dostarczonej mu wiedzy o efektach po szczególnych operatorów. Wiedza ta, wyrażana na ogół w pewnym logicznym for malizmie (np. podzbiorze języka predykatów), opisuje zmiany w stanie problemu, jakie powoduje zastosowanie każdego operatora. Umożliwia wnioskowanie na te mat stanów możliwych do osiągnięcia ze stanu początkowego za pomocą różnych sekwencji operatorów. Niekiedy eliminuje to całkowicie konieczność przeszuki wania, a w większości przypadków przynajmniej znacznie ogranicza jego zakres. O inteligentnych systemach planujących mówi się, że wnioskują o własnych ak cjach. Uczenie się. Uczenie się wymieniamy na końcu przez skromność, lecz jego rola w sztucznej inteligencji jest z pewnością niepoślednia. Każdy z rodzajów syste mów uczących się, jakie przedstawiliśmy wcześniej w tym rozdziale, można uznać za system inteligentny, a dokładniej za system zachowujący się racjonalnie (czyli
52
ROZDZIAŁ 1. UCZENIE SIĘ W UJĘCIU ALGORYTMICZNYM
inteligentny przynajmniej w sensie słabej sztucznej inteligencji). Trudno wskazać bardziej niewątpliwe atrybuty sztucznej czy naturalnej inteligencji niż zdolność do uczenia się i związaną z nią adaptacyjność i autonomiczność działania. Oprócz tej oczywistej obserwacji warto zwrócić uwagę na bezpośrednie powiązania ma szynowego uczenia się z innymi nurtami sztucznej inteligencji, w szczególności z automatycznym wnioskowaniem i przeszukiwaniem heurystycznym. 1.4.3
Uczenie się wiedzy do wnioskowania
Automatyczne wnioskowanie, niezależnie od aparatu formalnego, na którym się opiera, wymaga bazy wiedzy, z której w drodze dedukcji można uzyskać wiedzę wyprowadzoną. W najbardziej praktycznym zastosowaniu metod wnioskowania, jakim są systemy eksperckie, wiedza ta pochodzi najczęściej od ludzi-ekspertów. Nie zawsze jednak istnieją eksperci w interesującej nas dziedzinie, nie zawsze ich wiedza jest dostatecznie poprawna i pełna, nie zawsze wreszcie potrafią sformu łować ją w postaci umożliwiającej wprowadzenie jej do systemu wnioskującego. Z punktu widzenia konstruktora systemów eksperckich uczenie się maszyn jest naturalnym i bardzo obiecującym podejściem do akwizycji wiedzy, która zamiast wyłącznie od ekspertów może w całości lub w części pochodzić z procesu uczenia się, wykorzystującego jako informację trenującą przykłady, zapytania lub ekspe rymenty. Może to być nie tylko łatwiejszy (gdyż zautomatyzowany) sposób utwo rzenia bazy wiedzy, lecz także sposób bardziej wiarygodny i, co także nie jest bez znaczenia, umożliwiający jej ciągłą aktualizację przez działający system. Wiele algorytmów, które przedstawimy zwłaszcza w kilku początkowych rozdziałach tej książki, znakomicie się do tego celu nadaje. 1.4.4
Uczenie się heurystyk
„Inteligencja" metod przeszukiwania opracowanych w ramach sztucznej inteligen cji opiera się na wykorzystaniu przez nie funkcji heurystycznych do wyboru kie runku przeszukiwania. Nawet najlepsze z tych metod nie dadzą zadowalających rezultatów, jeśli zostaną wyposażone w źle zaprojektowane funkcje heurystycz ne. Tymczasem dla wielu godnych uwagi problemów opracowanie dostatecznie wiarygodnych funkcji heurystycznych jest zadaniem nietrywialnym, niekiedy wy magającym udziału ekspertów odpowiedniej dziedziny (tak jest chociażby w przy padku funkcji heurystycznych dla bardziej złożonych gier planszowych, takich jak szachy). Skoro jednak heurystyki reprezentują wiedzę, nie jest od rzeczy rozwa żyć możliwość nauczenia się ich na podstawie doświadczeń uzyskanych przy pró bach przeszukiwania (a więc podczas rozwiązywania problemu lub w trakcie gry). W rozdziałach 11 i 13 jest mowa o dwóch odmiennych, chociaż nie całkiem po zbawionych podobieństwa, podejściach do uczenia się heurystyk przeszukiwania.
1.5. UCZENIE SIĘ JAKO WNIOSKOWANIE
1.5
53
Uczenie się jako wnioskowanie
Jako przykład możliwego rozwinięcia przedstawionej dyskusji na temat maszyno wego uczenia się i jego rodzajów przedstawimy bardzo ogólny zarys inferencyjnej teorii uczenia się. Jej znaczenie polega przede wszystkim na wprowadzeniu jedno litego słownika, który, zapewne nie bez konieczności dalszego rozbudowania, mo że służyć do jednolitej prezentacji różnych form uczenia się w ramach wspólnej siatki pojęciowej i terminologicznej. Podejście to nie zostało, jak dotąd, powszech nie przyjęte i nie widać prób połączenia go z innymi teoriami uczenia się w celu wypracowania jednolitej teorii. Również jego wpływ na praktykę konstruowania systemów uczących się był dość ograniczony. Jego bardzo zwięzłe i fragmenta ryczne omówienie poniżej jest głównie usprawiedliwione dobrą korespondencją, jaka zachodzi między nim a nieformalnymi rozważaniami z wcześniejszych części tego rozdziału. Zgodnie z teorią inferencyjną uczenie się jest wynikiem łącznego zachodzenia dwóch procesów: wnioskowania, które prowadzi do generowania wiedzy, i za pamiętywania, dzięki któremu nowa wiedza zostaje zapisana w pamięci ucznia zgodnie z przyjętą metodą reprezentacji. Wnioskowanie jest przeprowadzane na podstawie wiedzy wrodzonej ucznia i informacji trenującej za pomocą operato rów nazywanych transmutacjami wiedzy. Była już mowa o tym, że wiedza ge nerowana przez ucznia jest nazywana, nie tylko na gruncie teorii inferencyjnej, hipotezą, wybraną z pewnej przestrzeni reprezentowalnych hipotez na podstawie wiedzy wrodzonej i informacji trenującej. Zależnie od mechanizmu wnioskowania prowadzącego do wyboru tej hipotezy, może ona być jednoznacznie wyznaczana przez wiedzę wrodzoną i informację trenującą bądź nie (wówczas wiedza wro dzona i informacja trenującą zawężają tylko zbiór hipotez, jakie uczeń może brać pod uwagę). W tym drugim przypadku o ostatecznym wyborze hipotezy decydują dodatkowe czynniki, związane ze stosowanym algorytmem uczenia się, które na zywa się obciążeniem algorytmu. Mamy wówczas do czynienia z wnioskowaniem obciążonym. 1.5.1
Typy wnioskowania
Dwa najważniejsze typy wnioskowania, które mogą być realizowane za pomocą różnych transmutacji, to według inferencyjnej teorii uczenia się wnioskowanie in dukcyjne i wnioskowanie dedukcyjne. Uwzględnionym w niej również trzecim ty pem wnioskowania, analogicznym, nie będziemy się zajmować. Do podstawowe go opisania wnioskowania dowolnego typu można wykorzystać ten sam, wspólny związek logicznej konsekwencji: P A W |= K9
(1.1)
54
ROZDZIAŁ 1. UCZENIE SIĘ W UJĘCIU ALGORYTMICZNYM
przy czym P oznacza zbiór przesłanek, W — wiedzę wrodzoną ucznia, K — zbiór konkluzji, a symbol |= jest oznaczeniem logicznej konsekwencji, której in terpretacja jest formalnie podana w dodatku C streszczającym podstawy logiki formalnej. To równanie mówi, że wiedza reprezentowana przez konkluzje K jest logiczną konsekwencją zbioru przesłanek P i wiedzy wrodzonej W. Innymi słowy, K wynika z P i l ł ^ w drodze logicznej dedukcji (oczywiście w poprawnym syste mie dedukcyjnym). Jeśli za zbiór przesłanek P podstawimy informację trenującą otrzymywaną przez ucznia, a zbiór konkluzji uznamy za generowaną przez nie go nową wiedzę, to nasze równanie opisuje uczenie się oparte na wnioskowaniu dedukcyjnym. Powiemy wówczas, że jest ono czytane „w przód". Możemy jed nak przeczytać je także „wstecz", traktując K jako informację trenującą, a P jako generowaną w procesie uczenia się wiedzę. Wówczas opisuje ono wnioskowanie indukcyjne. Właściwością dedukcji jest zachowanie prawdy (z prawdziwości P wynika prawdziwość K), a właściwością indukcji zachowanie fałszu (z fałszywości K wynika fałszywość P). Wnioskowanie indukcyjne jest w zasadzie zawsze obciążone — o wyborze hipotezy indukcyjnej decydują pewne właściwości algo rytmu uczenia się, gdyż wiedza wrodzona i informacja trenująca nie wyznaczają jej jednoznacznie.
1.5.2
Transmutacje wiedzy
Każdy typ wnioskowania może być realizowany przez szereg transmutacji wiedzy, których nie będziemy dokładnie omawiać. Są to różne rodzaje indukcyjnych lub dedukcyjnych przekształceń, jakie mogą być stosowane do wiedzy wrodzonej (lub także wcześniej uzyskanej w wyniku uczenia się) i informacji trenującej w celu generowania nowej wiedzy, która ma postać opisów odnoszących się do obiektów pewnej dziedziny. W inferencyjnej teorii uczenia się są one pogrupowane w pary transmutacji o działaniu w przybliżeniu odwrotnym. Najważniejsze z nich to: generalizacja/specjalizacja: transmutacje polegające na poszerzeniu albo zawę żeniu zbioru obiektów, do którego odnoszą się opisy, abstrakcja/konkretyzacja: transmutacje polegające na zmniejszeniu albo zwięk szeniu liczby szczegółów uwzględnianych w opisach, podobieństwo/kontrastowanie: transmutacje polegające na generowaniu wiedzy o pewnych zbiorach obiektów na podstawie ich podobieństwa albo różnic w stosunku do innych zbiorów obiektów, wyjaśnianie/predykcja: transmutacje polegające na znajdowaniu wiedzy wyja śniającej wiedzę posiadaną wcześniej albo na przewidywaniu na jej podstawie nowej wiedzy. Konkretnych przykładów transmutacji wiedzy dostarczą nam algorytmy in dukcyjnego uczenia się omawiane w kilku następnych rozdziałach.
1.6. ZASTOSOWANIA SYSTEMÓW UCZĄCYCH SIĘ
1.5.3
55
Uczenie się jako przeszukiwanie
Inferencyjna teoria uczenia się ukazująca proces pozyskiwania wiedzy jako wnio skowanie i zapamiętywanie stwarza dogodną perspektywę do analizowania róż nych rodzajów uczenia się i eksponowania zarówno ich cech wspólnych, jak i dzie lących je różnic, lecz jej faktyczną przydatność zweryfikują dopiero dalsze prace. W tej książce raczej nie będziemy się do niej odwoływać. Będziemy za to niekie dy posługiwać się odmienną perspektywą, chociaż nie wykluczającą tamtej, którą otrzymuje się traktując proces uczenia się jako przeszukiwanie przestrzeni hipo tez. Zgodnie z tym punktem widzenia uczeń wykorzystuje wiedzę wrodzoną oraz informację trenującą do kierowania procesem przeszukiwania, którego celem jest znalezienie najlepszej hipotezy według pewnych kryteriów jakości, zależnych od konkretnego rodzaju uczenia się, z jakim mamy do czynienia. Rola wiedzy wro dzonej i informacji trenującej polega na eliminowaniu niektórych i dopuszczaniu innych kierunków przeszukiwania, lecz wykorzystywane strategie przeszukiwania przestrzeni hipotez mogą być różne i stanowią charakterystyczne właściwości al gorytmów uczenia się. Jeśli przy danej wiedzy wrodzonej i informacji trenującej dla rozważanego problemu uczenia się istnieje więcej niż jedna dopuszczalna hi poteza, to oczywiście różne strategie przeszukiwania mogą dać w wyniku różne hipotezy. Mogą się one różnić nie tylko wynikiem, lecz także efektywnością je go uzyskania. Najczęściej algorytmy uczenia się przeszukują przestrzeń hipotez w ten sposób, aby zarazem dążyć do uzyskania hipotez najbardziej preferowanych ze względu na określone kryteria jakości oraz uzyskać zadowalającą hipotezę jak najszybciej. Traktowanie uczenia się jako przeszukiwania nie ma tak dalekosiężnych am bicji jak inferencyjna teoria uczenia się. Nie jest to teoria, lecz pewien sposób patrzenia na proces uczenia się, który jest jednak przydatny do porównywania róż nych algorytmów. W związku z tym przy omawianiu niektórych algorytmów w tej książce zwrócimy uwagę na wykorzystywane przez nie strategie przeszukiwania.
1.6
Zastosowania systemów uczących się
Informatyka jest nauką techniczną i żaden jej dział nie może pomijać pytania o możliwe zastosowania praktyczne badanych przez siebie technik. O ile stawianie tego pytania nie powinno być przedwczesne, wyprzedzające rozwiązanie zupełnie podstawowych problemów naukowych, o tyle w przypadku młodej jeszcze, lecz już nieco okrzepłej dyscypliny jest jak najbardziej na miejscu. Przy omawianiu w dalszej części książki różnych algorytmów uczenia się będziemy zawsze dys kutować zagadnienia związane z ich stosowaniem w praktyce. Obecnie poziom konkretności dyskusji o zastosowaniach poszczególnych rodzajów uczenia się mu siałby być nie mniej nikły niż całej zawartości tego wprowadzającego rozdziału.
56
ROZDZIAŁ 1. UCZENIE SIĘ W UJĘCIU ALGORYTMICZNYM
Zamiast tego wymieńmy więc raczej niektóre dziedziny, w których ewentualne zastosowania systemów uczących się mogłyby być szczególnie obiecujące, nie za stanawiając się ani nad właściwym rodzajem uczenia się, ani nad odpowiednimi algorytmami. Odkrycia w bazach danych. Tu obszarów zastosowań jest tyle, ile obszarów, w których występują duże bazy danych, zawierające dane systematycznie groma dzone lub tworzone w trakcie działania firmy lub instytucji będącej ich właści cielem. Może to być zakład przemysłowy, który dzięki odkryciom uzyska wiedzę umożliwiającą obniżenie kosztów i poprawę jakości. Może to być bank, który po zyskaną z danych wiedzę wykorzysta przy konstruowaniu oferty nowego rodzaju kredytu lub ocenianiu wiarygodności klientów. Uczelnia analizując dane histo ryczne dowie się, od jakich czynników zależą czas i wyniki studiowania. Agencja reklamowa ustali, od czego zależy zainteresowanie klientów promowanym pro duktem. Także dwa zastosowania już wcześniej podane jako przykłady, diagnosty ka medyczna i wykrywanie nadużyć, mają charakter odkrywania zależności w da nych. Również na inny przykład, adaptacyjne klasyfikowanie lub filtrowanie do kumentów, można patrzeć jak na szczególny rodzaj odkryć — w tym przypadku dotyczących bazy danych zawierającej informację tekstową, której wielkie zasoby są dostępne między innymi w Internecie. Pomysły innych konkretnych zastosowań można mnożyć do woli. Systemów odkrywania wiedzy w bazach danych skonstru owano już dość wiele i znaczna większość z nich ma charakter komercyjnych pro duktów, sprzedawanych za niebagatelne niekiedy sumy. Zainteresowanie tego typu systemami i ich wdrażaniem w różnych dziedzinach jest w Stanach Zjednoczonych bardzo duże przynajmniej od początku lat dziewięćdziesiątych, a obecnie pojawia się coraz wyraźniej także w Polsce. Oprogramowanie, o którym mowa, najczęściej umożliwia komunikację z relacyjną bazą danych i poszukiwanie w przechowywa nych w niej zbiorach rekordów zależności za pomocą różnych algorytmów, w tym także takich, które poznamy w kilku następnych rozdziałach. Wiedza wydobyta w ten sposób może być prezentowana w czytelnej dla człowieka postaci i wyko rzystywana do przeprowadzania wnioskowania. Inteligentne sterowanie. W uproszczeniu można powiedzieć, że przez sterowa nie automatycy rozumieją proces, w którym układ sterowania (regulator) oddzia łuje na sterowany obiekt w celu zapewnienia jego pożądanego stanu. Czasem roz różnia się tu dwa przypadki. W pierwszym chodzi o to, aby stan ten, zmieniając się w czasie, był możliwie blisko pewnej pożądanej trajektorii i należy eliminować lub minimalizować wszelkie od niej odchylenia. W drugim przypadku celem ste rowania jest maksymalizacja pewnej miary jakości działania sterowanego obiektu. W obu tych sytuacjach klasyczna teoria sterowania dostarcza znakomitych rozwią-
1.6. ZASTOSOWANIA SYSTEMÓW UCZĄCYCH SIĘ
57
zań, pod warunkiem jednak dostatecznie dobrej znajomości dziedziny problemu i dostępności wiarygodnego modelu matematycznego. Tam, gdzie takie modele nie są dostępne, otwiera się przestrzeń do stosowania różnych uczących się regu latorów. Mogą się one uczyć z nadzorem, na podstawie przykładów pożądanych sterowań w różnych stanach, lub ze wzmocnieniem, kiedy jakość strategii sterowa nia jest oceniana za pomocą liczbowych nagród. W problemach sterowania bardzo często znajdują zastosowania metody uczenia się aproksymacji funkcji, które mo gą być używane bądź bezpośrednio do uczenia się strategii sterowania, bądź do identyfikacji — uczenia się modelu zachowania sterowanego obiektu, który na stępnie jest używany do znalezienia strategii sterowania. Robotyka. Zdolność do uczenia się jest bez wątpienia jedną z pożądanych cech inteligentnych robotów, mających działać w złożonych środowiskach i charakte ryzować się dużym stopniem autonomii. Mogą to być roboty przemysłowe, wy konujące pewne szczególnie skomplikowane manipulacje na taśmie produkcyjnej, ruchome roboty przemierzające korytarze hal fabrycznych i biurowców czy ro boty eksploracyjne wysyłane na inne planety na pokładach sond kosmicznych. Już wcześniej jako przykład możliwego zastosowania maszynowego uczenia się poda liśmy problem nawigacji dla ruchomego robota. Inne problemy to np. rozpoznawa nie miejsc i osób, rozpoznawanie mowy, znajdowanie drogi, planowanie. Motywa cją do sięgnięcia po algorytmy uczenia się w celu uzyskania wiedzy lub umiejęt ności niezbędnej do rozwiązania tych i innych problemów jest przede wszystkim złożoność, niepewność i zmienność środowisk, w których mogą działać roboty. Inżynieria oprogramowania. Skoro prace nad systemami uczącymi się prowa dzą przede wszystkim informatycy, należałoby oczekiwać, że znajdą dla nich za stosowania również w głównym nurcie swojej dyscypliny, w tym w szczególności w inżynierii oprogramowania. Zastosowania takie są istotnie możliwe i chociaż na leżą obecnie jeszcze do rzadkości, być może w niedalekiej przyszłości bardziej się rozpowszechnią. Jedna z możliwości to konstruowanie inteligentnych interfejsów użytkownika adaptujących się do jego zwyczajów i upodobań. Często używając po wielekroć tego samego programu użytkownik powtarza niezliczoną liczbę razy te same serie poleceń (wybranych z menu lub zadanych kombinacją klawiszy). Przy najmniej części tych powtórzeń można uniknąć. Na podstawie historii interakcji użytkownika z programem mogłyby być dobierane domyślne wartości jego róż nych ustawień, upraszczane typowe, często wykonywane sekwencje operacji itp. Oparte na tej koncepcji podejście do konstruowania uczących się interfejsów użyt kownika jest nazywane programowaniem przez demonstrację. Innym obszarem zastosowań może być planowanie projektów informatycznych i zarządzanie nimi. Jednym z występujących tam problemów jest szacowanie czasochłonności róż-
58
ROZDZIAŁ 1. UCZENIE SIĘ W UJĘCIU ALGORYTMICZNYM
nych zadań i etapów projektu oraz zasobów wymaganych do ich realizacji. Jest to na ogół dość trudne i błędy popełniane przy tych szacunkach bywają zaskakująco duże. W praktyce doświadczone zespoły projektowe kierowane przez doświadczo nych kierowników projektów mylą się oczywiście rzadziej i w mniejszym stopniu niż zespoły i kierownicy bez dużego doświadczenia. Wydaje się, że pomysł au tomatyzacji wykorzystywania doświadczeń z przeszłości za pomocą algorytmów uczenia się nie jest więc pozbawiony sensu. Realizujący ten pomysł system kon struowałby odpowiednie oszacowania na podstawie pewnego zestawu cech opisu jących zadanie projektowe, wykorzystując wiedzę uzyskaną z przetworzenia do starczonych mu uprzednio przykładów trenujących, reprezentujących doświadcze nia z wcześniej realizowanych projektów. Jeszcze inna możliwość to zastosowanie systemów uczących się do diagnostyki błędów oprogramowania. Systemy takie uczyłyby się na podstawie wcześniej diagnozowanych przypadków kojarzyć ob serwowane przez użytkowników symptomy błędnego działania programu z przy puszczalną lokalizacją usterek i mogłyby być przydatnymi narzędziami wspoma gającymi pracę inżynierów zatrudnionych w działach wsparcia technicznego firm informatycznych.
1.7
Perspektywa filozoficzna
Problemy wiedzy i jej pozyskiwania oraz wnioskowania i jego prawomocności zajmowały myślicieli prawie od początku dziejów filozofii Zachodu. Autorowi tej książki brakuje kompetencji do przedstawienia pełnego, obiektywnego i wolnego od naiwnych uproszczeń przeglądu różnych ujęć tych problemów, jakie się w cią gu ostatnich 2500 lat pojawiły. Aby jednak zachęcić czytelnika zainteresowanego informatyką, sztuczną inteligencją i uczeniem się do sięgnięcia po teksty filozo ficzne i samodzielnego odnalezienia wspólnych wątków i obustronnych implika cji, są tu wskazane w chronologicznym z grubsza porządku niektóre tezy głoszone przez najbardziej znanych filozofów, mające bliski związek z zagadnieniami in teresującymi nas w tej książce. Zawartość tego podrozdziału musi być opatrzona bardzo wyraźnym zastrzeżeniem, że przyjęte na jej użytek uproszczenia przekra czają niekiedy granicę zupełnej trywializacji, a ujęcie problemów jest świadomie tylko hasłowe. Wskazywane tu analogie między zasadniczymi problemami filozo ficznymi a zagadnieniami związanymi z systemami uczącymi się są z pewnością bardzo spłycone i powinny być traktowane z przymrużeniem oka. Refleksja nad wiedzą, a więc także uczeniem się, po raz pierwszy wyraźnie zaznacza się u Sokratesa (469-399 p.n.e.). Zgodnie z jego teorią anamnezy ucze nie się jest naprawdę przypominaniem sobie wiedzy wrodzonej. Przypominanie to może oczywiście zachodzić pod wpływem bodźców zewnętrznych, dzięki pomo cy nauczyciela lub przez obserwację przykładów. Podstawowa rola wiedzy wro-
1.7. PERSPEKTYWA FILOZOFICZNA
59
dzonej zbliża to rozumienie uczenia się do uczenia się przez wyjaśnianie. Jednak metoda, jaką Sokrates posługiwał się definiując pojęcia, polegała na gromadzeniu przykładów tych pojęć i analizowaniu ich cech wspólnych. Podejście to ma więc cechy indukcyjnego uczenia się z nadzorem. Platon (427-347 p.n.e.) ustami Sokratesa jako bohatera swych dialogów, wy łożył teorię idei (form) jako bytów realnie istniejących, których cieniami są rzeczy postrzegalne zmysłowo i których odbiciami są nasze pojęcia. Pojęcia te, jak cały świat idei, istnieją odwiecznie — nie są tworzone, lecz co najwyżej odkrywane przez rozum. Takimi realnymi bytami są według tego stanowiska w szczególno ści powszechniki, czyli pojęcia ogólne. Może je odkryć rozum lub intuicja, lecz nie dane zmysłowe. Adaptując ten punkt widzenia do procesu uczenia się nale żałoby przyjąć, że informacja trenująca jest w nim bezużyteczna, gdyż nie może prowadzić do żadnej wiarygodnej wiedzy. Arystoteles (384-322 p.n.e.) odniósł się do pojęć w duchu bardziej empirycz nym. Według niego istnieją tylko rzeczy jednostkowe, a pojęcia ogólne powstają jako twory umysłu w drodze abstrakcji. Nie jest to jednak abstrakcja arbitralna, podstawą jest dla niej wspólna forma rzeczy obejmowanych przez tworzone poję cie. Arystotelesowi też można przypisać uznanie wnioskowania za jedyne źródło wiedzy, a także rozróżnienie wnioskowania dedukcyjnego i indukcyjnego. Jako narzędzie dla pierwszego rozwijał logikę sylogizmów. Jednak pierwsze przesłan ki łańcucha dedukcji same nie mogły z niej pochodzić i Arystoteles wywodził je właśnie z wnioskowania indukcyjnego, którego niezawodność jest odczuwana intuicyjnie. Nader dobrze odpowiada to przyjętemu zwłaszcza przez twórców sys temów eksperckich traktowaniu indukcyjnego uczenia się jako źródła wiedzy uży wanej następnie do automatycznego wnioskowania dedukcyjnego. Myśl Arystote lesa była w ogóle pierwszą systematyczną refleksją nad wnioskowaniem i przez wiele następnych stuleci nie wykroczono poza nią w żaden istotny sposób. Po znakomitym okresie filozofii ateńskiej ponowny rozkwit myśli przyniosło chrześcijańskie średniowiecze, które nie w całości było okresem ciemnoty i zabo bonu, z jakim jest wciąż niekiedy niesłusznie utożsamiane. Jego pierwszą wielką postacią był Aureliusz Augustyn (354-430), o którym upraszczając mówi się, że zaadoptował do doktryny chrześcijańskiej myśl Platona. Przyjmując jego naukę o ideach uznawał je za swego rodzaju „myśli Boga", wchodzące w skład Jego isto ty „szablony", według których ukształtował świat. Drogą do poznania tych idei jest przede wszystkim łaska iluminacji, dzięki której Bóg oświeca wybranych przez siebie. W doktrynie tej nie pozostaje zbyt wiele miejsca na uczenie się indukcyjne, natomiast akcentuje ona rolę wiedzy wrodzonej, według Augustyna zaszczepionej duszy ludzkiej przez Stwórcę i pewnej, w przeciwieństwie do mało wiarygodnych danych zmysłowych. Augustiańskie spojrzenie na uczenie się maszyn oznaczało by zatem ograniczenie go do przetwarzania wiedzy wrodzonej lub bezpośredniej implantacji wiedzy systemowi uczącemu się przez jego projektanta.
60
ROZDZIAŁ 1. UCZENIE SIĘ W UJĘCIU ALGORYTMICZNYM
W późniejszym okresie rozwoju filozofii chrześcijańskiej, która podniosła się po kilku wiekach intelektualnego upadku w początkach drugiego tysiąclecia, uwa gę wielu filozofów przyciągnął spór o uniwersalia, czyli o pochodzenie i naturę pojęć ogólnych (powszechników). Skrajne stanowiska w tym sporze zajmowali realiści, uznający je w duchu platońskim za realnie istniejące byty, i nominaliści, traktujący je wyłącznie jako elementy języka, znaki, którymi posługujemy się wy powiadając sądy. W dyskusji tej wziął udział jeden ze znakomitszych myślicieli tego okresu, Abelard (1079-1142), znany także z burzliwych dziejów swej miło ści do Heloizy, według którego uniwersalia nie istnieją realnie, ale mają podstawę we wspólnej formie rzeczy obejmowanych przez nie. Było to stanowisko kompro misowe, nie do przyjęcia jednak dla augustiańskich realistów; za sprawą jednego z nich losy Abelarda potoczyły się bardzo smutno. Właściwie sama natura po wszechników nie ma zasadniczego znaczenia z punktu widzenia maszynowego uczenia się, zasadniczą kwestią jest jednak możliwość ich poznania na podstawie tego, co można obserwować za pomocą zmysłów, czyli bytów jednostkowych. Sta nowisko realistyczne nie musi tego wykluczać, chociaż najczęściej jego wyznaw cy nie darzyli zmysłów i jednostkowych przedmiotów dużym zaufaniem. Zarówno nominalizm, jak i stanowisko Abelarda z istoty dopuszczają poznanie pojęć ogól nych na podstawie ich przykładów, zostawiając otwarte drzwi dla indukcyjnego uczenia się. Z kolei wielki twórca chrześcijańskiej myśli opartej na inspiracjach arystotelesowskich, Tomasz z Akwinu (1225-1274), rozróżniał uniwersalia antę rem (przed rzeczami, jako idee Boga, według których zostały stworzone rzeczy), in re (w rze czach, jako wspólna forma reprezentująca to, co w nich ogólne) i post rem (po rzeczach, jako abstrakcje tworzone przez rozum na podstawie zmysłowych obser wacji). To stanowisko łączy więc poglądy arystotelesowskie z mocno zakorzenioną w chrześcijaństwie nauką Augustyna, którą Akwinata nie tyle przekreślił, co włą czył do swej wielkiej syntezy. Ponieważ Doktor Anielski w ślad za Arystotelesem nie lekceważył empirycznych obserwacji, z pewnością zgodziłby się, że uczenie się na podstawie przykładów jest możliwe, chociaż może dotyczyć tylko niektó rych rodzajów wiedzy, gdyż są obszary, które pozostają dla niego niedostępne. Żaden chyba filozof tak bezpośrednio nie wpłynął na dziedzinę maszynowe go uczenia się jak inny średniowieczny myśliciel, William Ockham (1285-1349), który w sporze o uniwersalia zajmował stanowisko nominalistyczne. Nazwana je go imieniem zasada brzytwy Ockhama wzywa do niemnożenia przy tłumaczeniu świata bytów ponad potrzebę, czyli do wyboru najprostszych hipotez. Z zasadą tą, w różnych sformułowaniach, zetkniemy się w kilku rozdziałach tej książki, kiedy preferencje dla najprostszych hipotez będą stanowić istotne elementy opisywanych algorytmów uczenia się. Okres nowożytny zaznaczył się wzrostem zainteresowania zaniedbanymi w średniowieczu naukami przyrodniczymi, co, być może, nieco obniżyło poziom
1.7. PERSPEKTYWA FILOZOFICZNA
61
refleksji filozoficznej. Dla niektórych uczonych tego czasu była ona dodatkiem do ich działalności badawczej, nie ma więc nic dziwnego w tym, że koncentro wali się na kwestiach metodologicznych. Tak było z Francisem Baconem (1561— 1626), który zajął stanowisko zdecydowanie indukcjonistyczne. Uważał, że induk cja jako narzędzie nauk empirycznych jest źródłem wiedzy pewnej i pożytecznej, o ile oczywiście stosuje sieją w odpowiednio systematyczny, „naukowy" sposób. W tym celu Bacon zaproponował odpowiednie procedury, uwzględniające przy kłady pozytywne i negatywne. Proponowaną przez niego formę indukcji nazywa się indukcją eliminacyjną, gdyż analiza danych doświadczalnych prowadzi w niej do eliminacji niezgodnych z nimi hipotez aż do pozostania tylko jednej, która mo że być uznana za prawdziwą. Z algorytmem uczenia się, który postępuje w bardzo podobny sposób, zetkniemy się już w następnym rozdziale. Zagadnienia poznania i jego zmysłowych źródeł stanowiły główny przedmiot zainteresowań brytyjskiego empiryzmu, za którego sztandarowych przedstawicieli uchodzą John Locke (1632-1704), George Berkeley (1685-1753) i David Hume (1711-1777). W pracach tego ostatniego empiryzm uzyskał najbardziej dojrzałą postać. Zgodnie z tym kierunkiem myślenia idee proste powstają na podstawie wrażeń pochodzących ze zmysłów, a idee złożone są stworzonymi z nich kon strukcjami. O ile Locke, którego empiryzm jest uważany za jeszcze nie w pełni konsekwentny, dopuszczał również istnienie powstałych w drodze abstrakcji idei ogólnych, o tyle Berkeley i Hume wykluczali je, uznając, że idee muszą być jed nostkowe i konkretne tak samo, jak doświadczenia zmysłowe. Jedynym źródłem wiedzy według empirystów jest właśnie doświadczenie. Na jego podstawie można wydawać sądy o faktach, które mogą być prawdziwe lub fałszywe. Z konieczno ści prawdziwe są sądy o ideach, gdyż fałszywy sąd byłby sprzeczny i pozbawiony sensu. Interesujące jest także, że konsekwentny empiryzm w duchu Hume'a kryty kował zasadę przyczynowości jako nie mającą bezpośredniego oparcia w danych zmysłowych. Podważa to w konsekwencji prawomocność indukcji, chociaż prag matycznie nastawiony Hume akceptował posługiwanie się nią w praktyce. Podkre ślał tylko, że to, o czym wielokrotnie ponawiana obserwacja skłania nas myśleć jako o stałym i powszechnie obowiązującym prawie, wcale takim być nie musi. Stanowisko takie nie wyklucza zatem posługiwania się wnioskami indukcyjny mi, takimi jak wiedza pozyskiwana przez indukcyjne systemy uczące się, jeśli nie traktuje się ich jako pewnych i niepodważalnych. Obecne u Hume'a rozróżnienie z konieczności prawdziwych sądów o ide ach i sądów o obserwowanych faktach, których prawdziwość lub fałszywość jest przypadkowa, było punktem wyjścia do rozważań Immanuela Kanta (1724-1804). Pierwsze są nazywane analitycznymi, gdyż wyrażają tylko to, co w ideach już się kryje (z tego względu ich fałszywość byłaby równoznaczna wewnętrznej sprzecz ności), a drugie syntetycznymi, gdyż wnoszą nową, chociaż niepewną, wiedzę. Tak rozumiane sądy analityczne są sądami a priori, gdyż do ich wypowiedzenia nie
62
ROZDZIAŁ 1. UCZENIE SIĘ W UJĘCIU ALGORYTMICZNYM
są potrzebne dane empiryczne, sądy syntetyczne zaś są sądami a posteriori, gdyż opierają się na doświadczeniu. Kant uznał, że są również możliwe sądy synte tyczne a priori, czyli niezależne od doświadczenia, aczkolwiek wnoszące nową wiedzę. Ich przykłady można znaleźć przede wszystkim w matematyce. Aby wy tłumaczyć możliwość takich sądów oraz uwzględnić rolę zarówno zmysłów, jak i rozumu w poznaniu, Kant przyjął, że istnieją aprioryczne formy zmysłowości (czas, przestrzeń) i kategorie rozumu (m.in. substancja i przyczynowość), które kształtują poznanie i określają sposób odbierania przez nas wrażeń zmysłowych. Czyste wrażenia są więc przepuszczane przez filtr, który jest właściwością umysłu od nich niezależną. Właściwość ta jednocześnie umożliwia umysłowi wydawania sądów syntetycznych również niezależnie od doświadczenia. Z perspektywy in dukcyjnego uczenia się maszyn można na postulowane przez Kanta aprioryczne składniki umysłu patrzeć, mocno trywializując, jako na obciążenie, czyli czynnik determinujący wybór przez ucznia określonej (tej a nie innej) hipotezy na podsta wie dostępnych danych. Utrzymane w duchu empiryzmu i liberalizmu poglądy pozytywisty Johna Stu arta Milla (1806-1873) były oparte w większości na dorobku jego poprzedników, lecz warto o nim wspomnieć ze względu na uwagę, jaką poświęcił indukcji. Podał on cztery jej podstawowe kanony (konkretne mechanizmy wnioskowania induk cyjnego), znane jako indukcja zgodności, indukcja różnicy, indukcja reszt i induk cja zmian towarzyszących, rozwijając wcześniejsze opracowania Bacona. Chociaż były one raczej chybione z punktu widzenia interesującej Milla metodologii nauk przyrodniczych, są bardzo bliskie indukcyjnemu uczeniu się maszyn. Przedstawiciele tzw. drugiego pozytywizmu (empiriokrytycyzmu), zwłaszcza Richard Avenarius (1843-1996), głosili w ockhamowskim duchu zasadę ekonomii myślenia, wzywającą do konstrukcji pojęć i praw, które opisują świat w najprost szy sposób. Zasadę tę posunęli do twierdzenia, że główną funkcją naukowych teo rii jest ekonomiczne wyjaśnianie obserwacji, nie zaś — wówczas wciąż powszech nie przypisywane im — dążenie do prawdy. Jest bardzo interesujące, że takie samo w gruncie rzeczy spojrzenie na indukcję odnajdziemy również w niektórych popu larnych w ostatnich latach podejściach do uczenia się maszyn, zgodnie z którymi miarą jakości hipotez ucznia jest efektywność, z jaką pozwalają one zakodować dane trenujące. Pierwszy wybitny amerykański filozof, Charles Sanders Peirce (1839-1914), stworzył kierunek nazwany pragmatyzmem. Jego najbardziej dla nas interesującą cechą jest przyjęta w nim koncepcja znaczenia pojęć. Takie pragmatyczne znacze nie to wszystkie praktyczne konsekwencje tego pojęcia. Orędownik i popularyza tor myśli Peirce'a, William James (1842-1910), nieco ją zniekształcił i w efekcie stworzył własne wydanie pragmatyzmu, wskutek czego Peirce zaczął swoje sta nowisko określać dla odróżnienia mianem pragmatycyzmu. Otóż podejście, któ re Peirce zastosował do definiowania znaczenia, James rozciągnął także na defi-
1.8. PODSUMOWANIE
63
niowanie prawdy. Według jego pragmatycznej definicji prawdziwość sądu może być utożsamiona z jego praktyczną długoterminową użytecznością „w gotówce". Być może powierzchowna, lecz uderzająca jest zbieżność tego punktu widzenia z założeniami uczenia się ze wzmocnieniem, stawiającego przed uczniem zadanie maksymalizowania długoterminowych „dochodów", jakie stanowi wartościująca informacja trenująca. Nieprzypadkowo może ten paradygmat uczenia się jest naj bardziej popularny w pragmatycznej Ameryce. Rudolf Carnap (1891-1970), wywodzący się z działającego w latach między wojennych Koła Wiedeńskiego, prezentującego dość radykalne stanowisko nazy wane pozytywizmem logicznym, zajmował się zagadnieniami prawomocności in dukcji. Z czasem odstąpił on od wcześniejszego przekonania o jej niezawodno ści i dopuścił tylko prawdopodobne wnioski indukcyjne, szukając dla niego od powiedniego uzasadnienia na gruncie teorii prawdopodobieństwa. Wyróżnił przy tym prawdopodobieństwo logiczne jako stopień pewności hipotez ze względu na wspierające je przesłanki oraz prawdopodobieństwo statystyczne, oparte na obser wowaniu rozkładów częstości występowania pewnych zdarzeń lub faktów. W ma szynowym uczeniu się mamy do czynienia z obydwoma rodzajami prawdopodo bieństw, jak również z opartym na nich wnioskowaniem probabilistycznym. Pro babilistycznym uzasadnianiem prawomocności niektórych form indukcji zajmuje się obliczeniowa teoria uczenia się. Zauważmy na koniec, że w tym uproszczonym i niepełnym przeglądzie filozo ficznych aspektów uczenia się ograniczyliśmy się do zagadnień najbardziej bezpo średnio z nim związanych, dotyczących przede wszystkim źródeł i natury wiedzy oraz wnioskowania. Znacznie bogatsza jest filozoficzna dyskusja dotycząca pro blemów związanych z szeroko rozumianą sztuczną inteligencją, w której przewi jają się główne problemy filozofii współczesnej. Chodzi między innymi o różne wydania odwiecznego sporu materializmu z idealizmem, zwłaszcza w odniesie niu do pasjonującej kwestii „ciało-umysł". Te fascynujące problemy muszą jednak pozostać poza zasięgiem naszej krótkiej i powierzchownej dyskusji.
1.8
Podsumowanie
^ Uczenie się można w przybliżony sposób zdefiniować jako proces zmian auto nomicznie zachodzących w systemie na podstawie jego doświadczeń i prowa dzących do poprawy jakości jego działania. ^ Przedmiotem naszego zainteresowania w tej książce są uczące się programy komputerowe, o których można powiedzieć, że posługują się abstrakcyjnymi „parametryzowanymi" algorytmami, konkretyzowanymi w procesie uczenia się. W jego trakcie wartości ich „parametrów", nazywane wiedzą lub umie jętnością, są określane przez odpowiedni algorytm uczenia się.
64 ^
^
^
^
°H
9-»
ROZDZIAŁ 1. UCZENIE SIĘ W UJĘCIU ALGORYTMICZNYM
Rodzaje maszynowego uczenia się można klasyfikować ze względu na metodę reprezentacji wiedzy, sposób jej używania, źródło i postać informacji trenują cej oraz stosowany mechanizm wnioskowania. W uczeniu się maszyn jako dyscyplinie naukowej można wyróżnić nurty teo retyczny, biologiczny i systemowy. Będziemy się przede wszystkim zajmować tym ostatnim, w ramach którego prowadzi się prace nad konstruowaniem sys temów uczących się dla różnego rodzaju problemów uczenia się. Maszynowe uczenie się należy do najważniejszych działów sztucznej inteli gencji, dziedziny badań zmierzającej do wytworzenia programów komputero wych, którym można przypisać inteligentne działanie. Systemy uczące się ma ją także bezpośrednie odniesienie do dwóch innych głównych działów sztucz nej inteligencji: automatycznego wnioskowania i przeszukiwania heurystycz nego. Inferencyjna teoria uczenia się opisuje je jako proces wnioskowania, na podsta wie wiedzy wrodzonej i informacji trenującej, realizowany za pomocą różnych transmutacji wiedzy, w wyniku którego powstaje nowa wiedza, zapamiętywa na następnie przez system. Uczące się programy komputerowe mogą mieć wiele ważnych zastosowań praktycznych, zwłaszcza do odkrywania zależności w bazach danych, autpmatycznego sterowania, konstruowania autonomicznych robotów lub adapta cyjnych interfejsów użytkownika. Z uczeniem się związanych jest wiele ważkich problemów filozoficznych, któ re zajmowały myślicieli od Sokratesa, Platona i Arystotelesa przez Augustyna, Tomasza z Akwinu i Ockhama oraz Hume'a, Kanta i Milla po Carnapa.
1.9
Uwagi historyczne i bibliograficzne
Trudno precyzyjnie określić początek maszynowego uczenia się, lecz nie ulega wątpliwości jego obecność w ramach sztucznej inteligencji niemal od jej zarania, czyli przynajmniej od wczesnych lat pięćdziesiątych. U progu lat sześćdziesiątych Minsky [157], dokonując przeglądu stanu i perspektyw badań nad nią, wymienił już uczenie się wśród jej głównych nurtów. Najbardziej spektakularnym sukce sem badawczym maszynowego uczenia się, a zapewne także sztucznej inteligencji w ogóle, stał się w tym czasie opracowany przez Samuela [236] program uczący się gry w warcaby, który, doskonaląc swoją strategię na podstawie rozgrywanych partii, osiągnął poziom bardzo dobrego (chociaż jeszcze nie wybitnego) graczaczłowieka. Poza tym wybitnym osiągnięciem uczenie się w tym początkowym okresie było rozumiane jeszcze dość wąsko i często wiązane z sieciami neuro nowymi, których kariera się wówczas rozpoczynała obiecująco, zresztą między innymi za sprawą Minsky'ego [156]. Jej późniejsze załamanie się za sprawą gło-
1.9. UWAGI HISTORYCZNE I BIBLIOGRAFICZNE
65
śnej pracy [158] odsunęło w cień tematykę sieci neuronowych na blisko 20 lat, przejściowo osłabiając także zainteresowanie maszynowym uczeniem się w ogóle. Sieci neuronowe powróciły do łask w połowie lat osiemdziesiątych za sprawą algorytmu trenowania wielowarstwowych perceptronów, upowszechnionego przez Rumelharta, Hintona i Williamsa [227]. Jednak zainteresowanie innymi podejścia mi do uczenia się powróciło o z górą dekadę wcześniej. Lata siedemdziesiąte, a ze szczególną intesywnością ich druga połowa, były okresem opracowywania pierw szych symbolicznych algorytmów indukcyjnego uczenia się na podstawie przy kładów, z których niektóre przetrwały próbę czasu i zostaną przedstawione w tej książce. Pierwsze koncepcje, które wpłynęły na ich dalszy rozwój, pojawiły się już we wczesnych pracach Hunta, Marina i Stone'a [103], Szczególnie duży wpływ miał system uczący się Winstona [282]. Jednak początek symbolicznym systemom indukcyjnego uczenia się, jakie znamy dziś, dały prace Michalskiego, np. [145]. Wybrane wczesne indukcyjne systemy uczące się są omówione w przeglądowym artykule [70]. Lata osiemdziesiąte były czasem opracowywania nowych, ulepszonych algo rytmów, lecz także rozszerzania spektrum badanych rodzajów uczenia się — poza indukcyjnym uczeniem się na scenę wkroczyło między innymi uczenie się przez wyjaśnianie oraz uczenie się ze wzmocnieniem. W tym czasie również zainicjo wano rozwijaną do dziś obliczeniową teorię uczenia się. Dokładniej o historii tych badań opowiemy w odpowiednich rozdziałach. Okres ten, oprócz postępów ba dawczych w maszynowym uczeniu się, przyniósł mu także znaczący wzrost po pularności. Środowisko zajmujących się nim badaczy oraz liczba prowadzonych przez nich prac wzrosły na tyle, że rozpoczęto organizowanie poświęconych mu międzynarodowych konferencji oraz wydawanie czasopisma Machinę Learning. W latach dziewięćdziesiątych obserwujemy pod tym względem wzrost najbardziej dynamiczny — można więc mówić o prawdziwej eksplozji ilościowej, lecz także i jakościowej prowadzonych badań. Powiększaniu się środowiska naukowców zaj mujących się maszynowym uczeniem się towarzyszy ich rosnąca orientacja w ca łej tej dziedzinie, a nie tylko jej fragmencie, w którym są ulokowane ich własne badania, a także jej powiązań z innymi dziedzinami, od psychologii po statystykę i automatyczne sterowanie. Oprócz wynikających stąd postępów teorii, kolejnej generacji algorytmów i dalszego poszerzenia zakresu badanych rodzajów ucze nia się oraz tendencji do ich łączenia w bardziej niż dotychczas złożone systemy, miniona dekada zaznaczyła się jeszcze jednym bardzo istotnym zjawiskiem. Po raz pierwszy na szerszą skalę programy uczące się opuściły laboratoria wyższych uczelni oraz instytutów badawczych i trafiły do firm zajmujących się ich prawdzi wie praktycznymi wdrożeniami, zarabiających zresztą na tym prawdziwe pienią dze. W całej pełni zarysował się znacznie szerszy, niż wcześniej sądzono, aplika cyjny potencjał uczących się programów komputerowych oraz dojrzałość stojącej za nimi „technologii".
66
ROZDZIAŁ 1. UCZENIE SIĘ W UJĘCIU ALGORYTMICZNYM
Ze względu na ogólny i wprowadzający charakter tego rozdziału nie ma zbyt wielu pozycji literatury, które należałoby polecić jako lektury uzupełniające i po głębiające jego treść. Zbliżoną tematykę porusza przeglądowy artykuł Carbonella i Michalskiego [37], na którym niektóre fragmenty naszej dyskusji są luźno oparte, lecz naszkicowany tam obraz dziedziny uczenia się maszyn jest nie całkiem kom pletny, a z pewnością już nieco nieaktualny. Jednak książka, z której on pochodzi, stanowiąca pierwszy tom cyklu redagowanego przez Michalskiego i jego współ pracowników, jest wraz z jego kolejnymi tomami cennym źródłem wiadomości na temat wielu ważnych algorytmów uczenia się. W ostatnim tomie ukazał się arty kuł Michalskiego o inferencyjnej teorii uczenia się [149], o której w tym rozdziale wspominaliśmy. Mówiąc o książkach mamy dobrą okazję polecić konkurencję dla naszej książ ki — inne podręczniki dotyczące systemów uczących się. Chodzi przede wszyst kim o najbardziej wszechstronny i nowoczesny z dotychczas wydanych podręcz nik Mitchella [164], który jest podstawą wielu kursów maszynowego uczenia się na amerykańskich (i nie tylko) uniwersytetach. Nasza książka przyjmuje odmien ny sposób prezentacji i zakres materiału niż książka Mitchella, lecz przynajmniej do kilku rozdziałów można ją polecić jako materiał dodatkowy i zostanie to w od powiednich miejscach zaznaczone. Nieco bardziej elementarny charakter wydaje się mieć nowy podręcznik przygotowywany przez Nilssona [182], lecz on również prezentuje współczesny obraz dziedziny maszynowego uczenia się, czego oczy wiście nie da się powiedzieć o niekiedy bardzo dobrych, lecz częściowo zdezak tualizowanych książkach sprzed kilkunastu lat. Przykładem jest książka Weissa i Kulikowskiego [278], która stanowi bardzo pożyteczny tekst dotyczący niektó rych algorytmów uczenia się klasyfikacji, lecz prezentuje zdecydowanie niepełny obraz dziedziny uczenia się maszyn. Jako polską konkurencję dla niniejszej książki można wymienić dwie pozy cje: skromne objętościowo opracowanie Bolca i Zaremby [27] oraz podręcznik Mulawki [176]. Nie ujmując w niczym ich wartości, można powiedzieć z żalem, że nie jest to konkurencja groźna ze względu na ich odmienny zakres tematycz ny i charakter. Pierwsza z tych dwóch książek porusza tylko niektóre podejścia do maszynowego uczenia się i nie jest w związku z tym dostatecznie reprezen tatywna dla całego zróżnicowania tej dziedziny, a ich prezentacja w niej jest na ogół dość zwięzła. Oczywiście warto mimo to docenić, że w przypadku niektó rych z nich była do tej pory jedynym źródłem dostępnym w języku polskim. Druga książka dotyczy systemów eksperckich i o uczeniu się jest w niej mowa głównie w szczególnym kontekście, jako o godnym polecenia podejściu do automatyzacji akwizycji wiedzy dla takich systemów. Najlepszym źródłem informacji o aktualnym stanie badań nad uczeniem się maszyn są artykuły publikowane w poświęconych tej dziedzinie czasopismach na ukowych i w materiałach konferencji naukowych. Przede wszystkim należy wy-
1.9. UWAGI HISTORYCZNE I BIBLIOGRAFICZNE
67
mienić czasopismo Machinę Learning, a także niektóre pisma o szerszym zakresie tematycznym, na których łamach systemy uczące się zajmują znaczące miejsce: Artificial Intelligence, Journal ofArtificial Intelligence Research, IEEE Transactions of Pattern Analysis and Machinę Intelligence (PAMI) i IEEE Transactions on Systems, Man, and Cybernetics (SMC). Wśród konferencji największe znacze nie mają International Conference on Machinę Learning oraz European Conference on Machinę Learning, a także International Conference on Computational Learning Theory i główna konferencja poświęcona sztucznej inteligencji, Interna tional Joint Conference on Artificial Intelligence. Na internetowej stronie książki znajdują się adresy stron WWW poświęconych tym i innym czasopismom oraz konferencjom. Antologia [242] jest wyborem najbardziej znaczących artykułów naukowych poświęconych systemom uczącym się z okresu od zarania tej dziedzi ny do końca lat osiemdziesiątych. Lektura tekstów z tego zbioru może być uzupeł nieniem studiowania dowolnego podręcznika maszynowego uczenia się. Ze względu na rolę maszynowego uczenia się w sztucznej inteligencji można oczekiwać, że znajduje ono również istotne miejsce w książkach dotyczących tej szerszej dziedziny. Tak jest w istocie, chociaż jak zwykle najlepiej sięgać po nowe pozycje. Obecnie rolę standardowego podręcznika sztucznej inteligencji pełni im ponująca wszechstronnością i jednocześnie głębokością oraz przystępnością pre zentacji książka Russella i Norviga [232]. Będąc świetnym i dość zaawansowanym wprowadzeniem do sztucznej inteligencji, zawiera obszerne fragmenty poświęco ne uczeniu się. Autorzy, przedstawiając w tej pracy wiele algorytmów rozwiązu jących różne problemy związane z racjonalnym zachowaniem się, czynią ją kom pendium wiedzy o dotychczasowych osiągnięciach słabej sztucznej inteligencji, lecz nie podważają przez to śmiałych postulatów jej silnego nurtu, które są tam zresztą cytowane w ramach wprowadzającej dyskusji. Jest jednak zasadą, że o silnej sztucznej inteligencji piszą inni autorzy, w in ny sposób i w innych książkach. Mają one na ogół charakter nietechniczny, lecz nie ogranicza to ich wartości poznawczej. Szczególnie fascynujące są tu prace Hofstadtera, na czele ze słynną książką [100], znaną jako GEB. Jest on umiar kowanym rzecznikiem realizowalności (w zasadzie) programu silnej sztucznej in teligencji, przy wszelkich zastrzeżeniach dotyczących trudności pozostałych do pokonania na tym szlaku, w czym wydaje się zgadzać z wybitnym polskim wizjo nerem, Stanisławem Lemem, który na te tematy wypowiadał się ostatnio w zbiorze felietonów [131], gdzie komentuje między innymi wcześniejsze przepowiednie ze swojej Summy [130]. Radykalnie odmienne stanowisko prezentuje jeden z najwy bitniejszych współczesnych fizyków teoretycznych Roger Penrose, który w znanej książce [197] zwalcza silną sztuczną inteligencję, sięgając między innymi po nie doceniane wcześniej argumenty z zakresu fizyki kwantowej. Przeszedłszy od sztucznej inteligencji dofilozofiizakończymy przegląd litera tury do tego rozdziału propozycją kilku podręczników jej historii. Klasyczną i nie-
68
ROZDZIAŁ 1. UCZENIE SIĘ W UJĘCIU ALGORYTMICZNYM
zmiennie godną polecenia pozycją pozostaje książka Tatarkiewicza [261], z której zapewne będzie korzystać jeszcze wiele pokoleń czytelników. Bardziej szczegóło wa, lecz nieco trudniejsza w lekturze jest praca Copplestona [58]. Głośna książka Russella [229] uchodzi za nieobiektywną (zwłaszcza przez niedocenianie niektó rych prądów filozoficznych charakterystycznych dla Europy kontynentalnej), lecz jest napisana ze swadą, która czyni z niej lekturę bardzo zajmującą. W Polsce jest dostępna jego inna praca o historii filozofii [230], uboższa w tekst, lecz bo gatsza o ilustracje. Wszystkie te książki jednak w znikomym stopniu zajmują się myślą dwudziestowieczną. Jako ich uzupełnienie można więc polecić pracę Ayera [10], pomyślaną jako kontynuacja książki Russella. Wreszcie ze względu na rolę wnioskowania, zwłaszcza indukcyjnego, w maszynowym uczeniu się intere sująca jest z naszego punktu widzenia niewielka, lecz bardzo pouczająca książka Bocheńskiego [24], poświęcona metodologii nauk, w której znajduje się oryginal na klasyfikacja metod wnioskowania. Przegląd problemów filozoficznych związa nych ze sztuczną inteligencją, przede wszystkim zaś z kontrowersją wokół silnej sztucznej inteligencji, znajduje się w polecanym już podręczniku Russella i Norviga [232]. Czytelnikom bliżej zainteresowanym współczesną filozofią umysłu, której implikacje dla dyskusji wokół sztucznej inteligencji są największe, można polecić antologię [47] z bardzo zajmującymi artykułami największych współcze snych filozofów.
1.10
Ćwiczenia
Ćwiczenie 1.1. Wskaż, w których z poniższych sytuacji mamy (lub przynajmniej mo żemy mieć) do czynienia z uczeniem się przez program komputerowy w świetle su gerowanej w tym rozdziale definicji: 1) 2) 3) 4) 5) 6) 7) 8)
wprowadzanie informacji do bazy danych, znajdowanie zależności między atrybutami w bazie danych, odpowiadanie na zapytania do bazy danych, przewidywanie brakujących wartości atrybutów w bazie danych, kompilacja kodu źródłowego programu, automatyczne generowanie fragmentów programu, wprowadzanie wzorców przenoszenia wyrazów do procesora tekstu, generowanie wzorców przenoszenia wyrazów na podstawie przykładów prawi dłowo przeniesionych wyrazów.
Uzasadnij odpowiedź i przedyskutuj ewentualne niejednoznaczności wynikające z nie precyzyjnej definicji. Ćwiczenie 1.2. Scharakteryzuj następujące rodzaje uczenia się przez ludzi i zwierzęta za pomocą podanych w tym rozdziale kryteriów klasyfikacji uczenia się maszyn: 1) uczenie się rozwiązywania zadań z geometrii, 2) uczenie się języka obcego,
1.10. ĆWICZENIA
3) 4) 5) 6)
69
uczenie się kierowania samochodem, uczenie się rozpoznawania gatunków grzybów, uczenie psa aportowania, uczenie papugi naśladowania mowy.
Ćwiczenie 1.3. Rozważ możliwe zastosowania systemów uczących się w następujących dziedzinach: 1) inwestycje kapitałowe, 2) handel, 3) marketing, 4) ubezpieczenia, 5) badania socjologiczne, 6) edukacja, 7) telekomunikacja, 8) transport publiczny, 9) rozrywka. Jakich rodzajów uczenia się wymagałyby te zastosowania? Ćwiczenie 1.4. Przedyskutuj znaczenie, jakie może mieć maszynowe uczenie się dla rozwoju sztucznej inteligencji w jej „słabym" i „silnym" rozumieniu, zakładając, że cele silnej sztucznej inteligencji są zasadniczo możliwe do realizacji w dostatecznie odległej przyszłości.
Rozdział 2
Uczenie się indukcyjne So, so you think you can tell Heavenfwm heli, Blue skysfrom pain1 A więc cały dowcip w tym, aby zbudować selektor, który będzie wybierał tylko to, co w bieganinie atomów sensowne2.
Ten rozdział jest poświęcony pozyskiwaniu wiedzy deklaratywnej w drodze wnio skowania indukcyjnego. Jest on wstępem do kilku kolejnych rozdziałów, dotyczą cych praktycznych algorytmów indukcyjnego uczenia się. W ramach tego przygo towania przedyskutujemy nieformalnie istotę indukcyjnych mechanizmów wnio skowania, prowadzących do znajdowania hipotez najlepiej wyjaśniających i uogól niających obserwowane fakty, które w przypadku indukcyjnych metod uczenia się są nazywane przykładami. Następnie wskażemy trzy najczęściej spotykane odmia ny zadania uczenia się na podstawie przykładów: uczenie się pojęć, tworzenie po jęć i uczenie się aproksymacji funkcji. Wprowadzona zostanie terminologia i no tacja przydatna do omawiania tych form indukcyjnego uczenia się z dostateczną ścisłością. Pierwszym zastosowaniem wprowadzonych definicji i oznaczeń stanie się prezentacja najważniejszych wyników obliczeniowej teorii uczenia się, przede wszystkim dotyczących matematycznego modelu uczenia się pojęć na podstawie przykładów znanego jako model PAC. Pokażemy, jak w ramach tego modelu moż na w pewnych przypadkach uzyskać gwarancje dotyczące prawdopodobieństwa zakończenia procesu uczenia się sukcesem. Ilustracją niektórych elementów teorii i innych podstawowych zagadnień związanych z indukcyjnym uczeniem się bę dzie algorytm uczenia się przestrzeni wersji, czyli zbiorów hipotez spójnych z do starczonymi uczniowi przykładami. Algorytm ten ma dość ograniczone znaczenie praktyczne, lecz jego omówienie zapewni dobre przejście między tym w większo ści teoretycznym rozdziałem a rozdziałami następnymi poświęconymi praktycz nym algorytmom. Nasze rozważania będą przeplatane wieloma bardzo prostymi i w związku z tym mało realnymi przykładami, które jednak uczynią ten nieco abstrakcyjny rozdział bardziej konkretnym. 1
Wish you were here (Pink Floyd: Wish You Werę Herę). Wyprawa szósta, czyli jak Trurl i Klapaucjusz demona drugiego rodzaju stworzyli, aby zbójcę Gębona pokonać. 2
2.1. WNIOSKOWANIE INDUKCYJNE
71
2.1 Wnioskowanie indukcyjne Prezentując w poprzednim rozdziale zarys inferencyjnej teorii uczenia się, wnio skowanie indukcyjne określiliśmy jako stosowanie „wstecz" następującej reguły logicznej konsekwencji: PAW
t=lf,
(2.1)
w której W oznacza być może pustą wiedzę wrodzoną ucznia, K — otrzymaną przez niego informację trenującą, a P — wiedzę generowaną w wyniku uczenia się. Tu będzie nam wygodniej pisać T zamiast K w celu oznaczenia informacji trenującej i przyjąć, że uczeń w wyniku wnioskowania indukcyjnego otrzymuje pewną hipotezę h, przez co powyższe wyrażenie przyjmuje postać hAW
\=T.
(2.2)
Stwierdzamy zatem, że informacja trenująca uzyskana przez ucznia jest logicz ną konsekwencją jego wiedzy wrodzonej i wygenerowanej przez niego hipotezy. Inaczej mówiąc, indukcyjna hipoteza wraz z wiedzą wrodzoną ucznia wyjaśnia otrzymaną przez niego informację trenującą. Oczywiście relacja logicznej konse kwencji może zachodzić tylko wówczas, gdy wiedza wrodzona, informacja trenu jąca i hipoteza są poprawne. W praktyce często trzeba od tego założenia odstąpić i zgodzić się na przybliżoną konsekwencję. Znalezienie poprawnej hipotezy polega w świetle powyższego na wykryciu w danych trenujących pewnych ogólnych prawidłowości, które w połączeniu z wie dzą wrodzoną dobrze by te dane tłumaczyły. Zbliża się to do popularnego rozu mienia wnioskowania indukcyjnego jako przechodzenia od faktów i obserwacji jednostkowych do ich uogólnień. W przypadku uczenia się te fakty i obserwacje są nazywane przykładami trenującymi, a dostarczana uczniowi informacja trenu jąca to zbiór przykładów trenujących. Hipoteza, którą uczeń ma na jej podstawie znaleźć, jako uogólnienie przykładów trenujących, ma jednak na celu nie tylko ich poprawne (czy też w przybliżeniu poprawne) wyjaśnianie, lecz przede wszystkim predykcję, a więc przewidywanie nowych faktów i obserwacji. Aby móc więcej powiedzieć o sposobie używania hipotez, musimy wyróżnić trzy podstawowe od miany indukcyjnego uczenia się: uczenie się pojęć, czyli sposobu klasyfikowania obiektów, tworzenie pojęć, czyli grupowanie obiektów i opisywanie grup, oraz uczenie się aproksymacji, czyli odwzorowania obiektów na liczby rzeczywiste.
2.2 Główne rodzaje indukcyjnego uczenia się Zadanie indukcyjnego uczenia się może przybierać różne formy, zależne przede wszystkim od charakteru wiedzy, która ma być w jego wyniku pozyskiwana, oraz
72
ROZDZIAŁ 2. UCZENIE SIĘ INDUKCYJNE
postaci dostarczanej uczniowi informacji trenującej. Przedstawimy trzy najważ niejsze z nich, na których koncentruje się większa część prowadzonych badań teo retycznych i praktycznych oraz które znajdują najwięcej zastosowań. Ponieważ dalsza część tego rozdziału jest poświęcona teorii, a kilka kolejnych rozdziałów praktycznym algorytmom indukcyjnego uczenia się, pożyteczne będzie także ze branie w uporządkowany sposób terminologii, jaką będziemy się posługiwać, oraz konwencji notacyjnych, które będziemy stosować. Nie jest to wykaz wyczerpujący i kilkakrotnie będziemy musieli do niego coś dodać, gdyż nie wszystkie terminy i oznaczenia można wprowadzić w oderwaniu od algorytmów uczenia się, do któ rych się stosują. Zdecydowanie najwięcej uwagi poświęcimy uczeniu się pojęć ze względu na jego podstawową rolę zarówno w teorii, jak i praktyce maszynowego uczenia się. Wynika to także z tego, że prezentacja najważniejszych algorytmów uczenia się pojęć wypełni trzy kolejne rozdziały, podczas gdy na omawianie metod stosowanych do pozostałych dwóch głównych rodzajów indukcyjnego uczenia się poświęcimy po jednym rozdziale i tam będziemy się mogli zająć nimi dokładniej. W każdym z rodzajów indukcyjnego uczenia się, o których mówimy, pozyski wana przez ucznia wiedza ma charakter pewnego rodzaju odwzorowania otrzymy wanej przez niego informacji wejściowej na pewien zbiór wartości wyjściowych. Informacją wejściową są opisy obiektów pewnej dziedziny. Dyskusję rozpoczyna my zatem od określenia, jaką postać takie opisy mogą przyjmować. Dziedzina. Dziedziną będziemy nazywać oznaczany przez X zbiór obiektów, których dotyczyć ma wiedza nabywana przez ucznia. Mogą to być przedmioty, osoby, wydarzenia, sytuacje, stany rzeczy itd. — cokolwiek stanowi argumenty odwzorowania, którego nauczyć ma się uczeń. Przykłady. kładem.
Każdy obiekt, element dziedziny x G X, będziemy nazywać przy
Atrybuty. Będziemy zakładać, że przykłady są opisywane za pomocą atrybutów. Atrybutem będziemy nazywać dowolną funkcję określoną na dziedzinie. Przyj miemy, że opis każdego przykładu x G X składa się z wartości n ^ 1 atrybutów, a\ : X \-^ Ai, 0,2 '• X ^ A2,. • •, an : X H» An. Zbiór wszystkich określonych na rozważanej dziedzinie atrybutów będziemy oznaczać przez A = {ai, a 2 , . . . , an} i nazywać zestawem lub przestrzenią atrybutów. W praktyce czasem utożsamia się przykład x z wektorem wartości jego atrybutów (ai(x)} a2(x)y..., an(x)), czyli przykładem nazywa się dowolny element iloczynu kartezjańskiego przeciwdziedzin atrybutów A\ x A<± x • • • x An\ takie uproszczenie może być jednak mylące. Wygodnie będzie wszakże odwoływać się niekiedy do takiego wektora, który dla przykładu x będziemy oznaczać skrótowo jako {x)&. W zależności od przeciw-
2.2. GŁÓWNE RODZAJE INDUKCYJNEGO UCZENIA SIĘ
73
dziedziny (zbioru wartości) atrybuty dzieli się na kilka typów. Najbardziej podsta wowy i wystarczający na nasze potrzeby jest podział na atrybuty: nominalne: o skończonym zbiorze nieuporządkowanych wartości dyskretnych, porządkowe: o przeliczalnym zbiorze uporządkowanych wartości dyskretnych 3 , ciągłe: o wartościach ze zbioru liczb rzeczywistych. Dla dowolnego zbioru przykładów P C X, atrybutu a : X ^ A i jego wartości v e A oznaczymy przez Pav zbiór tych przykładów z P, dla których atrybut a ma wartość v, czyli Pav = {x G P \ a(x) = v}. Przykład 2.1 (Punkty na płaszczyźnie). Rozważmy dziedzinę X — $ł2 będącą dwuwymiarową płaszczyzną. Przykładami są punkty na płaszczyźnie. Każdy przykład może być opisany za pomocą dwóch atrybutów ciągłych a\ : X \-> Jft i a
Jcśli atrybut porządkowy ma skończoną niewielką liczbę wartości (nie więcej niż kilka), to zazwyczaj określona dla nich relacja porządku nie ma dużego znaczenia praktycznego i może być pomijana, co oznacza traktowanie go jak atrybutu nominalnego.
74
ROZDZIAŁ 2. UCZENIE SIĘ INDUKCYJNE
wiatr, atrybut porządkowy o wartościach słaby, silny. Warto zwrócić uwagę, że rozróżnienie między atrybutami nominalnymi a porządko wymi nie musi mieć charakteru absolutnego i jest raczej kwestią przyjętego założenia. Atrybut aura mógłby zostać uznany za atrybut porządkowy przy założeniu porządku, w którym aura słoneczna poprzedza pochmurną, a ta deszczową. Zauważmy także, że bardziej szczegółowy opis przykładów byłby możliwy, gdyby atrybuty temperatura, wilgotność i wiatr były atrybutami ciągłymi, podającymi odpowiednio temperaturę w stopniach Celsjusza, wilgotność w procentach i prędkość wiatru w metrach na se kundę. Korzystając z tej dziedziny będziemy ilustrować działanie przedstawionych w książce algorytmów uczenia się pojęć. Ponieważ liczba wartości atrybutów porząd kowych jest w tym przypadku niewielka, określona dla nich relacja porządku nie ma istotnego znaczenia i będą one traktowane jak atrybuty nominalne. Przykład 2.5 (Samochody). Jako kolejny przykład weźmiemy pod uwagę dzie dzinę, której elementami są dostępne na rynku modele samochodów. Przyjmiemy, że każdy przykład tej dziedziny może być opisywany przez następujące atrybuty: klasa: atrybut porządkowy o wartościach miejski, mały, kompakt, duży, cena: atrybut porządkowy o wartościach niska, umiarkowana, wysoka, osiągi: atrybut porządkowy o wartościach słabe, przeciętne, dobre, niezawodność: atrybut porządkowy o wartościach mała, przeciętna, duża. Z dziedziny tej będziemy korzystać w niektórych ćwiczeniach. Ze względu na nie wielką liczbę wartości atrybutów porządkowych można je będzie przy tym traktować jak nominalne. 2.2.1
Uczenie się pojęć
Pojęcia to jedna z postaci naszej wiedzy o świecie, używana do opisywania i inter pretowania zmysłowych obserwacji oraz abstrakcyjnych idei. Jeśli mamy pojęcie krzesła, to potrafimy w dużym zbiorze przeróżnych mebli wskazać te, które są krzesłami, i te, które nimi nie są, nawet jeśli w jednej i drugiej grupie są meble o różnym rozmiarze, kolorze, liczbie nóg, wykonane z różnych materiałów. Poję cie psa umożliwia nam widzenie wspólnych cech dogów, owczarków kaukaskich, jamników i terierów oraz odróżniać je wszystkie od kotów, lisów, lwów i tygrysów. Dzięki pojęciu litery „a" (i każdej innej litery alfabetu) rozpoznajemy ją napisaną różnymi charakterami pisma, w różnych kolorach, wydrukowaną za pomocą róż nych krojów i rozmiarów czcionek. Pojęcia służą więc do klasyfikowania pewnych obiektów na grupy, które tu będziemy nazywać kategoriami, W podstawowym przypadku pojęcie wyznacza podział zbioru wszystkich roz ważanych obiektów, czyli dziedziny, na dwie kategorie: obiektów należących do pojęcia i obiektów nie należących do niego. O pierwszych mówimy, że są (pozy tywnymi) przykładami tego pojęcia, a o drugich, że nie są przykładami lub są przy kładami negatywnymi pojęcia. Czasem wygodnie jest zbiór pojęć określonych na tej samej dziedzinie zastąpić jednym pojęciem wielokrotnym. Pojęcie wielokrot-
2.2. GŁÓWNE RODZAJE INDUKCYJNEGO UCZENIA SIĘ
75
ne wyznacza podział dziedziny na kategorie, z których każda odpowiada jednemu z pojęć pojedynczych. Tak więc zamiast 33 pojęć dla poszczególnych liter polskie go alfabetu możemy mieć pojęcie wielokrotne o 33 kategoriach. Pojęcie pojedyn cze można traktować jako zbiór obiektów będących jego przykładami pozytyw nymi. Wygodniej jest jednak przyjmować, że pojęcia są funkcjami przekształcają cymi dziedzinę w zbiór kategorii, który jest dwuelementowy w przypadku pojęć pojedynczych i może mieć więcej elementów w przypadku pojęć wielokrotnych. Będziemy niekiedy mówić, że pojęcie przypisuje obiektom etykiety ich kategorii. Przykłady trenujące do uczenia się pojęć mają postać par złożonych z opi su obiektu i etykiety jego kategorii. Dokładniej, opis obiektu będziemy nazywać przykładem nieetykietowanym i utożsamiać z samym obiektem, a parę powstającą przez dołączenie do niego kategorii przykładem etykietowanym. Dzięki takiej po staci informacji trenującej uczenie się pojęć ma charakter uczenia się z nadzorem. Zadanie ucznia polega wówczas na znalezieniu hipotezy, która jest spójna (zgod na) z pojęciem docelowym dla przykładów trenujących i która klasyfikuje również inne przykłady z dziedziny z jak najmniejszym błędem. Ma więc ona możliwie do kładnie przybliżać nieznane pojęcie docelowe. Że jest to możliwe — czyli że hipo teza wybrana na podstawie zbioru trenującego sprawdzi się także dla przykładów spoza tego zbioru — głosi założenie o indukcji. O jego matematycznych aspek tach powiemy nieco w dalszej części tego rozdziału. Zależnie od przyjętej metody reprezentacji wiedzy hipoteza może lub nie może być przedstawiona w postaci czytelnej dla człowieka, zawsze jednak może być używana do klasyfikowania do wolnie wielu nowych przykładów, czyli do przewidywania ich kategorii. W rozdziale 9 podajemy bardziej ogólną definicję pojęcia i zadania uczenia się pojęć niż podane tutaj. Pojęcia są tam reprezentowane nie przez jednoargumentowe funkcje określone na dziedzinie, lecz wieloargumentowe predykaty, reprezen tujące nie przynależność pojedynczych obiektów dziedziny do różnych kategorii, lecz związki zachodzące między obiektami. Jednak w najbliższych kilku rozdzia łach będziemy się zajmować tylko pojęciami służącymi do klasyfikacji. Pojęcia. Zakładamy, że na dziedzinie może być określona pewna klasa pojęć, oznaczana przez C. Każde pojęcie c G C jest funkcją c : X *-} C, przy czym C oznacza skończony zbiór kategorii pojęć klasy C. W przypadku pojęć pojedyn czych będziemy przyjmować C — {0,1}. W przypadku pojęć wielokrotnych C może być dowolnym skończonym zbiorem kategorii o liczności \C\ > 2. Poję cie pojedyncze wyznacza podzbiór dziedziny, zawierający przykłady (pozytyw ne) tego pojęcia: Xc — {x G X \ c(x) = 1}. Niekiedy taki podzbiór utoż samia się wręcz z samym pojęciem4, lecz traktowanie pojęć jako funkcji jest na 4
Zauważmy, że wówczas klasa możliwych pojęć składa się ze wszystkich lub niektórych pod zbiorów dziedziny, czyli C C 2X.
76
ROZDZIAŁ 2. UCZENIE SIĘ INDUKCYJNE
ogół wygodniejsze. Pozostałe elementy dziedziny nie są przykładami (inaczej mó wiąc, są przykładami negatywnymi) pojęcia. W ogólnym przypadku dla kategorii d G C, pewnego pojęcia c i dowolnego zbioru przykładów P C X przyjmuje my oznaczenie Pcd dla tych przykładów z P, które należą do kategorii d9 czyli pcd — [x 6 P | c(x) = d}. Często będziemy opuszczać c w tym oznaczeniu, za kładając, że jest ustalonym pojęciem docelowym, i pisać Pd. W szczególności dla pojęcia pojedynczego c zbiór X1 = Xc jest zbiorem jego wszystkich przykładów pozytywnych, a zbiór X° — X ~ X1 jest zbiorem jego wszystkich przykładów negatywnych. Przykład 2.6 (Prostokąty na płaszczyźnie). Dla dziedziny punktów płaszczy zny K2, wprowadzonej w przykładzie 2.1, możemy wziąć pod uwagę klasę pojęć C reprezentowanych przez wszystkie prostokąty o bokach równoległych do osi ukła du współrzędnych. Z prostokątem reprezentującym dowolne pojęcie c G C można związać współrzędne jego „lewego dolnego" i „prawego górnego" wierzchołka, od powiednio (lc,dc) e 5ft2 i {Pci9c) € 3¾2. Wówczas zbiór przykładów (pozytywnych) pojęcia c jest zdefiniowany jako zbiór wszystkich punktów należących do wnętrza lub brzegu prostokąta, czyli Xc = {x G X | lc ^ a\(x) ^ pc Adc ^ a2(x) ^ gc}. Reprezentowane przez prostokąt pojęcie oraz kilkanaście jego przykładów pozytyw nych (kółka czarne) i negatywnych (kółka białe) ilustruje rys. 2.1. (i2{x)
o
dc 4lc
Pc
ai(x)
Rys. 2.1. Pojęcie reprezentowane przez prostokąt i wybrane przykłady Przykład 2.7 (Funkcje boolowskie). Dla wprowadzonej w przykładzie 2.2 dzie dziny n-elementowych łańcuchów binarnych pojęcia mogą być reprezentowane przez n-argumentowe funkcje boolowskie (logiczne). Definicja takiej funkcji ma postać formuły logicznej, w której rolę literałów (formuł atomowych łączonych za pomo cą logicznych funktorów w formuły złożone) odgrywają atrybuty (ich wartości 0 i 1
2.2. GŁÓWNE RODZAJE INDUKCYJNEGO UCZENIA SIĘ
77
są wówczas interpretowane odpowiednio jako logiczny fałsz i prawda). Dokładniej, w definicji c(x) mogą wystąpić literały pozytywne ai{x) i literały negatywne - ^ (z) dla każdego 2 = 1,2,..., n. Przykładami pozytywnymi pojęcia są te elementy dzie dziny, dla których odpowiednia formuła jest spełniona. Dla n = 5 przykładowe defi nicje pojęć mogą być następujące: Cl(x)
= ai(x) V ^a3(x) A {aA{x) Va 5 (a;)), c2(x) = - i a 5 ( » , OĄ(X)
— 02 (x) A
CLĄ(X).
Zapisując formuły logiczne przyjmujemy, że funktory -i (negacja), A (koniunkcja), V (alternatywa) i -» (implikacja) mają priorytety malejące w podanej kolejności. Zbiór wszystkich różnych funkcji boolowskich dla naszej dziedziny jest oczywi ście zbiorem wszystkich możliwych do określenia na niej pojęć pojedynczych i liczy 22?1 elementów. Można ograniczyć się do pewnych szczególnych postaci tych formuł, otrzymując różne mniejsze klasy pojęć, np. reprezentowane tylko przez koniunkcje literałów, dysjunkcje (alternatywy) literałów albo formuły w koniunkcyjnej lub dysjunkcyjnej postaci normalnej o określonej liczbie czynników lub składników. Klasa pojęć reprezentowanych przez kuniunkcje boolowskie zawiera tylko pojęcia definio wane przez koniunkcje literałów odpowiadających atrybutom lub ich negacjom. Przykład 2.8. Dla dziedziny figur geometrycznych z przykładu 2.3 możemy wziąć pod uwagę klasę pojęć C zawierającą wszystkie możliwe pojęcia pojedyncze dła tej dziedziny. Jeśli przyjmiemy, że dziedzina ta jest skończona, to oczywiście |C| = 2'XL Niektóre z tych pojęć mogą mieć dla nas sensowną interpretację, np. „figury przypo minające owoce" lub „nieduże figury". Przykład 2.9 (Pogoda). Dla dziedziny stanów pogody z przykładu 2.4 rozważmy klasę pojęć C złożoną ze wszystkich pojęć pojedynczych, jakie mogą być określone dla tej dziedziny. Niektóre z tych pojęć mogą mieć sensowną z naszego punktu widze nia interpretację, taką jak „typowa pogoda śródziemnomorska" albo „pogoda dobra do żeglowania". Hipotezy do uczenia się pojęć. Dla danej dziedziny i klasy pojęć jest określo na, zależna od stosowanego algorytmu uczenia się, przestrzeń możliwych hipotez, którą będziemy oznaczać przez HL Przestrzeń hipotez zawiera wszystkie hipote zy, jakie może skonstruować uczeń. Każda hipoteza h G H, podobnie jak każde pojęcie, jest funkcją przypisującą przykładom ich kategorie, a więc możemy zapi sać h : X *-> C. Wynikiem uczenia się pojęć jest zawsze wybór pewnej hipotezy z przestrzeni H, uznanej przez ucznia za najlepszą na podstawie przykładów trenu jących (i ewentualnie wiedzy wrodzonej). Dokładne nauczenie się każdego pojęcia docelowego c G C jest możliwe tylko pod warunkiem, że C C HL Wówczas wia domo, że c G H, czyli przestrzeń hipotez zawiera hipotezę identyczną z pojęciem docelowym. W praktyce dla niektórych algorytmów zachodzi niestety H C C i wtedy nie ma pewności, że uda się dokładnie nauczyć się pojęcia docelowego.
78
ROZDZIAŁ 2. UCZENIE SIĘ INDUKCYJNE
Nie oznacza to jednak, jak zobaczymy w dalszej części tego rozdziału, że należy zawsze dążyć do wyposażania ucznia w jak najbogatszą przestrzeń hipotez, gdyż znacznie utrudnia to proces uczenia się. Ponieważ uczeń otrzymuje przykłady opi sane za pomocą atrybutów określonych na dziedzinie, więc jego hipotezy muszą mieć w istocie postać funkcji odwzorowujących wartości atrybutów na zbiór kate gorii, czyli moglibyśmy raczej pisać h : A\ x A
C, przy czym Ai, A 2 , . . . , An oznaczająprzeciwdziedziny wszystkich atrybutów określonych na dziedzinie X. Takie hipotezy będziemy nazywać dopuszczalnymi. Dla atrybutów dyskretnych o skończonych zbiorach wartości ogranicza to rozmiar najbogatszej możliwej przestrzeni hipotez do 2l A l 'l A 2 i \An\. Jeśli zatem w dziedzinie istnieją dwa różne przykłady x\ i X2, dla których wartości wszystkich atrybutów są jed nakowe, to dla każdej możliwej hipotezy h mamy także h(x{) = /1(2:2). Taka sytuacja, kiedy informacja dostarczana przez atrybuty nie wystarcza do rozróżnia nia przykładów, może być jedną z przyczyn tego, ż e i c C W przypadku hipotez dla pojęć pojedynczych, które odwzorowują dziedzinę na zbiór {0,1}, będziemy mówić, że hipoteza pokrywa przykład, jeśli jest on przez nią klasyfikowany jako przykład pozytywny, nie pokrywa go zaś, jeśli jest on przez nią klasyfikowany ja ko przykład negatywny. Podobnie jak dla pojęć pojedynczych, przez Ph możemy wówczas oznaczać, dla dowolnego zbioru przykładów P C X i hipotezy h 6 H, zbiór przykładów z P pokrywanych przez hipotezę h. W ogólnym przypadku dla hipotezy h : X H~> C przyjmujemy oznaczenie Phd dla zbioru przykładów z P, którym hipoteza h przypisuje kategorię d G C. Przykład 2.10 (Prostokąty na płaszczyźnie). Dla dziedziny punktów na płasz czyźnie 5ft2 z przykładu 2.1 i klasy pojęć C reprezentowanych przez prostokąty o bokach równoległych do osi układu współrzędnych z przykładu 2.6 możemy przy jąć przestrzeń hipotez reprezentowanych w ten sam sposób. Wówczas H = C. Je śli przyjmiemy, że hipotezy mogą być reprezentowane przez dowolne prostokąty, to oczywiście H D C . Jeśli ograniczymy się do hipotez reprezentowanych przez dowol ne kwadraty, to Hn C / 0, ale HI 75 C i IH ¢ C. Jeśli z kolei H zawiera tylko hipotezy reprezentowane przez dowolne kwadraty o bokach równoległych do osi układu współ rzędnych, t o i c C . Przykład 2.11 (Funkcje boolowskie). Dla dziedziny łańcuchów binarnych wpro wadzonej w przykładzie 2.2 hipotezy mogą być reprezentowane przez funkcje bo olowskie, tak jak zaproponowano dla pojęć w przykładzie 2.7. Jeśli dopuścimy w H dowolne funkcje boolowskie, to dla każdej klasy pojęć C dla tej dziedziny będziemy mieć I 3 C Jeśli weźmiemy pod uwagę przestrzeń hipotez IHI złożoną z funkcji re prezentowanych przez formuły w dysjunkcyjnej postaci normalnej o co najwyżej k składnikach dla ustalonej liczby k > 0, zaś C będzie klasą pojęć reprezentowanych przez formuły w koniunkcyjnej postaci normalnej 5, to można sprawdzić, że IHI C C. 5
Każda formuła może być sprowadzona do koniunkcyjnej lub dysjunkcyjnej postaci normalnej, jeśli nie przyjmiemy żadnego ograniczenia na liczbę czynników lub składników.
2.2. GŁÓWNE RODZAJE INDUKCYJNEGO UCZENIA SIĘ
79
Przykład 2.12 (Figury geometryczne). Dla dziedziny z przykładu 2.3 rozważ my przestrzeń hipotez 1¾ zawierającą wszystkie hipotezy, które mogą być reprezen towane przez funkcje odwzorowujące wartości atrybutów rozmiar, kolor i kształt na zbiór {0,1}. Oczywiście |H| = 2 3 ' 3 ' 3 — 29 = 512. Jeśli dziedzina X zawiera wy łącznie przykłady, które są jednoznacznie rozróżnialne za pomocą określonych na niej trzech atrybutów, to H = C, przy czym C oznacza klasę wszystkich pojęć pojedyn czych możliwych do określenia na tej dziedzinie. W przeciwnym przypadku I c C Przykład 2.13 (Pogoda). Dla dziedziny z przykładu 2.4 rozważmy przestrzeń hi potez H zawierającą wszystkie hipotezy, które mogą być reprezentowane przez funk cje odwzorowujące wartości atrybutów aura, temperatura, wilgotności wiatr na zbiór {0,1}. Oczywiście |M| = 23'322 = 2 36 = 68719476736. Gdyby dziedzina stanów pogody zawierała wyłącznie przykłady, które są jednoznacznie rozróżnialne za po mocą określonych na niej czterech atrybutów, to mielibyśmy H = C dla klasy pojęć C złożonej ze wszystkich pojęć pojedynczych możliwych do określenia na tej dzie dzinie. Jest to w tym przypadku założenie nierealne, gdyż najbardziej naturalne jest przyjęcie, że dziedzina jest nieskończona. Mamy wówczas I c C Zapytania do uczenia się pojęć. Dowolna hipoteza uzyskana w wyniku uczenia się pojęć może być stosowana do klasyfikowania wszystkich przykładów z dzie dziny. Zgłoszenie przykładu, dla którego za pomocą danej hipotezy należy wyzna czyć kategorię, nazywa się czasem zapytaniem, a klasyfikację tego przykładu — odpowiadaniem na zapytanie. Nie chodzi tu o zapytania, o jakich w poprzednim rozdziale była mowa jako o jednej z postaci informacji trenującej dla niektórych rodzajów indukcyjnego uczenia się, czyli o możliwość zadawania przez ucznia za pytań nauczycielowi. Tym razem to uczeń ma odpowiadać na zapytania na podsta wie swojej hipotezy, czyli stosować tę hipotezę do dostarczanych mu przykładów. Informacja trenująca do uczenia się pojęć. Przykładem etykietowanym poję cia c określonego na dziedzinie x będziemy nazywać parę złożoną z (nieetykietowanego) przykładu x G X i jego kategorii, którą zapisujemy (x,c(x)). Oczy wiście algorytmy uczenia się otrzymują wyłącznie opisy przykładów w postaci wartości atrybutów określonych na dziedzinie i tylko z nich mogą korzystać, więc, ściślej rzecz biorąc, przykładem trenującym do uczenia się pojęć powinniśmy na zwać raczej parę {(X)A, C(X)). Nie będziemy jednak pod tym względem zanadto pedantyczni i dla wygody będziemy często mówić o przykładach trenujących po prostu jako o elementach dziedziny, zakładając, że zawsze są dane tylko w po staci wektora wartości atrybutów, któremu towarzyszy etykieta pojęcia docelowe go. Zbiorem trenującym do uczenia się pojęcia docelowego c nazwiemy dowolny zbiór etykietowanych przykładów (opisanych za pomocą atrybutów określonych na dziedzinie) tego pojęcia dostarczony uczniowi przez nauczyciela 6 . Dla tak ro6
Będziemy także mówić o nim jako o zbiorze danych trenujących lub krótko zbiorze danych.
80
ROZDZIAŁ 2. UCZENIE SIĘ INDUKCYJNE
zumianego zbioru trenującego będziemy stosować oznaczenie (T)\ go w formalnie ścisły sposób następująco: ( T ) i = {((a;>A,c(ar)> | x e T C X } .
i definiować
(2.3)
Zazwyczaj jednak żadnych niejasności nie spowoduje, jeśli zbiorem trenującym nazwiemy po prostu zbiór T, jako pewien zbiór przykładów z dziedziny. Będzie my wówczas zakładać, że faktycznie przykłady są dane jako wektory wartości atrybutów, a ich etykiety są także dostępne. Przykład 2.14 (Figury geometryczne). Dla dziedziny figur geometrycznych z przykładu 2.3 zbiory trenujące dla pięciu możliwych pojęć podaje tabl. 2.1. Zawie rają one zaledwie po kilka przykładów, więc są skrajnie nierealne, ale właśnie dzięki niewielkiemu rozmiarowi przydadzą się nam w dalszej części rozdziału do ilustracji uczenia się przestrzeni wersji. Zbiory te oznaczymy po prostu przez Ti, T2, T3, T4 i T5, chociaż musimy pamiętać, że w przypadku każdego z nich mamy do czynienia z etykietami różnych pojęć docelowych. Podobnie przykłady należące do każdego z nich oznaczamy kolejnymi liczbami od 1, chociaż w różnych zbiorach te same licz by oznaczają różne przykłady. Nie ma jednak obawy nieporozumień z tego powodu, gdyż wykorzystując te zbiory trenujące będziemy zawsze brać pod uwagę tylko jeden z nich na raz. Dla uproszczenia będziemy sobie niekiedy pozwalać w przykładach na notacyjną nonszalancję. Przykład 2.15 (Pogoda). Dla dziedziny stanów pogody z przykładu 2.4 zbiór tre nujący dla pewnego pojęcia docelowego przedstawia tabl. 2.2. Ten klasyczny i często wykorzystywany w literaturze zbiór przykładów posłuży nam w kolejnych rozdzia łach do demonstrowania krok po kroku działania różnych algorytmów uczenia się pojęć. Pojęcie, dla którego zawiera on 9 pozytywnych i 5 negatywnych przykładów, jest interpretowane tradycyjnie jako „odpowiednia pogoda do gry w golfa'5 albo „od powiednia pogoda do gry w tenisa". W tablicy 2.3 znajduje się zbiór trenujący dla tego samego pojęcia docelowego przy założeniu, że atrybuty temperatura, wilgotność i wiatr są atrybutami ciągłymi, o wartościach wyrażanych odpowiednio w stopniach Celsjusza, procentach i metrach na sekundę. Skorzystamy z niego omawiając sposób traktowania atrybutów ciągłych w indukcyjnym uczeniu się. Przykład 2.16 (Samochody). Dla dziedziny modeli samochodów z przykładu 2.5 tabl. 2.4 przedstawia zbiór trenujący dla pojęcia docelowego c, które może być inter pretowane jako „popularny model samochodu". Ten zbiór przykładów posłuży nam w kolejnych rozdziałach jako źródło danych do niektórych ćwiczeń. Niepoprawne dane trenujące. Jednym z istotnych problemów praktycznych związanych z uczeniem się pojęć (ale także z innymi rodzajami indukcyjnego uczenia się) jest niepoprawność danych trenujących. Może ona polegać na przekła maniach w opisach przykładów, zawierających niepoprawne wartości niektórych atrybutów, lub w etykietach kategorii. Omawiając różne algorytmy uczenia się bę dziemy zazwyczaj zwracać uwagę na konsekwencje, jakie dla ich działania mogą
2.2. GŁÓWNE RODZAJE INDUKCYJNEGO UCZENIA SIĘ
Tablica 2.1. Zbiory trenujące dla dziedziny figur geometrycznych a) zbiór trenujący Ti X
1 2 3 4
[ rozmiar 1 duży mały mały \ duży
kołor czerwony czerwony czerwony niebieski
kształt koło kwadrat koło koło
cx(x) 1 0 1 0
kształt koło trójkąt koło kwadrat
c2(x) 1 0 1 0
b) zbiór trenujący Ti 1 rozmiar 1 duży 2 mały 3 mały 4 ; Iśredni
X
kołor czerwony niebieski czerwony ziełony
c) zbiór trenujący T3 X
1 2i 3 4 5j
1 rozmiar duży mały mały duży mały
kołor czerwony czerwony czerwony niebieski zielony
kształt koło trójkąt koło koło koło
c3(x) 1 0 1 0 1
d) zbiór trenujący J4 I rozmiar 1 duży 2 mały 3 : duży
X
kołor czerwony czerwony niebieski
kształt koło kwadrat koło
c4(x) 1 0 1
kształt koło koło kwadrat
cb{x) 1 1 0
e) zbiór trenujący T5 x\ 1 2 3
rozmiar duży duży mały
kolor czerwony niebieski niebieski
81
82
ROZDZIAŁ 2. UCZENIE SIĘ INDUKCYJNE
Tablica 2.2. Zbiór trenujący dla dziedziny stanów pogody X
1 '
2
3 4 5 6 7 8 9 10 11 12 13 14
| aura słoneczna słoneczna pochmurna deszczowa deszczowa deszczowa pochmurna słoneczna słoneczna deszczowa słoneczna pochmurna pochmurna deszczowa
temperatura ciepła ciepła ciepła umiarkowana zimna zimna zimna umiarkowana zimna umiarkowana umiarkowana umiarkowana ciepła umiarkowana
wiłgotność duża duża duża duża normałna normałna normałna duża normałna normałna normałna duża normałna duża
wiatr słaby silny słaby słaby słaby silny siłny słaby słaby słaby siłny siłny słaby siłny
c(x) 0 0 1 1 1 0 1 0 1 1 1 1 1 0
Tablica 2.3. Zbiór trenujący dla dziedziny stanów pogody z atrybutami ciągłymi X
aura
1 j słoneczna
2 i 3 4 5 6 7 8 9 10 11 12 13 14
słoneczna pochmurna deszczowa deszczowa deszczowa pochmurna słoneczna słoneczna deszczowa słoneczna pochmurna pochmurna deszczowa
temperatura 27 28 29 21 17 18 19 22 20 23 24 25 30 26
wiłgotność 55 60 65 70 20 25 30 75 35 40 45 80 50 85
wiatr 2 10 3 4 5 12 14 6 7 8 16 18 9 20
c(x) 0 0 1 1 1 0 1 0 1 1 1 1 1 0
mieć niepoprawne dane trenujące. Nietrudno zauważyć, że przedstawiona defini cja zbioru trenującego dla uczenia się pojęć nie uwzględnia możliwości występo wania w nim niepoprawnych przykładów. W definicji tej mówi się o tym, że zbiór trenujący składa się z opisów przykładów stanowiących wektory wartości atrybu tów opatrzone etykietami kategorii pojęcia docelowego, niejawnie zakładając, że jedne i drugie są zawsze poprawne. Na szczęście dyskusja niepoprawności danych trenujących, jaką podejmiemy w następnych rozdziałach, będzie miała z reguły charakter nieformalny i w związku z tym nie zachodzi potrzeba komplikowania de finicji zbioru trenującego oraz wprowadzania dodatkowej notacji. Pozostając przy
83
2.2. GŁÓWNE RODZAJE INDUKCYJNEGO UCZENIA SIĘ
Tablica 2.4. Zbiór trenujący dla dziedziny modeli samochodów niezawodność osiągi cena xl klasa 1 2 3 4 5 6 7 8 9 10 11
!
miejski duży kompakt mały mały kompakt miejski mały kompakt duży duży
niska niska niska niska umiarkowana umiarkowana umiarkowana umiarkowana wysoka wysoka wysoka
słabe słabe dobre przeciętne przeciętne przeciętne przeciętne dobre dobre przeciętne dobre
mała mała przeciętna mała przeciętna przeciętna przeciętna duża duża przeciętna duża
<x) 1 1 1 1 1 1 0 0 0 0 0
przedstawionej definicji możemy o przekłamaniach wartości atrybutów mówić za kładając, że do opisywania przykładów są używane zamiast oryginalnych atrybu tów określonych na dziedzinie atrybuty z zestawu A' = {a[,af2j..., ałn}, przy czym dla każdego i — 1, 2 , . . . , n wartość atrybutu a\ może się różnić od wartości atrybutu d{ dla niektórych przykładów. Podobnie można założyć, że przykłady są opatrzone etykietami pewnego pojęcia c\ które może niektórym przykładom przy pisywać inne etykiety niż pojęcie docelowe c. Wówczas zbiór (T)^ jest zbiorem trenującym dla pojęcia c, zawierającym przykłady opisane za pomocą atrybutów ze zbioru A z możliwością występowania przekłamań wartości atrybutów i etykiet kategorii. O zbiorach trenujących zawierających przekłamania będziemy mówić, że są zaszumione. Błąd w uczeniu się pojęć. W przypadku uczenia się pojęć błąd charakteryzu je stopień zgodności klasyfikacji przykładów przez pojęcie docelowe i hipotezę ucznia. Porównując hipotezę h z pojęciem docelowym c na pewnym zbiorze przy kładów P C X możemy oszacować jej błąd próbki jako stosunek liczby nie poprawnie klasyfikowanych przykładów z tego zbioru do liczby wszystkich jego elementów. Będziemy pisać eCp{h) = l { * e P | M ^ c ( , ) } | _
(24)
Czasem wygodnie będzie także posługiwać się specjalnym oznaczeniem dla licz nika powyższego ułamka, czyli liczby pomyłek hipotezy h względem pojęcia c na zbiorze P: rcP(h)^\{xeP\h(x)^c(x)}\.
(2.5)
Bardziej interesująca jest wartość błędu rzeczywistego hipotezy, który można interpretować jako oczekiwany błąd próbki na losowo wybranym zbiorze przykła-
84
ROZDZIAŁ 2. UCZENIE SIĘ INDUKCYJNE
dów. Zakładając, że przykłady są wybierane z dziedziny zgodnie z określonym na niej pewnym rozkładem prawdopodobieństwa fi, definicję błędu rzeczywistego można zapisać następująco: ecn(h) = Pixen(h(x)^c(x)),
(2.6)
przy czym P r x G n oznacza prawdopodobieństwo przy założeniu wylosowania x ze zbioru X zgodnie z rozkładem Q (czytelnicy, którzy nie są pewni swojej wie dzy na temat prawdopodobieństw i ich rozkładów, mogą w tym miejscu sięgnąć do dodatku B). W dalszej części rozdziału poznamy techniki szacowania rzeczy wistego błędu hipotez na podstawie ich błędu próbki. Przykład 2.17 (Prostokąty na płaszczyźnie). Dla dziedziny punktów na płasz czyźnie X = K2 z przykładu 2.1 i klasy pojęć C reprezentowanych przez prostokąty o bokach równoległych do osi układu współrzędnych z przykładu 2.6, przyjmując M = C, weźmy pod uwagę pojęcie c E C i hipotezę h G H zilustrowane na rys. 2.2. Przyjmując, że zbiór P składa się z 20 przykładów zaznaczonych na rysunku — 10 pozytywnych i 10 negatywnych — mamy ecP(h) — ^>, gdyż 4 przykłady pozytywne i 4 przykłady negatywne pojęcia c są niepoprawnie klasyfikowane przez h. Błąd rze czywisty e^h) jest równy prawdopodobieństwu tego, że przykład wybrany losowo zgodnie z rozkładem O należy do zakreskowanego na rysunku obszaru, na którym c i h klasyfikują punkty w różny sposób. Dla dowolnego prostokąta R oznaczmy przez PrQ (R) prawdopodobieństwo wylosowania z X według rozkładu Q punktu należą cego do R. Wówczas błąd rzeczywisty hipotezy h względem pojęcia docelowego c i rozkładu Q można zapisać jako Pr^ (Rh -r Rc), przy czym Rc i R^ oznaczają odpo wiednio prostokąty odpowiadające pojęciu c i hipotezie h7. Błąd rzeczywisty hipotezy jest więc równy prawdopodobieństwu wylosowania punktu, który nie należy jedno cześnie do prostokąta odpowiadającego tej hipotezie i do prostokąta odpowiadającego pojęciu docelowemu, lecz należy do jednego z tych prostokątów. Przykład 2.18 (Funkcje boolowskie). Przyjmując dla dziedziny X = { 0 , l } n z przykładu 2.2 n — 4, weźmy pod uwagę pojęcie c(x) = a\(x) A a,2(x) V a^(x) oraz hipotezę h(x) = a\ (x) V a 4 (x). Łatwo się przekonać, że dla zbioru przykładów P C X określonego następująco: P = {xG { 0 , l } 4 | a 3 ( x ) = 0 } mamy błąd próbki ecP(h) == | , gdyż spośród ośmiu przykładów należących do P dokładnie jeden, 1000, jest inaczej klasyfikowany przez h i c. W dziedzinie X jest jeszcze jeden przykład błędnie klasyfikowany przez h, 1010 8 . Jeśli fti jest rozkła dem prawdopodobieństwa na X, który każdemu przykładowi przypisuje jednakowe prawdopodobieństwo jego wylosowania równe ~ , to e^(/i) = ^ + ^ = 1- Dla 7
Symbol -=- jest użyty do oznaczenia różnicy symetrycznej zbiorów: A-h-B = (A—B)U(B — A). Funkcje c i h mogą mieć różne wartości tylko dla takich przykładów, dla których a\(x) = 1,
8
a,2{x) = 0 i
2.2. GŁÓWNE RODZAJE INDUKCYJNEGO UCZENIA SIĘ
85
a2(x)
ai(x) Rys. 2.2. Ilustracja błędu dla pojęcia i hipotezy reprezentowanych przez prostokąty rozkładu H2 takiego, że każdy przykład x, dla którego a
Tworzenie pojęć
Nie zawsze jest tak, że kategorie przykładów są znane, czyli że istnieją pewne z gó ry określone pojęcia na interesującej nas dziedzinie, których należy się nauczyć na podstawie przykładów trenujących. Możemy mieć do czynienia z sytuacją typową dla uczenia się bez nadzoru, kiedy uczeń obserwuje jedynie nieetykietowane przy kłady, czyli wyłącznie opisy obiektów dziedziny. Rodzaj indukcyjnego uczenia się, który jest w tych warunkach możliwy do urzeczywistnienia, można nazwać two rzeniem pojęć. Wówczas to uczeń, na podstawie zaobserwowanych przykładów,
86
ROZDZIAŁ 2. UCZENIE SIĘ INDUKCYJNE
grupuje je samodzielnie w kategorie zgodnie z pewnymi kryteriami podobieństwa, zależnymi od konkretnego algorytmu uczenia się. Zadanie tworzenia pojęć łączy w sobie w gruncie rzeczy dwa podzadania. Pierwszym jest właśnie podział przykładów trenujących na grupy, odpowiadające tworzonym kategoriom. W wyniku tego procesu każdy przykład zostaje zaliczony do jednej z powstałych grup. Drugie podzadanie polega na nauczeniu się pojęć od powiadających wyróżnionym grupom, czy też odpowiedniego pojęcia wielokrot nego, tak aby było możliwe klasyfikowanie nowych przykładów — wyznaczanie właściwej dla nich kategorii. Wynik tego drugiego podzadania jest generowaną przez ucznia hipotezą. Ten dwudzielny charakter tworzenia pojęć uzasadnia nazy wanie tego rodzaju uczenia się grupowaniem pojęciowym. W praktyce algorytmy grupowania pojęciowego wykonują na ogół jednocześnie oba podzadania — po dział na grupy i nauczenie się odpowiadających im pojęć, chociaż jest do pomyśle nia również podejście polegające na ich rozdzieleniu i wykonaniu sekwencyjnym. Wówczas po uzyskaniu podziału przykładów na grupy do uczenia się odpowia dających im pojęć lub pojęcia wielokrotnego można wykorzystać jeden z algoryt mów indukcyjnego uczenia się z nadzorem. Stwierdziliśmy wyżej, że zasadniczym celem indukcyjnego uczenia się jest uogólnianie obserwacji w celu przewidywania nowych obserwacji. Aby odnieść to ogólne sformułowanie do tworzenia pojęć, musimy przyjąć, że kryteria dzielenia przykładów na grupy, chociaż mogą być różne w przypadku różnych algorytmów, nie są całkiem arbitralne. Wymagania w stosunku do uzyskiwanego podziału for mułuje się najczęściej nieformalnie, odwołując się do podobieństwa przykładów, w następujący sposób. Po pierwsze, żąda się, aby przykłady zaliczone do tej sa mej grupy były jak najbardziej do siebie podobne. Po drugie, przykłady zaliczone do różnych grup powinny się jak najbardziej różnić. Chodzi więc o maksymalizo wanie podobieństwa wewnątrz grup i zróżnicowania między grupami. Spełniający takie warunki podział na grupy ma najlepsze właściwości predykcyjne: ze zna jomości przynależności przykładu do grupy, opisanej pewnym pojęciem, można na jego temat wiele wywnioskować. Co dokładnie to oznacza, zobaczymy przy omawianiu algorytmów grupowania pojęciowego. Hipotezy do tworzenia pojęć. W przypadku zadania tworzenia pojęć przyj miemy, że każda możliwa hipoteza ucznia h E H jest funkcją odwzorowującą przykłady na pewien specyficzny dla niej zbiór kategorii, co można zapisać jako h : X \-> C/j. Zbiór Ch dla hipotezy h może być dowolnym skończonym zbiorem utworzonych przez ucznia kategorii. Hipoteza określa więc, jakie są utworzone kategorie i jak są przypisane do nich poszczególne przykłady. Hipoteza wyznacza podział dowolnego zbioru przykładów P C I n a podzbiory Phd, odpowiadające poszczególnym kategoriom d E Ch- Podzbiory takie będziemy nazywać grupami zbioru P ze względu na hipotezę h.
2.2. GŁÓWNE RODZAJE INDUKCYJNEGO UCZENIA SIĘ
87
Zapytania do tworzenia pojęć. W przypadku hipotez do tworzenia pojęć odpo wiedź na zapytanie polega na wskazaniu dla zadanego przykładu grupy, do której należy ten przykład według stosowanej hipotezy. Mogą być również stosowane bardziej zaawansowane zapytania, w których oprócz wskazania właściwej kate gorii należy wyciągnąć pewne wnioski na podstawie jej opisu. Na ogół dotyczy to przykładów, dla których wartości niektórych atrybutów nie są znane. Wówczas opis kategorii może być podstawą do przewidywania najbardziej prawdopodob nych wartości tych atrybutów. Informacja trenująca do tworzenia pojęć. Zbiór trenujący dla zadania tworze nia pojęć może być dowolnym zbiorem nieetykietowanych przykładów opisanych za pomocą atrybutów określonych na dziedzinie: ( T ) A - { W A | ^ T C 4
(2.7)
lecz zbiorem trenującym będziemy na ogół nazywać dowolny podzbiór dziedzi ny T C X, przyjmując przez domniemanie, że jego elementy dane są uczniowi w postaci wektorów opisujących je wartości atrybutów. Zadanie tworzenia pojęć. Możemy obecnie sformułować zadanie tworzenia po jęć dla dziedziny X i przestrzeni hipotez ucznia H jako zadanie wyboru, na pod stawie zbioru trenującego T, hipotezy / 1 6 ¾ która dzieli przykłady ze zbioru T na grupy Thd odpowiadające poszczególnym kategoriom i G ^ w sposób pro wadzący do maksymalizacji pewnego kryterium jakości grupowania. Na ogół kry terium to uwzględnia maksymalizację podobieństwa przykładów zaliczonych do tej samej kategorii i zróżnicowania przykładów należących do różnych kategorii. Ponieważ hipoteza taka jest określona na całej dziedzinie X, umożliwia klasyfi kowanie do kategorii ze zbioru Ch dowolnych przykładów, również spoza zbioru trenującego.
2.2.3
Uczenie się aproksymacji funkcji
Trzecia odmiana indukcyjnego uczenia się, jaką tu omawiamy, to ponownie ucze nie się z nadzorem. Jeśli jednak na uczenie się pojęć można patrzeć jak na uczenie się funkcji odwzorowującej przykłady na skończony i na ogół niewielki zbiór ka tegorii, to obecnie zbiorem wartości podlegającej uczeniu funkcji jest zbiór liczb rzeczywistych. Mamy wówczas do czynienia z zadaniem uczenia się aproksymacji nieznanej funkcji na podstawie przykładów. Przykłady trenujące są parami składa jącymi się z argumentu funkcji, w praktyce często reprezentowanego przez wektor liczb rzeczywistych, i jej wartości dla tego argumentu. W przypadku uczenia się aproksymacji oczekujemy, że uczeń wygeneruje hi potezę dobrze przybliżającą nieznaną funkcję docelową. Oznacza to wymóg ob-
88
ROZDZIAŁ 2. UCZENIE SIĘ INDUKCYJNE
liczania wartości tej funkcji z dużą dokładnością nie tylko dla przykładów trenu jących, lecz, dzięki indukcyjnemu uogólnieniu, także dla dowolnych innych argu mentów z dziedziny. Funkcja docelowa. Zakłada się, że na rozważanej dziedzinie X jest określona pewna funkcja docelowa / : X H> K O wartościach rzeczywistych. W praktyce występują funkcje docelowe o wartościach wektorowych, można jednak zrezygno wać z ich rozważania, traktując je jako wektory funkcji o wartościach skalarnych, z których każda jest oddzielnie aproksymowaną funkcją docelową. Hipotezy do uczenia się aproksymacji funkcji. Dla zadania uczenia się aprok symacji funkcji hipotezy ucznia, tworzące przestrzeń hipotez H, są funkcjami przekształcającymi przykłady z dziedziny w zbiór liczb rzeczywistych, czyli dla heM mamy h : X \-> K. Zapytania do aproksymacji funkcji. Dowolna hipoteza do aproksymacji funk cji może być stosowana do odpowiadania na zapytania o przybliżoną wartość funk cji docelowej dla dowolnego przykładu z dziedziny. Informacja trenująca do uczenia się aproksymacji funkcji. W najprostszym przypadku zbiór trenujący {Tyk do uczenia się aproksymacji nieznanej funkcji docelowej / : X \-^ SR jest zbiorem par złożonych z przykładu z dziedziny, opisa nego przez wartości atrybutów na niej określonych, i wartości funkcji docelowej dla tego przykładu, czyli (T){ = {((x)AJ(x))\x€TCX}.
(2.8)
W praktyce niekiedy jednak wygodniej jest przyjmować inne sformułowanie, zgo dnie z którym uczniowi są dostarczane nie wartości funkcji docelowej dla przykła dów trenujących, lecz błędy — różnice między wartościami docelowymi a warto ściami, które oblicza uczeń za pomocą swojej aktualnej hipotezy. Dokładniej, jeśli w trakcie uczenia się uczeń skonstruował hipotezę h jako aproksymację funkcji docelowej / , to przykładem trenującym może być dla niego para ((X)A, A X ) , przy czym Ax = f(x) — h(x). Będzie to wyjaśnione niżej podczas dyskusji trybów uczenia się. Ponieważ jednak z konteksu będzie zawsze jasne, jakiej postaci przy kłady trenujące zakładamy, jak zwykle dla wygody nazwiemy zbiorem trenującym po prostu pewien zbiór przykładów z dziedziny T C X. Błąd w uczeniu się aproksymacji funkcji. Jeśli dla przykładów z pewnego pod zbioru dziedziny P C l s ą znane wartości funkcji docelowej / , to można obli-
2.2. GŁÓWNE RODZAJE INDUKCYJNEGO UCZENIA SIĘ
89
czyć błąd próbki hipotezy h na tym zbiorze, porównując jej wartości z wartościami funkcji / , w następujący sposób:
Jest to średnia wartość bezwzględna względnej różnicy między wartościami h i / na zbiorze P . Tak rozumiany błąd będziemy nazywać dla większej ścisło ści względnym błędem próbki. Względny błąd rzeczywisty hipotezy h względem określonego na dziedzinie rozkładu prawdopodobieństwa ft może być określony następująco:
=to=En
\f(x)-h(x)\
m
(2.10)
jako oczekiwana wartość takiej samej różnicy dla przykładów wybieranych zgod nie z tym rozkładem. Powyższe definicje błędów, chociaż wydają się najbardziej naturalne, nie są jedynymi, jakie się wykorzystuje. Do analizy niektórych algoryt mów uczenia się aproksymacji funkcji dogodne jest w szczególności wykorzysta nie błędu średniokwadratowego, który dla zbioru przykładów P C X jest okre ślony następująco:
4 W = T4[E(/^)-M^))2. 1 1
(2.H)
xeP
W tym sformułowaniu jest to średniokwadratowy błąd próbki hipotezy h wzglę dem funkcji docelowej / na zbiorze P. Odpowiedni błąd rzeczywisty oblicza się jako:
sfn(h) = E n
[(f(x)-h(x)f
(2.12)
Zadanie uczenia się aproksymacji funkcji. Zadanie uczenia się aproksymacji funkcji może być sformułowane podobnie jak zadanie uczenia się pojęć. Dla da nej dziedziny X i przestrzeni hipotez ucznia H oraz pewnej ustalonej nieznanej funkcji docelowej / : X *-> K uczeń ma, na podstawie zbioru trenującego T dla funkcji / , znaleźć hipotezę / i G U która jest najlepszym przybliżeniem tej funkcji. Na ogół bierze się przy tym pod uwagę błąd próbki hipotezy na zbiorze trenują cym, ale nie musi to być jedyne uwzględniane kryterium. Jeśli znany jest pewien ustalony rozkład prawdopodobieństwa fi na dziedzinie X i zbiór trenujący zawie ra przykłady wybrane zgodnie z tym rozkładem, to cel uczenia się można określić jako wybór hipotezy h £ H minimalizującej błąd rzeczywisty e£(/i).
90 2.2.4
ROZDZIAŁ 2. UCZENIE SIĘ INDUKCYJNE
Tryby uczenia się
W zasadzie niezależnie od tego, z którą odmianą zadania indukcyjnego uczenia się spośród sformułowanych wyżej mamy do czynienia, dalsze zróżnicowanie może my uzyskać ze względu nie na postać, lecz sposób dostarczania uczniowi infor macji trenującej. Ponieważ zależy od niego, kiedy i na podstawie jakich danych wymaga się od ucznia podania hipotezy, może on mieć dość istotne konsekwencje także dla wykorzystywanych algorytmów uczenia się, dopuszczając stosowanie niektórych z nich i wykluczając użycie innych. Różne warianty zadania indukcyj nego uczenia się, wyróżniane ze względu na sposób dostarczania przykładów tre nujących, mogą być scharakteryzowane za pomocą odpowiednich trybów uczenia się, z których większość może mieć zastosowanie do dowolnego rodzaju uczenia się na podstawie przykładów. Wyróżnimy kilka najczęściej występujących trybów uczenia się. Możliwe są także ich różne szczegółowe warianty lub kombinacje. Tryb wsadowy. Z tego, co dotychczas pisaliśmy o indukcyjnym uczeniu się, czytelnik mógł wynieść wyobrażenie tego procesu w postaci odpowiadającej try bowi wsadowemu. Jest to najbardziej podstawowy tryb uczenia się, który na algo rytmy uczenia się nakłada najmniejsze wymagania. Każdy algorytm, który może być użyty w którymkolwiek z pozostałych trybów uczenia się, można także dosto sować do trybu wsadowego — w tym sensie jest to „najsłabszy" (najmniej wyma gający w stosunku do algorytmów) tryb uczenia się. W trybie tym uczeń otrzymu je cały zbiór trenujący, przystępuje do jego przetwarzania za pomocą używanego przez siebie algorytmu, po czym podaje uzyskaną hipotezę. W trakcie uczenia się nie występują żadne inne interakcje z nauczycielem czy w ogóle z otoczeniem ucznia, a w szczególności nie mogą być dostarczane żadne dodatkowe przykła dy trenujące ani obserwowane żadne tymczasowe „robocze" hipotezy. Algorytmy uczenia się dla trybu wsadowego nie muszą więc umożliwiać doskonalenia hipote zy na podstawie nowych przykładów. Jeśli takie przykłady się pojawią, konieczne staje się powiększenie zbioru trenującego i rozpoczęcie uczenia się od nowa. Tryb inkrementacyjny. W trybie inkrementacyjnym przykłady trenujące są do starczane uczniowi nie wszystkie na raz, lecz pojedynczo. Po przetworzeniu każ dego przykładu uczeń doskonali swoją hipotezę, która w dowolnym momencie może być przedstawiona. Również w dowolnym momencie można zaprzestać pre zentacji dalszych przykładów i przyjąć aktualną hipotezę ucznia za ostateczną. Zbiór trenujący nie musi mieć więc żadnego ustalonego z góry rozmiaru, a w za sadzie może być nawet nieskończony, jeśli istnieje źródło informacji trenującej nieustannie generujące nowe przykłady. Uczenie się w trybie inkrementacyjnym, ze względu na uwzględnianie każdego kolejnego przykładu, jest także nazywane uczeniem się na bieżąco. Algorytmy inkrementacyjnego uczenia się mogą oczy-
2.2. GŁÓWNE RODZAJE INDUKCYJNEGO UCZENIA SIĘ
91
wiście być użyte w trybie wsadowym — wystarczy dostarczony zbiór przykładów przetwarzać, wybierając z niego kolejne przykłady aż do jego wyczerpania. Jed nak algorytmy te okazują się najbardziej przydatne w zastosowaniach, w których nie ma z góry określonego zbioru trenującego, gdyż przykłady pochodzą z ob serwacji pewnego zjawiska czy procesu. Ich zaletą jest możliwość „poprawiania" dotychczasowej hipotezy po każdorazowym uzyskaniu nowych przykładów, bez konieczności powtórnego przetwarzania przykładów dostępnych już wcześniej. Tryb epokowy. Tryb epokowy jest swego rodzaju hybrydowym trybem uczenia się, łączącym cechy trybów wsadowego i inkrementacyjnego. Połączenie polega na tym, że proces uczenia się jest zorganizowany w cykle nazywane epokami, w każdej z których jest przetwarzany pewien zbiór przykładów trenujących. Po zakończeniu każdej epoki dostępna jest aktualna hipoteza ucznia. Można więc po wiedzieć, że tryb inkrementacyjny jest szczególną, „zdegenerowaną" wersją trybu epokowego, w której w każdej epoce przetwarza się tylko jeden przykład trenu jący. Oznacza to, że algorytmy dla trybu epokowego mogą być także używane w trybie inkrementacyjnym. Prawdziwe jest jednak także stwierdzenie odwrotne. Różnica między trybami inkrementacyjnym i epokowym nie jest więc najczęściej różnicą używanych algorytmów uczenia się, a tylko sposobu ich wykorzystywa nia. Wyróżnienie trybu epokowego, które w świetle powyższego może wydawać się nadmiarowe, jest uzasadnione z jednej strony charakterem niektórych zasto sowań praktycznych, w których okazuje się on przydatny, a z drugiej strony wła ściwościami niektórych algorytmów, które —jeśli nawet mogą być używane do uczenia się inkrementacyjnego — niekiedy w trybie epokowym dają lepsze efekty. Tryb korekcyjny. Tryb korekcyjny można przedstawić jako szczególną odmia nę trybu inkrementacyjnego, który ma zastosowanie tylko w przypadku uczenia się z nadzorem. Z trzech omawianych wyżej głównych rodzajów indukcyjnego uczenia się warunek ten spełniają dwa: uczenie się pojęć i aproksymacji funkcji, kiedy informacja trenująca przyjmuje postać etykietowanych przykładów pojęcia albo funkcji docelowej. Różnica w stosunku do trybu inkrementacyjnego polega na tym, że przed dostarczeniem uczniowi etykiety kolejnego przykładu jest do niego stosowana aktualna hipoteza, która jest w każdym momencie dostępna. Ujmując to inaczej, uczeń otrzymuje najpierw przykład nieetykietowany, dla którego ma wyznaczyć za pomocą swojej aktualnej hipotezy kategorię albo wartość funkcji docelowej. Odpowiedź ucznia jest wówczas porównywana z etykietą przykładu, po czym przekazuje mu się informację korekcyjną. W przypadku uczenia się pojęć jest to zazwyczaj po prostu poprawna kategoria przykładu9. W przypadku uczenia 9 Dla pojęć pojedynczych można równoważnie zamiast niej użyć binarnej wartości wskazującej, czy odpowiedź ucznia była poprawna, czy nie.
92
ROZDZIAŁ 2. UCZENIE SIĘ INDUKCYJNE
się aproksymacji funkcji, kiedy ten tryb jest najczęściej stosowany, może to być poprawna wartość funkcji docelowej lub wielkość błędu — różnica między tą po prawną wartością a wartością podaną przez ucznia. Jednym z argumentów na rzecz wykorzystania trybu korekcyjnego jest stwarzana przez niego możliwość obserwa cji postępu procesu uczenia się, przez śledzenie częstości pomyłek przy uczeniu się pojęć albo średniego błędu przy uczeniu się aproksymacji funkcji. Jeśli przy tym nie ma z góry określonego zbioru trenującego, to obserwacje te mogą się stać podstawą decyzji o zaprzestaniu podawania dalszych przykładów i przyjęciu ak tualnej hipotezy ucznia jako zadowalającej. Tryb korekcyjny jest „najsilniejszy" z wyróżnionych przez nas trybów uczenia się w tym sensie, że algorytmy, które można wykorzystywać w tym trybie, mogą być także używane w każdym z pozo stałych trybów. W dalszym ciągu tej książki będziemy jawnie określać przyjmowane założe nia dotyczące trybu uczenia się, jeśli będzie to miało istotne znaczenie. Najczęściej jednak będzie to jasno wynikało z kontekstu, a dokładniej z właściwości omawia nych algorytmów. Warto w szczególności zastrzec, że mówiąc o zbiorze trenują cym nie zakładamy automatycznie jednoczesnej dostępności wszystkich przykła dów z tego zbioru, czyli trybu wsadowego. 2.2.5
Obciążenie indukcyjne
W poprzednim rozdziale przy okazji inferencyjnej teorii uczenia się wspomnieli śmy o obciążeniu, określając tym terminem właściwości algorytmu, które decydu ją o wyborze hipotezy w przypadku, gdy wiedza wrodzona i informacja trenująca nie wyznaczają jej jednoznacznie. W zasadzie każdy algorytm uczenia się jest ob ciążony w tym sensie, że na podstawie dostępnej informacji trenującej można wy brać wiele różnych hipotez, a algorytm wybiera pewną określoną hipotezę spośród nich. Obciążenie to te wszystkie cechy algorytmu, które wraz z wiedzą wrodzoną i informacją trenującą determinują wybór hipotezy. Najczęściej mówi się o obcią żeniu indukcyjnym, czyli takim, z jakim mamy do czynienia przy indukcyjnym uczeniu się. Niezbyt formalnie obciążenie indukcyjne możemy zdefiniować nastę pująco.
• DEFINICJA 2.1. Obciążeniem algorytmu indukcyjnego uczenia się będziemy nazywać czynniki, które decydują o wyborze jednej hipotezy spośród zbioru hipotez dopuszczalnych ze względu na cel uczenia się. 0 Hipoteza indukcyjna z założenia nie wynika na drodze dedukcji wyłącznie z wiedzy wrodzonej i danych trenujących (gdyż wtedy nie byłaby hipotezą induk cyjną); jest ona logiczną konsekwencją wiedzy wrodzonej, informacji trenującej
2.2. GŁÓWNE RODZAJE INDUKCYJNEGO UCZENIA SIĘ
93
i obciążenia. Dwie różne, a więc sprzeczne hipotezy, nie mogą być taką logiczną konsekwencją, co oznacza zdeterminowany wybór jednej hipotezy10. Jeśli zgodnie z tą nieformalną definicją przyjmiemy, że w pewnej konkretnej wersji zadania indukcyjnego uczenia się określimy wymagania dotyczące poszu kiwanej hipotezy, spełniane przez pewną liczbę hipotez, to wybór jednej z nich będzie podyktowany przez obciążenie używanego algorytmu. Dokładne znacze nie obciążenia zależy zatem od tego, jak jest sformułowane rozważane zadanie uczenia się. Aby użyć bardziej konkretnego przykładu, możemy wziąć pod uwagę zadanie spójnego uczenia się pojęć, kiedy od ucznia wymagamy znalezienia hipo tezy spójnej z przykładami trenującymi pojęcia docelowego. Hipotez takich może być wiele, a nasz algorytm uczenia się wybierze jedną z nich zgodnie ze swoim obciążeniem. Różne rodzaje obciążeń poznamy omawiając konkretne algorytmy uczenia się. Na ogół należą one do jednego z dwóch typów: obciążenia absolutnego, w którym przestrzeń branych pod uwagę hipotez jest z góry ograniczona, co zawęża moż liwości wyboru, oraz obciążenia preferencji, w którym na tej przestrzeni określa się pewną relację porządku, odzwierciedlającą ocenę jakości hipotez, i bierze pod uwagę hipotezy w wyznaczonej przez nią kolejności. Jak zobaczymy, na ogół wy korzystuje się w tym celu pewne miary złożoności hipotez, dążąc do wybierania możliwie najprostszych. Obciążenie absolutne jest też nazywane obciążeniem re prezentacji, gdyż najczęśniej ograniczenie przestrzeni hipotez wynika z przyjętej metody reprezentacji wiedzy. 2.2.6
Inne odmiany indukcyjnego uczenia się
Poza trzema głównymi rodzajami indukcyjnego uczenia się, scharakteryzowany mi wyżej, których wspólną cechą jest pozyskiwanie na podstawie przykładów wiedzy mającej postać odwzorowania obiektów pewnej dziedziny na określoną przeciwdziedzinę, w dalszych rozdziałach książki będzie mowa jeszcze o dwóch innych, pod istotnymi względami odmiennych. Będzie to indukcyjne programowa nie logiczne, w którym podlegająca uczeniu się wiedza ma postać relacji opisują cych związki między różnymi obiektami dziedziny11, oraz uczenie się automatów, w którym chodzi o wyznaczanie, na podstawie przykładów, zapytań lub ekspery mentów, funkcji przejść maszyn o skończonej liczbie stanów. Ze względu na ich specyfikę zostały one wyłączone z dyskusji wprowadzającej przedstawionej w tym rozdziale. Zajmiemy się nimi odpowiednio w rozdziałach 9 i 12. 10
Różne hipotezy do uczenia się pojęć przypisują niektórym przykładom różne kategorie, są więc sprzeczne, gdyż nie mogą być jednocześnie poprawne (pojęcie docelowe wyznacza jednoznacznie kategorię każdego przykładu). Analogiczny argument dotyczy hipotez dla aproksymacji funkcji. 1 ' Można to traktować jako uogólnienie uczenia się pojęć, w którym pojęcia jako jednoargumentowe funkcje są zastąpione wieloargumentowymi relacjami.
94
ROZDZIAŁ 2. UCZENIE SIĘ INDUKCYJNE
2.3 Algorytmiczna teoria indukcji Poprzedni podrozdział, uściślając stosowaną przy omawianiu indukcyjnego ucze nia się terminologię i wprowadzając wspomagającą ją matematyczną notację, przy gotował nas do przedstawienia pewnych najbardziej podstawowych elementów teorii tego rodzaju uczenia się. Główna rola tej teorii polega na udzielaniu ob warowanych pewnymi założeniami odpowiedzi na podstawowe pytanie o prawo mocność indukcji. Możemy się mianowicie dzięki niej dowiedzieć, pod jakimi warunkami hipotezy uzyskiwane na podstawie zbiorów trenujących spełnią nasze oczekiwania w zastosowaniu do całej dziedziny. Wprawdzie założenia czynione w tej teorii powodują, że ma ona wciąż ograniczone zastosowanie do praktycz nych algorytmów uczenia się (albo, patrząc na to z drugiej strony, obecnie dostęp ne praktyczne algorytmy nie spełniają wymogów teorii w dostatecznym stopniu), lecz zapoznanie się z jej najważniejszymi wynikami pogłębia rozumienie induk cyjnego uczenia się na tyle, że ich streszczenie tutaj jest celowe. Algorytmiczna teoria indukcji, o której będziemy tu mówić, znana jest w li teraturze jako obliczeniowa teoria uczenia się, często określana skrótem COLT powstałym od angielskiego terminu Computational Learning Theory. Chociaż by ły próby stosowania jej do innych rodzajów uczenia się, to jednak większość jej rezultatów odnosi się bezpośrednio do indukcyjnego uczenia się pojęć i do nich się tu ograniczymy. Nasza dyskusja nie będzie do końca ścisła, a ilustrujące ją przykłady będą najprostsze z możliwych, gdyż zależy nam, aby w książce, nie mającej z założenia charakteru teoretycznego, nie zagubić w matematycznych za wiłościach zasadniczego sensu omawianych wyników.
2.3.1
Szacowanie błędów hipotez
Pierwszy problem, jaki tu rozważymy, dotyczy oceny jakości hipotez. Prawie za wsze idealnym celem indukcyjnego uczenia się jest poszukiwanie hipotez o mini malnym błędzie rzeczywistym. Wyjątki od tej reguły, przede wszystkim związane z wymogiem czytelności hipotez dla człowieka, a więc ich dużej prostoty, będzie my tu pomijać. Nie można jednak poznać wartości błędu rzeczywistego hipotezy nie znając dokładnie na całej dziedzinie odwzorowania, które ma ona przybliżać. Gdyby zaś było ono faktycznie znane, uczenie się nie miałoby żadnego uzasad nienia. Trzeba zatem pogodzić się z tym, że dla algorytmów uczenia się należy formułować różne cele „zastępcze" — najczęściej żądać od nich hipotez o mini malnym błędzie na zbiorze trenującym, ewentualnie rozluźniając ten wymóg przez dodatkowe preferencje dla prostych hipotez. Nie mamy gwarancji, że taka hipote za jest najlepsza ze względu na wartość błędu rzeczywistego i nie możemy takiej gwarancji uzyskać. Możliwe jest natomiast oszacowanie prawdopodobnego błędu rzeczywistego hipotezy na podstawie błędu próbki na pewnym zbiorze przykła-
2.3. ALGORYTMICZNA TEORIA INDUKCJI
95
dów, dzięki czemu można ocenić, czy ze względu na przewidywany sposób jej wykorzystywania jest ona akceptowalna. Technika szacowania błędów w indukcyjnym uczeniu się pojęć, która zostanie tu w skrócie przedstawiona, nie jest w zasadzie elementem obliczeniowej teorii uczenia się —jest to metoda wnioskowania statystycznego bezpośrednio zaadop towana do potrzeb indukcyjnego uczenia się. Każdą bowiem hipotezę indukcyjną można potraktować jako hipotezę statystyczną, mówiącą o pewnej właściwości dziedziny, językiem statystyków nazywanej populacją. Testowaniu hipotez staty stycznych poświęca się sporo uwagi w literaturze statystyki matematycznej i wiele z opisanych tam metod może znaleźć zastosowanie w uczeniu się maszyn. Estymacja przedziałowa Podstawową techniką, jaką wykorzystuje się do szacowania błędów rzeczywistych hipotez, jest estymacja przedziałowa. Służy ona w ogólnym przypadku do szaco wania wartości pewnego nieznanego parametru rozważanej populacji na podstawie jego estymatora. Estymator jest zmienną losową o wartościach wyznaczanych na podstawie losowej próby elementów z tej populacji, a jego wartość dla konkret nej próby jest nazywana oceną estymowanego parametru. Parametr ten zazwy czaj oznacza częstość występowania w populacji elementów o określonej wartości pewnej cechy statystycznej, czyli mających pewną właściwość. Naturalnym esty matorem jest wówczas częstość występowania tej cechy w losowej próbie wybra nej z populacji. Dla różnych losowych prób będą to na ogół różne częstości, czyli różne realizacje zmiennej losowej, którą jest estymator. Estymacja przedziałowa polega na wyznaczaniu przedziałów ufności dla es tymowanego parametru na podstawie estymatora. Przedział ufności wyznacza się zawsze dla ustalonego poziomu ufności, który jest prawdopodobieństwem, że rze czywista wartość parametru znajduje się w tym przedziale. Mówi o tym następu jąca definicja. • DEFINICJA 2.2. Przedziałem ufności dla parametru po poziomie ufności 1 — 5 dla 0 $C 6 < 1 jest każdy przedział, do którego wartość p należy z prawdopo dobieństwem równym 1 — S. 0 Celem estymacji przedziałowej jest wyznaczenie przedziału ufności dla dane go parametru p na podstawie pewnego estymatora tego parametru Yp. Jeśli jest to estymator nieobciążony12, czyli E[Yp] = p, to każda realizacja tego estymatora, 12
Nie należy mylić znaczenia obciążenia w statystyce z obciążeniem indukcyjnym. To pierwsze jest wartością liczbową— w dyskutowanym tu przypadku różnicą oczekiwanej wartości estymatora i estymowanego parametru, czyli E[Yp] — p. Drugie oznacza czynniki wpływające na wybór jednej z wielu możliwych hipotez przy wnioskowaniu indukcyjnym.
96
ROZDZIAŁ 2. UCZENIE SIĘ INDUKCYJNE
czyli wyznaczona na podstawie losowej próby ocena ypi jest środkiem pewnego przedziału ufności dla p. Granice tego przedziału można wyznaczyć na podstawie rozkładu zmiennej losowej, jaką jest estymator. Z przyczyn, które wkrótce staną się jasne, szczególnie interesuje nas estymacja przedziałowa dla rozkładu dwumianowego. Jest to rozkład zmiennej losowej ozna czającej liczbę sukcesów w określonej liczbie prób Bernoulliego. Liczba prób n i prawdopodobieństwo sukcesu w pojedynczej próbie p są parametrami tego roz kładu, który dokładniej jest opisany w dodatku B. Na ogół wartość p nie jest znana i do jej oszacowania na podstawie eksperymentu o dostatecznie dużej liczbie prób może być użyta estymacja przedziałowa. Najlepszym estymatorem Yp jest wów czas stosunek liczby sukcesów w eksperymencie do liczby wykonanych prób. Nie wnikając w szczegóły i uzasadnienia, które można znaleźć w każdym podstawo wym podręczniku statystyki, przedstawimy następującą ogólną postać przedziału ufności o poziomie ufności 1 — 5 dla parametru p rozkładu dwumianowego:
L - nf-^^,yr + «,^^k> |,
(2.13)
przy czym yp = ^ jest realizacją estymatora Yp, czyli stosunkiem liczby sukcesów r do liczby prób n w przeprowadzonym eksperymencie, a us jest liczbą wyzna czoną z warunku Pi(\U\ <us) = l-S
(2.14)
dla zmiennej losowej U o standardowym rozkładzie normalnym i\T(0,1). Wartości us dla różnych 5 są dostępne w tablicach statystycznych13. Wartość w M ~ , stosowana do wyznaczenia końców przedziałów, jest przybliżeniem niemożliwej do wyznaczenia bez znajomości p wartości y p ' ~PK Taka konstrukcja przedziału ufności opiera się na przybliżeniu rozkładu dwumianowego za pomocą rozkładu normalnego, dopuszczalnym dla odpowiednio dużej liczby prób n i wartości p, które nie są zbyt bliskie 0 ani 1. Na ogół zaleca się korzystanie z niego, jeśli jest spełniony warunek nyp(l — yp) ^ 5. Przedziały ufności dla błędu rzeczywistego Podany wyżej sposób konstrukcji przedziału ufności dla parametru p rozkładu dwumianowego może być wykorzystany do szacowania błędu rzeczywistego hi potezy do indukcyjnego uczenia się pojęć dzięki dość oczywistemu spostrzeżeniu, 13
Dokładniej, są tam często podane raczej wartości funkcji gęstości dla standardowego rozkładu normalnego, czyli wartości Pr(C/ < u), zazwyczaj oznaczane przez 4>{u), dla różnych u. Wy znaczenie us na tej podstawie jest proste dzięki symetrii krzywej normalnej, która oznacza, że Pr(|Ł/|
2.3. ALGORYTMICZNA TEORIA INDUKCJI
97
że klasyfikowanie przykładów za pomocą hipotezy ma wszelkie cechy próby Bernoulliego. „Sukcesem" będzie w tym przypadku pomyłka w klasyfikacji, a jego prawdopodobieństwo dla przykładu wybranego z dziedziny zgodnie z pewnym rozkładem prawdopodobieństwa fi (czyli właśnie błąd rzeczywisty) to parametr rozkładu dwumianowego, dla którego należy wyznaczyć przedział ufności. Funk cję estymatora pełni oczywiście zmienna losowa, oznaczająca wartość błędu prób ki dla zbioru przykładów wybranych zgodnie z rozkładem Q. Błąd próbki dla kon kretnego zbioru przykładów spełniającego ten warunek to realizacja estymatora, czyli ocena błędu rzeczywistego. Po zrobieniu powyższego spostrzeżenia pozostaje właściwie tylko dokonać od powiednich podstawień za yp i n do równania (2.13). Załóżmy zatem, że dana jest hipoteza h G H i pewien zbiór przykładów P C X wybranych zgodnie z roz kładem prawdopodobieństwa Q niezależnie od tej hipotezy i niezależnie od siebie nawzajem. Niech c będzie dowolnym pojęciem docelowym, względem którego jest określany błąd hipotezy h. Wówczas, o ile nie są dostępne żadne dodatkowe informacje na temat dziedziny, najbardziej prawdopodobną wartością błędu rze czywistego e^(/i) jest wartość błędu próbki ecP{h) oraz dla dowolnego 0 < 5 < 1 z prawdopodobieństwem w przybliżeniu14 równym 1 — 5
\em-^m
(2.1¾
Zalecane jest korzystanie z tego oszacowania dla dostatecznie licznych zbiorów P , czyli zazwyczaj jeśli \P\ ^ 30 lub |P| ecP(h)(l — ecP(h)) ^ 5. Szczególnie popu larne jest używanie przedstawionego przedziału ufności dla błędu rzeczywistego z poziomem ufności 1 — 6 = 0,95. Przybiera ono wówczas postać:
\eUh) - eHh)\ < 1 , 9 6 ^ ® H 5 M
(2J6)
Należy podkreślić, że podana metoda nadaje się tylko do szacowania dokład ności hipotez za pomocą zbiorów przykładów od nich niezależnych. Jest tymcza sem oczywiste, że hipoteza wygenerowana przez ucznia zależy od zbioru trenują cego, na podstawie którego się uczył, wówczas więc takie oszacowanie nie może być stosowane. To stanowi jego najistotniejsze ograniczenie. W praktyce zatem często używa się oddzielnych zbiorów trenujących i zbiorów do szacowania jako ści hipotezy, czyli walidacji (będziemy je nazywać zbiorami testującymi). Zazwy czaj cały dostępny zbiór etykietowanych przykładów pojęcia docelowego dzieli się losowo na dwa rozłączne podzbiory, z których pierwszy jest zbiorem trenującym, 34
Zastrzeżenie o przybliżeniu wynika z przybliżonego charakteru wykorzystywanego przedziału ufności dla parametru rozkładu dwumianowego.
98
ROZDZIAŁ 2. UCZENIE SIĘ INDUKCYJNE
a drugi jest używany do testowania hipotezy uzyskanej na podstawie pierwszego. Taki proces jest nazywany krzyżową walidacją hipotezy. Przy testowaniu różnych algorytmów uczenia się i ich różnych wariantów często jest także stosowana pro cedura nazywana k-krotną walidacją krzyżową. Polega ona na podziale w losowy sposób zbioru przykładów na k równolicznych podzbiorów, a następnie używa niu każdego z tych podzbiorów jako zbioru testującego dla hipotezy uzyskanej na podstawie zbioru trenującego, będącego sumą pozostałych k — 1 podzbiorów. Otrzymane za każdym razem błędy próbki uśrednia się. W ćwiczeniach, w których czytelnik proszony będzie o przeprowadzenie eksperymentów z implementacjami niektórych algorytmów uczenia się pojęć, walidacja krzyżowa będzie jego podsta wową procedurą badawczą. Przykład 2.19. Weźmy pod uwagę pewną dowolnie ustaloną dziedzinę X i klasę określonych na niej pojęć C. Załóżmy, że pewną hipotezę h testowano na zbiorze P zawierającym 100 przykładów wybranych losowo z dziedziny X zgodnie z pewnym ustalonym rozkładem prawdopodobieństwa f2, otrzymując poprawną klasyfikację dla 80 z nich i niepoprawną dla pozostałych 20. Zatem błąd próbki wynosi ecP(h) = 0,2. Wówczas z prawdopodobieństwem 0,95 błąd rzeczywisty e^h) znajduje się w prze dziale ograniczanym z lewej strony przez 0,2 - 1,96 * y 0 ' 2 ' ^ 0 , 2 ^ = 0,1216 oraz z prawej strony przez 0,2 + 1,96 • y ' '^0~ ' ' = 0,2784. Powiedzmy jednak, że wystarczy nam oszacowanie e^h) z poziomem ufności 1 — S = 0,9 i dysponuje my tablicą statystyczną, która podaje wartości <j>(u) — Fi(U ^ u) dla różnych u, przy czym U jest zmienną losową o standardowym rozkładzie normalnym iV(0,1). Nam jednak potrzebna jest taka wartość u<$, dla której Pr(|[/| < u$) — 1 — 6. Łatwo zauważyć, że ze względu na symetrię krzywej normalnej warunek ten jest równo ważny z warunkiem Pr([/ < u$) = 1 — | = 0,95. W tablicy znajdujemy wartość u — 1,64, dla której (u) = 0,95. Pozwala to wyznaczyć przedział ufności o końcach 0,2 - 1,64 • Y / 0 ' 2 , ( 1 OO° , 2 ) - 0,1344 i 0,8 + 1,64 • y/°M^Q°lS) = 0,2656. Obniżając wymagany poziom ufności zmniejszyliśmy szerokość przedziału ufności.
2.3.2
Model PAC
W obliczeniowej teorii uczenia się analizę matematyczną prowadzi się najczęściej w ramach pewnych sformalizowanych modeli uczenia się, które dokładnie okre ślają przyjmowane założenia co do trybu uczenia się, dostępnej informacji tre nującej i wymagań stawianych uczniowi. Analiza ma zazwyczaj na celu określe nie warunków, w których wybrane rodzaje algorytmów dla wybranych klas pojęć i przestrzeni hipotez mogą uzyskać hipotezę spełniającą te wymagania, oszacowa nie związanego z tym kosztu obliczeń, potrzebnej wielkości zbioru trenującego al bo liczby pomyłek, jakie popełni uczeń klasyfikując przykłady trenujące w trybie korekcyjnym. Najbardziej rozpowszechniony jest obecnie model PAC, któremu poświęcimy najwięcej uwagi.
2.3. ALGORYTMICZNA TEORIA INDUKCJI
99
W modelu PAC, zgodnie z naszym wcześniejszym sformułowaniem zadania uczenia się pojęć, dana jest dziedzina X, klasa pojęć C określonych na tej dzie dzinie i przestrzeń hipotez ucznia HL Uczeń uczy się pojęcia docelowego c E C na podstawie przykładów etykietowanych, wybieranych z dziedziny według sta cjonarnego rozkładu prawdopodobieństwa fi określonego na X. Przyjmuje się, że kolejne przykłady zbioru trenującego T generuje wyrocznia. Definiuje się ją jako zmienną losową EX(c, fi) zwracającą przykład etykietowany {#, c(x)), przy czym x E X jest przykładem wylosowanym zgodnie z rozkładem fi. Takie założenie jest wygodne w rozważaniach teoretycznych, gdyż nie ogranicza z góry rozmiaru zbioru trenującego, który może być tak duży, jak się to okaże konieczne. Zadaniem ucznia jest znalezienie w przestrzeni H hipotezy minimalizującej błąd rzeczywi sty dla pojęcia docelowego c względem rozkładu fi, czyli e^(/i). Zasadnicza idea modelu PAC polega na określeniu warunków, przy których uczeń znajdzie dobrą hipotezę (o ograniczonym błędzie rzeczywistym) z dużym prawdopodobieństwem (powyżej określonego progu), czyli warunków PAC-nauczalności. Pełna angielska nazwa modelu PAC, probably approximately correct, dobrze oddaje jego istotę — bada się warunki uzyskania przez ucznia hipotezy prawdopodobnie w przybliżeniu poprawnej. 2.3.3
PAC-nauczalność
W ramach modelu PAC mówi się o PAC-nauczalnych klasach pojęć oraz o algo rytmach PAC-uczenia się dla takich klas pojęć. Podstawowe znaczenie dla tego modelu ma podana niżej definicja PAC-nauczalności.
• DEFINICJA 2.3. Klasa pojęć C na dziedzinie X jest PAC-nauczalna za po mocą przestrzeni hipotez M, jeśli istnieje algorytm uczenia się używający H, którego uruchomienie z dostępem do wyroczni EX(c, fi) oraz z parametrami e i 5 dla dowolnego pojęcia docelowego c E C dowolnego rozkładu praw dopodobieństwa fi na X oraz dowolnych stałych 0 < e < l i 0 < 6 < l daje w wyniku z prawdopodobieństwem co najmniej 1 — S hipotezę h E H, dla której e^(h) < e. 0 Zgodnie z tą definicją warunkiem PAC-nauczalności klasy pojęć za pomocą pewnej przestrzeni hipotez jest istnienie używającego tej przestrzeni algorytmu uczenia się, który, mając dostęp do źródła przykładów trenujących, może wyge nerować z dowolnie dużym prawdopodobieństwem hipotezę o dowolnie małym błędzie rzeczywistym. Jakkolwiek wybralibyśmy parametry e i 5, jakiekolwiek pojęcie z klasy C byłoby pojęciem docelowym, jakikolwiek rozkład prawdopodo bieństwa fi służyłby do wybierania przykładów z dziedziny, nasz algorytm musi znaleźć w przestrzeni hipotez H hipotezę o błędzie rzeczywistym ograniczonym
100
ROZDZIAŁ 2. UCZENIE SIĘ INDUKCYJNE
przez e z prawdopodobieństwem nie mniejszym niż 1 — 6. Algorytm, który spełnia takie warunki dla klasy pojęć C i przestrzeni hipotez H, będziemy nazywać algo rytmem PAC-uczenia się C za pomocą HL W naturalny sposób PAC-nauczalność klas pojęć jest określona w zależności od przestrzeni hipotez używanych do ucze nia się. Wynika to z faktu, że hipoteza ucznia, na której błąd rzeczywisty nakłada się w definicji dowolnie małe górne ograniczenie, może pochodzić wyłącznie z tej przestrzeni. W szczególnym przypadku PAC-nauczalności klasy pojęć C za po mocą identycznej z nią przestrzeni hipotez IHt — C będziemy mówić o właściwej PAC-nauczalności tej klasy pojęć. Powyższa definicja określa PAC-nauczalność „w zasadzie", czyli bez ograni czania nakładu obliczeń wymaganego do nauczenia się hipotezy spełniającej wy magania. Jeśli jednak interesuje nas nie tylko możliwość uzyskania takiej hipote zy przez pewien algorytm, lecz również związany z tym koszt, będziemy mówić o efektywnej PAC-nauczalności. Określa ją definicja podana niżej. • DEFINICJA 2.4. Klasa pojęć C na dziedzinie X jest efektywnie PAC-nauczalna za pomocą przestrzeni hipotez H, jeśli Cjest PAC-nauczalna za pomocą H i istnieje algorytm PAC-uczenia się dla C, który działa w czasie wielomia nowym względem l/e, 1/6, rozmiaru przykładu z X i rozmiaru pojęcia z C, którego się uczy0 Zgodnie z tą definicją algorytmem efektywnego PAC-uczenia się jest algorytm PAC-uczenia się, który kończy działanie w czasie ograniczonym przez wielomia nową funkcję parametrów wpływających na trudność jego zadania. Wśród tych parametrów są, po pierwsze, odwrotności maksymalnego dopuszczalnego błędu rzeczywistego hipotezy i prawdopodobieństwa tego, że hipoteza o dostatecznie małym błędzie nie zostanie znaleziona. Im te wartości są większe, tym więcej wy magamy od algorytmu, a więc tym więcej jesteśmy skłonni dać mu czasu. Kolej nym uwzględnianym parametrem jest rozmiar przykładu. Jest naturalne, że algo rytm uczący się na podstawie przykładów w pewien sposób analizuje te przykłady i potrzebuje na to ilości obliczeń zależnej od ich rozmiaru. W praktyce najczę ściej rozmiar ten oznacza liczbę atrybutów opisujących przykłady. Wreszcie do puszczamy, aby czas działania algorytmu efektywnego PAC-uczenia się zależał od rozmiaru pojęcia, którego ma się nauczyć. Oznacza to przyjęcie, że różne pojęcia z tej samej klasy pojęć mogą wymagać do ich nauczenia się różnych nakładów obliczeń. Rozmiar pojęcia, uznany tu za wielkość, od której ten nakład może za leżeć, należy rozumieć jako miarę złożoności określoną dla pojęć z klasy C. Do kładniej, przyjmuje się, że dla każdej klasy pojęć można określić pewną naturalną reprezentację jej elementów w postaci napisów złożonych z symboli określonego alfabetu. Wówczas rozmiarem pojęcia jest długość reprezentującego je napisu. Im jest ona większa, tym więcej czasu może wymagać nauczenie się dobrze przybli-
2.3. ALGORYTMICZNA TEORIA INDUKCJI
101
żającej to pojęcie hipotezy. Najlepiej wyjaśnią ten nieco tajemniczy element de finicji efektywnej PAC-nauczalności przedstawione dalej przykłady, tym bardziej że zagłębianie się w teorię złożoności wykracza znacznie poza nasze aspiracje w tym rozdziale. Tymczasem przyjmiemy, że dla każdej rozważanej klasy pojęć C jest określona funkcja rozmiaru pojęcia s przyporządkowująca każdemu pojęciu c E C nieujemną liczbę całkowitą sc(c) oznaczającą jego rozmiar. Ponieważ z for malnego punktu widzenia hipotezy nie różnią się od pojęć, będziemy zakładać, że funkcja rozmiaru SM jest także określona dla każdej przestrzeni hipotez EL Przykład 2.20 (Prostokąty na płaszczyźnie). Dla klasy pojęć C reprezentowa nych przez prostokąty o bokach równoległych do osi układu współrzędnych, wpro wadzonej w przykładzie 2.6, najbardziej naturalną funkcją rozmiaru jest funkcja sc, która każdemu pojęciu c £ C przyporządkowuje taki sam rozmiar równy 4 — tyle liczb trzeba do wyznaczenia odpowiadającego każdemu pojęciu prostokąta15. Przykład 2.21 (Funkcje boolowskie). Dla klasy pojęć C z przykładu 2.7 repre zentowanych przez dowolne funkcje boolowskie lub pewnej jej podklasy, ograniczo nej do funkcji określonego typu, można określić funkcję rozmiaru sc» która każdemu pojęciu przyporządkowuje rozmiar równy minimalnej liczbie literałów koniecznych do zapisania funkcji boolowskiej definiującej to pojęcie. Dla pojęcia c zdefiniowane go przez funkcję c(x) — a\(x) A (d2(x) V 0,3(x)) mamy więc sc{c) = 3. Przykład 2.22 (Pogoda). Dla przestrzeni hipotez JHI z przykładu 2.13, określonych na dziedzinie stanów pogody, dowolną hipotezę można reprezentować w postaci for muły logicznej, w której literały mają postać porównań wartości atrybutów klasyfi kowanego przykładu z wartościami należącymi do przeciwdziedzin tych atrybutów. Funkcja rozmiaru su będzie wówczas wyznaczać rozmiar każdej hipotezy jako mi nimalną liczbę literałów niezbędnych do jej zapisania przy takiej reprezentacji. Dla hipotezy h zdefiniowanej przez formułę h(x) ~ (aura(x) = słoneczna) A (wilgotność(x) = normalna) A A [(temperatura(x) = ciepła) V (temperatura(x) = umiarkowana)) mamy $u(h) = 3. Typowe rezultaty teoretyczne prezentowane na podstawie modelu PAC mó wią o (efektywnej) PAC-nauczalności lub (częściej) PAC-nienauczalności pew nych klas pojęć. W przypadku PAC-nauczalnych klas pojęć umożliwiają także sza cowanie koniecznej i wystarczającej liczby przykładów trenujących do nauczenia się dowolnego pojęcia z tej klasy z żądanym prawdopodobieństwem i dokładno ścią. Dobrym wprowadzeniem do przeglądu najważniejszych rezultatów tego typu jest przedstawiony poniżej przykład. 15
Z punktu widzenia teorii informacji to bezpośrednie podejście jest o tyle problematyczne, że niesłusznie zakłada możliwość dokładnego reprezentowania w komputerze liczb rzeczywistych, bę dących współrzędnymi wierzchołków prostokąta.
102
ROZDZIAŁ 2. UCZENIE SIĘ INDUKCYJNE
Przykład 2.23 (Prostokąty na płaszczyźnie). Dla dziedziny X = 3¾2 z przykła du 2.1, będącej zbiorem punktów na płaszczyźnie, weźmy pod uwagę klasę pojęć C reprezentowanych przez prostokąty o bokach równoległych do osi układu współrzęd nych, wprowadzoną w przykładzie 2.6. Z przykładu 2.17 wiemy, że błąd rzeczywisty dowolnej hipotezy h względem dowolnego pojęcia docelowego c i rozkładu prawdo podobieństwa fina! może być zapisany jako e^h) = PTQ(RC ~- Rh). Rozważmy algorytm najciaśniejszego dopasowania, produkujący dla zbioru tre nującego T hipotezę h odpowiadającą najmniejszemu prostokątowi, który zawiera wszystkie przykłady pozytywne należące do T i nie zawiera żadnego przykładu ne gatywnego. Dla takiej hipotezy R^ C RCt skąd wynika, że R^ -=- Rc = Rc — Rh. Jeśli więc Prn(i? c ) ^ e, to także e^(ft) = PTQ(RC - Rh) ^ e. Załóżmy zatem, że PVQ(RC) > e. Będziemy dążyć do tego, aby także w tym przypadku ograniczyć błąd rzeczywisty hipotezy znajdowanej przez algorytm najciaśniejszego dopasowania. Weźmy pod uwagę jeden z boków prostokąta Rc i rozważmy przesuwanie go w kierunku środka prostokąta tak długo, aż prawdopodobieństwo „trafienia" w obszar przesunięcia punktem wylosowanym za pomocą rozkładu O wyniesie | . Ilustruje to rys. 2.3b. W ten sam sposób możemy postąpić z pozostałymi bokami prostokąta, co widać na rys. 2.3c. Prawdopodobieństwo trafienia losowo wybranym zgodnie z roz kładem O, przykładem w „wykrojony" w ten sposób „pas" (niezakreskowany obszar na rysunku) wynosi nie więcej niż e. Aby również błąd hipotezy h nie przekraczał e, wystarczy zapewnić, że różnica Rc — Rh jest podzbiorem tego „pasa". Stanie się tak, jak pokazuje rys. 2.3d, jeśli każdy z czterech bocznych obszarów składających się na ten „pas" zawiera przynajmniej po jednym przykładzie trenującym ze zbioru T (oczywiście mogą to być tylko przykłady pozytywne). Prawdopodobieństwo tego, że tak nie jest, czyli że przynajmniej jeden z czterech bocznych podprostokątów nie jest „trafiony" przez żaden przykład trenujący, wynosi nie więcej niż 4(1 — f )'T'» i na mo cy znanej nierówności 1-f-a ^ e a l 6 , w której przyjmujemy a = —|, jest ograniczone przez 4e~l r l^. Ostatnie wyrażenie można z kolei ograniczyć przez 5, jeśli
|T|>-(ln4 + l n k 6
O
Rozważana przez nas klasa pojęć jest zatem (właściwie) PAC-nauczalna, gdyż algo rytm najciaśniejszego dopasowania znajduje z dostatecznie dużym prawdopodobień stwem hipotezę o dostatecznie małym błędzie rzeczywistym, pod warunkiem dostar czenia mu dostatecznie wielu przykładów trenujących. Ponieważ liczba wymaganych przykładów zależy liniowo od ^ i logarytmicznie od |-, a czas działania podanego al gorytmu zależy wielomianowo od liczby przykładów i rozmiaru pojęcia docelowego, więc jest to algorytm efektywnego PAC-uczenia się. 2.3.4
Wymagania dotyczące liczby przykładów
Powyższy przykład demonstruje, w jaki sposób w ramach modelu PAC możemy ograniczyć od góry wymaganą liczbę przykładów trenujących do nauczenia się dowolnego pojęcia pewnej ustalonej klasy. Uzyskaliśmy w nim warunek wystar16
Zachodzi ona dla dowolnego a € [0,1], przy czym równość występuje tylko dla a = 0.
103
2.3. ALGORYTMICZNA TEORIA INDUKCJI
b)
a) 02(2)1
a2(x)i
ai(x)
ai(rr)
d) o 2 (x)
c) a2{x)
aiW
fli(ar)
Rys. 2.3. PAC-nauczalność prostokątów na płaszczyźnie czający PAC-uczenia się ze względu na rozmiar zbioru trenującego dla interesują cego nas pojęcia. Zobaczymy obecnie, jak można podobne rezultaty osiągnąć dla dowolnych klas pojęć i przestrzeni hipotez. Spójne algorytmy uczenia się Dyskusję rozpoczniemy od rozważania spójnych algorytmów uczenia się, czyli al gorytmów, które zawsze generują hipotezę spójną z pojęciem docelowym na zbio rze trenującym, na podstawie którego hipoteza ta została wybrana. Spójna hipoteza klasyfikuje przykłady trenujące tak samo jak pojęcie docelowe, czyli osiąga na tym zbiorze błąd próbki równy 0. Precyzuje to poniższa definicja.
•
DEFINICJA 2.5. Hipoteza h jest spójna z pojęciem c na zbiorze P C X, jeśli
(Vx G P) h{x) = c(x).
przykładów
(2 Al)
0
104
ROZDZIAŁ 2. UCZENIE SIĘ INDUKCYJNE
Szczególnie często będziemy mówić o spójności lub braku spójności hipote zy na zbiorze trenującym, na podstawie którego została wygenerowana przez pe wien algorytm uczenia się. Jest ona wówczas weryfikowana na podstawie etykiet, którymi są opatrzone przykłady trenujące. Gdy występują w nich przekłamania, nie można zweryfikować spójności hipotezy z pojęciem docelowym, lecz tylko z „przekłamanym" pojęciem, dla którego etykiety faktycznie występują w zbiorze trenującym. Będziemy wówczas mówić raczej o spójności hipotezy ze zbiorem przykładów etykietowanych, a nie o spójności z pojęciem docelowym na zbiorze przykładów. Oczywiście dla zbiorów przykładów różnych od całej dziedziny w przestrzeni hipotez H może być wiele hipotez spójnych z pojęciem docelowym c, jest zaś na pewno co najmniej jedna taka hipoteza pod warunkiem, że c E EL Zbiór wszyst kich hipotez spójnych z pojęciem docelowym na pewnym zbiorze przykładów jest nazywany przestrzenią wersji tego pojęcia. Dokładnie definiujemy ją poniżej. • DEFINICJA 2.6. Przestrzenią wersji pojęcia c ze względu na przestrzeń hipotez HI / zbiór przykładów P C X będziemy nazywać zbiór wszystkich hipotez przestrzeni H, które są spójne z pojęciem c na zbiorze P: V S | ) P - {h E M | (Vx E P) h{x) - c(x)}.
(2.18)
0 Korzystając z tej definicji możemy uściślić definicję spójnego algorytmu ucze nia się następująco. • DEFINICJA 2.7. Każdy algorytm uczenia się pojęć, który dla dowolnego poję cia docelowego c używając przestrzeni hipotez H generuje na podstawie zbioru trenującego T hipotezę h E VSą T (spójną z pojęciem docelowym na zbiorze trenującym) albo zawodzi, jeśli V S | — 0, będziemy nazywać spójnym algo rytmem uczenia się. 0 Występujące w tej definicji zastrzeżenie, że algorytm zawodzi17 w przypadku pustej przestrzeni wersji, jest konieczne, o ile nie założymy, że pojęcie docelowe należy do jego przestrzeni hipotez. Wprawdzie w poniższej dyskusji będziemy to założenie czynić, rozważając tylko sytuacje, gdy algorytmy kończą działanie z sukcesem, lecz nie zwalnia nas to od troski o pełność definicji, która nie powinna zależeć od przestrzeni hipotez. Ograniczając rozważania do spójnych algorytmów uczenia się, które nie zawo dzą i generują hipotezę z odpowiedniej przestrzeni wersji względem używanego 17
Czyli kończy działanie sygnalizując niepowodzenie i nie dając w wyniku żadnej hipotezy.
2.3. ALGORYTMICZNA TEORIA INDUKCJI
105
zbioru trenującego, możemy zapytać o błąd takiej hipotezy. W przypadku błędu próbki dla h E V S | T mamy oczywiście e^(h) = 0. Interesuje nas tu jednak błąd rzeczywisty, o którym jest mowa w warunkach PAC-nauczalności. Ponieważ jedy ne, co zakładamy o spójnych algorytmach, jest to, że generują hipotezę należącą do przestrzeni wersji, pożądane jest ograniczenie błędu rzeczywistego wszystkich hipotez z tej przestrzeni. Jeśli dla każdej z nich błąd ten nie przekracza pewnej stałej wartości e > 0, to o takiej przestrzeni wersji mówi się, że jest e-wyczerpana. Formułuje to dokładnie następująca definicja. • DEFINICJA 2.8. Przestrzeń wersji VSą P jest e-wyczerpana ze względu na po jęcie c i rozkład prawdopodobieństwa fi na X, jeśli (VfcGVS|;p)e&(/iKe.
(2.19)
0 Interesuje nas obecnie, kiedy i z jakim prawdopodobieństwem można stwier dzić, że przestrzeń wersji jest e-wyczerpana. Zauważmy najpierw, że prawdopo dobieństwo tego, że dowolna hipoteza h o błędzie rzeczywistym względem roz kładu prawdopodobieństwa fi przekraczającym e jest spójna na pewnym zbiorze przykładów P wylosowanych zgodnie z tym samym rozkładem, jest mniejsze niż (1 — e)lpL Wartość ta jest równa prawdopodobieństwu wybrania |P| przykładów poprawnie klasyfikowanych przez hipotezę o błędzie rzeczywistym e, gdy każdy losowo wybrany przykład jest klasyfikowany poprawnie z prawdopodobieństwem 1 — e. Przestrzeń wersji nie jest e-wyczerpana, jeśli błąd chociaż jednej hipote zy z tej przestrzeni przekracza e, a ponieważ przestrzeń wersji nie zawiera wię cej hipotez niż cała przestrzeń hipotez, więc prawdopodobieństwo takiej sytuacji jest mniejsze niż |M| (1 — e)' p l, oczywiście pod warunkiem, że przestrzeń hipotez jest skończona, co musimy w tym miejscu założyć. Jeśli teraz znów skorzystamy z nierówności 1 + a ^ ea (przyjmując a = — e), możemy ograniczyć od gó ry prawdopodobieństwo tego, że przestrzeń wersji VSfj P nie jest e-wyczerpana, przez |H| e~elpL Spójny algorytm uczenia się wykorzystujący zbiór trenujący T jest zatem algorytmem PAC-uczenia się (wygeneruje hipotezę o błędzie rzeczy wistym nie przekraczającym e z prawdopodobieństwem co najmniej 1 — S) pod warunkiem: |H| e" e | T | ^ <S,
(2.20)
który ogranicza prawdopodobieństwo e-niewyczerpania przestrzeni wersji wzglę dem T przez 5. Warunek ten z kolei umożliwia wyznaczenie górnego ograniczenia rozmiaru zbioru trenującego wystarczającego dla dowolnego spójnego algorytmu
106
ROZDZIAŁ 2. UCZENIE SIĘ INDUKCYJNE
uczenia się do nauczenia się hipotezy o błędzie rzeczywistym nie przekraczają cym e z prawdopodobieństwem co najmniej 1 — 5 jako \T\ ^ - ( l n | H | + l n ^ ) . e o
(2.21)
Powyższe rozważania umożliwiają sformułowanie następującego twierdzenia. określającego liczbę przykładów wymaganą do PAC-uczenia się.
•
T W I E R D Z E N I E 2 . 1 . Dla dowolnej dziedziny X, określonej na niej klasy pojęć C i rozkładu prawdopodobieństwa J7 oraz dowolnych 0 < e < l / 0 < £ < l , dowolny spójny algorytm uczenia się, używający skończonej przestrzeni hipo tez M, nauczy się dla każdego pojęcia docelowego c E C z prawdopodobień stwem co najmniej 1 — 6 hipotezy h E HI o błędzie rzeczywistym e^(/i) ^ e pod warunkiem dostarczenia mu zbioru trenującego złożonego z przykładów wybranych zgodnie z rozkładem $7 o rozmiarze co najmniej
-(ln|H| + l n T ) e o
(2.22)
albo zawiedzie, jeśli w przestrzeni H nie istnieje żadna hipoteza spójna z po jęciem c na zbiorze trenującym. < Uzyskany wynik można w zwarty sposób wyrazić następująco: spójne algoryt my uczenia się używające skończonych przestrzeni hipotez są algorytmami PAC-uczenia się, oczywiście o ile nie zawodzą, czyli o ile w używanej przestrzeni hipo tez istnieje hipoteza spójna z przykładami trenującymi. Zauważmy, że wymagana liczba przykładów zależy od logarytmu rozmiaru przestrzeni hipotez. Aby zatem spójny algorytm używający H był także algorytmem efektywnego PAC-uczenia się, In |H| musi zależeć co najwyżej wielomianowo od rozmiaru przykładu. Jest to wymaganie dość silne i niełatwo je spełnić, nie ograniczając przy tym przestrzeni hipotez w stopniu pozbawiającym ją przydatności do uczenia się wielu interesu jących pojęć. Intuicyjnie zależność „trudności" zadania spójnego uczenia się od liczby rozważanych hipotez jest dość oczywista. Jeśli przestrzeń hipotez jest duża, to może w niej być wiele hipotez przypadkowo spójnych z pojęciem docelowym dla przykładów trenujących, a w istocie znacznie się od niego różniących na ca łej dziedzinie. Aby szanse takiej przypadkowej spójności zminimalizować, trzeba odpowiednio wielu przykładów trenujących. Przykład 2.24 (Koniunkcje boolowskie). Dla dziedziny X = {0, l } n z przy kładu 2.2 niech C będzie klasą pojęć reprezentowanych przez koniunkcje dowolnej liczby dowolnych literałów. Rozważmy uczenie się pojęć tej klasy za pomocą iden tycznej z nią przestrzeni hipotez IHL Łatwo zauważyć, że |H| = 3 n , gdyż każdy z n
2.3. ALGORYTMICZNA TEORIA INDUKCJI
107
atrybutów może występować w funkcji boolowskiej reprezentującej hipotezę jako li terał pozytywny, jako literał negatywny lub nie występować w niej wcale18. Na mocy twierdzenia 2.1 wiemy, że dla dowolnego spójnego algorytmu uczenia się używające go przestrzeni hipotez HI warunki PAC-uczenia się będą spełnione, jeśli dostarczymy zbiór trenujący T o rozmiarze |T| ^ - ( n l n 3 + l n i ) . e o Klasa pojęć reprezentowana przez koniunkcje boolowskie jest zatem właściwie PAC-nauczalna. Przyjmując n = 16, 1 - S = 0,9 i e — 0,1 otrzymujemy \T\ ^ 199, co stanowi około 0,3% liczby wszystkich przykładów, których jest 2 16 — 65536. Ponieważ wymagana liczba przykładów zależy liniowo od n i ~ oraz logaryt micznie od j , do zapewnienia efektywnej PAC-nauczalności jest potrzebne istnienie spójnego algorytmu uczenia się koniunkcji boolowskich, działającego w czasie wielomianowo zależnym od liczby przetwarzanych przykładów i rozmiaru pojęcia doce lowego. Podanie takiego algorytmu będzie tematem jednego z ćwiczeń. Niespójne algorytmy uczenia się Nie zawsze można liczyć na to, że uczeń znajdzie hipotezę spójną z pojęciem docelowym na zbiorze trenującym. Może to być niemożliwe, jeśli c ¢ H. Mamy wtedy do czynienia z agnostycznym uczeniem się. Jest to sytuacja, kiedy spójne algorytmy uczenia się zawodzą. Możemy wówczas uznać za rozsądne wybieranie hipotezy, która popełnia najmniejszą liczbę pomyłek, czyli ma najmniejszy błąd próbki na zbiorze trenującym. Każdy algorytm wybierający dowolną hipotezę o tej właściwości będziemy nazywać algorytmem ąuasi-spójnym.
• DEFINICJA 2.9. Każdy algorytm uczenia się pojęć, który dla dowolnego poję cia docelowego c używając przestrzeni hipotez H generuje na podstawie zbioru trenującego T dowolną hipotezę h £Wo minimalnym błędzie próbki na T: h — arg min e£.(/i') będziemy nazywać ąuasi-spójnym algorytmem uczenia się.
(2.23) 0
Obecnie będzie nas interesować, jak można ograniczyć błąd rzeczywisty hipo tezy znajdowanej przez algorytmy quasi-spójne. Jeśli uczeń uczy się na podstawie zbioru trenującego (T)%, przy czym T jest zbiorem przykładów wylosowanych 18
Nie ma potrzeby rozważania koniunkcji zawierających ten sam atrybut jako literał pozytywny i negatywny, gdyż wszystkie takie hipotezy są identyczne i klasyfikują wszystkie przykłady jako negatywne. Hipotezę h0 taką, że h0(x) = 0 dla każdego x G X, możemy wyłączyć z naszej przestrzeni hipotez H lub uwzględnić w niej przyjmując |H| = 3n + 1. Hipotezę reprezentowaną przez „pustą" koniunkcje będziemy interpretować jako pokrywającą całą dziedzinę.
108
ROZDZIAŁ 2. UCZENIE SIĘ INDUKCYJNE
zgodnie z rozkładem prawdopodobieństwa fi, to dla dowolnej hipotezy h korzy stając z ograniczeń Hoeffdinga19 możemy zapisać Pr {ecQ(h) > ecT(h) + e) < e " 2 ^ 2 ,
(2.24)
co ogranicza prawdopodobieństwo tego, że dowolnie wybrana hipoteza ma rze czywisty błąd większy o ponad e od jej błędu próbki na zbiorze trenującym. Za tem prawdopodobieństwo tego, że najlepsza ze względu na błąd próbki na zbiorze trenującym hipoteza znaleziona przez ucznia będzie miała taką właściwość, nie przekracza |H| e~ 2 l 2 ' e . Aby zgodnie z naszym zwyczajem prawdopodobieństwo to ograniczyć od góry przez 5, wymagana jest następująca liczność zbioru trenu jącego: |T|^(ln|H|+ln^),
(2.25)
co jest rozszerzeniem wyniku uzyskanego poprzednio dla spójnych algorytmów. Zauważmy jednak, że tym razem żadna liczba przykładów trenujących nie gwa rantuje PAC-uczenia się. Mamy jedynie gwarancję, że z dowolnie dużym praw dopodobieństwem uzyskamy hipotezę, której błąd rzeczywisty będzie dowolnie mało różnić się od jej błędu próbki na zbiorze trenującym. Możemy zapisać ten fakt w postaci twierdzenia.
•
TWIERDZENIE 2.2. Dla dowolnej dziedziny X, określonej na niej klasy pojęć C / rozkładu prawdopodobieństwa fi oraz dowolnych 0<e
^(ln|H|+ln±).
(2 . 26 )
< Przykład 2.25 (Funkcje boolowskie). Rozważmy uczenie się klasy pojęć C z przykładu 2.7, reprezentowanych przez dowolne funkcje boolowskie na dziedzinie {0, l } n , za pomocą mniejszej od niej przestrzeni hipotez H reprezentowanych przez koniunkcje literałów boolowskich. Z przykładu 2.24 wiemy, że |H| = 3 ' \ podczas gdy |C| = 22'1. Dla dowolnego quasi-spójnego algorytmu uczenia się błąd rzeczywi sty znalezionej przez niego hipotezy z prawdopodobieństwem 1 — 5 nie przekroczy l9
Ich ogólna postać nie jest dla nas istotna i pomijamy ją.
2.3. ALGORYTMICZNA TEORIA INDUKCJI
109
jej błędu próbki na zbiorze trenującym T o ponad e, jeśli | T | ^ ( n l n 3 + lni). Przyjmując n - 16, 1 - 5 = 0,9 i e = 0,1 otrzymujemy \T\ ^ 994, co stanowi około 1,5% liczby wszystkich przykładów w dziedzinie, których jest 2 16 = 65536. 2.3.5
Wymiar Vapnika-Chervonenkisa
Podane dotychczas górne ograniczenia wymaganej liczby przykładów trenujących były wyrażone w zależności od rozmiaru przestrzeni hipotez. Takie oszacowania jednak mogą być w wielu przypadkach znacznie zawyżone, jeśli rozmiar ten jest duży. Stają się one w szczególności bezużyteczne dla nieskończonych przestrzeni hipotez, a z takimi również możemy mieć do czynienia. Bardziej ścisłe ogranicze nia liczności zbioru trenującego są możliwe dzięki wymiarowi Vapnika-Chervonenkisa (krótko wymiarowi VC), używanemu do charakteryzowania przestrzeni hipotez ze względu na ich złożoność. Podział przykładów przez hipotezy Rozważmy przestrzeń hipotez El dla pewnej dziedziny X, ograniczając się do zbioru kategorii C = {0,1} odpowiadającego pojęciom pojedynczym. Wówczas każda hipoteza z HI etykietuje część przykładów z dziedziny X jako pozytywne i pozostałe przykłady jako negatywne. Jeden przykład może być poetykietowany na dwa sposoby, dwa przykłady na cztery sposoby itd. W ogólnym przypadku dla d przykładów z dziedziny istnieje 2d możliwych etykietowań, przy czym niektóre z nich mogą być faktycznie realizowane przez jedną lub więcej hipotez, a niektóre mogą nie być realizowane przez żadną hipotezę z HL Poniższa definicja wymiaru Vapnika-Chervonenkisa odwołuje się właśnie do realizowalności wszystkich ety kietowań dla pewnego podzbioru przykładów za pomocą przestrzeni hipotez.
• DEFINICJA 2.10. Wymiar VC przestrzeni hipotezo oznaczany przez VC(H), jest definiowany jako maksymalna wartość d taka, ze w dziedzinie X istnieje d różnych przykładów, które mogą być oznaczone jako pozytywne lub negatywne przez hipotezy z przestrzeni H na wszystkie 2d możliwych sposobów. Jeśli jest to możliwe dla dowolnie wielu różnych elementów dziedziny to VC(H) = oo.
o Wymiar VC przestrzeni hipotez H określa zatem maksymalną liczbę dających się znaleźć przykładów z dziedziny, które można podzielić na pozytywne i ne gatywne na wszystkie możliwe sposoby za pomocą HL Jeśli można znaleźć co najwyżej d takich przykładów, to dla każdego z ich 2d możliwych etykietowań
110
ROZDZIAŁ 2. UCZENIE SIĘ INDUKCYJNE
istnieje pewna hipoteza / ł G i dająca takie właśnie etykiety. Zauważmy, że jeśli H jest skończoną przestrzenią hipotez, której wymiar VC wynosi d, to nie może ona liczyć mniej niż 2d hipotez, skoro każde z 2d różnych etykietowań może być zrealizowane. Wynika stąd natychmiast następujące ograniczenie wymiaru VC: VC(M) ^ l o g 2 | M | .
(2.27)
Przedstawioną definicję zilustrujemy obecnie wyznaczając wymiar VC dla kil ku przykładowych przestrzeni hipotez. Niestety, nie zawsze zadanie to jest tak łatwe, jak w tych przykładach, zwłaszcza dla przestrzeni hipotez spotykanych w przypadku praktycznych algorytmów uczenia się. Przykład 2.26 (Hiperpłaszczyzny). Weźmy pod uwagę dziedzinę X ~ 5Rn dla n ^ 1 i przestrzeń hipotez H zawierającą wszystkie hipotezy, które klasyfikują ja ko pozytywne przykłady (punkty) leżące po jednej stronie pewnej hiperpłaszczyzny w K™-1 oraz jako negatywne punkty leżące po jej drugiej stronie. W przypadku n = 1 dziedzina jest prostą, nasze przykłady są punktami na pro stej, a hipotezy wyznaczają podział tej prostej na dwie półproste, zawierające przy kłady pozytywne i negatywne. Wówczas oczywiście VC(H) = 2, gdyż jest możliwe każde z 4 etykietowań (dowolnych) dwóch punktów, ale dla żadnych trzech różnych punktów nie można zrealizować wszystkich 8 możliwych etykietowań. Dla n — 2 dziedzina jest płaszczyzną, a przykładami punkty na tej płaszczyźnie. Hipotezy to proste wyznaczające podział tej płaszczyzny na półpłaszczyzny. Wów czas łatwo sprawdzić, że VC(H) = 3, gdyż dla (dowolnych) trzech niewspółliniowych punktów na płaszczyźnie można poprowadzić prostą wyznaczającą każde etykietowa nie. Nie jest to możliwe dla żadnych czterech punktów. Jeśli dowolne trzy z nich są współliniowe, to nie jest możliwe przypisanie środkowemu z nich etykiety innej niż dwóm skrajnym. Jeśli żadne trzy punkty z rozważanych czterech nie są współliniowe, to są one wierzchołkami pewnego czworokąta i wówczas niemożliwe jest przypisa nie obu końcom jego jednej przekątnej etykiety 1 i jednocześnie obu końcom drugiej przekątnej etykiety 0. Nietrudno stwierdzić, że w ogólnym przypadku dla dowolnego n ^ 1 otrzymujemy VC(H) = n + 1. Przykład 2.27 (Hiperprostopadłościany). Przyjmijmy jak w poprzednim przy kładzie X = W1 dla n ^ 1, lecz niech przestrzeń hipotez IHI będzie zbiorem wszyst kich hipotez, które klasyfikują jako pozytywne przykłady wewnątrz lub na brzegu pewnego hiperprostopadłościanu („pudełka") w 5£n o ścianach równoległych do płasz czyzn układu współrzędnych oraz jako negatywne przykłady leżące na zewnątrz tego hiperprostopadłościanu. Dla n = 1 dziedzina jest prostą, a przykłady to punkty na tej prostej. Hipotezy są wówczas reprezentowane przez przedziały (odcinki) na prostej: klasyfikują jako pozytywne punkty należące do przedziału (wraz z jego końcami), a jako negatywne punkty poza przedziałem. Wtedy oczywiście VC(H) = 2. W przypadku n ~ 2 dziedzina jest płaszczyzną, a przykłady punktami na tej płaszczyźnie. Hipotezy są reprezentowane przez prostokąty na płaszczyźnie o bokach równoległych do osi układu współrzędnych. Wówczas VC(H) = 4, gdyż łatwo wska-
2.3. ALGORYTMICZNA TEORIA INDUKCJI
111
zać cztery punkty, dla których są realizowalne wszystkie możliwe etykietowania, ale nie da się zrealizować wszystkich etykietowań dla żadnych pięciu punktów. Aby się o tym przekonać, wystarczy rozważyć sytuację, gdy wyznaczamy powłokę wypukłą tych pięciu punktów i chcemy inaczej etykietować wszystkie cztery punkty należące do tej powłoki, a inaczej piąty punkt. W ogólnym przypadku można się przekonać, że dla dowolnego n ^ 1 mamy VC(H) = 2n. Przykład 2.28. Rozważmy dziedzinę X — {0, l } n i przestrzeń hipotez H repre zentowanych przez koniunkcje literałów boolowskich z przykładu 2.24. Dla n = 1 dziedzina zawiera dwa przykłady, lecz nie mogą one zostać poetykietowane na wszystkie 22 = 4 możliwe sposoby, gdyż nie ma możliwości przypisania im jednocześnie etykiety 0 20. Jest to oczywiście możliwe dla dowolnego jednego z tych dwóch przykładów, który może być poetykietowany na 2 możliwe sposoby, czyli VC(H) = 1. Dla n — 2 dziedzina zawiera cztery przykłady, lecz oczywiście nie wszystkie z 22 = 16 możliwych etykietowań można osiągnąć za pomocą koniunkcji boolow skich. W szczególności nie jest możliwe przypisanie przykładom 00 i 11 etykiety 0 oraz przykładom 01 i 10 etykiety 1. Również dla żadnych trzech przykładów nie są realizowalne wszystkie z 2 3 = 8 etykietowań. Wystarczy wziąć pod uwagę, że wśród takich trzech przykładów znajdą się zawsze dwa przykłady różniące się wartościami obu atrybytów — wówczas nie można przypisać im takiej samej etykiety, a jednocze śnie innej etykiety trzeciemu przykładowi, który ma wartość dokładnie jednego atry butu wspólną z każdym z nich. Tymczasem dla dwóch przykładów 00 i 01 są możliwe wszystkie 22 = 4 etykietowania, co oznacza, że VC(H) = 2. Można sprawdzić, że w ogólnym przypadku dla dowolnego n ^ 1 otrzymamy VC(Hf) = n. Wymiar VC a wymagania dotyczące liczby przykładów Motywacją do wprowadzenia wymiaru VC do naszego przeglądu podstawowych osiągnięć związanych z modelem PAC było możliwe z jego wykorzystaniem uzy skanie lepszych (bardziej ścisłych) ograniczeń liczby przykładów trenujących wy maganych do PAC-uczenia się. W przypadku nieskończonych przestrzeni hipotez dotychczasowe oszacowania oparte na ich rozmiarze stają się bezużyteczne. Obec nie założymy, że jest dana dowolna klasa pojęć C na dziedzinie I , a i jest do wolną przestrzenią hipotez ucznia, który używa spójnego algorytmu uczenia się. Można udowodnić następujące twierdzenie.
•
TWIERDZENIE 2.3. Dla dowolnej dziedziny X, określonej na niej klasy pojęć C / rozkładu prawdopodobieństwa $7 oraz dowolnych 0 < e < l / 0 < 5 < l dowolny spójny algorytm uczenia się używający przestrzeni hipotez H nauczy się dla każdego pojęcia c G C z prawdopodobieństwem co najmniej 1 — 6 hipo20
O ile nie rozszerzymy przestrzeni hipotez o dodatkową hipotezę nie pokrywającą żadnego przy kładu, jak to było rozważane w przypisie 18 na str. 107.
112
ROZDZIAŁ 2. UCZENIE SIĘ INDUKCYJNE
tezy h e H o błędzie rzeczywistym e^h) ^ epod warunkiem dostarczenia mu zbioru trenującego złożonego z przykładów wybranych zgodnie z rozkładem Q o rozmiarze co najmniej
^(41og2? + 8VC(H)log 2 H)
( 2.2 8)
albo zawiedzie, jeśli w przestrzeni H nie istnieje żadna hipoteza spójna z po jęciem c na zbiorze trenującym. <3 Wyprowadzono również dolne ograniczenie, mówiące o tym, że jeśli liczba przykładów nie przekracza pewnej wartości, to uczeń, przynajmniej dla niektórych „trudnych" pojęć i „niewygodnych" rozkładów prawdopodobieństwa na dziedzi nie, znajdzie złą hipotezę z dużym prawdopodobieństwem. Mówi o tym poniższe twierdzenie. TWIERDZENIE 2.4. Dla dowolnej dziedziny X, określonej na niej klasy pojęć C dla której VC(C) ^ % oraz dowolnych 0<e<^i0<5<j~^ istnieje rozkład prawdopodobieństwa fi na X i pojęcie c E C takie, że dowolny algorytm uczenia się używający przestrzeni H do uczenia się c na podstawie zbioru trenującego wygenerowanego zgodnie z rozkładem O, nauczy się z prawdopo dobieństwem co najmniej S hipotezy h EWo błędzie rzeczywistym e^(/i) > e, jeśli liczba przykładów trenujących jest mniejsza niż max,
.
_
^ <
Oba twierdzenia pozostawiamy bez dowodu. Drugie z nich ogranicza liczbę przykładów od dołu ze względu na wymiar VC klasy pojęć a nie przestrzeni hi potez. Zarówno górne, jak i dolne ograniczenie jest logarytmiczne względem | i liniowe względem wymiaru VC. Przykład 2.29 (Funkcje boolowskie). Wykorzystamy wymiar VC dla przestrze ni hipotez reprezentowanych przez koniunkcje boolowskie na dziedzinie {0, l } n , wy znaczony w przykładzie 2.28, do obliczenia za pomocą twierdzeń 2.3 i 2.4 odpowied nio górnego i dolnego ograniczenia rozmiaru zbioru trenującego do PAC-uczenia się pojęć z klasy identycznej z tą przestrzenią hipotez. Będą to odpowiedzi na pytania, jaka liczba przykładów na pewno wystarczy (dla każdego pojęcia i rozkładu prawdo podobieństwa na dziedzinie), a jaka na pewno nie wystarczy (dla przynajmniej jed nego pojęcia i rozkładu prawdopodobieństwa na dziedzinie) do spełnienia warunków PAC-uczenia się. Mamy VC(H) = VC(C) = n. Stąd na podstawie twierdzenia 2.3 stwierdzamy, że wystarczająca liczba przykładów trenujących wynosi - 41og2 - +8nlog 2 — ) , e ó e
2.3. ALGORYTMICZNA TEORIA INDUKCJI
113
a z twierdzenia 2.4 otrzymujemy konieczną liczbę przykładów równą
max
{; ^-4^)-
Przyjmując 1 - 6 ~ 0,9, e = 0,1 i n = 16, otrzymujemy odpowiednio:
^(41og. 2 A + 8 . 1 6 1 o g 2 _g ) s s 9 1 6 2 , f 1 , 1 16-1 i _ max < — log9 — , > « 33. 10,1 B2 0,1'32-0,1 / Możemy więc stwierdzić, że na podstawie 9162 lub większej liczby przykładów z prawdopodobieństwem co najmniej 0,9 uzyskana zostanie hipoteza o błędzie rze czywistym mniejszym niż 0,1, a na podstawie mniej niż 33 przykładów z prawdo podobieństwem co najmniej 0,1 uzyskana zostanie hipoteza o błędzie przekraczają cym 0,1. 2.3.6
Brzytwa Ockhama
Dotychczasowe rozważania koncentrowały się na ograniczaniu błędu rzeczywi stego hipotezy generowanej przez ucznia. Ponieważ zaś zakładaliśmy niejawnie, że przykłady trenujące są poprawne (zawierają prawidłowe etykiety), jako hipo tezy potencjalnie minimalizujące błąd rzeczywisty braliśmy pod uwagę hipotezy spójne lub w każdym razie hipotezy o minimalnym błędzie próbki na zbiorze tre nującym. Nie zawsze jednak takie hipotezy są najlepsze. W pewnych przypadkach możemy mieć do czynienia z niepożądanym zjawiskiem zwanym nadmiernym do pasowaniem, które będziemy rozumieć zgodnie z poniższą definicją.
• DEFINICJA 2.11. Dla danej dziedziny X, określonego na niej pojęcia docelo wego c, przestrzeni hipotez H i rozkładu prawdopodobieństwa Vi na X hipote za h E M jest nadmiernie dopasowana do zbioru trenującego T wylosowanego zgodnie z rozkładem Cl, jeśli istnieje hipoteza h* EM taka, że e^(h) < e^(/i'), ale e^h) > e^h'). 0 Hipoteza jest zatem nadmiernie dopasowana do zbioru trenującego, jeśli inna hipoteza o większym błędzie próbki na tym zbiorze ma mimo to mniejszy błąd rzeczywisty. Zagrożenie nadmiernym dopasowaniem jest szczególnie duże w przypadku występujących często w praktyce niepoprawnych danych trenujących, z przekła maniami w etykietach przykładów. Wówczas nadmiernie dopasowana hipoteza odzwierciedla przypadkowe przekłamania w zbiorze trenującym, a nie (albo nie tylko) istotne właściwości pojęcia docelowego. Nadmierne dopasowanie może wy stąpić również dla poprawnych danych trenujących, jeśli uczeń nie dokona ich do-
114
ROZDZIAŁ 2. UCZENIE SIĘ INDUKCYJNE
statecznej generalizacji. Problemu takiego można się szczególnie obawiać w przy padku bogatych przestrzeni hipotez, w których można znaleźć hipotezy bardzo dokładnie dopasowane do przykładów trenujących. Wtedy hipoteza o małym błę dzie próbki na zbiorze trenującym może odzwierciedlać szczególne właściwości wchodzących w jego skład przykładów, niekoniecznie istotne z punktu widzenia pojęcia docelowego. Przykład 2.30 (Funkcje boolowskie). Dla dziedziny X = {0, l } n z przykła du 2.2 przyjmijmy n — 4 i rozważmy przestrzeń hipotez z przykładu 2.11, reprezen towanych przez dowolne funkcje boolowskie. Niech pojęcie docelowe c ma definicję c(x) = a\ (x) V <24 (x). Załóżmy, że pewien algorytm uczenia się na podstawie zbioru trenującego T=
{(0011,1),(0111,1),(1101,1),(1110,1),(1111,1), (0000,0),(0010,0),(0100,0)}
wygenerował spójną hipotezę h\ o definicji h\(x) — -*ii(x) A as(x) A a^{x) V a\{x) A a2(x), a inny algorytm uczenia się na podstawie tego samego zbioru trenującego wygenero wał niespójną hipotezę h2 o definicji h-2{x) — CLĄ(X).
Mamy zatem błędy próbki równe odpowiednio e^{h\) = 0ie^(/i2) = | . Tymczasem dla rozkładu fi równomiernego na X łatwo się przekonać, że e^ihi) = ~ = | oraz e^(/i2) — _L = | t Okazuje się, że spójna na zbiorze trenującym hipoteza h\ jest nadmiernie dopasowana i lepszą hipotezą jest niespójna na tym zbiorze, ale znacznie prostsza hipoteza hiNajczęściej stosowanym podejściem, mającym na celu unikanie nadmiernego dopasowania, jest uwzględnianie w algorytmach uczenia się, oprócz błędu próbki na zbiorze trenującym, złożoności hipotez jako jednego z czynników decydują cych o wyborze hipotezy. Nieformalnie można to uzasadnić obserwacją, że jest znacznie mniej prawdopodobne, aby zgodność prostych hipotez z danymi trenu jącymi była przypadkowa niż w przypadku hipotez skomplikowanych, gdyż tych pierwszych jest znacznie mniej niż tych drugich. Jeśli hipoteza skomplikowana do brze pasuje do danych, to być może jest to konsekwencją uwzględnienia przez nią ich przypadkowych błędów i w istocie pasuje ona do nich nadmiernie. Jeśli mały błąd próbki na zbiorze trenującym ma hipoteza prosta, to można się spodziewać, że wynika to z trafnego przybliżenia przez nią pojęcia docelowego 21 . Rozumowa21
Mamy tu do czynienia raczej z naszkicowaniem intuicji niż ścisłym wywodem. Przedstawio ną argumentacje łatwo można sprowadzić do absurdu dowodząc, że jest mało prawdopodobne, aby dowolna bardzo specyficzna hipoteza (należąca do pewnego nielicznego zbioru) przypadkowo paso wała do danych, a zatem powinna być preferowana.
2.3. ALGORYTMICZNA TEORIA INDUKCJI
115
nie to leży u podstaw zasady zapożyczonej przez teorię i praktykę indukcyjnego uczenia się z filozofii, znanej pod nazwą brzytwy Ockhama. Wspominaliśmy już o niej wfilozoficznejkońcówce poprzedniego rozdziału. Na marginesie tej dyskusji można zauważyć, że nawet jeśli nie występuje ry zyko nadmiernego dopasowania, nie zawsze musi być preferowana hipoteza mi nimalizująca błąd rzeczywisty, jeśli osiąga ten cel kosztem znacznej złożoności. Złożoność bowiem, obok błędu (nawet rzeczywistego), może być niekiedy drugim istotnym kryterium oceny jakości hipotez. Hipoteza prostsza może być preferowa na, nawet jeśli nie pozwala oczekiwać poprawy błędu rzeczywistego w sytuacji, gdy ma ona podlegać inspekcji człowieka. Niewykluczone, że wówczas niezbyt dokładna prosta hipoteza dzięki łatwości jej interpretacji okaże się bardziej przy datna niż hipoteza dokładna, ale trudna do zrozumienia. 2.3.7
Model ograniczania liczby pomyłek
Rozważania dotyczące modelu PAC i wymiaru VC koncetrowały się wokół pyta nia o warunki, pod jakimi jest możliwe nauczenie się pojęć pewnej klasy z dużą dokładnością i niezawodnością, a w szczególności o niezbędną w tym celu liczbę przykładów trenujących. Dla omawianych wyników nie miał zasadniczego zna czenia stosowany tryb uczenia się. W modelu ograniczania liczby pomyłek bada się właściwości algorytmów uczenia się i klas pojęć z innego punktu widzenia, stawiając pytanie o liczbę pomyłek, jakie popełni uczeń, zanim nauczy się pojęcia docelowego. Oznacza to przyjęcie korekcyjnego trybu uczenia się, w którym dla każdego przykładu trenującego x uczeń najpierw przewiduje kategorię h(x) sto sując swoją aktualną hipotezę /i, a następnie dopiero poznaje poprawną kategorię c(x). Liczba pomyłek, czyli niezgodności między hipotezą ucznia a pojęciem do celowym, jakie przy takim uczeniu się wystąpią, jest traktowana jako miara trud ności klas pojęć oraz skuteczności algorytmów uczenia się. Konkretyzując naszą dyskusję, możemy wyróżnić dwa podstawowe rodzaje zagadnień rozważanych w ramach modelu ograniczania pomyłek: • dla danej klasy pojęć C, algorytmu uczenia się L i przestrzeni hipotez H, ja ka jest maksymalna liczba pomyłek, jakie popełni w najgorszym przypadku uczeń używający algorytmu L i przestrzeni hipotez H do nauczenia się w try bie korekcyjnym dowolnego pojęcia docelowego z klasy C? • dla danej klasy pojęć C i przestrzeni hipotez H, jaka jest maksymalna liczba pomyłek, jakie popełni w najgorszym przypadku uczeń używający najlepsze go algorytmu uczenia się i przestrzeni hipotez HI do nauczenia się w trybie korekcyjnym dowolnego pojęcia docelowego z klasy C? W obu przypadkach nauczenie się może oznaczać dokładne nauczenie się, PAC-nauczenie się lub uzyskanie hipotezy spełniającej jeszcze jakieś inne kryteria.
116
ROZDZIAŁ 2. UCZENIE SIĘ INDUKCYJNE
Ponieważ nie zamierzamy poświęcać modelowi ograniczania liczby pomyłek zbyt wiele uwagi, ograniczymy się do bardziej precyzyjnego sformułowania obu tych zagadnień i przedstawienia podstawowych wyników dotyczących drugiego z nich, nazywanego zagadnieniem optymalnego ograniczenia liczby pomyłek. Będziemy przy tym przyjmować, że celem ucznia jest dokładne nauczenie się pojęcia doce lowego oraz że H = C. Przy powyższych założeniach możemy zdefiniować ogra niczenie liczby pomyłek jako wielkość charakteryzującą klasy pojęć i algorytmy uczenia się w następujący sposób:
• DEFINICJA 2.12. Dla klasy pojęć C / algorytmu uczenia się L ograniczenie liczby pomyłek M^(C) definiuje się jako maksymalną liczbę pomyłek, jakie uczeń używający algorytmu L i przestrzeni hipotez M = C popełni w najgor szym przypadku, ucząc się dokładnie dowolnego pojęcia c e C 0 Sfomułowanie „w najgorszym przypadku" występujące w powyższej definicji odnosi się zarówno do wyboru pojęcia docelowego z klasy C, jak i do doboru oraz kolejności dostarczanych uczniowi przykładów trenujących. W obu przypadkach dopuszczamy ewentualności najmniej korzystne dla ucznia używającego algoryt mu L. Dysponując definicją ograniczenia liczby pomyłek dla klasy pojęć i ustalonego algorytmu uczenia się możemy określić optymalne ograniczenie liczby pomyłek — liczbę pomyłek, jakie popełni w najgorszym przypadku uczeń używający najlep szego możliwego algorytmu —jako pewną wielkość charakterystyczną dla klasy pojęć C, zazwyczaj oznaczaną Opt(C). Formalnie optymalne ograniczenie liczby pomyłek określa poniższa definicja.
• DEFINICJA 2.13. Dla dowolnej klasy pojęć C optymalne ograniczenie liczby pomyłek definiuje się jako minimalną wartość ograniczenia liczby pomyłek dla wszystkich możliwych algorytmów uczenia się: Opt(C) = m i n M L ( C ) .
(2.30)
L/
0 Optymalne ograniczenie liczby pomyłek jest pewną miarą złożoności klas po jęć, podobnie jak wymiar Vapnika-Chervonenkisa — duża wartość Opt(C) ozna cza, że C jest „trudną" klasą pojęć, gdyż nawet używając najlepszego możliwego algorytmu uczeń uczący się należących do niej pojęć może popełnić dużą liczbę pomyłek. Łatwo jest zweryfikować następujące ograniczenia Opt(C): Opt(C) ^ \X
(2.31)
2.4. UCZENIE SIĘ PRZESTRZENI WERSJI
Opt(C) < |C| - 1.
117 (2.32)
Pierwsze z nich zachodzi dla klas pojęć określonych na skończonej dziedzinie X — jest jasne, że najlepszy ze względu na ograniczenie liczby pomyłek algorytm uczenia się nie pomyli się więcej niż raz dla każdego przykładu z dziedziny. Dru ga nierówność zachodzi dla skończonych klas pojęć. Algorytm uczenia się przyj mujący kolejne hipotezy h G C i odrzucający je po wystąpieniu niezgodności h(x) T^ c(x) dla pewnego przykładu trenującego po popełnieniu w najgorszym przypadku |C| — 1 ma już do dyspozycji tylko jedną, na pewno poprawną hipote zę. Nieco mniej oczywiste właściwości optymalnego ograniczenia liczby pomyłek formułuje następujące twierdzenie:
•
TWIERDZENIE 2.5. Dla dowolnej skończonej klasy pojęć Cjest spełniony wa runek: VC(C) ^ Opt(C) < log 2 |C| .
(2.33)
< Dowód. Dowód jest dość prosty i poprzestaniemy na naszkicowaniu argumentacji, na której się opiera. Nierówność VC(C) ^ Opt(C) wynika z faktu, że dla klasy pojęć o wy miarze VC równym d można podać d przykładów trenujących takich, że dowolny algorytm uczenia się popełni pomyłkę dla każdego z nich. Jest to bezpośredni wniosek z definicji wymiaru VC. Aby się przekonać, że Opt(C) ^ log2 |C|, weźmy pod uwagę algorytm uczenia się klasyfikujący każdy kolejny przedstawiany mu przykład trenujący do katego rii, którą przypisuje mu większość hipotez ze zbioru C spójnych z pojęciem docelowym dla dotychczasowych przykładów. Każda pomyłka oznacza więc odrzucenie jako niespój nych co najmniej połowy hipotez dotychczas uznawanych za spójne. Znalezienie pojęcia docelowego nastąpi wówczas po co najwyżej log2 |C| pomyłkach. •
2.4
Uczenie się przestrzeni wersji
W naszych rozważaniach teoretycznych dotyczących spójnych algorytmów ucze nia się odwoływaliśmy się do przestrzeni wersji pojęcia docelowego względem pewnego zbioru przykładów, zawierających wszystkie hipotezy spójne z pojęciem docelowym na tym zbiorze. Jedno z podejść do projektowania spójnego algoryt mu uczenia się może polegać na konstruowaniu przestrzeni wersji względem zbio ru trenującego. W tym podrozdziale zapoznamy się z takim algorytmem, który będzie z jednej strony uzupełnieniem wcześniejszej teoretycznej dyskusji, a z dru giej pozwoli poczynić pewne obserwacje pomocne przy omawianiu innych, bar dziej praktycznych algorytmów. Przy jego opisie będziemy przyjmować konieczne w tym przypadku założenie, że dopuszczone są wyłącznie pojęcia pojedyncze.
118
ROZDZIAŁ 2. UCZENIE SIĘ INDUKCYJNE
2.4.1
Częściowy porządek hipotez
Algorytm, o którym mowa, do reprezentowania i modyfikowania przestrzeni wer sji wykorzystuje częściowy porządek, jaki w przestrzeni hipotez zaprowadza rela cja większej ogólności. Zbiór przykładów pozytywnych hipotezy bardziej ogólnej jest nadzbiorem zbioru przykładów pozytywnych hipotezy bardziej szczegółowej. Dokładnie zapisuje to poniższa definicja:
•
DEFINICJA 2.14. Dla danych dwóch hipotez h\ i łi2 mówimy, że h\ jest har dziej ogólna nit h<2 (l równoważnie /i 2 jest mniej ogólna niż /M , h2 jest bardziej szczegółowa niż h\, h\ jest mniej szczegółowa niż /12) wtedy i tylko wtedy, gdy
{x £ X I h2{x) = 1} C {x e X I łn(x) - 1}.
(2.34)
Piszemy wówczas h\ y- l%2, /12 ~< hi-
0
Bardziej ogólna hipoteza pokrywa zatem pewien nadzbiór zbioru przykładów pokrywanych przez hipotezę bardziej szczegółową. Wprowadzona relacja jest rela cją częściowego porządku na przestrzeni hipotez. Oznacza to, że dla każdej hipote zy może być wiele hipotez bardziej ogólnych lub bardziej szczegółowych i można takie hipotezy wskazać, chociaż mogą również istnieć pary hipotez nieporówny walnych za pomocą tej relacji. Niekiedy będziemy mówić o dwóch hipotezach, że są tak samo ogólne bądź szczegółowe, jeśli zbiory pokrywanych przez nie przy kładów z dziedziny są równe. Oznacza to jednak dokładnie tyle, że hipotezy te są identyczne. Rozszerzymy wprowadzoną w powyższej definicji notację o dodatko we dwa symbole, pisząc h\ >z h<2, jeśli hi y h2 lub h\ = h2, oraz h\ ~< /12, jeśli h\ -< /12 lub h\ — /i 2 . 2.4.2
Reprezentacja hipotez przez kompleksy
Aby uczynić dalszą dyskusję bardziej konkretną, założymy, że na dziedzinie X są określone pewne nominalne atrybuty 22 . Hipotezy mogą być wówczas reprezen towane za pomocą kompleksów. Kompleks opisuje warunki, jakie muszą spełnić wartości atrybutów przykładu, aby został on przez niego pokryty, a tym samym klasyfikowany jako pozytywny przez odpowiednią hipotezę. Każdy kompleks jest wektorem interpretowanym jako koniunkcja warunków nakładanych na pojedyn cze atrybuty, nazywanych selektorami. Przyjmiemy, że atrybuty są uporządkowa ne i ponumerowane, a selektor umieszczony na z-tej pozycji w kompleksie repre zentuje warunek nakładany na wartość i-tego atrybutu. Najczęściej bierze się pod uwagę następujące rodzaje takich warunków: "Możemy także wziąć pod uwagę atrybuty porządkowe o skończonych przeciwdziedzinach, trak tując je jednak tak samo jak atrybuty nominalne.
2.4. UCZENIE SIĘ PRZESTRZENI WERSJI
119
selektor pojedynczy: spełniony dla przykładu rc, jeśli atrybut ai dla tego przykła du ma pewną wskazaną wartość z jego przeciwdziedziny v E Ai (selektor taki będziemy zapisywać jako właśnie tę wartość v), a więc warunek równoważny takiemu selektorowi można zapisać jako a,i(x) = v\ selektor dysjunkcyjny: spełniony dla przykładu x, jeśli atrybut ma jedną z wy mienionych wartości z jego przeciwdziedziny vn1Vi2,... , ^ m E A^ przy czym {vi{,Vi2i • • • ,vlm} / A (selektor taki będziemy zapisywać jako listę tych wartości oddzielonych symbolem alternatywy V, vt\ V vi2 V • • • V vvrn), co oznacza, że warunek równoważny takiemu selektorowi można zapisać jako a,i{x) = vn V a,i{x) = vi2 V • • • V al(x) = vvm\ selektor uniwersalny: spełniony dla przykładu x przez dowolną wartość atrybutu a-i z jego przeciwdziedziny (selektor taki będziemy zapisywać jako symbol ?), wobec czego warunek równoważny takiemu selektorowi można zapisać jako o>i{x) E At\ selektor pusty: warunek nie spełniony dla przykładu x przez żadną wartość atry butu a-i z jego dziedziny (selektor taki będziemy zapisywać jako symbol 0). Oczywiście selektor dysjunkcyjny, zawierający wszystkie wartości z przeciwdzie dziny odpowiedniego atrybutu, staje się selektorem uniwersalnym. Ten ostatni mo żemy więc potraktować jako szczególny przypadek selektora dysjunkcyjnego, za pisywany w zwięzły sposób. Z kolei selektor pusty jest potrzebny głównie dla wygody definiowania i analizowania niektórych operacji, jakie mogą być przepro wadzane na selektorach i kompleksach. W trakcie uczenia się raczej się on nie przydaje, gdyż hipoteza nie pokrywająca żadnych przykładów nie jest zazwyczaj użyteczna. Kompleks będziemy zapisywać jako listę oddzielanych przecinkami selekto rów ujętą w nawiasy trójkątne. Przykładowo, jeśli na dziedzinie są określone atry buty a\, a2, a;*, a4, przy czym każdy atrybut ai ma zbiór wartości {vn,vl2: ^ 3 , ^ 4 } dla i — 1,2, 3,4, to kompleks (v 12, ?, ^32 V ^33, ^41 V ^43 V ^44) pokrywa każ dy przykład x, dla którego a\{x) = v\2, ^2(2) ma dowolną wartość, a^(x) ma wartość i?32 lub wartość ^33 oraz a±{x) ma jedną z wartości ^41,^43,^44. Każ dy kompleks zawierający przynajmniej jeden selektor pusty nie pokrywa żadnego przykładu, reprezentuje więc tę samą hipotezę i może być uważany za tożsamy z kompleksem zawierającym wyłącznie selektory puste. Powtórzmy, że hipoteza klasyfikuje jako pozytywne te i tylko te przykłady, dla których wartości atrybu tów spełniają warunki opisane przez kompleks, za pomocą którego hipoteza ta jest reprezentowana. Inaczej mówiąc, hipoteza pokrywa wszystkie te i tylko te przy kłady, które pokrywa reprezentujący ją kompleks. Przykład 2.31 (Figury geometryczne). Dla dziedziny figur geometrycznych z przykładu 2.3 weźmy pod uwagę następujące hipotezy, reprezentowane za porno-
120
ROZDZIAŁ 2. UCZENIE SIĘ INDUKCYJNE
cą kompleksów (bez selektorów dysjunkcyjnych): hi = (?, czerwony, koło), ^2 = (?, czerwony,?), h3 = (duży, czerwony,?). Dla tych hipotez możemy stwierdzić: • h\ jest bardziej szczegółowa niż /i 2 , • /i 3 jest bardziej szczegółowa niż /12, • /ii i /i 3 nie są porównywalne za pomocą relacji większej szczegółowości.
2.4.3
Reprezentacja przestrzeni wersji
Istnienie częściowego porządku ze względu na ogólność/szczegółowość w prze strzeni hipotez umożliwia zwarte reprezentowanie przestrzeni wersji za pomocą dwóch zbiorów hipotez, zwyczajowo oznaczanych przez S i G, stanowiących od powiednio jej szczegółowe i ogólne ograniczenie. Ograniczenia takie można zresz tą określić dla dowolnego zbioru hipotez. Ograniczenie szczegółowe zbioru hi potez to jego podzbiór złożony z takich hipotez, dla których w tym zbiorze nie istnieje żadna hipoteza bardziej od którejkolwiek z nich szczegółowa. Odpowied nio ograniczenie ogólne stanowi podzbiór hipotez, dla których nie istnieją hipote zy bardziej od nich ogólne. Definicje szczegółowego i ogólnego ograniczenia dla przestrzeni wersji precyzujemy poniżej.
•
DEFINICJA 2.15. Szczegółowym ograniczeniem przestrzeni wersji VS§jp po jęcia docelowego c względem przestrzeni hipotez H i zbioru przykładów P jest zbiór S^P wszystkich hipotez należących do tej przestrzeni wersji, dla których nie istnieją w niej hipotezy bardziej od nich szczegółowe:
S^P
= {h e V S ^ P | ^(3ti
e VScm,P)ti
-< h}.
(2.35)
0 • DEFINICJA 2.16. Ogólnym ograniczeniem przestrzeni wersji VS|[p pojęcia docelowego c względem przestrzeni hipotez H i zbioru przykładów P jest zbiór ( ¾ P wszystkich hipotez należących do tej przestrzeni wersji, dla których nie istnieją w niej hipotezy bardziej od nich ogólne: G^P
= {he
V S | ) P | ^(3ti
6 VS^P)h'
y h}.
(2.36)
0
2.4. UCZENIE SIĘ PRZESTRZENI WERSJI
121
Pewność, że zdefiniowane w powyższy sposób szczegółowe i ogólne ograni czenia przestrzeni wersji dają nam to, na czym nam zależy — możliwość reprezen towania przestrzeni wersji — wynika z przedstawionego niżej twierdzenia. Mówi ono o tym, że przestrzeń wersji jest zbiorem tych i tylko tych hipotez, które al bo należą do jednego z tych ograniczeń, albo są bardziej ogólne niż przynajmniej jedna hipoteza z ograniczenia szczegółowego, oraz bardziej szczegółowe niż przy najmniej jedna hipoteza z ograniczenia ogólnego. •
T W I E R D Z E N I E 2.6. SfaP i G^p są odpowiednio szczegółowym i ogólnym ograniczeniem przestrzeni wersji VS§^p wtedy i tylko wtedy, gdy dla każdej hipotezy h G VS^P zachodzą jednocześnie oba następujące warunki: 1) h G G§i P lub hjest bardziej szczegółowa niż pewna hipoteza należąca do
2) h G 5¾ p lub hjest bardziej ogólna niż pewna hipoteza należąca do
S^P. <
Dowód tego twierdzenia, którego tezę możemy nieformalnie, nadużywając no tacji, zapisać jako warunek: ^H,7 J ^ VS M j P ^ G ą p
(2.37)
jest stosunkowo prosty, a przy tym dostatecznie pouczający, by warto go było tu przedstawić. Dowód. Najpierw udowodnimy, że jeśli h € VS^p, to istnieją hipotezy hs G S | P i hg G G^P takie, że h >: hs oraz h < hg. Jeśli h G S, to mamy hs — h. Jeśli h $ S^P, to z definicji ograniczenia szczegółowego wynika, że istnieje pewna hipoteza /ii G VSJ^p taka, że h\ < h. Ponowniejeśli h\ G Są P , to mamy h$ = hi; w przeciwnym przypadku istnieje hi G VS^p, dla której h>i < h\ < h. Otrzymujemy w ten sposób ciąg coraz bardziej szczegółowych hipotez, który na pewno jest skończony23. Ostatnia hipoteza z tego ciągu, dla której nie istnieje już w przestrzeni wersji hipoteza bardziej od niej szczegółowa, na pewno jest elementem zbioru Sfap i ona jest właśnie puszukiwaną hipotezą hs. Rozumowanie dla hg przebiega analogicznie. Obecnie przejdziemy do pokazania, że jeśli istnieją hipotezy hs G SfaP i hg G G^P takie, że h >z hs oraz h < hgt to h G VS^p. Jeśli h = hs lub h — hgy to teza jest oczywista, załóżmy więc, że hs < h < hg. Weźmy pod uwagę zbiory przykładów z dziedziny klasyfikowanych jako pozytywne przez hipotezy hs, h i hg, które oznaczymy odpowiednio przez Xh% Xh i Xhg. Z definicji relacji większej szczegółowości wynika, że Xh* C Xh C Xh°. Stąd wynika, że P fi Xh* C P n Xh C P n Xh°. Ponieważ zaś hs i hg jako elementy przestrzeni wersji są spójne z pojęciem docelowym na zbiorze P, więc P O Xh* = PH Xh°. To z kolei pociąga za sobą P n Xh* ^ P H Xh = P H Xh*, czyli także //Jest elementem przestrzeni wersji. Ta obserwacja kończy dowód. • 2:1
Jest to prawdą dla skończonych dziedzin lub skończonych przestrzeni hipotez. Przypadek, gdy i dziedzina, i przestrzeń hipotez są nieskończone, wyłączamy z tej argumentacji.
122
ROZDZIAŁ 2. UCZENIE SIĘ INDUKCYJNE
Zauważmy, że w drugiej części dowodu wykorzystuje się fakt, że zbiory S^P i ( ¾ p ograniczają przestrzeń wersji. Nie da się tego rozumowania powtórzyć dla ograniczeń dowolnego zbioru hipotez. 2.4.4
Algorytm eliminacji kandydatów
Konstrukcja przestrzeni wersji dla danej przestrzeni hipotez i zbioru przykładów może zostać przeprowadzona za pomocą algorytmu eliminacji kandydatów, do którego będziemy się także odwoływać korzystając z nazwy CAE 24 . Algorytm ten zaczyna działanie od przestrzeni wersji nieograniczonej, czyli od całej przestrzeni hipotez, a następnie przetwarza pojedynczo przykłady trenujące oraz modyfikuje jej szczegółowe i ogólne ograniczenia w ten sposób, aby wyznaczany przez nie zbiór hipotez zawierał wyłącznie hipotezy spójne z dotychczas uwzględnionymi przykładami. Szczegóły tego postępowania przedstawia algorytm 2.1. Zakłada się tam, że dany jest zbiór trenujący T pojęcia docelowego c i należy skonstruować przestrzeń wersji V S | j i T , przy czym KI jest przestrzenią hipotez ucznia. funkcja cae(T) argumenty wejściowe: T — zbiór trenujący dla pojęcia c; zwraca: S^ r, G^ T — ograniczenia przestrzeni wersji V S ^ T ; 1: inicjuj Ś i G odpowiednio jako zbiory maksymalnie szczegółowych maksymalnie ogólnych hipotez w H; 2 dla wszystkich x £ T wykonaj 3 jeśli c(x) — 1 to 4 G -=G-{h£ G\ h{x) - 0 } ; 5 dla wszystkich h £ S nie pokrywających x wykonaj 6 S :— S — {h} U generalizcicja(h,x,G)\ 7 koniec dla S-S~{heS\ (3hł eS)hyh>}; 8 9 w przeciwnym przypadku 10 S:=S-{heS\ h{x) = 1}; 11 dla wszystkich h G G pokrywających x wykonaj 12 G :— G — {h} U specjalizacjach, x, S)\ 13 koniec dla 14 G:=G-{heG\ {3ti G G ) h
Jest to skrót oryginalnej nazwy angielskiej Candidate Elimination.
2.4. UCZENIE SIĘ PRZESTRZENI WERSJI
123
generaliz.acja(h, x, G) i specjalizacja (h, x, 5 ) , wykorzystywanych w nim do mo dyfikowania zbiorów S i G. Pierwsza z nich, stosowana dla każdej hipotezy h 6 S, która nie pokrywa x, ma dać w wyniku zbiór maksymalnie szczegółowych hipotez bardziej ogólnych od h, które pokrywają x. Każda z nich musi pozostać tak samo lub bardziej szczegółowa niż pewna hipoteza z G. Druga operacja jest stosowana analogicznie dla każdej hipotezy h e G, która pokrywa x, i ma zwrócić zbiór hi potez bardziej szczegółowych, które nie pokrywają x, ale przy tym maksymalnie ogólnych. Każda z nich musi być w szczególności tak samo lub bardziej ogólna niż pewna hipoteza ze zbioru S. Nie jest na pierwszy rzut oka jasne, jak znaleźć hipotezy spełniające określone wyżej warunki i czy przypadkiem nie wymaga to przeglądania jakiegoś większe go zbioru hipotez. Mamy tu w istocie rzeczy do czynienia z operacjami, które przy omawianiu inferencyjnej teorii uczenia się w poprzednim rozdziale nazwa liśmy transmutacjami generalizacji i specjalizacji, nazwy nadane dwóm omawia nym operacjom nie są zatem przypadkowe. Sposób realizacji takich transmutacji silnie zależy od przyjętej reprezentacji hipotez. Przyjmując wprowadzoną wcze śniej reprezentację hipotez w postaci kompleksów, możemy być jednak bardziej precyzyjni. Pierwsza z interesujących nas operacji polega na wygenerowaniu hi potez różniących się od h jednym lub większą liczbą selektorów, zapewniających pokrywanie przykładu x. W przypadku hipotezy reprezentowanej przez kompleks może powstać dokładnie jedna hipoteza uogólniona, reprezentowana przez kom pleks z selektorami w razie potrzeby zmodyfikowanymi w celu pokrycia przykła du ;/;. Modyfikacja może tu polegać na dodaniu nowej wartości atrybutu do selek tora dysjunkcyjnego, zastąpieniu selektora pojedynczego selektorem dysjunkcyjnym z dwoma wartościami lub zastąpieniu selektora pustego selektorem pojedyn czym. Operacja specjalizacji może być realizowana z kolei przez wygenerowanie dla kompleksu reprezentującego hipotezę h zbioru wszystkich bardziej szczegó łowych kompleksów różniących się od niego dokładnie jednym selektorem, wy kluczającym pokrywanie przykładu x. Wykluczenie to można osiągnąć usuwając wartość z selektora dysjunkcyjnego, zastępując selektor dysjunkcyjny z dwiema wartościami selektorem pojedynczym lub zastępując selektor pojedynczy selek torem pustyni. Jak widać, oba algorytmy, o których zapisanie czytelnik zostanie poproszony w jednym z ćwiczeń na końcu rozdziału, są bardzo proste i nie wyma gają żadnego jawnego przeglądania przestrzeni hipotez. Sprowadzają się do two rzenia nowych hipotez przez modyfikowanie pojedynczych selektorów hipotezy oryginalnej. Przykład 2.32 (Figury geometryczne). Działanie algorytmu CAE zilustrujemy posługując się wprowadzonymi w przykładzie 2.14 zbiorami trenującymi dla pojęć C\, r:2, C?>,CA i c$, podanymi w tabl. 2.1. Założymy, że przestrzeń Uskłada się z hipotez re prezentowanych za pomocą kompleksów, które mogą zawierać selektory pojedyncze, uniwersalne lub puste.
124
ROZDZIAŁ 2. UCZENIE SIĘ INDUKCYJNE
Kolejne etapy konstruowania przestrzeni wersji dla zbioru 7\ ilustruje rys. 2.4. Strzałkami połączono hipotezy porównywalne ze względu na ogólność, w kierunku od hipotezy bardziej ogólnej do bardziej szczegółowej. 1. Zbiory S i G są inicjowane: 5 = {(0,0,0)}, G = {,?,?)}. 2. Przetwarzany jest przykład x = 1, opisany przez wektor wartości atrybutów {duży, czerwony, koło), dla którego c\(x) — 1. (a) zbiór G pozostaje bez zmian, gdyż jedyna należąca do niego hipoteza pokry wa x\ (b) zbiór S zawiera hipotezę h = (0,0,0) nie pokrywającą x, następuje więc wywołanie generalizacja(x1 h, G)\ (c) w wyniku generalizacji powstaje hipoteza (duży, czerwony, koło), która za stępuje h w zbiorze 5. 3. Po zakończeniu przetwarzania przykładu 1 mamy: 5 = {{duży, czerwony, koło)}, G = {(?,?,?)}. Odpowiednią przestrzeń wersji ilustruje rys. 2.4a. 4. Przetwarzany jest przykład x = 2, opisany przez wektor wartości atrybutów (mały, czerwony, kwadrat), dla którego c\ (x) = 0. (a) zbiór S pozostaje bez zmian, gdyż jedyna należąca do niego hipoteza nie pokrywa x\ (b) zbiór G zawiera hipotezę h = {?, ?, ?) pokrywającą x, następuje więc wywo łanie specjalizacja(x, h, S)\ (c) w wyniku specjalizacji powstają hipotezy (duży, ?, ?) i (?, ?, koło), które za stępują h w zbiorze G. 5. Po zakończeniu przetwarzania przykładu 2 mamy: S — {(duży, czerwony, koło)}, G - {(duży, ?,?), (?,?, koło)}. Odpowiednią przestrzeń wersji ilustruje rys. 2.4b. 6. Przetwarzany jest przykład x = 3, opisany przez wektor wartości atrybutów (mały, czerwony, koło), dla którego c\ (x) = 1. (a) ze zbioru G usuwana jest nie pokrywająca x hipoteza (duży, ?, ?); (b) zbiór S zawiera hipotezę h = (duży, czerwony, koło) nie pokrywającą x, następuje więc wywołanie generalizacja(x, h, G); (c) w wyniku generalizacji powstaje hipoteza (?, czerwony, koło), która zastępu je h w zbiorze S. 7. Po zakończeniu przetwarzania przykładu 3 mamy: S = {(?, czerwony, koło)},
2.4. UCZENIE SIĘ PRZESTRZENI WERSJI
125
G = {(?,?, koło)}. Odpowiednią przestrzeń wersji ilustruje rys. 2.4c. 8. Przetwarzany jest przykład x = 4, opisany przez wektor wartości atrybutów (duży, niebieski, koło), dla którego ci (x) — 0. (a) zbiór S pozostaje bez zmian, gdyż jedyna należąca do niego hipoteza nie pokrywa x; (b) zbiór G zawiera hipotezę h = {?,?, koło) pokrywającą x, następuje więc wywołanie specjalizacja(x, h, S); (c) w wyniku specjalizacji powstaje hipoteza (?, czerwony, koło), która zastępuje h w zbiorze G. 9. Po zakończeniu przetwarzania przykładu 4 mamy: S — G — {(?, czerwony, koło)}. Ponieważ zbiory S i G zawierają tylko jedną, tę samą hipotezę, stwierdzamy, że nastąpiła zbieżność algorytmu. Odpowiednią jednoelementową przestrzeń wersji ilustruje rys. 2.4d. Działanie algorytmu eliminacji kandydatów dla zbiorów trenujących T2, T3, T4 i T5 czytelnik zechce prześledzić samodzielnie. Uzyskiwane dla każdego zbioru Ti końcowe przestrzenie wersji są ograniczane przez odpowiednie zbiory Si i d dla i — 2,3,4, 5 następująco: S-2 — {{?, czerwony, koło)}, G) — {(?, czerwony, ?), {?,?,ico/o}}, S3 = G 3 = 0, SĄ = GĄ — {(?, czerwony,?}, S, - G5 - 0. Zauważmy, że dla zbioru T2 nie nastąpiła zbieżność do jednej hipotezy, a dla zbiorów T3 i T5 zostały uzyskane puste przestrzenie wersji.
2.4.5
Stosowanie przestrzeni wersji
Jeśli algorytm CAE uzyskał, po zakończeniu przetwarzania zbioru trenującego T, zbiory S — G zawierające jedną hipotezę, to nastąpiła zbieżność algorytmu i ist nieje dokładnie jedna hipoteza h G H spójna z przykładami trenującymi. W tym przypadku algorytm działa jak algorytm uczenia się w ścisłym sensie, czyli efek tem jego działania jest jedna hipoteza wynikowa. Jeśli ponadto wiadomo, że prze strzeń hipotez jest identyczna z klasą rozważanych pojęć lub jest jej nadzbiorem, to na pewno hipoteza ta jest poprawna — identyczna z pojęciem docelowym. Wów czas uczenie się jest zakończone sukcesem. Często jednak jeden lub oba z tych warunków mogą nie być spełnione.
126
ROZDZIAŁ 2. UCZENIE SIĘ INDUKCYJNE
a) po przetworzeniu przykładu x = 1
b) po przetworzeniu przykładu x — 2
c) po przetworzeniu przykładu x — 3
d) po przetworzeniu przykładu x = 4
Rys. 2.4. Etapy konstruowania przestrzeni wersji dla figur geometrycznych na podsta wie zbioru T\ Jeśli w wyniku uczenia się za pomocą algorytmu eliminacji kandydatów uzy skano pustą przestrzeń wersji, to pojęcie docelowe nie może być reprezentowane przez przestrzeń hipotez W lub zbiór trenujący zawiera niepoprawne przykłady. Musi tak być, skoro w przestrzeni hipotez nie ma żadnej hipotezy spójnej z przy kładami. Jeśli natomiast algorytm uzyska przestrzeń wersji zawierającą więcej niż jedną hipotezę, czyli nie nastąpi zbieżność, to zbiór trenujący jest niewystarczają cy do dokładnej identyfikacji pojęcia docelowego. Istnieje wówczas wiele hipotez spójnych z przykładami trenującymi i nie można wskazać, która z nich poprawnie identyfikuje pojęcie docelowe 25 . Jej identyfikację umożliwiłoby tylko dostarczenie dodatkowych przykładów trenujących. W tym ostatnim przypadku uzyskana wieloelementowa przestrzeń wersji może być użyteczna, tym bardziej, im bardziej została „zawężona" w porównaniu z peł ną przestrzenią hipotez. Można ją wówczas potraktować jako hipotezę (czy może raczej „metahipotezę") w pewnej nowej przestrzeni hipotez, to znaczy stosować ją do klasyfikowania przykładów, posługując się następującymi regułami: • jeśli przykład jest pokrywany przez każdą hipotezę ze zbioru 5 , to jest na pewno przykładem pozytywnym, 23
Jeśli w ogóle taka hipoteza istnieje— nie ma co do tego pewności, jeśli C g HL
2.4. UCZENIE SIĘ PRZESTRZENI WERSJI
127
• jeśli przykład nie jest pokrywany przez żadną hipotezę ze zbioru G, to jest na pewno przykładem negatywnym, • w pozostałych przypadkach nie można jednoznacznie podać kategorii przykła du, chociaż można próbować oszacować jego prawdopodobną klasyfikację na podstawie proporcji hipotez w przestrzeni wersji, które go pokrywają. Ostatnia możliwość jest realizowana w szczególności przez algorytm większo ści, który przypisuje klasyfikowanemu przykładowi kategorię, jaką przypisuje mu większość hipotez należących do przestrzeni wersji: h*(x) ~ argmax \{h E YSj^ j- | h(x) = d}
(2.38)
Umożliwia to traktowanie algorytmu eliminacji kandydatów jako algorytmu ucze nia się w trybie inkrementacyjnym, który po przetworzeniu każdego przykładu trenującego jest w stanie podać udoskonaloną hipotezę, w tym przypadku będącą w istocie przestrzenią wersji. Więcej o wykorzystywaniu zbioru hipotez do klasy fikacji przykładów będziemy mieli okazję powiedzieć w rozdziale 10, dyskutując podejście nazywane metauczeniem się. 2.4.6
Dobór przykładów trenujących
Algorytm eliminacji kandydatów demonstruje, że dla algorytmów inkrementacyjnego uczenia się istotna może być kolejność, w jakiej otrzymują przykłady trenują ce. Dostarczanie tego samego zbioru przykładów w różnej kolejności nie wpływa wprawdzie w tym przypadku na ostateczny wynik uczenia się, gdyż przestrzeń wersji dla danego zbioru przykładów pozostaje taka sama26, ale może wpływać na szybkość zbieżności. Gdyby uczeń stosujący algorytm eliminacji kandydatów mógł wybierać, kategorię którego z pewnej liczby zaoferowanych mu przykładów chciałby poznać, najbardziej właściwym wyborem byłby przykład, dla którego liczba pokrywających go hipotez w przestrzeni wersji jest najbliższa połowy jej rozmiaru. Wówczas, niezależnie od tego, jaka okazałaby się etykieta tego przy kładu, po jej poznaniu możliwe byłoby zredukowanie przestrzeni wersji o połowę. Gdyby z kolei algorytm uczący się miał nie wybierać z dostępnego zestawu, lecz zaproponować samodzielnie najbardziej pożyteczny przykład, mógłby, opierając się na tych samych przesłankach, wygenerować optymalną sekwencję przykładów trenujących, a ściślej rzecz biorąc zapytań, odpowiadając na które nauczyciel po dawałby etykiety kategorii dla interesujących ucznia przykładów. Za każdym ra zem analizując aktualną przestrzeń wersji powinien on proponować przykład po krywany i nie pokrywany przez mniej więcej taką samą liczbę wchodzących w jej skład hipotez. 26
W ogólnym przypadku jednak możemy mieć do czynienia z sytuacją, kiedy algorytm inkrementacyjnego uczenia się produkuje różne hipotezy, obserwując te same przykłady w różnej kolejności.
128
ROZDZIAŁ 2. UCZENIE SIĘ INDUKCYJNE
Przykład 2.33 (Figury geometryczne). W celu zilustrowania powyższej dysku sji weźmy pod uwagę stosowanie algorytmu CAE do zbioru przykładów T5 dla dzie dziny figur geometrycznych, zamieszczonego w tabl. 2.2e. Po uwzględnieniu pierw szego przykładu trenującego, z wektorem wartości atrybutów (duży, czerwony, koło), zostanie uzyskana przestrzeń wersji, która jest od strony hipotez szczegółowych i ogól nych ograniczana odpowiednio przez zbiory: S — {(duży, czerwony, koło)}, G = {(?,?,?>}. Zauważmy, że kolejny przykład ze zbioru T5, opisany przez wektor wartości atry butów (duży, niebieski, koło), jest pokrywany przez dokładnie 4 spośród 8 hipotez wchodzących w skład tej przestrzeni wersji. Jest to przykład negatywny, po uwzględ nieniu którego otrzymuje się przestrzeń wersji o ograniczeniach: S — {(duży, czerwony, koło)}, G — {{?, czerwony, ?)}, która zawiera 4 hipotezy, czyli jest o połowę mniejsza od poprzedniej. Gdyby przykład ten był przykładem pozytywnym, przestrzeń wersji również zostałaby zredukowana o połowę i byłaby ograniczana przez zbiory S = {(duży,?, koło)}, G = {,?,?>}. Czytelnik zechce samodzielnie sporządzić odpowiedni rysunek. 2.4.7
Obciążenie algorytmu C A E
Obciążenie algorytmu eliminacji kandydatów ma oczywiście charakter obciążenia reprezentacji. Uczeń zakłada tu, że c e H, czyli że pojęcie docelowe może być reprezentowane w jego przestrzeni hipotez. Przy tym założeniu oraz pod warun kiem dostępności dostatecznie wielu przykładów trenujących hipoteza generowa na przez ucznia jest przez te przykłady jednoznacznie wyznaczana i identyczna z pojęciem docelowym. Zauważmy, że jeśli H jest zbiorem wszystkich hipotez dopuszczalnych dla danej dziedziny i określonych na niej atrybutów, czyli algo rytm CAE nie wprowadza dodatkowego obciążenia poza tym, które wynika ze sposobu opisu przykładów, to do uzyskania jego zbieżności, przy założeniu, że C G H zbiór trenujący musi zawierać przykład z każdą możliwą kombinacją war tości atrybutów. Usunięcie obciążenia pozbawia więc ten algorytm zdolności do generalizacji przykładów trenujących.
2.5
Zagadnienia praktyczne
Rozdział, do którego końca się zbliżamy, ma w większej części charakter teo retyczny i służy jako przygotowanie do następnych bardziej praktycznych roz-
2.5. ZAGADNIENIA PRAKTYCZNE
129
działów. Również algorytm eliminacji kandydatów, choć może być wykorzystany do tworzenia systemów uczących się pojęć, nie ma obecnie większego znaczenia praktycznego. Decydują o tym dwa główne powody: pierwszy wiąże się z efek tywnością obliczeniową, a drugi z odpornością na niepoprawne dane trenujące. O nakładzie obliczeń algorytmu decyduje rozmiar osiągany w trakcie jego działania przez ogólne i szczegółowe ograniczenia konstruowanej przestrzeni wer sji. Mogą się one powiększać w miarę przetwarzania kolejnych przykładów w wy niku operacji specjalizacji i generalizacji, które zastępują jedną, odpowiednio zbyt ogólną lub zbyt szczegółową hipotezę, jedną lub większą liczbą hipotez. Zakła dają one jednak w omawianej wersji algorytmu dość prostą reprezentację hipotez jako pojedynczych kompleksów, silnie ograniczającą rozmiar przestrzeni hipotez, a tym samym również przestrzeni wersji i jej ograniczeń. Aby się o tym przekonać, weźmy pod uwagę pewną dziedzinę, na której określonych jest n atrybutów nomi nalnych. Niech zbiór wartości każdego z nich liczy dokładnie m elementów. Jeśli przyjmiemy teraz, że dziedzina zawiera wszystkie przykłady o różnych opisach za pomocą tych atrybutów, to otrzymujemy oczywiście \X\ = nm. Rozważmy obec nie klasę C złożoną ze wszystkich pojęć (pojedynczych), jakie można określić na dziedzinie X. Jej rozmiar wynosi |C| = 2l x ' = 2 n "\ Tymczasem rozmiar prze strzeni hipotez H reprezentowanych przez kompleksy wynosi w tym przypadku, jak nietrudno zauważyć, nie więcej niż (2 m ) n — 2mn 21. Czytelnik zechce samo dzielnie przekonać się o skali różnicy, jaka występuje między rozmiarem C i IHI dla różnych wartości m i n. Jeśli, chcąc dodatkowo zaoszczędzić na obliczeniach, ograniczymy się do kompleksów nie zawierających selektorów dysjunkcyjnych, to otrzymamy |H| = (m + l ) n . Widać jak bardzo przeważająca część naszej klasy pojęć nie może być reprezentowana za pomocą ograniczonej w ten sposób prze strzeni hipotez. Tymczasem w przypadku silniejszej reprezentacji, na przykład do puszczającej hipotezy będące alternatywami pewnej liczby kompleksów, wzrost rozmiarów zbiorów S i G może być znacznie bardziej dramatyczny. Mamy więc do czynienia z wyraźnym konfliktem między poszerzaniem przestrzeni hipotez, bez czego może nie być możliwe nauczenie się wielu interesujących nas pojęć, a ograniczaniem kosztów obliczeniowych algorytmu CAE. To właśnie ten konflikt jest najważniejszą przeszkodą w jego praktycznym wykorzystaniu. Drugi zasadniczy mankament algorytmu eliminacji kandydatów, który elimi nuje go jako kandydata do większości realnych zastosowań, to zarazem jego naj bardziej fundamentalna właściwość. Algorytm ten konstruuje przestrzeń wersji, a więc wynikiem jego działania jest zawsze hipoteza (jeśli osiągnie zbieżność) lub zbiór hipotez spójnych z przykładami trenującymi, jeśli zaś w przyjętej przestrzeni żadnej takiej hipotezy nie ma, algorytm ten zawodzi. Jest to zatem spójny algorytm 27
Jcst to w istocie oszacowanie zawyżone, gdyż nie uwzględnia identyczności wszystkich hipotez reprezentowanych przez kompleksy zawierające co najmniej jeden selektor pusty. Dokładnie mamy |H| = (2 m - l ) n + l.
130
ROZDZIAŁ 2. UCZENIE SIĘ INDUKCYJNE
uczenia się. Ta z pozoru zupełnie niewinna, a nawet korzystna cecha, w praktyce okazuje się bardzo poważnym ograniczeniem. Rzecz w tym, że algorytm elimina cji kandydatów nie ma elastyczności algorytmów quasi-spójnych — w przypadku nieznalezienia spójnej hipotezy nie zwraca hipotezy o najmniejszym błędzie na zbiorze trenującym ani jakiejkolwiek innej hipotezy o niewielkim błędzie, lecz po prostu zawodzi. Taka „pryncypialność" właściwa spójnym algorytmom uczenia się jest niekorzystna z dwóch powodów, zresztą ze sobą związanych. Po pierwsze, nie pozwala ona na uczenie się przybliżenia pojęcia docelowego za pomocą ograniczo nej, nie zawierającej go przestrzeni hipotez, co zgodnie z prowadzoną w poprzed nim akapicie dyskusją mogłoby być pożądane ze względów efektywnościowych. Po drugie, wystąpienie w zbiorze trenującym przekłamań, takich jak niepopraw ne wartości atrybutów lub etykiety niektórych przykładów, z czym w praktycznych zastosowaniach często należy się liczyć, spowoduje, że algorytm nawet wyposażo ny w dostatecznie dużą przestrzeń hipotez może zawieść ze względu na wynikają ce z tych przekłamań niespójności. Wystarczy, aby na skutek przekłamań przykład o identycznych wartościach wszystkich atrybutów pojawił się dwukrotnie, raz jako pozytywny i powtórnie jako negatywny, aby algorytm zakończył działanie, dając w wyniku pustą przestrzeń wersji. W następnych rozdziałach zobaczymy, że od praktycznych algorytmów uczenia się oczekujemy odporności na tego typu sytu acje, sprowadzającej się do zwracania hipotez o możliwie małym błędzie próbki w przypadku niemożliwości osiągnięcia hipotezy spójnej. Zobaczymy jednak tak że, że hipotezy niespójne są czasem nie tylko tolerowane, ale wręcz preferowane, jeśli na ich korzyść zgodnie z zasadą brzytwy Ockhama przemawia prostota.
2.6 Zagadnienia implementacyjne Z implementacją algorytmu eliminacji kandydatów nie wiążą się żadne szczegól ne problemy implementacyjne, jakimi warto byłoby zaprzątać uwagę czytelnika. Warto jednak wykorzystać tę okazję do wspomnienia o pewnych podstawowych kwestiach dotyczących implementacji dowolnych algorytmów indukcyjnego ucze nia się i tworzenia pojęć, a często także uczenia się aproksymacji funkcji, do któ rych dzięki temu nie będziemy musieli wracać w kolejnych rozdziałach. 2.6.1
Reprezentacja informacji o atrybutach
W praktyce zazwyczaj atrybuty mają symboliczne nazwy o interpretacji związanej z dziedziną, której dotyczą. Tak było w przedstawionych w tym rozdziale przykła dach dziedziny figur geometrycznych, stanów pogody czy modeli samochodów. W przypadku atrybutów dyskretnych także wartości są zazwyczaj symbolicznymi nazwami. Dotyczy to również najczęściej kategorii pojęcia docelowego, zwłasz cza dla pojęć wielokrotnych. Implementując indukcyjny system uczący się należy
2.7. PODSUMOWANIE
131
w związku z tym zapewnić możliwość definiowania nazw atrybutów, ich typów i wartości, kategorii pojęcia docelowego oraz wykorzystywania tych informacji przy wprowadzaniu danych trenujących i wyprowadzaniu uzyskanej hipotezy. Na zwy takie, mające postać łańcuchów znakowych, byłyby jednak niewygodne do przetwarzania w trakcie uczenia się ze względu na niezbędną do ich przechowy wania ilość pamięci oraz zależny od długości napisów koszt ich porównywania, które jest operacją często występującą w różnych algorytmach indukcji. Do iden tyfikacji atrybutów, dyskretnych wartości i kategorii rozsądne jest zatem używanie ich numerów porządkowych, czyli liczb całkowitych. Odwzorowanie tych liczb na odpowiednie nazwy symboliczne (i odwrotnie) niezbędne do wprowadzania przy kładów i wyprowadzania hipotez powinno być przeprowadzane za pomocą odpo wiedniego wykazu symboli. Efektywność tego odwzorowania nie jest zazwyczaj bardzo istotna, więc mogą być w tym celu wykorzystane zwykłe tablice napisów, chociaż w razie potrzeby można sięgnąć po umożliwiające szybkie wyszukiwanie tablice z kodowaniem mieszającym lub struktury drzewiaste. 2.6.2
Reprezentacja przykładów
Dysponując mechanizmem odwzorowania nazw i wartości atrybutów na ich nu mery porządkowe, przykłady możemy reprezentować za pomocą wektorów liczb całkowitych (dla atrybutów nominalnych i porządkowych) lub zmiennopozycyj nych (dla atrybutów ciągłych). Może to być wielokrotnie bardziej ekonomiczne pamięciowo niż przechowywanie symbolicznych wartości atrybutów bezpośred nio jako łańcuchów znakowych.
2.7
Podsumowanie
S-> Wiedza pozyskiwana indukcyjnie ma najczęściej charakter odwzorowań okre ślonych na pewnej dziedzinie, której elementami są przykłady opisywane za pomocą atrybutów. S-> Trzy główne odmiany indukcyjnego uczenia się to uczenie się pojęć, czyli klasyfikacji przykładów, tworzenie pojęć, czyli grupowanie przykładów, oraz uczenie się aproksymacji funkcji. W każdym przypadku zadaniem ucznia jest wybór, na podstawie zbioru trenującego, hipotezy o pożądanych właściwo ściach. 4-> Ze względu na sposób podawania przykładów trenujących można wyróżnić różne tryby uczenia się: inkrementacyjny, epokowy, wsadowy i korekcyjny. <\-> Obciążenie indukcyjne determinuje wybór hipotezy, jeśli informacja trenująca i ewentualna wiedza wrodzona nie wyznaczają jej jednoznacznie. Może mieć ono postać obciążenia reprezentacji lub obciążenia preferencji.
132
ROZDZIAŁ 2. UCZENIE SIĘ INDUKCYJNE
°r^ Obliczeniowa teoria uczenia się analizuje algorytmy i zadania indukcyjnego Liczenia się ze względu m.in. na ich złożoność, szanse sukcesu i wymaganą liczbę przykładów. °N Hipotezy indukcyjne mogą być oceniane ze względu na różne kryteria, z któ rych największe znaczenie ma błąd próbki i błąd rzeczywisty. Błąd rzeczywi sty nie jest na ogół znany, ale pod pewnymi warunkami może być oszacowany na podstawie błędu próbki. ^ PAC-nauczalność klasy pojęć oznacza istnienie algorytmu, który z dowolnie dużym prawdopodobieństwem może nauczyć się dowolnego pojęcia z tej klasy z dowolnie małym błędem rzeczywistym.
2.8
Uwagi historyczne i bibliograficzne
Z całą pewnością zadanie indukcyjnego uczenia się jest znacznie starsze niż sam ten termin oraz cala szersza związana z nim siatka konwencji terminologicznych. Nie odwołujemy się tym stwierdzeniem dofilozoficznychi metodologicznych dys kusji na temat wnioskowania indukcyjnego, o których była mowa w poprzednim rozdziale, lecz raczej do pierwszych sztucznych systemów uczących się, które miały charakter indukcyjny, chociaż nie określano ich wówczas w ten sposób. W istocie bowiem uczenie się indukcyjne zajmuje centralne miejsce w badaniach nad maszynowym uczeniem się od ich zarania. Do pierwszych systemów uczących się klasyfikacji na podstawie przykładów należały perceptrony, czyli jednokierun kowe warstwowe sieci neuronowe. Wczesne badania nad nimi są m.in. opisane w pracach [156, 158]. W dalszym ciągu większość modeli sieci neuronowych jest wykorzystywana do uczenia się indukcyjnego w każdej z trzech jego zasadniczych
2.8. UWAGI HISTORYCZNE I BIBLIOGRAFICZNE
133
odmian, jakie wyróżniliśmy. Najbardziej reprezentatywnym przeglądem tej tema tyki pozostaje książka Hertza, Krogha i Palmera [98], lecz czytelnikowi, zainte resowanemu bardziej zwięzłym i mniej zagłębiającym się w szczegóły wprowa dzeniem do uczących się sieci neuronowych, można polecić przeglądowy artykuł Hintona[99]. Trudno dokładnie określić, kiedy zaczęto nie tylko zajmować się indukcyjnym uczeniem się, lecz także mówić o nim w sposób zbliżony do tego, jaki przedstawio no w tym rozdziale. Dotyczy to zwłaszcza momentu, kiedy uczenie się klasyfikacji zaczęło być nazywane uczeniem się pojęć. Mamy tu do czynienia z przeniesieniem terminu nietechnicznego w obszar badań o charakterze technicznym, co raczej nie mogło się dokonać przypadkowo i bezrefleksyjnie. Być może, w tym samym cza sie w słowniku naukowców zajmujących się systemami uczącymi się pojawiła się indukcja. Przypuszczalnie nie było to wcześniej niż w końcu lat sześćdziesiątych, być może za sprawą pionierskich badań Hunta, Marina i Stonesa [103], o których w poprzednim rozdziale już wspomnieliśmy jako o inspiracji dla wczesnych sym bolicznych systemów uczących się. W latach siedemdziesiątych ten indukcyjny słownik się rozszerzał i rozpowszechniał, aby u ich kresu i na początku kolejnej dekady być już w powszechnym użyciu [162, 148]. Standardem stało się pisanie o pojęciach i klasach pojęć oraz hipotezach i przestrzeniach hipotez. Ponieważ przyjęcie badania nad systemami uczącymi się indukcyjnej termino logii zbiegło się w czasie z upadkiem wczesnej ekscytacji sieciami neuronowymi i zdecydowanie przesunęło zainteresowania w stronę systemów symbolicznych, przez długi czas indukcyjne uczenie się utożsamiano tylko z uczeniem się pojęć, pozostawiając poza tym kręgiem tematycznym w szczególności zadanie uczenia się aproksymacji funkcji. Zadanie to było oczywiście badane, lecz jako istotnie odmienny paradygmat uczenia się, bez znaczącego przenikania ludzi ani idei z ba daniami nad uczeniem się pojęć. Zmianę tego stanu rzeczy i początek szerszego spojrzenia na uczenie się indukcyjne należy przypuszczalnie zlokalizować cza sowo w pierwszej połowie lat osiemdziesiątych. W tym też okresie jako zadanie indukcyjnego uczenia się zaczęło być traktowane grupowanie [153]. Trzeba jed nak lojalnie przyznać, że nazywanie tego rodzaju uczenia się tworzeniem pojęć jest bardziej przejawem przyjętego w tej książce dążenia do systematyzacji i ujed nolicania terminologii niż zwyczajem powszechnie przyjętym w literaturze przed miotu. Praca Hausslera [95] stanowi obszerne studium dotyczące roli indukcyjnego obciążenia w uczeniu się. Rolę obciążenia w indukcyjnym uczeniu się zaakcen tował Mitchell [162], który także po raz pierwszy konsekwentnie przedstawiał uczenie się jako przeszukiwanie przestrzeni hipotez. W tym samym niezwykle ważnym artykule zdefiniował przestrzeń wersji i podał algorytm eliminacji kan dydatów. Z jego artykułu pochodzi także dziedzina figur geometrycznych, którą wykorzystywaliśmy w przykładach. Dziedzina stanów pogody, która nie raz nam
134
ROZDZIAŁ 2. UCZENIE SIĘ INDUKCYJNE
się jeszcze przyda w kolejnych rozdziałach, oraz przykładowy zbiór trenujący dla tej dziedziny, po raz pierwszy były przypuszczalnie wykorzystane przez Quinlana [204], lecz od tego czasu pojawiły się w wielu innych artykułach i książkach i na brały charakteru na tyle klasycznego, że posłużenie się nimi również w tej książce wydaje się jak najbardziej uzasadnione. Szacowanie błędów hipotez to typowy przykład wykorzystania w maszyno wym uczeniu się wyników ze statystyki. Czytelników zainteresowanych pogłębie niem swojej znajomości metod statystycznych możemy odesłać do dobrego pod ręcznika wprowadzającego [109]. Przedstawiliśmy najbardziej elementarne osza cowania. Oprócz oceny jakości i porównywania hipotez godne zainteresowania i ważne praktycznie jest nie omawiane przez nas bardziej złożone zagadnienie po równywania różnych algorytmów indukcyjnego uczenia się dla danego pojęcia do celowego ze względu na jakość uzyskiwanych przez nie hipotez. Jest to przedmiot dość aktywnej debaty w środowisku maszynowego uczenia się, gdyż poprawność przyjętych procedur porównawczych ma znaczenie dla oceny publikowanych wy ników badań eksperymentalnych. Jedną z najważniejszych wypowiedzi w tej de bacie jest artykuł Diettericha [66]. Stosunkowo krótki jest rodowód teoretycznych badań nad indukcyjnym ucze niem się, czyli obliczeniowej teorii uczenia się. Model PAC w swojej pierwszej postaci został wprowadzony przez Valianta [271]. Od tego czasu mamy do czy nienia z ich konsekwentnym rozwojem, a istniejące otwarte problemy pozwalają sądzić, że nie grozi im zaniknięcie. Wiele podstawowych rezultatów z tego zakre su zawiera artykuł Blumera i innych [23]. W tym rozdziale znalazły się jedynie najbardziej elementarne z nich. Pominięte przez nas dowody twierdzeń 2.3 i 2.4 można znaleźć, odpowiednio, w pracach [23] i [75]. Tylko w ramach modelu PAC bada się wiele różnych interesujących przy padków, o których nie było tu mowy, w szczególności zakładając przekłamania w zbiorze trenującym, bądź losowe, bądź wynikające z interwencji złośliwego „przeciwnika". Istnieją też bardzo interesujące związki między zagadnieniami PAC-nauczalności niektórych klas pojęć a teoretycznymi problemami kryptogra fii. Dokładniej, pewne nie udowodnione założenia, na których opierają się znane systemy szyfrowania z kluczem publicznym, pociągają za sobą PAC-nienauczalność odpowiednich klas pojęć. Gdyby z kolei dla tych klas pojęć istniał algorytm PAC-uczenia się, mógłby być wykorzystany do łamania tego rodzaju szyfrów. Wy niki te określa się mianem kryptograficznych ograniczeń indukcyjnego uczenia się [115]. Niestety, literatura poświęcona obliczeniowej teorii uczenia się jest dość mało przystępna dla czytelników pozbawionych dostatecznego treningu matema tycznego. Dydaktyczny tekst Simona [243] na temat modelu PAC można polecić jako dobrą lekturę na rozpoczęcie studiowania tej tematyki. Stamtąd został za czerpnięty przykład PAC-uczenia się dla klasy pojęć reprezentowanych przez pro stokąty.
135
2.9. ĆWICZENIA
2.9 Ćwiczenia Ćwiczenie 2.1. Zapisz wzór określający błąd rzeczywisty dla dziedziny punktów na płaszczyźnie oraz klasy pojęć i przestrzeni hipotez reprezentowanych przez prosto kąty, o którym była mowa w przykładzie 2.17, w zależności od współrzędnych wierz chołków reprezentujących pojęcie i hipotezę. Załóż, że dziedziną jest kwadrat jed nostkowy [0,1] x [0,1], a Q jest jednostajnym rozkładem prawdopodobieństwa na tej dziedzinie. Ćwiczenie 2.2. Dla dziedziny stanów pogody z przykładu 2.4 i zbioru przykładów z tabl. 2.2 podaj błąd próbki hipotezy zdefiniowanej następująco: J 1 jeśli aura(x) = pochmurnaW temperatura(x) ^ ciepła, | 0 w przeciwnym przypadku. Przy założeniu, że dziedzina składa się wyłącznie z 3 • 3 • 2 • 2 przykładów rozróżnia nych za pomocą określonych na niej atrybutów, wyznacz błąd rzeczywisty hipotezy h względem pojęcia docelowego zdefiniowanego następująco: (1 I1 I1 [0
jeśli aura(x) = pochmurna, jeśli aura{x) = słoneczna A wilgotność(x) = normalna, jeśli aura(x) — deszczowa A wiatr(x) = słaby, w przeciwnym przypadku
oraz następujących rozkładów prawdopodobieństwa na dziedzinie: 1) rozkładu Qi przypisującego wszystkim przykładom jednakowe prawdopodobień stwo wylosowania, 2) rozkładu Q-2 przypisującego przykładom, dla których atrybut aura ma wartość słoneczna, jednakowe prawdopodobieństwa wylosowania dwukrotnie większe niż również jednakowe prawdopodobieństwa przypisywane pozostałym przykładom. Ćwiczenie 2.3. Podaj dowolny spójny algorytm uczenia się dla klasy pojęć reprezento wanych przez koniunkcje boolowskie i identycznej z nią przestrzeni hipotez, działają cy w czasie co najwyżej wielomianowo zależnym od liczby przetwarzanych przykła dów i rozmiaru pojęcia docelowego. Ćwiczenie 2.4. Podaj dowolny quasi-spójny algorytm uczenia się dla klasy pojęć repre zentowanych przez dowolne funkcje boolowskie i przestrzeni hipotez reprezentowa nych przez koniunkcje boolowskie. Ćwiczenie 2.5. Określ przedział ufności dla błędu rzeczywistego ograniczony jedno stronnie, czyli wyznacz wartość z$ w poniższej nierówności:
*hW <ecP(h)+zd9 jeśli ma ona być spełniona z prawdopodobieństwem 1 — 5 dla dowolnego pojęcia c, dowolnej hipotezy h, dowolnego rozkładu Q i dowolnego zbioru przykładów P wy branych zgodnie z tym rozkładem niezależnie od hipotezy h.
136
ROZDZ1AŁ2. UCZENIESIĘ INDUKCYJNE
Ćwiczenie 2.6. Na podstawie błędu próbki wyznaczonego w ćwiczeniu 2.2 określ prze dział ufności, do którego z prawdopodobieństwem co najmniej 0,95 należy wartość odpowiedniego błędu rzeczywistego, zakładając rozkład prawdopodobieństwa H na dziedzinie identyczny z tym, według którego wybrano przykłady z tabl. 2.2, i pomija jąc fakt, że ich zbyt mała liczba nie pozwala na wiarygodne szacowanie tego błędu. Ćwiczenie 2.7. Podaj algorytmy uczenia się, które mogły wygenerować hipotezy poda ne w przykładzie 2.30 na podstawie wykorzystywanego tam zbioru trenującego. Ćwiczenie 2.8. Wykaż, że wymiar VC dla rozważanej w przykładzie 2.26 przestrzeni hipotez reprezentowanych przez hiperpłaszczyzny wynosi w ogólnym przypadku n+1 dla dowolnego n J> 1. Ćwiczenie 2.9. Wykaż, że wymiar VC dla rozważanej w przykładzie 2.27 przestrzeni hipotez reprezentowanych przez hiperprostopadłościany wynosi w ogólnym przypad ku 2n dla dowolnego n ^ 1. Ćwiczenie 2.10. Wykaż, że wymiar VC dla rozważanej w przykładzie 2.28 przestrzeni hipotez reprezentowanych przez koniunkcje boolowskie wynosi w ogólnym przypad ku n dla dowolnego n ^ 1. Ćwiczenie 2.11. Określ, jak zmieni się wymiar VC dla przestrzeni hipotez reprezento wanych przez koniunkcje boolowskie po następujących modyfikacjach tej przestrzeni; 1) przyjęcie możliwości jednoczesnego występowania tego samego atrybutu w koniunkcji w literale pozytywnym i negatywnym, 2) uzupełnienie przestrzeni hipotez o dodatkową hipotezę nie pokrywającą żadnego przykładu. Ćwiczenie 2.12. Rozważ, czy twierdzenie 2.6 jest prawdziwe również w przypadku, gdy zarówno dziedzina, jak i przestrzeń hipotez są nieskończone, oraz czy przedsta wiony dowód tego twierdzenia zachowuje w tym przypadku poprawność. Ćwiczenie 2.13. Zapisz operacje generałizacji i specjalizacji dla algorytmu eliminacji kandydatów przy założeniu, że hipotezy są reprezentowane przez: 1) pojedyncze kompleksy, 2) zbiory kompleksów. Ćwiczenie 2.14. Posługując się algorytmem większości, wykorzystaj przestrzeń wersji dla dziedziny stanów pogody i przestrzeni hipotez reprezentowanych przez kompleksy ograniczaną przez zbiory S — {{?, ciepła, normalna, silny), (słoneczna, ?, duża, silny), (słoneczna, zimna, ?, silny)}, G = {,?, ?,siJny)},
137
2.9. Ć W I C Z E N I A
do klasyfikacji następujących przykładów: X
15 16 17 18
aura słoneczna deszczowa deszczowa —
temperatura wilgotność zimna duża ciepła normalna umiarkowana duża ciepła normalna
wiatr silny silny słaby silny
Ćwiczenie 2.15. Wykorzystaj przestrzeń wersji dla dziedziny modeli samochodów z przykładu 2.5 i przestrzeni hipotez reprezentowanych przez kompleksy ograniczaną przez zbiory S — {{?, umiarkowana, dobre, duża), (mały, umiarkowana, ?, przeciętna), (mały, umiarkowana, słabe, ?)}, G = {{?, umiarkowana, ?, ?)}, do klasyfikacji następujących przykładów: X
12 13 14 15
kiasa mały miejski kompakt duży
cena osiągi umiarkowana — — dobre umiarkowana dobre umiarkowana słabe
niezawodność mała duża duża przeciętna
posługując się algorytmem większości. Ćwiczenie 2.16. Uzupełnij przykład 2.32, śledząc i ilustrując graficznie kolejne etapy wyznaczania przestrzeni wersji dla zbiorów przykładów T2, T3, TĄ i T5. Ćwiczenie 2.17. Prześledź wyznaczanie przestrzeni wersji za pomocą algorytmu CAE na podstawie podanych w tabl. 2.1 zbiorów trenujących dla pojęć ci, C2, c3, c4 i c 5 , przy założeniu, że przestrzeń hipotez zawiera wszystkie hipotezy reprezentowane przez kompleksy zbudowane z selektorów pojedynczych, dysjunkcyjnych, uniwersal nych i pustych. Ćwiczenie 2.18. Zaimplementuj algorytm eliminacji kandydatów dla przestrzeni hipo tez reprezentowanych przez zbiory kompleksów, przyjmując, że hipoteza pokrywa wszystkie te i tylko te przykłady, które pokrywa dowolny kompleks z odpowiedniego zbioru.
Rozdział 3
Indukcja drzew decyzyjnych And did they get you to trade Your heros for ghosts, Hot ashesfor trees?] Pewnego dnia letniego, gdy konstruktor Trurl zajęty był przycinaniem gałązek cyberberysu, który hodował w swym ogródku, ujrzał zbliżającego się drogą oberwańca, litość i grozę pospołu budzącego swym wyglądem1.
Przegląd najważniejszych praktycznych algorytmów indukcyjnego uczenia się za czynamy od najlepiej znanych i najczęściej stosowanych algorytmów uczenia się pojęć, wykorzystujących drzewa decyzyjne do reprezentacji hipotez. W drzewie decyzyjnym węzły przechowują testy sprawdzające wartości atrybutów przykła dów, a liście przypisywane im kategorie. Dla każdego z możliwych wyników testu z węzła prowadzi odpowiadająca mu gałąź do pewnego poddrzewa. W ten spo sób mogą być reprezentowane dowolne dopuszczalne dla danego zestawu atrybu tów hipotezy. Punktem wyjścia tego rozdziału będzie przedstawienie takiej repre zentacji oraz przedyskutowanie jej zalet i ograniczeń. Następnie zostanie podany schemat zstępującego konstruowania drzewa na podstawie przykładów, którego konkretyzacjami są popularne algorytmy indukcji drzew decyzyjnych. Omówione będą najważniejsze rozstrzygnięcia prowadzące do takich konkretyzacji, dotyczą ce przede wszystkim kryterium wyboru testów do tworzonych węzłów drzewa, oparte na pewnych heurystykach wywodzących się z teorii informacji i statysty ki. Omówimy sposób traktowania atrybutów ciągłych w procesie budowy drzewa. Przedyskutujemy także problem nadmiernego dopasowania w kontekście drzew decyzyjnych i techniki przycinania drzew wykorzystywane do realizacji zasady brzytwy Ockhama. Rozdział zakończy dyskusja praktycznych aspektów stosowa nia algorytmów indukcji drzew decyzyjnych, takich jak postępowanie z dużymi zbiorami trenującymi i z przykładami o niekompletnym opisie, oraz kilka wskazó wek implementacyjnych.
1
Wish you were here (Pink Floyd: Wish You Werę Herę). Aliruizyna, czyli opowieść prawdziwa o tym, jak pustelnik Dobrycy kosmos uszczęśliwić zaprą gnał i co z lego wynikło. 2
3.1. DRZEWA DECYZYJNE JAKO HIPOTEZY
3.1
139
Drzewa decyzyjne jako hipotezy
Trudno określić rodowód koncepcji zapisywania wiedzy służącej do podejmowa nia decyzji za pomocą drzew decyzyjnych, ale z pewnością nie jest ona nowa i nie wywodzi się z badań nad systemami uczącymi się ani sztuczną inteligencją. Kon cepcja ta polega na reprezentowaniu sekwencji warunków wpływających na osta teczną decyzję przez ścieżki łączące korzeń drzewa z jego liśćmi wzdłuż kolej nych węzłów, odpowiadających sprawdzanym warunkom, i gałęzi, odpowiadają cych wynikom uzyskanym z ich sprawdzenia. Możemy się z nią spotkać w różnych dziedzinach, stosowaną w sposób naturalny i bez obaw o jej intuicyjną oczywi stość dla człowieka, który ma się wiedzą reprezentowaną w ten sposób posługi wać. Przystępując zatem do opisu drzew decyzyjnych w tej książce, możemy się spodziewać, że większość jej czytelników już się z nimi w jakiejś formie zetknęła. 3.1.1
Struktura drzewa
Przez drzewo decyzyjne rozumiemy strukturę, która ma zwykłe właściwości drze wa w znaczeniu, jaki temu słowu nadaje się w informatyce, jest więc strukturą złożoną z węzłów, z których wychodzą gałęzie prowadzące do innych węzłów lub liści, oraz z liści, z których nie wychodzą żadne gałęzie. Formalnie drzewo określa się jako dowolny spójny skierowany graf acykliczny, przy czym krawędzie takie go grafu są nazywane gałęziami, wierzchołki, z których wychodzi co najmniej jedna krawędź, są nazywane węzłami, a pozostałe wierzchołki — liśćmi. Najczę ściej przyjmuje się przy tym, że każdy wierzchołek ma co najwyżej jedną krawędź wchodzącą, a liczba krawędzi wychodzących wynosi 0 lub jest większa niż 1. Drzewo decyzyjne jest drzewem w powyższym sensie, którego węzły, gałę zie i liście mają dodatkowo pewną specjalną interpretację. Pierwsze odpowiadają testom przeprowadzanym na wartościach atrybutów przykładów, drugie odpowia dają możliwym wynikom tych testów, ostatnie zaś etykietom kategorii. Węzeł lub liść drzewa, który nie ma żadnych węzłów macierzystych, będziemy nazywać jego korzeniem. Wygodnie jest definiować struktury drzewiaste w sposób rekurencyjny i taką rekurencyjną definicję drzewa decyzyjnego przedstawiamy poniżej.
• DEFINICJA 3.1. Załóżmy, że dana jest dziedzina X, na której są określone atrybuty a\, a 2 , . . . , an oraz klasa pojęć C o zbiorze kategorii C. L Liść zawierający dowolną etykietę kategorii d E C jest drzewem decyzyj nym. 2. Jeśli t : X H-> Rt jest testem przeprowadzanym na wartościach atry butów przykładów o zbiorze możliwych wyników Rt = { r i , r 2 , . . . , r m } oraz Ti, T 2 , . . . , T m są drzewami decyzyjnymi, to węzeł zawierający test t,
140
ROZDZIAŁ 3. INDUKCJA DRZEW DECYZYJNYCH
z którego wychodzi rn gałęzi, przy czym dla i = 1, 2 , . . . , rn gałąź i-ta od powiada wynikowi i\ i prowadzi do drzewa T^ jest drzewem decyzyjnym.
0 W świetle tej definicji najprostsze możliwe drzewo decyzyjne składa się z jed nego liścia. Liście drzewa decyzyjnego zawierają decyzje, a więc w przypadku uczenia się pojęć — etykiety kategorii. Drzewo złożone z jednego liścia zawiera jącego etykietę d £ C reprezentuje zatem hipotezę h, która każdy przykład klasy fikuje jako należący do kategorii o tej etykiecie: (Vx € X) h(x) ~ d. Częściej jednak mamy do czynienia z bardziej skomplikowanymi drzewami, które zawierają także węzły. Jeśli drzewo nie jest tylko jednym liściem, to zgod nie z przedstawioną definicją możemy powiedzieć, że jest ono węzłem, z którego wychodzą gałęzie prowadzące do jego poddrzew (innych węzłów lub liści)3. Wę zeł może zawierać test — tak będziemy nazywać w ogólnym przypadku pewną funkcję, która przekształca przykłady w skończony zbiór wyników testu. Ponie waż przyjmujemy, że przykłady są opisywane przez wartości atrybutów, więc te sty są przeprowadzane właśnie na wartościach atrybutów przykładów. Jeśli zatem test t : X H> Rt jest testem na wartościach pewnego atrybutu a : X \~> A, to możemy go przedstawić jako funkcję t : A H-> Rt. Później podamy najczęściej stosowane rodzaje testów. Każdemu ze skończonej liczby możliwych wyników te stu odpowiada gałąź prowadząca z węzła do poddrzewa. Jeśli węzeł zawiera test t o zbiorze wyników Rt — {ri, r^ . . . , r m } , a odpowiadające im gałęzie prowadzą do poddrzew Ti, T2,. •., T m , to hipotezę reprezentowaną przez ten węzeł można dla każdego przykładu x G X zapisać następująco: I hi(x) x \h2(x) l( h{x) - < [hm{x)
jeśli t(x)
=ru
jeśli t(x) = r 2 , (3.1) jeśli t(x) = r m ,
przy czym h]Ji<2,---Jirn są odpowiednio hipotezami reprezentowanymi przez drzewa Ti, T 2 , . . . , T m . Powyższa definicja hipotezy h jest pełna (określona dla każdego x e X) pod warunkiem, że test t daje określony wynik ze zbioru Rt dla każdego przykładu dziedziny. Określiliśmy zatem w sposób rekurencyjny nie tylko, czym są drzewa decy zyjne (definiując ich „składnię"), lecz również pokazaliśmy, jak mogą być wyko rzystane do reprezentowania hipotez (czyli nadaliśmy im „semantykę"). Wyzna czenie kategorii przykładu za pomocą drzewa decyzyjnego polega na przejściu ^Mówienie, że węzeł lub liść jest drzewem decyzyjnym jest niezręczne językowo, lecz wygodne 7 formalnego punktu widzenia. Sformułowanie takie możemy traktować jako skrót odpowiednio stwierdzenia, że węzeł jest korzeniem drzewa i że drzewo składa się z jednego liścia.
3.1. DRZEWA DECYZYJNE JAKO HIPOTEZY
141
ścieżki od korzenia drzewa do jednego z liści, przez wykonywanie w odwiedza nych kolejno węzłach umieszczonych w nich testów i przemieszczanie się wzdłuż gałęzi odpowiadających uzyskiwanym wynikom. Liście mogą zawierać dowolne kategorie zarówno dla pojęć pojedynczych, jak i wielokrotnych. Wszystkie wła ściwości, które w poprzednim rozdziale przypisywaliśmy hipotezom, odnoszą się także do drzew decyzyjnych. Dotyczy to w szczególności spójności drzew decy zyjnych z pojęciem docelowym na zbiorze przykładów oraz, jeśli ograniczymy się do drzew dla pojęć pojedynczych, relacji porównywania ze względu na ogólność lub szczegółowość. Mówiąc o węzłach i liściach drzewa decyzyjnego wygodnie jest czasem od woływać się do poziomów, na których się znajdują. Przyjmiemy, że korzeń drzewa znajduje się na poziomie 0, jego węzły lub liście potomne, bezpośrednio połączo ne z nim gałęziami, znajdują się na poziomie 1, i w ogólnym przypadku węzły lub liście potomne węzła poziomu l znajdują się na poziomie l + 1. Maksymalny poziom liści drzewa jest nazywany jego głębokością. 3.1.2
Notacja dla drzew decyzyjnych
Dla drzewa decyzyjnego T będziemy w razie potrzeby oznaczać przez Nj zbiór jego węzłów oraz przez Lj zbiór jego liści. Zarówno podczas konstruowania drze wa, jak i po jego zakończeniu, z każdym węzłem i liściem można związać podzbiór zbioru trenującego lub innego dowolnego zbioru przykładów zawierający wszyst kie te i tylko te przykłady z tego zbioru, dla których dany węzeł lub liść zostanie osiągnięty podczas ich klasyfikacji. Będziemy mówić o nich jako o przykładach związanych z węzłem albo liściem lub odpowiadających węzłowi albo liściowi, bądź też odwrotnie, że węzeł albo liść jest związany ze zbiorem (albo odpowiada zbiorowi) przykładów. Możemy sformułować odpowiednie definicje następująco.
• DEFINICJA 3.2. Przykład x E X odpowiada liściowi (jest związany z liściem) 1 G Lj drzewa decyzyjnego T, jeśli w procesie klasyfikacji przykładu x za pomocą drzewa T osiągany jest ten liść. 0
•
DEFINICJA 3.3. Przykład x G X odpowiada węzłowi (jest związ,any z węzłem) n G N^ drzewa decyzyjnego T, jeśli węzeł ten znajduje się na ścieżce łączącej korzeń drzewa z liściem odpowiadającym przykładowi x. 0
Dla dowolnego przykładu x G l istnieje dokładnie jeden związany z nim liść drzewa T, który oznaczymy przez ljiX, oraz zbiór odpowiadających mu na różnych poziomach węzłów, który oznaczymy przez Nj^x. Dla dowolnego węzła n G Ny drzewa T i zbioru przykładów P C X jego podzbiór związany z n oznaczymy
142
ROZDZIAŁ 3. INDUKCJA DRZEW DECYZYJNYCH
przez Pjn oraz analogicznie dla dowolnego liścia 1 6 Ltf zbiór odpowiadających mu przykładów z P przez Pj \. Na szczęście nie będzie potrzeby korzystania z tej nieco niezręcznej notacji zbyt często. Można zapisać następujące oczywiste zależ ności: Ą > ={xeP\ne
NT,X},
(3.2)
Ą , i = { s € P | l = l T ,s}.
(3-3)
Dla dowolnego zbioru przykładów P i testu t będziemy się odwoływać do podzbiorów, na jakie zbiór P jest dzielony ze względu na różne wyniki testu t, za pomocą notacji rozszerzającej przyjęte w poprzednim rozdziale konwencje: Ptr = {x E P I t(x) = r } , d
d
Pt r =P D
Ptr,
deC,
r 6 Ą,
r€Rt.
(3.4) (3.5)
Wreszcie dla dowolnego węzła n drzewa decyzyjnego przez tn będziemy ozna czać związany z tym węzłem test, a dla każdego z jego możliwych wyników r G B.tn przez n[r] węzeł lub liść potomny, do którego prowadzi z węzła n ga łąź odpowiadająca wynikowi r. Z kolei dla dowolnego liścia 1 przez d\ oznaczymy związaną z tym liściem etykietę kategorii pojęcia docelowego. Wprowadzoną notację ilustruje rys. 3.1. Wewnątrz owalnych symboli węzłów są umieszczone oznaczenia odpowiadających im testów, z ich lewej strony ozna czenia samych węzłów, a z prawej strony zbiorów związanych z nimi przykładów. Podobnie dla liści wewnątrz prostokątnych symboli znajdują się oznaczenia ich etykiet kategorii, z lewej strony oznaczenia samych liści, a z prawej strony zwią zanych z nimi zbiorów przykładów.
Rys. 3.1. Notacja dla drzew decyzyjnych
143
3.1. DRZEWA DECYZYJNE JAKO HIPOTEZY
Przykład 3.1 (Pogoda). Dla dziedziny stanów pogody z przykładu 2.4 przykłado we drzewo decyzyjne przedstawia rys. 3.2. Łatwo się przekonać, że drzewo to jest spójne z pojęciem docelowym c z przykładu 2.15 na przedstawionym w tabl. 2.2 zbio rze trenującym T. Na rysunku zaznaczono podzbiory przykładów trenujących odpo wiadających wszystkim węzłom i liściom drzewa. Drzewo decyzyjne z rys. 3.2 możemy również zapisać w postaci tekstowej nastę pująco: aura-słoneczna: wilgotność=normalna: 1 wilgotność=duża: 0 aura-pochmurna: 1 aura-deszczowa: wiatr=słaby: 1 wiati^=silny: 0 W takim zapisie struktura drzewa jest uwidoczniona za pomocą wcięć poszczególnych wierszy. {1,2,3,4,5,6,7,8,9,10,11,12,13,14} aura słoneczna /^pochmurna
{1,2,8,9,11^/
{3,7,12,13}
deszczowa
{4^5,6,10,14} wiatr
{6,14}
Rys. 3.2. Drzewo decyzyjne dla stanów pogody
Drzewo jako reprezentacja zbioru reguł Regułom i metodom ich uczenia się jest poświęcony następny rozdział i w związ ku z tym spostrzeżenie, jakie chcemy tu teraz przedstawić, może wyglądać na nadmierne wybieganie w przód, dotyczy jednak kwestii na tyle prostej, że nie spo woduje to żadnej trudności dla czytelnika. Wystarczy nam tu bowiem zupełnie nieformalne określenie reguły jako wyrażenia postaci: JEŚLI warunki TO kategoria,
144
ROZDZIAŁ 3. INDUKCJA DRZEW DECYZYJNYCH
krócej zapisywanego jako warunki —> kategoria,
(3.6)
wyznaczającego kategorię przykładów, których wartości atrybutów spełniają po dane warunki, na ogół stanowiące koniunkcję pewnych warunków elementarnych. Zbiór reguł tej postaci może, tak jak drzewo decyzyjne, stanowić reprezentację pewnej hipotezy. Ponadto jednak drzewo decyzyjne w oczywisty sposób można potraktować jako reprezentację pewnego zbioru reguł. Rozważmy dowolne drzewo decyzyjne i pewną ścieżkę w tym drzewie, łą czącą korzeń z liściem zawierającym etykietę d 6 C. Załóżmy, że na tej ścieżce kolejno występują testy i i , i 2 , -. •, i m , a odpowiednie gałęzie odpowiadają wyni kom tych testów r\ £ R%x, r<2 G Rt2, .. • , r m G Rtm. Wówczas taka ścieżka jest równoważna z następującą regułą: tx{x) = n A t2{x) = r 2 A • • • A tm(x)
= rm -> d.
(3.7)
Ponieważ dla każdego liścia drzewa decyzyjnego można wskazać ścieżkę łączącą ten liść z korzeniem, więc określony w ten sposób zbiór ścieżek drzewa może być przekształcony w odpowiedni zbiór reguł, klasyfikujących wszystkie przykłady dziedziny w identyczny sposób jak to drzewo. To pozwala stwierdzić, że konwersja drzewa decyzyjnego do zbioru reguł jest zawsze możliwa, chociaż niekoniecznie celowa ze względu na pamięciową oszczędność reprezentacji lub jej czytelność. Najczęściej konwersję taką wykorzystuje się do przycinania, czyli zapobiegania nadmiernemu dopasowaniu, o czym będzie mowa dalej. Przykład 3.2 (Pogoda). Dla przedstawionego na rys. 3.2 drzewa klasyfikującego stany pogody można podać następujący równoważny zbiór reguł: aura(x) ~ słoneczna A wilgotność(x) — duża —> 0, aura(x) — słoneczna/\ wilgotność(x) — normalna ~¥ 1, aura(x) — pochmurna —> 1, aura(x) — deszczowa A wiatr(x) = silny —> 0, aura(x) — deszczowa /\ wiatr(x) = słaby —> 1. Czytelnik zechce sam ocenić, która z równoważnych reprezentacji tej samej hipotezy jest w tym przypadku bardziej czytelna.
3.1.3
Zalety i ograniczenia drzew decyzyjnych
Drzewa decyzyjne jako reprezentacja wiedzy o klasyfikacji są dość atrakcyjne i po pularność, jaką się cieszą wykorzystujące je algorytmy uczenia się pojęć, jest uza sadniona ich istotnymi zaletami. Po pierwsze, drzewa decyzyjne mogą reprezen-
3.1. DRZEWA DECYZYJNE JAKO HIPOTEZY
145
tować dowolnie złożone pojęcia pojedyncze i wielokrotne, jeśli tylko ich defini cje można wyrazić w zależności od atrybutów używanych do opisu przykładów. Mówiąc bardziej precyzyjnie, za pomocą drzewa decyzyjnego może być repre zentowana dowolna funkcja odwzorowująca wartości wszystkich określonych na dziedzinie atrybutów na zbiór kategorii, czyli dowolna dopuszczalna hipoteza. Pod względem „siły wyrazu" nie możemy oczekiwać więcej od żadnej innej reprezen tacji hipotez. Reprezentacja wykorzystująca drzewa jest przy tym, dla typowych pojęć, dość efektywna pamięciowo w porównaniu z innymi podejściami, chociaż obecnie nie jest to już specjalnie istotne. Ważniejsze i godne podkreślenia jest to, że drzewa decyzyjne umożliwiają niezwykle efektywną implementację procesu klasyfikowania przykładów, czyli stosowania hipotezy uzyskanej w wyniku ucze nia się. W celu wyznaczenia kategorii należy przejść ścieżkę od korzenia do liścia drzewa, co w typowym przypadku, gdy każdy test dotyczy wartości jednego atry butu i występuje co najwyżej raz na każdej ścieżce, wymaga czasu ograniczonego liniowo przez liczbę atrybutów. Tu również nie możemy nic lepszego od żadnej innej reprezentacji oczekiwać. Mimo tej korzystnej z obliczeniowego punktu wi dzenia właściwości drzewa decyzyjne, o ile nie są zbyt duże i złożone, pozostają formą reprezentacji wiedzy stosunkowo czytelną dla człowieka. Co więcej, wi dzieliśmy, że istnieje łatwa możliwość przejścia od drzewa decyzyjnego do repre zentacji regułowej uważanej przez niektórych za najbardziej czytelną. Chociaż w przedstawionych wyżej zaletach drzew decyzyjnych nie ma żadnej przesady, można jednak wskazać również pewne ich ograniczenia, dzięki którym (czy też przez które) jest to wprawdzie popularna, lecz nie jedyna metoda repre zentacji hipotez do uczenia się pojęć. Po pierwsze, wcześniejsze stwierdzenie, że drzewa decyzyjne umożliwiają zasadniczo reprezentację dowolnych hipotez, trze ba uzupełnić o mniej przyjemną uwagę, że w przypadku niektórych złożonych hipotez odpowiednie drzewa mogą być również bardzo złożone. Wprawdzie to sa mo można powiedzieć o większości metod reprezentacji wiedzy, lecz są powody, aby szczególnie zwrócić na to uwagę w przypadku drzew decyzyjnych. Wiąże się to z faktem, że stosowane testy na ogół sprawdzają wartości tylko pojedynczych atrybutów, tracąc w ten sposób szansę na wykorzystanie ewentualnych zależności między wartościami różnych atrybutów, co mogłoby prowadzić do sformułowania prostszej hipotezy. Dodatkowo, o ile koniunkcje warunków są w naturalny spo sób reprezentowane przez sekwencje testów wzdłuż pewnej ścieżki w drzewie, o tyle reprezentowanie alternatyw warunków jest bardziej kosztowne i może pro wadzić do znacznego rozrostu drzewa. Wreszcie drzewa decyzyjne stosowane do reprezentowania hipotez nie stwarzają łatwej możliwości ich inkrementacyjnego aktualizowania, czyli doskonalenia po poznaniu nowych przykładów. Wprawdzie istnieją algorytmy inkrementacyjnej indukcji drzew decyzyjnych, lecz charaktery zują się one większą złożonością i zazwyczaj umożliwiają uzyskanie drzew o gor szej jakości niż przy budowaniu ich w trybie wsadowym.
146
ROZDZIAŁ 3. INDUKCJA DRZEW DECYZYJNYCH
3.2 Zstępujące konstruowanie drzewa Istnieje wiele algorytmów uczenia się pojęć wykorzystujących drzewa decyzyj ne do reprezentacji hipotez. Zgodnie z ogólnym celem uczenia się indukcyjnego, dążą one do uzyskania drzewa decyzyjnego klasyfikującego przykłady trenujące z niewielkim błędem próbki i o możliwie niewielkim rozmiarze, w nadziei, że takie drzewo będzie miało również niewielki błąd rzeczywisty. Większość tych algorytmów, a w każdym razie te najlepiej znane i najczęściej stosowane, moż na przedstawić jako konkretne warianty pewnego wspólnego ogólnego schematu zstępującego konstruowania drzewa. Zgodnie z tym schematem budowa drzewa rozpoczyna się od podjęcia decyzji, czy ma ono być liściem czy węzłem, oraz od powiednio wyboru dla niego etykiety kategorii w pierwszym przypadku lub testu w drugim przypadku. Jeśli został utworzony węzeł, to poszczególnym wynikom testów odpowiadają gałęzie prowadzące z tego węzła do poddrzew skonstruowa nych zgodnie z tym samym schematem. Konkretne algorytmy różnią się kryteriami podejmowania wspomnianych wyżej dwóch decyzji: o utworzeniu liścia lub węzła oraz o wyborze testu dla węzła. Tak rozumiany schemat zstępującego konstruowania drzewa najwygodniej jest sformułować w postaci procedury rekurencyjnej. Założymy, że otrzymuje ona jako argumenty zbiór P etykietowanych przykładów pojęcia docelowego c, dla których ma być zbudowane drzewo, domyślną etykietę kategorii d przypisywaną tworzo nemu liściowi, jeśli właściwej etykiety nie można określić na podstawie zbioru P, oraz zbiór testów 5, jakie mogą być użyte w tworzonych węzłach. Szkic re kurencyjnej funkcji konstruowania drzewa decyzyjnego przedstawia algorytm 3.1, który będziemy też nazywać algorytmem TDIDT4. Operacja budowania drzewa dla zbioru trenującego T może być zapisana jako wywołanie: buduj-drzewo{T, arg max T d
I
,S),
(3.8)
jeśli postanowimy przyjąć za domyślną etykietę kategorii najliczniej reprezento wanej w zbiorze trenującym. Określeniem zawartości zbioru S branych pod uwagę testów zajmiemy się później. O utworzeniu przez podany schematyczny algorytm liścia lub węzła decyduje jego kryterium stopu. Jeśli jest ono spełnione, to jest tworzony liść 1 i na pod stawie etykietowanych przykładów ze zbioru P jest ustalana jego etykieta d\, na czym proces budowy drzewa się kończy. W przeciwnym przypadku jest tworzony węzeł n — dokonuje się wyboru testu tn ze zbioru S, a następnie dla każdego z jego możliwych wyników odpowiednia gałąź węzła prowadzi do poddrzewa, które jest budowane przez rekurencyjne wywołanie tej samej procedury. W wy wołaniu rekurencyjnym tworzącym poddrzewo, do którego ma prowadzić gałąź 4
Jest to skrót od terminu angielskiego Top-Down Induction ofDecision Trees.
3.2. ZSTĘPUJĄCE KONSTRUOWANIE DRZEWA
147
funkcja buduj-drzewo(P, d, S) I argumenty wejściowe: [
• P — zbiór przykładów etykietowanych pojęcia c, • d — domyślna etykieta kategorii, • S — zbiór możliwych testów;
I
zwraca: drzewo decyzyjne reprezentujące hipotezę przybliżającą c na zbiorze P; 1: jeśli kryterium-stopu{P, S) to 2: utwórz liść 1; 3: d\ :— kategoria{P,d); 4: zwróć 1; 5: koniec jeśli 6: utwórz węzeł n; | 7: tn :- wybierz-test(P,S)\ 8: d :— kategoria(P,d); 9: dla wszystkich r € Rtn wykonaj 10: n[r] := buduj-drzewo(Pttir,d: S — {tn})\ II: koniec dla 12: zwróć n. Algorytm 3.1. Schemat zstępującego konstruowania drzewa decyzyjnego odpowiadająca wynikowi r testu tn, przekazywany jako argument zbiór przykła dów zawiera wyłącznie te przykłady z P, dla których test tn daje wynik r. Z kolei zbiór pozostających do wykorzystania testów S jest pomniejszany o test tn, gdyż jego ponowne zastosowanie na niższym poziomie drzewa nie może już przynieść żadnych korzyści. Występujące w przedstawionym schemacie konstruowania drzewa operacje kryterium-stopu, kategoria i wybierz-test otwierają drogę do jego różnych kon kretyzacji. Obecnie przedyskutujemy najważniejsze możliwości realizacji każdej z tych operacji, najwięcej uwagi poświęcając ostatniej z nich, czyli wyborowi te stu, który ma decydujące znaczenie dla jakości uzyskiwanych drzew. 3.2.1
Kryterium stopu i ustalenie etykiety
Zauważmy, że przy każdym wywołaniu rekurencyjnym procedury budowy drze wa przekazywany jej zbiór przykładów ulega zmniejszeniu przez pozostawienie w nim jedynie przykładów, dla których test wybrany w poprzednio utworzonym węźle daje wynik odpowiadający wychodzącej z tego węzła gałęzi, dla której to wywołanie rekurencyjne ma zbudować poddrzewo. Zatem na coraz głębszych po ziomach rekursji, odpowiadających coraz większej odległości od korzenia drzewa, zbiór pozostających przykładów jest coraz mniejszy, jeśli są wybierane testy, które nie dają jednakowego wyniku dla wszystkich dostępnych przykładów, co jednak wydaje się jak najbardziej naturalnym postulatem. W miarę zmniejszania się licz-
148
ROZDZIAŁ 3. INDUKCJA DRZEW DECYZYJNYCH
by przykładów w pewnym momencie musi także nastąpić zmniejszanie się liczby różnych kategorii, jakie są przez te przykłady reprezentowane. Ta oczywista obser wacja prowadzi do najbardziej naturalnego kryterium zatrzymania rekurencyjnego procesu budowania drzewa. Powinno to ponad wszelką wątpliwość nastąpić, je śli przekazany jako argument wywołania zbiór przykładów jest pusty lub zawiera przykłady wyłącznie jednej kategorii. W pierwszym przypadku nie ma żadnych podstaw do wyboru testu dla kolejnego węzła, skoro nie ma przykładów, a w dru gim nie ma żadnej potrzeby tworzenia takiego węzła, skoro wszystkie dostępne przykłady należą do tej samej kategorii. W obu zatem przypadkach pozostaje je dynie utworzenie liścia. Naszkicowane podstawowe kryterium stopu możemy w bardziej sformalizo wany sposób zapisać następująco: P = 0 V \{df E C | {3x E P) c(x) = df}\ = 1,
(3.9)
przy czym C jest zbiorem kategorii rozważanej klasy pojęć. Jeśli prawdziwy jest drugi człon powyższej alternatywy, to tworzonemu liściowi należy oczywiście przypisać jedyną występującą w zbiorze P etykietę kategorii, wspólną dla wszyst kich przykładów z tego zbioru. Jeśli prawdziwy jest jej pierwszy człon, czyli w P nie ma w ogóle żadnych przykładów, to na ogół stosuje się kategorię domyśl ną, ustaloną jako najczęściej występująca (najliczniej reprezentowana) kategoria na bezpośrednio wcześniejszym poziomie rekursji, kiedy jeszcze zbiór P nie był pusty. W pierwszym przypadku operacja kategoria(P^d) powinna dać w wyniku jedyny element zbioru {d1 E C | (3x E P) c(x) = d!}9
(3.10)
w drugim zaś przypadku domyślną etykietę d przekazaną jako argument. Algo rytm 3.1 uwzględnia modyfikowanie domyślnej etykiety na kolejnych poziomach rekurencji. Pamiętamy jednak, że zbiór możliwych do wykorzystania testów również ule ga zmniejszeniu w miarę kolejnych wywołań rekurencyjnych, gdy są z niego usu wane już wykorzystane testy. Ponieważ początkowo jest to zbiór skończony, w czym upewnimy się niedługo omawiając sposób jego wyznaczania, może wy stąpić taka sytuacja, że na odpowiednio głębokim poziomie drzewa stanie się on zbiorem pustym, o ile wcześniej wzrost drzewa nie zostanie zatrzymany ze wzglę du na warunki podane wyżej. Oznaczałoby to, że zestaw dostępnych testów prze kazanych algorytmowi przy pierwszym wywołaniu okazał się niewystarczający do skonstruowania drzewa spójnego ze zbiorem trenującym. Zakładając, że począt kowo zbiór S zawierał testy wystarczające do rozróżniania wszystkich możliwych kombinacji wartości określonych na dziedzinie atrybutów, można wówczas stwier dzić, że występuje jedna z dwóch następujących możliwości:
3.2. ZSTĘPUJĄCE KONSTRUOWANIE DRZEWA
149
• zbiór trenujący nie jest poprawny i zawiera przekłamania, • zestaw atrybutów określonych na dziedzinie nie opisuje przykładów w dosta tecznym stopniu i w związku z tym przestrzeń hipotez jest zbyt uboga do re prezentowania pojęcia docelowego. W takiej sytuacji algorytm indukcji drzew decyzyjnych może bądź zgłosić nie możność nauczenia się pojęcia docelowego na podstawie dostarczonych mu przy kładów, bądź utworzyć liść opatrzony większościową etykietą dla zbioru P: yd>\ arg max pa
(3.11)
d>
godząc się z faktem, że powstałe drzewo nie będzie (gdyż nie może być) spójne z pojęciem docelowym na zbiorze trenującym. Niekiedy na utworzenie niespójnych liści możemy się zdecydować nie pod przymusem wynikającym z wyczerpania repertuaru testów przed osiągnięciem zbioru przykładów o jednolitej kategorii, lecz celowo rezygnując z tworzenia wę zła na rzecz liścia z etykietą kategorii większościowej, nawet jeśli dostępny jest jeszcze niepusty zbiór przykładów, wśród których są reprezentowane różne kate gorie, oraz niepusty zbiór testów możliwych do wykorzystania. Oczywiście kate goria większościowa powinna być wówczas wyraźnie dominująca. Pozostaje naj ważniejsze pytanie, kiedy warto się zadowolić takim niedokładnie klasyfikującym przykłady liściem zamiast większym, lecz dokładnie klasyfikującym drzewem. Dylemat ten zapewne przypomina uważnym czytelnikom dyskutowany w poprzed nim rozdziale problem nadmiernego dopasowania hipotez i zasadę brzytwy Ockhama jako sugerowane podejście do jego rozwiązywania. Niestety, podjęcie decyzji o wcześniejszym zakończeniu rozrostu drzewa we właściwym momencie okazuje się dość trudne. Można wskazać kilka dość prostych podejść, takich jak zatrzymy wanie rekurencji, gdy liczba elementów w aktualnym zbiorze przykładów P spad nie poniżej pewnego ustalonego minimum lub gdy najlepszy test według funkcji oceniającej używanej do wyboru testów ma jakość poniżej pewnego progu, lecz podejścia te nie prowadzą na ogół do uzyskania dobrych efektów. W związku z tym do kwestii zapobiegania nadmiernemu dopasowaniu drzew decyzyjnych wrócimy w dalszej części tego rozdziału, mówiąc o ich przycinaniu. Obecnie przyjmując, że niespójne liście mogą zostać utworzone tylko wtedy, kiedy nie ma innej możliwo ści, powyższe rozważania zamkniemy przedstawieniem następującego ostateczne go kryterium stopu: P = 0 V |{d' G C | {3x E P) c(x) = df}\ = 1 V S = 0
(3.12)
oraz odpowiadającej mu operacji wyboru kategorii liścia: kategoria(P,d) =
d ' arg max^'
jeśli P = 0, w przeciwnym przypadku,
(3.13)
150
ROZDZIAŁ 3. INDUKCJA DRZEW DECYZYJNYCH
zgodnie z którą dla P ^ 0 jest zawsze wybierana większościowa kategoria przy kładów ze zbioru P , która może być w szczególności jedyną występującą w nim kategorią. 3.2.2
Rodzaje testów
Operacja wyboru testu jest rdzeniem wszystkich algorytmów indukcji drzew de cyzyjnych opartych na schemacie zstępującej konstrukcji drzewa i to ona przede wszystkim decyduje o ich właściwościach. Jej zadaniem jest wybranie dla zbioru dostępnych przykładów testu, który jest najbardziej użyteczny do ich dokładnej klasyfikacji. Zanim przedstawimy najczęściej stosowane kryteria podejmowania tej kluczowej decyzji, musimy się zatrzymać nad możliwymi rodzajami testów, jakie chcemy wziąć pod uwagę. Ograniczymy się tutaj wyłącznie do testów operujących na wartościach poje dynczych atrybutów. Chociaż możliwość użycia w jednym teście wartości więk szej liczby atrybutów może prowadzić do prostszych drzew, odpowiedni dobór takich rozbudowanych testów jest znacznie trudniejszym problemem i jego reali zacja może być kosztowna. Rodzaje testów dla pojedynczych atrybutów zależą oczywiście od typów tych atrybutów. Ponieważ definiując problem indukcyjnego uczenia się pojęć w poprzednim rozdziale wskazaliśmy jako najbardziej podsta wowe trzy typy atrybutów: nominalne, porządkowe i ciągłe, podamy właściwe dla nich rodzaje testów. Testy dla atrybutów nominalnych Dla atrybutów nominalnych o skończonej (i najlepiej niezbyt wielkiej) liczbie war tości stosuje się najbardziej podstawowy rodzaj testów, polegający na sprawdzeniu wartości atrybutu. Wynikiem takiego testu jest po prostu wartość odpowiedniego atrybutu. Możemy napisać, że jeśli test i : X H-» Rt dotyczy wartości atrybutu a : X (-> A, to Rt = A i dla każdego przykładu x E X mamy t(x) = a(x), co oznacza faktyczne utożsamienie testu z testowanym przez niego atrybutem. Te sty tego rodzaju będziemy w związku z tym nazywać testami tożsamościowymi. Oprócz testów tożsamościowych dla atrybutów nominalnych można w zasadzie stosować również testy, które nazwiemy testami równościowymi. Test i : X \-> Rt jest testem równościowym dla atrybutu a : X i-» A7 jeśli jest on zdefiniowany dla każdego przykładu x E X następująco:
(
1
Jjeśli
a(x) V ; = v,
(3.14)
0 jeśli a(x) ^ v, przy czym v E A jest jedną z możliwych wartości atrybutu a. Wówczas oczywi ście Rt = {0,1}.
3.2. ZSTĘPUJĄCE KONSTRUOWANIE DRZEWA
151
Uogólnieniem testów równościowych są testy przynależnościowe, dla których definicja przyjmuje postać: ^ ) = (1 ^ M * ) ^ ' [0 jeśli a{x) #V,
(3.15)
przy czym V C A jest pewnym właściwym podzbiorem przeciwdziedziny atry butu a. Jednak większość znanych algorytmów indukcji drzew decyzyjnych stosu je dla atrybutów nominalnych wyłącznie testy tożsamościowe. Wynika to z dość oczywistego faktu, że testy równościowe nie wnoszą żadnego istotnego zwiększe nia „siły wyrazu" drzew decyzyjnych, czyli nie pozwalają na reprezentację żadnej hipotezy w znacząco prostszy sposób niż przy użyciu wyłącznie testów tożsamo ściowych, a zwiększając ze względu na mniejszy współczynnik rozgałęzienia głę bokość drzew zwiększają także koszt ich konstrukcji i klasyfikacji przykładów. Można wprawdzie argumentować, że jako testy binarne, dzielące zbiór przykła dów na dwa podzbiory, są bardziej „ostrożne" niż testy tożsamościowe, dzielące jednorazowo zbiór przykładów na większą liczbę podzbiorów, być może w nie najlepszy sposób, lecz ten ich potencjalny mankament może mieć poważniejsze znaczenie tylko dla atrybutów o szczególnie dużej liczbie wartości. Z kolei testy przynależnościowe, chociaż „siłę wyrazu" mogą poprawić upraszczając reprezen tację niektórych hipotez, znacznie zwiększają obliczeniową złożoność problemu wyboru testu, gdyż testów tego rodzaju może być bardzo dużo (ich liczba wykład niczo zależy od rozmiaru przeciwdziedziny atrybutu, którego dotyczą). Testy dla atrybutów porządkowych i ciągłych Dla atrybutów porządkowych o skończonej liczbie wartości mogą być stosowane wszystkie rodzaje testów podane wyżej dla atrybutów dyskretnych. Jest to w grun cie rzeczy podejście bardzo często spotykane. Traktowanie wszystkich atrybutów dyskretnych tak samo upraszcza algorytm konstruowania drzewa, lecz przez po mijanie relacji porządku określonej dla atrybutów porządkowych może pozbawić go możliwości uzyskania prostszych i bardziej dokładnych drzew. W przypadku atrybutów ciągłych jest możliwe stosowanie testów przynależno ściowych, w których podzbiorem przeciwdziedziny testowanego atrybutu jest pe wien przedział. W tym przypadku uporządkowanie wartości ciągłych jest uwzględ niane, pozostaje tylko wybór odpowiednich końców przedziału. Można jednak wykorzystać relację porządku określoną zarówno na wartościach atrybutów po rządkowych, jak i ciągłych, którą, nie zmniejszając ogólności rozważań, możemy w obu przypadkach oznaczać używając matematycznych symboli nierówności ^ i >, w jednakowy w obu przypadkach sposób. Polega on na porównywaniu war tości atrybutu z wybraną wartością z jego przeciwdziedziny za pomocą tych nie-
152
ROZDZIAŁ 3. INDUKCJA DRZEW DECYZYJNYCH
równości. Stosowany w tym celu rodzaj testów, które nazwiemy testami nierów nośćiowymi, odpowiada następującej definicji: (l t(x) — < [0
jeśli a(x)
^0,
(3.16)
jeśli a(x) > 0,
przy czym 6 G A jest pewną wartością progową z przeciwdziedziny atrybutu. Chociaż przedstawione dalej kryteria wyboru testu mogą być w zasadzie stosowa ne dla testów dowolnych rodzajów, będziemy mieć na uwadze przede wszystkim testy tożsamościowe i nierównościowe, jako najczęściej stosowane.
3.2.3
Kryterium wyboru testu
O ile kryterium stopu procedury budowy drzewa decyzyjnego odpowiada za jego dokładność (błąd próbki na zbiorze trenującym), o tyle o jego złożoności (czy po prostu rozmiarze) decyduje kryterium wyboru testu. Założymy, że dla tworzone go węzła jest pewien ustalony zbiór możliwych testów, z którego należy wybrać najlepszy, i w związku z tym jest potrzebna funkcja liczbowo oceniająca jakość testów. Dokładniej, w celu zrealizowania operacji wybierz-test dla zbioru etykie towanych przykładów P i dla każdego potencjalnego testu t będziemy poszuki wać wartości funkcji ^ ( J P ) oceniającej użyteczność zastosowania testu t dla zbio ru przykładów P. Wybór testu maksymalizującego wartość funkcji oceny „lokal nie", czyli niezależnie dla każdego węzła, oznacza stosowanie zachłannej strategii przeszukiwania, niekoniecznie prowadzącej do optymalnych „globalnie" drzew, których konstrukcja musiałaby jednak być nieporównanie bardziej kosztowna. Do sposobu, w jaki jest wyznaczany zbiór kandydujących testów, wrócimy później. Należy obecnie odpowiedzieć na pytanie, czym można kierować się ocenia jąc testy, aby ich wybieranie według tych ocen prowadziło do uzyskania prostych drzew. Nie będziemy przy tym formalizować intuicyjnego pojęcia prostoty drzew (rozumiejąc, że oznacza ona możliwie niedużą liczbę węzłów i liści, a przede wszystkim krótkie ścieżki od korzenia do liści), gdyż nie jest to obecnie potrzeb ne, chociaż do kwestii złożoności hipotez wrócimy jeszcze w rozdziale 5 i wów czas potraktujemy ją z większą ścisłością. Poprzestając zatem na nieformalnych rozważaniach intuicyjnych można powiedzieć, że „dobrym" testem jest test, któ rego użycie w pewnym węźle powoduje skrócenie prowadzących przez ten węzeł ścieżek do liści w porównaniu z „gorszymi" testami. Tak zaś będzie wówczas, gdy w poddrzewach, do których poprowadzą z naszego węzła gałęzie odpowia dające możliwym wynikom wybranego testu, trzeba będzie, przeciętnie, możliwie niewiele dalszych węzłów do zatrzymania procesu budowy drzewa i utworzenia opatrzonych etykietami kategorii liści. Ponieważ zaś przyjmujemy kryterium sto pu wymagające, by wszystkie dostępne przykłady lub przynajmniej ich wyraź na większość reprezentowała jedną wspólną kategorię, można dalej stwierdzić, że
3.2. ZSTĘPUJĄCE KONSTRUOWANIE DRZEWA
153
wysoko oceniany test powinien dzielić zbiór przykładów związanych z aktualnym węzłem na odpowiadające jego poszczególnym wynikom podzbiory, w każdym z których kategorie przykładów będą możliwie mało zróżnicowane. Warto w tym miejscu zauważyć, że obciążenie w algorytmach indukcji drzew decyzyjnych ma charakter obciążenia preferencji. Uczeń stosujący taki algorytm preferuje najprost sze hipotezy, które pasują do danych, przy czym prostota jest sprowadzana do optymalizacji kryterium wyboru testu w każdym węźle. Przyrost informacji Jeśli zgodzimy się z tak rozumianym nieformalnym kryterium oceny jakości te stów, pozostaje je sformalizować i nadać mu charakter funkcji oceniającej o licz bowych wartościach. Przydatnych w tym celu narzędzi matematycznych można poszukać między innymi w teorii informacji i statystyce. Najczęściej stosowane kryterium wyboru testu ma właśnie charakter teorioinformacyjny. Zgodnie z nim wybiera się test, którego zastosowanie do aktualnego zbioru przykładów daje naj większy przyrost informacji, co może być jednym z mierników małego zróżnico wania kategorii w podzbiorach uzyskiwanych przez zastosowanie testu. Informację zawartą w zbiorze etykietowanych przykładów P można wyrazić następująco: pd
P
przy czym logarytmy powinny być dwójkowe, jeśli zależy nam na uzyskaniu wy niku w bitach, lecz ich podstawa (byle konsekwentnie ta sama) nie ma znaczenia, jeśli, jak w naszym przypadku, chodzi tylko o porównywanie wartości. Łatwo za uważyć, że tak określona informacja jest duża wtedy, kiedy liczba przykładów poszczególnych kategorii jest w zbiorze P zbliżona. Z kolei entropię zbioru przy kładów P ze względu na wynik r testu t określa się jako P
Etr(P) =
1
E-TW1tr loS
dec
'^r|
pd tr
1
(3.18)
\rtr
co jest wartością dużą, jeśli wśród przykładów ze zbioru P , dla których test t daje wynik r, rozkład na kategorie jest równomierny. Wreszcie entropia zbioru przykładów P ze względu na test t jest definiowana jako średnia ważona entropia dla poszczególnych wyników tego testu: E P
t( ) = £ WEtr(P)r€Rt
' '
(3-19)
154
ROZDZIAŁ 3. INDUKCJA DRZEW DECYZYJNYCH
Ta wartość jest w związku z tym duża, gdy test t dzieli przykłady ze zbioru P na podzbiory, w których, przeciętnie, kategorie są reprezentowane równomiernie. Przykład 3.3 (Entropia dla dwóch kategorii). W interpretacji entropii pomaga rys. 3.3, przedstawiający wykres funkcji E(p) = -p\og2p(1 - p ) l o g 2 ( l -p). Dla
n
dwuelementowego zbioru kategorii C
{0,1}, przyjmując p = ,p| , otrzymujemy
I(P) = E(p), przyjmując zasp = K mamy Etr(P) — E(p). Maksimum osiągane \Pt, przez funkcję E dla p — | oznacza, że maksymalna entropia jest zawarta w zbio rze przykładów o równomiernym rozkładzie kategorii. Najmniejsze wartości funkcja E przyjmuje dla p bliskich 0 lub 1, co świadczy o tym, że informacja/entropia jest najmniejsza przy wyraźnej przewadze jednej kategorii nad drugą.
1
E(p)
1
1
0,8
i
0,6
H
0,4
\ -\
0,2 0
l
i
l
l
0,2
0,4
0,6
0,8
1
P Rys. 3.3. Wykres entropii E(p) = — p\og2p - (1 — p) log 2 (l — p) Przyrost Informacji wynikający z zastosowania testu t do zbioru przykładów etykietowanych P jest określony jako różnica:
gt(P)=I(P)-Et(P).
(3.20)
Przyjęcie $t(P) — 9t{P), czyli użycie przyrostu informacji jako kryterium wybo ru testu, oznacza realizację operacji wybierz-test przez wybór testu maksymalizu jącego przyrost informacji: argmax^(P).
(3.21)
Ponieważ jednak informacja I(P) ma wartość niezależną od ocenianego testu i właściwą dla zbioru przykładów P, powyższe kryterium staje się równoważne z minimalizacją entropii Et(P). Należy jeszcze ustalić sposób postępowania przy obliczaniu informacji i en tropii w sytuacji, gdy wartości wyrażeń występujących w powyższych wzorach są
155
3.2. ZSTĘPUJĄCE KONSTRUOWANIE DRZEWA
nieokreślone. Dla stanowiącego ich wspólny wzorzec wyrażenia postaci
UH log iFi
(3 22)
-
problem ten wystąpi, jeśli Pi = 0 lub P2 — 0. W pierwszym przypadku niemoż liwe jest obliczenie logarytmu 0. Będziemy wówczas przyjmować OlogO = 0. W drugim przypadku występuje dzielenie przez 0. Można jednak wówczas w ogó le zrezygnować z wykonywania obliczenia, gdyż jego wynik i tak nie będzie po trzebny. W istocie, równań (3.17) i (3.19) z całą pewnością nie będziemy nigdy sto sować dla P — 0, gdyż dla pustego zbioru przykładów nie ma potrzeby oceniania testów. W równaniu (3.18) możemy mieć wprawdzie Ptr = 0, lecz wówczas entro pia Etr(P) przy obliczaniu ważonej entropii Et(P) zgodnie z równaniem (3.19) będzie uwzględniona z wagą 0, co uznamy za równoznaczne z jej pomijaniem. Przykład 3.4 (Pogoda). Weźmy pod uwagę zbiór trenujący T dla dziedziny sta nów pogody przedstawiony w tabl. 2.2. Wyznaczymy wartość przyrostu informacji dla testu tożsamościowego na wartościach atrybutu aura. Do jego obliczenia są po trzebne liczności następujących zbiorów: \Tl\ = 1(3,4,5,7,9,10,11,12,13)1 = 9, \T°\= \Taurn,shneczna\
— |{1> 2 , 8 , 9 , 1 1 } | = 5 ,
\-L auru,słoneczna] ~ \Piuru,slonccy.nu\
|{1,2,6,8,14)1 = 5,
=
K^-^/l ~
^'
I{1>2,8}| = 3,
\-Ł nura,pochmurna] ~
1 1 ^ ^ ^ , 1 0 ) 1 = 4 ,
\I uur^pochmurnul ~
K ^ ' ^ ^ , 13} | = 4,
|T° , I = | aura,pochmurna )
|0| = Ił/ i
0, ^'
ITaun&szczowal
=
| {4, 5, 6, 10, 1 4 } | =
Kaura,deszczo\va|
=
l{4>5,10}| = 3,
Kaiira.deszczowul
=
liA14}|
=
5,
^'
Oczywiście wyznaczanie samych zbiorów jest zbędne, wystarczy policzyć odpowied nie przykłady. Zawartość zbiorów podajemy wyłącznie dla większej jasności. Korzystając z równania (3.18) i przyjmując logarytmy dwójkowe można obecnie obliczyć, z dokładnością do trzech miejsc po przecinku: 2
2
3
EaunLshneczmiiP)
=
~ ~ log2 - -
Eiłura,pochmuma{P)
=
~ 7 ^ 0 ¾ 7 ~~ 7 ^ 2
4
4
- bg
0
3 2
-
=
0,971,
0 7 ~ ^»
„ a (P) = - f l°g2 | - f log3 f = 0,971.
156
ROZDZIAŁ 3. INDUKCJA DRZEW DECYZYJNYCH
Umożliwia to wyznaczenie ważonej entropii: E,unXT) = ^ • 0,971 + ^ - 0 + ^ - 0.971 = 0,694. Do porównywania testów ze względu na kryterium przyrostu informacji wystar cza wyznaczenie dla nich entropii. Dla kompletności przykładu obliczymy jednak przyrost informacji dla atrybutu aura. Mamy: /(T) = - £ l o g
2
A_£
t o g 2
^
= 0l 940.
Wobec tego 9aura(T) = 0,940 - 0,694 = 0,246. Współczynnik przyrostu informacji Kryterium przyrostu informacji w przedstawionej wyżej postaci jest najczęściej stosowanym podejściem do wyboru testu przy zstępującej konstrukcji drzew de cyzyjnych i ma charakter wręcz klasyczny. Oczy wiście jednak nie jest ono jedyną możliwością, a także nie jest wolne od pewnych mankamentów. Jednym z nich jest charakterystyczna dla przyrostu informacji tendencja do nieuzasadnionego prefe rowania testów o wielu możliwych wynikach. Aby się o tym przekonać, rozważmy pewien test t : X \-^ Rt i załóżmy, że konstruujemy sztucznie test tf : X \-ł Rtt zastępując pewien możliwy wynik r E Rf testu t dwoma wynikami r i , r 2 E Rf testu t! w ten sposób, że spośród przykładów x E P, dla których t(x) = r, dla dowolnie wybranej połowy przyj mujemy tl{x) = r\ i dla drugiej połowy tf(x) = T2- Z tym wyjątkiem testy t i i! są identyczne, czyli dla każdego x, jeśli t(x) / r, to t'(x) = t(x). Ze względu na charakter konstrukcji nie ma żadnych przesłanek do uznania testu tł za lepszy od testu t. Tymczasem prosty rachunek pokazuje, że dla dowolnego zbioru przy kładów etykietowanych P otrzymamy wówczas gt>{P) ^ 9t{P)> PrzY czym rów ność wystąpi tylko wtedy, kiedy podział zbioru Pfr na równoliczne zbiory Pttri i / y r > zostanie przeprowadzony w sposób zachowujący rozkład poszczególnych kategorii. Możemy zapisać ten fakt w postaci twierdzenia, o udowodnienie którego czytelnik zostanie poproszony w jednym z ćwiczeń.
•
TWIERDZENIE 3.1. Niech X będzie dowolną dziedziną, na której jest określo ne pewne pojęcie c : X — i > C. Jeśli dla dowolnego testu t : X H^ Rt i zbioru przykładów P C X skonstruujemy test tf w następujący sposób: l) Rf — Rt — {r} U {r*i, r2}, przy czym r E Rt jest dowolnie wybranym wynikiem testu t oraz T\yr
3.2. ZSTĘPUJĄCE KONSTRUOWANIE DRZEWA
157
2) dla każdego x E P [ t(x) t'(x) = < n [r 2
jeśli x 0 Ptr, yeś/i x E P tr ,i,
(3.23)
J^7/ x E Ptr,2,
przy czym Ptr,\ i Ptr,2 są dowolnymi zbiorami spełniającymi warunki5 PtrAUPtrt2 = Ptr, Ąr,l H P ir , 2 = 0,
(3-24) (3.25)
|Ąr,l| = | ^ r , 2 | - ^ | Ą r | ,
(3-26)
fo ^ (P) ^ 9t{P), P^zy czym równość występuje tylko wówczas, gdy dla każ dej kategorii d E C jest spełniony warunek \Pfir — \P$r = h \Pfr . < Prostą modyfikacją, która ma na celu przezwyciężenie zademonstrowanej sła bości, jest zastąpienie przyrostu informacji przez współczynnik przyrostu informa cji, zdefiniowany jako 9t(P)
MP) = IV (P)' t
(3.27)
przy czym IV/(P) oznacza wartość informacyjną testu t dla zbioru przykładów P , zdefiniowaną następująco: IVt(^)
E
\Ptr\ ,
T^rlog
reRt
\Pf.
(3.28)
PI
Wielkość ta mierzy równomierność, z jaką test i dzieli zbiór P na podzbiory. Jest ona duża, jeśli rozmiary podzbiorów wyznaczanych przez różne wyniki testu są zbliżone i maleje przy wyraźnej przewadze niektórych podzbiorów nad innymi. Dzielenie przyrostu informacji przez wartość informacyjną można traktować jako rodzaj normalizacji, czy też „karania" tych testów, które duży przyrost informacji osiągają w „niewłaściwy sposób". Zgodnie ze zmodyfikowanym kryterium dobry mi testami są takie, które osiągają duże zróżnicowanie rozkładu kategorii w po szczególnych podzbiorach, ale przy tym rozmiary tych podzbiorów są również zróżnicowane. Łatwo sprawdzić, że dla testów i i i1 z twierdzenia 3.1 mamy:
\Pfri\ ,
\Pt'n\
i^itogi^i IPI
"° IPI
Można się przekonać, że gwarantuje to IVt> {P) ^ IV t (F). 5
Zakladamy tu dla uproszczenia, że liczba elementów zbioru Ptr jest parzysta.
(3.29)
158
R O Z D Z I A Ł 3. INDUKCJA DRZEW D E C Y Z Y J N Y C H
Przykład 3.5 (Pogoda). W przykładzie 3.4 obliczyliśmy przyrost informacji dla testu tożsamościowego na wartościach atrybutu aura względem zbioru trenującego z tabl. 2.2, uzyskując gaUm{T) — 0,246. Ponieważ rVUT)
= - ^ l o g 2 £ - ^ l o g 2 ± - l l o f e A = 1,577,
więc współczynnik przyrostu informacji dla tego testu wynosi ~^~ — 0,156. Weźmy obecnie pod uwagę atrybut wilgotność. Dla tego atrybutu można obliczyć: EWilgotność,nonml,m(P) =
~ = l o g 2 = ~ r l o g 2 - = 0,592,
Ewilgotność,Jużn(P) =
~ " log2 - - - log2 - = 0,985,
3
3
4
4
skąd Ewilgotność{T) — 0,788, 0Wi7gOfnatf(r) - 0,940 - 0,788 - 0,152. Ze względu na przyrost informacji test dla atrybutu aura uzyskuje zatem lepszą ocenę niż test dla atrybutu wilgotność. Ponieważ jednak IVmlgowość{T) = ~Yl]°&2 i4 - i4 log2 i4 = 1. więc współczynnik przyrostu informacji dla tego testu wynosi również 0,152. Ze względu na to kryterium będzie zatem preferowany także test dla atrybutu aura, cho ciaż oceny obu atrybutów są tym razem znacznie bardziej zbliżone do siebie. Inne funkcje oceny Funkcje oceny testów oparte na heurystykach teorioinformacyjnych stanowią fak tyczny standard we współcześnie stosowanych systemach indukcji drzew decy zyjnych. Wykorzystujące je konkretyzacje schematu zstępującej konstrukcji drze wa tworzą rodzinę systemów zapoczątkowaną przez system ID3 — nazwy tej po wszechnie używa się obecnie w celu określenia podstawowego algorytmu zstępu jącej konstrukcji drzewa, w którym testy są wybierane według kryterium przyrostu informacji lub współczynnika przyrostu informacji. Możliwe jest oczywiście za proponowanie wielu innych heurystyk, lecz z dotychczasowych doświadczeń nie wynika, aby któraś z nich miała wyraźną przewagę nad innymi, a w szczególności nad tymi, które przedstawiliśmy. Nie będziemy zatem, poza jednym wyjątkiem, poświęcać innym funkcjom oceny zbyt wiele uwagi, tym bardziej że przedstawia nie nieformalnych chociażby uzasadnień oznaczałoby niepotrzebne dygresje od głównego nurtu prowadzonych w tym rozdziale rozważań. Zamiast zatem wchodzić w szczegółowe formuły, jakie bywały proponowane do oceny testów dla celów zstępującego konstruowania drzewa, poprzestaniemy na wskazaniu ich trzech głównych rodzajów, oznaczając przez P zbiór przykładów związanych z węzłem, dla którego ma być oceniona jakość testu t.
3.2. ZSTĘPUJĄCE KONSTRUOWANIE DRZEWA
159
1. Funkcje mierzące różnicę między zbiorem P a zbiorami Ptr dla r E Rt ze względu na rozkład częstości kategorii. 2. Funkcje mierzące różnice między poszczególnymi zbiorami Ptr dla r G Ą ze względu na rozkład częstości kategorii. 3. Funkcje mierzące statystyczną niezależność między rozkładem kategorii a po działem P na podzbiory. Funkcje każdej z tych grup są zgodne co do tego, że test, dla którego rozkład czę stości kategorii we wszystkich zbiorach Ptr dla r G Rt jest taki sam, identyczny z rozkładem w zbiorze P, jest bezużyteczny. Oczywiście przyrost informacji re prezentuje pierwszą z tych trzech grup. Do drugiej należą funkcje, które po wyzna czeniu 1 Lr dla poszczególnych kategorii d G C i dla każdego r G Rt obliczają pewną miarę odległości między tymi wartościami dla różnych r. Funkcje trze ciej grupy stosują standardowe statystyczne testy niezależności. Wykorzystamy tę okazję, aby przedstawić krótko najbardziej popularny z tych testów, z którym spotkamy się jeszcze kilkakrotnie w tej książce. Statystyka x2> gdyż o niej mowa, może być wykorzystana do oceny praw dopodobieństwa tego, że dwie dyskretne zmienne losowe yi i y2, reprezentujące cechy elementów pewnej populacji, są od siebie niezależne, na podstawie obser wacji ich wartości dla losowej próby elementów populacji. Niech v\ i v2 oznaczają odpowiednio liczby możliwych wartości cech y\ i y2. Dla losowej próby n elemen tów populacji niech / / oznacza zaobserwowaną częstość (liczbę wystąpień) i-tej wartości cechy yi dla i — 1, 2 , . . . :vi i odpowiednio fj liczbę wystąpień j-tej wartości cechy y2 dla j ~ 1,2,..., v2, Przez fi3 oznaczymy obserwowaną liczbę (częstość) jednoczesnych wystąpień z-tej wartości cechy y\ i j-tej wartości cechy ij2, a przez etj odpowiednią oczekiwaną liczbę wystąpień przy założeniu hipote zy zerowej, czyli niezależności y\ i y%. Wówczas wartość statystyki x 2 może być obliczona zgodnie z formułą: 2 X
-EE
J
' •
(3-30)
Wartości oczekiwane etJ możemy oszacować w oczywisty sposób:
fl-ff
(3.31)
Jak widzimy, statystyka x 2 mierzy różnicę między faktycznym rozkładem po szczególnych par wartości cech y\ i y2 a ich rozkładem oczekiwanym przy za łożeniu niezależności tych cech. Im większa jest wartość tej statystyki, tym oba rozkłady bardziej się różnią, a co za tym idzie prawdopodobieństwo niezależno ści cech jest mniejsze. Możemy określić to prawdopodobieństwo uwzględniając,
160
ROZDZIAŁ 3. INDUKCJA DRZEW DECYZYJNYCH
że wartość statystyki x2 J e s t zmienną losową (o różnych wartościach dla różnych prób losowych), która ma w przybliżeniu rozkład x2 ° (vi ~ 1)' (v2 ~ 1) stopniach swobody. Dzięki temu dla określonego poziomu istotności 5 można wyznaczyć (posługując się tablicami statystycznymi lub wyposażonym w odpowiednie funk cje kalkulatorem) wartość progową tej statystyki 8$ taką, że prawdopodobieństwo jej uzyskania lub przekroczenia dla niezależnych cech wynosi 5. Na ogół przyjmu je się, że między cechami występuje zależność, jeśli wartość statystyki x2 przekra cza próg dla poziomu istotności 5%, czyli 5 = 0,05. W tablicach statystycznych można znaleźć odpowiednie wartości progowe dla różnych liczb stopni swobody. Przybliżenie rozkładu statystyki x2 z a pomocą rozkładu x2 uznaje się za dosta tecznie dobre, jeśli wszystkie szacowane wartości oczekiwane e^ są większe niż 1 i co najwyżej 20% z nich jest poniżej 5. Warunki te są znane pod nazwą kryteriów Cochrana. Warto przy okazji wspomnieć o innej statystyce, używanej w tym samym celu, która również ma w przybliżeniu rozkład x2 z (t>i - 1 ) - ( ^ - 1 ) stopniami swobody (chociaż jest to przybliżenie nieco gorsze niż dla statystyki X2), obliczanej według wzoru: ^
= 2^^/,111^.
(3.32)
Z nią również spotkamy się jeszcze w tej książce. Tymczasem jednak zakończ my dyskusję innych funkcji oceny testów dla drzew decyzyjnych, przedstawiając formuły do obliczenia obu statystyk dla testu t, kandydującego do umieszczenia w węźle, z którym jest związany zbiór przykładów P. Cechami, których nieza leżność sprawdza się w tym przypadku, są przynależność przykładu do określonej kategorii oraz do określonego podzbioru zbioru P wyznaczonego przez wynik te stu. Mamy zatem v\ — |C|, V2 = \Rt\, a wartościom obserowanej częstości / / , / 2 i fij odpowiadają liczby elementów w zbiorach Pd, Ptr i Pfr. Wartość oczekiwa ną liczby przykładów o wyniku testu i równym r należących do kategorii d, przy założeniu niezależności kategorii od wyników testu, oszacujemy jako \Pttr\ ' pc
4(P) tr \J
/
= — r ri dp i— L -
(3.33)
Umożliwia to zapisanie wzorów określających przedstawione statystyki:
XHP) =
£
£
deCr€Rt
(\Pfr\ - eUP)f
(3.34)
etr(P) pa
G?(P) = 2 ^
E
deCreRt
\Ptr In
efr(P)
(3.35)
3.2. ZSTĘPUJĄCE KONSTRUOWANIE DRZEWA
161
Liczba stopni swobody wynosi (\C\ — 1) • {\Rt\ ~ 1)- Preferowane powinny być oczywiście testy o większych wartościach wybranej statystyki. Zauważmy jednak, że dla drzew decyzyjnych, w każdym razie na dostatecznie dużej głębokości, wa runki niezbędne do dobrego przybliżenia rozkładów tych statystyk za pomocą roz kładu x'2 często nie będą spełnione. Może się wręcz okazać, że wiele używanych do ich obliczania oczekiwanych liczb przykładów będzie poniżej 1, przy czym mo gą także wystąpić wartości 0, dla których odpowiednie składniki obliczanej sumy nie są określone. Nieeleganckim, lecz skutecznym rozwiązaniem może być wów czas sztuczne zastąpienie zbyt małych wartości pewną ustaloną liczbą e G (0,1), na przykład 0,5. Uwzględnianie kosztu testów W niektórych praktycznych zastosowaniach indukcji drzew decyzyjnych istotnym kryterium wyboru testów podczas konstrukcji drzewa, oprócz ich jakości, może być koszt. W pewnych dziedzinach rozsądnie jest przyjąć, że zastosowanie do do wolnego przykładu różnych testów wiąże się z różnymi kosztami. Jest tak na ogół wtedy, kiedy dla wszystkich lub niektórych określonych na dziedzinie atrybutów wartości nie są znane z góry, lecz mogą być wyznaczone w razie potrzeby „na żą danie". Jeśli naszą dziedziną jest zbiór pacjentów, a atrybuty reprezentują wyniki różnego rodzaju badań diagnostycznych, to ich wartości są dostępne dopiero po przeprowadzeniu tych badań. Koszt testów może w tym przypadku oznaczać nie tylko pieniądze, lecz także czas potrzebny na ich przeprowadzenie i dolegliwość lub niebezpieczeństwo dla pacjenta. Jeśli testy różnią się kosztami, to naturalne jest dążenie do uzyskania jak naj dokładniejszej klasyfikacji jak najmniejszym kosztem. Niestety, trzeba się liczyć z tym, że czasem testy prowadzące do prostych i dokładnych drzew, a więc obie cujących niewielki błąd rzeczywisty, mogą być zarazem ponadprzeciętnie kosz towne. Powstaje potrzeba właściwego połączenia kryteriów jakości i kosztu przy ocenie testów, tak aby „tanie" testy były stosowane zawsze, kiedy jest to możliwe, a „drogie" tylko kiedy jest to konieczne. Niestety, nie można wskazać żadnej uniwersalnej metody rozwiązania tego problemu. Oczywiste jest, że z dwóch testów o takim samym koszcie należy pre ferować test o lepszej jakości, a z dwóch testów o takiej samej jakości należy preferować test o niższym koszcie, lecz poza tymi szczególnymi przypadkami po zostaje pole dla wielu różnych podejść, z których żadne nie ma zdecydowanej przewagi nad innymi. Polegają one na uwzględnianiu kosztów w funkcji oceny testów w sposób zwiększający preferencje dla testów o niskim koszcie. Od kon kretnego zastosowania zależy najczęściej, jak duże powinny być te preferencje. Jeśli przyjmiemy za podstawę oceny jakości testów przyrost informacji, a przez p(t) oznaczymy koszt testu i, to uwzględniającą oba te kryteria prostą funkcję oce-
162
ROZDZIAŁ 3. INDUKCJA DRZEW DECYZYJNYCH
ny można zapisać następująco: MP) = Ą ~ -
(3-36)
Ocena testu jest tu odwrotnie proporcjonalna do jego kosztu, lecz jakość jest uzna wana za ważniejszą i w związku z tym przyrost informacji występuje w drugiej potędze. Naturalnym uogólnieniem jest wprowadzenie parametru określającego inny wykładnik tej potęgi. Inna możliwa funkcja oceny jest zdefiniowana jako
*'(F) - (TTTWP
<" 7)
przy czym a G [0,1], Wpływ kosztów na ocenę testów podlega w tym przypad ku regulowaniu przez dobór wartości parametru a. Są to zaczerpnięte z literatury przykładowe funkcje oceny, które okazały się skuteczne w pewnych określonych dziedzinach. Czytelnik z pewnością przedstawi bez trudu kilka innych propozycji. Przypuszczalnie dla każdego konkretnego zastosowania należy eksperymentalnie ustalić najbardziej skuteczny sposób uwzględniania kosztów testów. 3.2.4
Kandydujące testy
Po omówieniu najczęściej stosowanych funkcji oceny testów, wracamy obecnie do kwestii, jak jest ustalany zbiór testów kandydujących, spośród których korzysta jąc z jednej z tych funkcji należy dokonać wyboru. Jest to początkowa zawartość zbioru dostępnych testów S, który jest argumentem rekurencyjnej funkcji konstru owania drzewa. Testy tożsamościowe W przypadku testów tożsamościowych sprawa jest niezwykle prosta. Możliwych testów tożsamościowych jest tyle, ile określonych na dziedzinie atrybutów nomi nalnych, z którymi testy te są po prostu tożsame. Jest to na ogól liczba niewielka. Jeśli postanowimy stosować ten rodzaj testów także dla atrybutów porządkowych o skończonej liczbie wartości, to należy je uwzględnić w ten sam sposób. Testy równościowe Decydując się na użycie testów równościowych dla każdego atrybutu nominalne go lub atrybutu porządkowego o skończonej przeciwdziedzinie mamy tyle moż liwych testów, ile elementów liczy ta przeciwdziedzina. Oczywiście jednoczesne stosowanie testów tożsamościowych i równościowych jest pozbawione sensu. Na leży się zdecydować na jeden z tych dwóch rodzajów testów i najczęściej testy tożsamościowe są lepszym wyborem.
3.2. ZSTĘPUJĄCE KONSTRUOWANIE DRZEWA
163
Testy przynależnościowe Testy przynależnościowe, które mogą prowadzić do prostszych drzew niż uzyski wane wyłącznie przy użyciu testów tożsamościowych albo równościowych, są trudne w stosowaniu ze względu na ich potencjalnie dużą liczbę. Dla każdego atrybutu o skończonej przeciwdziedzinie A można określić 2^1 różnych testów przynależnościowych. Jeśli A zawiera więcej niż kilka elementów, stwarza to pro blem znacznych nakładów obliczeń wymaganych do późniejszej oceny tych te stów. W związku z tym, jeśli takie testy są używane, to na ogół rozpatruje się tylko niektóre z nich, poszukując najlepszego według przyjętej funkcji oceny za pomocą pewnej heurystycznej, niewyczerpującej strategii przeszukiwania. Proste podejście może polegać na rozpoczęciu przeszukiwania od zbioru „zdegenerowanych" testów przynależnościowych, dla których zbiory, do których przynależność się sprawdza, są jednoelementowe. Takie testy są oczywiście równoważne z testa mi równościowymi. Każdy z nich można ocenić za pomocą przyjętej funkcji jako ści. Następnie dla najlepszego lub kilku najlepszych testów bierze się pod uwagę rozszerzenie zbiorów o drugi element, wybierając najlepsze takie rozszerzenia, ponownie znalezione na podstawie wartości używanej funkcji oceny testów (o ile oczywiście po rozszerzeniu zbioru test okaże się lepszy niż przed). Testy nierównościowe W celu ustalenia zbioru możliwych testów nierównościowych dla każdego atry butu ciągłego lub porządkowego należy wybrać wartości progowe, które mają być używane do porównań w nierównościach. Dla każdego takiego atrybutu może być tyle różnych testów nierównościowych, ile możliwych wartości progowych wy branych ze zbioru jego wartości. W pierwszej chwili może to brzmieć dość nie pokojąco, zwłaszcza jeśli weźmiemy pod uwagę, że przeciwdziedziny atrybutów ciągłych są zawsze nieskończone i mogą być również nieskończone w przypadku atrybutów porządkowych. Zauważmy jednak, że: • rozważając potencjalne wartości progowe dla pewnego porządkowego lub cią głego atrybutu a : X \-> A można ograniczyć się do tej części jego prze ciwdziedziny A, która jest faktycznie reprezentowana w skończonym zbiorze przykładów P, dla którego jest wybierany test; • wystarczy brać pod uwagę jedynie takie wartości, porównywanie z którymi umożliwia podzielenie zbioru P na podzbiory ze względu na wynik takiego porównania na różne sposoby. W związku z tym przykłady ze zbioru P możemy posortować w kolejności war tości atrybutu a i następnie jako wartości progowe uwzględniać tylko takie, które „rozdzielają" dwa sąsiednie po takim uporządkowaniu przykłady. Gdy a jest atry butem ciągłym, najrozsądniej jest rozważyć środek każdego z przedziałów wyzna-
164
ROZDZIAŁ 3. INDUKCJA DRZEW DECYZYJNYCH
czonych przez kolejne występujące w zbiorze P wartości tego atrybutu jako po tencjalny próg do testu. W przypadku atrybutów porządkowych nie można mówić o przedziałach, lecz wystarczy drobna modyfikacja powyższego pomysłu, polega jąca na przyjęciu za wartość progową takiej wartości z przeciwdziedziny atrybutu, która jest możliwie jednakowo „oddalona" (w sensie liczby wartości pośrednich występujących w przeciwdziedzinie) od obu kolejnych wartości atrybutu ze zbio ru P, które chcemy rozdzielić. Dla każdej wybranej w przedstawiony sposób war tości progowej otrzymujemy test nierównosciowy, który dołącza do grona testów kandydujących do wyboru, ocenianych za pomocą przyjętej funkcji oceny. Przykład 3.6 (Pogoda z atrybutami ciągłymi). Rozważmy dziedzinę stanów pogody z atrybutami ciągłymi i zbiór trenujący T przedstawiony w tabl. 2.3. Ustalimy zbiór możliwych testów dla atrybutu temperatura. W zbiorze trenującym występują następujące wartości tego atrybutu: x\
1 27
2 28
3 29
4 21
5 17
6 18
7 19
8 22
9 20
10 23
11 24
12 25
13 30
14 26
1 27
2 28
3 29
13 30
Po uporządkowaniu w kolejności rosnącej otrzymujemy: X
5 17
6 18
7 19
9 20
4 21
8 22
10 23
11 24
12 25
14 26
Jako potencjalne progi testu nierównościowego należy wziąć pod uwagę środki prze działów między każdymi dwoma kolejnymi wartościami atrybutu, czyli wartości ze zbioru: {17,5; 18,5; 19,5; 20,5; 21,5; 22,5; 23,5; 24,5; 25,5; 26,5; 27,5; 28,5; 29,5}. Wyznaczymy ważoną entropię dla testu nierównościowego t z progiem 0 = 22,5. Mamy: Tt0 = {5,6,7,9,4,8}, T/0 = {5,7,9,4}, Ttl = {10,11,12,14,1,2,3,13},
Tt°0 = {6,8},
Tt\ ={10,11,12,3,13},
T ° = {14,1,2}.
Stąd można obliczyć, z dokładnością do trzech cyfr po przecinku: Et0(T)
4 4 2 2 glog2g-glog2-=0,918,
En(T)
o l 0 S2 o ~ o l0 S2 o =
0 954
'
'
a następnie E,(T) = — • 0,918 + — • 0,954 = 0,939.
3.2. ZSTĘPUJĄCE KONSTRUOWANIE DRZEWA
165
Możliwość pewnego usprawnienia oceny testów nierównościowych kryje się w następującej właściwości. Można wykazać, że jeśli dla dwóch kolejnych (po posortowaniu) wartości v\ i V2 atrybutu ciągłego lub porządkowego a wszystkie przykłady w zbiorze P mają tę samą kategorię, to na pewno optymalna wartość progowa 9 nie znajduje się między v\ i V2 i w związku z tym obliczanie jakości testów dla takich wartości 9 można bezpiecznie pominąć. Intuicyjne uzasadnienie tego faktu jest prostsze od ścisłego dowodu i zadowolimy się nim. Otóż jeśli dla każdego przykładu x G P, dla którego v\ ^ a(x) < V2, mamy c(x) = d, to w przypadku wyboru wartości progowej ^i ^ 9 < v2 uzyskamy podział zbioru P na dwa podzbiory, w których te przykłady o kategorii d będą rozdzielone (część z nich znajdzie się w jednym, a część w drugim podzbiorze). Oznacza to, że w pod zbiorach tych będzie bardziej równomierny rozkład kategorii, niż gdyby wszystkie przykłady, o których mowa, znalazły się w tym samym podzbiorze, a tym samym nasz wybór wartości progowej 9 nie jest najlepszy z możliwych. Jednokrotne stosowanie testów Oczywista obserwacja związana z ustalaniem testów kandydujących do wyboru przy tworzeniu węzła drzewa decyzyjnego dotyczy ich jednokrotnego stosowania na każdej ścieżce łączącej korzeń drzewa z jednym z liści. W przypadku testów tożsamościowych jest to równoznaczne z co najwyżej jednokrotnym użyciem każ dego testowanego atrybutu, a w przypadku testów nierównościowych z co najwy żej jednokrotnym użyciem każdego testowanego atrybutu z tą samą wartością pro gową6. W algorytmie 3.1 jednokrotne użycie testów zostało zapewnione przez wy korzystanie jako argumentu funkcji konstruującej drzewo odpowiednio pomniej szanego przy rekurencyjnych wywołaniach zbioru dostępnych testów S> lecz zo stało to podyktowane raczej względami efektywności niż faktyczną konieczno ścią. Jest bowiem jasne, że jeśli pewien test został użyty wcześniej na ścieżce prowadzącej do aktualnego węzła, to jego ponowne zastosowanie w tym węźle w żaden sposób nie przybliży nas do zakończenia rozrostu drzewa i spełnienia warunków nakładanych przez kryterium stopu. Oznacza to, że dla żadnego sen sownego kryterium wyboru testu test już użyty nie okaże się na pewno najlepszy, z wyjątkiem dyskutowanych wcześniej sytuacji „patologicznych", kiedy zostaną już użyte wszystkie testy, a jednoznaczna klasyfikacja pozostającego wciąż zbioru przykładów nie zostanie osiągnięta. W szczególności dla kryteriów wyboru wy6 W przypadku testów przynależnościowych sytuacja jest nieco bardziej skomplikowana. Użycie testu sprawdzającego warunek a(x) 6 V w pewnym węźle pociąga za sobą bezużyteczność testów postaci a(x) £ V' dla V' C V w węzłach należących do poddrzewa odpowiadającego wynikowi negatywnemu testu, a w węzłach należących do poddrzewa odpowiadającego wynikowi pozytyw nemu umożliwia ograniczenie zbioru rozważanych testów przynależnościowych do testów postaci
a(x)
G V
Ó\2LV C
V.
166
ROZDZIAŁ 3. INDUKCJA DRZEW DECYZYJNYCH
korzystujących przyrost informacji wykrycie „bezużytecznych" testów jest łatwe dzięki temu, że przyrost ten będzie dla nich równy 0. Przykład 3.7 (Pogoda). Dla danych ze zbioru trenującego dotyczącego klasyfika cji pogody zamieszczonych w tabl. 2,2 prześledzimy proces zstępującego konstruowa nia drzewa decyzyjnego używając testów tożsamościowych oraz kryterium przyrostu informacji do ich oceny. Przykład jest dość obszerny i być może nieco nużący, lecz jego analiza powinna dokładnie wyjaśnić sposób działania algorytmu 3.1. Ponieważ okaże się, że będzie uzyskane drzewo przedstawione wcześniej na rys. 3.2, warto śle dząc kolejne etapy budowania drzewa korzystać z niego jako ilustracji. 1. Pierwsze wywołanie funkcji konstruującej drzewo ma postać: buduj-drzew o{T, 1, {aura, temperatura wilgotność, wiatr}),
2. 3. 4. 5.
gdyż większość przykładów w zbiorze trenującym ma kategorię 1, a zbiór możli wych testów tożsamościowych jest równy zbiorowi wszystkich atrybutów. MamyP = T = {1,2,3,4,5,6,7,8,9,10,11,12,13,14}. Kryterium stopu nie jest dla zbioru P spełnione. Tworzony jest nowy węzeł, dla którego należy wybrać test. Wartości entropii dla poszczególnych par atrybutów i ich wartości (czyli testów tożsamościowych i ich wyników) można obliczyć, używając logarytmów dwój kowych, następująco (wyniki zaokrąglamy do trzech cyfr po przecinku): 2 2 3. 3 = -5l0g25""5l0g25: 4 4 0. 0 = = -^iiura,pochmurna\-t^) - 4 ^ 4 - - 4 ^ 4 = 3 3 2 2 = •t^aura, deszezowa\* } — -5l0g25"'5l0g25: 3 3 1. 1 = •&temperatura,zinma\* ) ~ - 4 - 1 0 6 , 4 - "4l0&4: 4 4 2, 2 = mperatura,umiarkowana\^ ) — - g l o g 2 - "6l0g26: 2 2 2 2 = = & temperatura, ciepła {*) - 4 ^ 4 - -4l0&4: 6. 6 1. 1 = & wilgotność, normalna \ * ) — - 7 l 0 g 2 7 - - Tj 1 0 g 2 -j •• 3 3 4 4 = •& wilgotność,dtiża\-*- ) ~ - j l o S 2 7 " -7l0g27: 6, 6 2. 2 = & wiatr,słaby \* ) — -8ł°g28"-8l0g28: 3 3 3. 3 = & wiatr,silny \* ) = l 0 g 2 -6 6"-6l0g26 & aura,słoneczna (P)
=
0,971, 0, 0,971, 0,811, 0,918, 1, 0,592, 0,985, 0,811, 1.
W liczniku i mianowniku występujących w tych obliczeniach ułamków znajdują się liczby przykładów w odpowiednich podzbiorach, zgodnie z równaniem (3.18).
167
3.2. Z S T Ę P U J Ą C E K O N S T R U O W A N I E DRZEWA
6. Dla poszczególnych atrybutów ważone entropie obliczone zgodnie z równa niem (3.19) wynoszą: Eilura(T) - 0,694, •btempemurai-L ) — 0 , 9 1 1 ,
Ewiigotność{T) — 0,788, Ewmtl
4iog2
•& temperatura \-L )
=
0, 1, 0, 0, 0, 0,918,
l0
4 &
l;
U, 4 ,
•& wilgotność {-*• ) — U,
Ewsatr(T) - 0,951; 0 jako test minimalizujący entropię wybrany jest test odpowiadający atrybutowi wilgotność; g) większościową etykietą kategorii w zbiorze P jest 0, która będzie przekazana jako etykieta domyślna do wywołań rekurencyjnych;
168
ROZDZIAŁ 3. INDUKCJA DRZEW DECYZYJNYCH h) dla wyniku normalna testu wilgotność następuje wywołanie rekurencyjne; i. wywołanie ma postać; buduj - drzew o{P, 0, {temperatura, wiatr}), przy czym P = {9,11}, ii. jest spełnione kryterium stopu, gdyż wszystkie przykłady w zbiorze P mają wspólną kategorię 1, iii. jest tworzony liść z etykietą 1, iv. następuje powrót z wywołania rekurencyjnego, jest zwracany liść z ety kietą 1; i) dla wyniku duża testu wilgotność następuje wywołanie rekurencyjne; i. wywołanie ma postać: buduj-drzewo(P,0, {temperatura, wiatr}),
przy czym P = {1,2,8}, ii. jest spełnione kryterium stopu, gdyż wszystkie przykłady w zbiorze P mają wspólną kategorię 0, iii. jest tworzony liść z etykietą 0, iv. następuje powrót z wywołania rekurencyjnego, jest zwracany liść z ety kietą 0; j) następuje powrót z wywołania rekurencyjnego, zwracany jest węzeł z testem wilgotność. 10. Następuje wywołanie rekurencyjne dla wyniku pochmurna testu aura. Czytelnik zechce przekonać się samodzielnie, że w jego wyniku powstanie liść z etykietą 1. 11. Następuje wywołanie rekurencyjne dla wyniku deszczowa testu aura. Czytelnik zechce samodzielnie prześledzić działanie algorytmu w tym wywołaniu, którego wynikiem jest zbudowanie poddrzewa o korzeniu w węźle zawierającym test na atrybucie wiatr. 12. Konstrukcja drzewa jest zakończona.
3.3 Przycinanie drzewa Tak jak przy każdym rodzaju indukcyjnego uczenia się pojęć, również w przypad ku indukcji drzew decyzyjnych istnieje ryzyko nadmiernego dopasowania do da nych trenujących. Nadmiernie dopasowane drzewo ma mały błąd próbki na zbio rze trenującym (w szczególności może być na nim spójne z pojęciem docelowym), lecz zbyt duży błąd rzeczywisty. Prawdopodobnie drzewo takie, klasyfikujące do kładnie wszystkie przykłady trenujące, jest zbyt złożone i może odzwierciedlać przypadkowe zależności występujące w zbiorze trenującym, zwłaszcza jeśli jest on zaszumiony, chociaż nie tylko wtedy. Ryzyko jest tym większe, że przestrzeń hipotez reprezentowanych przez drzewa decyzyjne jest bogata — może być repre zentowana dowolna dopuszczalna hipoteza dla danego zestawu atrybutów, chociaż
3.3. PRZYCINANIE DRZEWA
169
niekiedy właśnie kosztem znacznej złożoności drzewa. Zgodnie z zasadą brzytwy Ockhama błąd rzeczywisty nadmiernie dopasowanych drzew może zmniejszyć ich uproszczenie, czyli —jeśli chcemy pozostać przy „sadowniczej" terminologii — przycięcie. Zamiast przycinać drzewo, możemy, jak było to już sugerowane przy omawia niu kryterium stopu dla procedury zstępującego konstruowania drzewa, zapobiec jego nadmiernemu wzrostowi, zatrzymując tworzenie nowych węzłów, nawet je śli w aktualnie pozostającym do przetworzenia zbiorze przykładów trenujących są przykłady różnych kategorii. Jest wówczas tworzony liść opatrzony etykietą ka tegorii większościowej, co pociąga za sobą niespójność drzewa z pojęciem doce lowym na zbiorze trenującym, lecz może zapobiec jego nadmiernemu dopasowa niu do tego zbioru. Takie postępowanie możemy nazwać przycinaniem w trakcie wzrostu. Jednak znalezienie kryterium stopu realizującego przycinanie w trakcie wzrostu z dobrymi efektami okazuje się trudne. Wynika to z faktu, że decyzja o zatrzymaniu procesu budowy drzewa musi z natury rzeczy być podejmowana na podstawie rozkładu kategorii w stosunkowo niewielkim podzbiorze przykładów trenujących, a w takiej sytuacji trudno o statystycznie wiarygodne wnioski. Lep sze efekty daje budowanie spójnych drzew z wykorzystaniem prostego kryterium stopu podanego wyżej, a dopiero następnie poddawanie ich procesowi przycinania. Znajomość pełnego, spójnego drzewa w momencie podejmowania decyzji o przy cięciu umożliwia ocenę ewentualnych korzyści z niej wynikających. Dodatkową zaletą takiego podejścia jest szansa na częściowe skompensowanie nieoptymalności zachłannego procesu konstruowania drzewa, wybierającego na każdym pozio mie rekurencji test najlepszy na tym poziomie. 3.3.1
Schemat przycinania
Przycinanie drzewa polega na zastąpieniu jego wybranych poddrzew przez liście, którym przypisuje się etykietę kategorii najczęściej występującej wśród związa nych z nim przykładów. Tego typu uproszczenie spowoduje oczywiście pogorsze nie dokładności klasyfikacji dla zbioru trenującego, ale może dawać lepsze efekty dla danych spoza tego zbioru. Uzyskane po przycięciu drzewo będzie zaś mniejsze i prostsze, co poza ewentualnym zmniejszeniem błędu rzeczywistego daje większą czytelność dla człowieka, oszczędność pamięci i większą efektywność obliczenio wą procesu klasyfikacji przez skrócenie ścieżek łączących korzeń drzewa z liść mi. Istnieją różne metody przycinania drzew decyzyjnych, będące jednak na ogół realizacjami wspólnego i bardzo prostego schematu, przedstawionego jako algo rytm 3.2. Argumentami przedstawionej tam funkcji przytnij-drzewo są drzewo do przycięcia T oraz zbiór etykietowanych przykładów P, na podstawie którego ma być podejmowana decyzja o zastępowaniu poddrzew liśćmi. Zbiór taki będziemy nazywać w ogólnym przypadku zbiorem przycinania.
170
ROZDZIAŁ 3. INDUKCJA DRZEW DECYZYJNYCH
I funkcja przytnij;-drzewo(T\ P) i argumenty wejściowe: I I
• T — drzewo do przycięcia, • P — zbiór przycinania; zwraca: drzewo T po przycięciu; 1: dla wszystkich węzłów n drzewa T wykonaj 2: zastąp n liściem 1 z etykietą większościowej kategorii w zbiorze Ą ) n jeśli nie powiększy to szacowanego na podstawie P błędu rzeczywistego drzewa T; 3: koniec dla 4: zwróć T, Algorytm 3.2. Schemat przycinania drzewa decyzyjnego
Jest również możliwa nieco bardziej zaawansowana wersja przycinania, w któ rej przycięcie węzła nie oznacza zastąpienia go liściem, lecz jednym z jego węzłów potomnych. Nie jest wówczas usuwane całe poddrzewo, a jedynie jego korzeń. Ta ki rodzaj przycinania możemy nazwać przycinaniem od środka. Niestety, koniecz na wówczas reorganizacja struktury poddrzewa może być dość skomplikowana — zmiana testu w węźle na inny może spowodować, że dla pozostałych węzłów potomnych ich testy przestaną być optymalne, a dla liści mogą ulec zmianie więk szościowe kategorie. Uwzględnienie tego typu ewentualności wymaga w szcze gólności przechowywania w węzłach informacji o rozkładzie kategorii i wyników testów dla związanych z nimi przykładów. Ze względu na związane z nim kom plikacje taki sposób przycinania nie jest zbyt często stosowany i nie będziemy się nim zajmować, chociaż podane niżej kryteria przycinania mogą być bez większych zmian stosowane również dla niego 7 . 3.3.2
Kryteria przycinania
Podstawowe znaczenie ma sposób szacowania błędu rzeczywistego drzewa, na podstawie którego podejmuje się decyzję o przycięciu poddrzewa. Można wyróż nić dwa główne podejścia: 1) szacowanie na podstawie błędu próbki na oddzielnym zbiorze przycinania, zło żonym z przykładów spoza zbioru trenującego (P n T = 0), 2) szacowanie na podstawie błędu próbki na zbiorze trenującym (P — T). Różnica polega na tym, czy zbiór przycinania jest oddzielnym, niezależnym od zbioru trenującego zbiorem przykładów pojęcia docelowego, czy też jest identycz' Komplikacja reorganizacji drzewa polega między innymi na tym, że w ogólnym przypadku różne testy mogą mieć różną liczbę wyników, a więc zmiana testu w węźle może wymagać znaczącej przebudowy drzewa o korzeniu w tym węźle. Sytuacja nieco się upraszcza, kiedy są stosowane wyłącznie testy binarne (równościowe, nierównościowe i przynależnościowe), dzięki czemu każdy węzeł ma dokładnie dwa węzły potomne.
3.3. PRZYCINANIE DRZEWA
171
ny ze zbiorem trenującym. Przedstawimy najbardziej typowe metody przycinania obydwu rodzajów. Od razu warto jednak zaznaczyć, że często najlepsze efekty można uzyskać, zamieniając w omawiany wcześniej sposób drzewo decyzyjne na zbiór reguł i następnie przycinając te reguły. Wówczas każdy węzeł, skoro leży na wielu ścieżkach prowadzących od korzenia do liści, będzie reprezentowany jako warunek w wielu regułach. Stwarza to możliwość usunięcia go z tych reguł, w któ rych jest niepotrzebny, i pozostawienia w innych, w których jest nieodzowny. Tego typu elastyczność jest nieosiągalna przy przycinaniu drzew decyzyjnych. Metody przycinania zbiorów reguł przedstawimy w następnym rozdziale, poświęconym uczeniu się pojęć przy tej reprezentacji wiedzy. Przycinanie z oddzielnym zbiorem przycinania Takie podejście stosuje się, jeśli jest dostępna dostatecznie duża liczba etykieto wanych przykładów, które dzieli się wtedy na zbiór trenujący i zbiór przycina nia. Poddrzewo jest przycinane, jeśli po zastąpieniu go liściem nie zwiększy się błąd próbki na zbiorze przycinania, który, zgodnie z przedstawioną w poprzednim rozdziale dyskusją na ten temat, jest najbardziej prawdopodobną wartością błędu rzeczywistego. Algorytm przycinania stosujący takie kryterium jest nazywany przycinaniem redukującym błąd. Jest to algorytm bardzo prosty, a przy tym dający dobre efekty i z pewnością godny polecenia, jeśli możemy sobie pozwolić na poświęcenie na jego potrzeby części przykładów. Często do trenowania używa się ok. 2/3 dostęp nych danych, pozostawiając pozostałą 1/3 do wykorzystania podczas przycinania. Przycinanie na podstawie przykładów trenujących Jeśli ze względu na ograniczoną ilość danych nie możemy poświęcić części z nich wyłącznie dla celów przycinania, to decyzja o przycięciu może być podejmowana na podstawie różnych heurystycznych oszacowań bazujących wyłącznie na zbio rze trenującym i od jakości tych heurystyk zależą uzyskiwane wyniki. Jedna z nich może polegać na wyznaczeniu na podstawie zbioru trenującego pesymistycznego oszacowania błędu przycinanego węzła i porównaniu go z błędem liścia, który miałby ten węzeł zastąpić. Dokładniej, jeśli n oznacza węzeł drzewa T, które go przycięcie jest brane pod uwagę, a 1 oznacza liść, który miałby go wówczas zastąpić, to na podstawie zbioru trenującego T można obliczyć ich błędy próbki eJ'r(n) i ef (1), do których oznaczenia używamy notacji wprowadzonej wcześniej dla hipotez. Pierwszy z nich jest stosunkiem liczby przykładów ze zbioru Tj.n niepoprawnie klasyfikowanych przez poddrzewo o korzeniu w węźle n do liczby wszystkich przykładów w tym zbiorze. Drugi z nich jest ułamkiem o tym samym mianowniku, gdyż Tjn = T i j , którego licznikiem jest liczba przykładów w zbio-
172
ROZDZIAŁ 3. INDUKCJA DRZEW DECYZYJNYCH
rze 7Y,i o kategorii różnej od kategorii większościowej w tym zbiorze, gdyż taka kategoria jest przypisana liściowi L Traktując błąd próbki dla węzła jako parametr rozkładu dwumianowego, co czyniliśmy przy szacowaniu błędów w poprzednim rozdziale, możemy określić dla niego przedział ufności przy pewnym ustalonym poziomie ufności 1 — 6. Będzie nas tu interesować górny koniec tego przedziału, jako reprezentujący pesymistyczne oszacowanie błędu przycinanego węzła. Decy zja o przycięciu, czyli zastąpieniu go liściem 1, zapada pod warunkiem, że błąd próbki liścia nie przekracza tego pesymistycznego oszacowania:
4(l)«eW„) + U i yiSfc5Wl.
(138,
Uważny czytelnik zauważył zapewne, że przedstawione podejście nie jest staty stycznie poprawne, gdyż do szacowania błędów używamy przykładów trenują cych. Heurystyka ta okazuje się jednak dość skuteczna w praktyce. Stosuje ją, na ogół dla us — 1 (co oznacza poziom ufności 68%), metoda przycinania znana jako przycinanie pesymistyczne, Ponieważ mieliśmy już okazję zapoznać się ze statystyką x2, możemy także przedstawić opartą na niej metodę przycinania. Zgodnie z nią węzeł jest zastępo wany liściem, jeśli zależność rozkładu kategorii od wyników przeprowadzanego w tym węźle testu nie jest statystycznie istotna (najczęściej przy poziomie istotno ści co najmniej 5%), co ocenia się na podstawie wartości statystyki %2 obliczanej zgodnie z równaniem (3.34). Ponieważ w podejściu tym nie bierze się pod uwa gę całego przycinanego poddrzewa, a tylko jego korzeń, może być ono stosowane również do przycinania w trakcie wzrostu. 3.3.3
Liście probabilistyczne
Po przycięciu drzewa niektóre jego liście są niespójne z pojęciem docelowym na zbiorze trenującym. Oznacza to, że dla liścia 1 E Lj nie wszystkie przykłady trenujące związane z tym liściem, czyli przykłady ze zbioru TV,i> należą do ka tegorii d\, której etykietą jest opatrzony liść. Godzimy się z tym licząc na to, że uproszczone drzewo będzie miało mniejszy błąd rzeczywisty niż przed przycię ciem. Dla takich niespójnych liści korzystne może być w niektórych sytuacjach odstąpienie od przypisywania im ustalonej etykiety kategorii i traktowanie ich jak liści probabilistycznych, reprezentujących rozkład prawdopodobieństwa poszcze gólnych kategorii dla przykładów, w trakcie klasyfikacji których liście te zostaną osiągnięte. W celu oszacowania wspomnianych prawdopodobieństw możemy wykorzy stać pewien zbiór przykładów etykietowanych P, który z reguły jest zbiorem tre nującym, lecz może być w ogólnym przypadku różny od niego. Zakładając, że na dziedzinie X jest określony pewien rozkład prawdopodobieństwa Q i zbiór P jest
173
3.3. PRZYCINANIE DRZEWA
uformowany zgodnie z tym rozkładem, prawdopodobieństwo tego, że losowo wy brany przykład x E X, który w wyniku klasyfikacji za pomocą drzewa T trafia do liścia 1, należy do kategorii d pojęcia docelowego c, możemy w najprostszym przypadku oszacować następująco: ud
Pr x e »(c(a:)=d|l) =
1
(3.39)
PiT,l|
Takie szacowanie w przypadku, gdy P = T, byłoby zapewne zbyt opty mistyczne i, zwłaszcza dla niewielkich rozmiarów zbioru Ą^, mało wiarygod ne. Zazwyczaj jest więc wówczas przyjmowana pewna pesymistyczna poprawka. Ogólną techniką dokonywania tego typu oszacowań, z którą kilkakrotnie spotka my się jeszcze w następnych rozdziałach, jest podejście znane jako m-szacowanie prawdopodobieństwa. Służy ona do szacowania prawdopodobieństwa wystąpie nia określonej wartości zmiennej losowej na podstawie losowej próby. Aby sfor mułować to oszacowanie w ogólnej postaci, weźmy pod uwagę pewną dyskretną zmienną losową y. Niech n; oznacza liczbę wystąpień i-tej wartości tej zmiennej w n-elementowej próbie losowej. Prawdopodobieństwo pi wystąpienia tej warto ści szacowalibyśmy w zwykły sposób jako stosunek ^-. Poprawka wprowadzana przez m-oszacowanie polega na użyciu w zamian następującego wzoru: ru + rnp .„ m , , (3-40) n +p przy czym rn jest dodatnią liczbą całkowitą, a p oznacza prawdopodobieństwo a priori przypisywane i-tej wartości zmiennej losowej y. Na ogół przy założeniu rozkładu równomiernego p — ~, przy czym v jest liczbą wartości przyjmowanych przez zmienną y. Nieformalnie istotę tego podejścia można wyjaśnić jako uzupeł nianie n-elementowej próby losowej o m dodatkowych „wirtualnych" elementów, dla których zakłada się pewien rozkład prawdopodobieństwa wartości interesu jącej nas zmiennej, zazwyczaj przy braku lepszej wiedzy równomierny. Stosując m-szacowanie w obecnie rozważanym przypadku dlap — rh otrzymujemy: Pi =
ud
PvxeQ{c(x) =d\\)
= 'M. pM1 ,
' ',
(3-41)
a jeśli przyjmiemy rn — |C|, wyrażenie to upraszcza się do postaci: ud T,l
r
P*xen{c{x) = d\l) =
+1
l^il + ICI
(3.42)
Nic nie stoi na przeszkodzie, aby rozkłady prawdopodobieństwa przypisać również liściom spójnych drzew decyzyjnych, oczywiście na podstawie zbioru
174
ROZDZIAŁ 3. INDUKCJA DRZEW DECYZYJNYCH
przykładów P ^ T, gdyż przypuszczalnie dla takiego zbioru nie będą one miały zerowego błędu próbki. Zatem liście powstałe w wyniku przycięcia nie muszą być traktowane w żaden specjalny sposób. Jeśli rozkład prawdopodobieństwa kategorii nas nie interesuje, to dla każdego liścia można określić jego błąd próbki na pew nym zbiorze przykładów P i skorzystać z przedstawionej w poprzednim rozdziale metody estymacji przedziałowej do oszacowania jego błędu rzeczywistego.
3.4
Złożoność obliczeniowa
Ponieważ dla oceny użyteczności wszystkich algorytmów w ogóle, a algorytmów uczenia się w szczególności, duże znaczenie ma ich złożoność obliczeniowa, war to przynajmniej w uproszczony i pobieżny sposób przyjrzeć się kosztom związa nym ze zstępującym konstruowaniem drzew decyzyjnych zgodnie z algorytmem TDIDT. Oczywiście cały niezbędny nakład obliczeń zależy od rozmiaru tworzone go drzewa, który z kolei zależy od pojęcia docelowego. Zajmiemy się w związku z tym tylko złożonością operacji tworzenia nowego węzła, nie wnikając w trudny do analizy problem dotyczący tego, jak wiele razy dla różnych pojęć docelowych i zbiorów trenujących musi ona być wykonana 8 . Dla prostoty ograniczymy się do testów tożsamościowych, zakładając, że na dziedzinie określonych jest n atrybu tów nominalnych. W celu utworzenia nowego węzła muszą być wykonane następujące operacje: 1) wyznaczenie rozkładów częstości przykładów niezbędnych do oceny testów, co kosztuje 0(n |T|), 2) ocena jakości każdego testu i wybór najlepszego z nich, co dla standardowych teorioinformacyjnych funkcji oceny kosztuje 0(n |C|), 3) podział zbioru przykładów na podzbiory, co kosztuje
0(\T\).
Łączną złożoność asymptotyczną możemy wobec tego oszacować jako 0(n |T|), pomijając zależność od niewielkiej na ogół liczby kategorii. Mimo uproszczeń przyjętych w naszej dyskusji (pomijamy w szczególności to, że liczba przykła dów i dostępnych testów zależy od głębokości w drzewie) uzyskany wynik nie jest pozbawiony wartości. Wystawia on dobre świadectwo algorytmom opartym na schemacie TDIDT, gdyż trudno od jakiegokolwiek algorytmu uczenia się pojęć oczekiwać, aby nie wymagał przynajmniej tylu obliczeń, ile trzeba do przetwo rzenia w dowolny sposób każdego przykładu trenującego, opisanego przez n atry butów. W praktyce zstępująca konstrukcja drzew decyzyjnych należy na ogół do najbardziej efektywnych obliczeniowo metod uczenia się pojęć, a w każdym razie dających bardzo dobry stosunek kosztu uzyskania hipotez do ich jakości. s
Taka analiza wymagałaby sformalizowanej miary złożności pojęć dobrze odzwierciedlającej „trudność" ich reprezentacji za pomocą drzew decyzyjnych.
3.5. ZAGADNIENIA PRAKTYCZNE
3.5
175
Zagadnienia praktyczne
Przedstawione algorytmy indukcji drzew decyzyjnych, czyli różne konkretyzacje schematu zstępującej konstrukcji drzewa (ewentualnie w połączeniu z różnymi technikami przycinania), mogą być bezpośrednio stosowane w wielu praktycznych sytuacjach, niekiedy jednak takie zastosowania napotykają przeszkody ujawniają ce potrzebę pewnych rozszerzeń tych algorytmów. Dotyczy to zwłaszcza realnych dziedzin i zbiorów trenujących, które mogą być nie tylko nie w pełni poprawne (to już dopuszczaliśmy omawiając problem nadmiernego dopasowania), lecz także bardzo duże (zawierające dużą liczbę przykładów) i niekompletne (z brakującymi wartościami atrybutów dla niektórych przykładów). 3.5.1
Duże zbiory przykładów
Na pierwszy rzut oka z dużego rozmiaru zbioru trenującego można się tylko cie szyć, gdyż zwiększa on szanse na nauczenie się hipotezy o małym błędzie rze czywistym. Wynika to nie tylko z rezultatów obliczeniowej teorii uczenia się, lecz także ze zwykłego zdrowego rozsądku, który pokłada większe zaufanie w induk cyjnych hipotezach opartych na licznych obserwacjach niż na uogólnieniach ich niewielkiej liczby. Mówiąc o praktycznych aspektach stosowania dowolnego algo rytmu uczenia się nie możemy jednak pominąć kosztów obliczeń, a te siłą rzeczy rosną wraz ze wzrostem ilości informacji trenującej. Wiemy już, że w przypadku zstępującej konstrukcji drzewa decyzyjnego rozmiar zbioru trenującego wpływa na koszt wtedy, kiedy jest ustalany wynik kryterium stopu na podstawie rozkładu kategorii w aktualnie dostępnym zbiorze przykładów oraz kiedy jest wyznacza ny podział tego zbioru na podzbiory przez poszczególne testy i rozkład kategorii w każdym z nich. Oczywiście duża liczba przykładów może stanowić problem także ze względu na wymagania pamięciowe. Jednym z podejść do złagodzenia problemów obliczeniowych algorytmów in dukcyjnego uczenia się pojęć związanych z dużą liczbą przykładów trenujących jest wykorzystanie techniki okienkowania, czyli uczenia się na podstawie począt kowo małych i w miarę potrzeby rosnących podzbiorów zbioru trenującego, na zywanych zbiorami roboczymi. Schemat tego sposobu postępowania przedstawia algorytm 3.3. Pomysł polega na wybieraniu stosunkowo niewielkiego losowego podzbioru całego zbioru trenującego i uczeniu się hipotezy na podstawie tak otrzymane go zbioru roboczego. Uzyskana hipoteza jest następnie testowana na pozostałych przykładach trenujących, a zbiór roboczy jest uzupełniany o niektóre (również lo sowo wybrane) spośród tych, które są przez nią klasyfikowane niepoprawnie. Dla nowego zbioru roboczego wykorzystywany algorytm uczenia się ponownie gene ruje hipotezę i cały proces powtarza się tak długo, jak długo kolejna hipoteza jest
176
ROZDZIAŁ 3. INDUKCJA DRZEW DECYZYJNYCH
funkcja okienkowanie(T) argumenty wejściowe: T — zbiór trenujący; zwraca: hipotezę znalezioną na podstawie zbioru T; powtarzaj wybierz losowo zbiór roboczy W C T; powtarzaj naucz się hipotezy h dla zbioru roboczego W\ testuj hipotezę dla pozostałych przykładów ze zbioru T; dodaj pewną liczbę losowo wybranych błędnie klasyfikowanych przez h przy kładów z T do W; aż nastąpi brak poprawy błędu próbki hipotezy /inaT; przytnij uzyskaną hipotezę; koniec powtarzaj wybierz najlepszą z uzyskanych hipotez. Algorytm 3.3. Schemat okienkowania dla indukcyjnego uczenia się pojęć lepsza od poprzedniej ze względu na błąd próbki na zbiorze trenującym (lub dopó ki błąd próbki nie spadnie poniżej wymaganego poziomu). Błąd próbki jest w tym miejscu jedynym kryterium oceny, gdyż po zakończeniu generowania serii hipotez ostatnia z nich jest przycinana w celu uniknięcia nadmiernego dopasowania. Po nieważ jednak ostateczny rezultat całego takiego procesu może zależeć od wyboru początkowego zbioru roboczego (i następnie dodawanych do niego przykładów), sugeruje się powtarzanie go pewną liczbę razy i ostateczny wybór najlepszej z uzy skanych hipotez, przy czym tym razem stosowane kryterium jakości może oprócz błędu próbki uwzględniać inne cechy, takie jak złożoność. Doświadczenia wskazu ją, że użycie zbioru roboczego, który początkowo zawiera około jednej dziesiątej całego zbioru trenującego, prowadzi w typowych przypadkach do uzyskania zado walającej hipotezy po kilku iteracjach. Dla średnich i dużych zbiorów trenujących (od tysięcy do setek tysięcy przykładów) oznacza to na ogół znaczne oszczędności w stosunku do próby uczenia się na podstawie całego zbioru trenującego. Okienkowanie jest głównie znane z literatury dotyczącej drzew decyzyjnych i dlatego opisujemy tę technikę w tym rozdziale, lecz może być ona równie uży teczna dla innych metod indukcyjnego uczenia się pojęć. Są także znane inne tech niki przezwyciężania problemów związanych z dużymi rozmiarami zbiorów tre nujących. Do zagadnień tych wrócimy w związku z tym w rozdziale 10, poświę conym między innymi praktycznym aspektom stosowania indukcyjnego uczenia się do eksploracji rzeczywistych baz danych.
3.5.2
Atrybuty o wielu wartościach
Testy tożsamościowe lub równościowe, choć w zasadzie mogą być stosowane dla atrybutów o dowolnej skończonej liczbie wartości, mogą okazać się trudne w uży-
3.5. ZAGADNIENIA PRAKTYCZNE
177
ciu, gdy liczba tych wartości jest duża, większa niż kilkanaście. Rośnie wówczas nie tylko nakład obliczeń niezbędnych do ich oceny i wyboru najlepszego, lecz także niebezpieczeństwo uzyskania drzew nadmiernie złożonych. Nie chodzi tu o ewentualne nieuzasadnione preferencje niektórych funkcji oceny dla testów o du żej liczbie wyników, które —jak widzieliśmy — można wyeliminować, lecz o to, że nawet dla najlepszego testu tożsamościowego z pewnością nie każdy jego wy nik (czyli nie każda z wielu wartości atrybutu) prowadzi do podzbioru przykładów istotnie różniącego się od pozostałych podzbiorów ze względu na rozkład katego rii i wartości innych atrybutów. Im test ma więcej wyników, tym przypuszczalnie więcej wśród nich jest takich, które wyznaczają podobne podzbiory. To oznacza, że dla odpowiadających tym podzbiorom węzłów potomnych najlepsze mogą się okazać takie same testy. Może być wręcz tak, że niektóre z nich staną się korzenia mi identycznych lub bardzo podobnych poddrzew. Takie zwielokrotnianie testów lub całych poddrzew, nazywane fragmentacją, może wystąpić również dla testów o niewielu wynikach, lecz jest wówczas mniej prawdopodobne. Możliwość uniknięcia fragmentacji i innych problemów związanych z atrybu tami o wielu wartościach kryje się w dokonaniu agregacji tych wartości, których rozróżnianie okazuje się zbędne lub mało przydatne. W przypadku drzew decy zyjnych zbliżony efekt można również uzyskać stosując testy przynależnościowe zamiast równościowych. Ponieważ jednak problemy z atrybutami o zbyt wielu wartościach i korzyści możliwe do osiągnięcia dzięki agregacji są wspólne więk szości algorytmów indukcyjnego uczenia się, wrócimy do niej w rozdziale 7, po święconym różnym przekształceniom zestawu atrybutów opisujących przykłady.
3.5.3 Brakujące wartości atrybutów Dla rzeczywistych zbiorów danych, pochodzących z obserwacji, pomiarów, testów diagnostycznych, kwestionariuszy i innych typowych źródeł, niekompletność jest jak najbardziej naturalną właściwością. Często zdarza się, że dla niektórych przy kładów wartości niektórych atrybutów nie są znane. Zjawisko to może występować zarówno dla przykładów ze zbioru trenującego, jak i dla nowych przykładów, któ re mają być klasyfikowane za pomocą uzyskanej wcześniej hipotezy. Algorytmy indukcji drzew decyzyjnych w przedstawionej dotychczas podstawowej postaci nie mogą być wówczas bezpośrednio zastosowane, gdyż u ich podstaw znajduje się domniemane założenie o dostępności pełnej informacji o przykładach. Pro blem ten, tak jak poprzednio dyskutowany problem dużych zbiorów trenujących, jest zresztą wspólny dla wszystkich algorytmów indukcyjnego uczenia się pojęć. Podejścia do jego przezwyciężenia, które zasugerujemy poniżej, są w większo ści uniwersalne, czyli niezależne od stosowanego algorytmu uczenia się, chociaż przedstawimy je dla większej konkretności zakładając, że mają być wykorzystane dla drzew decyzyjnych.
178
ROZDZIAŁ 3. INDUKCJA DRZEW DECYZYJNYCH
Brakujące wartości podczas uczenia się Podczas konstruowania drzewa decyzyjnego brak wartości atrybutów uniemożli wia obliczenie dla tych atrybutów wartości funkcji oceny używanej do wyboru testu (np. przyrostu informacji) oraz, po wyborze testu, dokonanie podziału zbioru przykładów na podzbiory odpowiadające poszczególnym wynikom tego testu. Dla pierwszego z tych problemów, podczas rozważania testu na wartości atrybutu a, którego wartości są dla niektórych przykładów ze zbioru P nieznane, są między innymi możliwe rozwiązania podane niżej. Pomijanie: ze zbioru P są usuwane przykłady, dla których wartość atrybutu a jest nieznana. Redukcja: wartość funkcji oceny dla rozważanego testu, obliczona z pominię ciem przykładów z brakującymi wartościami atrybutu a, jest mnożona przez współczynnik redukcji równy stosunkowi liczby przykładów w zbiorze P o znanych wartościach tego atrybutu do liczby wszystkich przykładów w P. Wypełnienie: brakujące wartości atrybutu a dla wszystkich przykładów x G P są wypełniane wartościami z jego przeciwdziedziny, wybranymi zgodnie z pewną strategią: • najczęściej występującą wartością tego atrybutu w zbiorze P, • najczęściej występującą wartością tego atrybutu w zbiorze Pc(x\ czyli w'zbiorze przykładów o tej samej kategorii co przykład x, • wartością ustaloną na podstawie znanych wartości innych atrybutów dla przykładu x i jego kategorii za pomocą hipotezy uzyskanej przez uczenie się pojęcia docelowego identycznego z atrybutem a, jeśli jest to atrybut dyskretny, lub aproksymacji funkcji identycznej z a, jeśli jest to atrybut ciągły, z wykorzystaniem pewnego algorytmu uczenia się9. Podział: zastąpienie każdego przykładu z nieznaną wartością atrybutu a przykła dami ułamkowymi dla różnych wartości tego atrybutu występujących w zbiorze P, w proporcji zgodnej z częstością ich występowania. Pomijanie nieznanych wartości daje na ogół niezbyt dobre efekty (chyba że nieznane są wartości tylko dla bardzo niewielu przykładów), co trudno uznać za dziwne. Dość skuteczne może być wypełnianie brakujących wartości, zwłaszcza wartościami „wyuczonymi", chociaż przewaga tego podejścia nad „naiwnym" wy pełnianiem najczęściej występującymi wartościami jest często mniejsza, niż mo głoby się wydawać. W wielu przypadkach najlepiej sprawdza się technika przy kładów ułamkowych. Wymaga ona związania z każdym przykładem trenującym liczby jego egzemplarzy. Zwykle każdy przykład ma dokładnie jeden egzemplarz, 9 Może to być w szczególności indukcja drzew decyzyjnych, chociaż lepiej sprawdzają się prost sze algorytmy, takie jak naiwny klasyfikator bayesowski, o którym będzie mowa w rozdziale 5.
179
3.5. ZAGADNIENIA PRAKTYCZNE
lecz przykłady ułamkowe mają liczbę egzemplarzy między 0 a 1. Przykład z nie znaną wartością atrybutu zostaje zastąpiony zbiorem przykładów ułamkowych ze wszystkimi wartościami tego atrybutu występującymi w zbiorze P ; dla każdej z nich liczba egzemplarzy jest ustalona jako stosunek liczby przykładów w zbio rze P z taką wartością atrybutu a do liczby wszystkich przykładów w P ze znaną wartością tego atrybutu. Wykorzystanie przykładów ułamkowych musi oznaczać użycie do obliczania liczby elementów poszczególnych zbiorów występujących w funkcji oceny testów sumy liczby egzemplarzy dla każdego elementu zbioru, uwzględniającej zarówno przykłady zwykłe, jak i ułamkowe. Przykład 3.8 (Pogoda). Załóżmy, że zbiór trenujący dla dziedziny stanów pogody podany w tabl. 2.2 został uzupełniony o przykład, dla którego wartość atrybutu aura nie jest znana: X
15
1 aura temperatura wilgotność ciepła normalna —
wiatr silny
c(x) 1
Może on zostać zastąpiony następującymi przykładami ułamkowymi: 1) z wartością atrybutu aura równą słoneczna i liczbą egzemplarzy równą ~, 2) z wartością atrybutu aura równą pochmurna i liczbą egzemplarzy równą ^-, 3) z wartością atrybutu aura równą deszczowa i liczbą egzemplarzy równą ^ . Do obliczenia funkcji oceny dla testu na atrybucie aura na podstawie zbioru trenują cego T uzupełnionego o te trzy przykłady ułamkowe należy przyjąć: \Tl\ = 10,
|T°| = 5,
= 5+ s-
]•*• nura,słoneczna]
\r[
—£•
1
j - 1 auraysłoneczna\
\T°
\= 1
l* aura,słoneczna]
°>
= <+n-
]•*• aura, pochmurna]
Ir 1 |
I -<+*•
aura,pochmurna \ |-i aura,deszczował
\Tl -*-aura,deszczowa
\T°
= 0,
\ aura,pochmurna
= »+£•
1 = ^4^ '
14'
\T°
I = 2.
I ^ aura,deszczowa \
Do problemu podziału przykładów na podzbiory dla poszczególnych gałęzi odpowiadających wynikom testu na atrybucie a, którego wartości dla niektórych przykładów ze zbioru P nie są znane, także mogą być stosowane powyższe podej ścia, z wyjątkiem oczywiście redukowania wartości funkcji oceny testu, która nie jest w tym przypadku używana. Ponadto można użyć podanych niżej dodatkowych technik.
180
ROZDZIAŁ 3. INDUKCJA DRZEW DECYZYJNYCH
Losowanie: przykłady z nieznaną wartością atrybutu a są zaliczane do podzbioru wybranego losowo z prawdopodobieństwem proporcjonalnym do liczby przy kładów w P ze znanymi wartościami tego atrybutu, dla których stosowany test daje odpowiadający temu podzbiorowi wynik. Oddzielna gałąź: dla węzła, w którym jest testowany atrybut a, tworzona jest dodatkowa gałąź odpowiadająca nieznanym wynikom testu. Drugie z tych podejść jest wprawdzie pociągające ze względu na swoją prostotę i elegancję, lecz na ogół nie jest godne polecenia, jeśli brakujące wartości atrybu tów występują dla wielu przykładów. Brakujące wartości podczas klasyfikowania Jeśli przy próbie klasyfikowania przykładu za pomocą zbudowanego wcześniej drzewa wartość atrybutu a wykorzystywanego przez pewien test t, który napoty kamy przemieszczając się na ścieżce od korzenia drzewa, nie jest znana, to jego klasyfikacja w zwykły sposób staje się niemożliwa. Metody radzenia sobie z tym problemem są podobne do przedstawionych wyżej stosowanych podczas konstru owania drzewa. Oddzielna gałąź: jeśli utworzono specjalną gałąź dla nieznanych wartości, to na leży oczywiście przejść do poddrzewa, do którego prowadzi ta gałąź. Zatrzymanie: proces klasyfikacji zostaje zatrzymany w aktualnym węźle i dla przykładu jest podawana kategoria większościowa związanych z nim przykła dów trenujących (wymaga to przechowywania w węzłach odpowiednich licz ników). Wypełnienie: nieznaną wartość atrybutu wypełnia się wartością z jego przeciwdziedziny zgodnie z jedną z podanych wcześniej strategii, co umożliwia kla syfikowanie go w zwykły sposób. Klasyfikacja probabilistyczna: uwzględniane są wszystkie gałęzie, odpowiada jące wszystkim możliwym wynikom testu i prowadzące do różnych liści drze wa, a kategoria przykładu jest ustalana przez przypisanie każdemu z nich praw dopodobieństwa jego osiągnięcia i wybór kategorii najbardziej prawdopodob nej. Ostatnie podejście jest na ogół najbardziej skuteczne i warto omówić je do kładniej. Niech ścieżka od korzenia drzewa decyzyjnego T do pewnego liścia 1 E Lj prowadzi kolejno przez m węzłów ni, 112,... , n m , z którymi są zwią zane odpowiednio testy £1, £2, • • •, *m- Przez r\ E Rtx, r^ G Rt2:..., rm E Ą m oznaczmy odpowiednie wyniki tych testów, wyznaczające kolejne gałęzie drze wa składające się na ścieżkę do liścia 1. Ilustruje to rys. 3.4. Prawdopodobieństwo tego, że podczas klasyfikowania pewnego ustalonego przykładu x* zostanie osiąg-
181
3.5. ZAGADNIENIA PRAKTYCZNE
nięty liść 1, można wówczas zapisać jako następujący iloczyn: Pr(l | x,) = Pr(t!(x*) = n ) • Pr(i 2 (z*) = r2 \ tx(x*) = n) • •Pr(t 3 (a;*) = r 3 |*i(a;*) = rut2{x*) •Pr{tm(x*)
= rm\ti(x*)
= r2) • . . . •
= 7 - 1 , . . . , ^ - 1 ( 2 ^ ) = r m _ i ) . (3.43)
•
nnnnnnnn Rys. 3.4. Ścieżka w drzewie decyzyjnym
Gdy wyniki każdego testu dla przykładu x* są znane (czyli wartości wszyst kich atrybutów są dla tego przykładu dostępne), każde z występujących w po wyższym wyrażeniu prawdopodobieństw jest równe dokładnie 0 albo 1. Wówczas osiągany podczas klasyfikowania tego przykładu liść jest wyznaczony jednoznacz nie: prawdopodobieństwo jego osiągnięcia wynosi 1, a prawdopodobieństwo osią gnięcia dowolnego innego liścia wynosi 0. Jeśli jednak wynik pewnego testu tk przeprowadzanego w węźle n^ nie może być ustalony ze względu na brakują cą wartość odpowiedniego atrybutu, to możemy przyjąć, że prawdopodobieństwo Pr(tk(x*) = Tk\t\(x*) ~ r i , . . . ,*fc_i(a;*) = Tk-\) ma wartość równą odpo wiedniemu prawdopodobieństwu dla losowo wybranego przykładu z dziedziny, zgodnie z określonym na niej pewnym rozkładem prawdopodobieństwa fi, czy li Pvxcn(tk{x) = rk I ti(x) = r i , . . . ,tk-i(x) = rk_i). Dla dowolnego zbioru przykładów P i testu t przez P $ oznaczymy jego podzbiór złożony ze wszyst kich przykładów, dla których wynik testu t jest znany. Zakładając brak innych informacji na temat rozkładu wartości testowanego atrybutu w dziedzinie X praw dopodobieństwo powyższe można oszacować na podstawie zbioru trenującego lub być może innego zbioru przykładów P , uformowanego zgodnie z rozkładem fi, w następujący oczywisty sposób: P*xeu{th{x)
= rk \h{x)
= ru...,tk_i(x)
= rk^{)
=
fe] , PT,n Jr
k k k
PH
T,m
(3.44)
182
ROZDZIAŁ 3. INDUKCJA DRZEW DECYZYJNYCH
czyli jako stosunek liczby przykładów związanych z węzłem n^, zawierającym test tk, dla których wynik tego testu jest znany i równy r^ 10 , do liczby wszystkich przykładów związanych z tym węzłem, dla których wynik tego testu jest znany. Je śli p — T, oszacowania takiego można dokonać w trakcie budowy drzewa i prze chowywać jego wynik w każdym jego węźle, aby nie wykonywać tych samych obliczeń wielokrotnie. Dla dowolnego przykładu x*, dla którego wynik jednego lub większej liczby testów nie może być ustalony, możemy więc osiągnąć z niezerowym prawdopodo bieństwem wiele liści. Prawdopodobieństwo tego, że kategorią tego przykładu jest pewna kategoria d G C, oszacujemy wówczas jako Pi(c{x*) = d) -
Y,
P r U I * * ) * p r*en(c(x) = d | l ) ,
(3.45)
przy czym Prxen(c(x) = d\ 1) oznacza prawdopodobieństwo tego, że kategorią przykładu x wybranego z dziedziny zgodnie z rozkładem ft i zaliczonego do li ścia 1 jest d. Sposób szacowania tego prawdopodobieństwa podaliśmy omawiając liście probabilistyczne w równaniu (3.39). Przykład 3.9 (Pogoda). Wykorzystamy drzewo decyzyjne dla dziedziny stanów pogody przedstawione na rys. 3.2 do klasyfikacji przykładu x*9 dla którego wartość atrybutu aura nie jest znana, a wartości pozostałych atrybutów są równe; temperatura(x*) — ciepła, wilgotność(x±) — normalna, wiatr(x*) = silny. Na podstawie zbioru trenującego przedstawionego w tabl. 2.2 szacujemy prawdo podobieństwa poszczególnych wyników testu przeprowadzanego w korzeniu drzewa w bezpośredni sposób następująco: 5 Prxen(aura(x) = słoneczna) — —, 4 Prxe&(aura(x) = pochmurna) = —, 5 PrxeQ(aura(x) = deszczowa) = —. Ponieważ wartości pozostałych atrybutów są znane, nie ma potrzeby szacowania in nych prawdopodobieństw. Oznaczając przez li jedyny liść drzewa na poziomie 1, a pozostałe liście poziomu 2 przez I2, I3, I4, I5, w kolejności od lewej do prawej na rys. 3.2, możemy obliczyć prawdopodobieństwa osiągnięcia tych liści przy klasy fikowaniu przykładu x* w poniższy sposób: Pr(l1|xł) = ^ , 10
Przyjmujemy tu oczywiście oznaczenie PjJ
t r
= P^ kn C\Ptkrk-
3.5. ZAGADNIENIA PRAKTYCZNE
Pr(l 2
5
1**) = 14
183
- £ •
Pr(l 3 \x*) = 5 •0 = 0, 14 5 •0 = 0, \x*) = Pr(l 4 14 5 l x * ) = Pr(l 5 14 • • = £ • Jeśli teraz przyjmiemy, że każdy z tych liści jest „dokładny", czyli że: P r x e n ( c ( a : ) = d , | l ) = l, Pr:ceQ(c(x-)/d,|l)=0, to prawdopodobieństwa poszczególnych kategorii dla przykładu i , wyniosą: Pr(c(xO = 1) = ^ , Pr(c(i,) = 0) = A Zauważmy, że tyle samo wyniosłyby szacowane na podstawie zbioru trenującego prawdopodobieństwa poszczególnych kategorii dla dowolnego przykładu (wyloso wanego zgodnie z tym samym co ten zbiór rozkładem prawdopodobieństwa), dla którego nie znalibyśmy wartości żadnego atrybutu. Obserwacja ta mogłaby sugero wać, że znane wartości atrybutów dla przykładu x* są w tym przypadku bezużytecz ne, jest to jednak tylko zbieg okoliczności. Można się o tym przekonać przyjmując wi'dtr{x) — słaby lub zakładając, że również wartość atrybutu wiatr nie jest znana. Uzyskany wynik byłby wówczas oczywiście inny.
3.5.4
Inkrementacyjne konstruowanie drzewa
Schemat zstępującego konstruowania drzewa, którym zajmowaliśmy się dotych czas, może być w przedstawionej postaci stosowany wyłącznie we wsadowym try bie uczenia się. W celu zbudowania drzewa decyzyjnego wymaga on dostarczenia całego zbioru trenującego, który jest następnie rekurencyjnie dzielony na podzbio ry w miarę oddalania się od korzenia. Nie jest to bardzo poważne ograniczenie możliwości zastosowań algorytmów opartych na tym schemacie, gdyż bardzo czę sto zbiór trenujący jest dostępny i może być uczniowi dostarczony w całości —jest tak w szczególności wówczas, gdy przykładami trenującymi są rekordy pewnej bazy danych, do odkrywania wiedzy w której stosuje się indukcję drzew decyzyj nych. Możliwość inkrementacyjnej aktualizacji drzewa może być jednak niekiedy pożądana, a czasem nieodzowna. Można wskazać dwie, do pewnego stopnia po krewne, sytuacje, kiedy staje się ona ważna: • jeśli okresowo pojawiają się nowe dane trenujące, które należy uwzględnić, a budowa całego drzewa od nowa jest nie do przyjęcia ze względu na koszt obliczeniowy lub niedostępność „starych" przykładów trenujących,
184
ROZDZIAŁ 3. INDUKCJA DRZEW DECYZYJNYCH
• jeśli źródło danych trenujących z natury dostarcza ich szeregowo, w posta ci być może nieskończonego strumienia (np. jako pomiarów lub obserwacji pewnych wielkości w kolejnych jednostkach czasu), i pożądane jest ciągłe do skonalenie drzewa po każdym przykładzie. Nawet jeśli sytuacje, o jakich mówimy, nie są szczególnie częste ani typowe, dobrze jest mieć świadomość, czy i w jaki sposób można odpowiedzieć na ich wyzwania. Okazuje się, że można na nie odpowiedzieć i to w sposób dość zadowalający, chociaż w szczegóły tej odpowiedzi nie będziemy się zagłębiać. Jest jasne, że pod stawowy schemat inkrementacyjnego konstruowania drzewa decyzyjnego można sformułować jako procedurę składającą się z operacji wykonywanych w celu mo dyfikacji dotychczasowego drzewa przez uwzględnienie kolejnego przykładu tre nującego. Aby zrekompensować brak dostępności wszystkich przykładów trenują cych, można przyjąć, że w węzłach i liściach drzewa są przechowywane informa cje niezbędne do podejmowania decyzji o wybieraniu testów i ustalaniu katego rii. Chodzi tu konkretnie o liczby |P|, \Pd , \Ptr\ i \Pfr\ dla wszystkich kategorii d E C oraz możliwych testów t i ich wyników r G Ru przy czym P oznacza zbiór wszystkich dotychczasowych przykładów odpowiadających danemu węzłowi lub liściowi. Do ich wyznaczenia zbiór ten nie jest wymagany, więc nie ma potrzeby zapamiętywania tych przykładów. Wystarczy, uwzględniając w węźle lub liściu nowy przykład, dokonać aktualizacji przechowywanych w nim informacji, pole gającej na zwiększeniu odpowiednich liczników. Uwzględnienie pierwszego przykładu powoduje utworzenie liścia. Każdy ko lejny przykład uwzględniany w liściu lub węźle powoduje zwiększenie związa nych z nim liczników. Gdy jest to liść, uwzględnianie przykładu może zostać za kończone lub liść może zostać przekształcony w węzeł. Decyzja ta ma znaczenie analogiczne do decyzji o zatrzymaniu rekurencyjnych wywołań przy zstępującej konstrukcji drzewa, a kryterium jej podejmowania, które nazwiemy w związku z tym kryterium stopu, może być również bardzo podobne. Jeśli kryterium stopu dla liścia nie jest spełnione, to zostaje on zastąpiony węzłem, dla którego oczywi ście jest wybierany test najlepszy według przyjętej funkcji oceny. Następnie przy kład musi zostać uwzględniony w tym poddrzewie utworzonego węzła, któremu odpowiada uzyskiwany dla niego wynik wybranego testu. To samo zresztą musi się stać, jeśli uwzględniamy przykład w węźle, który nie został właśnie utworzo ny w celu zastąpienia liścia, lecz był już nim przedtem. Oczywiście uzyskiwane w ten sposób drzewa będą silnie uzależnione od kolejności dostarczania przykła dów i z pewnością w większości przypadków dalekie od optymalności ze wzglę du na rozmiar. Rozmiar drzew decyzyjnych zależy od wybieranych testów, więc do utrzymania odpowiednio wysokiej jakości drzewa niezbędna jest możliwość okresowej weryfikacji testów umieszczonych w poszczególnych węzłach i w razie
3.6. ZAGADNIENIA IMPLEMENTACYJNE
185
potrzeby ich zmiana, prowadząca do rekonstrukcji drzewa. Dla każdego węzła na leży zatem sprawdzić, czy aktualnie umieszczony w nim test jest najlepszy według przyjętej funkcji oceny, której wartość można obliczyć korzystając z przechowy wanych w tym węźle liczników. Jeśli okaże się, że test ten powinien zostać wymie niony na inny, to powstaje konieczność rekonstrukcji, która w ogólnym przypadku może być operacją dość skomplikowaną, a także kosztowną, zdecydowanie jednak mniej niż kosztowałoby zbudowanie nowego poddrzewa od podstaw.
3.6
Zagadnienia implementacyjne
Algorytmy indukcji drzew decyzyjnych są dość proste do implementacji i nie ma zbyt wielu problemów, o których należałoby tu wspomnieć. Podstawowy schemat zstępującej konstrukcji drzewa, który sformułowaliśmy jako algorytm rekurencyjny, może być zazwyczaj bezpośrednio zaimplementowany jako funkcja lub proce dura rekurencyjna bez obaw o ewentualne problemy efektywnościowe, jakie mo głyby się z tym wiązać. Warto jednak zwrócić uwagę na sposób przekazywania do niej argumentów, gdyż brak należytej ostrożności może być źródłem problemów dla większych zbiorów trenujących. Na specjalne traktowanie zasługują także te sty nierównościowe, dla których można łatwo usprawnić proces obliczania funkcji oceny. 3.6.1
Reprezentacja drzewa
Do reprezentacji drzewa decyzyjnego mogą być wykorzystane dowolne rodzaje struktur danych, jakie powszechnie stosuje się do reprezentacji drzew. Może to być najbardziej naturalna implementacja łącznikowa, w której gałęzie łączące po szczególne węzły i liście są dowiązaniami odpowiednich struktur programu, re alizowanymi w zależności od możliwości dostępnych w używanym języku pro gramowania za pomocą wskaźników lub odniesień. Wydaje się, że jest to na ogół podejście w pełni godne polecenia. Można również reprezentować drzewa za po mocą tablic, przyjmując odwzorowanie poszczególnych węzłów i liści na elemen ty tablicy w odpowiedni, systematyczny sposób. Wymaga to od programisty nieco więcej wysiłku, lecz może być w niektórych specyficznych przypadkach uzasad nione bądź ograniczeniami używanego języka programowania (co jednak jest ma ło prawdopodobne, biorąc pod uwagę, jakie języki są obecnie w powszechnym użyciu), bądź wygodą realizacji na takich drzewach pewnych innych potrzebnych operacji. W każdym razie chęć zaoszczędzenia na pamięci potrzebnej do prze chowywania wskaźników przy implementacji łącznikowej nie jest dostatecznym argumentem na rzecz jej odrzucenia, tym bardziej że dla rzeczywistych zbiorów danych trenujących, nawet bardzo dużych, rzadko występuje potrzeba konstruowa nia drzew dużych rozmiarów.
186 3.6.2
ROZDZIAŁ 3. INDUKCJA DRZEW DECYZYJNYCH
Rekurencja
Maksymalna głębokość rekurencji przy wywołaniach funkcji konstruującej drze wo jest jednocześnie głębokością tworzonego drzewa. Na ogół nie ma obawy, aby była na tyle duża, żeby odstąpienie od naturalnej rekurencyjnej implementacji było uzasadnione przez zbyt duży rozmiar potrzebnego w tym celu stosu lub koszt wy wołań oraz przekazywania argumentów i zwracanych wyników. Ograniczeniem głębokości rekurencji przy konstruowaniu drzewa jest liczba możliwych testów, z których każdy może być w ciągu kolejnych wywołań rekurencyjnych użyty co najwyżej raz, lecz dla występujących w praktyce zbiorów trenujących odpowia dających „rzeczywistym" pojęciom faktyczna głębokość uzyskiwanych drzew jest z reguły wielokrotnie mniejsza. Zawsze istnieje też możliwość modyfikacji kryte rium stopu przez uwzględnianie w nim w razie potrzeby jeszcze silniejszego ogra niczenia głębokości drzew. Jeśli mimo to z jakichś szczególnych względów imple mentacja rekurencyjna stwarza problemy efektywnościowe lub jest niemożliwa ze względu na ograniczenia stosowanego języka programowania (co dla współ czesnych języków ogólnego przeznaczenia nie może oczywiście mieć miejsca), pozostają dwie możliwości. Pierwsza to „symulacja" rekurencji przez programi stę za pomocą obsługiwanego przez niego własnego, jawnego stosu, na którym na ogół wystarczy przechowywanie znacznie mniejszej ilości informacji niż przy bezpośredniej realizacji przez wywołania funkcji lub procedur. Jest to standardo wa technika eliminacji rekurencji, która, nie zmieniając podstawowego algorytmu, implementuje go w sposób mniej przejrzysty i bardziej podatny na błędy programi styczne, lecz bardziej efektywny. Druga możliwość to zmiana algorytmu zstępują cego konstruowania drzewa przez zastąpienie stosowanej do rozwijania kolejnych węzłów strategii „w głąb" strategią „wszerz". Strategia „w głąb" oznacza, że jeśli dla nowo utworzonego węzła drzewa istnieje pewna liczba gałęzi, to kolejno dla każdej z nich jest konstruowane pełne poddrzewo aż do osiągnięcia liści, zanim zostanie wzięta pod uwagę następna gałąź. Przy podejściu „wszerz" dla każdej gałęzi najpierw jest tworzony tylko jeden poziom węzłów lub liści potomnych, a następnie w ten sam sposób przetwarza się gałęzie wychodzące z tych węzłów itd. W jeszcze bardziej skrajnym podejściu można każdorazowo brać pod uwagę tylko jedną nierozwiniętą gałąź w całym drzewie, znajdującą się na jego dowol nym poziomie i wybieraną ze względu na funkcję jakości najlepszego testu, jaki może być użyty w celu utworzenia dla niej węzła. O takim schemacie konstrukcji drzewa decyzyjnego powiemy, że wykorzystuje strategię „najpierw najlepszy".
3.6.3
Przekazywanie argumentów
Istnieją szanse graniczące z pewnością, że żadne z rozważanych w poprzednim akapicie sposobów eliminacji jawnej rekurencji z implementacji zstępującego kon-
3.6. ZAGADNIENIA IMPLEMENTACYJNE
187
struowania drzewa nie będą potrzebne, jeśli zadbamy o właściwe przekazywanie argumentów do funkcji rekurencyjnej. To właśnie rozmiar przekazywanych argu mentów decyduje o narzucie związanym z rekurencyjnymi wywołaniami — o ilo ści potrzebnej pamięci na stosie i czasie realizacji wywołania. W naszym przy padku są dwa takie istotne argumenty: zbiór przykładów, dla którego w danym wywołaniu ma być konstruowane poddrzewo, oraz zbiór testów, jakie mogą być w tym poddrzewie użyte. Wspominaliśmy już wyżej, że ten drugi argument nie jest zazwyczaj, ściśle rzecz biorąc, konieczny, lecz jego wykorzystanie jest uza sadnione właśnie efektywnością (chodzi o uniknięcie obliczania jakości testów, które i tak okazałyby się bezużyteczne), więc przyjmiemy, że jest on używany. Dla tych dwóch argumentów ważne jest przyjęcie reprezentacji minimalizującej ilość wykorzystywanej pamięci. Przede wszystkim należy się wystrzegać podej ścia naiwnego, w którym przekazywany zbiór przykładów zawierałby opisy tych przykładów, czyli wartości poszczególnych atrybutów. To, co na poszczególnych poziomach rekurencji się zmienia, to zbiór przykładów, lecz nie wartości atrybu tów każdego z nich, które byłyby wielokrotnie kopiowane bez żadnej potrzeby. Wystarczy zatem przekazywanie informacji identyfikującej same przykłady, na przykład ich numery w zbiorze trenującym. Podobną uwagę można odnieść także do zbioru testów — dla testów tożsamościowych wystarczy na przykład numer atrybutu, którego on dotyczy, a dla testów nierównościowych numerowi atrybutu mógłby towarzyszyć zbiór wartości progowych. Lepszym pomysłem wydaje się poprzestanie na numerze atrybutu również w tym przypadku, a określanie moż liwych wartości progowych na podstawie wartości tego atrybutu występujących w przekazanym zbiorze przykładów, co może być łatwo połączone z obliczaniem dla nich funkcji jakości. Do tej ostatniej możliwości powrócimy niżej, teraz zaś wspomnimy jeszcze o innym podejściu. Otóż reprezentując w odpowiedni sposób przekazywany zbiór testów możemy w ogóle wyeliminować potrzebę przekazy wania przykładów. W istocie do wyznaczenia funkcji oceny testów, które przed stawialiśmy, są potrzebne liczby elementów w zbiorach Ptr i Pd dla każdego testu t, jego możliwego wyniku r E Rt i kategorii d E C, nie zaś same te zbiory. W związku z tym dla każdego testu wystarczy przekazywanie odpowiednich liczb i modyfikowanie ich w odpowiedni sposób (pomniejszanie) przy wywołaniach rekurencyjnych. 3.6.4
Ocena testów nierównościowych
W przykładzie 3.6 zauważyliśmy, że rozważając wartości progowe dla testów nie równościowych w kolejności zgodnej z uporządkowaniem wartości odpowiednie go atrybutu, występujących w dostępnym zbiorze przykładów P, możemy nieco zaoszczędzić na obliczeniach przy wyznaczaniu \Ptr\ i \Pfr\. Weźmy pod uwa gę testy nierównościowe £i, ^ • • • ,tm dla pewnego ciągłego lub porządkowego
188
ROZDZIAŁ 3. INDUKCJA DRZEW DECYZYJNYCH
atrybutu a, odpowiadające wartościom progowym 61,82,... ,6m uporządkowa nym w kolejności rosnącej. Znając \Ptkr\ i \Pfkr\ ^ a pewnego kir e {0,1} można wyznaczyć |i=£fc+ir | i pd
tk+ir
w następujący sposób:
l p ^+io| - l^tfcol
\{x£P\6k
\Ptk+il\=
\{x € P I 0k < a(x)
\ptki\ d
I
tfc + i o r>d
—
Ś0k+l}\,
d
Pt ko\~\{xeP \6kd
+
{x E Pd \ 0k < a(x) ^
(3.46) (3.47) (3.48)
6k^}
(3.49)
dla dowolnej kategorii d. Wystarczy zatem policzyć przykłady ze zbioru P oraz jego podzbiorów Pd odpowiadających poszczególnym kategoriom, dla których wartość interesującego nas atrybutu spełnia warunek 6k < a(x) ^ 6k+x. Przy założeniu uporządkowania przykładów ze zbioru P w kolejności rosnących war tości tego atrybutu jest to bardzo proste i wymaga niewielu obliczeń.
3.7
Podsumowanie
S-> Drzewo decyzyjne jest strukturą, której węzły reprezentują testy przeprowa dzane na wartościach atrybutów przykładów, a liście reprezentują etykiety ka tegorii przypisywane przykładom. 9-» Drzewa decyzyjne są atrakcyjną i popularną metodą reprezentacji wiedzy. Do ich zalet należy możliwość reprezentowania dowolnych hipotez dla danego zbioru atrybutów, efektywność pamięciowa i efektywność czasowa klasyfiko wania przykładów oraz czytelność dla człowieka. ^ Algorytmy indukcji drzew decyzyjnych stanowią na ogół konkretyzacje wspól nego schematu zstępującego konstruowania drzewa, różniące się kryteriami stopu oraz wyboru testów. Pierwsze odpowiada za dokładność (spójność na zbiorze trenującym), a drugie za rozmiar drzewa. R-+ W najprostszym przypadku kryterium stopu sprowadza się do warunku uzy skania zbioru przykładów, z których wszystkie należą do tej samej kategorii. Odstąpienie od tego wymogu i dopuszczenie niespójnych drzew może być jed nak czasem korzystne, zgodnie z zasadą brzytwy Ockhama. °r> Najczęściej stosuje się teorioinformacyjne kryteria wyboru testu, a zwłaszcza podstawowe kryterium przyrostu informacji, zgodnie z którym testy ocenia się ze względu na nierównomierność rozkładu kategorii w podzbiorach, na które wyniki testu dzielą dany zbiór przykładów. ^ Brane pod uwagę rodzaje testów zależą od typu testowanych atrybutów. Naj częściej stosuje się testy tożsamościowe dla atrybutów nominalnych lub po-
3.8. UWAGI HISTORYCZNE I BIBLIOGRAFICZNE
189
rządkowych o skończonej liczbie wartości oraz testy nierównościowe dla atry butów porządkowych o nieskończonej liczbie wartości i dla atrybutów cią głych. °r> Przycinanie, polegające na zastępowaniu wybranych poddrzew liśćmi, może, zwiększając błąd próbki na zbiorze trenującym, zmniejszyć błąd rzeczywisty drzewa, zapobiegając nadmiernemu dopasowaniu. ^ Główne problemy praktyczne towarzyszące zastosowaniom indukcji drzew de cyzyjnych dotyczą dużego rozmiaru zbiorów trenujących oraz przekłamań lub brakujących wartości atrybutów. 4-* Pomysłowa implementacja rekurencyjnej procedury konstruowania drzewa po zwala zaoszczędzić na pamięci potrzebnej do przechowywania zbiorów przy kładów na różnych poziomach rekursji oraz na czasie obliczeń potrzebnych do oceny testów nierównościowych.
3.8
Uwagi historyczne i bibliograficzne
Koncepcja wykorzystania drzew decyzyjnych do klasyfikacji po raz pierwszy uzy skała praktyczny algorytmiczny kształt we wczesnych badaniach Hunta, Marina i Stone'a [103], którzy opracowali system o nazwie CLS — wykorzystywał on podstawowy schemat TDIDT zstępującej konstrukcji drzewa i przez to stał się pro toplastą większości znanych dziś systemów. W późniejszym okresie koncepcja ta stała się przedmiotem prac prowadzonych w latach siedemdziesiątych na gruncie statystyki. Wśród znaczących wczesnych publikacji na ten temat można wymienić artykuł Friedmana [84]. Obszerne kompedium zbierające uzyskane w tych bada niach wyniki stanowi książka Breimana i innych [33], która pozostaje do dziś cen nym źródłem informacji. Opisywany przez nich system CARTjest wciąż jednym z bardziej znanych systemów uczenia się klasyfikacji o znaczeniu praktycznym. Do tego grona spośród wczesnych systemów należy także ASSISTANT, opraco wany przez Konenkę, Bratko i Roskara [121], Na grunt maszynowego uczenia się we współczesnej postaci drzewa decyzyjne wprowadził Quinlan, zainspirowany systemem CLS Hunta i innych, serią swoich artykułów [204, 208, 203, 205], w których poza nieco odmienną od przyjmowanej przez statystyków perspektywą i terminologią wprowadził powszechnie dziś przyj mowane teorioinformacyjne kryteria oceny testów, testy nierównościowe dla atry butów ciągłych i techniki przycinania, aby wymienić najważniejsze osiągnięcia. Rozwijany przez niego system uczący się, nazywany w kolejnych wersjach ID3, C4 i C4.5 [210], stanowi punkt odniesienia dla sporej części badań nie tylko nad al gorytmami konstruowania drzew decyzyjnych, lecz uczenia się pojęć w ogólności. Na jego pracach opiera się większość nie tylko tego rozdziału, ale także w ogóle większość tekstów poświęconych indukcji drzew decyzyjnych.
190
ROZDZIAŁ 3. INDUKCJA DRZEW DECYZYJNYCH
Artykuł [233] stanowi przeglądowe wprowadzenie w tematykę indukcji drzew decyzyjnych. Jej mniej lub bardziej szczegółową prezentację można znaleźć w nie mal każdej książce poświęconej systemom uczącym się. Stosunkowo najpełniej zajmuje się nią Mitchell [164], lecz podstawowy algorytm zstępujący z kryterium przyrostu informacji jest omawiany także przez Bolca i Zarembę [27] oraz Mulawkę [176]. Murthy w swojej rozprawie doktorskiej [178] zawarł bardzo pełny prze gląd literatury poświęconej drzewom decyzyjnym, uwzględniając zarówno publi kacje przyjmujące perspektywę systemów uczących się, jak i statystyki. Niektóre szczegółowe zagadnienia dotyczące drzew decyzyjnych nie zostały w tym rozdziale poruszone lub przedstawiliśmy je w dużym skrócie. Więcej na temat inkrementacyjnej indukcji drzew decyzyjnych można znaleźć w artykułach Utgoffa i jego współpracowników [268, 269], na których jest oparta przedstawio na wyżej pobieżna dyskusja tego zagadnienia. Schlimmer i Fisher [237] zajmu ją się inkrementacyjnym uczeniem się pojęć i argumentują na rzecz stosowania w tym celu zachłannej strategii przeszukiwania przestrzeni hipotez o małej zło żoności pamięciowej. Jako przykład tej koncepcji przedstawiają między innymi pewien inkrementacyjny algorytm indukcji drzew decyzyjnych, inny niż podejście sugerowane w tym rozdziale za cytowanym wyżej Utgoffem i jego współautora mi. Drzewami decyzyjnymi wykorzystującymi testy na wielu atrybutach zajmują się między innymi Brodley i Utgoff [34], Murthy, Kasif i Salzberg [179] oraz Fulton, Kasif i Salzberg [86]. Tan [260] badał problem uwzględniania kosztów testów i z jego pracy pochodzi jedna z podanych w tym rozdziale funkcji oceny zależnych od kosztu. Drugą z nich przedstawił Nunez [183]. W wielu publikacjach były proponowane i badane różne funkcje oceny te stów. Funkcję opartą na pewnej mierze odległości między wyznaczanymi przez wyniki testu podzbiorami opisał Lopez de Mantaras [135]. Martin [110] przedsta wia analizę oraz eksperymentalne porównania różnych kryteriów stopu i wyboru testu opartych na miarach teorioinformacyjnych i statystycznych. Wyniki porów nawczych eksperymentów dla różnych kryteriów wyboru testu przedstawił także wcześniej Mingers [155], który w innym artykule [154] w podobny sposób porów nuje różne metody przycinania. Dalsze eksperymenty dla kryteriów wyboru testu przedstawili Buntine i Niblett [36], a dla metod przycinania Malerba, Floriana i Semeraro [137]. Kryteria Cochrana, określające warunki poprawnego stosowa nia statystyki x'2> s 3 sformułowane w jego artykule [54]. Zagadnieniem przycinania, traktowanego jako wymiana między dokładnością a prostotą drzew, zajmowali się także Bohanec i Bratko [25]. Murphy i Pazzani [177] eksperymentalnie badali zasadność preferencji dla prostych drzew. Fayyad i Irani [77] oraz Quinlan [212] przedstawili pewne udoskonalenia sposobu wybierania testów nierównościowych dla atrybutów ciągłych. Różne metody po stępowania z brakującymi wartościami atrybutów przy konstruowaniu i używaniu drzew decyzyjnych porównał eksperymentalnie Quinlan [206].
191
3.9. ĆWICZENIA
Więcej informacji o testach statystycznej istotności, o których była mowa w tym rozdziale, a także o innych metodach testowania hipotez statystycznych można znaleźć w większości podręczników statystyki, takich jak [109]. Popular na w indukcyjnym uczeniu się technika m-szacowania, z której będziemy jeszcze korzystać w dalszych rozdziałach, pochodzi z artykułu Cestnika [40].
3.9 Ćwiczenia Ćwiczenie 3.1. Weźmy pod uwagę przestrzeń hipotez dla dziedziny modeli samocho dów z przykładu 2.5, złożoną ze wszystkich drzew decyzyjnych używających testów tożsamościowych dla atrybutów określonych na tej dziedzinie. Podaj liczbę przykła dów trenujących, wystarczających do nauczenia się przez dowolny spójny algorytm indukcji drzew decyzyjnych dla dowolnego pojęcia docelowego z prawdopodobień stwem co najmniej 0,9 drzewa decyzyjnego o błędzie rzeczywistym nie przekracza jącym 0,05, przy założeniu, że do wybierania przykładów trenujących i wyznaczania błędu jest używany ten sam rozkład prawdopodobieństwa. Ćwiczenie 3.2. Powtórz ćwiczenie 3.1 dla przestrzeni hipotez złożonej ze wszystkich drzew decyzyjnych zawierających co najwyżej dwa poziomy węzłów. Ćwiczenie 3.3. Udowodnij twierdzenie 3.1. Ćwiczenie 3.4. Prześledź proces zstępującej konstrukcji drzewa decyzyjnego dla da nych dotyczących modeli samochodów podanych w tabl. 2.4, powtarzając dla tego zbioru trenującego przykład 3.7. Ćwiczenie 3.5. Wykorzystaj drzewo zbudowane w ćwiczeniu 3.4 do klasyfikacji nastę pujących przykładów: X klasa 12 I mały 13 miejski 14 kompakt 15 I duży
cena osiągi umiarkowana — — dobre umiarkowana dobre umiarkowana słabe
niezawodność mała duża duża przeciętna
Dla przykładów z brakującymi wartościami atrybutów zastosuj technikę klasyfikacji probabilistycznej. Ćwiczenie 3.6. Powtórz ćwiczenie 3.4 powiększając zbiór trenujący o przykłady: X klasa 12 mały 13 | miejski
cena umiarkowana
osiągi dobre
Zastosuj technikę przykładów ułamkowych.
niezawodność mała duża
c{x) 1 0
192
ROZDZIAŁ 3. INDUKCJA DRZEW DECYZYJNYCH
Ćwiczenie 3.7. Prześledź proces zstępującej konstrukcji drzewa decyzyjnego dla da nych dotyczących klasyfikacji pogody podanych w tabl. 2.2, tak jak zostało to zade monstrowane w przykładzie 3.7, lecz korzystając z funkcji oceny uwzględniających koszty testów. Testy dla poszczególnych atrybutów mają koszty przypisane w nastę pujący sposób: p(aura) — 1, p(temperatura) = 1, p(wilgotność)
= 5,
p( wiatr) = 5. Obliczenia przeprowadź dla obu podanych w tym rozdziale funkcji oceny uwzględ niających koszty. Ćwiczenie 3.8. Prześledź proces zstępującej konstrukcji drzewa decyzyjnego dla da nych dotyczących klasyfikacji pogody podanych w tabl. 2.2, tak jak zostało to zade monstrowane w przykładzie 3.7, traktując wszystkie atrybuty jako porządkowe i uży wając wyłącznie testów nierównościowych. Ćwiczenie 3.9. Prześledź proces zstępującej konstrukcji drzewa decyzyjnego dla da nych dotyczących klasyfikacji pogody z atrybutami ciągłymi podanych w tabl. 2.3. Ćwiczenie 3.10. Podaj (przykładowy) zbiór trenujący, na podstawie którego algorytm ID3 wygenerowałby następujące drzewo decyzyjne dla dziedziny modeli samocho dów z przykładu 2.5: klasa=miejski: 1 klasa=mały: niezawodność=mała: 0 niezawodność=przeciętna: niezawodność=duża: 0 klasa=kompaktz cena=niska: 1 cena-u miarkowana: 0 cena=wysoka: 1 klasa=duży: osiągi=słabe: 0 osiągi=przcciętne: 0 osiągi=dobre: 1
1
Ćwiczenie 3.11. Zapisz algorytmy zstępującej konstrukcji drzewa decyzyjnego oparte na strategiach „wszerz" i „najpierw najlepszy". Ćwiczenie 3.12. Prześledź działanie algorytmów sformułowanych w ćwiczeniu 3.11 za stosowanych do zbiorów trenujących dotyczących klasyfikacji pogody i modeli samo chodów, podanych odpowiednio w tabl. 2.2 i 2.4. Porównaj zbudowane drzewa decy zyjne z tymi, które dla tych samych danych trenujących uzyskano w przykładzie 3.7 i w ćwiczeniu 3.4.
3.9. ĆWICZENIA
193
Ćwiczenie 3.13. Zmodyfikuj udostępniony program indukcji drzew decyzyjnych, zastę pując przyrost informacji wykorzystywany tam do oceny testów przez: 1) współczynnik przyrostu informacji, 2) statystykę \2, 3) funkcje oceny uwzględniające koszty testów. Ćwiczenie 3.14. Zmodyfikuj udostępniony program zstępującej indukcji drzew decy zyjnych, uzupełniając go o przetwarzanie testów nierównościowych dla atrybutów ciągłych. Ćwiczenie 3.15. Zmodyfikuj udostępniony program indukcji drzew decyzyjnych, uzu pełniając go o przetwarzanie testów przynależnościowych dla atrybutów dyskretnych. Ćwiczenie 3.16. Zmodyfikuj udostępniony program indukcji drzew decyzyjnych, zastę pując rozwijanie węzłów zgodnie ze strategią w głąb przez rozwijanie węzłów zgodnie ze strategią „wszerz" oraz „najpierw najlepszy". Ćwiczenie 3.17. Uzupełnij udostępniony program indukcji drzew decyzyjnych o ope rację przycinania drzewa, uwzględniając przycinanie redukujące błąd i przycinanie pesymistyczne. Ćwiczenie 3.18. Przeprowadź eksperymenty walidacji krzyżowej, stosując udostępnio ny program indukcji drzew decyzyjnych do udostępnionych zbiorów danych. Ćwiczenie 3.19. Przeprowadź eksperymenty ze zmodyfikowanymi wersjami programu indukcji drzew decyzyjnych opracowanymi w ćwiczeniu 3.13, wykorzystującymi al ternatywne funkcje oceny testów, stosując go do udostępnionych zbiorów danych. W przypadku wersji uwzględniającej koszty testów przypisz atrybutom koszty według własnego uznania i wyznacz średni koszt klasyfikacji za pomocą uzyskanych drzew dla przykładów trenujących, a następnie porównaj go z odpowiednim kosztem dla drzew generowanych przy użyciu do wyboru testów standardowego kryterium przy rostu informacji. Ćwiczenie 3.20. Przeprowadź eksperymenty walidacji krzyżowej, stosując do udostęp nionych zbiorów danych zmodyfikowaną wersję programu indukcji drzew decyzyj nych wzbogaconą o przycinanie pesymistyczne. Porównaj uzyskane wyniki z wyni kami eksperymentów bez przycinania ze względu na rozmiar uzyskiwanych drzew oraz błąd testowania. Ćwiczenie 3.21. Przeprowadź eksperymenty walidacji krzyżowej, stosując do udostęp nionych zbiorów danych zmodyfikowaną wersję programu indukcji drzew decyzyj nych wzbogaconą o przycinanie redukujące błąd i używając każdorazowo jako zbioru przycinania losowo wybranego podzbioru oryginalnego zbioru trenującego złożonego z 30% przykładów, zaś pozostałych 70% jako właściwego zbioru trenującego. Po równaj uzyskane wyniki z wynikami eksperymentów bez przycinania ze względu na rozmiar uzyskiwanych drzew oraz błąd testowania.
Rozdział 4
Indukcja reguł AU around me golden sunflakes covering the ground] ( . .. ) dusze ich przepełniały mnogie kompleksy, jak to zwykle bywa z niezmiernie bogatymi osobowościami
(...)2.
W rozdziale tym zajmujemy się metodami indukcyjnego uczenia się pojęć, wy korzystującego hipotezy reprezentowane za pomocą zbiorów reguł. Rozpocznie my od przedstawienia związków tej reprezentacji z logiką zdań, a następnie jej szczególnej postaci odpowiedniej dla interesującej nas tutaj wiedzy dotyczącej klasyfikacji obiektów. Przyjmiemy, że części warunkowe reguł są reprezentowa ne przez kompleksy, a ich części decyzyjne określają etykiety kategorii dla przy kładów pokrywanych przez te kompleksy. Pokażemy, w jaki sposób zbiór reguł, traktowany jako nieuporządkowany lub uporządkowany, może reprezentować do wolną dopuszczalną hipotezę dla danego zestawu atrybutów. Następnie przedsta wimy ogólny algorytm indukcji reguł na podstawie przykładów, nazwany sche matem sekwencyjnego pokrywania, w którym dąży się do generowania kolejno reguł pokrywających pewną liczbę przykładów aż do uzyskania pokrycia całego zbioru trenującego. Podstawowe znaczenie ma sposób konstruowania części wa runkowej tworzonej reguły, w której powinien znaleźć się kompleks pokrywający możliwie wiele przykładów trenujących o możliwie mało zróżnicowanych kate goriach. Przedstawimy rozwiązujące ten problem na różne sposoby konkretyzacje schematu sekwencyjnego pokrywania, oparte na znanych algorytmach używanych przez klasyczne już systemy uczące się AQ i CN2. Oba algorytmy przeszuku ją przestrzeń kompleksów w kierunku od maksymalnie ogólnych do szczegóło wych. Różnią się wykorzystywanymi mechanizmami specjalizacji kompleksów oraz funkcjami heurystycznymi stosowanymi do oceny ich jakości. Przedyskutu jemy niektóre problemy związane z indukcją reguł w praktycznych zastosowa niach, w tym dotyczące uwzględniania atrybutów ciągłych, oraz z jej efektywną implementacją, koncentrując się na strukturach danych, jakie mogą być w tym celu wykorzystane.
1 2
Granchester Meadows (Pink Floyd: Ummagumma). Wyprawa pierwsza, czyli pułapka Gargancjana.
4.1. ZBIORY REGUŁ JAKO HIPOTEZY
195
4.1 Zbiory reguł jako hipotezy Wśród wszystkich metod reprezentacji wiedzy stosowanych w maszynowym ucze niu się nie ma takiej, która byłaby bliższa metodom stosowanym do zapisu wie dzy przez ludzi niż reprezentacja regułowa. Reguła, złożona z części warunkowej i części decyzyjnej, podaje decyzję właściwą dla sytuacji, w której są spełnione warunki, co możemy zapisać następująco: JEŚLI warunki TO decyzja. Istotnie, trudno byłoby wskazać poddającą się algorytmicznemu przetwarzaniu reprezentację o jeszcze prostszej interpretacji i jednocześnie porównywalnej sile wyrazu. Przesądza to o popularności reguł jako metody reprezentacji wiedzy, czę sto uważanej za najbardziej czytelną dla człowieka i stosowanej do indukcyjnego uczenia się nie mniej chętnie niż drzewa decyzyjne.
4.1.1 Logiczne podstawy reprezentacji regułowej Reguła w swej najbardziej ogólnej postaci przypomina logiczną implikację i istot nie do niej nawiązuje, chociaż utożsamianie ich w każdym przypadku byłoby zbyt pochopne. W klasycznej logice, wszystko jedno czy będzie to logika zdań czy logi ka predykatów, implikacja tworzy z dwóch logicznych formuł a i /3 nową formułę a —> /3, której przypisuje się wartość logiczną (prawdę lub fałsz) na podstawie wartości logicznej a i /3. Implikację taką czytamy „jeśli a to /3", czyli faktycz nie w sposób zbliżony do zapisu reguły. To podobieństwo nie powinno przesła niać nam różnicy polegającej przede wszystkim na tym, że o ile część warunkową reguły można istotnie interpretować jako logiczną formułę, o tyle niekoniecznie interpretacja taka ma sens dla jej części decyzyjnej. W tym drugim przypadku interpretacja zależy od rodzaju wiedzy reprezentowanej przez reguły i sposobu jej wykorzystywania. Niekiedy stosuje się reguły, których części decyzyjne mogą być traktowane jako stwierdzenie prawdy lub fałszu, ale w innych przypadkach polega ją one raczej na wykonaniu pewnych akcji, którym trudno przypisać jakąkolwiek wartość logiczną. Nas będzie interesować stosowanie reguł do reprezentowania wiedzy o poję ciach klasyfikujących przykłady, czyli do wyrażania hipotez. Oznacza to, że część warunkowa reguły określa pewne warunki, które mogą być spełniane lub nie speł niane przez przykłady, a jej część decyzyjna określa kategorię przykładów spełnia jących te warunki, według hipotezy reprezentowanej przez regułę. Możemy więc powtórzyć podany już w poprzednim rozdziale zapis: JEŚLI warunki TO kategoria, czy też w skróconej postaci warunki —> kategoria.
(4.1)
196
ROZDZIAŁ 4. INDUKCJA REGUŁ
Obu częściom takiej reguły można w intuicyjnie oczywisty sposób przypisać in terpretację logiczną. W przypadku części warunkowej mamy formułę, która dla klasyfikowanego przykładu może być spełniona lub nie. Zamiast o spełnianiu wa runków przez przykład mówi się również o pokrywaniu przykładów przez wa runki. W przypadku części decyzyjnej mamy formułę, która stwierdza, jaka jest kategoria klasyfikowanego przykładu według hipotezy, do której reprezentacji ta reguła służy. Aby jednak móc regułę tej postaci traktować jako logiczną implikację w sposób ścisły, skomplikujemy nieco sposób jej zapisu w celu eliminacji wszel kich niejednoznaczności. Załóżmy, że na interesującej nas dziedzinie X są okre ślone atrybuty ai, a2, • • •, an. Wówczas warunki nakładane przez regułę na war tości atrybutów przykładu x E X można reprezentować przez pewną zawierającą te wartości formułę logiczną, którą oznaczymy przez a[a\ (x),a2(x),... , an(x)]. Z kolei część decyzyjna określająca kategorię przykładu x może być zapisana jako prosta formuła h(x) = d, przy czym d E C, C jest zbiorem kategorii rozważanej klasy pojęć i przestrzeni hipotez, a h oznacza hipotezę reprezentowaną za pomocą reguły. Jeśli, a tak jest najczęściej, reguła taka ma być stosowana do wszystkich przykładów dziedziny, to jej zapis w logicznej notacji mógłby przyjąć następującą postać: (Vz EX) {a[ai{x),a2(x),...,an{x)]
-> h(x) =d).
(4.2)
Standardowe zasady wnioskowania dedukcyjnego umożliwiają, dla dowolnego przykładu x E X, z powyższej formuły oraz z formuły a[a\ (x),a2(x),..., an(x)] wyprowadzenie formuły h(x) = d, a więc ustalenie, że przykładowi x spełniają cemu warunki a[a\ (x), a2(x),... , an(x)] hipoteza h przypisuje kategorię d. Zapisaną w podanej postaci regułę możemy traktować jako pewną formułę lo giki predykatów pierwszego rzędu. Występuje w niej kwantyfikator ogólny, zwią zana zmienna x, symbole funkcyjne ai, a2, • • -, an i h oraz przypuszczalnie pewne predykaty określone przez formułę a, takie jak porównania wartości a{(x) ze sta łymi. Jednak istotna siła rachunku predykatów nie jest w logicznym zapisie re guł wykorzystywana: występuje tam zawsze dokładnie jedna zmienna i zawsze związana kwantyfikatorem uniwersalnym. Ponieważ każdy przykład jest opisy wany wyłącznie przez wartości atrybutów, identycznych dla każdego z nich, taką samą wiedzę można wyrazić traktując przykłady jako domniemane i odwołując się wyłącznie do wektorów wartości atrybutów. Inaczej mówiąc, zmienna oznaczająca przykład nie jest nam w podanym zapisie reguły do niczego potrzebna, skoro za wsze może oznaczać dowolny przykład. W gruncie rzeczy rozważane przez nas re guły odpowiadają raczej formułom rachunku zdań niż rachunku predykatów. Zda nia elementarne dotyczą wówczas faktów polegających na tym, że pewien atrybut ma taką a nie inną wartość, że przewidywana przez hipotezę kategoria lub wartość funkcji docelowej jest taka a nie inna, przy czym zawsze dotyczy to dokładnie jed nego przykładu, którego w związku z tym nie trzeba nazywać ani w żaden inny
4.1. ZBIORY REGUŁ JAKO HIPOTEZY
197
sposób identyfikować. Zdania złożone powstają przez łączenie zdań elementar nych za pomocą logicznych funktorów, takich jak koniunkcja, alternatywa czy im plikacja. Istotnie, wszelką wiedzę o klasyfikacji pojedynczych przykładów można w zasadzie wyrazić za pomocą rachunku zdań: w dowolnie skomplikowanej for mule odwołującej się do wartości atrybutów ai (#),(22(^), • •. }cin(x) i hipotezy h(x) dla pewnego przykładu x G X przykład ten jest jedynym występującym w niej argumentem tych atrybutów i pojęcia, a jako taki może być potraktowany jako ustalony i domniemany. 4.1.2
Reprezentacja warunków
Powyższa dyskusja miała na celu jedynie rozjaśnienie związków, jakie występują między regułową reprezentacją wiedzy a jej logicznymi korzeniami. W dalszym ciągu tego rozdziału formalna logiczna interpretacja reguł nie będzie nam potrzeb na, a mogłaby się nawet okazać niekiedy kłopotliwa prowadząc do nadmiernej komplikacji rozważań. Interesuje nas tu raczej, jaką dokładnie postać może mieć część warunkowa reguły (jakie warunki można nakładać na wartości atrybutów przykładów), gdyż przyjmiemy, że część decyzyjna jest po prostu etykietą katego rii. Szczęśliwie do reprezentacji warunków możemy wykorzystać wprowadzone w rozdziale 2, przy okazji omawiania uczenia się przestrzeni wersji, kompleksy — interpretowane jako koniunkcje wektory prostych warunków dla wartości po jedynczych atrybutów, nazywanych selektorami. Ponieważ tym razem będziemy z nich korzystali bardziej intensywnie, warto na wstępie przypomnieć i rozszerzyć stosowaną w odniesieniu do nich terminologię i notację. Selektory Jak poprzednio, weźmiemy pod uwagę cztery rodzaje selektorów: uniwersalny, pojedynczy, dysjunkcyjny i pusty. Wygodnie będzie niekiedy, zwłaszcza przy za pisie niektórych definicji lub algorytmów, traktować je wszystkie w jednolity spo sób. Umożliwia to związanie z każdym selektorem zbioru dozwolonych wartości odpowiadającego mu atrybutu. Przyjmiemy zatem, że z dowolnym selektorem s odpowiadającym atrybutowi a : X i-» A jest związany zbiór wartości Vs C A, przy czym 1) 2) 3) 4)
Vs Vs Vs Vs 3
= {v} dla selektora pojedynczego s = v, ~ {v\,..., vm} C A dla selektora dysjunkcyjnego s = v\ V • • • V vm, — A dla selektora uniwersalnego3 s = ?, — 0 dla selektora pustego 5 = 0.
Oczywiście odpowiadający atrybutowi a \ X \-^ A selektor dysjunkcyjny s o zbiorze wartości dozwolonych Vs — A utożsamia się z selektorem uniwersalnym.
198
ROZDZIAŁ 4. INDUKCJA REGUŁ
Między selektorem s a związanym z nim zbiorem dozwolonych wartości Vs ist nieje jednojednoznaczna odpowiedniość, można więc mówić o nich wymiennie. Będziemy w związku z tym przyjmować, że mając dany selektor s mamy także od powiedni zbiór wartości dozwolonych Vs oraz odwrotnie, że dany zbiór wartości V C A wyznacza selektor sy odpowiadający atrybutowi o przeciwdziedzinie A W szczególności, posługując się zbiorami wartości selektorów możemy w prosty sposób zdefiniować relację pokrywania przykładów przez selektory. • DEFINICJA 4.1. Selektor s odpowiadający atrybutowi a : X \-> A pokrywa przykład x E X, jeśli a(x) E Vs, przy czym Vs oznacza zbiór wartości dozwo lonych dla selektora s. Piszemy wówczas s \> x. 0 Selektory pojedyncze i dysjunkcyjne mogą być stosowane dla atrybutów no minalnych lub porządkowych, których zbiory wartości są dyskretne. Ich użycie dla atrybutów ciągłych, chociaż w zasadzie możliwe, byłoby z oczywistych względów mało pożyteczne. Dla tego typu atrybutów zapewne potrzebowalibyśmy selekto rów nie równościowych, porównujących wartość odpowiedniego atrybutu z warto ścią progową, oraz selektorów, które można nazwać selektorami przedziałowymi, określających przedział, do którego musi należeć wartość odpowiedniego atrybu tu, aby przykład był pokrywany przez selektor. Selektory takie mogłyby być rów nież wykorzystywane dla atrybutów porządkowych, dla których przedział oznacza zbiór kolejnych wartości dyskretnych, zgodnie z określoną relacją porządku znaj dujących się między jego lewym a prawym końcem. Nie będziemy jednak brać ich pod uwagę w dalszej dyskusji, ograniczając się do indukcji reguł dla atrybu tów dyskretnych. Do problemu atrybutów ciągłych wrócimy przy końcu rozdziału. Kompleksy Kompleks będziemy zapisywać jako ujętą w trójkątne nawiasy listę selektorów, oddzielonych przecinkami, odpowiadających wszystkim atrybutom określonym na dziedzinie, zakładając, że są one uporządkowane i selektor na pozycji i odpowia da i-temu atrybutowi. Oczywiście tak rozumiany kompleks nie jest niczym innym niż tylko wygodnym sposobem zapisu koniunkcji pewnej liczby warunków na kładanych na wartości niektórych atrybutów — tych, dla których w kompleksie znajduje się selektor inny niż uniwersalny. Wygodniej jest jednak nie wyróżniać żadnych rodzajów selektorów i zdefiniować relację pokrywania przykładów przez kompleksy w następujący sposób. • DEFINICJA 4.2. Kompleks k = (si, $2,..., sn) pokrywa przykład x E X, je śli każdy selektor Si dla i = 1,2 . . . , n pokrywa przykład x. Piszemy wówczas
k[>x.
0
4.1. ZBIORY REGUŁ JAKO HIPOTEZY
199
Podtrzymywana tu konwencja zapisu kompleksów, wprowadzona w rozdzia le 2, nie jest jedyną stosowaną w literaturze. Często jawnie podaje się, których atry butów dotyczą poszczególne selektory, stosując notację ai = v dla v £ A{ w przy padku selektora pojedynczego oraz a>i = vn V • • * V V{m dla vn,..., Vim G ^4¾ w przypadku selektora dysjunkcyjnego. Wówczas selektory uniwersalne nie są w ogóle uwzględniane w zapisie kompleksu, a uporządkowanie selektorów nie ma znaczenia. Nam wygodniej będzie trzymać się jednak notacji, w której kompleks jest podawany jako wektor uporządkowanych selektorów dla wszystkich atrybu tów. Wygodnie będzie także wprowadzić specjalną terminologię i notację do mó wienia i pisania o niektórych szczególnych rodzajach kompleksów.
• DEFINICJA 4.3. Każdy kompleks zawierający przynajmniej jeden selektor pu sty 0 będzie utożsamiany z zawierającym wyłącznie selektory puste komplek sem (0, 0 , . . . 0), / nazywany kompleksem sprzecznym lub pustym oraz ozna czany przez (0). 0 • DEFINICJA 4.4. Kompleks zawierający wyłącznie selektory uniwersalne ? bę dzie nazywany kompleksem uniwersalnym / oznaczany przez (?). 0
• DEFINICJA 4.5. Każdy kompleks zawierający dokładnie jeden selektor poje dynczy lub dysjunkcyjny i prócz niego wyłącznie selektory uniwersalne będzie my nazywać kompleksem atomowym. 0 Kompleks sprzeczny (pusty) nie pokrywa żadnego przykładu, a kompleks uni wersalny pokrywa wszystkie przykłady. Kompleks atomowy ogranicza dopusz czalne wartości dokładnie jednego atrybutu. Oprócz powyższych terminów przyda się nam także relacja porównywania ze względu na ogólność i szczegółowość, stosowana nie tylko do hipotez, jak w rozdziale 2, lecz także do kompleksów. Można ją w tym przypadku zdefinio wać w analogiczny jak poprzednio sposób, tym razem sprowadzając ją do relacji zawierania się zbiorów przykładów pokrywanych przez porównywane kompleksy.
• DEFINICJA 4.6. Dla dziedziny X i danych dwóch kompleksów k i i k2 mó wimy, że ki jest bardziej ogólny niż k2 (i równoważnie k2 jest mniej ogólny niż ki, k2 jest bardziej szczegółowy niż k i , ki jest mniej szczegółowy niż ^2) wtedy i tylko wtedy, gdy {x £ X I k 2 t> x} C {x e X I k i > x}. Piszemy wówczas ki >~ k 2 , k2 -< k i .
(4.3) 0
200
ROZDZIAŁ 4. INDUKCJA REGUŁ
Dla dowolnego zbioru przykładów P C I i kompleksu k przez P k będziemy oznaczać podzbiór P złożony z przykładów pokrywanych przez k: P k = {x G P I k > x } .
(4.4)
Notację z rozdziału 2 uzupełnimy także o oznaczenie P k stosowane dla wszyst kich przykładów ze zbioru P , które są pokrywane przez kompleks k i należą do kategorii d ustalonego pojęcia docelowego, czyli P£ = PdDPk,
deC.
(4.5)
Przykład 4.1 (Pogoda). Dla dziedziny stanów pogody z przykładu 2.4 weźmy pod uwagę następujące kompleksy: ki k2 k3 k4
= {słoneczna V pochmurna,?,?,?), — {słoneczna,?,?, silny), = {słoneczna, ciepła,?, silny), = {?, ciepła V umiarkowana, ?, ?).
Kompleksy ki i k 4 są kompleksami atomowymi. Kompleks k 2 jest bardziej szcze gółowy niż kompleks ki i bardziej ogólny niż kompleks k 3 , który jest także bardziej szczegółowy niż kompleks k 4 . Kompleksy k 2 i k 4 nie są porównywalne ze względu na ogólność. Podane kompleksy można zapisać jako formuły logiczne w następujący sposób: ki k2 k3 k4
: aura(x) — słonecznaM aura(x) = pochmurna, : aura(x) = słoneczna A wiatr(x) = silny, : aura(x) — słoneczna A temperatura(x) = ciepła A wiatr(x) = silny, : temperatura(x) = ciepła V temperatura(x) = umiarkowana.
Dla zbioru przykładów T z tabl. 2.2 mamy następujące podzbiory pokrywanych przykładów: T k l ={1,2,3,7,8,9,11,12,13}, T k2 = { 2 , l l } , ^ 3 - {2}, T k4 = {1,2,3,4,8,10,11,12,13,14}. Koniunkcje kompleksów i selektorów Na formułach logicznych mogą być wykonywane standardowe operacje logicznej alternatywy, koniunkcji, negacji, implikacji itd. Można w również przeprowadzić dowolną z tych operacji na formule w określonej postaci (np. dysjunkcyjnej lub koniukcyjnej postaci normalnej) i formułę otrzymaną w wyniku sprowadzić ponów-
201
4.1. ZBIORY REGUŁ JAKO HIPOTEZY
nie do takiej postaci, stosując w razie potrzeby proste, mechaniczne przekształce nia. Ponieważ w przypadku reguł reprezentujemy formuły za pomocą komplek sów, może nas interesować przeprowadzanie na nich operacji odpowiadających semantycznie operacjom logicznym, tak aby w wyniku otrzymywać również kom pleksy. Dokładniej, interesuje nas tu tylko jedna operacja, odpowiadająca logicznej koniunkcji, gdyż tylko ona może być przeprowadzona w taki sposób, aby jej wynik dla argumentów będących kompleksami pozostał także kompleksem. Skoro każdy kompleks reprezentuje koniunkcję warunków, to jest jasne, że koniunkcja kom pleksów powinna być kompleksem reprezentującym koniunkcję warunków z obu tych kompleksów. Odpowiednią operację będziemy rozumieć zgodnie z następu jącą definicją: • DEFINICJA 4.7. Koniunkcja kompleksów k i l jest kompleks, którego każdy se lektor jest koniunkcja pary odpowiednich selektorów z tych kompleksów. Jeśli k
=
( ^ , 5 ^ , . . . , 5 ^ ) l l = (s\,3l2,...,Sln),
tO
k A 1 - (5jf A s\, s\ A 4 , . . . , sl A sln).
(4.6)
0 Definicja ta odwołuje się z kolei do koniukcji selektorów, której sposób reali zowania zależy oczywiście od rodzajów tych selektorów. Najłatwiej zdefiniować ją posługując się zbiorami wartości dozwolonych dla selektorów. • DEFINICJA 4.8. Koniunkcja selektorów s\ i 52 odpowiadających atrybutowi a : X H-> A jest odpowiadający temu atrybutowi selektor s o zbiorze wartości dozwolonych Vs = VSl D VS2. 0 Już wkrótce przekonamy się, że koniunkcja kompleksów będzie wykorzysty wana jako mechanizm ich specjalizacji przez dodanie dodatkowych warunków. Specjalizacja ta będzie przeprowadzana w ogólnym przypadku dla zbiorów kom pleksów za pomocą zdefiniowanej poniżej operacji przecięcia takich zbiorów. Po lega ona na utworzeniu nowego zbioru kompleksów, z których każdy jest wyni kiem koniunkcji pary kompleksów z jednego i drugiego zbioru. •
DEFINICJA 4.9. Przecięciem zbiorów kompleksów K i Ljest zbiór wszystkich koniunkcji dwóch kompleksów odpowiednio z tych dwóch zbiorów:
K n L = {k A 1 | k € K, 1 e L}.
(4.7)
0
202
ROZDZIAŁ 4. INDUKCJA REGUŁ
Przykład 4.2 (Pogoda). Weźmy pod uwagę zbiory kompleksów K = {ki,k 2 } oraz L = {k 3 ,k 4 } dla kompleksów ki, k2, k3 i k4 podanych w przykładzie 4.1. Dla tych dwóch zbiorów ich przecięcie wyznaczymy następująco: K f)L — {(słoneczna, ciepła, ?, silny), (słoneczna V pochmurna, ciepła V umiarkowana, ?, ?), (słoneczna, ciepła V umiarkowana, ?, silny)}. 4.1.3
Zbiory reguł
W ogólnym przypadku jako część warunkową reguły można przyjąć alternatywę pewnej liczby kompleksów. Wówczas podaje ona etykietę kategorii dla przykła dów pokrywanych przez przynajmniej jeden z tych kompleksów. Reguły tej posta ci można krótko zapisywać jako ki Vk2V- • -Vkm -> d, przy czym ki, k 2 , . . . ,k m są kompleksami i d E C jest etykietą kategorii. Reguła taka pokrywa wszystkie te i tylko te przykłady, które pokrywa przynajmniej jeden z kompleksów wchodzą cych w skład jej części warunkowej. Zapisując następującą oczywistą definicję, rozszerzymy także zakres stosowania symbolu pokrywania > na reguły. • DEFINICJA 4.10. Reguła r = kx V k 2 V • • • V k m -» d pokrywa przykład x E X wtedy i tylko wtedy, gdy przykład ten jest pokrywany przez co najmniej jeden spośród kompleksów ki, k 2 , . . . , k m . Piszemy wówczas r D> x. 0 Dla reguły r, o której mówi się w tej definicji, i dla dowolnego przykładu x E X zachodzi równoważność: m
r D> x = \f ki \> x,
(4.8)
2=1
przy czym symbol V służy do oznaczenia alternatywy. Podzbiór dowolnego zbioru przykładów P C I zawierający przykłady pokrywane przez taką regułę r, który oznaczymy oczywiście przez Pr, może być wyznaczony jako suma odpowiednich zbiorów dla wchodzących w jej skład kompleksów: m
i=l
Zauważmy, że do reprezentacji dowolnej dopuszczalnej hipotezy dla atrybu tów określonych na dziedzinie wystarczy zbiór reguł zawierający po jednej regule dla każdej kategorii. W przypadku pojęć pojedynczych można ograniczyć się na wet do tylko jednej reguły zawierającej w części decyzyjnej etykietę 1, służącej do klasyfikowania przykładów pozytywnych, przy założeniu, że wszystkie przykłady
4.1. ZBIORY REGUŁ JAKO HIPOTEZY
203
nie pokrywane przez tę regułę są traktowane jako negatywne. W każdym razie nie potrzebujemy więcej niż jednej reguły dla żadnej kategorii, gdyż dowolną formułę logiczną można sprowadzić do dysjunkcyjnej postaci normalnej (czyli, w uprosz czeniu, alternatywy koniunkcji formuł atomowych). Na alternatywę kompleksów można zaś patrzeć jak na dysjunkcyjną postać normalną formuły, złożonej z re prezentowanych przez selektory elementarnych warunków dla pojedynczych atry butów. Skoro każda dopuszczalna hipoteza da się wyrazić jako zbiór formuł lo gicznych, z których każda dotyczy jednej kategorii, to da się również wyrazić jako zbiór reguł, w których częściach warunkowych występują alternatywy komplek sów. Nie są przy tym konieczne selektory dysjunkcyjne, których rolą jest raczej uproszczenie reprezentacji regułowej niż faktyczne zwiększenie jej siły wyrazu. Zbiór reguł, z których każda odpowiada jednej kategorii, może być w prosty sposób używany do klasyfikacji: w celu ustalenia kategorii przykładu wystarczy znaleźć pokrywającą go regułę. Zanim przejdziemy do omawiania komplikacji, jakie nieco burzą ten prosty obraz, zdecydujemy się na reguły prostszej posta ci, które tych komplikacji zanadto nie zwiększają. Otóż ze względów technicz nych przy prezentacji algorytmów w dalszej części tego rozdziału wygodniej bę dzie posługiwać się regułami, których część warunkową stanowią nie alternaty wy kompleksów, lecz pojedyncze kompleksy. Możemy tak postąpić nie umniej szając siły wyrazu reprezentacji regułowej ani ogólności naszych rozważań, je śli domniemując łączenie poszczególnych reguł ze zbioru stanowiącego hipotezę za pomocą logicznej alternatywy zauważymy, że jedną regułę, której część wa runkowa jest alternatywą kompleksów, możemy zastąpić zbiorem reguł, z któ rych każda ma w swojej części warunkowej pojedynczy kompleks. Oznacza to, że reguła postaci ki V 1¾ V • • • V k m —> d może być zastąpiona zbiorem reguł {ki -» d, k2 —> d,..., k m -> d}, gdyż w obu przypadkach jest reprezentowa na ta sama wiedza, że przykład x G X należy zaliczyć do kategorii d G C, jeśli jest on pokrywany przez przynajmniej jeden z kompleksów ki, k 2 , . . . , k m . Dla dowolnej reguły r przez k r będziemy oznaczać w razie potrzeby kompleks sta nowiący jej część warunkową, a przez dv etykietę kategorii stanowiącą jej część decyzyjną. Można zatem zapisać r — k r -» dv. Dla dowolnego kompleksu k przez sf będziemy oznaczać jego i-ty selektor, odpowiadający atrybutowi a% : X H-> Ai, dla i = 1, 2 , . . . , n. W wyniku tych rozważań dochodzimy do koncepcji reprezentacji hipotez przez zbiory reguł, z których każdy zawiera przynajmniej jedną regułę dla każdej katego rii w przypadku pojęć wielokrotnych i przynajmniej jedną regułę dla przykładów pozytywnych w przypadku pojęć pojedynczych. Istnieje jednak pewna komplika cja, która powoduje, że bez dodatkowych założeń nie jest całkiem jednoznaczne, jaką dokładnie hipotezę reprezentuje dany zbiór reguł, czyli jak za jego pomocą powinny być klasyfikowane wszystkie przykłady. Komplikacja ta polega na tym, że w ogólnym przypadku dla danego przykładu w zbiorze reguł może się znaleźć
204
ROZDZIAŁ 4. INDUKCJA REGUŁ
więcej niż jedna reguła pokrywająca ten przykład, a kategorie wszystkich reguł pokrywających przykład mogą się ze sobą nie zgadzać. Może też zdarzyć się tak, że przykład, którego klasyfikacja za pomocą hipotezy reprezentowanej przez zbiór reguł jest wymagana, nie jest pokrywany przez żadną z nich. Sposób postępowania w takich sytuacjach zależy od tego, czy zbiór reguł jest traktowany jako nieupo rządkowany, czy jako uporządkowany. W dalszej części rozdziału przedstawione będą algorytmy indukcji reguł tworzące zbiory obu tych rodzajów. Nieuporządkowane zbiory reguł Nieuporządkowany zbiór reguł można rzeczywiście w ścisłym sensie nazywać zbiorem — wchodzące w jego skład reguły nie są uszeregowane w żadnej usta lonej kolejności i każda z nich jest traktowana tak samo. Jeśli w zbiorze znajduje się dokładnie jedna reguła pokrywająca przykład, to wynikiem zastosowania re prezentowanej przez ten zbiór hipotezy jest kategoria tej reguły. Do rozstrzygania sytuacji, gdy liczba pokrywających przykład reguł jest równa 0 lub większa od 1, jest potrzebne przyjęcie specjalnych, dodatkowych strategii. Weźmy pod uwagę hipotezę h : X >-> C reprezentowaną przez zbiór reguł K i zajmijmy się sytuacją, gdy pewien przykład jest pokrywany przez większą od 1 liczbę reguł z tego zbioru. Uważnemu czytelnikowi przypomina to zapewne sytuację, z którą zetknęliśmy się rozważając klasyfikowanie za pomocą drzew de cyzyjnych przykładów z brakującymi wartościami atrybutów, kiedy możliwe by ło osiągnięcie różnych liści drzewa z niezerowym prawdopodobieństwem. Obec nie chcielibyśmy sobie poradzić w podobny sposób, chociaż tymczasem zakłada my, że dla naszego przykładu wszystkie wartości atrybutów są znane. Tym razem mamy do czynienia nie tylko z możliwością pokrywania przykładu przez różne reguły z pewnym prawdopodobieństwem, co odpowiadałoby sytuacji rozważa nej dla drzew decyzyjnych, lecz z jego faktycznym pokrywaniem przez te regu ły. W związku z tym bezpośrednia adaptacja tamtego podejścia nie jest możliwa. Zamiast tego można zaproponować mniej uzasadnione matematycznie, a bardziej heurystyczne podejście, polegające na związaniu z każdą regułą r £ l liczby po krywanych przez nią przykładów trenujących |T r |. Proces klasyfikacji przykładu pokiywanego przez różne reguły można wówczas potraktować jako głosowanie reguł, z liczbą głosów dla każdej z nich równą liczbie pokrywanych przez nią przykładów trenujących. Przewidywaną kategorię przykładu x wyznaczymy jako: h(x) = argmax ^
\Tr\,
(4.10)
przy czym M^ oznacza zbiór reguł dla kategorii d pokrywających x: 8^-{rER|r>o;Adr-4
(4.11)
4.1. ZBIORY REGUŁ JAKO HIPOTEZY
205
Taka heurystyczna strategia klasyfikowania przykładów pokrywanych przez więcej niż jedną regułę4, mimo jej prostoty, daje zupełnie zadowalające efekty, chociaż były proponowane również podejścia bardziej zaawansowane. Ograniczy my się do tylko jednej jej modyfikacji, polegającej na założeniu, że reguły mogą być interpretowane probabilistycznie. Możliwość taka jest szczególnie zasadna dla niespójnych zbiorów reguł, które — być może w celu uniknięcia nadmiernego do pasowania — nie wszystkie przykłady trenujące klasyfikują poprawnie. Przyjmie my wówczas, że dla każdej reguły r e K jest przechowywany rozkład częstości poszczególnych kategorii wśród pokrywanych przez nią przykładów trenujących, reprezentowany przez wartości T^\ dla poszczególnych d G C. Korzystając z nie go można zapisać zmodyfikowaną w prosty sposób wersję równania (4.10): h(x) — argmax £
|T r d |,
(4.12)
przy czym ą={rGR|rD>2:}.
(4.13)
Mimo że nie posługujemy się w sposób jawny prawdopodobieństwami, traktu jemy wówczas reguły jako probabilistyczne. W pewnych zastosowaniach może być przydatne posługiwanie się zbiorem reguł, który oprócz najbardziej prawdo podobnej kategorii przykładu umożliwi podanie innych możliwych kategorii i ich prawdopodobieństwa. W dalszym ciągu rozdziału nie będziemy się tą możliwością więcej zajmować, ale dla czytelnika powinno być jasne, w jaki sposób sięgnąć po nią w razie potrzeby w praktyce. Zauważmy na koniec tej części dyskusji, że proponowana tu strategia posłu giwania się nieuporządkowanymi zbiorami reguł do klasyfikowania przykładów, które nie są pokrywane przez dokładnie jedną regułę, nie jest jedyną możliwością. Ograniczając się wyłącznie do najprostszych i najbardziej oczywistych podejść, można zasugerować także następujące strategie: • losowy wybór jednej z reguł pokrywających klasyfikowany przykład, • wybór najbardziej szczegółowej reguły wśród reguł pokrywających przykład lub reguły o najmniejszej liczbie selektorów uniwersalnych w kompleksie, • losowy wybór kategorii według rozkładu prawdopodobieństwa wyznaczonego przez rozkład częstości kategorii wśród reguł pokrywających przykład. Mimo prostoty mogą one osiągać całkiem zadowalającą skuteczność, a prostota ta przekłada się na mniejszy koszt obliczeniowy klasyfikacji przykładów, co niekiedy jest ważne w praktycznych zastosowaniach. 4
Oczywiście również wówczas, gdy przykład x jest pokrywany przez dokładnie jedną regułę, da ona wynik zgodny z oczekiwaniem.
206
ROZDZIAŁ 4. INDUKCJA REGUŁ
Pozostaje jeszcze do rozstrzygnięcia sposób postępowania przy klasyfikowa niu przykładów, których nie pokrywa żadna reguła w zbiorze reprezentującym hi potezę. Zależy nam jednak na hipotezach pełnych, określonych na całej dziedzi nie. Można tu zaproponować przynajmniej dwa podejścia. Pierwsze polegałoby na przyporządkowywaniu takim nie pokrywanym przykładom kategorii domyślnej, którą najrozsądniej określić jako większościową kategorię w zbiorze trenującym; h(x) — argmax
rpd
(4.14)
Drugie i nieco bardziej wyrafinowane podejście, jakie można wziąć pod uwa gę, polega na wprowadzeniu pewnej miary częściowego pokrywania przykładów przez reguły. Dla każdej reguły r G i i przykładu x E X należałoby określić pewną wartość /i(r, x) 6 [0,1], równą 1 w przypadku, gdy reguła r pokrywa x, i mniejszą od 1 w pozostałych przypadkach. Ponieważ pokrywanie przykładów przez reguły jest równoważne z pokrywaniem ich przez kompleksy, przyjmiemy ju(r, x) = /x(kr, x) dla dowolnej reguły r i przykładu x. Miarę częściowego po krywania określimy dla dowolnego kompleksu k i przykładu x następująco: /x(k,s) = n / i ( s ? , a ; ) ,
(4.15)
przy czym sf oznacza selektor znajdujący się w kompleksie k na pozycji i. War tość ^(s-S x) jest miarą pokrywania przez ten selektor przykładu x. Jej przykłado wa definicja, dla dowolnego selektora s odpowiadającego atrybutowi nominalne mu a : X \-> A, może mieć postać: Jl
jeśli a{x) GVS1
«'•*> = { ^ J*M«)*V..
<4 16)
'
Dla sugerowanych wcześniej selektorów nierównościowych i przedziałowych od powiadających atrybutom porządkowym i ciągłym należałoby zapewne uwzględ nić w definicji miary pokrywania odpowiednio odległość wartości atrybutu znaj dującej się po niewłaściwej stronie progu od tego progu i odległość wartości nie należącej do przedziału od najbliższego jej końca tego przedziału. Obecnie możemy zapisać zmodyfikowaną wersję równania (4.12) w następu jącej postaci: h(x) = a r g m a x ^ / x ( r , x ) |r r d |
(4.17)
i stosować ją do wyznaczania kategorii przykładów nie pokrywanych przez żadną regułę ze zbioru R W zasadzie można posługiwać się nią również dla przykładów
207
4.1. ZBIORY REGUŁ JAKO HIPOTEZY
pokrywanych przez jedną lub większą liczbę reguł, dla których miara częściowego pokrywania osiągnie wartość 1, i niekiedy podejście takie może dać dobre efekty. Zazwyczaj jednak częściowe pokrywanie jest brane pod uwagę tylko wówczas, gdy dla żadnej reguły nie występuje zwykłe (całkowite) pokrywanie. Przykład 4.3 (Pogoda). Weźmy pod uwagę hipotezę h dla dziedziny stanów po gody reprezentowaną przez zbiór E złożony z następujących reguł: 1*1 = {słoneczna V deszczowa, zimna V ciepła, duża, ?) —• 0, r 2 — (pochmurnaV deszczowa,?,?,słaby) ->• 1, r 3 = (deszczowa,zimnaV umiarkowana,?,silny) —> 0, TĄ = (słoneczna V pochmurna, zimna V umiarkowana,?, silny) —> 1, r 5 = słoneczna V pochmurna, zimna V umiarkowana, duża, słaby) -» 0, r 6 = (?,?, normalna, słaby) —• 1. Jest to zbiór reguł spójny z pojęciem docelowym na zbiorze trenującym T z tabl. 2.2. Na jego podstawie możemy określić dla tych reguł liczby pokrywanych przez nie przykładów trenujących:
|r r i | =
| T ° | = |{1,2}| = 2,
\Tr2\= 1^1 = 1(3,4,5,10,13)1 = 5, | T r s | = |Tr°3| = |{6,14}| = 2,
\Tr<\= 1^1 = 1(7,11,12)1 = 3, K\ = |{8}| = 1, |TrB| 1^1 = 1(5,9,10,13)1 = 4. |rr„| Wykorzystamy hipotezę h do wyznaczenia kategorii następujących dwóch przy kładów: | aura 15 ; 1 słoneczna | deszczowa X
temperatura wilgotność zimna duża ciepła normalna
wiatr silny silny
Przykład 15 jest pokrywany przez reguły 1*1 i r^ więc Mi5 — {1*1, TĄ}. W związku z tym otrzymujemy:
E \Tr\ =K\ = 3, rGRis
E W\ K\ = = 2. rGRi5
Zgodnie z równaniem (4.12) otrzymujemy więc /i(15) = 1. Przykład 16 nie jest pokrywany przez żadną regułę ze zbioru I więc częściowe pokrywanie. Zgodnie z równaniami (4.15) i (4.16): /x(n,16) = 1 - 1 - ^ - 1 = 0,5,
wykorzystamy
208
ROZDZIAŁ 4. INDUKCJA REGUŁ
Mr2,16) = 1 - 1 - 1 - ^ = 0,5, /i(r3,16) = l - | - 1 - 1 = 0,667, /x(r4,16) = | - | • 1 • 1 = 0,444,
^(^,16) = 1 - 1 - 1 . 1 = 0,111. Mr6,16) = 1 - 1 - 1 - ^ = 0 , 5 . Wobec tego:
^^,16)1^1 = = 0,5 • 0 + 0,5 • 5 + 0,667 - 0 + 0,444 - 3 + 0,111 • 0 + 0,5 • 4 = 5,832, $>(r,16)|T P °| = = 0,5 • 2 + 0,5 • 0 + 0,667 • 2 + 0,444 • 0 + 0,111 • 1 + 0,1 • 0 = 2,445. Na podstawie równania (4.17) otrzymujemy /i(16) = 1. Uporządkowane zbiory reguł Komplikacji, które były dyskutowane wyżej, można uniknąć, wykorzystując al gorytmy uczenia się generujące uporządkowane zbiory reguł. Jest dla nich jedno znacznie ustalona kolejność, w jakiej reguły mają być wykorzystywane do klasyfi kowania przykładów. Hipoteza reprezentowana przez taki zbiór reguł przyporząd kowuje klasyfikowanemu przykładowi kategorię związaną z pierwszą w kolejno ści regułą, która ten przykład pokrywa. Taki uporządkowany zbiór reguł nazywa ny jest niekiedy listą decyzyjną. Jest to lista reguł, po każdej z których następu je domniemana fraza „w przeciwnym przypadku" — jeśli warunki reguły nie są spełnione, brana jest pod uwagę kolejna reguła na liście. Można ją traktować jako zdegenerowane binarne drzewo decyzyjne, dla którego z każdego węzła wychodzą dwie gałęzie i co najwyżej jedna z nich prowadzi do innego węzła, a co najmniej jedna do liścia. Aby formalnie opisać interpretację uporządkowanych zbiorów reguł, rozważ my hipotezę h reprezentowaną przez zbiór reguł M = {ri, r 2 , . . . , r ^ } . Dla do wolnego przykładu x możemy wyznaczyć przypisywaną mu przez hipotezę h ka tegorię h(x) = dVk jako kategorię związaną z regułą r^, przy czym k = min{i = 1, 2 , . . . , |R| | r* t> x}.
(4.18)
W ten sposób eliminowany jest problem klasyfikowania przykładów pokrywanych przez więcej niż jedną regułę, gdyż zawsze jest stosowana reguła o najmniejszym
209
4.1. ZBIORY REGUŁ JAKO HIPOTEZY
numerze. Wciąż może się jednak zdarzyć, że przykład nie zostanie pokryty przez żadną regułę. Wówczas mamy do dyspozycji dwa podejścia, podobne do propo nowanych wyżej dla nieuporządkowanych zbiorów reguł. Pierwsze polega na do daniu do zbioru reguł jako ostatniej w kolejności reguły postaci (?) -» d, przy czym d jest domyślną kategorią, zapewne ustaloną na podstawie zbioru trenujące go jako kategoria większościowa. Drugie podejście to wykorzystanie częściowego pokrywania. Ze względu na uporządkowanie zbioru reguł nie byłoby jednak praw dopodobnie właściwe stosowanie „ważonego głosowania" reguł do wyznaczenia kategorii, jak poprzednio, lecz raczej wybór jednej reguły o maksymalnej wartości miary częściowego pokrywania dla klasyfikowanego przykładu. To podejście jed nak także jest nieco problematyczne, gdyż pojawia się wątpliwość, czy nie lepiej jest wykorzystać regułę częściowo pokrywającą przykład w nieznacznie mniej szym stopniu, lecz o dużo mniejszym numerze porządkowym. W związku z tym stosowanie częściowego pokrywania dla uporządkowanych zbiorów reguł należy do rzadkości. Główną zaletą uporządkowanych zbiorów reguł jest prostota, a w konsekwen cji także efektywność obliczeniowa ich stosowania. Zbiory nieuporządkowane ze względu na możliwe konflikty między regułami pokrywającymi te same przy kłady oraz uwzględnianie częściowego pokrywania prowadzą do bardziej skompli kowanych i kosztownych procedur ich stosowania, wskutek czego są także trud niejsze do interpretacji przez człowieka, lecz mogą umożliwić osiągnięcie mniej szego błędu rzeczywistego. Przykład 4.4 (Pogoda). Niech hipoteza h będzie reprezentowana przez uporząd kowany zbiór reguł E, zawierający reguły: ri = {pochmurna,?,?, ?) —> 1, r2 = , ciepła, ?,?)->(), r 3 — {?,?, normalna, słaby) —> 1, TĄ = (?, zimna, ?, ?) -ł 0, r 5 = (?,?, normalna,?) -> 1, r6 = (?,?,?,siJiiy>-*0, r7 = (słoneczna, ?, ?, ?) -> 0, r8 - (?) -• 1Jeśli uwzględnimy uporządkowanie tego zbioru reguł, to możemy stwierdzić, że jest on spójny z pojęciem docelowym na zbiorze trenującym T z tabl. 2.2. Hipotezę h wykorzystamy do klasyfikacji trzech następujących przykładów: X
15 16 17
aura słoneczna deszczowa deszczowa
temperatura zimna ciepła umiarkowana
wilgotność duża normalna duża
wiatr silny silny słaby
210
ROZDZIAŁ 4. INDUKCJA REGUŁ
Przykład 15 jest pokrywany przez reguły r 4 , r 6 , r 7 i r 8 . Uwzględniana jest tylko pierwsza z nich: ń(15) = dT4 = 0. Podobnie dla przykładu 16 z pokrywających go reguł r~2, TQ i r 8 brana jest pod uwagę tylko pierwsza: h(16) = dT2 = 0. Zauważmy, że oba te przykłady są klasyfikowane inaczej niż przez hipotezę rozwa żaną w przykładzie 4.3, mimo że obie hipotezy są spójne z tym samym pojęciem do celowym na tym samym zbiorze trenującym. Przykład 17 jest pokrywany tylko przez regułę r 8 : h(\7) = dT8 = 1. Część warunkowa tej reguły zawiera kompleks uniwersalny, co zapewnia, że każdy przykład z dziedziny stanów pogody będzie jednoznacznie klasyfikowany przez nasz uporządkowany zbiór reguł.
4.1.4
Złożoność hipotez
Oprócz określenia dokładnych zasad interpretacji zbiorów reguł jako klasyfiku jących dowolne przykłady z dziedziny hipotez, pożądane jest również przyjęcie pewnej miary złożoności takich hipotez. Wiemy już z poprzednich rozdziałów, że w indukcyjnym uczeniu się hipotezy ocenia się zazwyczaj ze względu na dwa mierzalne kryteria: błąd próbki oraz właśnie złożoność, gdyż najbardziej intere sujące nas kryterium błędu rzeczywistego nie jest mierzalne i może co najwyżej podlegać szacowaniu. Miara złożoności zbiorów reguł może posłużyć do wprowa dzenia preferencji dla prostszych hipotez bądź to do algorytmów uczenia się, bądź do porównawczych badań eksperymentalnych poświęconych badaniu różnych al gorytmów, ich różnych wersji i wartości ich parametrów. Nie jest niestety całkiem jasne, jak najrozsądniej jest rozumieć prostotę w przy padku zbiorów reguł. Idealna miara złożoności powinna, po pierwsze, odpowiadać intuicyjnej ocenie, po drugie, zapotrzebowaniu na pamięć przy rozsądnej reprezen tacji maszynowej i po trzecie, formalnym uwarunkowaniom, wynikającym z teorii złożoności. Próba spełnienia tych wymagań prowadzi jednak do rozważań wy kraczających poza nasze potrzeby w tym rozdziale. Unikając ich zadowolimy się wskazaniem kilku naturalnych kryteriów, którymi można się posługiwać porów nując reguły i zbiory reguł ze względu na złożoność. Liczba reguł. Najprostsze i najbardziej gruboziarniste kryterium oceny złożono ści zbioru reguł to jego rozmiar. Kryterium to umożliwia wyłącznie zgrubną ocenę
4.1. ZBIORY REGUŁ JAKO HIPOTEZY
211
złożoności zbiorów reguł, gdyż nie uwzględnia możliwości, że pojedyncze reguły znacząco różnią się złożonością. Zgodnie z nim z dwóch zbiorów reguł prostszy jest ten, który zawiera mniej reguł. Praktycznym uzasadnieniem dla takiej mia ry złożoności jest to, że dla niektórych możliwych implementacji ilość pamięci niezbędnej do przechowywania zbioru reguł oraz czas niezbędny do klasyfikacji przykładu z jego wykorzystaniem zależy wyłącznie lub przede wszystkim od licz by tych reguł, a co najwyżej w niewielkim stopniu od ich złożoności. Liczba selektorów. Do oceny złożoności na poziomie.pojedynczych reguł moż na używać kryterium liczby selektorów w kompleksach stanowiących ich części warunkowe. Ponieważ przyjęliśmy, że część warunkowa każdej reguły składa się dokładnie z jednego kompleksu, a każdy kompleks z tylu selektorów, ile atrybutów jest określonych na dziedzinie, możemy porównywać nie jednakową dla wszyst kich reguł liczbę wszystkich selektorów, lecz liczbę selektorów nieuniwersalnych — tych, które ograniczają zakres dozwolonych wartości odpowiednich atrybutów. W ten sam sposób można oceniać nie tylko złożoność pojedynczych reguł, lecz także całych zbiorów reguł, obliczając łączną liczbę selektorów nieuniwersalnych we wszystkich regułach zbioru. Jest to znacznie bardziej precyzyjne kryterium oceny złożoności niż liczba reguł i zapewne w większości sytuacji bardziej godne polecenia. Można je również uzasadnić praktycznie względami efektywności ob liczeniowej, gdyż jest możliwa maszynowa reprezentacja reguł, w której są prze chowywane wyłącznie selektory nieuniwersalne i tylko one wpływają na koszt klasyfikacji przykładów. Liczba wartości atrybutów. Jeszcze bardziej drobnoziarniste, ale i bardziej kon trowersyjne jest kryterium oceny złożoności reguł ze względu na liczbę wartości atrybutów w selektorach. Tu także można uzasadniać, że dla pewnych implementa cji koszt stwierdzenia, czy selektor pokrywa przykład, zależy od tego, ile wartości ten selektor dopuszcza dla odpowiedniego atrybutu. Kontrowersje związane z tym kryterium wynikają stąd, że selektory uniwersalne, chociaż dopuszczają maksy malną liczbę wartości atrybutów (pełną przeciwdziedzinę), powinny być trakto wane jako najprostsze, a „maksymalne" selektory dysjunkcyjne, dopuszczające wszystkie wartości odpowiednich atrybutów poza jedną, jako najbardziej złożone. Inną niekonsekwencją jest różnica między takimi „maksymalnymi" selektorami dysjunkcyjnymi, które tylko jednej wartości odpowiednich atrybutów „zabrania ją", a selektorami pojedynczymi, które dopuszczają tylko jedną wartość — pierw sze byłyby traktowane jako wielokrotnie bardziej złożone niż drugie. Te problemy skłaniają do tego, aby raczej nie stosować liczby wartości atrybutów w selektorach jako kryterium złożoności, z wyjątkiem, być może, sytuacji, kiedy uzasadniają to względy implementacyjne.
212
ROZDZIAŁ 4. INDUKCJA REGUŁ
4.2 Sekwencyjne pokrywanie Zadanie indukcji reguł możemy sformułować w świetle przedstawionych wyżej rozważań jako zadanie znalezienia zbioru reguł (uporządkowanego lub nieupo rządkowanego), który klasyfikuje przykłady trenujące z dużą dokładnością i ma możliwie nieduży rozmiar, a wchodzące w jego skład reguły są możliwie pro ste. Jest to zwykłe, dobrze nam już znane sformułowanie zadania indukcyjnego uczenia się pojęć. Jest także, jak zwykle, nieprecyzyjne, gdyż nie określa ścisłych kryteriów, jakie mają spełniać generowane hipotezy. Ich konkretyzacja jest moż liwa dopiero podczas rozważania szczegółów rozwiązujących ten problem algo rytmów. Podejście do generowania zbioru reguł, którym się obecnie zajmiemy, polega na konstruowaniu pojedynczo kolejnych reguł, z których każda pokrywa część zbioru trenującego. Proces ten jest kontynuowany aż do uzyskania pokry cia wszystkich przykładów trenujących. Podzbiór zbioru trenującego pokrywany przez część warunkową każdej reguły powinien zawierać przykłady tej samej kate gorii lub przynajmniej z wyraźnie dominującą kategorią większościową. Wówczas ta jedyna lub dominująca kategoria jest umieszczana w części decyzyjnej reguły. Naszkicowany schemat postępowania, wspólny dla najważniejszych algorytmów indukcji reguł, będziemy nazywać sekwencyjnym pokrywaniem. Jego główną ideę symbolicznie ilustruje rys. 4.1, na którym okręgi reprezentują części warunkowe reguł, pokrywające w całości zbiór trenujący, a czarne i białe kółka — przykłady różnych kategorii.
Rys. 4.1. Ilustracja sekwencyjnego pokrywania
4.2. SEKWENCYJNE POKRYWANIE
213
Aby podkreślić podobieństwo, jakie łączy różniące się pod wieloma względa mi algorytmy indukcji reguł oparte na sekwencyjnym pokrywaniu, przedstawimy je jako konkretyzacje tego wspólnego ogólnego schematu, sformułowanego w bar dziej precyzyjny sposób jako algorytm 4.1. Zmusi nas to wprawdzie do pomijania niektórych mało istotnych odstępstw od niego, jakie występują w oryginalnych wersjach tych algorytmów przedstawionych przez ich autorów, lecz zostaniemy za to wynagrodzeni zyskaniem wspólnej perspektywy umożliwiającej łatwiejsze porównywanie różnych algorytmów. funkcja sekwencyjne-pokrywanie(T) argumenty wejściowe: T — zbiór trenujący dla pojęcia c; zwraca: zbiór reguł reprezentujący hipotezę przybliżającą c; 1: K : = 0 ; F : = T ; 2: jak długo F ^ 0 wykonaj 3: k := znajdź-kompleks(T, P)\ 4: d := kategoria(k, T,P)\ 5: E : = M U { k ^ d } ; 6: P:=P-Pk; 7: koniec jak długo 8: zwróć R Algorytm 4.1. Schemat sekwencyjnego pokrywania Procedura sekwencyjne-pokrywanie otrzymuje jako argument zbiór trenujący T przykładów etykietowanych pojęcia docelowego c. Kolejne reguły generowane są tak długo, jak długo nie wszystkie przykłady są pokryte przez reguły wygenero wane dotąd. Zbiór nie pokrytych przykładów, oznaczony przez P , jest początkowo równy zbiorowi trenującemu i sukcesywnie pomniejszany po wygenerowaniu każ dej reguły. Tworzenie pojedynczej reguły polega z kolei na znalezieniu kompleksu pokrywającego pewną (oczywiście możliwie dużą) liczbę przykładów trenujących z dużą dokładnością. Przez to sformułowanie należy rozumieć, że wśród przykła dów pokrywanych przez ten kompleks jest jedna wyraźnie dominująca katego ria (w szczególnym przypadku zaś wszystkie należą do jednej kategorii). Zada nie to wykonuje operacja znajdź-kompleks, której realizacją zajmiemy się wkrót ce w szczegółach. Wówczas reguła utworzona przez połączenie tego kompleksu z etykietą kategorii, wybraną przez operację kategoria, będzie charakteryzowała się małym błędem próbki, czyli spełni nasze oczekiwania, jeśli wynikiem tego wy boru będzie kategoria większościowa w zbiorze pokrywanych przez ten kompleks przykładów, chociaż tu także odłożymy chwilowo omawianie szczegółów. Zadanie znalezienia kompleksu o pożądanych właściwościach można trakto wać jako zadanie przeszukiwania przestrzeni kompleksów, ukierunkowane przez pewną miarę ich jakości reprezentującą cel tego przeszukiwania. Różnice mię dzy poszczególnymi realizacjami schematu sekwencyjnego pokrywania polega-
214
ROZDZIAŁ 4. INDUKCJA REGUŁ
ją przede wszystkim na sposobie znajdowania kompleksu dodawanego do części warunkowej reguły i dokładnych wymaganiach, które musi on spełniać. Chociaż cel ten jest w ogólnych zarysach jasny i wspólny różnym algorytmom, mogą się one przy wybieraniu kompleksów kierować różnymi szczegółowymi przesłanka mi. Poza samą strategią przeszukiwania przestrzeni kompleksów oraz stosowa nymi do oceny ich jakości kryteriami do najważniejszych różnych rozstrzygnięć, jakie mogą tu wystąpić, należy decyzja o dopuszczeniu, aby kompleks pokrywał przykłady więcej niż jednej kategorii (o znaczeniu analogicznym do kryterium sto pu dla zstępującej konstrukcji drzewa decyzyjnego) oraz o wyborze kategorii dla reguły, której część warunkową ten kompleks będzie stanowił. Przedstawimy dwie konkretyzacje schematu sekwencyjnego pokrywania, któ re przyjmują różne rozstrzygnięcia dla podanych wyżej otwartych kwestii. Są one oparte bezpośrednio na dwóch najlepiej znanych systemach indukcji reguł AQ i CN2, chociaż, jak to już było sygnalizowane, niekiedy wierność ich opisu w sto sunku do oryginału będzie poświęcona na rzecz dopasowania ich do wspólnego schematu sekwencyjnego pokrywania5. W ten sposób będą uwypuklone istotne różnice między tymi algorytmami, a pominięte różnice o charakterze margine sowym. Wygodnie będzie nam dla obu algorytmów stosować nazwy systemów, w których zostały użyte, czyli mówić krótko o algorytmie AQ i algorytmie CN2.
4.3 Algorytm AQ Algorytm AQ dość wiernie realizuje schemat sekwencyjnego pokrywania z algo rytmu 4.1. Zawsze jednak generuje on kompleksy w pełni dokładne, czyli zapew nia, że pokrywane przez nie przykłady należą do jednej kategorii. Nie jest to, jak zobaczymy, wynikiem użycia specyficznego kryterium wyboru kompleksów, któ re może być łatwo zmienione, lecz istotną cechą samego algorytmu. W związku z tym żaden przykład trenujący nie będzie pokryty przez reguły o różnych ety kietach kategorii. Algorytm ten zapewnia również, że każda kolejna reguła będzie pokrywać pewne przykłady, które nie zostały pokryte przez żadną regułę wygene rowaną wcześniej. Dzięki temu mamy pewność, że po wygenerowaniu skończonej liczby reguł zostanie pokryty cały zbiór trenujący. Nie zmienia to faktu, że two rzony zbiór reguł jest nieuporządkowany —przy tworzeniu każdej kolejnej reguły przy ocenie dokładności kompleksów bierze się pod uwagę cały zbiór trenują cy, a nie tylko przykłady nie pokryte dotychczas przez reguły wcześniejsze. Dość prosta modyfikacja przedstawionego dalej algorytmu umożliwia jednak wykorzy stanie go także do tworzenia uporządkowanych zbiorów reguł. O zaproponowanie takich zmian poprosimy czytelnika w jednym z ćwiczeń na końcu rozdziału. 5 Dotyczy to zwłaszcza algorytmu AQ, który prezentujemy tu w uproszczonej postaci, nie zagłę biając się w jego różne szczegółowe odmiany i rozszerzenia opisane w literaturze.
4.3. ALGORYTM AQ
4.3.1
215
Strategia przeszukiwania
Strategia przeszukiwania przestrzeni kompleksów przez algorytm AQ opiera się na dość prostym, lecz skutecznym pomyśle. Polega on na zogniskowaniu proce su przeszukiwania, w celu zwiększenia jego efektywności, na pewnym wybra nym przykładzie, który nie został pokryty przez żadną z dotychczas wygenero wanych reguł. Takie zogniskowanie oznacza ograniczenie się do rozważania tyl ko tych kompleksów, które pokrywają wybrany przykład i są możliwie maksy malnie ogólne, nie pokrywają jednak przy tym żadnego przykładu innej katego rii. W celu uzyskania kompleksów spełniających takie warunki przeprowadzana jest operacja specjalizacji, która każdorazowo wyklucza ze zbioru przykładów po krywanych przez rozważane kompleksy przynajmniej jeden przykład o niewłaści wej kategorii. Szczegóły strategii przeszukiwania przestrzeni kompleksów przez system AQ przedstawia algorytm 4.2, opisujący odpowiednią realizację operacji znajdi-kompleks. Wykorzystuje ona jako argumenty zarówno cały zbiór trenują cy T, jak i jego podzbiór P zawierający wyłącznie przykłady jeszcze nie pokryte przez wygenerowane dotychczas reguły. funkcja znajdź-kompleks-aq(T, P) argumenty wejściowe: • T — zbiór trenujący dla pojęcia c, • P — podzbiór zbioru T zawierający przykłady nie pokryte przez wygenerowa ne wcześniej reguły; zwraca: kompleks pokrywający pewną liczbę przykładów z P należących do jednej kategorii; xs :— ziarno-pozytywne(P); 2: S :={(?)}; 3: jak długo (3x 6 T) 5 > x A c(x) / c(xs) wykonaj 4: xn := ziarno~negatywne(T, S,xs)\ 5: 5' := częściowa-gwiazda(x8ixn)\ 6: jeśli 5' = 0 to 7: zwróć (0); koniec jeśli S:=5n5'; 5 : - 5 - { k € 5 | (3k'e5)k^k'}; 5:=Argmax™GStfk(a;s,T,P); koniec jak długo zwróć argmaxk€5 $k(x*,T,P). Algorytm 4.2. Generowanie kompleksu w systemie AQ Proces przeszukiwania rozpoczyna się od wyboru przykładu xs, wokół którego będzie ono zogniskowane — przykład ten jest nazywany ziarnem i obecnie przyj miemy, że może zostać wybrany arbitralnie spośród przykładów trenujących nie
216
ROZDZIAŁ 4. INDUKCJA REGUŁ
pokrytych przez wcześniej wygenerowane reguły. Następnie jest tworzony zbiór kompleksów kandydujących do wyboru, nazywany gwiazdą. Docelowo zbiór ten ma zawierać takie maksymalnie ogólne kompleksy, które pokrywają ziarno, lecz nie pokrywają żadnego przykładu o kategorii różnej od kategorii ziarna. Gwiazda jest inicjowana jako zbiór zawierający wyłącznie kompleks uniwersalny i następ nie sukcesywnie specjalizowana. Specjalizacja jest przeprowadzana aż do osią gnięcia sytuacji, gdy żaden z wchodzących w jej skład kompleksów nie będzie pokrywał przykładów innych kategorii, cały czas pokrywając ziarno. W celu zapi sania tego warunku w algorytmie 4.2 rozszerzamy nieco notację, stosując symbol relacji pokrywania przykładów do całej gwiazdy. Zapis S > x należy interpretować jako skrót następującego warunku: ( 3 k e S)k>x.
(4.19)
Gwiazdę ilustruje rys. 4.2, na którym elipsy oznaczają kompleksy pokrywające pewne podzbiory zbioru trenującego, a czarne i białe kółka — przykłady dwóch różnych kategorii. Graficzna postać rysunku może sugerować pochodzenie termi nu „gwiazda".
Rys. 4.2. Ilustracja gwiazdy dla systemu AQ Stosowana operacja specjalizacji polega na wybraniu pewnego przykładu xni który jest pokrywany przez wchodzący w skład gwiazdy kompleks, chociaż jego kategoria jest różna od kategorii ziarna. Przykład ten jest czasem nazywany ziar nem negatywnym, co uzasadnia nazywanie ziarna, wokół którego jest ogniskowa ny proces generowania gwiazdy, ziarnem pozytywnym. Następnie jest tworzony, za pomocą wywołania częściowa-gwiazda(xS) xn), pomocniczy zbiór komplek-
4.3. ALGORYTM AQ
217
sów S", nazywany częściową gwiazdą, w którego skład wchodzą wszystkie mak symalnie ogólne kompleksy pokrywające ziarno i nie pokrywające ziarna nega tywnego. Prosty sposób konstrukcji takiego zbioru będzie podany wkrótce. Czę ściowa gwiazda jest później przecinana (zgodnie z definicją przecięcia zbiorów kompleksów) z dotychczasową gwiazdą, tworząc nową specjalizowaną gwiazdę. Są z niej ponadto usuwane wszystkie kompleksy, które nie są maksymalnie ogólne, czyli które są bardziej szczegółowe od jakiegoś innego wchodzącego w jej skład kompleksu. W celu ograniczenia zakresu przeszukiwania i zapobiegnięcia wykład niczemu wzrostowi liczby przetwarzanych kompleksów po każdej takiej specjali zacji w gwieździe pozostawia się nie więcej niż ustaloną jako parametr algorytmu liczbę m ^ 1 kompleksów najlepszych według pewnej heurystycznej funkcji oce ny tf, której wartość dla każdego kompleksu może w ogólnym przypadku zależeć od ziarna xs i zbiorów przykładów Ti P. Operacja Argmax£ld\^{xs^T^ P) ozna cza wybór (co najwyżej) m kompleksów o największych wartościach tej funk cji. Podejście to jest charakterystyczne dla przeszukiwania wiązkowego, w którym zbiór branych w każdym momencie elementów przeszukiwanej przestrzeni ogra nicza się do „wiązki" złożonej z ustalonej liczby najlepiej ocenianych elementów, a parametr m nazywany jest szerokością wiązki. Jeśli zbiór trenujący jest popraw ny i zestaw atrybutów określonych na dziedzinie wystarcza do reprezentowania pojęcia docelowego, to po skończonej liczbie przeprowadzonych w opisany spo sób operacji specjalizacji zostanie uzyskana niepusta gwiazda spełniająca określo ne wyżej wymagania. Jako wynik funkcji jest zwracany wybrany z niej najlepszy kompleks według heurystyki oceniającej, która — można przyjąć —jest identycz na z funkcją używaną wcześniej do ograniczania rozmiaru gwiazdy. 4.3.2
Specjalizacja gwiazdy
Z powyższego opisu wynika, że system AQ przeszukuje wiązkowo przestrzeń kompleksów, rozpoczynając od najbardziej ogólnych i kolejno je specjalizując. Specjalizacja zbioru aktualnie rozważanych kompleksów, czyli gwiazdy, jest prze prowadzana przez jej przecięcie z częściową gwiazdą, czyli zbiorem maksymalnie ogólnych kompleksów pokrywających ziarno, lecz nie pokrywających ziarna ne gatywnego. Do kompletnego opisu operacji specjalizacji brakuje zatem określenia sposobu tworzenia częściowej gwiazdy. W tym celu może być wykorzystana funk cja częściowa-gwiazda, przedstawiona jako algorytm 4.3. Jak widać, podczas generowania częściowej gwiazdy są przeglądane kolej no wszystkie atrybuty określone na dziedzinie. Za każdym razem brany jest pod uwagę zbiór wartości atrybutu pomniejszony o wartość tego atrybutu dla ziarna negatywnego. Jeśli jego wartość dla ziarna pozytywnego należy do tego zbioru, to jest możliwe utworzenie kompleksu atomowego z selektorem dla tego atrybutu pokrywającym ziarno i nie pokrywającym ziarna negatywnego. Do zapisu tej ope-
218
ROZDZIAŁ 4. INDUKCJA REGUŁ
funkcja częściowa-gwiazda(xs,xn) argumenty wejściowe: • xs — ziarno pozytywne, • xn — ziarno negatywne; zwraca: zbiór maksymalnie ogólnych kompleksów pokrywających xs i nie pokrywają cych xn\ 1: S ' : = 0 ; 2: dla wszystkich atrybutów ai określonych na dziedzinie wykonaj 3:
k :=(?>;
4: V :=Ai -{ai(xn)}\ 5: jeśli a{(xs) 6 V to 6: umieść selektor sy w kompleksie k na pozycji i; 7: S' : = S ' U { k } . 8: koniec jeśli 9: koniec dla 10: zwróć S'. Algorytm 4.3. Generowanie częściowej gwiazdy w systemie AQ racji korzystamy z wprowadzonej wcześniej konwencji, zgodnie z którą dla dane go zbioru wartości dozwolonych V jest jednoznacznie wyznaczany selektor sy. Tak powstały kompleks jest maksymalnie ogólnym kompleksem spełniającym ten warunek i w związku z tym jest dodawany do częściowej gwiazdy. Zauważmy, że w podanym algorytmie nie uwzględniono żadnego ogranicze nia zapobiegającego próbie wygenerowania częściowej gwiazdy dla ziarna nega tywnego identycznego z ziarnem pozytywnym ze względu na wartości wszystkich atrybutów. Taka sytuacja, gdyby wystąpiła, oznaczałaby sprzeczność w zbiorze trenującym, wynikającą bądź z przekłamania wartości któregoś z atrybutów lub etykiety kategorii, bądź z niedostateczności dostępnego zestawu atrybutów do re prezentowania pojęcia docelowego. Powstanie wówczas częściowa gwiazda bę dąca zbiorem pustym, a w konsekwencji odpowiednia specjalizacja gwiazdy nie będzie możliwa. Spowodowałoby to nieskończoną pętlę w algorytmie 4.2, gdy by sytuacja ta nie była tam wykrywana 6 . W związku z tym przedstawiona wersja algorytmu znajdowania kompleksu kończy działanie po otrzymaniu pustej czę ściowej gwiazdy, zwracając pusty (sprzeczny) kompleks jako sygnał sprzeczności danych trenujących. Przykład 4.5 (Pogoda). Aby zilustrować sposób tworzenia częściowej gwiazdy, weźmy pod uwagę, dla dziedziny stanów pogody, przykłady 2 i 3 z tabl. 2.2:
6
Przez cały czas istniałby wówczas pokrywany przez gwiazdę przykład o kategorii różnej od kategorii ziarna negatywnego.
219
4.3. ALGORYTM AQ
aura 2 ; słoneczna 3 | pochmurna
X
\
temperatura wiłgotność ciepła duża duża ciepła
wiatr 1 c(x) siłny 0 słaby 1
Wywołanie funkcji częściowa-gwiazda(3, 2) ma dać w wyniku zbiór maksymalnie ogólnych kompleksów, które, pokrywając przykład 3, nie będą pokrywać przykła du 2. Siedząc kolejne kroki algorytmu 4.3 łatwo się przekonać, że powstaną dwa takie kompleksy: {pochmurna V deszczowa, ?, ?, ?), ,?,?,s/a5y>. 4.3.3
Ocena kompleksów
Do ograniczania rozmiaru gwiazdy do m najlepszych kompleksów oraz wybo ru najlepszego z nich po zakończeniu jej specjalizacji muszą być wykorzystane pewne funkcje oceny, z natury heurystyczne, gdyż w trakcie uczenia się nie moż na dokładnie przewidzieć „prawdziwej" użyteczności kompleksów w końcowym zbiorze reguł. Funkcje te mają więc bezpośredni wpływ na jakość generowanych kompleksów, a tym samym na jakość uzyskanego zbioru reguł. O ile generowanie zawsze kompleksów w pełni dokładnych oraz maksymalnie ogólnych należy do istoty algorytmu AQ, o tyle za pomocą heurystyk oceniających kompleksy można wprowadzić dodatkowe preferencje ukierunkowujące proces przeszukiwania. Jakie preferencje można jednak wprowadzać, skoro najważniejsze cechy gene rowanych kompleksów — dokładność i możliwie duża ogólność — są i tak zapew nione? Trzeba tu zwrócić uwagę przynajmniej na dwie sprawy. Po pierwsze, mak symalna ogólność kompleksów w gwieździe oznacza tylko tyle, że żaden z nich nie jest bardziej szczegółowy od pozostałych (czyli zbiór pokrywanych przez nie go przykładów nie jest podzbiorem zbioru przykładów pokrywanych przez inny kompleks z gwiazdy), a podczas operacji specjalizacji tworzy się ich najbardziej ogólne z możliwych uszczegółowień, które zapewnią wyeliminowanie pokrywania negatywnego ziarna. Wcale z tego jednak nie wynika, że każdy z otrzymywanych w ten sposób kompleksów jest równie pożyteczny z punktu widzenia tworzonego zbioru reguł. W szczególności mogą się one różnić liczbą pokrywanych przykła dów o kategorii zgodnej z kategorią ziarna, a jest naturalne dążenie do tego, aby liczba ta była jak największa, gdyż może to wpłynąć na zmniejszenie liczby reguł niezbędnych do pokrycia zbioru trenującego. Jest więc uzasadnione preferowanie kompleksów pokrywających dużo przykładów przy ograniczaniu rozmiaru gwiaz dy oraz przy ostatecznym wyborze jednego z jej elementów. Jeśli z kolei cho dzi o dokładność, to oczywiście przeszukiwanie nie skończy się wcześniej, nim wszystkie kompleksy w gwieździe nie będą pokrywać żadnych przykładów o ka tegorii różnej od kategorii ziarna, lecz nie jest bez znaczenia, jak długo potrwa ten proces. Na szybkość osiągnięcia gwiazdy, której każdy kompleks jest dokładny,
220
ROZDZIAŁ 4. INDUKCJA REGUŁ
może w oczywisty sposób pozytywnie wpłynąć preferowanie przy ograniczaniu jej rozmiaru do szerokości wiązki kompleksów bardziej dokładnych, czyli pokry wających możliwie niewiele przykładów należących do niewłaściwych kategorii. Przyjmując zasadę brzytwy Ockhama jesteśmy też skłonni lepiej oceniać kom pleksy proste niż złożone. Algorytm 4.2 zakłada, że zarówno do ograniczania rozmiaru gwiazdy, jak i na stępnie do wyboru z niej jednego najlepszego kompleksu, jest stosowana ta sama heurystyczna funkcja oceny $, która ocenia dowolny kompleks k ze względu na ziarno xs, zbiór trenujący T i jego nie pokryty podzbiór P , przypisując mu wartość tfk(#s) ?\ P)- Kierując się powyższą dyskusją możemy określić ją w najprostszy sposób jako liczbę pokrywanych przez kompleks k przykładów ze zbioru T o ka tegorii zgodnej z kategorią ziarna powiększoną o liczbę nie pokrywanych (wyklu czanych) przykładów ze zbioru T o innej kategorii. Odpowiednią formułę możemy zapisać następująco: tfk(z5,T)
- \{x e Tk I c(x) = c{xs)}\ + + \{x €T -Tk\
c(x) ć c(x3)}\.
(4.20)
Zbiór przykładów dotychczas nie pokrytych jest przez tak określoną funkcję oceny pomijany. Jedna z możliwości uwzględnienia liczby pokrywanych wyłącz nie przez oceniany kompleks (czyli nie pokrytych przez dotychczasowe reguły) przykładów o kategorii zgodnej z kategorią ziarna to modyfikacja powyższej defi nicji funkcji oceny, polegająca na wprowadzeniu do niej wartości \{xePk\c(x)
= c(xs)}\
(4.21)
jako dodatkowego składnika. W najprostszym wariancie zmodyfikowana formuła może mieć następującą ogólną postać: tfk(s„T,P)
= " = |{s e T k | c(x) = c(xs)}\ + + ^ | { x E T - T k | c(x) + c{xs)}\ + + u± \{x E Pk | c(x) - c(xs)}\,
(4.22)
przy czym dodatnie parametry u)~, LO^ i u;^ określają odpowiednią wagę przy wiązywaną do pokrywania przykładów o kategorii zgodnej z kategorią ziarna, do wykluczania przykładów o kategorii różnej od kategorii ziarna i do unikatowego pokrywania przykładów o kategorii zgodnej z kategorią ziarna nie pokrytych przez dotychczasowe reguły. W celu preferowania prostych kompleksów przy ich ocenie należy przyjąć pewną miarę złożoności. Najbardziej naturalne będzie wykorzystanie w tym ce lu liczby selektorów nieuniwersalnych występujących w ocenianym kompleksie. Możliwe, lecz mniej jednoznacznie uzasadnione, jest uwzględnienie także licz-
4.3. ALGORYTM AQ
221
by wartości atrybutów występujących w selektorach, zgodnie z wcześniejszą dys kusją. Bardziej zaawansowane miary złożoności, o których nie mówiliśmy tu taj, oczywiście także mogą być stosowane, zwłaszcza jeśli dobrze odzwierciedla ją preferencje dla prostoty właściwe dla konkretnego zastosowania tworzonego zbioru reguł. Pozostaje otwarta kwestia, jak takie kolejne kryterium preferencji uwzględnić w funkcji oceny, komplikując w dalszym stopniu definiującą ją formu łę. W istocie możliwych kryteriów preferencji dla kompleksów jest wiele i różne z nich mogą być właściwe w różnych okolicznościach, zależnie od szeregu czyn ników, takich jak dziedzina zastosowania, dostępna moc obliczeniowa i wymaga nia efektywnościowe, a także sposób implementacji algorytmu, od którego zależy koszt przetwarzania kompleksów różnej postaci. Systematyczne i proste podejście umożliwiające uwzględnienie większej licz by kryteriów przy ocenie kompleksów reprezentuje funkcja typu LEF7, czyli leksykograficzna funkcja oceny stosowana w różnych wersjach systemu AQ. Taka funkcja jest reprezentowana przez wektor funkcji dla poszczególnych kryteriów oceny tf1, d2,..., #*, uporządkowanych w kolejności znaczenia przypisywanego im przez projektanta lub użytkownika systemu uczącego się. Dla każdego kom pleksu jest najpierw obliczana wartość pierwszej funkcji dl. Następnie dla kom pleksów, dla których zostaną otrzymane jednakowe wartości, oblicza się wartość funkcji d2. Postępowanie to jest kontynuowane dla kolejnych funkcji dopóty, do póki wszystkie podlegające kompleksy nie uzyskają różniących się ocen lub ze staw funkcji odpowiadających poszczególnym kryteriom preferencji nie wyczerpie się. Jeśli wówczas pozostają dwa kompleksy o jednakowych wartościach wszyst kich funkcji, to o wyborze jednego z nich w razie potrzeby decyduje arbitralna decyzja, na przykład losowanie. Stosowana funkcja oceny kompleksów jest jednym z elementów indukcyjnego obciążenia algorytmu AQ. Decyduje ona o tym, które kompleksy z przeszukiwanej przestrzeni będą wybrane do utworzenia reguł. Obciążenie to ma oczywiście cha rakter obciążenia preferencji, gdyż przestrzeń rozważanych hipotez nie jest w ża den sposób ograniczona i obejmuje wszystkie dopuszczalne hipotezy. Przykład 4.6 (Pogoda). Dla dziedziny stanów pogody i zbioru trenującego T po danego w tabl. 2.2 poddamy ocenie następujące kompleksy: ki = {słoneczna. V pochmurna,?,?,?), k2 = (słoneczna \/ pochmurna, ciepła,?,?), k3 = (słoneczna V pochmurna,?,?, silny) ze względu na ziarno xs — 3, zbiór trenujący T i P = T. Liczba przykładów w zbio rze T o kategorii zgodnej z kategorią ziarna c(xs) = 1 wynosi 1^1 = 1(3,4,5,7,9,10,11,12,13)1 = 9, 7
Jest to skrót pochodzący od terminu Lexicographic Evalucttion Function.
222
ROZDZIAŁ 4. INDUKCJA REGUŁ
a liczba przykładów o kategorii różnej od kategorii ziarna wynosi |T°| = |(1,2,6,8,14}| = 5. Dla trzech ocenianych kompleksów mamy odpowiednio: |T k l |= 1(1,2,3,7,8,9,11,12,13)1 = 9, | Ą J = |{3,7,9,11,12,13}| = 6, |T&|= |{1,2,8)| = 3, |T k 2 |= 1(1,2,3,13)1 = 4,
|ĄJ = 1(3,13)1 = 2,
|Tk°J= |{1,2}| = 2,
|T k 3 |= |{2,7,11,12}| = 4, 1 ^ 1 = |{7,11,12}| = 3,
|Tk°3|= |{2}| = 1.
Dla funkcji oceny danej równaniem (4.20), wyznaczającej wartość kompleksu jako liczbę pokrywanych trenujących przykładów o kategorii zgodnej z kategorią ziarna i nie pokrywanych przykładów o różnej kategorii, otrzymujemy: i?kl(arSJT,P) = 6 + ( 5 - 3 ) = 8, tfk2(xs,T,P)=2 + ( 5 - 2 ) = 5, i9 k 2 (z,,7\P)=3 + ( 5 - l ) = 7. Najwyższą ocenę uzyskał kompleks ki. Łatwo zauważyć, że zawdzięczają przede wszystkim dużej liczbie pokrywanych przykładów pozytywnych, o kategorii zgodnej z kategorią ziarna.
4.3.4
Wybór ziaren
Algorytm 4.2 wykorzystuje operacje ziarno-pozytywne i ziarno-negatywne do wy boru ziaren niewiele zakładając na ich temat. Pierwsza z nich dla zbioru przykła dów P podanego jako argument musi wybrać jego dowolny element — będzie to przykład, wokół którego zostanie zogniskowane tworzenie gwiazdy. Druga z nich, otrzymując jako argumenty zbiór trenujący T, aktualną gwiazdę S oraz ziarno pozytywne xs, musi z T wybrać dowolny przykład pokrywany przez pewien kom pleks z S, którego kategoria jest inna niż kategoria przykładu xs. Dwa najprostsze podejścia do realizacji tych operacji to oczywiście wybór przykładów spełniają cych podane warunki w kolejności, w jakiej są przechowywane, oraz wybór loso wy. Spośród nich bardziej godne polecenia jest drugie, gdyż eliminuje zależność wyników od kolejności przykładów, która może nie być przypadkowa i przez to wprowadzać niepożądane obciążenie. Chwila zastanowienia skłania nas do zaproponowania bardziej wyrafinowa nych strategii wyboru ziaren, których zastosowanie kosztem zwiększonego nakła du obliczeń pozwala mieć nadzieję na szybsze uzyskanie prostszego zbioru reguł. Można uznać, że sprzyjałoby temu w szczególności możliwie równomierne pokry wanie zbioru trenującego przez kompleksy kolejnych reguł. Korzystnie jest, jak się
4.3. ALGORYTM AQ
223
wydaje, mieć reguły pokrywające zbiory przykładów o zbliżonej liczności i możli wie niewielkich częściach wspólnych. Może temu sprzyjać dążenie przy wyborze kolejnych ziaren pozytywnych do tego, aby jak najbardziej różniły się od przykła dów pokrytych przez reguły wygenerowane dotychczas. Zróżnicowanie to można zmierzyć w najprostszym przypadku jako średnią odległość Hamminga (czyli licz bę różnych wartości atrybutów)8 między ziarnem a przykładami ze zbioru T — P . Nieco inne podejście polegałoby na bezpośrednim porównywaniu potencjalnych ziaren z kompleksami dotychczasowych reguł i mierzeniu w pewien prosty spo sób dzielącej je odległości. Metryką, której wykorzystanie w tym celu wydaje się uzasadnione, jest proponowana wcześniej miara częściowego pokrywania /i. Przy wyborze negatywnych ziaren może nam zależeć na tym, aby ich uwzględ nienie prowadziło do zakończenia specjalizacji gwiazdy w jak najmniejszej liczbie kroków, czyli aby liczba potrzebnych ziaren negatywnych była jak najmniejsza. Dążenie to jest usprawiedliwione kosztem obliczeniowym przetwarzania każdego z nich. Rozsądną strategią wydaje się wówczas wybieranie w pierwszej kolejności przykładów jak najbardziej podobnych do ziarna pozytywnego, a różniących się od niego kategorią. Gwiazda tak czy inaczej nie może ich pokrywać, a wczesne uwzględnienie ich prowadzi do najbardziej daleko idącej specjalizacji i przez to może przyspieszyć jej zakończenie. Jak wyżej, podobieństwo przykładów może my oceniać ze względu na liczbę identycznych wartości atrybutów nominalnych. Strategia wyboru ziaren, obok funkcji oceny kompleksów, wpływa na jakość uzyskiwanych zbiorów reguł. Stanowi ona drugi element indukcyjnego obciąże nia algorytmu AQ. Ona również, jak wynika to z powyższej dyskusji, w pośredni sposób wyraża określone preferencje w stosunku do reguł. 4.3.5
Wybór kategorii
Ponieważ kompleksy znajdowane przez system AQ są zawsze dokładne i pokry wają wyłącznie przykłady trenujące jednej kategorii, operacja wyboru kategorii dla tworzonej reguły jest trywialna. Należy po prostu wybrać jedyną, wspólną kategorię przykładów pokrywanych przez kompleks. Dla porządku możemy zapi sać operację kategoria(k, T, P) następująco, jako wybór kategorii większościowej w zbiorze 2V argmax|{x E T k | c(x) = d}\.
(4.23)
d
Oczywiście równie dobrze mógłby zostać w tym przypadku użyty zbiór P za miast T. W przypadku uczenia się pojęć pojedynczych zadowalają nas reguły pokry wające wyłącznie przykłady pozytywne ze zbioru trenującego. Aby uzyskać takie "Zakładamy cały czas, że mamy do czynienia wyłącznie z atrybutami nominalnymi. Dla atrybu tów porządkowych i ciągłych należałoby wziąć pod uwagę odległość miedzy wartościami atrybutów.
224
ROZDZIAŁ 4. INDUKCJA REGUŁ
reguły, wystarczy zainicjować zbiór nie pokrytych przykładów P jako T 1 zamiast T, nie zmieniając poza tym w żaden inny sposób algorytmów 4.1 i 4.2. Wów czas kolejnymi ziarnami będą tylko przykłady pozytywne, a żaden z powstających kompleksów nie będzie mógł pokrywać przykładów negatywnych. Przykład 4.7 (Pogoda). Zilustrujemy działanie algorytmu AQ dla zamieszczone go w tabl. 2.2 zbioru trenującego T dotyczącego klasyfikacji stanów pogody. Ponie waż mamy w tym przypadku do czynienia z pojęciem pojedynczym, do reprezento wania hipotezy wystarczyłyby wyłącznie reguły dla kategorii 1. Ze względów dydak tycznych będziemy jednak stosować algorytmy 4.1, 4.2 i 4.3 dokładnie w tej postaci, w jakiej zostały podane, rezygnując z tej możliwości usprawnienia. Dla prostoty przyj miemy maksymalny rozmiar gwiazdy m = 1 oraz funkcję oceny kompleksów okre śloną jako liczba pokrywanych przez nie przykładów o kategorii identycznej z katego rią ziarna nie pokrytych przez wygenerowane wcześniej reguły. Odpowiada to funkcji zdefiniowanej równaniem (4.22) z UJ= = UJ^ = 0 i LJ± = 1. W przypadku kom pleksów o jednakowych wartościach funkcji oceny w gwieździe będzie pozostawiany ostatni z nich. Ziarna pozytywne i negatywne będą wybierane w kolejności numerów przykładów. Okaże się, że nie są to w przypadku naszego zbioru trenującego najszczę śliwsze rozstrzygnięcia, wskutek czego przykład niniejszy będzie długi i żmudny, lecz jego prześledzenie między innymi dzięki temu może być bardziej pouczające. 1. Początkowo R = 0, P = T = {1, 2,3,4, 5,6, 7,8,9,10,11,12,13,14}. 2. Następuje wywołanie znajdf-kompleks(T', P). a) wybierane jest ziarno xs = 1, dla którego c(xs) = 0; b) gwiazda inicjowana jako S = {(?)} pokrywa przykłady ze zbioru T o kate gorii 1; c) wybierane jest ziarno negatywne xn = 3; d) powstaje częściowa gwiazda dla xs i xn: Sf = {{słoneczna V deszczowa, ?, ?, ?)}; e) przecięcie S D Sł daje w wyniku zmodyfikowaną gwiazdę: S = {{słoneczna V deszczowa, ?,?,?)}; która zawiera dokładnie jeden kompleks, f) gwiazda w dalszym ciągu pokrywa przykłady ze zbioru T o kategorii 1; g) wybierane jest ziarno negatywne xn — 4; h) powstaje częściowa gwiazda dla xs i xn: Sł — {{słoneczna V pochmurna,?,?,?), (?, zimna V ciepła, ?, ?)}; i) przecięcie S D S' daje w wyniku zmodyfikowaną gwiazdę: 5 = {{słoneczna, ?,?,?), {słoneczna V deszczowa, zimna V ciepła, ?,?)}; j) oba kompleksy w 5 są maksymalnie ogólne;
4.3. ALGORYTM AQ
225
k) oba kompleksy pokrywają taką samą liczbę przykładów ze zbioru P o kate gorii 0 i funkcja oceny przyjmuje dla każdego z nich wartość 3; 1) w gwieździe pozostawiany jest tylko ostatni kompleks: S = {(słoneczna V deszczowa, zimna V ciepła, ?,?)}; gwiazda w dalszym ciągu pokrywa przykłady ze zbioru T o kategorii 1; m) wybierane jest ziarno negatywne xn = 5; n) powstaje częściowa gwiazda dla xs ixn: S' = {{słoneczna V pochmurna, ?,?,?), {?, umiarkowana V ciepła, ?, ?), ,?,duźa,?)}; o) przecięcie S D S' daje w wyniku zmodyfikowaną gwiazdę: S = {(słoneczna, zimna V ciepła, ?, ?), (słoneczna V deszczowa, ciepła, ?, ?), (słoneczna V deszczowa, zimna V ciepła, duża, ?)}; p) wszystkie kompleksy w 5 są maksymalnie ogólne; q) wszystkie kompleksy w S pokrywają taką samą liczbę przykładów ze zbioru P o kategorii 0 i funkcja oceny przyjmuje dla każdego z nich wartość 2; r) w gwieździe pozostawiany jest tylko ostatni kompleks: S = {(słoneczna V deszczowa, zimna V ciepła, duża, ?)}; gwiazda nie pokrywa żadnego przykładu ze zbioru T o kategorii 1; s) zwracany jest kompleks: (słoneczna V deszczowa, zimna V ciepła, duża, ?). 3. Powstaje nowa reguła, która jest dodawana do zbioru E: R = {(słoneczna V deszczowa, zimna V ciepła, duża, ?} -» 0}. Ze zbioru P są usuwane pokrywane przez nią przykłady: P = {3,4,5,6,7,8,9,10,11,12,13,14}. 4. Ponieważ P ^ 0, następuje wywołanie znajdź-kompleks(T, P ) . a) wybierane jest ziarno x s = 3, dla którego c(x s ) = 1; b) w procesie kolejnych specjalizacji, które czytelnik zechce prześledzić samo dzielnie, znajdowana jest gwiazda pokrywająca ziarno i nie pokrywająca żad nego przykładu ze zbioru T o kategorii 0; c) zwracany jest kompleks: (pochmurnaM deszczowa, ?, ?, słaby).
226
ROZDZIAŁ 4. INDUKCJA REGUŁ
5. Powstaje nowa reguła, która jest dodawana do zbioru E: E = {(słoneczna V deszczowa, zimna V ciepła, duża, ?) -» 0, (pochmurna V deszczowa, ?, ?, s/aby) —• 1}. Ze zbioru P są usuwane pokrywane przez nią przykłady: P = {6,7,8,9,11,12,14}. 6. Ponieważ P ^ 0, następuje wywołanie znajdź-kompleks(T, P), a) wybierane jest ziarno a;s = 6, dla którego c(xs) — 0; b) w procesie kolejnych specjalizacji, które czytelnik zechce prześledzić samo dzielnie, znajdowana jest gwiazda pokrywająca ziarno i nie pokrywająca żad nego przykładu ze zbioru T o kategorii 1; c) Zwracany jest kompleks: (deszczowa, zimna V umiarkowana, ?, siiny). 7. Powstaje nowa reguła, która jest dodawana do zbioru E: E = {(słoneczna V deszczowa, zimna V ciepła, duża, ?) —• 0, (pochmurnaW deszczowa,?,?, słaby) ->> 1, (deszczowa, zimna V umiarkowana, ?, si7ny) —• 0}. Ze zbioru P są usuwane pokrywane przez nią przykłady: P = {7,8,9,11,12}. 8. Ponieważ P / 0, następuje wywołanie znajdź-kompleks(T, P). a) wybierane jest ziarno xs — 7, dla którego c(xs) = 1; b) w procesie kolejnych specjalizacji, które czytelnik zechce prześledzić samo dzielnie, znajdowana jest gwiazda pokrywająca ziarno i nie pokrywająca żad nego przykładu ze zbioru T o kategorii 0; c) zwracany j est kompleks: (słoneczna V pochmurna, zimna V umiarkowana, ?, siłny). 9. Powstaje nowa reguła, która jest dodawana do zbioru E: E = {(słoneczna V deszczowa, zimna V ciepła, duża, ?) -» 0, (pochmurna V deszczowa, ?, ?, s/aby) —• 1, (deszczowa, zimna V umiarkowana, ?, siiny) —> 0, (słoneczna V pochmurna, zimna V umiarkowana, ?, siiny) —• 1}. Ze zbioru P są usuwane pokrywane przez nią przykłady: P = {8,9}. 10. Ponieważ P ^ 0, następuje wywołanie znajdź-kompleks(T, P).
4.3. ALGORYTM AQ
227
a) wybierane jest ziarno x$ = 8, dla którego c(xs) — 0; b) w procesie kolejnych specjalizacji, które czytelnik zechce prześledzić samo dzielnie, znajdowana jest gwiazda pokrywająca ziarno i nie pokrywająca żad nego przykładu ze zbioru T o kategorii 1; c) zwracany jest kompleks: (słoneczna V pochmurna, zimna V umiarkowana, duża, słaby). 11. Powstaje nowa reguła, która jest dodawana do zbioru E: E = {(słoneczna V deszczowa, zimna V ciepła, duża, ?) -» 0, (pochmurna V deszczowa, ?, ?, słaby) -> 1, (deszczowa, zimna V umiarkowana, ?, siiny) -> 0, (słoneczna V pochmurna, zimna V umiarkowana, ?, siiny) -» 1, (słoneczna V pochmurna, zimna V umiarkowana, duża, słaby) —• 0}. Ze zbioru P jest usuwany pokrywany przez nią przykład: P = {9}. 12. Ponieważ P ^ 0 , następuje wywołanie znajdź-kompleks(T, P ) . a) wybierane jest ziarno xs — 9, dla którego c(xs) — 1; b) w procesie kolejnych specjalizacji, które czytelnik zechce prześledzić samo dzielnie, znajdowana jest gwiazda pokrywająca ziarno i nie pokrywająca żad nego przykładu ze zbioru T o kategorii 0; c) Zwracany jest kompleks: (?, ?, normałna, słaby). 13. Powstaje nowa reguła, która jest dodawana do zbioru E: E = {(słoneczna V deszczowa, zimna V ciepła, duża, ?) -» 0, (pochmurna W deszczowa, ?, ?, siaby) —> 1, (deszczowa, zimna V umiarkowana, ?, siiny) —> 0, (słoneczna V pochmurna, zimna V umiarkowana, ?, siiny) -> 1, (słoneczna V pochmurna, zimna V umiarkowana, duża, słaby) -» 0, (?,?, normałna, słaby) —> 1}. Ze zbioru P jest usuwany pokrywany przez nią przykład:
P = 0. 14. Ponieważ P = 0, algorytm sekwencyjnego pokrywania kończy działanie.
228
ROZDZIAŁ 4. INDUKCJA REGUŁ
4.4 Algorytm CN2 W przeciwieństwie do przedstawionej podstawowej wersji algorytmu AQ, algo rytm CN2 generuje kompleksy, które nie zawsze muszą być w pełni dokładne, chociaż ze zrozumiałych względów dąży on do uzyskania dużej dokładności. Przy generowaniu każdego kompleksu są pomijane przykłady trenujące, które zostały pokryte przez reguły powstałe wcześniej. W szczególności wspomniane dążenie do dokładności jest ograniczane wyłącznie do przykładów nie pokrytych przez wcześniejsze reguły. Używając oznaczeń z algorytmu 4.1 można więc powiedzieć, że na ocenę jakości kompleksów wpływa wyłącznie zbiór P, a pozostałe przykła dy z T nie są brane pod uwagę. Konsekwencją tego jest uporządkowanie zbioru reguł tworzonego przez system CN2 w kolejności ich wygenerowania. Każda re guła może być stosowana do klasyfikowania tylko tych przykładów, które nie są pokrywane przez żadną regułę poprzedzającą ją w tym porządku. Dość prosta mo dyfikacja przedstawionego dalej algorytmu umożliwia jednak wykorzystanie go także do tworzenia nieuporządkowanych zbiorów reguł. O zaproponowanie takich zmian poprosimy czytelnika w jednym z ćwiczeń na końcu rozdziału. 4,4,1
Strategia przeszukiwania
Podobnie jak algorytm AQ, algorytm CN2 stosuje przeszukiwanie wiązkowe w ce lu znalezienia kompleksu, spełniającego przyjęte w tym algorytmie kryteria. Jest to znowu przeszukiwanie rozpoczynane od najbardziej ogólnego kompleksu i po legające na sukcesywnej specjalizacji, mechanizm tej specjalizacji jest jednak tym razem zupełnie inny. Nie mamy do czynienia z ogniskowaniem tego procesu wo kół przykładów wybieranych jako ziarna ani z tworzeniem częściowej gwiazdy dla kolejnych ziaren negatywnych, których pokrywanie należy wykluczyć. Zamiast te go wykorzystywany jest zbiór wszystkich możliwych kompleksów atomowych dla atrybutów określonych na dziedzinie. W algorytmie 4.4 zbiór ten jest oznaczany przez §. Algorytm stosowany przez system CN2 konstruuje gwiazdę9 jako zbiór kom pleksów kandydujących do ostatecznego wyboru, rozpoczynając od gwiazdy jednoelementowej zawierającej kompleks uniwersalny i poddając ją następnie spe cjalizacji. Kryterium zakończenia tego procesu nie jest jednak uzyskanie gwiazdy złożonej wyłącznie z kompleksów pokrywających przykłady tylko jednej katego rii, jak to miało miejsce w przypadku algorytmu AQ. Brak takiego naturalnego warunku zatrzymania specjalizacji powoduje, że jest ona kontynuowana tak dłu9
Przetwarzany przez ten algorytm zbiór kompleksów nazywamy dla wygody gwiazdą, w ślad za jego twórcami, chociaż pierwotne znaczenie tego terminu obejmowało zbiór kompleksów po krywających ziarno i w związku z tym dotyczyło tylko systemu AQ, a jego uzasadnienie wyjaśnia rys. 4.2.
4.4. ALGORYTM CN2
229
funkcja znajdź-kompleks~cn2(T, P) argumenty wejściowe: • T — zbiór trenujący dla pojęcia c, • P — podzbiór zbioru T zawierający przykłady nie pokryte przez wygenerowa ne wcześniej reguły; zwraca: statystycznie istotny kompleks pokrywający pewną liczbę przykładów z P z dużą dokładnością; 1 S :={(?)}; k* :=); 2 jak długo 5 ^ 0 wykonaj 3 •S":=Sn§; 4 S' := S'- S - {{)}}; 5 dla wszystkich kompleksów k € 5' wykonaj 6 jeśli MP) > 0 A tfk(P) > dy. (P) to 7 K+ :~ /c; koniec jeśli 8 9 koniec dla 10 5:-Argmax^5^k(P); 11 koniec jak długo 12 zwróć k*.
Algorytm 4.4. Znajdowanie kompleksu w systemie CN2 go, jak długo jest to możliwe. Oczywiście możliwość dalszej specjalizacji kończy się wraz z uzyskaniem najbardziej szczegółowego kompleksu sprzecznego jako jedynego kompleksu gwiazdy. Ponieważ zaś kompleksy sprzeczne są z gwiazdy zawsze usuwane, sprowadza się to do kontynuowania specjalizacji tak długo, jak długo gwiazda nie jest zbiorem pustym. Skoro gwiazda staje się systematycznie zbiorem coraz bardziej szczegółowych kompleksów, a ostatecznie zbiorem pustym, jest jasne, że zwracany kompleks nie może pochodzić z końcowej gwiazdy. Algorytm CN2 przechowuje zatem od dzielnie najlepszy kompleks k*, jaki dotychczas pojawił się w gwieździe na któ rymkolwiek etapie jej konstruowania. Przy specjalizowaniu gwiazdy pomijane są w związku z tym wszystkie kompleksy, które znajdowały się w niej dotychczas, skoro najlepszy kandydat jest tak czy inaczej pamiętany. Sama specjalizacja jest tymczasem bardzo prosta koncepcyjnie, chociaż nie koniecznie prosta obliczeniowo. Polega wyłącznie na przecięciu gwiazdy ze zbio rem wszystkich kompleksów atomowych S. Oznacza to zastosowanie w stosunku do każdego kompleksu gwiazdy każdej możliwej operacji uszczegółowienia dla pojedynczego selektora. Każdy z uzyskanych kompleksów, po usunięciu sprzecz nych oraz tych, które poprzednio wchodziły w skład gwiazdy, jest następnie po równywany z kompleksem k* dotychczas uznanym za najlepszy według stosowa nej heurystycznej funkcji oceny i zastępuje ten kompleks, jeśli wartość tej funkcji jest dla niego większa. Podobnie jak poprzednio w przypadku systemu AQ, przez
230
ROZDZIAŁ 4. INDUKCJA REGUŁ
$k(P) oznaczamy ocenę jakości kompleksu k na podstawie zbioru przykładów etykietowanych P. Zmiana najlepszego kompleksu zależy jednak od dodatkowe go warunku, aby brany pod uwagę nowy kompleks był statystycznie istotny, czyli reprezentował pewną istotną zależność. Test statystycznej istotności jest zapisany w przedstawionym algorytmie jako porównanie wartości pewnej statystyki ipk(P) z ustaloną progową wartością 0. Jest to druga heurystyka wykorzystywana przez algorytm CN2. Po ewentualnej zmianie najlepszego kompleksu rozmiar gwiazdy jest ograniczany d o m ^ 1 najlepszych kompleksów. Parametr m, tak jak w przy padku algorytmu AQ, określa szerokość wiązki dla przeszukiwania wiązkowego. 4.4.2
Ocena kompleksów
Ponieważ, w przeciwieństwie do systemu AQ, strategia przeszukiwania stosowana w systemie CN2 nie zapewnia znajdowania dokładnych kompleksów, a na do kładności z oczywistych względów musi nam zależeć, nawet jeśli nie wymagamy dokładności pełnej, funkcje heurystyczne stosowane do oceny kompleksów mają decydujące znaczenie dla użyteczności reguł generowanych przez ten algorytm. Podejście, jakie jest w związku z tym przyjęte, polega na porównywaniu kom pleksów za pomocą funkcji oceny o wartościach zależnych w pewien sposób od ich dokładności oraz liczby pokrywanych przykładów, lecz uwzględnianiu przy tym tylko tych kompleksów, dla których pozytywny wynik daje test statystycznej istotności. Chodzi tu o wykluczenie ewentualności, że wysoka jakość kompleksu wynika z przypadkowego zgrupowania przykładów, nie zaś z istotnej zależności kategorii przykładów od ich pokrywania bądź niepokrywania przez oceniany kom pleks. Obie stosowane funkcje, do oceny jakości i statystycznej istotności kom pleksów, reprezentują obciążenie indukcyjne omawianego algorytmu. Jakość kompleksów Zauważmy, że intuicyjnie naturalne oczekiwania w stosunku do „dobrego" kom pleksu przypominają oczekiwania, jakie w poprzednim rozdziale formułowaliśmy w stosunku do „dobrych" testów używanych przy konstruowaniu drzew decyzyj nych. Chodzi więc przede wszystkim o to, aby przykłady pokrywane przez kom pleks miały możliwie mało zróżnicowane kategorie, a mówiąc bardziej precyzyj nie, żeby rozkład częstości występowania wśród nich poszczególnych kategorii był nierównomierny. Ponieważ jest to ten sam cel, do którego dąży się wybierając test do podziału zbioru przykładów na podzbiory ze względu na jego wyniki, nie powinno nas dziwić, że jedna z możliwych do wykorzystania w algorytmie CN2 heurystyk ma charakter teorioinformacyjny. Jakość kompleksów jest oceniana względem zbioru przykładów P C T, które nie zostały dotychczas pokryte przez wygenerowane wcześniej reguły. Dla zbio-
231
4.4. ALGORYTM CN2
ru P entropię ze względu na kompleks k określimy następująco: TDd
Mc
dec
log
Ą|
r>d Mc
(4.24)
Ą
Wiemy już, że taka entropia przyjmuje największe wartości wtedy, kiedy rozkład częstości kategorii w zbiorze P^ przykładów pokrywanych przez kompleks k jest najbardziej równomierny, a staje się mała w miarę zwiększającej się nierównomierności tego rozkładu. Im bardziej wyraźnie jedna z kategorii dominuje, tym entropia staje się bliższa 0. Aby więc być w zgodzie z konwencją przyjętą w algo rytmie 4.4, zgodnie z którą lepsze kompleksy mają większe wartości heurystycznej funkcji oceniającej, możemy ją zdefiniować jako zanegowaną entropię:
(4.25)
W praktycznych obliczeniach należy przy tym uwzględnić sytuacje, gdy | Ą | = 0 TDd lub Mc 0 dla pewnej kategorii d E C, kiedy obliczenie entropii zgodnie z po danym wzorem nie jest możliwe. W drugim przypadku przyjmuje się 0 log 0 = 0, o czym była już mowa w rozdziale 3. W pierwszym przypadku kompleks k, który nie pokrywa żadnego przykładu ze zbioru P, powinien uzyskać minimalną moż liwą ocenę — można przyjąć w szczególności, że wartość entropii jest wówczas nieskończona10. Taką teorioinformacyjną funkcję oceny kompleksów wykorzystywała wczesna wersja systemu CN2. Została ona następnie zastąpiona funkcją bezpośrednio mie rzącą dokładność klasyfikowania przez oceniany kompleks przykładów ze zbio ru P, bliższą podejściu przyjmowanemu w systemie AQ. Jednym z podejść do szacowania dokładności w sposób premiujący jednocześnie dużą liczbę pokrywa nych przykładów jest wykorzystanie omawianego w rozdziale 3 m-oszacowania11, zgodnie z którym jakość kompleksu oblicza się następująco:
*k(P) =
pi + m\h \Pk\+m
(4.26)
przy czym d = argmax \{x G Pk | c(x) = d'}\ 10
(4.27)
W implementacji będzie to raczej maksymalna liczba zmiennopozycyjna. Nie należy mylić zwyczajowo oznaczanego przez m parametru tego oszacowania, będącego liczbą używanych przykładów „wirtualnych", z maksymalnym rozmiarem gwiazdy, także oznacza nym tu przez m. Ten konflikt oznaczeń dotyczy tak małego fragmentu rozdziału, że nie powinien powodować nieporozumień. 11
232
ROZDZIAŁ 4. INDUKCJA REGUŁ
jest większościową etykietą kategorii w zbiorze P i m jest dodatnią liczbą całko witą. W szczególnym przypadku, gdy m — |C|, wzór upraszcza się do postaci: pd
MP) =
-He + 1
(4.28)
|Ą| + |C|
I P^ I
W przeciwieństwie do „naiwnego" szacowania dokładności jako stosunku W 4 , prowadzącego najczęściej do zbyt optymistycznych oszacowań, zwłaszcza dla nie wielkich rozmiarów zbioru Pk, m-szacowanie prowadzi do bardziej pesymistycz nej, lecz także bardziej wiarygodnej oceny dokładności. Przykład 4.8 (Pogoda). Dla dziedziny stanów pogody i zbioru trenującego T z tabl. 2.2 poddamy ocenie trzy kompleksy, poprzednio oceniane w przykładzie 4.6 w sposób przyjęty w systemie CN2: ki = (słoneczna\fpochmurna,?,?, ?), k 2 — (słoneczna V pochmurna, ciepła, ?, ?), k3 = (słoneczna V pochmurna, ?, ?, siłny). Oceniając kompleksy za pomocą zanegowanej entropii zgodnie z równaniem (4.25) otrzymujemy, przy użyciu logarytmów dwójkowych: tfkl(T) = | | l o g 2 ^ + ^log 2 jj = -0,918,
<MT) = ^ ^
+ 1106,1 = -1,
i? ks (T) = ^ l o g 2 ^ + i l o g 2 i = -0,811. Jeśli do oceny kompleksów zastosujemy m-oszacowanie dokładności zgodnie z rów naniem (4.26) dla m = \C\ = 2, to otrzymujemy:
^ ( T ) = 9 ¾ = °' 636 ' ^k2(T) = iri = 0'5' tfk2CO = ~Ą
=0,667.
W obu przypadkach najwyższą ocenę uzyskał kompleks k3. Statystyczna istotność kompleksów Nietrudno się przekonać, że przy stosowaniu entropii do oceny jakości komplek sów kompleks w pełni dokładny zawsze zostanie uznany za lepszy niż kompleks,
233
4.4. ALGORYTM CN2
który nie jest w pełni dokładny12. Dla kompleksów dokładnych, czyli pokrywa jących przykłady wyłącznie jednej kategorii, uzyskamy zawsze entropię równą 0, a dla niedokładnych będzie ona miała wartości dodatnie, co przekłada się na ujem ne wartości funkcji oceny zdefiniowanej jako zanegowana entropia. Stosowanie takiej funkcji heurystycznej może więc wyglądać na wprowadzenie do algoryt mu CN2 „tylnymi drzwiami" wymogu pełnej dokładności kompleksów, o którym wcześniej pisaliśmy, że w algorytmie tym nie występuje. Czy wrażenie takie jest słuszne, czy też nie, zależy od drugiej funkcji heurystycznej, stosowanej do spraw dzania, czy kompleksy porównywane ze względu na ich jakość są statystycznie istotne. Znanych jest wiele statystycznych testów istotności, a dwa z nich, które szcze gólnie często występują w maszynowym uczeniu się, zostały już przedstawione w poprzednim rozdziale. Chodzi o wprowadzone tam w ogólnej postaci statystyki X2 i G2, które zostały podane jako alternatywne podejścia do oceny testów przy konstrukcji drzew decyzyjnych. Podane wówczas wzory można przepisać w po staci odpowiedniej do oceny istotności kompleksów w następujący sposób:
(\P£\ - ei(P)f et(P)
dec
In dec
(4.30)
e&P)
W powyższym wyrażeniu wartości \P£\ reprezentują obserwowany rozkład czę stości występowania poszczególnych kategorii d £ C w zbiorze i \ przykładów pokrywanych przez kompleks k i nie pokrytych przez poprzednie reguły. Tymcza sem wartości e£(P) reprezentują oczekiwany rozkład częstości między poszcze gólne kategorie, uzyskany dla takiej samej liczby | Ą | przykładów wybranych lo sowo ze zbioru P , co odpowiada założeniu niezależności tego rozkładu od po krywania przez kompleks k, czyli naszej hipotezie zerowej. Wartości te szacuje się w oczywisty sposób, mnożąc prawdopodobieństwa poszczególnych kategorii szacowane na podstawie ich częstości w zbiorze P przez |Ą|:
el(P) = |Ą|
(4.31) \P\'
Obie podane statystyki mogą być interpretowane jako miary odległości między oczekiwanym rozkładem częstości kategorii reprezentowanym przez e£(P) a roz12
Nie musi być to prawdą dla funkcji oceny określonej jako m-oszacowanie dokładności, które może być niższe dla w pełni dokładnego kompleksu pokrywającego niewielką liczbę przykładów, niż dla nie całkiem dokładnego kompleksu pokrywającego wiele przykładów.
234
ROZDZIAŁ 4. INDUKCJA REGUŁ
kładem przykładów między kategorie faktycznie występującym w zbiorze P^. Aby kompleks k mógł być uznany za statystycznie istotny, odległość między dwoma tymi rozkładami powinna być dostatecznie duża. Obie statystyki mają w przy bliżeniu rozkład y^ z \C\ — l stopniami swobody, więc dla zadanego poziomu istotności 6 można wyznaczyć wartość progową 8$ taką, że prawdopodobieństwo jej przekroczenia przez którąkolwiek z tych statystyk dla statystycznie nieistotne go kompleksu wynosi 5. Przyjmuje się zazwyczaj wartości S G [0,01; 0,05]. Przy obliczeniach wartości e£(P) równe lub bliskie 0 zastępowane są ustaloną liczbą 0 < e < 1. Na uwzględnianie wyłącznie statystycznie istotnych kompleksów możemy pa trzeć jako na sposób zapobiegania szkodliwemu zjawisku nadmiernego dopaso wania. Kompleks w pełni dokładny, lecz nie spełniający kryteriów statystycznej istotności, jest traktowany jako kompleks podejrzany o nadmierne dopasowanie. Nawet jeśli charakteryzuje się przy tym bardzo dużą dokładnością i pokrywa du żo przykładów, nie będzie brany pod uwagę jako kandydat do wyboru. Dzięki temu ostatecznie wybrany jako najlepszy kompleks niekoniecznie będzie zawsze w pełni dokładny. Eliminacja niektórych kompleksów na podstawie testu staty stycznej istotności jest swego rodzaju przycinaniem w trakcie generowania reguł i może wyeliminować potrzebę przycinania uzyskanego zbioru reguł po zakończe niu działania algorytmu. Zauważmy na koniec tej dyskusji, że jeśli stosowana funkcja oceny zawsze preferuje w pełni dokładne kompleksy oraz test statystycznej istotności nie jest stosowany, to część warunkową ostatniej z wygenerowanych przez algorytm CN2 reguł będzie zawsze stanowić kompleks uniwersalny. Wynika to z tego, że sko ro każda z generowanych reguł może pokrywać przykłady tylko jednej kategorii, to po wygenerowaniu dostatecznie wielu reguł w zbiorze nie pokrytych przykła dów pozostaną tylko przykłady jednej kategorii. Kompleks uniwersalny uzyska oczywiście dla nich maksymalną dokładność, więc żaden bardziej szczegółowy kompleks nie okaże się od niego lepszy. Warto przy okazji zauważyć, że jeśli dla stosowanej funkcji oceny kompleksów jest znana maksymalna możliwa wartość (tak jest w szczególności dla funkcji oceny określonej jako zanegowana entropia, której maksimum wynosi 0), to po uzyskaniu statystycznie istotnego kompleksu o takiej maksymalnej ocenie można zakończyć proces specjalizacji, gdyż z góry wiadomo, że żaden inny kompleks nie okaże się lepszy. 4.4.3
Wybór kategorii
Algorytm CN2 znajduje kompleksy, które niekoniecznie pokrywają przykłady wy łącznie jednej kategorii, lecz z oczywistych względów stosuje heurystyczne funk cje oceny, które preferują kompleksy o dużej dokładności, a więc pokrywające zbiory przykładów zjedna wyraźnie dominującą kategorią. Naturalnie jako kate-
4,4. ALGORYTM CN2
235
gorię reguły tworzonej po znalezieniu kompleksu należy zatem wybrać tę dominu jącą, większościową kategorię. Operację kategoria^ T, P) możemy wobec tego zapisać następująco: a r g m a x \{x e Ą I c(x) = d}\.
(4.32)
d
Zwróćmy uwagę, że wybór kategorii następuje na podstawie pokrywanych przez kompleks przykładów ze zbioru P , a więc tych, które nie zostały wcześniej pokry te przez inne reguły, nie zaś z całego zbioru trenującego. Przykład 4.9 (Pogoda). Działanie konkretyzacji schematu sekwencyjnego pokry wania, jaka jest stosowana przez system CN2, zilustrujemy korzystając jak zwykle z podanego w tabl. 2.2 zbioru trenującego T dotyczącego klasyfikacji stanów pogody. Będziemy śledzić kolejne kroki algorytmów 4.1 i 4.4, przyjmując, że jakość komplek sów jest obliczana jako zanegowana entropia dla zbioru pokrywanych przez nie (i nie pokrytych przez wcześniejsze reguły) przykładów. Nie będziemy stosować żadnego testu statystycznej istotności, gdyż wyklucza to zbyt mały rozmiar zbioru trenujące go. Każdy kompleks będzie zatem uznawany za istotny, co w konsekwencji oznacza, że będą tworzone reguły spójne z pojęciem docelowym na zbiorze trenującym. Dla uproszczenia przyjmiemy szerokość wiązki m = 1. Mimo to, podobnie jak przy kład 4.7, ten przykład będzie obszerny i przez to, być może, nużący, lecz prześledze nie działania algorytmu od początku do końca przynajmniej dla jednego niewielkiego zbioru trenującego może pomóc w lepszym zrozumieniu jego właściwości. 1. Początkowo E ^%,P ^T ^ {1,2,3,4,5,6,7,8,9,10,11,12,13,14}. Zbiór kompleksów atomowych dla naszej dziedziny jest następujący: § — {(deszczowa, ?, ?, ?), (deszczowa V słoneczna, ?, ?, ?), (deszczowa V pochmurna, ?,?,?), (pochmurna, ?,?,?), (pochmurna V słoneczna, ?, ?, ?), (słoneczna, ?,?, ?), (?, ciepła,?,?), {?, ciepła V zimna, ?, ?), (?, ciepła V umiarkowana, ?,?), (?, umiarkowana, ?, ?), {?, umiarkowana\/ zimna, ?, ?), (?, zimna,?,?), ,?,duża,?>, {?, ?', normaina,?), {?,?,?, silny), (?,?,?, s/aby)}. 2. Następuje wywołanie znajdź-kompleks(T', P). a) początkowo S = {(?)} ^ 0 i k* = (?); dla kompleksu k* mamy ocenę 1 ^ ( ^ ) = - ^ ( ^ ) = -0,940:
236
ROZDZIAŁ 4. INDUKCJA REGUŁ
b) w wyniku przecięcia S Pi § otrzymujemy S' = §; żaden kompleks z S' nie należy do S ani nie jest pusty; c) maksymalna ocena $ k (P) diak € 5' osiągana jest dla k = (pochmurna, ?,?,?) i wynosi 0; d) otrzymujemy: S = {(pochmurną?,?,?)} ^ 0, k* = (pochmurna,?,?,?); e) ponieważ funkcja oceny osiąga dla kompleksu k* maksymalną możliwą war tość, zwracany jest ten kompleks. 3. Powstaje nowa reguła, która jest dodawana do zbioru K: K = {(pochmurna, ?, ?, ?) -> 1}. Ze zbioru P są usuwane pokrywane przez nią przykłady: P = {1,2,4,5,6,8,9,10,11,14}. 4. Ponieważ P / 0, następuje wywołanie znajdź-kompleks(T, P). a) początkowo 5 = {{?}} / 0 i k* = {?); dla kompleksu k* mamy ocenę t9k,(P)--£kł(P) = -l; b) w wyniku przecięcia S Pi S otrzymujemy S' = §; żaden kompleks z S' nie należy do 5 ani nie jest pusty; c) maksymalna ocena i9k(P) diak G 5 ' osiągana jest dla k = < ? , ciepła,?,?) i wynosi 0; d) otrzymujemy: S = {, ciepła, ? , ? ) } / 0 , k* = (?, ciepła,?,?)\ e) ponieważ funkcja oceny osiąga dla kompleksu k* maksymalną możliwą war tość, zwracany jest ten kompleks. 5. Powstaje nowa reguła, która jest dodawana do zbioru E: E = {(pochmurna,?,?,?) -> 1, (?, ciepła, ?,?>-• 0}. Ze zbioru P są usuwane pokrywane przez nią przykłady: P = {4,5,6,8,9,10,11,14}. 6. Ponieważ P ^ 0 , następuje wywołanie znajdź-kompleks(T, P).
4.4. ALGORYTM CN2
237
a) w sposób, który czytelnik zechce prześledzić samodzielnie, jest znajdowany kompleks: k* = (?,?, normalna, słaby), dla którego # k ł (P) = 0 ; b) zwracany jest kompleks k*. 7. Powstaje nowa reguła, która jest dodawana do zbioru E: R = {(pochmurna, ?, 7, ?) -> 1, <7,ciep/a,?,?)-y0, {?,?, normalna, słaby) -> 1}. Ze zbioru P są usuwane pokrywane przez nią przykłady: P = {4,6,8,11,14}. 8. Ponieważ P ^ 0, następuje wywołanie znajdź-kompleks(T, P ) . a) w sposób, który czytelnik zechce prześledzić samodzielnie, jest znajdowany kompleks: k* = (7, zimna, ?, 7), dla którego tfkt (P) ^ 0; b) zwracany jest kompleks k*. 9. Powstaje nowa reguła, która jest dodawana do zbioru E: E = {(pochmurna, 7,7,7) -> 1, ,ciepfa,?,?)->0, (1,1, normalna, słaby) -» 1, , zimna,?,?) ->0}. Ze zbioru P są usuwane pokrywane przez nią przykłady: P = {4,8,11,14}. 10, Ponieważ P ^ 0, następuje wywołanie znajdź-kompleks(T, P ) . a) w sposób, który czytelnik zechce prześledzić samodzielnie, jest znajdowany kompleks: k* — (?, ?, normalna,?), dla którego ^ (P) = 0 ; b) zwracany jest kompleks k*. 11. Powstaje nowa reguła, która jest dodawana do zbioru E: E = {(pochmurna, 7,7,7) -> 1, ,ciepfa,?,?)->0, (7, 7, normalna, słaby) —> 1, {?,zimna,?,?) -> 0, (1,1, normalna,!) -¥ 1}.
238
ROZDZIAŁ 4. INDUKCJA REGUŁ
Ze zbioru P są usuwane pokrywane przez nią przykłady: P = {4,8,14}. 12. Ponieważ P / 0, następuje wywołanie znajdź-kompleks(T\ P). a) w sposób, który czytelnik zechce prześledzić samodzielnie, jest znajdowany kompleks: k, = (?,?,?, silny), dla którego d^ (P) = 0; b) zwracany jest kompleks k*. 13. Powstaje nowa reguła, która jest dodawana do zbioru E: E - {{pochmurna, ?, ?, ?) -> 1, ,ciep&,?,?)->0, ?, normalna, słaby) zimna, ?, ?) —>- 0, ?, normalna,?) —» 1, ?,?, silny) - > 0 } . Ze zbioru P są usuwane pokrywane przez nią przykłady: P = {4,8}. 14, Ponieważ P ^ 0, następuje wywołanie znajdi-kompleks(T, P). a) w sposób, który czytelnik zechce prześledzić samodzielnie, jest znajdowany kompleks: k* = (słoneczna, ?, ?, ?), dla którego i? kł (P) = 0 ; b) zwracany jest kompleks k*. 15. Powstaje nowa reguła, która jest dodawana do zbioru E: E = {(pochmurna,?,?,?) -> 1, (?, ciepła,?,?) ->0, , ?, normalna, słaby) —• ,zimna,?,?) —)- 0, ,?, normalna,?) —> 1, ,?,?, silny)->0, (słoneczna, ?, ?, ?) -> 0}. Ze zbioru P są usuwane pokrywane przez nią przykłady: P={4}. 16. Ponieważ P ^ 0, następuje wywołanie znajdź-kompleks(T, P).
4.5. PRZYCINANIE ZBIORÓW REGUŁ
239
a) początkowo S ~ {(?)} / 0 i k* = (?); dla kompleksu k* mamy ocenę r?kł(P) = -£ic # (P)=0; b) ponieważ funkcja oceny osiąga dla kompleksu k* maksymalną możliwą war tość, zwracany jest ten kompleks. 17. Powstaje nowa reguła, która jest dodawana do zbioru K: R = {(pochmurna, ?, ?, ?) ->• 1, ,ciep/a,?,?)^0, (7, 7, normalna, słaby) —> 1, ,zimna,?,?)->0, (7,7, normalna, 7) —» 1, ,?,?,aZny>-K), (słoneczna, 7,7,7} -> 0, (?) -> i}. Ze zbioru P jest usuwany pokrywany przez nią przykład: P = 0. 18. Ponieważ P ~ 0, algorytm sekwencyjnego pokrywania kończy działanie.
4.5 Przycinanie zbiorów reguł System AQ w swej podstawowej postaci, jaka została wyżej przedstawiona, nie jest wyposażony w żadne mechanizmy zapobiegania nadmiernemu dopasowaniu. Błąd rzeczywisty uzyskanego zbioru reguł może wówczas zmniejszyć ich uprosz czenie, które, tak jak analogiczną operację dla drzew decyzyjnych, nazywamy przycinaniem. W przypadku systemu CN2 mechanizmem zapobiegającym nad miernemu dopasowaniu jest stosowany w nim test statystycznej istotności kom pleksów, co w dużej mierze jest analogiczne do przycinania drzew decyzyjnych w trakcie wzrostu. Z tych samych co w przypadku drzew decyzyjnych powo dów bardziej skuteczne może się okazać przycinanie uzyskanego zbioru reguł ja ko całości po zakończeniu jego generowania. Przypomnijmy sobie wreszcie, że w poprzednim rozdziale jako szczególnie godne polecenia podejście do przycina nia drzew decyzyjnych zasugerowaliśmy ich uprzednie przekształcenie w postać zbioru reguł i następnie przycinanie tego zbioru. Zalety tego podejścia w stosun ku do bezpośredniego przycinania drzew decyzyjnych nie wynikają ze stosowania innych kryteriów podejmowania decyzji o przycięciu, te bowiem są w większo ści takie same, lecz z większej elastyczności, jakie stwarza reprezentacja regułowa. W każdej regule oddzielnie ten sam warunek może być bądź pozostawiony bez zmian, bądź przycięty. W przypadku warunków reprezentowanych przez testy w drzewie decyzyjnym przycięcie jest operacją bardziej radykalną, gdyż dotyczy jednocześnie wszystkich ścieżek prowadzących od przycinanego węzła do liści.
240
ROZDZIAŁ 4. INDUKCJA REGUŁ
W tym ostatnim przypadku przycięcie może nastąpić jedynie dla warunków testo wanych w węzłach położonych stosunkowo blisko liści, gdyż przycięcie drzewa w pobliżu korzenia w zbyt dużym stopniu zwiększałoby jego błąd13. Po przekształ ceniu w zbiór reguł do przycięcia na równych prawach kandyduje każdy warunek. 4.5.1
Schemat przycinania
Przycinanie zbioru reguł, przy przyjętej przez nas reprezentacji części warunko wych za pomocą kompleksów, polega na zastępowaniu selektorów pojedynczych lub dysjunkcyjnych w kompleksach selektorami uniwersalnymi, jeśli nie dopro wadzi to do zwiększenia szacowanego błędu rzeczywistego zbioru reguł14. Tak jak w przypadku drzew decyzyjnych, do jego szacowania można wykorzystać od dzielny zbiór przycinania, co jest szczególnie korzystne, albo zbiór trenujący, jeśli ze względu na ograniczoną liczbę dostępnych przykładów etykietowanych nie mo żemy sobie pozwolić na wyodrębnienie zbioru przycinania. funkcja przytnij-regufy(R, P) argumenty wejściowe: • R — zbiór reguł do przycięcia, • P — zbiór przycinania; zwraca: zbiór reguł E po przycięciu; 1: dla wszystkich r G l wykonaj 2: dla wszystkich selektorów 5 ^ ? reguły r wykonaj 3: zastąp s przez ? jeśli nie powiększy to szacowanego na podstawie P błędu rzeczywistego reguły r; 4: koniec dla 5: koniec dla 6: zwróć E. Algorytm 4.5. Schemat przycinania zbioru reguł Mimo jego prostoty, zapisujemy dla porządku schemat przycinania zbiorów re guł jako algorytm 4.5. Zwróćmy uwagę, że jako kryterium podjęcia decyzji o przy cięciu podaje się tam szacowany błąd przycinanej reguły, a nie całego zbioru reguł. Oznacza to szacowanie błędu rzeczywistego reguły na podstawie jej błędu prób ki na zbiorze Pr pokrywanych przez nią przykładów ze zbioru P. W przypadku przycinania uporządkowanych zbiorów reguł należy przy tym ograniczyć się tylko do tych przykładów z tego zbioru, które nie są pokrywane przez reguły o mniej13
Oczywiście o ile nie jest stosowana technika nazwana w poprzednim rozdziale przycinaniem od środka, która może jednak wymagać skomplikowanej reorganizacji drzewa. 14 Można również brać pod uwagę przycinanie, polegające na dodawaniu dodatkowych wartości atrybutów do selektorów dysjunkcyjnych lub przekształcaniu w dysjunkcyjne selektorów pojedyn czych, nawet jeśli takie zmiany nie przypominają przycinania w zwykłym sensie.
4.6. ZŁOŻONOŚĆ OBLICZENIOWA
241
szych numerach porządkowych. Są to uwagi na tyle oczywiste, że nie wymagają rozwijania ani formalnego zapisywania. Algorytm 4.5 nie uwzględnia innej możliwej do zastosowania, bardziej rady kalnej techniki przycinania, w której z przycinanego zbioru reguł byłyby usuwane całe reguły. Nie wydaje się z pozoru, aby postępowanie takie było w zbyt wielu sytuacjach przydatne, gdyż algorytmy indukcji reguł oparte na schemacie sekwen cyjnego pokrywania tworzą zawsze tylko tyle reguł, ile trzeba do pokrycia wszyst kich przykładów trenujących. Jeśli jednak zbiór trenujący jest w dużym stopniu zaszumiony, może to oznaczać utworzenie zbyt wielu reguł, zależnie od właściwo ści stosowanego algorytmu bądź bardzo szczegółowych, bądź mało dokładnych. Szczególnie w takiej sytuacji może się okazać, że po przycięciu niektórych re guł, prowadzącym do zwiększenia ich ogólności, do pokrycia zbioru trenującego przestaną być potrzebne wszystkie reguły. Wówczas o ewentualnym pozbyciu się ich może decydować nie tylko szacowanie błędu, lecz także lub przede wszyst kim liczba pokrywanych przez nie przykładów. Kandydatami do usunięcia będą w takiej sytuacji reguły, które pokrywają ich najmniej. 4.5.2
Kryteria przycinania
Przy uwzględnieniu podanych wyżej zastrzeżeń dotyczących zbiorów przykładów, dla których ma być wyznaczany błąd próbki poszczególnych reguł, można trakto wać przycinanie zbioru reguł w sposób zasadniczo taki sam jak przycinanie drzew decyzyjnych. Oznacza to w szczególności, że do podjęcia decyzji o przycięciu mogą być wykorzystane takie same kryteria, jakie zostały podane w poprzednim rozdziale dla drzew i których nie będziemy tu przepisywać na nowo. Można więc, mając do dyspozycji oddzielny i niezależny od zbioru trenującego zbiór przyci nania, zastosować przycinanie redukujące błąd, które jest wówczas z pewnością metodą najbardziej godną polecenia. Jeśli dostatecznie dużą liczbą etykietowa nych przykładów nie dysponujemy i przycinanie musi być dokonane na podstawie zbioru trenującego, to mamy do dyspozycji między innymi przycinanie x2 i przy cinanie pesymistyczne.
4.6 Złożoność obliczeniowa Nie będziemy wdawać się w szczegółowe analizy złożoności obliczeniowej oma wianych w tym rozdziale algorytmów, pewne najprostsze oszacowania można jed nak przedstawić bez trudu, a są w tym przypadku dość interesujące. Skoncentru jemy się na koszcie obliczeniowym jednego pełnego kroku specjalizacji gwiazdy, przeprowadzanego podczas znajdowania kompleksów przez algorytmy AQ i CN2. Przyjmiemy dla uproszczenia, że każdy z n określonych na dziedzinie atrybutów ma zbiór wartości o takim samym rozmiarze równym v.
242
ROZDZIAŁ 4. INDUKCJA REGUŁ
W przypadku algorytmu 4.2 są przeprowadzane następujące operacje: 1) wybór ziarna negatywnego, co kosztuje 0(m |T|), gdyż dla każdego z co naj wyżej m kompleksów w zbiorze S trzeba sprawdzić, czy pokrywa każdy przy kład o kategorii różnej od kategorii ziarna, 2) generowanie częściowej gwiazdy, co kosztuje 0(n), gdyż może powstać co najwyżej jeden kompleks dla każdego atrybutu, 3) przecinanie gwiazdy i częściowej gwiazdy, co kosztuje 0(mn), 4) ocena każdego uzyskanego kompleksu na podstawie przykładów trenujących, co kosztuje 0(mn |T|), 5) wybór m najlepszych kompleksów, co może w najgorszym przypadku kosz tować 0(mn log (mn)), czyli tyle, ile posortowanie kompleksów w kolejności wartości funkcji oceny15. Łącznie asymptotyczną złożoność tych operacji możemy wobec tego oszacować jako 0(mn(\T\ + log(mn))). Dla algorytmu 4.4 są z kolei wykonywane następu jące operacje: 1) przecięcie aktualnej gwiazdy ze zbiorem kompleksów atomowych, co kosztuje 0(2vmn), gdyż liczba kompleksów atomowych zależy wykładniczo od liczby wartości atrybutów, 2) ocena każdego uzyskanego kompleksu na podstawie przykładów trenujących, co kosztuje 0(2vmn |T|), 3) wybór m najlepszych kompleksów, co może w najgorszym przypadku koszto wać 0(2 u mnlog(2 u mn)), czyli tyle, ile posortowanie kompleksów w kolej ności wartości funkcji oceny, co daje łączną złożoność asymptotyczną 0(2vmn(\T\ + v log(mn))). Z oszacowań tych wynika, że algorytm CN2 może być bardziej kosztowny od algorytmu AQ ze względu na dużą liczbę kompleksów atomowych, używanych do specjalizacji. Ponieważ rozważamy tu tylko złożoność asymptotyczną, w praktyce dla niedużych v algorytm ten może jednak działać w czasie nie dłuższym, a może nawet krótszym. Prawdziwe problemy występują, kiedy liczba wartości atrybutów jest większa niż kilka. Wrócimy do nich w następnym podrozdziale.
4.7 Zagadnienia praktyczne Próbując bezpośrednio stosować algorytmy indukcji reguł przedstawione wyżej do uczenia się pojęć na podstawie rzeczywistych zbiorów trenujących, możemy !5
Występujący w tym oszacowaniu iloczyn mn jest górnym ograniczeniem liczby kompleksów, których sortowanie może być konieczne.
4.7. ZAGADNIENIA PRAKTYCZNE
243
liczyć na w pełni zadowalające efekty jedynie w stosunkowo prostych przypad kach. W celu przedstawienia w maksymalnie jasny sposób najistotniejszych wła ściwości tych algorytmów ograniczyliśmy się bowiem do ich wersji najbardziej podstawowych, pomijając pewne możliwe rozszerzenia, które w praktycznych za stosowaniach mogą w istotny sposób poprawić osiągane wyniki. Niektóre z takich rozszerzeń zasugerujemy obecnie. Wskażemy także pewne praktyczne trudności, wynikające z samych właściwości algorytmów, które mogą niekiedy ograniczać ich użyteczność. Niektóre zagadnienia praktyczne, dyskutowane wcześniej dla drzew decyzyj nych, dotyczą w równym stopniu indukcji reguł i nie będziemy tu powtarzać tego, co na ten temat napisano w poprzednim rozdziale. W szczególności wspomniane tam techniki wypełniania brakujących wartości atrybutów mogą być w większości z podobnym powodzeniem zastosowane tutaj. Również technika okienkowania, polegająca na uczeniu się reguł dla zbioru roboczego będącego podzbiorem zbioru trenującego i powiększaniu go w razie potrzeby, może być z powodzeniem stoso wana w przypadku dużych zbiorów danych. Do tych technik powrócimy w roz dziale 10, a teraz zajmiemy się problemami szczególnie związanymi z indukcją reguł. 4.7.1
Niepoprawne dane trenujące
Podstawowym problemem związanym z niepoprawnością danych trenujących jest ryzyko nadmiernego dopasowania. O jego zmniejszaniu za pomocą przycinania była już mowa wyżej. Dla niektórych rodzajów przekłamań w zbiorze trenującym mogą jednak wystąpić także inne problemy. Nietrudno zauważyć, że jeśli znajdą się w nim dwa przykłady o takich samych wartościach wszystkich atrybutów, lecz o różnych kategoriach (czyli wystąpi sprzeczność), to używany przez system AQ algorytm znajdowania kompleksów w pewnym momencie trafi na ziarno, dla któ rego nigdy nie zdoła znaleźć kompleksu spełniającego jego wymagania. W przeci wieństwie do systemu CN2, a także omawianych w poprzednim rozdziale algoryt mów indukcji drzew decyzyjnych, podstawowa wersja systemu AQ nie jest w sta nie uczyć się na podstawie zbiorów trenujących zawierających sprzeczne przykła dy. Sytuacja taka zostanie oczywiście wykryta podczas konstruowania częściowej gwiazdy, lecz reakcja na nią zapisana w algorytmie 4.2, polegająca na zwróceniu pustego kompleksu, z pewnością nie jest zadowalająca, gdyż nie pozwala na utwo rzenie żadnej reguły pokrywającej jeden ze sprzecznych przykładów. Najprostsze rozwiązanie alternatywne, które umożliwia kontynuowanie uczenia się mimo wy stąpienia sprzeczności, polega na pominięciu przykładu, który doprowadził do jej ujawnienia się. Oznacza to pominięcie ziarna negatywnego, które jest w sprzecz ności z aktualnym ziarnem pozytywnym, i kontynuowanie generowania gwiazdy w zwykły sposób.
244
ROZDZIAŁ 4. INDUKCJA REGUŁ
Problemu sprzeczności przykładów trenujących nigdy nie może wyelimino wać sam podstawowy algorytm uczenia się, a co najwyżej może go zignorować. O ile jednak algorytm CN2 ignoruje takie sprzeczności w sposób „rozsądny", gdyż oceniając kompleksy wymaga od nich dużej, niekoniecznie jednak pełnej dokład ności oraz statystycznej istotności, o tyle prosta strategia ignorowania sprzecz ności podana wyżej dla systemu AQ ma poważne mankamenty. Jeśli jako ziarno pozytywne został pechowo wybrany przykład przekłamany, to będzie pominięte nieprzekłamane ziarno negatywne, a powstały kompleks, zapewne bardzo szcze gółowy, nie będzie reprezentował zależności użytecznej z punktu widzenia pojęcia docelowego. Konsekwentne trzymanie się wybranego ziarna pozytywnego i po mijanie sprzecznych z nim przykładów może więc prowadzić do złych efektów i niekiedy rozsądniej byłoby porzucić to ziarno i to właśnie je pominąć. Nie jest jednak jasne, jakie kryteria należałoby tu przyjąć. Jeden ze sposobów postępowa nia mógłby polegać na tym, aby po tymczasowym pominięciu ziarna negatywnego porównać uzyskany w ten sposób kompleks za pomocą stosowanych funkcji oce ny z kompleksem lub kompleksami pokrywającymi to ziarno negatywne. Jeśli do tychczas taki kompleks nie został utworzony, można wygenerować go wybierając pominięty przykład jako nowe ziarno pozytywne. Jeśli kompleksy pokrywające przykład pominięty wypadają w ocenie lepiej, to zapewne decyzja o jego pomi nięciu nie była słuszna, a pominąć należy raczej będące w nim w sprzeczności poprzednie ziarno pozytywne.
4.7.2
Efektywna specjalizacja
Nawet jeśli zbiór przykładów, na podstawie którego następuje generowanie reguł, nie jest zbyt duży, co można zapewnić stosując w razie potrzeby okienkowanie, na przeszkodzie udanym praktycznym zastosowaniom algorytmów indukcji reguł mogą stanąć problemy związane z ich efektywnością obliczeniową. Z przedsta wionej wyżej pobieżnej analizy złożoności wynika jednoznacznie, że problem nadmiernych kosztów obliczeniowych może być szczególnie dotkliwy w przy padku algorytmu CN2 ze względu na stosowany w nim mechanizm specjaliza cji kompleksów. Polega on na zastosowaniu wszystkich możliwych specjalizacji dla pojedynczych selektorów, co realizuje się przecinając zbiór specjalizowanych kompleksów ze zbiorem wszystkich kompleksów atomowych dla zestawu atry butów określonych na dziedzinie. Tymczasem zbiór ten w realnych przypadkach może być bardzo duży, gdyż liczba kompleksów atomowych dla każdego atrybu tu rośnie wykładniczo ze wzrostem liczby wartości tego atrybutu. Mówiąc ściślej, dla atrybutu a : X H-» A o skończonej przeciwdziedzinie \A\ mamy dokładnie 2l4l - 2 takich kompleksów — tyle, ile różnych nietrywialnych podzbiorów (róż nych od 0 i A) ma zbiór A. Jeśli na naszej dziedzinie określonych jest n atrybutów,
4.7. ZAGADNIENIA PRAKTYCZNE
245
di : X i->> A{ dla i = 1, 2 , . . . , n, to łączna liczba kompleksów atomowych wynosi n
]T2l*l ~ 2 n .
(4.33)
i=i
Tymczasem przecinanie gwiazdy ze zbiorem kompleksów atomowych liczącym choćby tylko setki elementów może spowodować, że koszt obliczeniowy wyge nerowania zbioru reguł przekroczy granice akceptowalności, co może wymuszać ograniczanie liczby kompleksów atomowych, jakie się bierze pod uwagę. W naj prostszym przypadku można to osiągnąć bądź rezygnując w ogóle ze stosowania selektorów dysjunkcyjnych, bądź przynajmniej ograniczając liczbę wartości, jakie mogą występować w takich selektorach, powiedzmy do kilku. Z sugerowanym wyżej ograniczeniem trudno się pogodzić, gdyż w natural ny sposób zmniejsza ono ogólność tworzonych przez omawiany algorytm reguł. Może to mieć znaczenie zwłaszcza dla atrybutów o wielu wartościach, kiedy re zygnując z selektorów dysjunkcyjnych możemy do pokrycia zbioru trenującego potrzebować większej liczby bardziej szczegółowych reguł. Jednym z podejść do zmniejszenia dolegliwości tego problemu, o ile nie przezwyciężenia go, może być agregacja wartości atrybutów. Odpowiednie metody będą przedstawione w roz dziale 7. Tymczasem jednak zauważmy, że stosowana przez algorytm 4.4 operacja specjalizacji jest tylko jedną z możliwości jej przeprowadzenia i można zapropo nować inne sposoby jej realizacji, poprawiające, być może, efektywność. Przecina nie aktualnej gwiazdy ze zbiorem wszystkich kompleksów atomowych ma na celu wygenerowanie wszystkich możliwych specjalizacji każdego kompleksu z gwiaz dy, różniących się od oryginalnych kompleksów dokładnie jednym bardziej szcze gółowym selektorem. Koszt takiej specjalizacji wynika z tego, że w jednym kroku są generowane wszystkie spełniające ten warunek uszczegółowione kompleksy, których w najgorszym przypadku jest tyle, ile podaje równanie (4.33). Nakład obliczeń możemy zmniejszyć, biorąc pod uwagę tylko niektóre z nich, a nie rezy gnując przez to z „siły wyrazu" selektorów dysjunkcyjnych. W szczególności dla każdego kompleksu z gwiazdy można się ograniczyć do wszystkich takich i tyl ko takich uszczegółowionych kompleksów, które różnią się od niego dokładnie jednym selektorem w ten sposób, że ten bardziej szczegółowy selektor dopuszcza dokładnie o jedną wartość odpowiedniego atrybutu mniej niż selektor oryginalny. Takich uszczegółowień jest dla każdego kompleksu co najwyżej n i=i
gdyż ze zbioru wartości dozwolonych każdego spośród n selektorów możemy usu nąć co najwyżej tyle różnych wartości, ile zawiera przeciwdziedzina odpowiednie go atrybutu. Może to oznaczać znaczną oszczędność w stosunku do oryginalnego
246
ROZDZIAŁ 4. INDUKCJA REGUŁ
algorytmu. Nie uzyskuje się jej wprawdzie za darmo — rozważanie tylko „mi nimalnych" specjalizacji w jednym kroku może zwiększyć liczbę kroków, jakie będzie trzeba wykonać, aby przekształcić każdy kompleks w gwieździe w kom pleks pusty. Takich kroków w najgorszym przypadku będzie trzeba akurat tyle, ile podaje równanie (4.34). Dzięki ograniczaniu rozmiaru gwiazdy można jednak oczekiwać, że w przeciętnym przypadku będzie ich wyraźnie mniej. Dla oryginal nej wersji algorytmu maksymalna liczba kroków jest taka sama, lecz dzięki wyko nywaniu większej liczby różnych specjalizacji na raz jej redukcja w przeciętnym przypadku może być znacznie większa. Mimo to wydaje się, że proponowane tu podejście powinno być w większości praktycznych przypadków opłacalne. 4.7.3
Atrybuty porządkowe i ciągłe
Pozostaje jeszcze wspomnieć o jednym, poważnym z praktycznego punktu wi dzenia, ograniczeniu algorytmów indukcji reguł omawianych w tym rozdziale. W przedstawionej postaci umożliwiają one jedynie uczenie się pojęć dla dziedzin opisywanych wyłącznie za pomocą atrybutów nominalnych. Mogą być wpraw dzie stosowane także dla atrybutów porządkowych o skończonych (i oczywiście niezbyt dużych) zbiorach wartości, ale wówczas określone na przeciwdziedzinach takich atrybutów relacje porządku są pomijane, wskutek czego może być tracona szansa na uzyskanie prostszych, bardziej ogólnych reguł, o mniejszym ryzyku nad miernego dopasowania. W ogóle zaś nie można z tych algorytmów w przedstawio nej wersji skorzystać dla często występujących w praktyce dziedzin opisywanych za pomocą atrybutów ciągłych. Selektory nierównościowe i przedziałowe Jeśli przyjrzymy się uważniej algorytmom 4.1, 4.2 i 4.4, to zauważymy, że to nie w nich kryje się ograniczenie ich stosowalności. Za to ograniczenie odpowiada ją dopuszczone przez nas na wstępie rodzaje selektorów, które, oprócz mających specjalne znaczenie selektorów uniwersalnych i pustych, obejmują, przeznaczone dla atrybutów nominalnych, selektory pojedyncze i dysjunkcyjne. Z założenia tego w jawny sposób korzysta jednak tylko algorytm 4.3, zajmujący się generowaniem częściowej gwiazdy dla systemu AQ. W algorytmach 4.2 i 4.4 występuje zależność niejawna, gdyż wykorzystują one do specjalizacji kompleksów operację przecina nia ich zbiorów, która polega na wyznaczaniu koniunkcji wszystkich par kom pleksów. Operację koniunkcji zaś zdefiniowaliśmy wcześniej tylko dla czterech przyjętych pierwotnie rodzajów selektorów. Wynika z tego, że chcąc wprowadzić dodatkowe rodzaje selektorów, które mogłyby być stosowane dla atrybutów po rządkowych i ciągłych, musimy tylko rozszerzyć odpowiednio definicję koniunk cji selektorów oraz zmodyfikować algorytm generowania częściowej gwiazdy.
247
4.7. ZAGADNIENIA PRAKTYCZNE
Możliwość wprowadzenia selektorów nierównościowych i przedziałowych su gerowaliśmy już wcześniej. Obecnie pozostaje tę sugestię skonkretyzować. Przyj mijmy zatem, że repertuar stosowanych selektorów rozszerzamy o ich dodatkowe dwa rodzaje określone dla atrybutu porządkowego lub ciągłego a : X \~^ A nastę pująco: selektor nierownosciowy: spełniony dla przykładu x9 jeśli wartość atrybutu a dla tego przykładu jest, zależnie od rodzaju nierówności, nie większa albo większa od pewnej wskazanej wartości progowej 0 E A (selektor taki będziemy zapi sywać jako ^ 0 albo > 9), a więc warunek równoważny z takim selektorem ma odpowiednio postać a(x) ^ 9 albo a(x) > 9, selektor przedziałowy: spełniony dla przykładu x, jeśli wartość atrybutu a dla tego przykładu należy do wskazanego przedziału (0i,02] C A (selektor ta ki będziemy zapisywać w postaci 9\ : 02), a więc równoważny warunek ma postać a(x) E (0i,02]Jak widać, selektory nierównościowe dzielą się na dwa podrodzaje, w zależ ności od tego, czy jest w nich stosowana relacja < czy >. Dla selektora nierównościowego ^ 9 odpowiadającego atrybutowi a : X ^ A mamy zbiór warto ści dozwolonych V^Q = {v E A \ v < 0}, a dla selektora > 0 odpowiednio Vy0 = {v E A I v > 0}. Dla selektora przedziałowego 9\ : 02 oczywiście VQI:02 = (0i,02]- Aby definicja koniukcji selektorów, posługująca się zbiorami wartości dozwolonych, mogła być zastosowana, wystarczy się upewnić, że dla do wolnych dwóch selektorów 51 i 52, z których każdy może być nierownosciowy lub przedziałowy, iloczyn VSl C)VSl może być traktowany jako zbiór wartości dozwolo nych dla pewnego selektora nierównościowego, przedziałowego lub pustego, który według naszej definicji będzie ich koniukcją S\ A 52. Łatwo sprawdzić, że istot nie tak jest, gdyż w przypadku koniunkcji dwóch selektorów nierównościowych mamy: {v E A I v < 0i} n {v E A I v ^ 02} - {v E A \ v < min{0i,0 2 }}, (4.35) {v E A I v > 0i} fi {v E A I v > 02} = {v E A | v > max{0i,0 2 }}, (4.36)
{, <= A I „ > ft> O {„ 6 A I . < «2> = \fM
^
l' < *•
(4.37)
w przypadku koniunkcji selektora nierównościowego i przedziałowego mamy: (
*
jeśli e1 ^ e2,
{v e A\v ^ e^ n (62,03]= { (0 2 ,0i] jeśli 02 < 0i ^ 03,
[(02,e3] jeślie x >e z ,
(4.38)
248
ROZDZIAŁ 4. INDUKCJA REGUŁ
{veA\v>el}n(92,93]^
Ue2M
jeśli 0i < 02,
l(eu93]
jeśli #2 O i <es,
[0
jeśli
(4.39)
6x^e3,
a przypadek koniunkcji dwóch selektorów przedziałowych czytelnik zechce roz patrzyć samodzielnie. Aby selektory nierównościowe i przedziałowe mogły być stosowane przez al gorytm CN2, musimy sprecyzować, jakie odpowiadające im kompleksy atomowe będą wykorzystywane przy operacji specjalizacji dla tego algorytmu. Całkowicie wystarczy, jeśli uwzględnimy przy tym wyłącznie selektory nierównościowe, po zwalając, aby selektory przedziałowe powstawały w razie potrzeby w wyniku ko niunkcji. Możliwe wartości progowe dla tych selektorów możemy określić w spo sób identyczny, jak przy zstępującej konstrukcji drzew decyzyjnych, jako środki przedziałów wyznaczonych przez kolejne wartości odpowiedniego atrybutu wy stępujące w zbiorze nie pokrytych dotychczas przykładów. Dla każdej z takich wartości progowych mamy dwa możliwe selektory, z nierównością ^ i >. W przypadku systemu AQ należy, zgodnie z wcześniejszą zapowiedzią, zmo dyfikować algorytm 4.3 zajmujący się wyznaczaniem częściowej gwiazdy. W al gorytmie tym wyznacza się zbiór kompleksów atomowych, wykluczających po krywanie ziarna negatywnego xn i zapewniających jednocześnie pokrywanie ziar na pozytywnego xs. W jego oryginalnej postaci dla atrybutów nominalnych zbiór wartości tworzonego dla atrybutu a^ selektora 5 jako Vs = A{ — a>i(xn), czyli z przeciwdziedziny atrybutu jest pomijana wartość, jaką przyjmuje on dla ziarna negatywnego xn. Modyfikacja dla atrybutów porządkowych i ciągłych może pole gać na utworzeniu wówczas selektora s, dla którego _ ({v e Ai I v ^ 9} jeśli ai{xs) < ai(xn), \{v e Ai I v > 9} jeśli a{(xs) > a,i(xn)9 przy czym wartość progowa 9 jest wyznaczana jako środek przedziału między ai(xn) i najbliższą jej mniejszą w pierwszym przypadku albo większą w drugim przypadku wartością atrybutu ai występującą w zbiorze trenującym. Oczywiście jeśli al(xs) = ai(xn), to nie powstaje żaden selektor, tak jak w oryginalnym al gorytmie. Nieformalne określenie „środek przedziału" należy rozumieć dosłownie jako średnią arytmetyczną końców przedziału dla atrybutów ciągłych, a dla atry butów porządkowych jako taką wartość z przeciwdziedziny Ai, która jest w mia rę możliwości jednakowo odległa (ze względu na liczbę należących do przeciw dziedziny wartości pośrednich) od obu końców. Gdy przedział wyznaczają dwie wartości porządkowe, dla których nie ma w przeciwdziedzinie żadnej wartości po średniej, jako próg należy wybrać lewy koniec przedziału.
4.7. ZAGADNIENIA PRAKTYCZNE
249
Dyskretyzacja i agregacja Nie wnikając w nazbyt oczywiste szczegóły zademonstrowaliśmy, że przedstawio ne wcześniej algorytmy indukcji reguł można stosować również dla dziedzin, na których są określone atrybuty porządkowe lub ciągłe. Jest jednak jasne, że nie zbędne w tym celu modyfikacje w istotny sposób zwiększają nakład obliczeń wy magany do działania tych algorytmów. Skala tego przyrostu kosztów zależy od rozmiaru zbioru trenującego i liczby różnych występujących w nim wartości atry butów porządkowych lub ciągłych. Jeśli jest ona znaczna, to przynajmniej algo rytm CN2 może okazać się niemożliwy do zastosowania ze względu na liczbę kompleksów atomowych stosowanych do specjalizacji. Poza tym można obawiać się, że będą wówczas powstawać duże zbiory skomplikowanych i mało czytelnych reguł. Często zatem lepszym podejściem od modyfikacji algorytmów, polegającej na wprowadzeniu selektorów nierównościowych i przedziałowych, jest pozosta wienie ich w oryginalnej prostszej postaci, a dla atrybutów ciągłych przeprowa dzenie dyskretyzacji, przekształcającej je w atrybuty porządkowe o umiarkowanej liczbie wartości, które byłyby traktowane tak samo jak atrybuty nominalne. Z ko lei atrybuty porządkowe o zbyt dużej liczbie wartości mogłyby zostać poddane operacji agregacji, redukującej tę liczbę. Metodom realizacji takich przekształceń atrybutów jest poświęcony rozdział 7. 4.7.4
Brakujące wartości atrybutów
Omawiane w poprzednim rozdziale techniki postępowania z brakującymi warto ściami atrybutów podczas konstruowania drzew decyzyjnych i stosowania ich do klasyfikacji przykładów w większości mogą być zaadaptowane do potrzeb induk cji reguł. Dotyczy to w szczególności technik wypełniania brakujących wartości oraz sztucznego uzupełniania przeciwdziedziny każdego atrybutu z brakującymi wartościami o specjalną wartość reprezentującą taki brak. Może być stosowana także technika przykładów ułamkowych, jeśli odpowiednio dostosujemy do niej funkcje heurystyczne używane do oceny kompleksów16. Nie ma potrzeby oma wiania wszystkich tych metod ponownie, gdyż sposób ich użycia na ogół w ma łym stopniu zależy od reprezentacji hipotez. Zgodnie z zapowiedzią i tak wrócimy do niektórych z nich w rozdziale 10. Przy okazji warto jednak wspomnieć o in nym możliwym podejściu do traktowania brakujących wartości podczas indukcji reguł, polegającym na przyjęciu, że wartości takich nie pokrywa żaden selektor nieuniwersalny. Wówczas przykłady, dla których wartość pewnego atrybutu nie jest znana, mogłyby być pokryte wyłącznie przez kompleks, który na odpowia16
Ściślej rzecz biorąc, technika przykładów ułamkowych może być stosowana bez przeszkód w przypadku algorytmu CN2. Dla algorytmu AQ nie ma prostej możliwości stosowania tej techniki, gdyż nie jest jasne, czy przykład ułamkowy powinien i może być używany jako ziarno (pozytywne lub negatywne).
250
ROZDZIAŁ 4. INDUKCJA REGUŁ
dającej takiemu selektorowi pozycji zawiera selektor uniwersalny. Taki selektor pokrywa dowolną wartość atrybutu, a dla wartości nieznanej można przy braku lepszej wiedzy przyjąć, że może być właśnie dowolna. Na nieco szerszy komentarz zasługuje probabilistyczna klasyfikacja przykła dów z brakującymi wartościami atrybutów. W przypadku drzew decyzyjnych pole gało to na uwzględnieniu możliwości osiągnięcia dla takiego przykładu z niezerowym prawdopodobieństwem pewnej liczby liści, być może z różnymi etykietami kategorii. Obecnie należy wziąć pod uwagę możliwość pokrywania takiego przy kładu przez pewną liczbę reguł, które także mogą różnić się kategorią. Podobny problem rozważaliśmy już dla nieuporządkowanych zbiorów reguł, dla których również przykłady ze znanymi wartościami wszystkich atrybutów mogą być po krywane przez wiele reguł. W zasadzie nie ma potrzeby, aby cokolwiek zmieniać w podanych wówczas zasadach klasyfikacji. Należy tylko przyjąć, że brakująca wartość atrybutu może być pokrywana przez dowolny selektor, a zbiór reguł po krywających przykład ustalić uwzględniając tylko znane wartości jego atrybutów. Aby analogiczne podejście zastosować w przypadku uporządkowanych zbio rów reguł, należałoby na podstawie zbioru trenującego (lub innego zbioru etykie towanych przykładów) oszacować prawdopodobieństwa Pr xG n(r z > x | ri / > i A r 2 £>x A • • • A r ^ i jt>x)
(4.41)
oraz Prxen(ri
j£>x\ri ^ A r
2
/>x A • • • A r f _i jb>x).
(4.42)
Wówczas dla danego przykładu x* można wyznaczyć prawdopodobieństwo tego, że do jego klasyfikacji powinna być użyta reguła r^, jako iloczyn; Pr(rfc | x*) = Pr(r^ O sc* | ri £>x* A • • - A rfc_i )t>x*) • k-1
• J J Pr(r; f>x* | ri f>x* A • • • A r v x f>x*).
(4.43)
i=i
W przypadku reguł, w których dla atrybutów o nieznanych wartościach dla przy kładu x* występują selektory uniwersalne, czyli brakujące wartości nie mają zna czenia, odpowiednie prawdopodobieństwa jego pokrywania i niepokrywania są równe 1 albo 0. Dla reguł, w których atrybutom o nieznanych wartościach dla przy kładu x* odpowiadają selektory nieuniwersalne, należy w zamian użyć oszacowań określających te prawdopodobieństwa dla przykładu losowo wybranego zgodnie z ustalonym rozkładem f i Następnie prawdopodobieństwa poszczególnych kate gorii dla przykładu x* można wyznaczyć następująco: Pr(c(arł) = d) = £ Pr(r | x*) • Prxea(c(x)
=d\r>x).
(4.44)
4.7. ZAGADNIENIA PRAKTYCZNE
251
Występujące w tym wzorze prawdopodobieństwa Prxen(c(x) — d\r O x) dla poszczególnych reguł i kategorii mogą być oszacowane na podstawie zbioru tre nującego w następujący sposób:
Prxen(c(x)
= d | r > x)
T? (4.45)
Oszacowanie to można także poprawić zgodnie z techniką m-szacowania, a do jego wyznaczania posługiwać się zbiorem przykładów P niekoniecznie identycz nym ze zbiorem trenującym T. 4.7.5
Inkrementacyjna indukcja reguł
Praktyczne uwarunkowania niektórych zastosowań mogą wymagać inkrementacyjnego uczenia się. Jeśli okresowo pojawiają się nowe dane trenujące, pożądane jest na ogół raczej uzupełnienie dotychczasowego zbioru reguł niż generowanie pełnego zbioru reguł od nowa, zwłaszcza że proces ten jest często dość kosztow ny. Przedstawiając algorytmy indukcji reguł oparte na schemacie sekwencyjnego pokrywania przyjmowaliśmy wsadowy tryb uczenia się, warto jednak zastanowić się, czy rzeczywiście jest on dla nich konieczny. W istocie wystarczy pobieżna analiza, aby stwierdzić, że o ile aktualizowa nie zbioru reguł po uwzględnieniu każdego pojedynczego przykładu trenującego raczej nie wchodzi w rachubę, o tyle można z powodzeniem dokonywać takich ak tualizacji na podstawie większych zbiorów przykładów. Oznacza to epokowy tryb uczenia się. Aby upewnić się, że faktycznie może on tu być zastosowany, trzeba określić sposób przetwarzania kolejnych porcji danych trenujących w kolejnych epokach. Schemat sekwencyjnego pokrywania generuje reguły aż do uzyskania pokry cia przez nie całego zbioru trenującego. Jeśli później pojawiają się nowe przykłady trenujące, to część z nich może być pokrywana przez wcześniej wygenerowane re guły. Jeśli są one przy tym poprawnie przez te reguły klasyfikowane, to nie wyma gają żadnej modyfikacji zbioru reguł. Z kolei dla tych nowych przykładów, które nie są pokrywane przez istniejące reguły, można w zwykły sposób wygenerować jedną lub więcej nowych reguł, które je pokryją. Jeśli stosowany jest w tym celu algorytm generujący uporządkowane reguły, tak jak w systemie CN2, to nie jest do tego potrzebne pamiętanie „starych" przykładów, gdyż przy generowaniu każdej kolejnej reguły uwzględnia się tylko przykłady wcześniej nie pokryte. Jest to istot ny praktycznie argument na rzecz stosowania takich algorytmów, jeśli zachodzi potrzeba okresowego aktualizowania zbiorów reguł na podstawie nowych przy kładów. W przypadku algorytmów generujących nieuporządkowane zbiory reguł wcześniejsze przykłady trenujące trzeba przechowywać, gdyż kompleksy muszą
252
ROZDZIAŁ 4. INDUKCJA REGUŁ
mieć dużą dokładność na zbiorze wszystkich przykładów trenujących dotychczas przedstawionych systemowi uczącemu się17. Do rozwiązania pozostaje problem tych nowych przykładów, które przez ist niejące reguły nie są klasyfikowane poprawnie. Jeśli jest ich stosunkowo niewiele, to można je po prostu pominąć, godząc się z faktem, że zbiór reguł nie będzie spójny z pojęciem docelowym na całym zbiorze trenującym, co skądinąd nie jest niczym złym. Jeśli jednak nowe przykłady oznaczają znaczne zwiększenie błędu próbki dla niektórych reguł, to niezbędna jest jakaś interwencja. Prosta strategia postępowania może polegać na usunięciu tych reguł i dla wszystkich przykładów, które w wyniku tego pozostaną nie pokryte, wygenerowanie odpowiednich reguł na nowo. W tym celu niezbędne jest przechowywanie „starych" przykładów tre nujących, gdyż po usunięciu niektórych reguł część z nich również przestanie być pokrywana i należy je uwzględnić przy tworzeniu nowych reguł.
4.8
Zagadnienia implementacyjne
W praktycznych zastosowaniach algorytmów indukcji reguł, jeśli mają być stoso wane do uczenia się pojęć na podstawie dużych zbiorów danych, efektywna im plementacja może mieć bardzo duże znaczenie. Algorytmy te są niestety na ogół dość złożone obliczeniowo i niestaranna implementacja może poważnie ograni czyć ich użyteczność. Zajmiemy się krótko dwoma zagadnieniami dotyczącymi struktur danych, które mogą mieć decydujący wpływ na jakość implementacji. 4.8.1
Reprezentacja kompleksów
Większość operacji wykonywanych przez algorytmy indukcji reguł polega na prze twarzaniu kompleksów oraz sprawdzaniu, czy pokrywają one przykłady. W związ ku z tym wybór odpowiednich struktur danych do ich reprezentacji ma zasadnicze znaczenie. Ponieważ kompleksy są wektorami selektorów, musimy przede wszyst kim rozstrzygnąć, jak mają być reprezentowane selektory. Najbardziej natural ne podejście polegałoby na uzależnieniu reprezentacji od rodzaju selektora. Dla selektorów pojedynczych można więc przechowywać odpowiednią wartość atry butu, a dla selektorów dysjunkcyjnych — zbiór wartości, reprezentowany w naj prostszy sposób przez listę. Dla selektorów pustych i uniwersalnych można by przyjąć wówczas specjalne znaczniki, unikając w ten sposób niepotrzebnego prze chowywania wszystkich wartości z przeciwdziedziny atrybutu dla tych ostatnich. 17
Konieczności tej można jednak uniknąć, modyfikując algorytm znajdowania kompleksów w ten sposób, aby zawsze dawał w wyniku kompleksy rozłączne (w sensie zbioru pokrywanych przykła dów z całej dziedziny) z kompleksami dotychczasowych reguł, przynajmniej tych dla innych kate gorii. Mankamentem tego rozwiązania jest większa złożoność algorytmu i ograniczenie przestrzeni rozpatrywanych kompleksów, które może pogorszyć jakość nowych reguł.
4.8. ZAGADNIENIA IMPLEMENTACYJNE
253
Dla selektorów nierównościowych potrzebna jest informacja o kierunku nierówno ści oraz wartość progowa, a dla selektorów przedziałowych — końce przedziału. Umieszczając takie struktury odpowiednio reprezentujące selektory różnych ro dzajów w tablicy o długości równej liczbie atrybutów otrzymalibyśmy najbardziej naturalną reprezentację kompleksów. Powyższe podejście, chociaż prowadzi do prostego i czytelnego kodu, nie jest godne polecenia ze względu na efektywność. Nawet jeśli problemem nie jest ilość dostępnej pamięci, to powinien nas do niego zniechęcić koszt dwóch najważniej szych operacji: wyznaczania koniunkcji kompleksów oraz sprawdzania, czy kom pleks pokrywa przykład. W szczególności dla selektorów dysjunkcyjnych repre zentowanych przez listy wartości od ich liczby zależy czas wyznaczania koniunk cji i weryfikowania pokrywania. Nakład obliczeń potrzebny do realizacji tych ope racji można znacznie ograniczyć, przyjmując nieco mniej naturalną reprezentację selektorów za pomocą wektorów bitowych. Ogólnie rzecz biorąc, wektory bitowe stanowią efektywną reprezentację maszynową zbiorów, których maksymalna licz ba możliwych elementów nie jest zbyt duża. W naszym przypadku dla każdego selektora s odpowiadającego atrybutowi a : X H-> A zbiór dozwolonych warto ści Vs C A może być reprezentowany przez wektor bitowy o długości \A\. Dla dowolnie ustalonej numeracji wartości z przeciwdziedziny atrybutu 1 w wektorze bitowym na pozycji odpowiadającej wartości v oznacza wówczas, żcv € VS9 a 0 oznacza, że v ¢ Vs. Rzecz jasna musimy przy tym założyć, że mamy do czynienia z atrybutami o skończonej i niezbyt dużej liczbie dyskretnych wartości. Wówczas dla dowolnych selektorów s\ i 52, odpowiadających temu samemu atrybutowi, ich koniunkcja s\ A S2 jest reprezentowana przez wektor uzyskiwany jako iloczyn bi towy wektorów reprezentujących te dwa selektory. Jeśli bs oznacza wektor bitowy reprezentujący selektor s, to możemy zapisać oczywistą zależność: bSlAs2 -=bslkbS2,
(4.46)
używając symbolu & do oznaczenia iloczynu bitowego. Zauważmy także, że re prezentowane w ten sposób selektory łatwo jest porównywać ze względu na ogól ność. Selektor 51 jest tak samo lub bardziej ogólny niż selektor 52, czyli VSl 5 VS2, jeśli b8lkb82=b82.
(4 Al)
Łącząc wektory bitowe odpowiadające poszczególnym selektorom uzyskuje my wektor bitowy o długości YA=I \A{\ reprezentujący kompleks. Wówczas także koniunkcja dowolnych dwóch kompleksów może być wyznaczona jako odpowied ni iloczyn bitowy i w analogiczny sposób kompleksy mogą być porównywane ze względu na ogólność. Warto zwrócić przy tym uwagę, że do porównywania ogól ności kompleksów można łatwo sprowadzić test pokrywania przykładów. Każdy
254
ROZDZIAŁ 4. INDUKCJA REGUŁ
przykład x wystarczy w tym celu potraktować jako kompleks złożony wyłącznie z selektorów pojedynczych k^ = {a\{x), a>2{x),..., an{x)). Wówczas dla do wolnego kompleksu k mamy następującą równoważność pokrywania i większej ogólności: kt>x
= k >: k^.
(4.48)
Obserwacja ta stanowi jednoznaczną sugestię, aby również przykłady reprezen tować za pomocą wektorów bitowych (z dokładnie jednym bitem równym 1 dla każdego atrybutu). Efektywność, z jaką są realizowane przez komputery opera cje bitowe, zapewnia wtedy najlepszą z możliwych efektywność zarówno wyzna czania koniunkcji kompleksów, jak i sprawdzania, które przykłady są przez nie pokrywane. 4.8.2
Reprezentacja zbiorów kompleksów
Algorytmy indukcji reguł realizujące schemat sekwencyjnego pokrywania, prze szukując przestrzeń kompleksów, operują na zbiorach kompleksów. Dla ich efek tywności jest więc ważne także, jak są reprezentowane takie zbiory. Dobra re prezentacja zbioru kompleksów powinna zapewniać możliwie efektywną reali zację operacji teoriomnogościowych, przede wszystkim sumy i różnicy zbiorów, oraz sprawdzania przynależności kompleksu do zbioru. Zapewniające maksymal ną efektywność wektory bitowe nie mogą być w tym przypadku wykorzystane, gdyż maksymalna liczba możliwych kompleksów, chociaż skończona, może być bardzo duża. Najbardziej naturalną alternatywą jest w tej sytuacji reprezentacja listowa, w której zbiór kompleksów jest reprezentowany przez listę odpowiada jących im wektorów bitowych lub innych struktur. Sprawdzenie przynależności wymaga wówczas przeszukiwania listy w czasie proporcjonalnym do jej długości. Wyznaczenie zarówno sumy, jak i różnicy zbiorów wymaga wielokrotnego prze szukiwania, gdyż dla każdego wektora jednej z list trzeba sprawdzić, czy należy on także do drugiej listy. Związany z tym koszt jest proporcjonalny do iloczynu długości obu list. Z powyższej dyskusji wynika, że reprezentacja listowa nie może być uznana za w pełni zadowalającą i warto wziąć pod uwagę podejścia alternatywne, nawet jeśli pociągają za sobą większy wysiłek implementacyjny. W naszym przypadku można zwrócić uwagę na dwa takie podejścia. Pierwsze stanowią tablice z kodowaniem mieszającym. W takiej tablicy wartość funkcji mieszającej dla każdego kompleksu wyznaczałaby odpowiadającą mu pozycję. Sprawdzenie przynależności może być dzięki temu wykonane praktycznie w stałym czasie18, a wyznaczenie sumy lub t8 Oczywiście przy ustalonym rozmiarze struktury reprezentującej kompleks (np. dla wektora bi towego o stałej długości), gdyż wyznaczenie wartości funkcji mieszającej może zależeć liniowo od rozmiaru takiej struktury.
4.9. PODSUMOWANIE
255
różnicy zbiorów w czasie proporcjonalnym co najwyżej do sumy ich rozmiarów zamiast do ich iloczynu, jak przy prostej reprezentacji listowej. Drugie podejście to wykorzystanie innej struktury danych umożliwiającej szybkie wyszukiwanie, zna nej jako trie, czyli pewnego rodzaju drzewa bitowego, przypominającego zresz tą drzewa decyzyjne. Węzły tego drzewa testują bity wektorów, które mogą być w nim przechowane. Sprawdzenie przynależności wektora do zbioru wymaga cza su co najwyżej proporcjonalnego do jego długości, co daje podobne korzyści jak tablice z kodowaniem mieszającym. O ile zarówno kodowanie mieszające, jak i drzewa trie umożliwiają reprezen towanie zbiorów kompleksów w sposób zapewniający dużą efektywność operacji teoriomnogościowych, o tyle nie pozwalają w prosty sposób uwzględnić porząd ku, jaki w zbiorze kompleksów wprowadza stosowana do ich oceny funkcja heu rystyczna. Tymczasem oprócz wyznaczania sumy lub różnicy zbiorów zależy nam na możliwie efektywnym wybieraniu m ^ 1 najlepszych według takiej funkcji oceny elementów zbioru oraz w szczególności na wybieraniu jednego najlepszego elementu. Jeśli istnieje ewentualność stosowania wartości m większych niż kilka, to uwzględnienie tego wymagania sugeruje wykorzystanie do reprezentacji zbio rów kompleksów drzewiastej struktury nazywanej stogiem. Stóg jest drzewem bi narnym zorganizowanym w ten sposób, że dla każdego węzła jego węzły potomne są jego następnikami w przyjętej relacji porządku. W naszym przypadku oznacza to, że węzły potomne przechowują kompleksy gorsze według stosowanej funkcji oceny niż kompleks przechowywany przez ich węzeł macierzysty. Wprowadzenie nowego elementu do stogu oraz usunięcie elementu wymagają jego rekonstrukcji, lecz może ona być przeprowadzona w efektywny sposób. W korzeniu zawsze znaj duje się pierwszy w określonej relacji porządku element, czyli w tym przypadku najlepszy kompleks. Wszystkie proponowane możliwości wymagają oczywiście opracowania wielu szczegółów, którymi nie możemy się tu zajmować. Czytelnicy, którzy nie zetknę li się z kodowaniem mieszającym, drzewami trie lub stogami, zapewne zechcą sięgnąć do dobrych podręczników na temat struktur danych i samodzielnie prze myśleć możliwości ich wykorzystania w tym przypadku.
4.9 Podsumowanie S-» Reprezentacja hipotez do uczenia się pojęć za pomocą zbiorów reguł, wywo dząca się z klasycznej logiki zdań, należy do najbardziej naturalnych i czytel nych dla człowieka spośród metod reprezentacji wiedzy używanych w maszy nowym uczeniu się. Część warunkowa reguły reprezentuje warunki nakładane na wartości atrybutów przykładu, a jej część decyzyjna — kategorię przypisy waną przykładom, dla których te warunki są spełnione.
256
ROZDZIAŁ 4. INDUKCJA REGUŁ
4-> Do reprezentowania części warunkowych reguł dobrze nadają się kompleksy, czyli wektory warunków dla poszczególnych atrybutów, nazywanych selek torami, traktowane jako ich koniunkcje. Dowolna dopuszczalna hipoteza dla danego zestawu atrybutów może być reprezentowana przez zbiór reguł zawie rający co najmniej jedną regułę dla każdej kategorii pojęć wielokrotnych i co najmniej jedną regułę dla przykładów pozytywnych pojęć pojedynczych. S-> Hipoteza reprezentowana przez zbiór reguł przypisuje każdemu przykładowi kategorię związaną z regułą, której kompleks pokrywa ten przykład. W przy padku uporządkowanych zbiorów reguł bierze się pod uwagę tylko pierwszą taką regułę. S-> Podstawą większości algorytmów indukcji reguł jest schemat sekwencyjnego pokrywania, zgodnie z którym kolejno znajdowane są kompleksy pokrywające możliwie wiele przykładów trenujących z możliwie dużą dokładnością i two rzone są reguły wykorzystujące te kompleksy jako części warunkowe. Proces ten jest kontynuowany do uzyskania pokrycia przez wygenerowane reguły ca łego zbioru trenującego. S-» Najbardziej znane praktyczne algorytmy oparte na schemacie sekwencyjne go pokrywania przeszukują wiązkowo przestrzeń kompleksów w kierunku od ogólnych do szczegółowych, czyli generują zbiory sukcesywnie specjalizowa nych kompleksów, nazywane gwiazdami, i wykorzystują funkcje heurystyczne do oceny jakości ich elementów. ^ System AQ ogniskuje proces przeszukiwania wokół wybranych przykładów trenujących, nazywanych ziarnami, i zawsze znajduje kompleksy dokładne, czyli pokrywające wyłącznie przykłady jednej kategorii. °t-> System CN2 rozważa wszystkie możliwe specjalizacje aktualnej gwiazdy i dą ży do uzyskania kompleksów pokrywających przykłady o nierównomiernym rozkładzie kategorii, lecz niekoniecznie w pełni dokładnych. Muszą one przejść test statystycznej istotności. S-> Nadmiernemu dopasowaniu zbiorów reguł może zapobiec ich przycinanie, czy li w najprostszym przypadku zastępowanie wybranych selektorów selektorami uniwersalnymi. Jest to szczególnie potrzebne dla systemów, które, tak jak AQ, zawsze generują zbiór reguł spójny ze zbiorem trenującym. S-* Atrybuty porządkowe lub ciągłe mogą być wykorzystywane do indukcji reguł przez wprowadzenie dla nich selektorów nierównościowych i przedziałowych, lecz często lepsze efekty uzyskuje się używając tych atrybutów po ich uprzed niej dyskretyzacji lub agregacji. S-> Implementacja algorytmów indukcji reguł może wykorzystywać wektory bito we do reprezentacji kompleksów, co umożliwia zaoszczędzenie pamięci i efek tywne obliczanie koniunkcji. Warto także zadbać o właściwą reprezentację ma szynową zbiorów kompleksów.
4.10. UWAGI HISTORYCZNE I BIBLIOGRAFICZNE
4.10
257
Uwagi historyczne i bibliograficzne
Literatura poświęcona indukcji reguł z pewnością nie jest dużo uboższa niż w przy padku drzew decyzyjnych, czytelnik ma więc wiele możliwości uzupełniania z ko nieczności ograniczonego materiału przedstawionego w tym rozdziale. Niezwykle duży wpływ na rozwój badań nad uczeniem się zbiorów reguł metodą sekwencyj nego pokrywania miały pionierskie prace Michalskiego i jego współpracowników, prowadzone w ciągu ostatnich 30 lat. Podstawowy schemat pokrywania i algorytm znajdowania kompleksów charakterystyczny dla systemu AQ przedstawiony jest już w artykułach [144, 145]. W istocie w kolejnych latach była rozwijana cała ro dzina systemów AQ, a prosty algorytm przedstawiony w tym rozdziale stanowi za ledwie ich podstawowy rdzeń, pozbawiony licznych udoskonaleń, przezwyciężają cych niektóre jego ograniczenia, których omawianie w książce o charakterze pod ręcznikowym nie było możliwe. Do pierwszych w pełni rozwiniętych reprezen tantów tej rodziny należy, opisany w raporcie [151], system AQ11. Przedstawiono tam także technikę wyboru reprezentatywnych przykładów, mającą na celu umoż liwienie uczenia się na podstawie dużych zbiorów danych, których bezpośrednie przetwarzanie przez algorytm AQ byłoby zbyt kosztowne obliczeniowo. Technika ta, którą omówimy w rozdziale 10, może także pozwolić na przezwyciężenie jego braku odporności na niepoprawne dane trenujące. Artykuł [152] prezentuje sys tem AQ15, a ostatni, jak dotychczas, w rodzinie system AQ18 jest przedstawiony w raporcie [114]. Zawiera on zaawansowane mechanizmy przetwarzania niekom pletnych i niepoprawnych danych trenujących, o których ci sami autorzy bardziej szczegółowo piszą w raporcie [113]. W raporcie [287] można znaleźć techniczny opis implementacji systemu AQ15, pouczający dla projektantów oprogramowa nia służącego do indukcji reguł niezależnie od algorytmu, jaki zechcą w tym celu wykorzystać. Więcej informacji o strukturach danych, jakie proponowaliśmy do reprezentacji zbiorów kompleksów, można znaleźć w podręcznikach [59, 284]. Od Michalskiego pochodzi także koncepcja reprezentowania warunków reguł przez kompleksy, złożone z selektorów. Taka reprezentacja, w postaci bardziej sformalizowanej i zaawansowanej niż przedstawiona tutaj, jest opisana jako język reprezentacji wiedzy VLx w artykule [146]. Reprezentacja ta została później roz winięta z prostej postaci opartej na logice zdań do dysponującego większą siłą wy razu formalizmu opartego na logice predykatów, a schemat sekwencyjnego pokry wania został zastosowany do indukcyjnego programowania logicznego [147, 148]. Podejście to implementował system INDUCE, wykorzystujący algorytm będący pod wieloma względami uogólnieniem podstawowego algorytmu AQ. Opracowa ny później przez Quinlana system indukcyjnego programowania logicznego FOIL [207] także wykorzystuje schemat sekwencyjnego pokrywania zaadaptowany do generowania klauzul rachunku predykatów. Ten rodzaj indukcyjnego uczenia się jest przedmiotem naszego zainteresowania w rozdziale 9.
258
ROZDZIAŁ 4. INDUKCJA REGUŁ
Pierwszą wersję systemu CN2, na której jest oparty przedstawiony wyżej opis stosowanego w nim algorytmu, opisali Clark i Niblett [52]. W ich artykule oraz w późniejszej publikacji Clarka [50] można znaleźć dyskusję porównującą ten system z systemem AQ oraz systemami indukcji drzew decyzyjnych. Modyfikacje oryginalnego algorytmu, pozwalające między innymi na uczenie się nieuporząd kowanych zbiorów reguł, przedstawili Clark i Boswell [51]. Problem przycinania reguł, skrótowo potraktowany w tym rozdziale, był ba dany z podobną intensywnością jak analogiczny problem dla drzew decyzyjnych. Przycinanie powszechnie uznaje się za zabieg nieodzowny do uzyskania dosta tecznie dobrej generalizacji dla dużych zbiorów danych, zwłaszcza obarczonych błędami. Jego korzystny wpływ na błąd rzeczywisty zademonstrowali między in nymi Pagallo i Haussler [190]. Cohen [55] pokazał jednak, że przycinanie reguł dla dużych zbiorów danych, kiedy jest najbardziej celowe, w bardzo znaczny spo sób zwiększa łączny nakład obliczeń wymagany do uczenia się, i rozważał moż liwości zwiększenia jego efektywności. Furnkranz i Widmer [87] zaproponowali w tym celu inkrementacyjną wersję przycinania redukującego błąd, stosowaną do każdej nowo powstałej reguły bezpośrednio po jej utworzeniu. Generowaniu zbyt wielu reguł miało dodatkowo zapobiec kryterium stopu, wprowadzone do schema tu sekwencyjnego pokrywania, powodujące zaprzestanie dalszego poszukiwania kompleksów, jeśli jakość ostatniego z nich (mierzona ze względu na dokładność lub liczbę pokrywanych przykładów) stanie się zbyt niska. Koncepcję tę rozwi nął Cohen w swoim systemie RIPPER [56], który obecnie jest uważany za jeden z najbardziej skutecznych i efektywnych systemów indukcji reguł dla praktycz nych zastosowań. W kolejnej publikacji [57] zaproponował on rozszerzenie sche matu sekwencyjnego pokrywania, a także schematu zstępującej konstrukcji drzew decyzyjnych, umożliwiające uczenie się w dziedzinach opisanych przez atrybuty, których wartościami są zbiory napisów. Jednym z bardziej interesujących przewi dywanych zastosowań tego rozszerzenia jest uczenie się klasyfikacji dokumentów.
4.11 Ćwiczenia Ćwiczenie 4.1. Wyznacz przecięcia zbiorów kompleksów K i L, przy czym: 1) zbiory te zawierają kompleksy dla dziedziny stanów pogody z przykładu 2.4: K — {(słoneczna, ciepła V umiarkowana, ?, ?), (deszczowa, zimna, ?, ?), (pochmurna V deszczowa, umiarkowana V zimna, mała, słaby)}, L - {(?, zimna, ?, siłny), {?,?, duża, słaby), (deszczowa, ?, ?, słaby)}.
4.11. ĆWICZENIA
259
2) zbiory te zawierają kompleksy dla dziedziny modeli samochodów z przykładu 2.5: K = {(miejski V mafy, umiarkowana, ?, ?), {?, wysoka, dobre, ?), (kompakt V duży, ?, przeciętne V dobre, ?)}, L = {(?, ?, dobre,przeciętna V duża), (ma/y V kompakt, umiarkowana, ?, przeciętna), (mały V kompakt V duży,flis&aV umiarkowaną sfabe V przeciętne, mała V przeciętna)}. Ćwiczenie 4.2. Wyznacz częściowe gwiazdy dla par przykładów opisywanych przez na stępujące wektory wartości atrybutów: 1) (słoneczna, ciepła, normalna, silny) i (deszczowa, ciepła, duża, słaby) dla dziedziny stanów pogody z przykładu 2.4, 2) (kompakt, umiarkowana, dobre, przeciętna) i (miejski, wysoka, dobre, duża) dla dziedziny modeli samochodów z przykładu 2.5. Ćwiczenie 4.3. Sformułuj operacje specjalizacji dla ogólnego ograniczenia przestrzeni wersji wykorzystywaną przez algorytm 2.1 z rozdziału 2 za pomocą operacji przeci nania zbiorów kompleksów. Ćwiczenie 4.4. Weźmy pod uwagę przestrzeń hipotez dla dziedziny modeli samocho dów z przykładu 2.5 złożoną ze wszystkich zbiorów reguł dla określonych na tej dziedzinie atrybutów, których części warunkowe są pojedynczymi kompleksami. Po daj liczbę przykładów trenujących, wystarczających do nauczenia się przez dowolny spójny algorytm indukcji reguł dla dowolnego pojęcia docelowego z prawdopodo bieństwem co najmniej 0,9 zbioru reguł o błędzie rzeczywistym nie przekraczającym 0,05, przy założeniu, że do wybierania przykładów trenujących i wyznaczania błędu jest używany ten sam rozkład prawdopodobieństwa. Ćwiczenie 4.5. Powtórz ćwiczenie 4.4 dla przestrzeni hipotez złożonej ze wszystkich zbiorów reguł, których części warunkowe są pojedynczymi kompleksami bez selekto rów dysjunkcyjnych. Ćwiczenie 4.6. Powtórz ćwiczenie 4.4 dla przestrzeni hipotez złożonej ze wszystkich zbiorów reguł, których części warunkowe są pojedynczymi kompleksami, zawierają cych dokładnie po jednej regule dla każdej kategorii. Ćwiczenie 4.7. Analizując przykład 4.7 zaproponuj funkcję oceny kompleksów, której zastosowanie doprowadziłoby w tym przypadku do uzyskania mniej licznego zbioru reguł. Zweryfikuj tę propozycję, śledząc przebieg działania algorytmu. Ćwiczenie 4.8. Podaj (przykładowy) zbiór trenujący, na podstawie którego algorytm AQ stosowany w wersji takiej jak w przykładzie 4.7 wygenerowałby następujący zbiór reguł dla dziedziny modeli samochodów z przykładu 2.5: K = {(miejski V kompakt, ?, słabe V dobre, ?)->!,
260
ROZDZIAŁ 4. INDUKCJA REGUŁ (mały V kompakty duży, niska V wysoka, słabe V przeciętne, ?) -> 0, (miejski V ma/y V duży, niska V umiarkowaną ?, przeciętna) —> 1, (kompakty duży, umiarkowana^ wysoka,!,przeciętna) —>• 0, (?, niska V umiarkowana, ?, duża -> 0, (?, niska V wysoka, ?, duża) —>• 1}.
Ćwiczenie 4.9. Podaj (przykładowy) zbiór trenujący, na podstawie którego algorytm CN2 stosowany w wersji takiej jak w przykładzie 4.9 wygenerowałby następujący zbiór reguł dla dziedziny modeli samochodów z przykładu 2.5: R^
{(miejski,?,?,?) -> 1, (?,?,?,ma/a>->0, ,niska,?,?)^l, {?, wysoka, ?, przeciętna) —> 0, (?, wysoka,?,?) -» 1, ,?,?,duża}^0, <ma/y,?,?,?)^l, (?,?,?,?)->()}.
Ćwiczenie 4.10. Prześledź działanie algorytmu AQ w zastosowaniu do danych dotyczą cych modeli samochodów podanych w tabl. 2.4, powtarzając dla tego zbioru trenują cego przykład 4.7. Ćwiczenie 4.11. Prześledź działanie algorytmu CN2 w zastosowaniu do danych doty czących modeli samochodów podanych w tabl. 2.4, powtarzając dla tego zbioru tre nującego przykład 4.9. Ćwiczenie 4.12. Powtórz przykład 4.7 w następujących zmodyfikowanych wersjach: 1) z szerokością wiązki m — 3, 2) z leksykograficzną funkcją oceny kompleksów stosującą dwie heurystyki w na stępującej kolejności: a) liczba pokrywanych i nie pokrytych przez wcześniejsze reguły przykładów zgodnych z kategorią ziarna powiększona o liczbę nie pokrywanych przykła dów innych kategorii, b) zanegowana liczba selektorów nieuniwersalnych w kompleksie. Ćwiczenie 4.13. Powtórz ćwiczenie 4.11 powiększając zbiór trenujący o przykłady: X klasa 12 ; mały 13 miejski
cena umiarkowana
osiągi dobre
Zastosuj technikę przykładów ułamkowych.
niezawodność mała duża
c(x) 1 0
261
4.11. ĆWICZENIA
Ćwiczenie 4.14. Przedyskutuj możliwość wykorzystania uporządkowanego zbioru re guł do probabilistycznej klasyfikacji przykładów. Ćwiczenie 4.15. Dokonaj klasyfikacji następujących przykładów: X [ 12 13 14 15 |
klasa mały miejski kompakt duży
cena umiarkowana — umiarkowana umiarkowana
osiągi — dobre dobre słabe
niezawodność mała duża duża przeciętna
za pomocą: 1) nieuporządkowanego zbioru reguł uzyskanego w ćwiczeniu 4.10, 2) uporządkowanego zbioru reguł uzyskanego w ćwiczeniu 4.11. Dla przykładów z brakującymi wartościami atrybutów oraz przykładów pokrywanych przez więcej niż jedną regułę ze zbioru nieuporządkowanego zastosuj klasyfikację probabilistyczną. Ćwiczenie 4.16. Zaproponuj zmodyfikowanąwersję algorytmu AQ generującą uporząd kowany zbiór reguł. Ćwiczenie 4.17. Zaproponuj zmodyfikowaną wersję algorytmu CN2 generującą nie uporządkowany zbiór reguł. Ćwiczenie 4.18. Zapisz rozszerzoną wersję algorytmu AQ umożliwiającą przetwarza nie przykładów opisywanych za pomocą atrybutów dyskretnych, porządkowych i cią głych, stosując w tym celu selektory nierównościowe i przedziałowe. Ćwiczenie 4.19. Zapisz rozszerzoną wersję algorytmu CN2 umożliwiającą przetwarza nie przykładów opisywanych za pomocą atrybutów dyskretnych, porządkowych i cią głych, stosując w tym celu selektory nierównościowe i przedziałowe. Ćwiczenie 4.20. Zapisz algorytm CN2 w wersji z „efektywną" 1-krokową specjalizacją. Ćwiczenie 4.21. Rozważ możliwość uwzględniania przy indukcji reguł kosztów wyzna czania wartości atrybutów w celu uzyskania zbiorów reguł umożliwiających klasyfi kowanie przykładów jak najmniejszym kosztem. Zaproponuj odpowiednie modyfika cje algorytmów AQ i CN2. Ćwiczenie 4.22. Zmodyfikuj udostępnioną implementację algorytmu AQ, tak aby wy nikiem jej działania był uporządkowany zbiór reguł. Ćwiczenie 4.23. Zmodyfikuj udostępnioną implementację algorytmu CN2, tak aby wy nikiem jej działania był nieuporządkowany zbiór reguł. Ćwiczenie 4.24. Zmodyfikuj udostępnioną implementację algorytmu AQ, wzbogacając ją o możliwość przetwarzania atrybutów porządkowych i ciągłych za pomocą selek torów nierównościowych i przedziałowych.
262
ROZDZIAŁ 4. INDUKCJA REGUŁ
Ćwiczenie 4.25. Zmodyfikuj udostępnioną implementację algorytmu CN2, wzbogaca jąc ją o możliwość przetwarzania atrybutów porządkowych i ciągłych za pomocą se lektorów nierównościowych i przedziałowych. Ćwiczenie 4.26. Zmodyfikuj udostępnioną implementację algorytmu CN2, stosując spe cjalizację 1-krokową. Ćwiczenie 4.27. Zmodyfikuj udostępniony program indukcji reguł, wprowadzając do niego możliwość klasyfikowania przykładów nie pokrywanych przez żadną regułę oraz pokrywanych przez więcej niż jedną regułę z nieuporządkowanego zbioru reguł. Ćwiczenie 4.28. Uzupełnij udostępniony program indukcji reguł o operację przycinania zbioru reguł, uwzględniając przycinanie redukujące błąd i przycinanie pesymistyczne. Ćwiczenie 4.29. Przeprowadź za pomocą udostępnionego programu indukcji reguł eks perymenty walidacji krzyżowej z algorytmem AQ> stosując go do udostępnionych zbiorów danych. Ćwiczenie 4.30. Przeprowadź za pomocą udostępnionego programu indukcji reguł eks perymenty walidacji krzyżowej z algorytmem CN2, stosując go do udostępnionych zbiorów danych. Ćwiczenie 4.31. Przeprowadź eksperymenty z wersją algorytmu AQ generującą upo rządkowany zbiór reguł, stosując zmodyfikowany w ćwiczeniu 4.22 program indukcji reguł do udostępnionych zbiorów danych. Ćwiczenie 4.32. Przeprowadź eksperymenty z wersją algorytmu CN2 generującą nie uporządkowany zbiór reguł, stosując zmodyfikowany w ćwiczeniu 4.23 program in dukcji reguł do udostępnionych zbiorów danych. Ćwiczenie 4.33. Przeprowadź eksperymenty z wersją algorytmu CN2 z 1-krokową spe cjalizacją, stosując zmodyfikowany w ćwiczeniu 4.26 program indukcji reguł do udo stępnionych zbiorów danych. Porównaj działanie zmienionego i oryginalnego progra mu ze względu na jakość uzyskiwanych zbiorów reguł i czas obliczeń. Ćwiczenie 4.34. Przeprowadź eksperymenty, stosując do udostępnionych zbiorów da nych zmodyfikowaną wersję programu indukcji reguł, wzbogaconą o przycinanie pe symistyczne. Porównaj uzyskane wyniki z wynikami eksperymentów bez przycinania ze względu na rozmiar uzyskiwanych zbiorów reguł oraz błąd testowania. Ćwiczenie 4.35. Przeprowadź eksperymenty, stosując do udostępnionych zbiorów da nych zmodyfikowaną wersję programu indukcji reguł wzbogaconą o przycinanie re dukujące błąd i używając każdorazowo jako zbioru przycinania losowo wybranego podzbioru oryginalnego zbioru trenującego złożonego z 30% przykładów, zaś pozo stałych 70% jako właściwego zbioru trenującego. Porównaj uzyskane wyniki z wyni kami eksperymentów bez przycinania ze względu na rozmiar uzyskiwanych zbiorów reguł oraz błąd testowania.
Rozdział 5
Metody probabilistyczne By chance two separate glances meet1 Niezorientowani w ogólnej teorii nieprawdopodobieństwa po dziś dzień zapytują, czemu właściwie Trurl uprawdopodobnił smoka, a nie elfa czy krasnala, a czynią tak z ignorancji, nie wiedzą bowiem, że smok jest po prostu bardziej od krasnala prawdopodobny (.., f.
Pozostając w kręgu indukcyjnego uczenia się, w tym rozdziale dokonamy dość znacznej zmiany stosowanych metod reprezentacji hipotez, która wpłynie rów nież w decydujący sposób na wykorzystywane algorytmy uczenia się. Pozyskiwa na przez nie wiedza ma postać konstruowanych na podstawie danych trenujących oszacowań prawdopodobieństw wystąpienia w tych danych określonych wartości atrybutów i kategorii. Zobaczymy, jak takie zbiory prawdopodobieństw mogą słu żyć jako hipotezy do uczenia się pojęć, przede wszystkim dzięki wykorzystaniu mechanizmu wnioskowania probabilistycznego opartego na twierdzeniu Bayesa. Mówiąc o metodach uczenia się wywodzących się z teorii prawdopodobieństwa, porzucimy jednak także na chwilę zadanie uczenia się pojęć, aby przedstawić me todę reprezentacji bardziej złożonej wiedzy o zależnościach przyczynowych mię dzy atrybutami za pomocą sieci bayesowskich i zwięźle omówić odpowiednie al gorytmy uczenia się. Trzecim wiodącym tematem tego rozdziału będzie wywodzą cy się z teorii prawdopodobieństwa z jednej strony oraz z teorii informacji z drugiej strony ogólny i abstrakcyjny mechanizm wnioskowania indukcyjnego, znany jako zasada minimalnej długości kodu. Zasada ta stanowi w istocie pewną, niezależ ną od reprezentacji, uniwersalną miarę jakości hipotez, zgodnie z którą powinny być preferowane hipotezy umożliwiające zapisanie informacji zawartej w danych trenujących w najkrótszy sposób. Przedyskutujemy przydatne podczas jej stoso wania metody kodowania wybranych rodzajów danych i hipotez oraz wskażemy możliwe sposoby jej wykorzystania do poznanych przez nas dotychczas rodzajów indukcyjnego uczenia się.
]
Echoes (Pink Floyd: Meddle). Wyprawa trzecia, czyli smoki prawdopodobieństwa.
2
264
ROZDZIAŁ 5. METODY PROBABILISTYCZNE
5.1 Prawdopodobieństwo w sztucznej inteligencji Matematyczna teoria prawdopodobieństwa została w znanym nam współcześnie kształcie, w najbardziej ogólnych zarysach streszczonym w dodatku B, zainicjo wana w XVI wieku przez Pascala, który uczynił z niej po raz pierwszy systema tycznie badaną dyscyplinę matematyczną. Z pewnością jednak nieformalne, przedteoretyczne mechanizmy wnioskowania probabilistycznego były znane i stosowa ne znacznie wcześniej. Tak jak sama zasada indukcji, skłaniająca do uogólniania dostatecznie licz nych i regularnych obserwacji, należy do repertuaru podstawowych metod, za po mocą których organizujemy nasze doświadczenia i wyciągamy z nich wnioski, tak również szacowanie na podstawie obserwacji prawdopodobieństw różnych zda rzeń i sytuacji, nawet nie wyrażanych matematycznie, wydaje się nieodłącznie przynależeć do zestawu najważniejszych metod myślenia i przewidywania. Jed nak oprócz interpretowania prawdopodobieństw jako hipotetycznej (skoro tylko indukcyjnie uzasadnionej) wiedzy o występujących w świecie regularnościach, można również traktować je jako miarę służącą do oceny naszej wiedzy (czy cza sem naszej ignorancji), przypisując prawdopodobieństwa nie tyle samym zdarze niom i sytuacjom, co sądom wyrażanym o tych zdarzeniach i sytuacjach. Pierwszy z tych dwóch, niekoniecznie wykluczających się, punktów widzenia jest nazywa ny obiektywną lub fizyczną interpretacją prawdopodobieństwa, a drugi — interpre tacją subiektywną. Prawdopodobieństwo obiektywne wyraża pewne rzeczywiste właściwości świata, bez względu na to, czy są one nam znane. O zjawiskach zacho dzących w świecie mówi także prawdopodobieństwo w interpretacji częstościowej lub statystycznej, zgodnie z którą nieznane prawdopodobieństwa pewnych zdarzeń można szacować na podstawie obserwacji, określając częstość ich występowania. Prawdopodobieństwo subiektywne wyraża stopień przekonania podmiotu wydają cego pewną opinię o jego prawdziwości. Podobnie prawdziwości sądów dotyczy prawdopodobieństwo logiczne, które jednak nie opiera się na subiektywnych prze konaniach, lecz na uprawdopodobnianiu pewnych hipotez przez fakty. W przypadku probabilistycznych metod uczenia się możemy zasadniczo mieć do czynienia zarówno z logiczną, jak i statystyczną interpretacją prawdopodobień stwa. Możemy oceniać prawdopodobieństwo hipotez na podstawie faktów oraz prawdopodobieństwo faktów na podstawie statystycznych obserwacji. Najczęściej w ten czy inny sposób oba punkty widzenia są obecne równocześnie — na pod stawie informacji trenującej są szacowane pewne prawdopodobieństwa dotyczą ce właściwości dziedziny, a na ich podstawie z kolei, z wykorzystaniem proba bilistycznych mechanizmów wnioskowania, prawdopodobieństwa są przypisywa ne hipotezom. Czasem natomiast, jak zobaczymy, zbiory prawdopodobieństw sa me są hipotezami, na podstawie których wnioskuje się o prawdopodobieństwach nowych obserwacji, czyli dokonuje się indukcyjnej predykcji. W prawie każdym
5.2. TWIERDZENIE BAYESA
265
przypadku u podstaw stosowanych mechanizmów wnioskowania leży twierdzenie sformułowane przez XVIII-wiecznego matematyka Thomasa Bayesa. Trzy główne grupy probabilistycznych metod uczenia się, jakie przedstawimy w tym rozdziale — metody klasyfikacji bayesowskiej, sieci bayesowskie i metody oparte na za sadzie minimalnej długości kodu — stanowią dość dobrze na ogół ugruntowane teoretycznie i bardzo praktyczne zastosowania tego twierdzenia.
5.2 Twierdzenie Bayesa W teorii prawdopodobieństwa mówi się o prawdopodobieństwach zdarzeń, któ re są podzbiorami pewnej przestrzeni zdarzeń elementarnych. Nas jednak będą interesować tylko pewne szczególne „zdarzenia" — występowanie określonych cech w danych trenujących oraz hipotezy, jakie uczeń może na podstawie tych danych formułować. Wkrótce skonkretyzujemy możliwe znaczenie jednych i dru gich, tymczasem jednak, dla zachowania dostatecznej ogólności, najwygodniej będzie mówić po prostu o prawdopodobieństwie danych, na których oznaczenie, o ile o ich pochodzeniu i naturze nie będzie nic więcej wiadomo, będziemy uży wać symbolu D, oraz hipotez, o których założymy wprawdzie, jak zwykle, że są elementami określonej przestrzeni możliwych hipotez H, lecz dla których nie bę dziemy zakładać ich żadnej szczególnej postaci ani sposobu stosowania. Przyjmiemy, że każdej hipotezie h G H przypisano w pewien sposób jej praw dopodobieństwo a priori Pr (A). Określenie a priori ma na celu zasygnalizowa nie, że przy wyznaczaniu tego prawdopodobieństwa nie były uwzględniane żadne mogące mieć wpływ na jego wartość obserwacje dotyczące dziedziny, do której odnoszą się hipotezy, czyli żadne dane. Uwzględnienie takich danych prowadzi do określenia prawdopodobieństwa a posteriori hipotezy h jako prawdopodobieństwa warunkowego Pr(/i | D), przy czym D jest pewnym zbiorem danych potencjalnie wpływających na ocenę prawdopodobieństwa hipotez. Jeśli dane D niczego nie wnoszą do oceny prawdopodobieństwa hipotezy h, czyli prawdopodobieństwo to od nich nie zależy, to oczywiście Pr(/i | D) = Pr(/i). Nas jednak interesuje przede wszystkim sytuacja, gdy zaobserwowanie danych prowadzi do rewizji uprzed nio przyjmowanych prawdopodobieństw hipotez, czyli gdy Pi(h\D) ^ Pr(/i). Twierdzenie Bayesa mówi, w jaki sposób należy takiej rewizji dokonać. • TWIERDZENIE 5.1 (BAYESA). Dla dowolnej hipotezy h eW. oraz zbioru da nych D zachodzi równość:
PrfM^^P-
(5.0 <
266
ROZDZIAŁ 5. METODY PROBABILISTYCZNE
W podanym przez to twierdzenie wzorze Bayesa do wyrażenia związku mię dzy prawdopodobieństwami a priori i a posteriori hipotezy są wykorzystywane dwa inne prawdopodobieństwa, o których wcześniej nie mówiliśmy. Prawdopo dobieństwo danych Pr(£>) określa prawdopodobieństwo zaobserwowania (wy stąpienia) danych D, na podstawie których chcemy wnioskować, bez zakładania uprzednio poprawności żadnej hipotezy. Tymczasem Pr(D | h) jest prawdopodo bieństwem zaobserwowania tych danych przy założeniu, że hipoteza h jest po prawna. Będziemy zakładać, że dla dowolnej hipotezy h i danych D można wy znaczyć prawdopodobieństwo Pr(D \ h). Zobaczymy, jak tego dokonać w typo wych sytuacjach, kiedy od ogólnej dyskusji twierdzenia Bayesa przejdziemy do wykorzystujących je algorytmów uczenia się. W większości przypadków celem wyznaczania prawdopodobieństw a poste riori jest wybór hipotezy najbardziej prawdopodobnej w świetle zaobserwowa nych danych. Wówczas, ponieważ interesują nas nie tyle bezwzględne wartości tych prawdopodobieństw, co raczej ich porównywanie, występujące w mianowni ku we wzorze Bayesa prawdopodobieństwo danych Pr(D), skoro nie zależy od hipotez, nie wpływa na wynik i może być pominięte. Przy porównaniu wystar czy uwzględnić występujący we wzorze w liczniku iloczyn Pr(ft) Pr(L> | /Ł). Jeśli jednak z jakichś przyczyn interesuje nas bezwzględna wartość Pr(/i \D)9 to po trzebne do jej obliczenia prawdopodobieństwo Pr(D) może być przy pewnych założeniach uzyskane na podstawie łatwiejszych na ogół do wyznaczenia praw dopodobieństw Pr(D | h) dla różnych hipotez h £ HL Załóżmy mianowicie, że przestrzeń H składa się ze skończonej liczby wykluczających się parami hipotez, które wyczerpują wszystkie możliwości, czyli (V/ii, h2 £ H) Pr(/ix A h2) = 0,
£
Pr
W=
L
(5.2)
5 3
( - )
hen Pierwszy z powyższych warunków mówi, że żadne dwie hipotezy nie są jednocze śnie poprawne, drugi zaś, że poprawna jest przynajmniej jedna z nich3. Przyjmu jąc te założenia możemy obliczyć Pr(D) z dobrze znanego wzoru określającego prawdopodobieństwo całkowite:
Pr(D) = J2 Pv{h) Pr(L> | h).
(5.4)
hem Podstawiając powyższe wyrażenie na Pr(D) do wzoru Bayesa możemy przepisać go w postaci, w jakiej niekiedy jest od razu podawany: Prlh\D)= 3
PrftWl*)
(55)
Poprawność oznacza tu zgodność z rzeczywistością, cokolwiek miałoby to oznaczać w każdym konkretnym przypadku.
5.3. KLASYFIKACJA BAYESOWSKA
267
lecz musimy wówczas pamiętać o ograniczających jego ogólność założeniach na temat przestrzeni hipotez. Rozważając bayesowskie metody uczenia się będziemy się odwoływać raczej do podstawowego wzoru (5.1).
5.3 Klasyfikacja bayesowska Przy ogólnym sformułowaniu twierdzenia Bayesa hipotezy mogą mieć zupełnie dowolną postać i nie muszą być związane z jakimkolwiek rodzajem uczenia się. Obecnie rozważymy zastosowanie tego twierdzenia do uczenia się pojęć, co po ciąga za sobą przyjęcie, że hipotezy są funkcjami klasyfikującymi przykłady na podstawie wartości ich atrybutów. Rolę danych, które wpływają na ocenę praw dopodobieństwa hipotez i w konsekwencji na wybór najlepszej z nich, odgrywa oczywiście zbiór trenujący T, składający się z etykietowanych przykładów poję cia docelowego c : X H> C określonego na dziedzinie X. 5.3.1
Wybór hipotezy
Jeśli nie przyjmiemy żadnych założeń na temat przestrzeni hipotez H ani sposobu reprezentowania jej elementów poza tym tylko, że jest ich pewna skończona i nie zbyt duża liczba (co niestety nie jest założeniem bardzo realnym, ale zgódźmy się na nie tymczasowo), to zadanie uczenia się pojęć można w ogólny sposób sformu łować jako zadanie wyboru hipotezy z przestrzeni H najlepszej w świetle zbioru przykładów T. Obecnie do oceny hipotez nie będzie jednak, jak w poprzednich rozdziałach, służyć ogólność, dokładność czy złożoność, lecz prawdopodobień stwo. Istnieją dwa standardowe sposoby precyzowania, jakie warunki ma spełniać hipoteza, aby została uznana za najlepszą w sensie probabilistycznym: • zasada maksymalnej zgodności, nazywana krótko zasadą ML4: należy wybrać hipotezę IIML £ HL która maksymalizuje warunkowe prawdopodobieństwo danych trenujących, czyli ^ML = argmaxPr(T| h),
(5.6)
• zasada maksymalnego prawdopodobieństwa a posteriori, nazywana krótko za sadą MAP5: należy wybrać hipotezę hipotezę /IMAP £ H o maksymalnym prawdopodobieństwie a posteriori, czyli ^MAP = argmaxPr(/i|T). 4
Skrót pochodzi od angielskiego terminu Mcucimum Likelihood. Skrót pochodzi od angielskiego terminu Mcaimwn a Posteriori.
5
(5.7)
268
ROZDZIAŁ 5. METODY PROBABILISTYCZNE
Zauważmy, że podejściem „prawdziwie" bayesowskim jest tylko drugie z po wyższych dwóch, czyli MAP, które wymaga wyznaczenia prawdopodobieństw a posteriori dla wszystkich hipotez i wyboru tej, dla której jest ono największe. W podejściu ML nie używa się wcale reguły Bayesa i sprowadza się do wyboru hipotezy, przy założeniu której zaobserwowanie danych trenujących takich, jakie faktycznie uczeń otrzymał, byłoby najbardziej prawdopodobne. Na obronę tego niebayesowskiego podejścia można jednak przytoczyć spostrzeżenie, że jest ono bliskie duchowi tradycyjnego rozumienia indukcji jako znajdowaniu uogólnień do brze wyjaśniających empiryczne obserwacje (gdyż przy przyjęciu takich dobrych uogólnień obserwacje te stają się najbardziej prawdopodobne). Jego słabość pole ga na pomijaniu możliwości, że poszczególne hipotezy są w różnym stopniu praw dopodobne a priori. Z tego względu zasada maksymalnego prawdopodobieństwa a posteriori może być uznana za bardziej naturalne i godne polecenia podejście, o ile oczywiście prawdopodobieństwa a priori wszystkich branych pod uwagę hi potez są znane lub przynajmniej mogą być wiarygodnie oszacowane. W przeciw nym przypadku zasada maksymalnej zgodności pozostaje jako alternatywa. Po nieważ oba podejścia stają się równoważne, jeśli wszystkie hipotezy są jednakowo prawdopodobne a priori, oznacza to oczywiście domniemanie jednakowego praw dopodobieństwa w przypadku ignorancji. Zgodnie z uczynioną już wcześniej uwagą, w celu wybrania hipotezy MAP nie musimy w gruncie rzeczy obliczać Pr (/i | T), a tym samym określać niezbędną do tego obliczenia wartość Pr(T) — wystarczy porównać iloczyny Pr(/i) Pr(T | h) dla różnych h. Algorytm uczenia się polegający na bezpośrednim zastosowaniu tego podejścia, czyli wyznaczający na podstawie zbioru trenującego T hipotezę /iMAP) która może być następnie stosowana do klasyfikowania nowych przykła dów, nazwiemy bezpośrednim algorytmem MAP.
5.3.2
Prawdopodobieństwo danych
Do stosowania dwóch sformułowanych wyżej metod klasyfikacji probabilistycznej nie jest potrzebne wyznaczanie prawdopodobieństwa zbioru trenującego Pr(T). Zarówno jednak klasyfikacja zgodnie z zasadą maksymalnej zgodności, jak i mak symalnego prawdopodobieństwa a posteriori wymagają wyznaczenia warunko wych prawdopodobieństw Pr(T | h) dla poszczególnych hipotez ftGE Pora wy jaśnić, jak należy takie prawdopodobieństwa rozumieć i jak określić ich wartości. Zacznijmy od tego, że przez prawdopodobieństwo zbioru trenującego nie nale ży rozumieć prawdopodobieństwa tego, że w jego skład wchodzą pewne konkret ne, te a nie inne, przykłady. I tak zresztą bez znajomości określonego na dziedzinie rozkładu Q, zgodnie z którym są wybierane przykłady, nie moglibyśmy takiego prawdopodobieństwa wyznaczyć. Na szczęście nie jest ono w tym przypadku ani interesujące, ani potrzebne. Prawdopodobieństwo danych trenujących do uczenia
5.3. KLASYFIKACJA BAYESOWSKA
269
się pojęć jest bowiem prawdopodobieństwem zawartej w nich w postaci etykiet przykładów informacji wpływającej na ocenę hipotez. Ważne jest więc tylko, jak prawdopodobne są takie a nie inne etykiety przykładów w zbiorze T, a nie same przykłady wchodzące w jego skład. Dla ścisłości powinniśmy tu raczej wykorzy stać wprowadzone w rozdziale 2 oznaczenie zbioru trenującego {T)ck, w jawny sposób wskazujące, że przykłady trenujące ze zbioru T są opisane za pomocą atrybutów z zestawu A i towarzyszą im etykiety pojęcia docelowego e. W dalszym ciągu nie będziemy jednak komplikować notacji i używać (z jednym wyjątkiem) wyłącznie symbolu zbioru przykładów, pamiętając, że w istocie chodzi o opisy przykładów z odpowiadającymi im etykietami. Pozostaje określić, jak na ocenę prawdopodobieństwa etykiet przykładów tre nujących wpływają hipotezy. Prawdopodobieństwo Pr(T | h) mówi o tym, jak bar dzo prawdopodobne jest, aby przykłady ze zbioru T miały takie etykiety kategorii, jakie faktycznie występują w zbiorze T, jeśli poprawna jest hipoteza /i, czyli jeśli hipoteza h jest identyczna z pojęciem docelowym. Jeśli przy tym zbiór trenujący jest poprawny, czyli występujące w nim etykiety przykładów są rzeczywiście ety kietami kategorii, jakie przyporządkowuje im pojęcie c, to dla dowolnej hipotezy hem ^ , t7X fi jeśli fte VS| r , J H T Pr (T h) - { ' [0 j e ś l i / i 0 V S | j T .
(5.8)
Ujmując to w słowa, jeśli hipoteza h przypisuje przykładom ze zbioru T takie sa me etykiety, jakie występują w zbiorze trenującym (T)^, i jest to zbiór poprawny, to jego warunkowe prawdopodobieństwo przy założeniu poprawności tej hipote zy wynosi 1. Takie etykiety, jakie występują w zbiorze trenującym, są po prostu absolutnie pewne. Absolutnie niemożliwe są zaś inne etykiety, co oznacza, że je śli hipoteza h przypisuje choćby jednemu przykładowi ze zbioru T inną etykietę niż występująca w zbiorze trenującym, to prawdopodobieństwo tego zbioru przy założeniu poprawności hipotezy jest równe 0. Ta prosta sytuacja komplikuje się, jeśli dopuścimy niepoprawność zbioru tre nującego. Aby wówczas móc również wyznaczyć interesujące nas prawdopodo bieństwa, musimy znać probabilistyczny model przekłamań, jakie mogą wystę pować w zbiorze trenującym. Rozważymy tu najprostszy przypadek, kiedy każdy przykład x G T może mieć z takim samym prawdopodobieństwem 0 ^ p ^ 1 etykietę w zbiorze T różną od poprawnej etykiety c{x). Dla hipotez spójnych ze zbiorem trenującym6 warunkowe prawdopodobieństwo tego zbioru może być wówczas mniejsze niż 1, zaś dla hipotez niespójnych może być większe niż 0. 6
Zgodnie z dyskusją w rozdziale 2, mówimy tu o spójności ze zbiorem trenującym zamiast o spójności z pojęciem docelowym na tym zbiorze, zakładając możliwość przekłamań etykiet przy kładów.
270
ROZDZIAŁ 5. METODY PROBABILISTYCZNE
Przypomnijmy sobie z rozdziału 2, że r^(h) oznacza liczbę pomyłek hipotezy h na zbiorze T, czyli liczbę przypadków niezgodności etykiet przypisywanych przykładom przez tę hipotezę z ich poprawnymi kategoriami pojęcia docelowego c. Jeśli c' oznacza pojęcie „przekłamane", którego etykiety faktycznie występują w dostarczonym uczniowi zbiorze trenującym (T)^, to możemy zapisać: Pr(T|/i) = (1 -p)\T\-4(h)p4{h)m
{59)
Przykład 5.1 (Funkcje boolowskie). Algorytm MAP zilustrujemy w zastosowa niu do uczenia się funkcji boolowskich określonych na dziedzinie łańcuchów binar nych. Weźmy pod uwagę dziedzinę X — {0, l } 4 i pojęcie docelowe c zdefiniowane dla każdego x ^ I następująco: c(x)
— CL\{X) A a2(x)
V 04(x).
Rozważymy czteroelementową przestrzeń hipotez H = {/ii, /i 2 , h3y / i 4 } , przy czym dla każdego x G X: h\(x)
= a\(x) V a 4 ( x ) ,
h2{x) = a 2 (x) V a 4 ( x ) , h3(x)
= ai(x) A a 2 ( 4
/i 4 (x) — a±(x) A a 2 (x) V a 4 ( x ) . Jak widać, c = /i 4 G EL Załóżmy, że kolejnym hipotezom przestrzeni H przyporząd kowano prawdopodobieństwa a priori równe odpowiednio 0,5, 0,2, 0,2 i 0,1. Niech zbiór trenujący T składa się ze wszystkich etykietowanych przykładów dziedziny, dla których atrybut a 2 ma wartość 0, czyli T = {xeX\a2(x)
-0}.
Łatwo się przekonać, że hipotezy h2 i /i 4 są spójne z pojęciem c na zbiorze T, a hipote zy /ii i hz popełniają na tym zbiorze odpowiednio 2 i 4 pomyłki. Założymy, że pojęcie docelowe nie jest znane, a na podstawie zbioru etykietowanych przykładów T nale ży określić prawdopodobieństwa a posteriori hipotez z przestrzeni HI w celu wyboru hipotezy najbardziej prawdopodobnej. W tym celu będą nam potrzebne prawdopodo bieństwa warunkowe danych trenujących P r ( T | h) dla każdej hipotezy h G H, czyli prawdopodobieństwa tego, że poprawne etykiety przykładów ze zbioru T są takie jak występujące w zbiorze T, przy założeniu, że h = c. Jeśli zbiór trenujący T jest poprawny, to dla każdej hipotezy h spójnej z poję ciem c na zbiorze T mamy P r ( T | h) = 1 oraz dla każdej hipotezy h niespójnej z po jęciem c na zbiorze T oczywiście P r ( T \h) = 0. Oznacza to dokładnie tyle, że jeśli h przypisuje przykładom z T takie same etykiety, jak pojęcie c, to dane trenujące są pewne, w przeciwnym zaś przypadku są one niemożliwe. Możemy więc zapisać: Pr(T|/i1)=0, P r ( T | / i 2 ) = l,
5.3. KLASYFIKACJA BAYESOWSKA
271
Pr(T I / . 3 ) = 0 , Pr{T\h4)
= 1.
Stąd: P r ( / n ) P r ( r | h i ) = 0, Pr(/i 2 )Pr(T | /12)=0,2, Pr(/i3)Pr(T|/i3)-0, Pr(h4)Pr(r|/Ł4)=0,l. Zatem hipotezą MAP j est h2. Załóżmy teraz, że zbiór trenujący nie jest poprawny: dla każdego przykładu x € T z prawdopodobieństwem 0,4 jest przekłamana etykieta kategorii. Wówczas: Pr(T|Ai) = ( 1 - 0 , 4 ) 8 = 0,0075, Pr(T | h2) = (1 - 0,4)6 • 0,42 = 0,0168, Pr(T | h3) = (1 - 0,4)4 • 0,44 = 0,0033, Pr(T|ft 4 ) = ( 1 " 0 , 4 ) 8 =0,0168, i wobec tego: Pr(/n)Pr(T | /ii) = 0,0038, Pr(/i 2 )Pr(T | /Ł2)= 0,0034, Pv(h3)Pv(T| A 3 ) = 0,0007, Pr(/i 4 )Pr(T|/i 4 ) =0,0017. Tym razem hipotezą o maksymalnym prawdopodobieństwie a posteriori jest /ii.
5.3.3 Optymalny klasyfikator bayesowski Jeśli zgodzimy się abstrahować od nieco nierealnych założeń, dotyczących skoń czonej i niewielkiej liczby możliwych hipotez, może się wydawać, że bezpośredni algorytm MAP prowadzi do wyboru faktycznie najlepszej hipotezy, której stoso wanie zapewnia najmniejszy błąd rzeczywisty. Inaczej mówiąc, można odnieść wrażenie, że uczeń, od którego oczekuje się nauczenia się klasyfikowania przykła dów pewnej dziedziny na podstawie udostępnionego mu zbioru trenującego, nie może zrobić nic lepszego niż znalezienie hipotezy MAP i następnie stosowanie jej konsekwentnie do wszystkich przykładów, których klasyfikowania się od niego zażąda. Wrażenie to jest jednak mylne i aby przekonać się o tym, wystarczy odróż nić najbardziej prawdopodobną hipotezę od najbardziej prawdopodobnej kategorii pojedynczego przykładu, który ma być poddany klasyfikacji. Łatwo stwierdzić, że jest możliwa sytuacja, w której najbardziej prawdopodobną kategorią pewne go przykładu x £ X nie jest / I M A P ( ^ ) - Wystarczy w tym celu wziąć pod uwagę
272
ROZDZIAŁ 5. METODY PROBABILISTYCZNE
sytuację, w której w przestrzeni hipotez znajdują się hipotezy h\,/12, • • - ,hm ta kie, że hi(x) = di dla każdego i = 1, 2 , . . . , m, podczas gdy dla hipotezy MAP mamy / I M A P ( ^ ) — ^2 / ^i- Jeśli suma prawdopodobieństw a posteriori hipotez h\, /12,.. • , hm przekracza sumę prawdopodobieństw a posteriori hipotezy MAP i innych hipotez, według których przykład x należy do kategorii d 2 , to za bardziej prawdopodobną kategorię tego przykładu uznalibyśmy oczywiście d\. Uściślając powyższą argumentację należy stwierdzić, że najbardziej prawdo podobną kategorię dowolnego przykładu x otrzymuje się uwzględniając katego rie, do których zaliczają ten przykład wszystkie hipotezy rozważanej przestrze ni hipotez, dla każdej z tych kategorii sumując prawdopodobieństwa a posteriori wszystkich hipotez, według których przykład do niej należy. Kategorią najbardziej prawdopodobną jest oczywiście ta, dla której uzyskana suma prawdopodobieństw jest największa. Bardziej formalnie prawdopodobieństwo tego, że pewien dowol nie wybrany przykład x E X należy do kategorii d E C pojęcia docelowego c : X 1-» C, szacowane na podstawie zbioru T etykietowanych przykładów tego pojęcia, możemy wyrazić w następujący sposób: P r ( c ( x ) = d | T ) = ^ P r ( c ( r c ) - d\ h) Pr(/i | T ) , hem
(5.10)
przy czym dla każdej hipotezy h EM P i ( \ A\U\ i 1 J e Ś l i M ^ ) = <*, Pr (c{x) = a I h) = < (5.11) [0 w przeciwnym przypadku. Algorytm, który klasyfikuje przykłady wybierając dla nich najbardziej prawdopo dobne kategorie w sensie określonym przez poprzednie wzory, czyli który zalicza przykład x E X do kategorii argmaxPr(c(:r) = d | T ) , v J dec
(5.12)
jest często nazywany optymalnym klasyfikatorem bayesowskim lub krótko algoryt mem BOC 7 . Żaden inny algorytm, używający tej samej przestrzeni hipotez i tych samych danych trenujących, nie zdoła znaleźć lepszej hipotezy, czyli hipotezy o mniej szym błędzie rzeczywistym, niż algorytm BOC, oczywiście dla ustalonych praw dopodobieństw a priori. Wynika to bezpośrednio z definicji błędu rzeczywistego jako prawdopodobieństwa błędnej klasyfikacji losowo wybranego przykładu. Po nieważ optymalny klasyfikator bayesowski maksymalizuje prawdopodobieństwo poprawnej klasyfikacji każdego przykładu, tym samym minimalizuje prawdopo dobieństwo popełnienia pomyłki, czyli błąd rzeczywisty. Uzasadnia to nazywanie 7
Jest to skrót od angielskiego terminu Bayes Optimal Classifier.
5.3. KLASYFIKACJA BAYESOWSKA
273
tego algorytmu optymalnym i czyni z niego punkt odniesienia do porównywania właściwości różnych algorytmów w analizach teoretycznych. W praktyce, jak zo baczymy, stosowane są inne algorytmy klasyfikacji bayesowskiej. Zauważmy, że optymalny klasyfikator bayesowski klasyfikuje przykłady za pomocą hipotezy, która może nie być elementem H, czyli efektywnie rozsze rza przestrzeń hipotez. Możemy bowiem zapisać hipotezę (nazwiemy ją hipotezą BOC), jaką stosuje ten algorytm dla każdego przykładu x G X, w podany już wyżej sposób: ^BOC(^)
~ argmaxPr (c(x) = d\T).
(5.13)
Może się oczywiście zdarzyć, że skonstruowana w ten sposób hipoteza będzie w istocie rzeczy identyczna z jedną z hipotez z przestrzeni HL Jest jednak także możliwe, że h^oc ¢ M, gdyż na temat przestrzeni H nie przyjmowaliśmy żadnych wstępnych założeń. Jeśli nie zawiera ona wszystkich hipotez dopuszczalnych dla danego zestawu atrybutów, to może nie zawierać hipotezy BOC. Nie jest to pro blem z praktycznego punktu widzenia, lecz możemy na gruncie teoretycznej dys kusji odczuwać pewien dyskomfort, jeśli uczeń znajduje hipotezę spoza używanej przez siebie przestrzeni hipotez. Należy w związku z tym wyjaśnić, że optymalny klasyfikator bayesowski używa wprawdzie przestrzeni H do wykonywanych przez siebie obliczeń, lecz do wyboru hipotezy używa w istocie innej, poszerzonej prze strzeni hipotez HF, określonej jako zbiór wszystkich tych i tylko tych hipotez, które każdemu przykładowi x G X mogą przypisać dowolną kategorię ze zbioru kate gorii, do których ten przykład jest zaliczany przez wszystkie hipotezy przestrzeni HL Bardziej formalnie możemy napisać, że HI' składa się ze wszystkich funkcji h! odwzorowujących dziedzinę X na zbiór kategorii C, które spełniają warunek (\fx G X) ti(x) G {d G C | (3/i E W) h{x) = d}.
(5.14)
Jeśli w oryginalnej przestrzeni M znajdują się hipotezy „używające" dla każdego przykładu wszystkich kategorii ze zbioru C, czyli wszystkie hipotezy dopuszczal ne, to HI' jest oczywiście także przestrzenią wszystkich dopuszczalnych hipotez dla naszej dziedziny. Jest bowiem jasne, mimo że nie było dotychczas o tym w jawny sposób mowy, że dla dowolnego x G X prawdopodobieństwa Pr (c(x) — d\h) mogą zależeć od przykładu x tylko za pośrednictwem opisujących ten przykład wartości atrybutów. Tym samym w HF mogą się znaleźć tylko hipotezy, które na zywamy dopuszczalnymi, czyli będące funkcjami wektorów wartości atrybutów. Przykład 5.2 (Funkcje boolowskie). Wróćmy do dziedziny i przestrzeni hipotez rozważanych w przykładzie 5.1. Dla przypomnienia, bierzemy pod uwagę dziedzinę X — {0, l} 4 i czteroelementową przestrzeń hipotez M. = {fti,/&2>/^3)/^}. o poda nych tam definicjach. Dla zbioru trenującego T używanego w przykładzie 5.1 wyzna-
274
ROZDZIAŁ 5. METODY PROBABILISTYCZNE
czyliśmy dla tych hipotez prawdopodobieństwa a posteriori, przy założeniu możliwo ści przekłamań etykiet w zbiorze trenującym, następująco: Pr(hi)Pr(T|Ai) =0,0038, Pr(/> 2 )Pr(r | h2)= 0,0034, Pr(/i 3 )Pr(T | /i3) = 0,0007, Pr(/i 4 )Pr(T|/i 4 ) -0,0017. Weźmy pod uwagę klasyfikację przykładu x* = 1000. Mamy dla niego: hi(x*) = 1, h2{x*) = 0 , /i 3 (z*) = 0, /14(2;*) = 0.
Algorytm MAP wybrałby dla tego przykładu kategorię /ii (2*) — 1, gdyż hipoteza hi ma maksymalne prawdopodobieństwo a posteriori. Optymalny klasyfikator bayesowski wyznaczy tymczasem prawdopodobieństwa: Pr(c(x*) = 1|T) =0,0038, Pr (c(x*) = 0 I T) = 0,0034 + 0,0007 + 0,0017 = 0,0058. Najbardziej prawdopodobną kategorią przykładu x* jest więc 0. Poddając w ten spo sób klasyfikacji wszystkie przykłady z dziedziny można się przekonać, że hipoteza ^BOC jest w tym przypadku identyczna z hipotezą /i 4 .
5.3.4
Klasyfikacja bayesowska w praktyce
Ani bezpośredni algorytm MAP, ani optymalny klasyfikator bayesowski nie są al gorytmami o dużym znaczeniu praktycznym. Oprócz trudności z właściwym okre śleniem prawdopodobieństw a priori hipotez, do których zresztą jeszcze wrócimy w dalszej części rozdziału, główną przeszkodą w ich stosowaniu do rzeczywi stych zbiorów trenujących jest konieczność wzięcia pod uwagę wszystkich hipotez — przynajmniej na etapie uczenia się, a w przypadku optymalnego klasyfikatora bayesowskiego także przy klasyfikacji przykładów. Dla każdej właściwie nietrywialnej dziedziny liczba hipotez, jakie należy uwzględnić, o ile jest skończona, jest na tyle duża, aby uczynić koszty obliczeniowe wyznaczenia Pr(/i | T) dla każdej hipotezy h G H nieakceptowalnie dużymi. Ogranicza to wykorzystanie przed stawionych wyżej algorytmów bayesowskiej klasyfikacji do dość specyficznych sytuacji, kiedy zbiór rozważanych hipotez został zredukowany do bardzo małego rozmiaru. Sytuacje takie zdarzają się w praktyce i występują zazwyczaj wtedy, kiedy dysponujemy pewną niewielką liczbą hipotez wygenerowanych dla tego sa mego pojęcia docelowego przez różne algorytmy uczenia się. Chodzi wówczas
5.3. KLASYFIKACJA BAYESOWSKA
275
o to, aby jak najlepiej klasyfikować przykłady, wykorzystując wszystkie te hipote zy w sposób uwzględniający ich prawdopodobieństwa. Do takiego praktycznego zastosowania klasyfikacji bayesowskiej, nazywanego metauczeniem się, wrócimy w rozdziale 10. Do tego czasu algorytmy MAP i BOC pozostaną dla nas głównie algorytmami o znaczeniu teoretycznym. Istnieją jednak także różne praktyczne al gorytmy uczenia się pojęć oparte na twierdzeniu Bayesa, z których najbardziej popularny, najprostszy, lecz często bardzo skuteczny, jest znany jako naiwny kla syfikator bayesowski lub niezależny klasyfikator bayesowski, a w skrócie bywa na zywany NBC8. 5.3.5
Naiwny klasyfikator bayesowski
Naiwny klasyfikator bayesowski jest wolny od problemów związanych z oblicza niem prawdopodobieństw a posteriori dla wszystkich hipotez pewnej ustalonej przestrzeni dzięki temu, że żadnej takiej przestrzeni nie rozważa, lecz raczej re prezentuje hipotezy za pomocą tworzonych na podstawie zbioru trenującego osza cowań pewnych prawdopodobieństw i klasyfikuje przykłady, wybierając dla nich kategorie najbardziej prawdopodobne w świetle tych oszacowań. Pod tym wzglę dem przypomina optymalny klasyfikator bayesowski, różni się jednak od niego tym, że nie wykorzystuje żadnych innych hipotez nawet w celach pomocniczych. Szacowanie prawdopodobieństw Naiwny klasyfikator bayesowski zakłada, tak jak wcześniej poznane przez nas al gorytmy indukcji, że przykłady są opisane za pomocą pewnego zestawu atrybutów ai, a2,.. ., a n , przy czym ograniczamy się tymczasem do atrybutów o wartościach dyskretnych (nominalnych lub porządkowych). Na podstawie zbioru trenującego T są szacowane prawdopodobieństwa poszczególnych kategorii pojęcia docelo wego c oraz prawdopodobieństwa poszczególnych wartości wszystkich atrybu tów dla przykładów różnych kategorii. Założymy, że zbiór trenujący składa się z przykładów wybranych z dziedziny zgodnie z pewnym rozkładem prawdopodo bieństwa fi i w związku z tym prawdopodobieństwa szacowane podczas ucze nia się będą prawdopodobieństwami przy założeniu wyboru przykładów zgod nie z tym rozkładem. Interesujące nas oszacowania dotyczą prawdopodobieństw Prxeci(c(x) — d) dla wszystkich kategorii d G C pojęcia docelowego c oraz Pr xG n (a,i(x) = v\c(x) ~ d) dla wszystkich kategorii d G C oraz wartości v G Ai dla i = 1, 2 , . . . , n, przy czym Ai jest przeciwdziedziną atrybutu a^ Sposobowi szacowania wymienionych prawdopodobieństw na podstawie zbio ru trenującego warto poświęcić nieco szerszy komentarz. Na ogół po prostu spro wadzamy prawdopodobieństwo do względnej częstości. W szczególności w celu Jest to skrót od angielskiego terminu Nawe Bayes Classifier.
276
ROZDZIAŁ 5. METODY PROBABILISTYCZNE
wyznaczenia Pr x e n(c(#) — d) dla wszystkich d liczymy, ile jest w zbiorze T przykładów poszczególnych kategorii, po czym uzyskane liczby dzielimy przez liczbę wszystkich przykładów, co, używając naszej standardowej notacji, można zapisać następująco: rpd
Pvxeci{c(x) =d) =
(5.15)
\T\
Podobnie w celu oszacowania Pr x 6 n {o>i(x) — v \ c(x) — d) dla wszystkich kate gorii i wartości wszystkich atrybutów możemy policzyć, ile jest przykładów każ dej kategorii dla poszczególnych wartości każdego atrybutu i dzielimy uzyskaną liczbę przez liczbę wszystkich przykładów tej kategorii: rpd
Prrren (ai{x) = v | c(x) = d) =
\Td\'
(5.16)
Stosując to rozsądne skądinąd podejście napotykamy jednak problem, jeśli w którejś z grup nie ma żadnego przykładu. Wówczas licznik odpowiedniego ułamka jest równy 0 i w konsekwencji prawdopodobieństwo jest także szacowa ne na 0. Oznacza to, jak widać po chwili namysłu, wyciągnięcie wniosku bardzo radykalnego: na podstawie faktu niewystępowania w zbiorze trenującym pewnej wartości pewnego atrybutu w ramach pewnej kategorii przyjmujemy, że wystąpie nie w całej dziedzinie przykładu spełniającego takie warunki jest w ogóle niemoż liwe. Tymczasem raczej trudno oczekiwać, aby w zbiorze trenującym zawsze były reprezentowane wszystkie wartości wszystkich atrybutów we wszystkich katego riach, chociażby ze względu na zbyt ograniczony rozmiar tego zbioru. Zobaczymy wkrótce, że takie nazbyt pochopne przyjmowanie zerowych prawdopodobieństw może mieć drastyczne i bardzo negatywne konsekwencje dla sposobu klasyfiko wania przykładów przez naiwny klasyfikator bayesowski, co motywuje potrzebę stosowania oszacowań ostrożniejszych. Wydaje się, że w sytuacji takiej jak dyskutowana powyżej, rozsądniej było by przyjąć, że P r ^ n {a>i(x) — v \ c(x) = d) ma pewną niewielką, lecz dodatnią wartość e. Jest to rozwiązanie najprostsze i często stosowane, dobierając e należy jednak pamiętać o uwzględnieniu rozmiaru zbioru trenującego, a dokładniej licz by przykładów odpowiedniej kategorii. W szczególności jeśli mamy \TaiV\ = 0 i chcemy przyjąć P r ^ n (a>i{x) — v\c(x) — d) = e > 0, to z całą pewno ścią powinniśmy zapewnić, aby e < T~^T. W przeciwnym przypadku oszacujemy prawdopodobieństwo dla wartości atrybutu nie występującej w zbiorze trenują cym na poziomie nie mniejszym od prawdopodobieństwa szacowanego dla warto ści występującej tam jednokrotnie. Rozsądną heurystyką wydaje się przyjmowanie wówczas e = ^ j r * Te same uwagi dotyczą oczywiście szacowania prawdopodo-
277
5.3. KLASYFIKACJABAYESOWSKA
bieństw Pixea(c(x) = d), dla których w przypadku, gdy Td = 0, przyjęlibyśmy ustaloną niewielką wartość e > 0. Powinna ona spełniać warunek e < j^r. Trudności można uniknąć także w inny, bardziej systematyczny sposób, w każ dym przypadku szacując prawdopodobieństwo, o którym mówimy, nie w sposób podany w równaniu (5.16), lecz w zamian stosując znaną nam już z poprzednich rozdziałów technikę m-szacowania: Pr xen {a,i(x)
| c(x) = d) =
rpd aiv d
\T
+ mp
+m
(5.17)
przy czym m > 0 jest liczbą całkowitą i p jest oceną szacowanego prawdopodo bieństwa określoną a priori, W ten sposób uzupełniamy zbiór trenujący o m „wir tualnych" przykładów, aby zwiększyć wiarygodność oszacowania. W tym przy padku najrozsądniej jest zapewne przyjąć p = m , czyli uznać wszystkie wartości atrybutu A{ za jednakowo prawdopodobne a priori. Jeśli dodatkowo przyjmiemy m = \Ai\, to otrzymamy następujące oszacowanie: Prxen (ai(x) = v | c(x) = d) -
+1 d
\T \ + |Ai
(5.18)
W ten sposób możemy jednak postąpić tylko pod warunkiem, że przeciwdziedzina atrybutu a; jest skończona. Warto tymczasem zauważyć, że nie jest w praktyce ko nieczne, aby atrybuty miały skończoną liczbę wartości9. Do oszacowania prawdo podobieństw wystarczy, że w zbiorze trenującym występuje ich skończona liczba. Dla wszystkich wartości nie występujących w zbiorze trenującym można przy jąć ustalone małe prawdopodobieństwo e, mimo że nie jest to poprawne z teore tycznego punktu widzenia, gdyż prawdopodobieństwa dla wszystkich możliwych wartości powinny w sumie dawać 1. Analogiczne oszacowanie prawdopodobieństw kategorii można zapisać jako: ¥ixeci(c(x)
= d) =
+ mp
\T\+m '
(5.19)
przy czym nie mając żadnej dodatkowej wiedzy uznamy wszystkie kategorie za jednakowo prawdopodobne a priori, przyjmując p — ^ . Jeśli ponadto m = \C\, to otrzymujemy: \Td + 1 Pr.•ren [c{x) = d) 9
\T\ + \C[
(5.20)
Dotyczy to oczywiście atrybutów porządkowych, gdyż atrybuty nominalne mają skończone przeciwdziedziny z definicji.
278
ROZDZIAŁ 5. METODY PROBABILISTYCZNE
Klasyfikowanie przykładów Do tej pory omówiliśmy sposób konstruowania przez naiwny klasyfikator bayesowski oszacowań dwóch rodzajów prawdopodobieństw, dla kategorii i dla warto ści atrybutów w ramach kategorii. Zbiór takich oszacowań reprezentuje hipotezę naiwnego klasyfikatora bayesowskiego, która powstaje na podstawie zbioru trenu jącego w drodze prostych obliczeń. Aby jednak usprawiedliwić nazywanie rozkła dów prawdopodobieństw reprezentacją hipotezy, należy określić sposób używania ich do klasyfikowania dowolnych przykładów z dziedziny. Załóżmy, że dany jest pewien przykład x* E X i należy, przy dostępnych oszacowaniach prawdopodobieństw Prxeci(c(x) = d) dla wszystkich d E C oraz Pr x € n {G>Ż(X) = v | c(x) = d) dla i = 1, 2 , . . . , n, wszystkich v E A{ i d E C, wyznaczyć kategorię tego przykładu. Wspomnieliśmy już wyżej, że naiwny kla syfikator bayesowski wybiera wówczas kategorię najbardziej prawdopodobną, ale możemy obecnie to uściślić: chodzi o wybór kategorii najbardziej prawdopodob nej dla przykładu o znanych wartościach atrybutów. Definicję odpowiedniej hipo tezy h możemy zapisać następująco: h(x*) = argmaxPr x G n (c(x) — d\ a\{x) = a\(x^) A a,2(x) = a,2{x*) A A ••• Aan{x) = an{x*)),
^ ^
lub krócej n
h{x*) = argmaxPra;en (c(x) = d\ /\ a{(x) = di(x*)\ deC
(5.22)
t=i
przy czym symbol f\ służy do zwartego zapisu koniunkcji n równości. Oznacza to wybór dla przykładu x* kategorii najbardziej prawdopodobnej dla dowolnego przykładu wybranego z dziedziny X według rozkładu fi, który jest opisany przez wektor wartości atrybutów (ai(#*), 02(^+), • • • 5 a n (x*)). Występujące w powyż szym równaniu prawdopodobieństwo można z kolei korzystając ze wzoru Bayesa przekształcić w postać: Prxen(c(x)
= d) • Pr xG n ( AiLi o.i{x) = ai(x*) | c(x) = d) V -, P*xen ( A?=i a i(^) = ^(x*)J
(5.23)
przy czym w dalszym ciągu możemy się zajmować wyłącznie licznikiem tego ułamka, gdyż mianownik, który nie zależy od kategorii, nie wpływa na maksy malizację prawdopodobieństwa dla d E C.
5.3. KLASYFIKACJABAYESOWSKA
279
Ponieważ wartości Pvxen(c(x) = d) znamy, pozostaje określić sposób obli czania prawdopodobieństw postaci n
Pr x en ( A ai(x) = yi I c ^ ) = d)
(5 24
- >
i=l
dla dowolnych v% 6 A{, i = 1, 2 , . . . , n, i d E C. Naiwny sklasyfikator baye sowski zakłada, że wartości poszczególnych atrybutów są od siebie warunkowo (względem kategorii) niezależne, czyli że zachodzi następująca równość: n
P?xen ( A ai(x)
= Vi
I c (^) = rf) =
2=1
n
= U
Pr
s e n K ( ^ ) = ^¾ | c(x) = d).
(5.25)
2=1
Na ogół trudno określić, czy założenie to jest spełnione i można przypuszczać, że dla wielu dziedzin spełnione nie jest. Na przyjęciu mimo to takiego założenia polega właśnie „naiwność", która znalazła odzwierciedlenie w zwyczajowej na zwie algorytmu. Nawet jednak jeśli założenie to jest samo w sobie istotnie naiw ne, oparty na nim algorytm okazał się na tyle skuteczny, aby był stosowany mimo zniechęcającej nazwy. Ostateczną postać hipotezy reprezentowanej przez rozkła dy prawdopodobieństw szacowane przez naiwny klasyfikator bayesowski można zapisać następująco: h(x*) — argmaxPr :rG n(c(^) = d) • dcC n
* II
Pr
^n
K ( x ) = ^(x*) I c(x) = d).
(5.26)
2=1
Dokonanie klasyfikacji przykładu wymaga więc wymnożenia dla każdej katego rii pewnej liczby oszacowanych na podstawie zbioru trenującego prawdopodo bieństw, wybieranych w zależności od wartości atrybutów klasyfikowanego przy kładu. W podejściu tym w wyjątkowo prosty sposób można traktować brakujące wartości atrybutów. Jeśli dla przykładu x* wartość pewnego atrybutu a; nie jest znana, wystarczy przyjąć P r ^ n (di(x) = a^rc*) \c(x) = d) = 1, zapewniając w ten sposób, że atrybut ten nie będzie uwzględniany przy jego klasyfikacji. Kla syfikacja zostanie wówczas dokonana na podstawie znanych wartości atrybutów. Zauważmy, że jeśli przy najprostszym podejściu do szacowania prawdopodo bieństw dla pewnej kategorii d i pewnej wartości v^ pewnego atrybutu a^ przyj miemy, że Pr xG ^ {dk(x) — Vk | c(x) — d) = 0, to automatycznie otrzymujemy n
Pr*efi ( A ai{x) = Vi | c(x) = d) = 0
(5.27)
280
ROZDZIAŁ 5. METODY PROBABILISTYCZNE
dla dowolnych i>i,... , 1 ^ - 1 , ^ + 1 , . . . , vn« Zatem fakt, że w zbiorze trenującym nie pojawił się żaden przykład x kategorii d, dla którego a>k(x) = ^ , wynikający, być może, z nie dość dużego rozmiaru zbioru trenującego, powoduje, że każdy przykład x, dla którego a^(x) = ^ , będzie miał prawdopodobieństwo zaliczenia do kategorii d równe 0. To uzasadnia stosowanie w takich przypadkach innych sugerowanych wyżej sposobów szacowania prawdopodobieństw. W wielu zastosowaniach, nawet kiedy założenie o niezależności jest w oczy wisty sposób nie spełnione, naiwny klasyfikator bayesowski okazuje się bardzo skutecznym algorytmem, czasem nawet porównywalnym z omawianymi przez nas wcześniej zaawansowanymi algorytmami indukcji drzew decyzyjnych lub reguł. Przy tym wymagany nakład obliczeń jest znacznie mniejszy. Szczególnie dobre efekty osiągano stosując naiwny klasyfikator bayesowski do klasyfikacji tekstów, o czym powiemy więcej w jednym z przykładów. Złożoność obliczeniowa Zbiór trenujący jest jedyną podstawą wyznaczanych przez naiwny klasyfikator bayesowski oszacowań prawdopodobieństw i złożoność obliczeniowa zależy wy łącznie od rozmiaru tego zbioru oraz liczby atrybutów opisujących znajdujące się w nim przykłady. Przetwarzając każdy przykład x ze zbioru trenującego T na leży zwiększyć licznik związany z odpowiednią kategorią d — c(x), służący do wyznaczenia \Td . Następnie, dla każdego atrybutu az-, i — 1, 2 , . . . , n, zwięk szany jest licznik służący do wyznaczenia T£.v, przy czym v = a,i(x). Łącznie koszt tych obliczeń można oszacować na 0(n |T|). Jest to asymptotycznie naj lepszy wynik, jakiego możemy oczekiwać od dowolnego „rozsądnego" algorytmu uczenia się, który uwzględnia wszystkie przykłady trenujące i dla każdego z nich wszystkie wartości atrybutów. Ponieważ ponadto w przypadku naiwnego klasyfi katora są wykonywane wyłącznie dość proste operacje arytmetyczne, należy on zdecydowanie do najbardziej efektywnych obliczeniowo algorytmów uczenia się. Przykład 5.3 (Pogoda). Zastosujmy naiwny klasyfikator bayesowski do zbioru tre nującego T dla dziedziny stanów pogody przedstawionego w tabl. 2.2. Szacując praw dopodobieństwa zgodnie z równaniami (5.18) i (5.20), otrzymujemy: 9 + 1 10 pPr.€nWar) ( r \ = -n 1)=14^ = ^. C l i
f\
PrxeQ(c(x) = 0) = 1 4 ^ = 1 5 , Pvxen (aura(x) = słoneczna] c(x) = l) = — 3+1 Przefi (aura(^) = słoneczna] c(x) = 0) = - — 5+ 3
= —, 4 — -, 8
281
5.3. KLASYFIKACJA BAYESOWSKA Prxen (aura(x) = pochmurna c(x
= i
J
4+ 1 9+ 3
12' 0 + 1 1 _ _ P*"zefi (aura(x) = pochmurna c(x = 0) ~ 5 + 3 ~ 8" 3 + 1 _ 4 Pra;GQ (aura(x) — deszczowa c(x = 1) _ ~ 9 + 3 ~ 12' 2 + 1 _ 3 Pr x G n (aura(x) = pochmurna c(x = 0) _ ~~ 5 + 3 ~~ 8' 3 + 1 _ 4 P?xen (temperatura(x) — zimna c(x = 1) _ 9 + 3 ~~ 12' _ 1+ 1 _ 2 PrxeQ [temperatura(x) = zimna c(x = 0) ~ 5 + 3 ~ 8' 4 + 1 _ 5 Pr xe Q (temperatura(x) ~ umiarkowana c(x = 1) _ ~ 9 + 3 _ 12' _ 2+ 1 _ 3 P r ^ o {temperatura(x) — umiarkowana c(x = 0) ~ 5 + 3 ~ 8' 2 + 1 _ 3 P r ^ n (temperatura(x) = ciepła c(x = 1) _ ~ 9 + 3 ~ 12' _ 2+ 1 _ 3 P r ^ n [temperatura(x) ~ ciepła c(x = 0) ~ 5 + 3 ~ 8' 6 + 1 _ 7 Pr^eo (vvj7gornosć(:r) — normalna c(x - 1 ) _ ~ 9 + 2 ~ 11' 1 + 1 _ 2 PrxGQ (vvj7gornosć(#) = normalna c(x = 0) _ ~ 5 + 2 ~ 7' 3 + 1 _ 4 Pr^en (wi/gotaosć(a;) = duża c(x - 1 ) _ ~ 9 + 2 _ Ti' _ 4+ 1 _ 5 Pr;c<EQ (wi/gotnosć(:c) = duża c(x = 0) ~ 5 + 2 ~ 7' _ 6+1 _ 7 P r x e n (wiatr{x) = słaby c(x = 1) ~ 9 + 2 ~ 11' _ 2+1 _ 3 P^€f2 (wia£r(a;) = słaby c(x = 0) ~ 5+ 2 ~ 3 + 1 _ 4 Pr^efi (wiatrfa;) = silny c(x = 1) _ ~ 9 + 2 ~ n' _ 3+ 1 _ 4 Pr^eo (wiafr(a;) = si7ny c(x = nl 5+2 Otrzymany zestaw wartości reprezentuje hipotezę h, jakiej nauczył się naiwny klasyfikator bayesowski na podstawie naszego zbioru trenującego. Można ją w szcze gólności wykorzystać do klasyfikowania przykładów trenujących ze zbioru T. Dla przykładu £* = 1 mamy:
r
aura(l) = słoneczna, temperaturami) — ciepła, wilgotność(l) — duża, wiatr(l) = słaby.
282
ROZDZIAŁ 5. METODY PROBABILISTYCZNE Na tej podstawie obliczamy dla kategorii 1 i 0 iloczyny prawdopodobieństw, których porównanie zgodnie z równaniem (5.26) będzie podstawą do klasyfikacji przykładu 1: Prxen(c(x)
= 1) * Pr^co (aura(x) = słoneczna] c(x) = l) * • Pr xG Q (temperatura{x) = ciepła\ c(x) = l) • • Pr x€ Q (wilgotność(x) = duża] c(x) = l) *
PrxeQ(c{x)
• Pixen (wiatr(x) = słaby \c(x) = l) 10 3 3 4 7 135 rtftftrt = l6*l2*T2*n-Il^6272"0'009' = 0) • Pr^gn (aura(a;) = słoneczna | c(x) = 0) • * P r ^ o [temperatura{x) = ciepła | c(x) = 0) • • Pr^eo (wiłgotność(x) — duża \ c(x) = 0) • • Pr x€ Q (wiatr(x) - słaby \ c(x) = 0) = 6 4 3 5 3 35 s 0,022. 16 8 8 ' 7 7 3872
Oznacza to, że h(l) — c(l) = 0. Przykład 5.4 (Klasyfikacja dokumentów). Rozważmy dziedzinę X składającą się ze wszystkich tekstów w ustalonym języku naturalnym, na przykład w języku pol skim, i pewne określone na tej dziedzinie pojęcie c: X i-» C. Może to być na przykład pojęcie pojedyncze, oznaczające teksty interesujące dla pewnej ustalonej osoby, lub pojęcie wielokrotne, odwzorowujące teksty na kategorie tematyczne, takie jak „ko mentarz polityczny", „reklama", „opowiadanie kryminalne" lub „artykuł o systemach uczących się". Interesuje nas uczenie się pojęcia docelowego c z wykorzystaniem na iwnego klasyfikatora bayesowskiego. Przyjmiemy, że każdy dokument- G Xjest opisywany przez atrybuty ai,a 2 , przy czym a,i(x) oznacza i-te słowo występujące w dokumencie x dla i = 1,2, Liczba atrybutów dla tekstu x jest liczbą słów, a ściślej liczbą pozycji słów w nim wy stępujących10 (jedno słowo może wystąpić wiele razy na różnych pozycjach), którą oznaczymy przez nx. Przeciwdziedziną każdego atrybutu niech będzie ten sam zbiór V, oznaczający słownik — zbiór wszystkich słów, jakie mogą wystąpić w tekstach, jakie zamierzamy klasyfikować. Celem uczenia się jest uzyskanie hipotezy klasyfiku jącej dowolne dokumenty z możliwie małym błędem na podstawie zbioru trenującego T, przy czym T C X jest pewnym zbiorem tekstów trenujących, dla których są znane ich kategorie. Aby do przedstawionego zadania można było zastosować naiwny klasy fikator bayesowski, potrzebne są oszacowania prawdopodobieństw PIX£Q(C(X) = d) oraz Pr x£ Q (o>i{x) = v | c(x) = d) dla każdej kategorii d G C, każdego atrybutu cii, i = 1,2,... oraz każdego słowa v G V, przy czym O, oznacza pewien rozkład prawdopodobieństwa na dziedzinie, zgodnie z którym są wybrane teksty trenujące. Oszacowanie prawdopodobieństw pierwszego rodzaju na podstawie zbioru trenu jącego nie przedstawia żadnych trudności i może być dokonane w zwykły sposób. Dla prawdopodobieństw drugiego rodzaju występują jednak przynajmniej trzy problemy. 10
Jest to, inaczej mówiąc, długość tekstu x mierzona liczbą słów (z powtórzeniami).
283
5.4. SIECI BAYESOWSKIE
Po pierwsze, nie jest ustalona jednakowa dla wszystkich przykładów liczba atrybutów. Tę trudność jednak łatwo ominąć przyjmując, że określone są atrybuty a\, a 2 ? . . . , an dla n = max x€ T«x> czyli zakładając liczbę atrybutów, jakiej wymaga najdłuższy tekst trenujący, przy czym dla krótszych tekstów wartość dodatkowych atrybutów nie jest określona. Po drugie, liczba prawdopodobieństw do oszacowania jest na tyle duża, że może przekroczyć możliwości obliczeniowe. Jest ich n • \V\ • |C|, przy czym o ile liczba kategorii może być uznana za zazwyczaj niewielką, o tyle wartości zarówno n, jak i \V\ mogą być liczone w dziesiątkach tysięcy. Po trzecie, podzbiory zbioru trenu jącego T£.v1 jakie musiałyby być użyte do szacowania prawdopodobieństw, z pewno ścią liczyłyby zazwyczaj niewiele elementów i niezwykle często byłyby puste. Trudno oczekiwać, aby w zbiorze trenującym liczącym nawet tysiące tekstów często zdarzało się, że konkretne słowo v występuje na konkretnej pozycji i w tekście należącym do kategorii d, z wyjątkiem może często używanych, lecz przypuszczalnie mało wpływa jących na klasyfikację przyimków czy spójników, które będą zapewne występować ze zbliżoną częstością na wszystkich pozycjach. Spowoduje to, że oszacowania oparte na małej liczbie przykładów będą mało wiarygodne i w wielu przypadkach bezużyteczne. Ze wskazanymi kłopotami można się uporać zakładając, że prawdopodobieństwo wystąpienia dowolnego słowa na pewnej pozycji w tekście nie zależy od tego, jaka jest to pozycja. Oznacza to przyjęcie, że dla dowolnego słowa v € V i kategorii d £ C zachodzi równość: (Vi = 1,2...) PTxcn{a,i(x)=v\c(x)
= d) =
= PTxen{v\c(x)=d).
(5.28)
Przy tym założeniu wystaczy dla każdego słowa v i każdej kategorii d oszacować prawdopodobieństwo Pr xC Q {v \ c(x) = d) tego, że w losowo wybranym dokumen cie z dziedziny należącym do kategorii d występuje słowo v na dowolnie ustalonej pozycji. Dysponując takimi oszacowaniami, możemy odpowiednio dostosowaną wersję hipotezy naiwnego klasyfikatora bayesowskiego zapisać następująco: «*. h(x*) = argmaxPr a;€ o(c(x) = d) • TT P r ^ n (a,i(x*) \c(x) ~ d).
(5.29)
i—1
5.4 Sieci bayesowskie Zademonstrowaliśmy kilka podejść do wykorzystania mechanizmów wnioskowa nia probabilistycznego opartych na twierdzeniu Bayesa do uczenia się pojęć, róż niących się siłą podstaw teoretycznych i stopniem użyteczności praktycznej. Moż liwości wykorzystania tego typu mechanizmów wnioskowania nie ograniczają się jednak do tego najbardziej podstawowego zadania indukcyjnego uczenia się i ich pełna moc ujawnia się podczas poszukiwania bardziej złożonych zależności zacho dzących w dziedzinie między wartościami różnych określonych na niej atrybutów. Do reprezentowania, znajdowania i wykorzystywania tego typu zależności używa ne są sieci wnioskowania probabilistycznego, nazywane sieciami bayesowskimi.
284
ROZDZIAŁ 5. METODY PROBABILISTYCZNE
Swoją obecną popularność w sztucznej inteligencji metody wywodzące się z teo rii prawdopodobieństwa w znacznej mierze zawdzięczają sukcesom osiągniętym w badaniach nad sieciami bayesowskimi i ich zastosowaniami. 5.4.1
Terminologia
Mówiąc o sieciach bayesowskich będziemy, jak dotychczas, zakładać, że dana jest dziedzina X, na której określony jest pewien rozkład prawdopodobieństwa Vt oraz atrybuty a\, a
(5.30) (5.31)
Wówczas atrybuty mogłyby być traktowane istotnie nie jako funkcje, lecz jako zmienne, które mogą przyjmować wartości z odpowiednich przeciwdziedzin, zaś rozkład $1 jako łączny rozkład prawdopodobieństwa wartości tych zmiennych. 5.4.2
Struktura i semantyka sieci
Sieć bayesowska jest acyklicznym grafem skierowanym, złożonym z węzłów i łą czących je krawędzi. Węzły odpowiadają wszystkim określonym na dziedzinie atrybutom. Możemy w związku z tym mówić dla wygody krótko o węźle aj, ma jąc na myśli węzeł odpowiadający atrybutowi a* dla dowolnego i = 1,2,..., n. Krawędź skierowana od węzła a\ do węzła aj może być intuicyjnie interpretowana jako reprezentacja bezpośredniej przyczynowej zależności atrybutu aj od atrybutu a%, chociaż podamy bardziej ścisłą i formalną interpretację . Występowanie ta kiej krawędzi w sieci będziemy wyrażać pisząc a{ —> aj. Aby nie komplikować notacji, nie będziemy wprowadzać specjalnych oznaczeń dla sieci, zakładając, że
285
5.4. SIECI BAYESOWSKIE
zawsze jest rozważana pewna ustalona sieć i nie ma potrzeby zaznaczać, że mowa jest o węzłach i krawędziach tej a nie innej sieci. Następniki i poprzedniki Dla węzłów sieci można wprowadzić relację następstwa, oznaczaną za pomocą symbolu —> i określoną zgodnie z następującą definicją. • DEFINICJA 5.1. Węzeł aj jest następnikiem węzła ai (łub równoważnie węzeł di jest poprzednikiem węzła aj) w sieci bayesowskiej, co oznacza się przez ai —> aj, jeśli jest spełniony jeden z następujących warunków: 1) w sieci istnieje krawędź skierowana od węzła ai do węzła aj} czyli ai -» aj, 2) w sieci istnieje krawędź skierowana od węzła ai do pewnego węzła a& i wę zeł aj jest następnikiem węzła ajt, czyli ai —»• a* i a& —> aj. 0 Zgodnie z tą definicją węzeł aj jest następnikiem węzła ai, jeśli istnieje ścieżka złożona ze skierowanych krawędzi sieci, prowadząca od węzła at- do węzła aj. Gdy a{ —> aj, powiemy, że węzeł aj jest bezpośrednim następnikiem węzła ai oraz węzeł ai jest bezpośrednim poprzednikiem węzła aj. Dla dowolnego węzła az zbiór numerów jego bezpośrednich poprzedników będziemy oznaczać przez Ui\ Ut = {jeN\
aj -> ai},
(5.32)
przy czym N = { 1 , 2 , . . . , n } oznacza zbiór numerów wszystkich atrybutów. Z kolei zbiór numerów wszystkich, bezpośrednich lub pośrednich, następników węzła a% oznaczany będzie przez Sf. 5 2 = {j E TV | ai —• aj}.
(5.33)
Oczywiście ĄnŁ/ś = 0 dla dowolnego węzła a^ gdyż z założenia sieć bayesowska jest grafem acyklicznym. Stąd natychmiast wynika, że Ui C N — 5¾. Przykład 5.5. Rysunek5.1 przedstawia prostą sieć bayesowska z siedmioma węzła mi ai dla i = 1, 2 , . . . , 7. Dla tej sieci mamy: tfi=0, tf2 = 0,
Si = { 3 , 6 , 7 } , S 2 = {4,5,6,7},
1/3 = {1}, U4 = {2},
S 3 = {7}, 5 4 = {5,6,7},
t/5 - {4}, Ł76 = {1,4}, <77 = {3,6},
S 5 = 0, S 6 = {7}, S 7 = 0.
ROZDZIAŁ 5. METODY PROBABILISTYCZNE
286
Rys. 5.1. Sieć bayesowska
Warunkowa niezależność węzłów Wprowadzona relacja następstwa jest ważna przede wszystkim dlatego, że umożli wia zdefiniowanie w ścisły, sformalizowany sposób semantyki sieci bayesowskiej, czyli intepretację występujących w niej krawędzi. Otóż sieć taką interpretuje się ja ko stwierdzenie warunkowej niezależności każdego węzła od wszystkich węzłów nie będących jego następnikami, przy danych wartościach jego bezpośrednich po przedników11 . Korzystając z oznaczeń Ui i Si dla węzła a% oraz uwzględniając, że Ui C N — Si, możemy warunek ten zapisać następująco: Prxen [at{x) =Vi\
/\
a,j{x) = v^ =
= P r ^ n (a,i(x) = Vi | / \ a,j(x) = v3)
(5.34)
jeUi
dla wszystkich i = 1, 2 , . . . , n, V{ G A^ Vj £ Aj. Mniej formalnie, lecz krócej możemy przedstawić to w postaci: Pi{ai\N-Si)
= Pr(ai\Ui).
(5.35)
Zwróćmy uwagę, że sieć bayesowska w żaden sposób nie wpływa na występo wanie między atrybutami zależności lub ich brak — należy ją traktować jako wy raz przyjętych na ten temat założeń, które mogą być spełnione lub nie, zupełnie tak samo jak założenie o niezależności naiwnego klasyfikatora bayesowskiego. Będą nas tu interesować sieci, dla których założenia te są spełnione. Wówczas struktu11 Mówimy tu o niezależności i wartościach węzłów, mając na myśli odpowiednio niezależność i wartości atrybutów reprezentowanych przez te węzły.
287
5.4. SIECI BAYESOWSKIE
ra sieci poprawnie reprezentuje zależności występujące w rozważanej dziedzinie. Sieć taką nazwiemy siecią o poprawnej strukturze.
• DEFINICJA 5.2. Sieć bayesowska ma poprawną strukturę dla dziedziny X, na której jest określony rozkład prawdopodobieństwa Q i atrybuty az- : X \-ł Ai, i — 1, 2 , . . . , n, jeśli dla każdego węzła ai jest spełniony warunek P r x € f i {a,i{x) = vt \ = Prxen
\al{x)
f\ dj(x) = v^ jeN-Si
=Vi\
=
/ \ a,j(x) = v3j
(5.36)
dla wszystkich wartości V{ € Aj, Vj G Aj.
0
Przykład 5.6. Jeśli przyjmiemy, że sieć przedstawiona na rys. 5.1 ma poprawną strukturę dla dziedziny X i rozkładu prawdopodobieństwa fi, to dla dowolnych war tości Vi £ Ai, i = 1, 2 , . . . , 7, są spełnione następujące równości, wyrażające warun kową niezależność: Pr^en (ai(x) ~ v\ \a2(x) = v2 Aa4(x) = v4 A a5(x) = v5) = = PrxeQ (a1(x) = u i ) , Pr^en (02(^) =^2 |ai(x) = vi Aa 3 (z) = u 3 ) = = Pr^fi (^2(^) = v 2 ), Pr^eo (a 3 (a;) - v3 | ai (a;) = ^ A a 2 (x) ~ v2 A a4 (a;) = v4 A a 5 (a;) = v5 A Aa6(x) - vQ) = P r x e n (a3(x) ^v3 \ai(x)
=vi),
P r ^ n {a4(x) = v4 |oi(a:) = ^1 A a 2 ( » = v2 A a3(x) = u3) = = P r ^ n (a 4 (z) = v4 \a2(x) = v 2 ), Pr^GQ (a5(a;) - i;5 |oi(a;) = Vi Aa2(a;) = v2 Aa3(x) — v3 Aa4(x) = v4 A A a6(x) =
VQ
A a7{x) — v7) =
= Pr^eu (05 (^) = ^51 04(3;) = ^4), P?xeQ {ae(x) = v6 I o,i{x) = vi A a 2 (x) = v2 A a 3 ( » = t>3 A a 4 (z) = v4 A Aa5(x) ~ v$) = = P r ^ n (a6(:r) - v6 \ai(x) = vi Aa4(a;) = u 4 ), Pr^en (07(2:) = v7 \ ai(x) = ^i A a 2 (x) = v2 A a 3 (x) = i;3 A a4(:z) - v4 A A a5(x) - v$ A aQ{x) = v6) = Pr^co (a6(a:) = ^6 |a 3 (x) = ^3 Aa6(x) = u 6 ).
288
ROZDZIAŁ 5. METODY PROBABILISTYCZNE
Łączny rozkład prawdopodobieństwa O użyteczności sieci bayesowskich o poprawnej strukturze decyduje możliwość pośredniego reprezentowania za ich pomocą w oszczędny sposób łącznego rozkła du prawdopodobieństwa dla wszystkich atrybutów. Rozkład ten to zbiór prawdo podobieństw postaci: n
Pixen(/\ai(x)^vi)
(5.37)
7=1
dla wszystkich atrybutów a\ oraz ich wszystkich wartości V{ E Ai, i = 1, 2 , . . . , n. Łatwo się przekonać, że znajomość takiego rozkładu umożliwia przeprowadzanie wnioskowania probabilistycznego o wartościach dowolnie wybranych atrybutów przy danych wartościach innych atrybutów. Załóżmy bowiem, że N0{xq) ozna cza numery atrybutów o znanych wartościach i Nh(xq) = N — N0(xq) numery atrybutów, których wartości nie są znane dla pewnego przykładu xq E X, któ rego dotyczy zapytanie. Nazwiemy je w tym kontekście odpowiednio atrybutami obserwowalnymi i ukrytymi. Wówczas oczywiście interesuje nas rozkład prawdo podobieństwa wartości atrybutów o numerach ze zbioru N^(xq) przy danych war tościach atrybutów o numerach ze zbioru N0(xq). Aby go wyznaczyć, wystarczy skorzystać w odpowiedni sposób z reguły iloczynu: Pvxen (
/\
ieNh(xq)
=
/\
a,i(x) = Vij -
ieNo(xq)
P*xen (AieNai(x) ^ PTxeni^f\ieNo{Xq)al(x)
= *>*) ~^r =ViJ
(5.38)
dla wszystkich możliwych wartości Vi E A^ jeśli i E Nh(xq), oraz dla ustalonych, znanych wartości Vi = ai(xq), jeśli i E N0(xq). Mianownik powyższego ułamka można wyznaczyć sumując prawdopodobieństwa
Pr x en (
A i£N0(xq)
a
*(x) = v*A
A
a x
^ ) = u*')
(5-39)
ieNh(xq)
dla wszystkich możliwych kombinacji wartości atrybutów o numerach ze zbioru Nh(xq). Jeśli zatem rzeczywiście za pomocą sieci bayesowskiej można reprezen tować łączny rozkład prawdopodobieństwa atrybutów, to można również, przynaj mniej teoretycznie, wykorzystać ją do wnioskowania probabilistycznego w celu uzyskania odpowiedzi na dowolne zapytanie dotyczące dziedziny. O możliwości reprezentowania łącznego rozkładu prawdopodobieństwa za po mocą sieci bayesowskiej mówi poniższe twierdzenie, o udowodnienie którego czy telnik zostanie poproszony w jednym z ćwiczeń.
289
5.4. SIECI BAYESOWSKIE
• TWIERDZENIE 5.2. Jeśli sieć bayesowska dla dziedziny X, na której jest okre ślony rozkład prawdopodobieństwa fi i atrybuty a\ : X H->- AJ, i = 1, 2 , . . . , n, m<3 poprawną strukturę, to n 1=1
= J J P r x € n (a.(a;) = v{ \ f\ dla wszystkich
wartości
aj(x)
= ^)
(5.40)
Vi E A j , z — 1, 2 , . . . , n .
<3
Z przedstawionego twierdzenia wynika, że do reprezentowania za pomocą sie ci bayesowskiej łącznego rozkładu prawdopodobieństwa wystarczy znajomość dla każdego węzła a\ warunkowych prawdopodobieństw jego wartości przy danych wartościach jego bezpośrednich poprzedników: Pr*en \at{x) = v{ \ /\ a3(x) = Vj).
(5.41)
jeUi
W związku z tym przyjmuje się, że odpowiednie tablice prawdopodobieństw wa runkowych są przechowywane w każdym węźle sieci. Liczba prawdopodobieństw, jakie należy przechowywać w całej sieci, wynosi Y\ \AĄ • TT \AA^n-
U.
Au*
= nu
max n \Ai\ •Vi=1 ( maxn \AĄ; ) i=1
'-'
u+1
,
max^i j .,. i n |6 r i|
--
(5.42)
przy czym: v = .max \Ai\,
(5.43)
i=l,...,n
u=
max \UĄ.
(5.44)
2=1,...,71
Bezpośrednie reprezentowanie łącznego rozkładu prawdopodobieństwa bez uży wania sieci bayesowskiej oznaczałoby przechowywanie w pamięci liczby prawdo podobieństw równej n
ni^K^-
( 5 - 45 )
t=i
Oszczędność związana z użyciem sieci bayesowskiej może być więc znaczna, jeśli u <$: n. Przykładowo dla n = 10, v = 3 i u = 3 otrzymujemy 10 • 3 4 = 810 zamiast 3 1 0 = 59049 prawdopodobieństw.
290
ROZDZIAŁ 5. METODY PROBABILISTYCZNE
Jak koniecznym warunkiem użyteczności sieci jest poprawność jej struktury, tak niezbędna jest również poprawność (w każdym razie w przybliżeniu) warto ści przechowywanych w tablicach prawdopodobieństw warunkowych. Muszą one być identyczne lub bliskie prawdopodobieństwom określonym równaniem (5.41). Sieci spełniające ten warunek możemy nazwać sieciami o poprawnych tablicach prawdopodobieństw.
5.4.3
Wnioskowanie w sieciach bayesowskich
Do niedawna większość prac dotyczących sieci bayesowskich dotyczyła stosowa nia ich do wnioskowania, czyli z reguły do odpowiadania na zapytania o rozkłady prawdopodobieństwa wartości pewnych atrybutów dla zadanych wartości innych atrybutów. Zakładano przy tym, że określenie poprawnej struktury sieci bayesowskiej i przechowywanych w węzłach tablic warunkowych prawdopodobieństw na leży do ekspertów w dziedzinie. Nas interesuje tutaj przede wszystkim, jak uzy skać sieć bayesowską bez udziału eksperta na podstawie danych trenujących, więc procesowi wnioskowania nie poświęcimy zbyt wiele uwagi, odsyłając czytelnika do literatury cytowanej w nocie bibliograficznej na końcu rozdziału. Twierdzenie 5.2 określa algorytm wyznaczenia łącznego rozkładu prawdopo dobieństwa reprezentowanego przez sieć bayesowską. Wcześniej widzieliśmy, że taki łączny rozkład wystarcza do dowolnego rodzaju wnioskowania, jakie nas tu może interesować. Odpowiedź na dowolne zapytanie można zatem uzyskać, wy znaczając na podstawie sieci łączny rozkład prawdopodobieństwa i wykorzystując go do odpowiednich obliczeń. Niestety, takie bezpośrednie podejście oznacza re zygnację z jednej z najważniejszych korzyści, jaką daje reprezentacja łącznego rozkładu za pomocą sieci, polegającej na jej oszczędności. Oczywiście sieci bayesowskie dają także inne korzyści, w szczególności czytelną i intuicyjnie zrozumia łą graficzną reprezentację wiedzy o zachodzących w dziedzinie bezpośrednich za leżnościach przyczynowych, lecz względy efektywnościowe uniemożliwiają bez pośrednie posługiwanie się łącznym rozkładem w praktyce z wyjątkiem bardzo niewielkiej liczby atrybutów. Są więc potrzebne inne algorytmy wnioskowania za pomocą sieci bayesowskich. Niestety, w ogólnym przypadku problem wnioskowania w dowolnych sieciach bayesowskich jest NP-trudny. Problem ten staje się prostszy dla szczególnego ro dzaju sieci, nazywanych sieciami z pojedynczymi połączeniami. W takich sieciach dowolne dwa węzły są połączone co najwyżej jedną ścieżką, złożoną z dowolnie skierowanych krawędzi. Rezygnujemy z przedstawiania tutaj algorytmów wnio skowania opracowanych dla takich sieci ze względu na matematyczną złożoność ich wyprowadzenia, niezbędnego do zrozumienia ich działania. Dla dowolnych sieci mogą być stosowane pewne przybliżone metody typu Monte-Carlo.
291
5.4, SIECI B A Y E S O W S K I E
5.4.4
Indukcja sieci bayesowskich
Aby używać sieci bayesowskiej do wnioskowania, niezależnie od tego, jaki algo rytm miałby być w tym celu wykorzystany, trzeba najpierw dysponować dla roz ważanej dziedziny siecią o poprawnej strukturze i poprawnych tablicach prawdo podobieństw warunkowych. Mimo że w sporej części zwłaszcza wczesnych badań nad sieciami bayesowskimi zakładano, że w praktyce takie sieci mogą być pro jektowane przez ekspertów w dziedzinie, możliwość automatyzacji ich konstru owania na podstawie danych trenujących znacznie zwiększa szansę na ich udane zastosowania. Możemy więc przestrzeń możliwych sieci bayesowskich dla danej dziedziny potraktować jako przestrzeń hipotez, z której należy wybrać sieć naj lepiej odpowiadającą danym trenującym. Dochodzimy w ten sposób do sformu łowania zadania automatycznego konstruowania sieci bayesowskich jako szcze gólnej odmiany zadania indukcyjnego uczenia się. W istocie można sformułować różne wersje zadania uczenia się sieci bayesowskich, różniące się przyjmowanymi założeniami i trudnością. Zadania uczenia się sieci bayesowskich Są dwa zasadnicze kryteria różnicowania wersji zadania uczenia się sieci bayesow skich: znajomość struktury sieci lub jej brak oraz pełna lub częściowa obserwowalność atrybutów w danych trenujących. Cztery możliwe kombinacje tych kryteriów prowadzą do czterech wariantów zadania indukcji sieci bayesowskich. Znana struktura i pełna obserwowalność. To oczywiście wariant najprostszy. Zakłada się w nim, że została określona poprawna struktura sieci bayesowskiej, w postaci krawędzi spełniających podane wcześniej warunki. Struktura ta stano wi więc wiedzę wrodzoną ucznia. Dostępny jest także zbiór trenujący T C X, przy czym dla przykładów z tego zbioru znane są wartości wszystkich atrybu tów. Przy takich założeniach oszacowanie prawdopodobieństw z równania (5.41) jest trywialne i sprowadza się do policzenia przykładów trenujących, dla których wartości atrybutów spełniają odpowiednie warunki. W najprostszym przypadku oszacujemy element tablicy prawdopodobieństw warunkowych dla węzła ai jako następujący ułamek: Praren ( ^ 0*0 = vi I A %( x ) j£Uz
= v
i)
=
-La,iVi H I \jc-Ui -*-ajVj
(5.46)
r\jeUiTajVj
W bardziej wyrafinowanym podejściu można użyć m-szacowania. Niestety, z taką prostą wersją zadania uczenia się niezbyt często można się spotkać w praktyce, gdyż najczęściej potrzeba stosowania sieci bayesowskich występuje dla dziedzin z częściową obserwowalnością, również jeśli chodzi o przykłady trenujące.
292
ROZDZIAŁ 5. METODY PROBABILISTYCZNE
Nieznana struktura i pełna obserwowalność. W tym przypadku jest również dostępny zbiór trenujący T ze znanymi wartościami wszystkich atrybutów, lecz struktura sieci nie jest znana i musi być określona przez ucznia. W związku z tym należy przeszukać w pewien sposób przestrzeń możliwych struktur w poszuki waniu takiej, która będzie najbardziej zgodna z danymi trenującymi. Dla każdej rozważanej struktury można oszacować odpowiednie tablice prawdopodobieństw warunkowych w podany wyżej prosty sposób i dla tak uzyskanej sieci-hipotezy h obliczyć prawdopodobieństwo Pr(T | h) następująco:
JJ Pr xG n ( A a^x) = <**(**))•
( 5 - 47 )
Preferowane byłyby hipotezy o największych wartościach tego prawdopodobień stwa. Podejście takie jest oczywiście zastosowaniem zasady maksymalnej zgod ności (ML). Gdyby możliwe było w sensowny sposób przypisanie również praw dopodobieństw a priori poszczególnym sieciom, można byłoby użyć także zasady maksymalnego prawdopodbieństwa a posteriori (MAP). Wybraną probabilistycz ną funkcję oceny hipotez w celu uzyskania pełnego algorytmu należy połączyć z pewną strategią przeszukiwania przestrzeni możliwych struktur. Znana struktura i częściowa obserwowalność. Ten wariant ponownie zakła da znajomość poprawnej struktury sieci, lecz niepełną obserwowalność atrybutów dla przykładów trenujących. Jest to zadanie bardziej interesujące z praktyczne go punktu widzenia niż poprzednie, gdyż o ile dość często jest dostępna wiedza o dziedzinie wystarczająca do określenia struktury, o tyle pełna obserwowalność jest spotykana raczej rzadko. Znane są skuteczne algorytmy wyznaczania tablic prawdopodobieństw warunkowych dla sieci o znanej strukturze na podstawie zbio ru trenującego T z częściową obserwowalnością i jeden z nich, polegający na mo dyfikowaniu wartości przechowywanych w tych tablicach w kierunku rosnącego gradientu prawdopodobieństwa Pr(T | h), zostanie krótko omówiony niżej. Nieznana struktura i częściowa obserwowalność. Jest to z oczywistych wzglę dów najtrudniejszy wariant zadania uczenia się sieci bayesowskich. Przy częścio wej obserwowalności danych znalezienie poprawnej struktury w sposób analogicz ny do tego, jaki był proponowany dla przypadku pełnej obserwowalności, okazuje się trudne do realizacji. Poszukiwanie skutecznych i ogólnych algorytmów dla te go problemu jest przedmiotem aktualnych prac badawczych. Gradientowe uczenie się prawdopodobieństw Wracamy obecnie do wyznaczenia tablic prawdopodobieństw warunkowych dla sieci bayesowskiej o ustalonej poprawnej strukturze na podstawie zbioru trenują-
293
5.4. SIECI BAYESOWSKIE
cego T C X, przy czym dla wszystkich lub niektórych przykładów część atry butów może nie być obserwowalna. Za cel uczenia się przyjmiemy znalezienie hipotezy h, która jest w maksymalnym stopniu zgodna z danymi trenującymi, czy li maksymalizuje prawdopodobieństwo Pr(T | h). Hipoteza jest w tym przypadku w pełni określana przez tablice prawdopodobieństw warunkowych, które doce lowo mają zawierać jak najlepsze przybliżenie prawdopodobieństw określonych równaniem (5.41). Wartość podanego w tym równaniu prawdopodobieństwa dla hipotezy h zapiszemy jako Pr£ 6fi (a.i{x) = Vi | / \ aj(x) = ^ ) ,
(5.48)
jeUi
czyli dodając h w górnym indeksie przy symbolu prawdopodobieństwa. Jedną z metod (lokalnej) optymalizacji funkcji jest modyfikowanie jej argu mentów w kierunku wyznaczonym przez spadek, jeśli chodzi o minimalizację, al bo wzrost, jeśli chodzi o maksymalizację, jej gradientu. Popularne algorytmy ucze nia się dla wielowarstwowych sieci neuronowych są oparte na metodach spadku gradientu. W naszym przypadku interesować nas będzie wzrost gradientu prawdo podobieństwa Pr(T | h) względem argumentów, jakie stanowią prawdopodobień stwa warunkowe dla węzłów sieci. Weźmy pod uwagę jedno z tych prawopodobieństw, dla pewnego węzła ai i jego wartości v^ E A{, przy pewnych ustalonych wartościach atrybutów aj dla j G C/i, tak jak jest to zapisane w równaniu (5.48), i oznaczmy je dla zaoszczędzenia miejsca przez W{. Okazuje się, że ze względów technicznych najwygodniej jest wyznaczać gradient logarytmu prawdopodobień stwa Pr(T|/z), które oznaczymy przez Pr /l (T), względem prawdopodobieństw wl. Zajmiemy się zatem pochodną cząstkową — d w K \ z zamiarem zastosowa nia do modyfikacji Wi reguły wzrostu gradientu w następującej postaci: wz := wi + (3
— ^ .
(5.49)
OWi
Pozostaje przekształcić pochodną cząstkową w postać, w której będzie moż liwe jej bezpośrednie obliczenie. Przedstawiając Pr /i (T) jako iloczyn prawdopo dobieństw dla poszczególnych przykładów trenujących i różniczkując logarytm naturalny otrzymujemy: d\nPvh(T) dw-i
=
=
ainris.erP^Oc*) dwi
=
g£,.6TlnPr*(x.)=; dwi 1 d Pr71 (s.)
3¾. Pr* (z»)
dw
<
294
ROZDZIAŁ 5. METODY PROBABILISTYCZNE
Występujące w powyższych wzorach prawdopodobieństwo Pr^rc*) jest dla przy kładu x* E T notacyjnym skrótem następującego prawdopodobieństwa: p
4n(
A
M*) = aj(**))>
(5.50)
jeN0(x*)
przy czym N0(x*) oznacza zbiór numerów obserwowalnych atrybutów dla przy kładu x*, czyli atrybutów, których wartości są dla tego przykładu znane. Po dal szych prostych matematycznie, lecz nieco skomplikowanych w zapisie przekształ ceniach, których przytaczanie tu nie jest konieczne, można dojść do równości: 5 In Pr* (T) 1 ^ ^ h / , , , , A ó= — 2 ^ P r xen \o.i{x) = Vi A /\ a3{x) OWi Wl x*er jeUi /\
aj(x) =aj(a;*)J.
Vj
, | (5.51)
jeN0{x+)
Występujące w uzyskanym wyrażeniu prawdopodobieństwo jest takiej samej postaci jak prawdopodobieństwa wykorzystywane przy wnioskowaniu w sieciach bayesowskich. Jest to prawdopodobieństwo warunkowe wartości pewnych atry butów przy danych wartościach innych atrybutów. Jego wyznaczenie jest trywial ne dla przykładów w pełni obserwowalnych, kiedy N0(x*) — {1,2,... , n}, lecz w ogólnym przypadku musi być wyznaczone w taki sam sposób, w jaki odpowiada się na zapytania za pomocą sieci bayesowskich. Często systemy uczące się sieci bayesowskich łączą więc wnioskowanie i gradientową modyfikację wag.
5.5 Zasada minimalnej długości kodu Jednym z problemów występujących przy różnych metodach wnioskowania in spirowanych twierdzeniem Bayesa jest właściwe określenie prawdopodobieństw a priori, które należy przypisać hipotezom w celu uzyskania wiarygodnych wnio sków. Dotyczy to w szczególności, jak widzieliśmy, bezpośredniego algorytmu MAP i optymalnego klasyfikatora bayesowskiego. Na zasadę minimalnej długości kodu, której jest poświęcony ten podrozdział, można patrzeć jak na jeden ze sposo bów pośredniego przypisania hipotezom prawdopodobieństw a priori w taki spo sób, że hipotezy prostsze są uznawane za bardziej prawdopodobne. Podejście to wydawać się może zbyt prymitywne i przez to niezbyt obiecujące, lecz okazuje się, że wbrew temu wrażeniu otwiera ono drogę do jednego z najbardziej uniwersal nych, skutecznych i intensywnie w ostatnich latach badanych mechanizmów wnio skowania indukcyjnego, który nadaje nowy algorytmiczny sens zasadzie brzytwy Ockhama. Chociaż obecnie zasada minimalnej długości kodu w pewnym stop niu uniezależniła się od swoich bayesowskich korzeni i może być prezentowana
5.5. ZASADA MINIMALNEJ DŁUGOŚCI KODU
295
niezależnie od nich, za najbardziej dogodny punkt wyjścia do jej przedstawienia uznajemy właśnie twierdzenie Bayesa. Dla ścisłości trzeba od razu zastrzec, że obecnie znane są dwa podobne, cho ciaż według niektórych tylko powierzchownie, podejścia do wnioskowania na pod stawie długości kodu, znane jako zasada minimalnej długości opisu, nazywana krótko MDL12, oraz zasada minimalnej długości komunikatu, nazywana MML13. Z praktycznego punktu widzenia zbieżność między nimi jest na tyle duża, że nie są one zazwyczaj konsekwentnie rozróżniane i często ich nazw używa się zamien nie. Ponieważ teoretyczne aspekty obu tych mechanizmów wnioskowania, któ rych przede wszystkim dotyczą różnice między nimi, nie będą nas tu interesować, w tym podrozdziale mówimy przede wszystkim o tym, co jest dla nich wspólne. Dlatego też są tu określane łącznie jako zasada minimalnej długości kodu. 5.5.1
Prawdopodobieństwo a długość kodu
Zgodnie z zapowiedzią punktem wyjścia do naszej dyskusji będzie twierdzenie Bayesa. Ponownie rozważamy przestrzeń hipotez HI i wpływ, jaki na ocenę praw dopodobieństwa poszczególnych hipotez ma pewien zbiór danych D. Logarytmując obustronnie wzór Bayesa dany równaniem (5.1), przy założeniu, że wszystkie występujące w nim prawdopodobieństwa są dodatnie, uzyskujemy: logPr(/i | D) = logPr(/i) + logPr(L> | h) - logPr(D).
(5.52)
Na razie nie ma dla nas znaczenia, jaka jest podstawa używanych Iogarytmów, pod warunkiem, że jest ona konsekwentnie zawsze taka sama. Jeśli teraz otrzymane równanie pomnożymy obustronnie przez —1 i oznaczymy — logPr(-) notacyjnym skrótem L(-), to możemy je przepisać w następującej postaci: L(h | D) = L{h) + L{D | h) - L(D).
(5.53)
Wybór hipotezy o maksymalnym prawdopodobieństwie a posteriori, tak jak w bez pośrednim algorytmie MAP, jest wówczas równoważny z wyborem hipotezy, któ ra minimalizuje L(h\D), co jest równoznaczne z minimalizacją wyłącznie sumy L(h) + L(D | /i), gdyż składnik L(D) nie zależy od porównywanych hipotez. Interesująca jest interpretacja powyższego równania oraz towarzyszącego mu wniosku, uzyskanych niemal bezpośrednio z twierdzenia Bayesa, w świetle pod stawowych i dobrze znanych wyników z teorii informacji. Jednym z problemów rozważanych na gruncie tej teorii jest kodowanie i przesyłanie komunikatów po chodzących z pewnego ustalonego zbioru M, na którym określony jest również 12 ,3
Jest to skrót od angielskiego terminu Minimum Description Length. Jest to skrót od angielskiego terminu Minimum Message Length.
296
ROZDZIAŁ 5. METODY PROBABILISTYCZNE
ustalony rozkład prawdopodobieństwa £. Zbiór M będziemy nazywać klasą ko munikatów. Sposób, w jaki wyznacza się zakodowaną postać komunikatu, będzie my nazywać kodem lub kodowaniem. Zakodowany komunikat nazwiemy słowem kodowym dla tego komunikatu, a jego długość — długością kodu. Kod zawsze określa się dla z góry ustalonej klasy komunikatów oraz związanego z nią również ustalonego rozkładu prawdopodobieństwa i jest to kod jednakowy dla każdego komunikatu z tej klasy. Określenie kodu jest niezbędne do wyznaczenia długości kodu dla każdego komunikatu, która, jak zobaczymy, będzie jedynym przedmio tem naszego zainteresowania przy stosowaniu zasady minimalnej długości kodu — faktyczne kodowanie nie będzie do niczego potrzebne. Optymalny kod dla zbioru możliwych komunikatów to taki kod, który dla komunikatów z tego zbioru loso wanych zgodnie z określonym na nim rozkładzie prawdopodobieństwa daje naj mniejszą oczekiwaną długość zakodowanego komunikatu, czyli minimalną dłu gość kodu. Optymalność kodu polega na braku nadmiarowości, czyli redundancji, w przesyłanych słowach kodowych. Jeśli rozkład S jest dyskretny, a do tego przypadku się ograniczymy, to in formacja zawarta w komunikacie m G M o prawdopodobieństwie pm wynosi — logpm = log - ^ . Otóż dokładnie tyle samo wynosi długość kodu dla tego ko munikatu przy kodowaniu optymalnym. Jeśli zależy nam na wyniku w bitach, co odpowiada długości kodu binarnego, to powinniśmy użyć logarytmu dwójkowego i wówczas obliczona wartość (po zaokrągleniu w górę do najbliższej liczby cał kowitej) jest liczbą cyfr binarnych niezbędnych do zakodowania komunikatu przy stosowaniu kodowania optymalnego. Szczególnym przypadkiem dyskutowanej sy tuacji jest kodowanie komunikatów ze skończonego zbioru M, którego każdy ele ment jest jednakowo prawdopodobny. Wówczas długość optymalnego kodu dla każdego komunikatu wynosi log |M|, a więc do binarnego zakodowania każdego z nich trzeba log2 \M\ bitów, oczywiście po zaokrągleniu w górę do najbliższej liczby całkowitej. W dalszym ciągu dyskusji będziemy przyjmować, że długości kodu są ułamkowe, gdyż zależeć nam będzie tylko na ich porównywaniu dla róż nych komunikatów. Podstawę logarytmu będziemy również pomijać, przyjmując, że może być dowolna, byle konsekwentnie zawsze ta sama. Teoria informacji do starcza w istocie znacznie więcej interesujących wyników, dotyczących między innymi kodów optymalnych dla różnych typów komunikatów o różnych standar dowych rozkładach prawdopodobieństwa, które tu nie będą nam potrzebne. Równanie (5.53) możemy w świetle powyższej dyskusji interpretować jako zapis związków zachodzących między długościami kodów dla pewnych szczegól nych komunikatów. Można mianowicie stwierdzić, co następuje: • L(h) ~ — log Pr(/i) jest długością kodu dla hipotezy h przy kodowaniu opty malnym dla przestrzeni hipotez HI (liczbą bitów potrzebną do zakodowania hipotezy h, jeśli stosowane są logarytmy dwójkowe),
5.5. ZASADA MINIMALNEJ DŁUGOŚCI KODU
297
• L(D | h) = — log Pr(D | h) jest długością kodu dla danych D przy kodowaniu optymalnym i przy założeniu znajomości hipotezy h (liczbą bitów potrzebną do zakodowania danych D przy znajomości hipotezy h, jeśli stosowane są logarytmy dwójkowe). Otrzymujemy w ten sposób teorioinformacyjną interpretację twierdzenia Bayesa. 5.5.2
Indukcja jako kompresja danych
Aby umieścić dyskusję o kodowaniu danych i hipotez w kontekście nadającym tym sformułowaniom dobrze określone znaczenie, załóżmy, że pewien nadawca ma na celu przesłanie odbiorcy zbioru danych D w możliwie ekonomiczny spo sób. Bezpośrednie podejście do tego zadania polega na znalezieniu dla tych danych optymalnego sposobu kodowania, zależnego od tego, reprezentantem jakiej klasy możliwych danych są dane D, zakodowaniu ich i przesłaniu zakodowanego komu nikatu. Można jednak również wziąć pod uwagę podejście mniej oczywiste, lecz dające szansę na pewne oszczędności na długości przesyłanego komunikatu. Pole gałoby ono na przesłaniu komunikatu dwuczęściowego. Jego pierwszą część sta nowiłaby wówczas zakodowana w odpowiedni sposób hipoteza, dotycząca przesy łanych danych, a drugą część te dane, zakodowane jednak przy założeniu, że znana jest wcześniej przesyłana hipoteza. Pamiętamy, że celem indukcji jest znajdowa nie hipotez dobrze opisujących dane. Otóż można liczyć na to, że, znając hipotezę dobrze opisującą dane, będziemy mogli zakodować te dane w sposób bardziej eko nomiczny niż bez jej znajomości. Ta obserwacja, na razie w sposób nieformalny i intuicyjny, wiąże cel indukcyjnego uczenia się z celem kompresji danych. For malizacja tego związku stanowi istotę zasady minimalnej długości kodu. Pisząc, jak powyżej, L bez indeksów określających sposób kodowania, będzie my mieć zawsze na myśli długość kodu przy kodowaniu optymalnym. Stosując zasadę minimalnej długości kodu rozważa się konkretne kody i można wówczas zaznaczyć te kody za pomocą indeksów przy L. Nie zawsze jest przy tym jasne, jaki kod jest optymalny. Zasada minimalnej długości kodu mówi o tym, że za naj lepszą hipotezę z przestrzeni hipotez H dla zbioru trenującego T należy uznać tę, dla której dwuczęściowy komunikat umożliwiający przesłanie tego zbioru pewne mu odbiorcy jest najkrótszy. Można to sformułować w następujący sposób jako zalecenie dla ucznia. Mając zbiór trenujący T oraz kody K^ i Kry odpowiednio dla hipotez i danych, wybierz hipotezę h, która minimalizuje łączną długość kodu: LKh{h)+LKD(T\h).
(5.54)
Z naszej wcześniejszej dyskusji wywodzącej równanie (5.53) wprost z twier dzenia Bayesa natychmiast wynika, że jeśli K^ jest optymalnym kodem dla hi-
298
ROZDZIAŁ 5. METODY PROBABILISTYCZNE
potez, a KD jest optymalnym kodem dla danych (przy znajomości pewnej hi potezy z przestrzeni H), to hipoteza minimalizująca długość kodu jest hipotezą MAP. Ta interpretacja sugeruje, że dla ustalonego rozkładu prawdopodobieństw a priori hipotez określa się dla nich optymalny kod K^. Jednak praktyka zasady minimalnej długości kodu jest raczej taka, że dla pewnej ustalonej reprezentacji hi potez projektuje się jak najlepszy, czyli unikający nadmiarowości kod, nie zajmu jąc się bezpośrednio ich prawdopodobieństwami. To uzasadnia inną i w pewnym sensie odwrotną do poprzedniej interpretację zasady minimalnej długości kodu, jako techniki niejawnego przypisywania hipotezom prawdopodobieństw a prio ri na podstawie ich złożoności mierzonej długością kodu. Zamiast wnioskować probabilistycznie, operując trudnymi do bezpośredniego określenia prawdopodo bieństwami, wnioskuje się na podstawie złożoności. W ten sposób zasada ta staje się pewną dobrze określoną, zalgorytmizowaną wersją zasady brzytwy Ockhama. Aby stosować zasadę minimalnej długości kodu do wybierania najlepszych hipotez, nie musimy oczywiście kodować tych hipotez ani danych trenujących. Chodzi jedynie o to, aby obliczyć długość kodu, jaką uzyskiwalibyśmy dla każdej branej pod uwagę hipotezy. Preferencja dla hipotezy, która tę długość minimali zuje, oznacza przyjęcie za kryterium jakości hipotez indukcyjnych stopnia kom presji danych uzyskiwanej za ich pomocą. Dotychczas mówiliśmy o błędzie rze czywistym hipotez jako o głównym kryterium ich jakości, nie znając jednak błędu rzeczywistego musieliśmy się posługiwać w zamian błędem próbki na zbiorze tre nującym i (rozumianą niezbyt formalnie) złożonością hipotez. Zauważmy wobec tego, że najbardziej naturalną i niezależną od reprezentacji miarą złożoności hipo tezy h jest długość jej optymalnego kodu L(h), zaś długość kodu dla danych tre nujących przy znajomości tej hipotezy, L(T | h)9 można traktować jako miarę jej dopasowania do zbioru trenującego, czyli błędu próbki. Im lepiej hipoteza opisuje przykłady trenujące, tym mniej informacji wymaga ich zakodowanie przy założe niu jej znajomości. Widać stąd, że zasada minimalnej długości kodu uwzględnia dokładność i złożoność hipotez w jednym, uniwersalnym kryterium ich jakości. 5.5.3
Kodowanie
Jak wspomnieliśmy wyżej, określenie optymalnego sposobu kodowania nie za wsze jest oczywiste. Powtórzmy, że aby zastosować zasadę minimalnej długości kodu, nie musimy faktycznie kodować hipotez ani danych, lecz musimy dla po równywanych hipotez określić długość kodu hipotezy oraz danych trenujących przy znajomości tej hipotezy. W tym celu wybiera się pewne sposoby kodowa nia hipotez i danych. Nie mogą one być wybrane w sposób arbitralny, jeśli zasa da minimalnej długości kodu ma rzeczywiście osiągać pożądany kompromis mię dzy dokładnością a prostotą hipotez. Powinny być optymalne, a jeśli takie nie są znane, to jak najbliższe optymalnym, czyli charakteryzujące się możliwie małą
5.5. ZASADA MINIMALNEJ DŁUGOŚCI KODU
299
redundancją. Rozważanie szczegółowych sposobów kodowania hipotez i danych trenujących dla różnych rodzajów uczenia się wykracza poza nasze możliwości w tym rozdziale, gdyż należałoby mu poświęcić jego większą część. W pewnych przypadkach są znane kody optymalne, lecz często właściwe kodowanie pozosta je wciąż kwestią otwartą, z którą musi zmierzyć się projektant systemu uczącego się. Tu ograniczymy się tylko do pobieżnej dyskusji sposobu kodowania hipotez oraz danych trenujących dla uczenia się pojęć. Przedstawimy najprostsze techni ki kodowania, które nie zapewniają pożądanej z teoretycznego punktu widzenia optymalności i mogą prowadzić do redundancji, lecz uzyskiwane na ich podstawie oceny długości kodu są dostatecznie dokładne dla potrzeb wielu praktycznych za stosowań zasady minimalnej długości kodu do uczenia się pojęć. Ponieważ w ko lejnych rozdziałach będzie mowa także ojej zastosowaniach do innych rodzajów uczenia się, znajdą się tam stosowne uzupełnienia. Kodowanie hipotez Aby móc cokolwiek powiedzieć o kodowaniu hipotez, nawet tylko tych rozumia nych jako funkcje klasyfikujące przykłady, musimy przyjąć dla nich pewną usta loną, konktretną reprezentację. Weźmiemy pod uwagę reprezentacje, którymi zaj mowaliśmy się w dwóch poprzednich rozdziałach, czyli drzewa decyzyjne i zbiory reguł. Są to zdecydowanie najczęściej stosowane reprezentacje hipotez do uczenia się pojęć, więc ograniczenie się tylko do nich dwóch jest w tym miejscu usprawie dliwione. Przyjmiemy, że w obu przypadkach mamy do czynienia z odwzorowa niem dziedziny na zbiór kategorii C. Kodowanie drzew decyzyjnych. Drzewo decyzyjne składa się z węzłów i liści, więc łączna długość kodu dla niego jest równa sumie długości kodu dla każdego węzła i każdego liścia. Zakodowanie węzła drzewa wymaga zapisania informacji, że jest on węzłem (a nie liściem), oraz wskazania używanego w nim testu. Dłu gość kodu dla pierwszej informacji wynosi — logp, przy czym p jest prawdopodo bieństwem tego, że losowo wybrany element ze zbioru węzłów i liści dowolnego drzewa decyzyjnego dla danej dziedziny jest węzłem. Na ogół przyjmuje się pew ną ustaloną wartość tego prawdopodobieństwa, w najprostszym przypadku p = \. Jeśli obliczamy długość kodu w bitach, czyli używamy logarytmów dwójkowych, możemy przyjąć po prostu, że przekazanie tej informacji wymaga 1 bitu. Wska zanie testu używanego w węźle n wymaga kodu o długości log \Sn\, przy czym Sn jest zbiorem testów możliwych do zastosowania w węźle n. Oczywiście za wartość tego zbioru zależy od tego, jakie testy zostały użyte wcześniej na ścieżce łączącej węzeł n z korzeniem drzewa. Dla dowolnego liścia drzewa decyzyjnego należy z kolei zapisać informację, że jest on liściem, co oznacza kod o długości -log(l - p), oraz wskazać jego etykietę, co wymaga kodu o długości log \C\.
300
ROZDZIAŁ 5. METODY PROBABILISTYCZNE
Ostatecznie zatem, posługując się notacją z rozdziału 3, formuły określające dłu gość kodu dla dowolnego węzła n i dowolnego liścia 1 można zapisać następująco: LKn(n)= LKl{\)=
- l o g p + log|S„|,
(5.55)
- l o g ( l - p ) + log|C|,
(5.56)
zaś długość kodu dla drzewa decyzyjnego T wyrazić jako LKT(T)
= £ n£Nj
LKn(n)
+ £
LKl{\).
(5.57)
l€Lx
To samo można także przedstawić w sposób rekurencyjny:
LKT(T)
f - l o g p + log^nl + 4- ] P LJfcT(n[r]) reRtn
jeśli T jest węzłem n, (5.58)
log(l —p)+ log \C\ jeśli Tjest liściem 1, przyjmując, że dowolne drzewo decyzyjne jest albo węzłem mającym określoną liczbę poddrzew, albo liściem. W powyższych wyrażeniach indeksy dolne Kn, Ki i Kr przy funkcji długości kodu L oznaczają odpowiednio kody stosowane dla węzłów, liści i drzew. W szczególności dla dowolnego węzła n należy odróżnić długość kodu Lxn (n) wyłącznie dla samego węzła od długości kodu LKT (n) dla całego poddrzewa o korzeniu w tym węźle. Kodowanie zbiorów reguł. Długość kodu dla zbioru reguł jest sumą długości kodu dla każdej reguły. Aby zakodować regułę, należy zakodować kompleks sta nowiący jej część warunkową oraz etykietę kategorii stanowiącą jej część decyzyj ną. Do zapisania tej drugiej informacji potrzebny jest kod o długości log | C|. Obec nie pozostaje więc zająć się kodowaniem kompleksów. Naturalne jest przyjęcie, że kodowanie kompleksu sprowadza się do kodowania wszystkich wchodzących w jego skład selektorów. Właściwy sposób kodowania selektorów jest już mniej jednoznaczny. Przyjmiemy tu najprostsze podejście, zgodnie z którym najpierw należy określić, czy selektor jest uniwersalny, czy nie, co wymaga kodu o długości odpowiednio — logp dla selektorów uniwersalnych i — log(l — p) dla selektorów nieuniwersalnych, przy czym p oznacza prawdopodobieństwo tego, że dowolny selektor dowolnego kompleksu dla danej dziedziny jest uniwersalny. Wystarczy przyjąć pewną ustaloną wartość p, powiedzmy ^. Następnie dla selektora nieuniwersalnego s odpowiadającego atrybutowi a : X \-> A należy określić zbiór war tości dopuszczalnych Vs C A. Wymaga to kodu o długości \VS\ log |A|. Długość kodu przy opisanym sposobie kodowania dla zbiorów reguł, pojedynczych reguł,
5,5. ZASADA MINIMALNEJ DŁUGOŚCI KODU
301
kompleksów i selektorów będziemy oznaczać odpowiednio przez LKR, LKT, LKk i LKS> Odpowiednie formuły można zapisać następująco, posługując się notacją z poprzedniego rozdziału: (5.59) LKr(v) = LKk(kr)
+ log\C\,
(5.60)
LKk(k)=J2LKs(st),
(5.61)
2=1
L
(s) = i~logp \ - l o g ( l -p) + \Vs\log\A\
Ks[S)
przy czym w definicji LKS(S) o przeciwdziedzinie A. 5.5.4
jeśliś-?, jeśli s ± ?,
(5.62)
zakłada się, że selektor s odpowiada atrybutowi
Kodowanie danych
Dokonawszy wyboru sposobu kodowania hipotez, rozważymy problem kodowania danych trenujących do uczenia sie pojęć, czyli zbioru T etykietowanych przykła dów pojęcia docelowego c, przy danej pewnej hipotezie h. Ponieważ niezależnie od wyboru hipotezy długość samego opisu przykładów w postaci wartości atry butów pozostaje taka sama, więc można jej kodowanie pominąć i ograniczyć się do kodowania wyłącznie kategorii każdego przykładu trenującego. W metaforze transmisji komunikatu odpowiada to założeniu, że odbiorca zna zbiór przykładów T, nie zna jednak związanych z nimi etykiet znajdujących się w zbiorze trenują cym ( T ) | . Zna on także hipotezę h, która może być użyta do wyznaczenia kate gorii przykładów. Jeśli hipoteza ta jest spójna z pojęciem docelowym na zbiorze T, o którym założymy, że jest wolny od przekłamań, to etykiety wszystkich przy kładów mogą być przez nią poprawnie odtworzone i nie ma potrzeby w ogóle ich przesyłać. Wówczas długość kodu dla danych trenujących T przy danej hipotezie h wynosi 0. Jeśli hipoteza h jest niespójna na zbiorze T, to wystarczy skorygować popeł niane przez nią pomyłki. Zakodowanie informacji korygującej pomyłki wymaga, po pierwsze, wskazania, którym przykładom ze zbioru T hipoteza h przypisuje niepoprawne kategorie, i, po drugie, określenia dla każdego z tych przykładów je go poprawnej kategorii. W pierwszym przypadku należy wskazać r^(h) błędnie klasyfikowanych przykładów ze zbioru T, co oznacza kod o długości r^ (h) log \T\. W drugim przypadku dla każdego przykładu x niepoprawnie klasyfikowanego przez hipotezę h należy wskazać jego poprawną kategorię ze zbioru C — {h(x)}. Wymaga to kodu o długości r^(h) logflC) — 1).
302
ROZDZIAŁ 5. METODY PROBABILISTYCZNE
Ostatecznie możemy zapisać formułę określającą długość kodu danych trenu jących T dla pojęcia docelowego c : X \-} C przy danej hipotezie h następująco: LKD(T
I h) = rcT(h)(log \T\ + log(|C| - 1)).
(5.63)
Indeks Ko przy funkcji długości kodu L oznacza w tym przypadku opisany wy żej sposób kodowania stosowany dla danych trenujących. Dla spójnej hipotezy h mamy oczywiście r^(h) = 0, a tym samym LKD{T \h) = 0. Warto zauważyć, cofając się do bayesowskiego wyprowadzenia zasady minimalnej długości kodu, że odpowiada to przyjęciu Pr(T | h) = 1 dla spójnych hipotez. Z definicji hipoteza do uczenia się pojęć jest funkcją, która przyporządkowuje kategorię każdemu przykładowi dziedziny. W praktyce okazuje się niekiedy, że ta ką definicję wygodnie jest rozluźnić i dopuścić również hipotezy częściowe, które klasyfikują tylko niektóre przykłady. Aby uwzględnić taką możliwość przy wy znaczaniu długości kodu dla danych trenujących, wystarczy zauważyć, że dla tych przykładów, dla których hipoteza h nie określa kategorii, należy po prostu wska zać kategorię. Oznacza to dodanie do podanej formuły log \C\ dla każdego takiego przykładu.
5.5.5 Stosowanie zasady minimalnej długości kodu Obecnie zasada minimalnej długości kodu (czy to w wersji MDL, czy MML) znaj duje rosnące zastosowanie w różnych problemach występujących w uczeniu się maszyn. Nie jest to na ogół zastosowanie bespośrednie, polegające na obliczeniu i porównaniu L(h) + L(T | h) dla wszystkich h E H, co byłoby oczywiście nie praktyczne (podobnie jak bezpośredni algorytm MAP czy optymalny klasyfikator bayesowski). Najczęściej zasadę minimalnej długości kodu stosuje się, kiedy na leży dokonać wyboru jednej spośród stosunkowo niewielkiej liczby możliwości lub zdefiniować pewną funkcję jakości hipotezy, która będzie obliczana tylko dla niektórych hipotez. Znane nam z poprzednich rozdziałów tego typu sytuacje to: • • • • •
kryterium stopu podczas konstruowania drzewa decyzyjnego, decyzja o wyborze testu podczas konstruowania drzewa decyzyjnego, decyzja o przycięciu poddrzewa podczas przycinania drzewa decyzyjnego, decyzja o wyborze najlepszych kompleksów podczas indukcji reguł, decyzja o przycięciu selektora podczas przycinania zbiorów reguł.
W tego typu zastosowaniach zasady minimalnej długości kodu uzyskano dotych czas obiecujące efekty. Jej szczególnie atrakcyjną cechą jest to, że umożliwia ona „wycenę" dokładności i złożoności hipotez „w tej samej walucie", znacznie uła twiając stosowanie brzytwy Ockhama. W kolejnych rozdziałach spotkamy się z in nymi możliwościami posłużenia się zasadą minimalnej długości kodu, na które
5.5. ZASADA MINIMALNEJ DŁUGOŚCI KODU
303
zwrócimy wówczas uwagę. Aby zaś tymczasem skonkretyzować te możliwości, które zostały wyżej wymienione, rozważymy wykorzystanie zasady minimalnej długości kodu do oceny jakości węzłów i liści drzew decyzyjnych oraz komplek sów reguł. Ocena węzłów i liści drzew decyzyjnych Weźmy pod uwagę dowolne drzewo decyzyjne T, konstruowane na podstawie zbioru trenującego T, i pewien jego węzeł n G Nj. Aby zastosować zasadę mi nimalnej długości kodu do oceny jakości węzła n, potraktujemy poddrzewo o ko rzeniu w tym węźle jako hipotezę, która jest tym lepsza, im na lepszą pozwala kompresję związanego z tym węzłem podzbioru zbioru trenującego P = Tj^n. Ocenę taką wyrazimy zatem jako sumę długości kodu dla poddrzewa o korzeniu w węźle n oraz dla zbioru przykładów P przy założeniu znajomości reprezento wanej przez to poddrzewo hipotezy: K(P) - LKT(n) + LKD(P\n).
(5.64)
Podobnie można poddać ocenie dowolny liść 1 6 Lj, obliczając dla niego sumę długości kodu dla samego liścia oraz dla zbioru związanych z nim przykła dów trenujących P = Tjy\ przy założeniu znajomości reprezentowanej przez liść hipotezy14: 0i(P) = LKi(l) + LKD(P\l).
(5.65)
Dysponując funkcjami oceny węzłów i liści opartymi na zasadzie minimalnej długości kodu, możemy wykorzystać je do podejmowania decyzji o wyborze testu (porównując oceny węzłów uzyskiwanych dla różnych testów) i przycięciu węzła (porównując jego ocenę z oceną liścia, jaki miałby go zastąpić) oraz do sformuło wania kryterium stopu dla zstępującej konstrukcji drzewa. Ocena kompleksów Weźmy pod uwagę dowolny kompleks k, który ma być oceniony ze względu na pewien zbiór przykładów P. Nie będziemy się w tej chwili interesować pocho dzeniem tego zbioru, które zależy od celu, jakiemu ma służyć ocena kompleksu — może to być zbiór trenujący, jego podzbiór nie pokryty przez istniejące reguły, zbiór przycinania lub jego podzbiór itp. Aby do oceny kompleksu k użyć zasa dy minimalnej długości kodu, możemy potraktować go jak hipotezę, która każde mu przykładowi dziedziny pokrywanemu przez ten kompleks przypisuje etykietę 14 Jest to hipoteza, która każdemu przykładowi x przyporządkowuje etykietę kategorii liścia d\, większościowej w zbiorze P.
304
ROZDZIAŁ 5. METODY PROBABILISTYCZNE
większościowej kategorii w zbiorze Pj<. Wówczas możemy zapisać wzór określa jący funkcję oceny następująco: tfk(P) = LKk (k) + LKD (P I k),
(5.66)
gdyż obie występujące w nim długości kodu mają dobrze określony sens. Zauważ my, że jeśli P T^ Pk, to hipoteza reprezentowana przez kompleks k jest tylko częściowa, gdyż nie określa kategorii przykładów ze zbioru P — Pk. Należy to uwzględnić przy obliczaniu długości kodu LKD (P | k) przez dodanie długości ko du niezbędnej do zapisania kategorii tych przykładów. Dysponując zdefiniowaną w podany sposób funkcją oceny kompleksów może my bezpośrednio posługiwać się nią podczas generowania reguł. Wówczas zbiór P jest zbiorem przykładów trenujących lub, jeśli generowany jest uporządkowa ny zbiór reguł, jego podzbiorem nie pokrytym przez wcześniejsze reguły. Tę samą funkcję oceny można zastosować do przycinania reguł, porównując wówczas ja kość kompleksów oryginalnego i przyciętego, w którym jeden z selektorów jest zastąpiony selektorem uniwersalnym. Wówczas zbiór P jest zbiorem przycinania lub, w przypadku uporządkowanych zbiorów reguł, jego podzbiorem nie pokrytym przez reguły o numerach mniejszych niż reguła aktualnie przycinana. Rozpowszechnienie się metod przeszukiwania i optymalizacji wykorzystują cych mechanizmy ewolucyjne otworzyło interesujący kierunek prac, polegający na stosowaniu przeszukiwania genetycznego do znajdowania hipotez wysokiej jako ści według pewnej funkcji dopasowania, którą można określić za pomocą zasady minimalnej długości kodu. Dyskusja systemów opartych na tym pomyśle wyma gałaby przedstawienia podstaw algorytmów ewolucyjnych, na co nie możemy so bie w tej książce pozwolić, lecz poświęcimy im krótką wzmiankę w rozdziale 14, rozliczając się przed czytelnikiem z zagadnień w niej pominiętych.
5.6 Zagadnienia praktyczne Nie wszystkie algorytmy omawiane w tym rozdziale są jednakowo użyteczne prak tycznie. O ile naiwny klasyfikator bayesowski w przedstawionej wyżej postaci mo że być stosowany do zupełnie realnych dziedzin i zbiorów trenujących, o tyle trud no wypowiedzieć podobną opinię o bezpośrednim klasyfikatorze MAP. Mimo to przedyskutujemy teraz niektóre problemy związane z praktycznym stosowaniem zarówno lepiej, jak i gorzej nadających się do tego algorytmów. 5.6.1
Prawdopodobieństwa a priori
Istotnym z praktycznego punktu widzenia problemem, jaki dotyczy niektórych al gorytmów uczenia się opartych na twierdzeniu Bayesa, jest przypisanie prawdo-
5.6. ZAGADNIENIA PRAKTYCZNE
305
podobieństw a priori hipotezom przestrzeni, która jest przez te algorytmy prze glądana. Prawdopodobieństwa te odgrywają rolę ich wiedzy wrodzonej, bez której ich użyteczność staje się problematyczna. Dotyczy to w szczególności bezpośred niego algorytmu MAP i optymalnego klasyfikatora bayesowskiego. Ogólnikowe stwierdzenie, że przypisanie tych prawdopodobieństw powinno nastąpić na pod stawie wiedzy o dziedzinie i pojęciu docelowym jest ze zrozumiałych względów dość mało satysfakcjonujące, gdyż, po pierwsze, wiedza taka może być niedo stępna, a, po drugie, jeśli jest dostępna, przełożenie jej na prawdopodobieństwa a priori hipotez może stanowić poważną trudność. Projektantowi systemu uczące go się przychodzą wówczas w sukurs pewne heurystyczne techniki wyrażania jego wiedzy lub ignorancji za pomocą rozkładów prawdopodobieństw. W najprostszym przypadku, jeśli nic na temat prawdopodobieństw poszcze gólnych hipotez nie wiadomo, pozostaje uznanie ich wszystkich za jednakowo prawdopodobne. Dla każdej hipotezy h e H mamy wówczas
pod warunkiem oczywiście, że przestrzeń H jest skończona. Nie ma w tej propo zycji nic odkrywczego. Może być jednak tak, że pewna częściowa wiedza o praw dopodobieństwach hipotez jest dostępna, ale nie wystarcza do pełnego określenia tych prawdopodobieństw. Możemy na przykład znać prawdopodobieństwa a priori niektórych hipotez, wiedzieć o pewnej hipotezie, że jest dwa razy mniej prawdo podobna od drugiej lub trzy razy bardziej prawdopodobna od trzeciej. Wówczas metodą wyrażenia maksymalnej ignoracji przy uwzględnieniu znanych ograniczeń jest zasada maksymalizacji entropii. Zgodnie z nią prawdopodobieństwa a priori należy przypisać hipotezom z przestrzeni H w ten sposób, aby była maksymalizo wana entropia: £-Pr(/i)logPr(/i)
(5.68)
przy spełnionych ograniczeniach. Sprowadza to problem przypisania prawdopodo bieństw a priori do problemu optymalizacji funkcji z ograniczeniami, który w nie których przypadkach może być rozwiązany dokładnie metodami analitycznymi, a w innych — w sposób przybliżony metodami numerycznymi. Przy braku jakich kolwiek ograniczeń maksymalizacja entropii następuje, rzecz jasna, przy uznaniu wszystkich hipotez za jednakowo prawdopodobne. Powyższe podejścia mogą być stosowane wyłącznie dla skończonych prze strzeni hipotez. Dla nieskończonych, lecz przeliczalnych przestrzeni hipotez, któ rych elementy da się ponumerować za pomocą kolejnych liczb naturalnych, igno rancję można wyrazić przypisując hipotezie o numerze i prawdopodobieństwo
306
ROZDZIAŁ 5. METODY PROBABILISTYCZNE
a priori równe Pv(hi) =
1
(5.69)
gdzie rj{i) = i • log 2 i • log 2 log 2
i-...,
(5.70)
przy czym w iloczynie tym są uwzględniane wyłącznie dodatnie czynniki. Stała K = 2,865064 ... służy do normalizacji, czyli zapewnienia, że oo
£ P r ( / i i ) = l.
(5.71)
i=\
Funkcja rj, stosowana do przypisania prawdopodobieństw, ma tę właściwość, że dla argumentów będących kolejnymi liczbami naturalnymi jej wartości rosną bar dzo wolno. Dzięki temu prawdopodobieństwa kolejnych hipotez możliwie mało się od siebie różnią, co ma być właśnie wyrazem ignorancji na ich temat. 5.6.2
Atrybuty ciągłe
W przedstawionej wcześniej postaci naiwny klasyfikator bayesowski, prezentowa ny jako praktyczny algorytm uczenia się pojęć, może być stosowany dla dziedzin opisywanych wyłącznie przez atrybuty nominalne lub porządkowe, przy czym w tym drugim przypadku relacja porządku nie jest w żaden sposób wykorzystywa na, co może niekorzystnie wpływać na jakość uzyskiwanej hipotezy. Jeśli jednak algorytm ma być rzeczywiście w pełni praktyczny, należy wskazać możliwości przezwyciężenia lub ominięcia tego ograniczenia, tak aby było możliwe korzysta nie z niego dla dowolnej dziedziny, dla której może być określone zadanie uczenia się pojęć. W teorii prawdopodobieństwa do charakteryzowania ciągłych zmiennych lo sowych używa się funkcji gęstości prawdopodobieństwa. Dla zmiennej losowej Y o wartościach rzeczywistych funkcja gęstości prawdopodobieństwa g spełnia warunek: Pr(0i < Y < 02) = [ 2 g(y)dy. Jel
(5.72)
Nie ma przy tym znaczenia, czy stosujemy nierówności ostre czy łagodne, gdyż dla dowolnej wartości y £ 3¾ Pr(y = j / ) = 0 .
(5.73)
307
5.6. ZAGADNIENIA PRAKTYCZNE
Aby możliwe było stosowanie naiwnego klasyfikatora bayesowskiego dla dzie dzin opisanych przez atrybuty ciągłe, możemy zastąpić w definiującym ten al gorytm równaniu (5.26) prawdopodobieństwa wartości atrybutów odpowiednimi funkcjami gęstości. Umożliwia to sformułowanie zmodyfikowanej hipotezy: n
h{xĄ) = argmaxPr^ G n(c(a;) = d) • J J # n (ai(x*))>
(5.74)
przy czym g1^ jest warunkową funkcją gęstości prawdopodobieństwa wartości ciągłego atrybutu a; przy danej kategorii przykładu d dla przykładów wybranych z dziedziny zgodnie z rozkładem CL. Funkcja gęstości dla każdego atrybutu i każdej kategorii musi oczywiście zo stać wyznaczona na podstawie zbioru trenującego. W tym celu, oddzielnie dla przykładów każdej kategorii, należy określić rozkład prawdopodobieństwa warto ści atrybutu a,{ dla każdego i — 1,2,..., n. Najprostsze podejście polega na zało żeniu pewnego standardowego rozkładu prawdopodobieństwa, takiego jak rozkład jednostajny lub rozkład normalny, dla którego funkcja gęstości jest wyrażona zna nym wzorem zależnym od pewnych parametrów rozkładu. Na podstawie obser wowanych wartości atrybutu należy następnie oszacować te parametry. W szcze gólności w przypadku rozkładu normalnego wystarczy wyznaczyć wartość średnią i odchylenie standardowe. Problem występuje wtedy, kiedy nie wiadomo, do jakie go standardowego rozkładu prawdopodobieństwa obserwowane wartości atrybutu najlepiej pasują. W takiej sytuacji można „na próbę" określić parametry różnych rozkładów i następnie zastosować test statystycznej zgodności, mierzący zgodność obserowanych wartości z wyznaczonym rozkładem. Dla atrybutu byłaby wtedy przyjmowana funkcja gęstości dla tego rozkładu prawdopodobieństwa, dla które go uzyskano największą zgodność. W praktyce najczęściej jednak odstępuje się od takiej próby dopasowania, zakładając rozkład normalny. Chociaż równanie (5.74) zakłada, że wszystkie atrybuty określone na dziedzi nie są ciągłe, nic nie stoi na przeszkodzie, aby przedstawione podejście było stoso wane także wtedy, kiedy występują zarówno atrybuty o wartościach ciągłych, jak i atrybuty o wartościach dyskretnych. Dla atrybutów ciągłych powinny być wte dy używane prawdopodobieństwa, tak jak w oryginalnym równaniu (5.26), a dla atrybutów dyskretnych — wartości funkcji gęstości prawdopodobieństwa. Atry buty porządkowe muszą być traktowane tak samo jak atrybuty nominalne, co nie pozwala w żaden sposób wykorzystać określonej dla nich relacji porządku do po prawienia jakości klasyfikacji. Często bardziej skuteczną alternatywą wykorzystania funkcji gęstości, zwłasz cza jeśli rozkłady prawdopodobieństwa dla wartości atrybutów nie są znane, jest poddanie tych atrybutów dyskretyzacji. Z kolei dla atrybutów porządkowych o du żej liczbie wartości można dokonać, korzystając z podobnych metod, ich agregacji. O metodach takich będzie mowa w rozdziale 7.
308
ROZDZIAŁ 5. METODY PROBABILISTYCZNE
Uwzględnianie kosztów pomyłek Nawet najlepszy algorytm uczenia się, korzystający z ograniczonego zbioru trenu jącego, nie będzie mógł w każdej sytuacji wygenerować hipotezy, która klasyfiko wałaby poprawnie dowolne przykłady spoza tego zbioru. Pomyłki przy klasyfika cji zawsze mogą wystąpić, chociaż oczywiście algorytmy projektuje się tak, aby zminimalizować ich oczekiwaną liczbę, czyli uzyskać hipotezy o jak najmniej szym błędzie rzeczywistym. Niekiedy jednak nie wszystkie pomyłki są trakto wane tak samo. Niektóre rodzaje pomyłek mogą być w pewnych zastosowaniach bardziej groźne od innych. Zależy to na ogół od specyficznych cech dziedziny i sposobu, w jaki hipoteza ma być praktycznie używana. W systemie wykrywania nadużyć fałszywy alarm może być na przykład mniej groźny niż przeoczenie fak tycznego nadużycia. Podobnie w systemie wspomagania diagnostyki medycznej błędna diagnoza w przypadku groźnych chorób niesie ze sobą znacznie poważ niejsze skutki niż w przypadku drobnych dolegliwości. Uwzględnienie kosztów pomyłek przy uczeniu się pojęć może być w ogólny sposób zrealizowane przez określenie dla każdych dwóch kategorii d\,d2 £ C kosztu p{d\,d2) związanego z pomyłkowym podaniem kategorii d\ dla przykładu, którego poprawną kategorią jest G?2- Koszty mogą być dowolnymi liczbami dodatnimi, chociaż wygodnie jest ograniczyć się do wartości z przedziału [0,1], Naiwny klasyfikator bayesowski umożliwia uwzględnienie kosztów pomyłek przy wyborze kategorii w bardzo bezpośredni sposób. Jeśli sformułujemy cel, ja kim należy się kierować przy wyborze kategorii dla klasyfikowanego przykładu, jako minimalizację oczekiwanego kosztu pomyłki, to definicję realizującej ten cel hipotezy możemy zapisać następująco: h(x*) = argmin ^ p(d,df) • deC d'ec n
• Pr xGfi (c(z) ~d'\/\
ai{x) = ai(x^y
(5.75)
i=i
Korzystając z twierdzenia Bayesa i zakładając „naiwnie" niezależność wartości atrybutów, uzyskujemy uwzględniającą koszty pomyłek wersję naiwnego klasyfi katora bayesowskiego zdefiniowaną za pomocą formuły: /i(x*) = argmin ^T p(d>df) • Pixeci(c(x) = d!) • deC d'ec n
• U Pr l 6 n (OJ (x) = ai (z*) | c(x) =d'). 2=1
(5.76)
5.7. ZAGADNIENIA IMPLEMENTACYJNE
309
5.7 Zagadnienia implementacyjne O naiwnym klasyfikatorze bayesowskim nie mieliśmy wiele do powiedzenia w podrozdziale poświęconym zagadnieniom praktycznym, gdyż w omówionej wcześniej podstawowej postaci jest to algorytm i tak bardzo praktyczny, mimo swej prostoty, a może właśnie dzięki niej. Jednak implementując ten algorytm w sposób wierny przedstawionemu opisowi, możemy spodziewać się niejakich trudności przy jego stosowaniu, objawiających się niepoprawnymi wynikami lub błędami występującymi podczas wykonywania programu. Przyczynę tych trudno ści można dostrzec w równaniu (5.26) i wcześniej w równaniu (5.25) jako wystę pujący w nich iloczyn prawdopodobieństw: n
J J Pr*en {ał(x) - v{ | c(x) = d).
(5.77)
Jeśli każde z mnożonych w ten sposób prawdopodobieństw jest małe, czego moż na się na ogół spodziewać, a ponadto liczba określonych na dziedzinie atrybutów jest znaczna (powiedzmy, kilkanaście lub więcej), to podczas obliczania takiego iloczynu może wystąpić błąd niedomiaru związany z ograniczoną precyzją aryt metyki zmiennopozycyjnej komputerów. Zależnie od implementacji arytmetyki w używanym języku programowania może to spowodować bądź przyjęcie war tości 0 dla obliczanego iloczynu, bądź zgłoszenie błędu wykonania programu. Dość prostym, ale skutecznym wybiegiem, który może wskazany problem wy eliminować, jest zastąpienie w implementacji algorytmu prawdopodobieństw ich logarytmami i konsekwentnie iloczynów sumami. Opisujące sposób klasyfikowa nia przykładów przez naiwny klasyfikator bayeswski równanie (5.26) można prze pisać wówczas w następującej postaci: h(x*) = argmax log P r ^ n (c(a;) = d) + v ' dec + Y^ log Pr xG n {a>i (x) =
(5.78)
t=i
5.8 Podsumowanie S-> Stosując teorię prawdopodobieństwa do maszynowego uczenia się możemy przypisywać prawdopodobieństwo faktom, czyli danym trenującym, oraz wie dzy o tych faktach, czyli hipotezom. 9-* Podstawowy mechanizm wnioskowania probabilistycznego wykorzystywany do uczenia się jest oparty na twierdzeniu Bayesa, które określa zależność praw dopodobieństwa a posteriori hipotez od ich prawdopodobieństwa a priori. Za-
310
ROZDZIAŁ 5. METODY PROBABILISTYCZNE
leżność ta wyznacza sposób, w jaki prawdopodobieństwa hipotez zmieniają się w wyniku uwzględnienia danych. CK Wynikiem najbardziej bezpośredniego zastosowania wnioskowania bayesowskiego do uczenia się pojęć jest algorytm MAP, który z określonej z góry prze strzeni hipotez wybiera hipotezę o maksymalnym prawdopodobieństwie a po steriori ze względu na zbiór trenujący. Może on być jednak stosowany tylko dla przestrzeni hipotez o niewielkim rozmiarze. S-» Optymalny klasyfikator bayesowski (BOC) wyznacza dla każdego przykładu najbardziej prawdopodobną kategorię, uwzględniając sposób, w jaki jest on klasyfikowany przez wszystkie hipotezy, proporcjonalnie do ich prawdopodo bieństw a posteriori. Dzięki temu gwarantuje uzyskanie najmniejszego moż liwego błędu rzeczywistego dla zadanych przestrzeni hipotez i zbioru trenują cego. Podobnie jak algorytm MAP, optymalny klasyfikator bayesowski może być stosowany tylko do małych przestrzeni hipotez i ma głównie znaczenie teoretyczne. Do najczęściej stosowanych praktycznych bayesowskich algorytmów uczenia się należy naiwny klasyfikator bayesowski, który na podstawie zbioru trenują cego szacuje rozkłady prawdopodobieństwa kategorii oraz wartości poszcze gólnych atrybutów dla znanej kategorii. Korzystając z tych oszacowań oraz wzoru Bayesa określa dla klasyfikowanych przykładów, jaka kategoria jest naj bardziej prawdopodobna przy określonych wartościach atrybutów. „Naiwne" w naiwnym klasyfikatorze bayesowskim jest założenie, że wartości poszczególnych atrybutów dla przykładów ustalonej kategorii są od siebie nie zależne. Mimo jednak, że często nie wiadomo, czy założenie to jest spełnione, a czasem wiadomo, że nie jest spełnione, ten prosty (także obliczeniowo) al gorytm osiąga niekiedy poziom błędu zbliżony do tego, jaki oferują algorytmy znacznie bardziej zaawansowane i kosztowne obliczeniowo. °h> Do uczenia się zależności bardziej złożonych niż pojęcia służą sieci bayesowskie, składające się z węzłów reprezentujących atrybuty i skierowanych ga łęzi reprezentujących bezpośrednie zależności przyczynowe między atrybuta mi. Zależności te są liczbowo charakteryzowane przez przechowywane w wę złach oszacowania odpowiednich warunkowych rozkładów prawdopodobień stwa. Cała sieć reprezentuje łączny rozkład prawdopodobieństwa dla wszyst kich atrybutów i umożliwia wyznaczanie rozkładów prawdopodobieństwa nie znanych wartości atrybutów dla dowolnego przykładu na podstawie znanych wartości atrybutów. ^
Istnieją skuteczne algorytmy umożliwiające wyznaczenie na podstawie czę ściowo obserwowalnych danych trenujących tablic prawdopodobieństw wa runkowych dla węzłów sieci bayesowskiej o zadanej strukturze, odzwiercie dlającej wiedzę wrodzoną o występujących w dziedzinie zależnościach, a także
5.9. UWAGI HISTORYCZNE I BIBLIOGRAFICZNE
311
algorytmy znajdowania struktury sieci najlepiej odpowiadającej w pełni obserwowalnym danym trenującym. S-» Uniwersalnym mechanizmem wnioskowania indukcyjnego o rodowodzie bayesowskim, nadającym konkretny algorytmiczny sens brzytwie Ockhama, jest zasada minimalnej długości kodu. Określa ona jako kryterium preferencji dla hipotez stopień kompresji danych trenujących, jaki dzięki tym hipotezom moż na osiągnąć. Zgodnie z tą zasadą najlepsza jest hipoteza, która prowadzi do największej kompresji. Umożliwia to jednoczesne uwzględnienie przy ocenie hipotez ich błędu próbki na zbiorze trenującym i ich złożoności oraz ustalenie optymalnego punktu wymiany dokładności na prostotę. 9-» Bayesowskie metody klasyfikacji mogą być stosowane dla dziedzin opisywa nych za pomocą atrybutów ciągłych przez zastąpienie prawdopodobieństw od powiednimi funkcjami gęstości prawdopodobieństwa, chociaż lepsze efekty daje zazwyczaj dyskretyzacja tych atrybutów.
5.9 Uwagi historyczne i bibliograficzne Podwaliny nowoczesnej teorii prawdopodobieństwa w postaci, w jakiej jest zna na i stosowana dzisiaj, zawdzięczamy wielu matematykom i filozofom. Pascal po raz pierwszy uczynił prawdopodobieństwo przedmiotem systematycznej analizy matematycznej. Głównym bohaterem tego rozdziału naszej książki był wieleb ny Thomas Bayes (1702-1761), którego słynne twierdzenie opublikowane zostało pośmiertnie [17]. Do swoich filozoficznych i metodologicznych rozważań o wnio skowaniu indukcyjnym wprowadził teorię prawdopodobieństwa Carnap, dopusz czając probabilistyczny status wiedzy uzyskiwanej w drodze indukcji. Przez długie lata żywa była debata na temat obiektywnej i subiektywnej interpretacji prawdo podobieństwa. Rozróżnienie to jest bardziej interesujące dla filozofów niż mate matyków, chociaż w przypadku maszynowego uczenia się możemy obserwować je bardzo wyraźnie. Dyskusję rodzajów prawdpodobieństwa przedstawia Good [93]. Historia wykorzystania wyników teorii prawdopodobieństwa w sztucznej inte ligencji była dość długa, lecz niejednostajna. Po pierwszych, prowadzonych w la tach sześćdziesiątych, pracach dotyczących probabilistycznych metod wniosko wania, nastąpiło swego rodzaju rozczarowanie nimi i poszukiwanie innych forma lizmów umożliwiających wnioskowanie w warunkach niepewności. Wymieniano takie wady metod bezpośrednio opartych na teorii prawdopodobieństwa i w szcze gólności podejścia bayesowskiego, jak nie spełnione w praktyce założenia, brak możliwości bezpośredniej reprezentacji igonorancji, która może być tylko w po średni sposób wyrażona przez prawdopodobieństwa a priori, oraz częste trudno ści we właściwym przypisaniu tych prawdopodobieństw, w tym brak możliwości przypisania ich pewnym kombinacjom hipotez (alternatywom, koniunkcjom) za-
312
ROZDZIAŁ 5. METODY PROBABILISTYCZNE
miast pojedynczym hipotezom. Koniec lat osiemdziesiątych i lata dziewięćdziesią te są okresem powrotu do zainteresowania klasyczną teorią prawdopodobieństwa w sztucznej inteligencji, do którego przyczynił się w największym stopniu roz wój metod wnioskowania i uczenia się dla sieci bayesowskich. Obronę teorii prawopodobieństwa stanowi między innymi artykuł Cheesemana [45], przekonujący o jej dużej praktycznej użyteczności w systemach inteligentnych. Przegląd róż nych metod przetwarzania informacji niepewnej można znaleźć w książce Bolca, Borodziewicza i Wójcika [26], Wiele informacji o klasyfikacji bayesowskiej zawiera książka Dudy i Harta [74]. Strategia przypisania prawdopodobieństw aprori w sposób maksymalizujący entropię pochodzi od Jaynesa [105]. Metodę wyrażania maksymalnej ignorancji dla przeliczalnych przestrzeni hipotez, zapisaną równaniem (5.69), podał Rissanen w artykule [218]. Najważniejsze bayesowskie algorytmy uczenia się są omówione w książce Mi tchella [164], z której zaczerpnięty został przykład zastosowania naiwnego klasy fikatora bayesowskiego do klasyfikacji dokumentów. Bardzo obiecujące wyniki eksperymentalne dla niemal identycznego algorytmu są przedstawione w raporcie Joachimsa [107], w którym jest on wykorzystywany do tematycznej klasyfikacji artykułów z internetowych grup dyskusyjnych. Podobne podejście stosuje system NEWSWEEDER Langa dofiltrowaniaartykułów interesujących użytkownika. Zna ne są również inne statystyczne metody analizy i klasyfikacji tekstu. Do wczesnych publikacji na ten temat należy praca Rocchio [223]. Przegląd osiągnięć w tej bar dzo interesującej i praktycznie ważnej dziedzinie przedstawia Salton [235]. Udane zastosowanie naiwnego klasyfikatora bayesowskiego do klasyfikacji dokumentów świadczy o tym, że może on dawać dobre wyniki również wtedy, kiedy założenie o niezależności atrybutów nie jest spełnione. Dyskusją tego zagadnienia zajmu ją się Domingos i Pazzani [71], którzy podają warunki optymalności klasyfikacji dokonywanej przez ten algorytm przy nie spełnionym założeniu o niezależności. Dwie odmiany zasady minimalnej długości kodu, czyli zasadę minimalnej dłu gości komunikatu (MML) i zasadę minimalnej długości opisu (MDL), zapropono wali odpowiednio Wallace [273] i Rissanen [218]. Przedstawione w tym rozdziale wprowadzenie do wnioskowania na podstawie długości kodu koncentrowało się na wspólnych właściwościach obu podejść, lecz, ściśle rzecz biorąc, było bliższe MML. Dobrym wprowadzeniem do wnioskowania na podstawie zasady MML jest raport 01ivera i Handa [186], gdzie omówione są między innymi niektóre nieredundancyjne techniki kodowania danych dyskretnych i ciągłych, pochodzących z różnych standardowych rozkładów prawdopodobieństwa oraz hipotez reprezen towanych przez drzewa decyzyjne i automaty skończone. Pominięte przez nas róż nice między zasadami MDL i MML wnikliwie analizują Baxter i 01iver [16]. O ile różnice te nie są w szczegółach zbyt szeroko znane, o tyle opublikowano sporo prac poświęconych zastosowaniom podstawowego mechanizmu preferencji
5.10. ĆWICZENIA
313
dla hipotez najlepiej kompresujących dane, który jest w obu podejściach wspól ny. Quinlan i Rivest [213] przedstawili wersję algorytmu zstępującej konstrukcji drzew decyzyjnych, stosującą zasadę minimalnej długości kodu do wyboru testów. Quinlan [212] zaproponował wykorzystanie jej do udoskonalenia wyboru testów dla atrybutów ciągłych. Wallace i Patrick [275] przedstawili bardziej zaawansowa ną analizę problemu nieredundancyjnego kodowania drzew decyzyjnych. 01iveira i Sangiovanni-Vincentelli [184] przedstawili oparty na minimalizacji długości ko du algorytm konstruowania grafów decyzyjnych, struktur będących uogólnieniem drzew decyzyjnych. Nikolaev i Slavov [181] wykorzystali zasadę minimalnej dłu gości kodu jako funkcję celu do ewolucyjnego przeszukiwania przestrzeni możli wych drzew decyzyjnych. Znakomitym źródłem informacji na temat wnioskowania w sieciach bayesowskich jest książka Pearla [196], którego wkład w rozwój tej dziedziny sztucznej in teligencji był bardzo znaczny. Można tam znaleźć w szczególności algorytm wnio skowania dla sieci z pojedynczymi połączeniami. Nowsza książka Jensena [106] przedstawia różne algorytmy wnioskowania probabilistycznego za pomocą sieci bayesowskich. Ich zwięzłą dyskusję można znaleźć także w prawdziwym kompedium sztucznej inteligencji, jakim jest imponujący podręcznik Russella i Norviga [232], w którym autorzy zajmują się także budzącym coraz większe zainteresowa nie uczeniem się sieci bayesowskich, koncentrując się na przypadku znanej struk tury i częściowej obserowalności. Jest tam dokładniej przedstawiony algorytm gra dientowy, krótko omówiony w tym rozdziale, który zaproponowali Russell i inni [231]. Jego wyprowadzenie przytacza także Mitchell [164]. Cooper i Herskovits przedstawili heurystyczny algorytm poszukiwania struktury sieci na podstawie w pełni obserwowalnych danych trenujących. Ich koncepcje rozwinęli Heckerman, Geiger i Chickering [97]. Zadanie uczenia się sieci o nieznanej strukturze w wa runkach częściowej obserowalności poruszyli Spirtes, Glymour i Scheines [250]. Dobry przegląd problemów i algorytmów uczenia się w sieciach bayesowskich stanowi artykuł Buntine'a [35].
5.10 Ćwiczenia Ćwiczenie 5.1. Rozważmy dziedzinę modeli samochodów z przykładu 2.5, uwzględ niając wyłącznie atrybuty klasa i niezawodność. Wskaż, która z 212 hipotez dopusz czalnych dla tej dziedziny jest hipotezą najbardziej prawdopodobną a posteriori na podstawie danych trenujących przedstawionych w tabl. 2.4, przy założeniu, że dane te są w pełni poprawne, a prawdopodobieństwa a priori 1) są jednakowe dla wszystkich hipotez, 2) są określone tak, że dla dowolnych hipotez h\, h2 i przykładu x, jeśli mamy niezawodność(x) = duża, h\{x) ~ 1 i /12(2) — 0, to Pr(/ii) > Pr(/i2),
314
ROZDZIAŁ 5. METODY PROBABILISTYCZNE
3) są określone tak, że dla dowolnych hipotez hi, h2 i przykładu x, jeśli mamy klasa(x) ~ miejski, h\(x) — 1 i h2(x) = 0, to Pr(/ij) < Pr(h2). Ćwiczenie 5.2. Dla dziedziny modeli samochodów z przykładu 2.5 weźmy pod uwagę hipotezy zdefiniowane następująco: hi(x) =
[ 1 jeśli niezawodność(x) ^ duża, I 0 w przeciwnym przypadku,
M^) =
f 1 jeśli cena(x) / wysoka, I 0 w przeciwnym przypadku,
/i 3 (:c)
f 1 jeśli niezawodność(x) / duża i cena(x) ^ wysoka, I 0 w przeciwnym przypadku.
=
Znajdź najbardziej prawdopodobną a posteriori z tych hipotez na podstawie zbio ru trenującego podanego w tabl. 2.4, przyjmując, że każdy zawarty w nim przykład może mieć z prawdopodobieństwem 0,1 niepoprawną etykietę kategorii oraz że ich prawdopodobieństwa a priori wynoszą odpowiednio 0,4, 0,3 i 0,1. Ćwiczenie 5.3. Kontynuując przykład 5.3 wyznacz błąd próbki rozważanego w nim na iwnego klasyfikatora bayesowskiego na zbiorze trenującym. Ćwiczenie 5.4. Zastosuj naiwny klasyfikator bayesowski z prawdopodobieństwami sza cowanymi przez m-szacowanie na podstawie zbioru trenującego dla dziedziny modeli samochodów przedstawionego w tabl. 2.4 do klasyfikacji następujących przykładów: klasa X 12 j \ mały 13 : miejski 14 kompakt 15 \ duży
cena umiarkowana — umiarkowana umiarkowana
osiągi — dobre dobre słabe
niezawodność mała duża duża przeciętna
Ćwiczenie 5.5. Udowodnij, że jeśli pominiemy różnice w kosztach pomyłek, czyli przyj miemy dla dowolnych di, d2 E C: p{dud2)
=
0 jeśli di = d2, 1 jeśli d\ / d2,
to wersja naiwnego klasyfikatora bayesowskiego uwzględniająca koszty pomyłek sta je się równoważna z jego wersją podstawową. Ćwiczenie 5.6. Powtórz ćwiczenie 5.4, uwzględniając koszty pomyłek: p(l,0) = 0,7 ip(0,l) = 0,3. Ćwiczenie 5.7. Oblicz długość kodu dla drzewa decyzyjnego z przykładu 3.1. Ćwiczenie 5.8. Oblicz długość kodu dla zbioru reguł z przykładu 4.3.
5.10- ĆWICZENIA
315
Ćwiczenie 5.9. Oblicz długość kodu dla zbioru trenującego dla dziedziny stanów pogo dy przedstawionego w tabl. 2.2 przy następujących założeniach: 1) nie jest znana żadna hipoteza, 2) znane jest drzewo decyzyjne podane w przykładzie 3.1, 3) znany jest zbiór reguł podany w przykładzie 4.3. Dla każdego przypadku podaj łączną długość kodu dla danych i hipotezy, jeśli jest dostępna. Ćwiczenie 5.10. Dokonaj wyboru testu do umieszczenia w korzeniu drzewa decyzyjne go budowanego na podstawie zbioru trenującego dla dziedziny stanów pogody przed stawionego w tabl. 2.2, wykorzystując do oceny testów zasadę minimalnej długości kodu. Ćwiczenie 5.11. Poddaj ocenie za pomocą zasady minimalnej długości kodu następu jące kompleksy dla dziedziny stanów pogody względem zbioru trenującego przedsta wionego w tabl. 2.2: k^ = {słoneczna V pochmurna, ?, ?, ?), k 2 = (słoneczna V pochmurna, ciepła, ?, ?), k3 — (słoneczn a V pochmurna,?,?, silny). Ćwiczenie 5.12. Udowodnij twierdzenie 5.2. Ćwiczenie 5.13. Zmodyfikuj udostępnioną implementację naiwnego klasyfikatora bayesowskiego, wzbogacając ją o możliwość przetwarzania atrybutów ciągłych przez uży cie funkcji gęstości dla rozkładu normalnego. Ćwiczenie 5.14. Zmodyfikuj udostępnioną implementację naiwnego klasyfikatora bayesowskiego, wzbogacając ją o możliwość uwzględniania kosztów pomyłek. Ćwiczenie 5.15. Zmodyfikuj udostępnioną implementację indukcji drzew decyzyjnych, wzbogacając ją o operację przycinania drzew na podstawie zasady minimalnej długo ści kodu. Ćwiczenie 5.16. Zmodyfikuj udostępniony program indukcji reguł wzbogacając go o operację przycinania zbiorów reguł na podstawie zasady minimalnej długości ko du. Ćwiczenie 5.17. Przeprowadź eksperymenty walidacji krzyżowej z udostępnioną im plementacją naiwnego klasyfikatora bayesowskiego, stosując ją do udostępnionych zbiorów danych.
Rozdział 6
Grupowanie pojęciowe We don 't need no education1 Kompanie nie musiały już uczyć się musztry ani nie potrzebowały odliczania, by poznać swą liczebność, podobnie jak nie myli lewej nogi z prawą ten, kto ma obie, i nie musi liczyć, aby się dowiedzieć, że jest go raz .
W tym rozdziale omawiamy tworzenie pojęć, czyli uczenie się bez nadzoru, w któ rym zbiór trenujący składa się z przykładów nieetykietowanych, a do ucznia nale ży zaproponowanie podziału tych przykładów na kategorie i skonstrowanie opisu każdej kategorii, umożliwiającego klasyfikowanie nowych przykładów. Cel grupo wania pojęciowego określimy nieformalnie jako podział przykładów, zapewniają cy ich maksymalne podobieństwo w ramach każdej kategorii i maksymalne zróż nicowanie między różnymi kategoriami. Przedstawimy następnie dwa odmienne podejścia do grupowania przykładów opisywanych za pomocą atrybutów dyskret nych. Pierwsze z nich polega na konstruowaniu, w sposób zbliżony do analogicz nego procesu przy indukcji reguł metodą sekwencyjnego pokrywania, kompleksu pokrywającego przykłady, które tworzą kategorię. Skupimy się na odpowiednich modyfikacjach znanego z rozdziału 4 algorytmu AQ, mających na celu zapew nienie rozłączności tworzonych kategorii. Drugie podejście, jakie będzie szerzej opisane, jest realizowane przez system uczący się COBWEB, który reprezentuje grupowanie za pomocą probabilistycznych drzew o strukturze odzwierciedlającej hierarchię kategorii i podkategorii. Podczas rozpatrywania kolejnych przykładów są niekiedy tworzone nowe kategorie, a istniejące kategorie są dzielone lub łączo ne w celu uzyskania podziałów o najlepszych właściwościach. Ponieważ zakres stosowania obu wymienionych metod grupowania pojęciowego ogranicza zało żenie o dyskretności wszystkich atrybutów, przedyskutujemy oddzielnie zadanie grupowania pojęciowego w sytuacji, gdy niektóre atrybuty są ciągłe, a także gdy wszystkie atrybuty są ciągłe. Ten drugi przypadek będzie wyodrębniony ze wzglę du na to, że wówczas mogą być zastosowane pewne specjalne techniki grupowania numerycznego.
1 Another brick in the wali II (Pink Floyd: The Wall). ^Wyprawa pierwsza, czyli pułapka Gargancjana.
6.1. GRUPOWANIE JAKO WIEDZA
6.1
317
Grupowanie jako wiedza
W poprzednich rozdziałach, koncentrujących się na uczeniu się pojęć, nie mieli śmy problemu z uznaniem, że hipotezy generowane (czy też znajdowane) przez rozważane tam systemy uczące się stanowią wiedzę. Funkcje przypisujące przy kłady do odpowiednich dla nich kategorii mówią przecież o tych przykładach coś istotnego, jeśli kategorie te są istotne dla danej dziedziny z punktu widzenia na szych zainteresowań. A gdyby takie nie były, to przecież nikt rozsądny nie my ślałby o stosowaniu dla nich algorytmów uczenia się pojęć. W tym przypadku kategorie bowiem nie są arbitralne, są one związane z klasą pojęć określonych na dziedzinie i w związku z tym zawsze odzwierciedlają nasze zainteresowania w odniesieniu do tej dziedziny. Uczeń otrzymuje wówczas etykietowane przykła dy trenujące, które powinien uogólnić, i podstawowym kryterium wywiązania się przez niego z tego zadania jest błąd, z jakim jego hipoteza klasyfikuje przykłady do kategorii, które występowały w zbiorze trenującym. Obecnie, kiedy przechodzimy do tworzenia pojęć, sytuacja staje się mniej jed noznaczna. Tworzenie pojęć, nazywane też grupowaniem pojęciowym, jest rodza jem uczenia się na podstawie przykładów bez nadzoru: uczeń otrzymuje zbiór tre nujący, zawierający przykłady bez określenia ich kategorii (nieetykietowane). Nie istnieje więc żadne z góry określone pojęcie docelowe lub, co na jedno wychodzi, nie ma o nim żadnych informacji. Właściwe kategorie, a więc pewną liczbę pojęć pojedynczych lub jedno pojęcie wielokrotne (dla wygody będziemy przyjmować ten drugi wariant), uczeń musi zaproponować samodzielnie na podstawie pewnej zasady grupowania, wbudowanej w algorytm uczenia się lub częściowo definio wanej przez użytkownika. Mówienie o wiedzy może się wydawać problematyczne wobec braku jakiej kolwiek zewnętrznej informacji trenującej innej niż same tylko opisy przykładów. Skoro żaden nauczyciel nie dostarcza uczniowi wskazówek na temat właściwego sposobu klasyfikowania przykładów i nie istnieje żaden zbiór „właściwych" kate gorii, do których przykłady te mogą należeć, to rodzi się obawa, że uczeń może dzielić przykłady na kategorie w sposób arbitralny. A takie arbitralne pojęcia trud no byłoby uznać za wiedzę w jakimkolwiek rozsądnym sensie tego słowa. Zanim więc przejdziemy do omawiania algorytmów grupowania, musimy upewnić się co do tego, że prowadzą do pozyskiwania wiedzy, a więc zasługują na miano algoryt mów uczenia się.
6.1.1 Grupowanie według podobieństwa Newralgicznym punktem powyższej „krytyki" grupowania jest stwierdzenie o do mniemanej arbitralności tworzonych przez nie pojęć. Ale brak ustalonych kategorii i etykietowanych przykładów trenujących wcale nie musi oznaczać arbitralności.
318
ROZDZIAŁ 6. GRUPOWANIE POJĘCIOWE
I jeśli możemy mówić o pojęciach tworzonych podczas grupowania pojęciowe go, to tylko dlatego, że nie są one arbitralne, chociaż ich charakter może zmie niać się bardzo znacznie w zależności od używanego algorytmu. Istotne jest to, że w każdym przypadku przynależność do kategorii opiera się na podobieństwie przykładów, podobieństwo umożliwia wnioskowanie, a tam, gdzie jest możliwe wnioskowanie, mamy ponad wszelką wątpliwość do czynienia z wiedzą. Podobieństwo przykładów Nie określimy w tym miejscu dokładnie, co miałoby oznaczać podobieństwo przy kładów, uznane za podstawę grupowania. Tymczasem powinno wystarczyć nam zupełnie intuicyjne rozumienie tego terminu. Jest jasne, że za podobne uznaliby śmy takie przykłady, dla których podobne są wartości niektórych atrybutów. Co to z kolei oznacza, zależy oczywiście od typów atrybutów. Z pewnością żadne dwie różne wartości atrybutów nominalnych nie są podobne — podobne przykłady mo gą mieć więc tylko identyczne wartości niektórych atrybutów nominalnych. Dla atrybutów porządkowych i ciągłych można mówić o podobieństwie w sensie od ległości między wartościami. Nie możemy nic powiedzieć na temat tego, wartości ilu atrybutów i jak bardzo powinny być podobne, aby za podobne mogły być uzna ne przykłady, chociażby dlatego, że podobieństwo przykładów nie jest w ścisłym sensie relacją, która pozwalałaby uznać dowolne dwa przykłady albo za podobne, albo za niepodobne. Można raczej mówić o stopniach podobieństwa, ograniczo nych z jednej tylko strony przez maksimum podobieństwa, czyli identyczność. Czy w ogóle i ewentualnie jak formalizowane jest to rozumienie podobieństwa, zależy od konkretnych algorytmów grupowania. Nas interesuje teraz bardziej jego związek z wnioskowaniem. Wnioskowanie na podstawie podobieństwa Pytanie, jakie obecnie sobie stawiamy, jest następujące: czy i pod jakimi warunka mi podział zbioru przykładów na kategorie według ich podobieństwa może się stać podstawą wnioskowania? W pytaniu tym nie chodzi o wnioskowanie indukcyjne, jakim jest proces uczenia się, lecz o wnioskowanie, jakie jest możliwe z wyko rzystaniem hipotez generowanych przez system uczący się. Dla ułatwienia odpo wiedzi jeszcze raz wróćmy pamięcią do uczenia się pojęć z nadzorem. Znaleziona na podstawie przykładów trenujących hipoteza może tam być następnie stosowana do klasyfikowania dowolnych przykładów. Właśnie ten proces klasyfikowania — ustalania (prawdopodobnych) kategorii przykładów —jest wnioskowaniem wyko rzystującym wiedzę uzyskaną w trakcie uczenia się. Za jej pomocą z przesłanek, jakimi są wartości atrybutów przykładu, wywodzi się jego kategorię jako konklu zję. Czy coś z tego schematu wnioskowania zachowuje się w przypadku uczę-
6.1. GRUPOWANIE JAKO WIEDZA
319
nia się bez nadzoru? Proces uczenia się powoduje wyznaczenie pewnego podziału zbioru trenującego na kategorie. Jeśli dodatkowo przyjmiemy, że ten podział jest indukcyjnie uogólniany, to można stosować go do całej dziedziny, czyli klasyfi kować za jego pomocą również nowe przykłady. Jednak uznanie samego tylko procesu klasyfikacji, polegającego na zaliczeniu przykładu do jednej ze wcześniej utworzonych kategorii, za formę wnioskowania jest problematyczne, skoro katego rie te nie mają jako wytwory ucznia przypisanego z góry znaczenia. Na szczęście pośrednio znaczenie przypisuje kategoriom fakt, że są one oparte, z założenia, na podobieństwie przykładów. Z faktu przynależności przykładu do kategorii można dzięki temu wyciągnąć wniosek o jego podobieństwie do innych przykładów tej samej kategorii. Wprawdzie wniosek taki wydaje się trywialny i bezużyteczny — aby przykład został zaliczony do jakiejś kategorii, musiał być podobny do innych jej przykładów, więc podawanie potem tej oczywistości jako rezultatu wniosko wania wygląda na nadużycie — ale w pewnych sytuacjach jest to ocena pochopna i niesprawiedliwa. Możemy sobie wyobrazić, po pierwsze, że przykłady to dla nas coś więcej niż tylko wektory wartości atrybutów. W pewnych dziedzinach przykłady mogą mieć ponadto pewną znaczącą tożsamość, nie reprezentowaną przez opisujące je atrybu ty, które opisują ich pewne cechy, ale nie w pełni je identyfikują. Wówczas fakt, że pewne dwa przykłady są podobne i należą do jednej kategorii, a inne dwa przykła dy są niepodobne i należą do różnych kategorii, może dostarczać ważnej informa cji, gdyż mówi o pewnych konkretnych obiektach z własną tożsamością. Jest też inna możliwość, występująca wtedy, kiedy dla niektórych przykładów wartości niektórych atrybutów nie są znane. Dla takiego przykładu może być wyznaczo na najbardziej odpowiednia kategoria na podstawie znanych wartości atrybutów, a następnie z jego przynależności do tej kategorii można wywnioskować prawdo podobne wartości pozostałych atrybutów. Umożliwia to stwierdzenie, że możliwe jest wnioskowanie na podstawie przynależności przykładów do określonych kate gorii utworzonych przez proces grupowania, o ile odzwierciedlają one podobień stwo przykładów, a w związku z tym tworzone przez ten proces pojęcia można traktować jako wiedzę. Wiarygodność wnioskowania w nakreślonym powyżej sensie zależy od speł nienia pewnego podstawowego warunku. Przy danej mierze podobieństwa przy kładów należy zapewnić, aby każdy przykład był bardziej podobny do wszyst kich przykładów zaliczonych do tej samej co on kategorii niż do któregokolwiek przykładu zaliczonego do innej kategorii, gdyż w przeciwnym przypadku przy należność przykładu do kategorii nie będzie o nim mówić nic dostatecznie pew nego, aby można było mówić o wyciąganiu wniosków. Oznacza to, po pierwsze, że w ramach każdej kategorii przykłady powinny być do siebie maksymalnie po dobne, oraz, po drugie, że przykłady różnych kategorii powinny być maksymal nie zróżnicowane. Ten postulat maksymalizacji podobieństwa wewnątrz kategorii
320
ROZDZIAŁO. GRUPOWANIE POJĘCIOWE
i zróżnicowania między kategoriami, który pojawił się już w rozdziale 2 podczas formułowania problemu tworzenia pojęć, może być realizowany na różne sposoby, a w dalszej części obecnego rozdziału poznamy niektóre z nich. 6.1.2
Od grupowania do pojęć
Aby wnioskowanie na podstawie wyników grupowania było możliwe, konieczny jest nie tylko odpowiedni podział przykładów trenujących na kategorie — grupy utworzone według ich podobieństwa. Niezbędny jest również pewien opis każ dej grupy, dzięki któremu możliwe będzie klasyfikowanie nowych przykładów. Ta dość oczywista obserwacja prowadzi do wyróżnienia dwóch podzadań w rozwa żanym przez nas zadaniu grupowania pojęciowego, które zresztą pierwszy człon swojej nazwy zawdzięcza pierwszemu, a drugi — drugiemu z tych podzadań: podział: podzielenie przykładów trenujących na grupy, którym zostaną przypisa ne kategorie tworzonego pojęcia, opis: scharakteryzowanie każdej z wyróżnionych grup, czyli wygenerowanie hi potezy dla odpowiedniego pojęcia wielokrotnego, która będzie mogła być uży ta do klasyfikowania nowych przykładów. Drugie z tych podzadań mogłoby być w istocie potraktowane jako uczenie się pojęć na podstawie przykładów, po uprzednim podzieleniu przykładów na kate gorie i dodaniu ich etykiet do zbioru trenującego, i w związku z tym do jego re alizacji można by w zasadzie zastosować jeden z algorytmów znanych nam już z poprzednich rozdziałów. Jednak algorytmy grupowania pojęciowego, które bę dą omawiane w tym rozdziale, realizują obydwa wymienione zadania łącznie, to znaczy konstruują opisy grup jednocześnie z ich tworzeniem, i podejście to jest z całą pewnością bardziej godne polecenia, gdyż zapewnia, że podczas tworzenia grup i późniejszego klasyfikowania przykładów brane są pod uwagę identyczne kryteria podobieństwa.
6.2
Grupowanie za pomocą pokryć
Pierwsze podejście do grupowania pojęciowego, jakie tu przedstawimy, łączy bli skie pokrewieństwo ze schematem sekwencyjnego pokrywania znanym nam z roz działu 4, poświęconego indukcji reguł. Zostało ono zastosowane w pionierskim dla badań nad tworzeniem pojęć systemie CLUSTER/2, który odegrał rolę podobną do roli systemu AQ w indukcji reguł. Podobnie jak części warunkowe reguł, poszcze gólne kategorie tworzone w trakcie grupowania metodą, o której mowa, są repre zentowane za pomocą kompleksów. Dokładniej, każda z grup, na które jest dzielo ny zbiór trenujący, składa się wyłącznie z przykładów pokrywanych przez pewien kompleks, w związku z czym proces grupowania można traktować jako znajdowa-
6.2. GRUPOWANIE ZA POMOCĄ POKRYĆ
321
nie zbioru kompleksów, z których każdy reprezentuje jedną grupę-kategorię. Jest to oczywiście możliwe tylko pod warunkiem, że zbiory przykładów trenujących pokrywanych przez kompleksy opisujące poszczególne kategorie są parami roz łączne, czyli każdy przykład jest pokrywany przez co najwyżej jeden kompleks. Będziemy wtedy mówić krótko, że rozłączne są odpowiednie kompleksy. Z dru giej strony, ponieważ każdy przykład powinien zostać zaliczony do jednej z two rzonych kategorii, odpowiadające im kompleksy powinny łącznie pokrywać cały zbiór trenujący. Oczywiście spełniający takie warunki zbiór kompleksów wyzna cza nie tylko podział przykładów trenujących na grupy, lecz także dostarcza opisu każdej z tych grup, czyli łącznie reprezentuje hipotezę dla pewnego pojęcia wielo krotnego, zapewniając równoczesną realizację obu podzadań wyróżnionych przez nas wcześniej w grupowaniu pojęciowym. Prezentację algorytmu CLUSTER/2 po przedzimy niezbędnym uzupełnieniem naszego dotychczasowego repertuaru wła ściwości kompleksów i operacji na nich o nowe elementy, które okażą się przydat ne do jego wyjaśnienia. 6.2.1
Kompleksy jako reprezentacja grupowania
Dotychczas podstawową operacją na kompleksach, jaka nas interesowała, była ich logiczna koniunkcja. Obecnie przyda się nam również inna operacja, którą na zwiemy sumą kompleksów. Można o niej myśleć jako o swego rodzaju namiastce alternatywy, którą nie można się tu posłużyć, gdyż jej wyniku nie da się w ogólnym przypadku przedstawić jako kompleksu. W definicji sumy kompleksów stosuje się operator logicznej alternatywy do par odpowiadających sobie selektorów z tych kompleksów.
• DEFINICJA 6.1. Sumą kompleksów k /1 jest kompleks, którego każdy selektor jest alternatywą pary odpowiednich selektorów z tych kompleksów. Jeśli więc
kUlH^Vsl,4v4,...,5£v4).
(6.1)
o Alternatywę selektorów można w najprostszy sposób zdefiniować odwołując się do zbiorów wartości dozwolonych.
• DEFINICJA 6.2. Alternatywą selektorów s\ i S2 odpowiadających atrybutowi a : X \-> A jest odpowiadający temu atrybutowi selektor s o zbiorze wartości dozwolonych Vs = VSl U VS2. 0
322
ROZDZIAŁO. GRUPOWANIE POJĘCIOWE
Poza operacją sumy kompleksów przy omawianiu grupowania za pomocą po kryć przydaje się pewna charakterystyczna wielkość, określona dla każdego kom pleksu, nazywana rozproszeniem. Rozproszenie kompleksu, wyznaczane wzglę dem pewnego zbioru przykładów P , to liczba wszystkich możliwych wektorów wartości atrybutów nie występujących dla żadnego przykładu ze zbioru P , a po krywanych przez ten kompleks. Formalizuje to poniższa definicja. • DEFINICJA 6.3. Dla kompleksu kjego rozproszenie względem zbioru przykła dów P C I definiuje się następująco: Źk(P) = |{
€AiX--xAn-{(ax(x),...,an(x))
k>
| x e P} |
(vu...,vn)}
(6.2)
0 W definicji tej zakładamy dla wygody, że relacja pokrywania >, dotychczas stosowana dla przykładów, może być analogicznie użyta dla dowolnych wektorów wartości atrybutów. Łatwo zauważyć, że rozproszenie kompleksu k = (si, S2,..., sn) względem zbioru przykładów P , wygodniej niż bezpośrednio korzystając z definicji, można obliczyć za pomocą następującej formuły: Ćk(P) = \VS1 x • • • x VSn - {(ai(x):...,
an(x)) I x G P k } | •
(6.3)
Jeśli można dodatkowo założyć, że w dziedzinie X nie istnieją dwa różne przykła dy o identycznych wartościach wszystkich atrybutów, co często przyjmuje się w praktyce, interpretacja rozproszenia staje się także prostsza: jest to liczba przykła dów w dziedzinie nie należących do zbioru P , które pokrywa kompleks. Również wzór ulega odpowiedniemu dalszemu uproszczeniu: &(P) = \VS1\-\VS2\
|VU-|Ą|.
(6.4)
Do jego poprawności wystarczy zresztą tylko, aby nie było dwóch różnych przy kładów o jednakowych opisach w zbiorze P^. Przykład 6.1 (Pogoda). Weźmy pod uwagę następujące kompleksy dla dziedziny stanów pogody: kx = (słoneczna V pochmurna,?,?,?), k2 — (słoneczna,?,?, silny),
6.2. GRUPOWANIE ZA POMOCĄ POKRYĆ
323
k 3 = (słoneczna, ciepła,?, silny), k4 = (?, ciepła V umiarkowana, ?, ?). Wyznaczymy ich rozproszenie ze względu na zbiór przykładów T z tabl. 2.2. Zauważ my najpierw, że | T k l | = 1(1,2,3,7,8,9,11,12,13)1 = 9, | T k a | = ({2,11,)1 = 2, |Tk,|= 1(2)1-1, |T k J = |{1,2,3,4,8,10,11,12,13,14}| = 10. Oznaczając przez s* selektor znajdujący się w kompleksie k na pozycji i, dla i — 1,2,3,4, możemy z kolei stwierdzić, co następuje: FM
Fkl
S
*2 b
2
V
.f
Fk4
= 2 • 3 - 2 • 2 = 24, 4
vs,2
= 1 - 3 - 2 - 1 = 6,
S
3
= 1 - 1 - 2 - 1 = 2,
V k
s*
Fk 4 «2
*4
S
3
F, 4 = 3 • 2 - 2 - 2 = 24. s
4
Rozproszenia kompleksów można wobec tego obliczyć następująco: C kl (T) f k a (T) & 8 (T) &4(r)
= = = =
24-9=15, 6 - 2 = 4, 2 - 1 = 1, 24-10=14.
Najmniej rozproszony okazał się kompleks k3, który pokrywa tylko jeden przykład (a ściślej, wektor wartości atrybutów) spoza zbioru trenującego.
Ostatnie uzupełnienie, jakiego wymaga stosowana dla kompleksów termino logia i notacja, to oznaczenie k x dla maksymalnie szczegółowego kompleksu po krywającego przykład x £ X. Jest to oczywiście następujący kompleks: kx = (ai(^),a 2 (x),...,a n (o;)). 6.2.2
(6.5)
Wyznaczanie kompleksów opisujących kategorie
Zadanie grupowania pojęciowego za pomocą pokryć można w świetle tego, co na pisane zostało na ten temat wyżej, sprowadzić do wyznaczenia zbioru parami roz łącznych kompleksów pokrywających wszystkie przykłady trenujące i zapewnia jącego dobre grupowanie według pewnej przyjętej miary jakości, formalizującej nieformalny wymóg maksymalnego podobieństwa wewnątrz kategorii i zróżnico wania między nimi. Zwróćmy jednak uwagę, że już sama reprezentacja kategorii
324
ROZDZIAŁO. GRUPOWANIE POJĘCIOWE
za pomocą rozłącznych kompleksów zapewnia, że w każdej z nich będą przykłady podobne, a przykłady różnych kategorii będą stosunkowo mniej podobne. Jest to z pewnością okoliczność bardzo pomyślna, gdyż umożliwia przy dobieraniu od powiedniej funkcji oceny jakości grupowania skupienie się w większym stopniu na innych jego cechach, o czym się już wkrótce przekonamy. Kompleksy opisujące poszczególne kategorie są generowane za pomocą algo rytmu, który wykorzystuje podstawową koncepcję znaną z algorytmu AQ. Każ dy kompleks powstaje w wyniku przeszukiwania przestrzeni możliwych kom pleksów, zogniskowanego wokół wybranego przykładu, tu również nazywanego ziarnem. W związku z tym w celu utworzenia pewnej liczby l > 1 komplek sów wybiera się l przykładów trenujących jako ziarna i następnie tworzy dla nich gwiazdy; z każdej z nich może być następnie wybrany jeden dowolny kompleks. Zbiory kompleksów, utworzonych przez wybranie jednego kompleksu z każdej gwiazdy, reprezentują możliwe grupowania, z których można wybrać najlepsze według przyjętych kryteriów. Koncepcję tę ilustruje rys. 6.1, przedstawiający czte ry gwiazdy; z każdej z nich został wybrany jeden kompleks, reprezentowany przez pogrubioną elipsę.
Rys. 6.1. Gwiazdy w systemie CLUSTER/2 Naszkicowany sposób postępowania precyzuje algorytm 6.1. Przedstawiona tam funkcja clusterl otrzymuje jako argumenty zbiór trenujący T oraz pożąda ną liczbę kategorii grupowania /. Kwestii wybrania wartości l poświęcimy odpo wiedni komentarz później, a tymczasem załóżmy, że jest ona w pewien sposób ustalona. W każdej iteracji algorytmu jest konstruowany /-elementowy zbiór kom pleksów iif*, wyznaczający podział zbioru trenującego T na kategorie. Powstaje
6.2. GRUPOWANIE ZA POMOCĄ POKRYĆ
325
funkcja cluster2(TJ) argumenty wejściowe: • T — zbiór trenujący, • / — liczba kategorii grupowania; zwraca: zbiór / kompleksów opisujących kategorie; i if* := 0;#* := - o o ; 2 powtarzaj 3 dla wszystkich k — 1,2,..., / wykonaj 4 x% :— wybierz-ziarno(T,k,K*)\ 5 koniec dla 6 7 8 9 10 11 12 13 14 15 16 17
Xa:=\Jk=l{xka); dla wszystkich k — 1,2,..., l wykonaj Sk :— zredukowana-gwiazda(T, x^Xs — {x^},m)\ koniec dla dla wszystkich K = {kk | k*. E S*,fc= 1, 2 , . . . , Z} wykonaj if := zapewnij-roztączność{K)\ jeśli #(T) >tf*to #*:-K;tf*:=^(T); koniec jeśli koniec dla aż nastąpi kryteriurn-stopu(K*,T)\ zwróć K*. Algorytm 6.1. Grupowanie za pomocą pokryć
on na podstawie l ziaren x\,x2s,... ,xls wybranych w zależności od zbioru K* z poprzedniej iteracji w sposób, który zostanie omówiony niżej. Dla każdego z ta kich ziaren xks jest wyznaczana gwiazda £*, nazywana w tym przypadku gwiazdą zredukowaną. Następnie bierze się pod uwagę wszystkie zbiory kompleksów K powstałych przez wybranie dokładnie jednego kompleksu z każdej gwiazdy Sk dla k = 1,2,...,/. Są one w razie potrzeby poddawane modyfikacji zapewnia jącej rozłącznosc, a następnie reprezentowane przez nie grupowanie jest oceniane za pomocą heurystycznej funkcji #. Nowym zbiorem K* staje się najlepszy z do tychczas wyznaczonych zbiorów kompleksów. Jeśli nie jest dla niego spełnione kryterium stopu algorytmu, to jest wykonywana kolejna iteracja. Tak jak poprzednio w przypadku algorytmu AQ, tak tym razem dla przedsta wionego algorytmu wywodzącego się z systemu CLUSTER/2 najważniejszą ope racją jest konstruowanie gwiazdy, a obecnie raczej rodziny gwiazd, po jednej dla każdego z wybranych na początku ziaren. Gwiazda ma być zbiorem maksymal nie ogólnych kompleksów pokrywających własne ziarno, lecz nie pokrywających
326
ROZDZIAŁO. GRUPOWANIE POJĘCIOWE
żadnego z pozostałych ziaren. Ponieważ potencjalne grupowania są reprezentowa ne przez wszystkie zbiory kompleksów wybranych po jednym z każdej gwiazdy, zabieg taki ma sprzyjać zróżnicowaniu poszczególnych kategorii. Może on jednak nie wystarczyć do zapewnienia rozłączności kompleksów w rozważanych zbiorach i wówczas potrzebne jest poddanie ich dodatkowej modyfikacji, która rozłączność taką wymusi. Rozłączny zbiór kompleksów pokrywających w całości zbiór tre nujący wyznacza grupowanie, dla którego należy obliczyć wartość pewnej funk cji oceny w celu porównania go z grupowaniami uzyskanymi dla innych zbiorów kompleksów. Nie można jednak w ogólnym przypadku zagwarantować, że dla da nej wartości l uda się znaleźć / parami rozłącznych kompleksów pokrywających cały zbiór trenujący T i trzeba wziąć to pod uwagę przy ocenie grupowań lub dopuścić zwiększenie liczby tworzonych kompleksów. Aby skonkretyzować algo rytm 6.1, musimy obecnie poświęcić każdemu z wymienionych tu zagadnień nieco szerszą dyskusję. Poprzestaniemy przy tym na wskazaniu najprostszych rozwiązań i powstrzymamy się od daleko idącego zagłębiania się w szczegóły. Generowanie gwiazd Algorytm 6.1 zakłada, że gwiazdy generuje funkcja zredukowana-gwiazda, która jako argumenty otrzymuje, oprócz zbioru trenującego, ziarno x%, które ma być po krywane przez gwiazdę, oraz zbiór Xs — {x^} pozostałych l — 1 ziaren, które nie mogą być przez nią pokrywane. Podstawowy algorytm generowania gwiazdy jest w zasadzie taki sam jak używany w systemie AQ, nie ma więc potrzeby powtarzać go tutaj. Polega na specjalizowaniu gwiazdy zawierającej początkowo tylko kom pleks uniwersalny, aż do wyeliminowania pokrywania przez nią ziaren ze zbioru Xs — {x^}, przy jednoczesnym pokrywaniu ziarna xks. Tak jak wówczas, rozmiar gwiazdy jest ograniczany d o m ^ 1 kompleksów najlepszych według pewnej funkcji oceny. Oczywiście kryteria uwzględniane przy takiej ocenie będą tym ra zem inne niż w przypadku kompleksów mających służyć jako części warunkowe reguł. Obecnie zależy nam na tym, aby kompleksy były jak najlepiej dopasowa ne do przykładów trenujących, które pokrywają, tak aby było maksymalizowane podobieństwo tych przykładów, jako tworzących jedną grupę potencjalnego gru powania. Jedna z możliwych funkcji oceny może opierać się na rozproszeniu. Pre ferowanie kompleksów o małym rozproszeniu zapewnia, że opisują one przede wszystkim pokrywane przez siebie przykłady trenujące i tylko w niewielkim stop niu inne przykłady. Wygenerowaną w zwykły sposób gwiazdę poddaje się ograniczającej ogólność redukcji, która ma dodatkowo ograniczyć rozproszenie kompleksów. Operacja ta polega na zastąpieniu każdego kompleksu w gwieździe przez najmniej rozproszo ny kompleks pokrywający te same przykłady trenujące co kompleks oryginalny. Można się przekonać, że warunek ten spełnia zredukowany kompleks k' wyzna-
6.2. GRUPOWANIE ZA POMOCĄ POKRYĆ
327
czany dla oryginalnego kompleksu k w następujący sposób:
(6.6)
k' = U kx. xeTk
Zredukowany kompleks powstaje więc jako suma wszystkich maksymalnie szcze gółowych kompleksów pokrywających przykłady trenujące pokrywane przez ory ginalny kompleks. Redukcja zmniejszając ogólność nie zmniejsza więc liczby po krywanych przykładów trenujących, a tylko rozproszenie poszczególnych kom pleksów. Zapewnianie rozłączności Ocenianie kompleksów w generowanych gwiazdach według rozproszenia oraz ich późniejsza redukcja ma na celu zapewnić możliwie duże zróżnicowanie poszcze gólnych kategorii potencjalnego grupowania, jakie wyznaczają wybrane z tych gwiazd kompleksy. Zabiegi te mogą nie wystarczyć jednak do uzyskania w każ dej sytuacji kompleksów parami rozłącznych. Niezbędne jest wówczas poddanie branego pod uwagę zbioru kompleksów odpowiedniej modyfikacji. W algoryt mie 6.1 zadanie to wykonuje funkcja zapewnij-rozłączność. Jej argumentem jest zbiór kompleksów, a wynikiem ten zbiór w razie potrzeby zmodyfikowany tak, aby każde dwa należące do niego kompleksy były rozłączne. Omawianie sposobu zapewnienia rozłączności rozpocznijmy od sprecyzowa nia jej znaczenia za pomocą następującej definicji. • DEFINICJA 6.4. Kompleksy ki / k 2 są rozłączne, jeśli ki A k2 — (0).
0
Zatem w wyniku wykonania operacji K := zapewnij-rozłączność(K)
(6.7)
dla dowolnego zbioru kompleksów K mamy uzyskać spełnienie warunku (6-8)
( V k l 5 k 2 e l O k i A k 2 = <0>.
Pamiętamy oczywiście, że kompleks pusty (0) to dowolny kompleks, zawierają cy przynajmniej jeden pusty selektor. Oznacza to, że kompleksy ki i k2, których koniunkcjąjest kompleks pusty, przynajmniej na jednej pozycji i zawierają selek tory sf1 i sf2t dla których Vkx nVk2 = 0 . Oczywiście kompleksy rozłączne nie s
i
s
i
pokrywają żadnego wspólnego przykładu dziedziny, czyli jest spełniony warunek
x kl nx k2 -0.
(6.9)
328
ROZDZIAŁO. GRUPOWANIE POJĘCIOWE
W pierwszym i najprostszym podejściu do zapewniania rozłączności, jakie rozważymy, modyfikacja zbioru kompleksów zawsze spowoduje, że pozostaną pewne nie pokryte przykłady trenujące. Zgodnie z tym podejściem należy kolej no znajdować w zbiorze K pary kompleksów, którym możliwie niewiele braku je do rozłączności, a następnie modyfikować jeden lub oba z nich w ten sposób, aby tę rozłącznosc uzyskać i jednocześnie aby liczba przykładów, które przestaną być pokrywane, była jak najmniejsza. Dokładniej, dla każdej pary kompleksów ki, k2 E K, które nie są rozłączne, należy znaleźć pozycję i E {1, 2 , . . . , n} ta ką, że selektory znajdujące się na niej w obu kompleksach mają zbiory wartości dozwolonych o najmniejszej części wspólnej: % — argmm i
(6.10)
Postępując w ten sposób wyznaczymy dwa kompleksy, dla których ta minimalna część wspólna dla selektorów jest najmniejsza. Wówczas pozostaje pomniejszyć jeden lub oba z odpowiednich zbiorów wartości dozwolonych y^ i Vs kx zapew ni i niając ich rozłącznosc w sposób, który spowoduje, że możliwie niewielka liczba przykładów trenujących przestanie być pokrywana. Takie przykłady będą jednak na pewno istniały, gdyż kompleksy były poddane wcześniej redukcji, na skutek której zbiór wartości dozwolonych dla każdego selektora jest minimalny i usu nięcie z niego jakiejkolwiek wartości wykluczy pokrywanie przynajmniej jednego przykładu. Drugie podejście, jakie warto wziąć pod uwagę, daje szansę na to, że licz ba przykładów nie pokrywanych na skutek przeprowadzanych modyfikacji będzie mniejsza, lecz w zamian zadowala się osiągnięciem zamiast pełnej rozłączności tylko rozłączności na zbiorze trenującym. Zakładając, że zbiór trenujący jest do statecznie duży i reprezentatywny dla dziedziny, można przyjąć, że grupowanie reprezentowane przez kompleksy rozłączne na zbiorze trenującym będzie zado walające w praktyce i podczas jego stosowania przykłady pokrywane przez różne kompleksy będą występować stosunkowo rzadko. W ogólnym przypadku rozłącznosc kompleksów na dowolnym zbiorze przy kładów oznacza, że żaden przykład z tego zbioru nie jest pokrywany przez oba te kompleksy. Mówi o tym następująca definicja. • DEFINICJA 6.5. Kompleksy ki i k2 dla dziedziny X są rozłączne na zbiorze przykładów P C I , jeśli jest spełniony warunek
P k i n P k l =0.
(6.11)
0
329
6.2. GRUPOWANIE ZA POMOCĄ POKRYĆ
Kompleksy, które są rozłączne w sensie definicji 6.4, są oczywiście rozłączne na całej dziedzinie3. W naszym przypadku interesuje nas zapewnienie rozłączności dowolnych dwóch kompleksów ze zbioru K na zbiorze trenującym T. W tym celu można wyznaczyć zbiór tych przykładów trenujących, które są pokrywane przez więcej niż jeden kompleks z K: T\K\>I
=
|x
G T
| (3kXj k 2 eK)kl>xAk2>xAk1ć
k 2 }.
(6.12)
Przez T^K^1 — T — rl*"^ 1 oznaczymy zbiór pozostałych przykładów, pokry wanych najwyżej przez jeden kompleks z K. Zastępując każdy kompleks k e K kompleksem wyznaczonym następująco:
k' =
U
k,
(6.13)
zapewnimy oczywiście rozłączność kompleksów, kosztem pominięcia niektórych lub wszystkich wielokrotnie pokrywanych przykładów. Przynajmniej część z nich można jednak „uratować". W tym celu dla każdego przykładu x £ T\K\>1 należy wziąć pod uwagę zastąpienie w zbiorze K każdego kompleksu k E K pokrywa jącym ten przykład kompleksem wyznaczonym jako: k' = k U k x .
(6.14)
Modyfikacja może być przeprowadzona, jeśli poddany jej kompleks nie przestanie być rozłączny na zbiorze T z każdym z pozostałych kompleksów ze zbioru K. Jeśli jest to możliwe dla więcej niż jednego kompleksu, to należy wybrać ten z nich, dla którego grupowanie reprezentowane przez otrzymany po takiej modyfikacji zbiór K będzie mieć najwyższą jakość według stosowanej funkcji oceny. Nie pokryte przykłady Trzeba się liczyć z tym, że pozostaną przykłady trenujące nie pokryte przez żadne kompleksy z reprezentującego grupowanie zbioru K*. Liczba takich nie pokrytych przykładów może być, jak zobaczymy, jednym z kryteriów oceny jakości grupo wali Można też do algorytmu 6.1 wprowadzić prostą modyfikację, polegającą na wygenerowaniu dla tych przykładów minimalnej liczby dodatkowych komplek sów, zapewniających ich pokrycie i rozłącznych z kompleksami ze zbioru K*. W tym celu należałoby spośród nie pokrytych przykładów wybrać V ^ 1 ziaren i dla każdego z nich skonstruować w zwykły sposób zredukowaną gwiazdę, nie 3
Stwierdzenie odwrotne jest prawdziwe przy założeniu, że dla każdego możliwego wektora war tości atrybutów z iloczynu kartezjańskiego A\ x Ai x • • • x An dziedzina zawiera przynajmniej jeden przykład opisany przez taki wektor.
330
ROZDZIAŁO. GRUPOWANIE POJĘCIOWE
pokrywającą żadnego z pozostałych /' — 1 ziaren, a także żadnego z ziaren, jakie były poprzednio użyte do wygenerowania zbioru K*. Z powstałych gwiazd moż na następnie wybrać V kompleksów, po jednym z każdej, zapewnić w odpowiedni sposób ich rozłączność między sobą i z kompleksami ze zbioru K* oraz rozważyć dołączenie ich do tego zbioru, oceniając jakość powstającego w ten sposób gru powania. Najlepsze z takich rozszerzeń zbioru K* byłoby następnie zachowywa ne, a w przypadku, gdyby w dalszym ciągu pozostały nie pokryte przykłady, cały przedstawiony cykl należałoby powtórzyć. Rozsądną heurystyką doboru wartości lf jest ustalenie jej jako liczby całkowitej równej w przybliżeniu \rp
rp
w'
I
1
(615)
przy czym TK* oznacza zbiór wszystkich przykładów trenujących pokrywanych przez pewien kompleks ze zbioru K*: TK^={xeT\
(Bk G K*) k > x}.
(6.16)
Wybór ziaren Każda iteracja w algorytmie 6.1 rozpoczyna się od wyboru l ziaren ze zbioru trenu jącego, dla których są następnie tworzone gwiazdy. Przy pierwszej iteracji, kiedy zbiór K* jest jeszcze pusty, może to być losowy wybór l przykładów trenujących. Ze względu na dążenie do maksymalnego zróżnicowania tworzonych kategorii warto postarać się o to, aby wybrane ziarna jak najbardziej się od siebie różni ły według pewnej zdroworozsądkowej miary odległości. Jeśli ograniczymy się do atrybutów nominalnych, to taką miarą jest liczba różnych wartości atrybutów. Jej uogólnienie uwzględniające atrybuty porządkowe i ciągłe może być określone ja ko średnia odległość między wartościami wszystkich atrybutów, przy czym odle głość dla atrybutów nominalnych jest równa 0 w przypadku jednakowych wartości i 1 w przypadku różnych wartości, a dla pozostałych typów atrybutów odległo ści należy poddać operacji skalowania zapewniającej, że ich maksymalna wartość wynosi także 1. Mając określoną odległość dla przykładów można wybierać ziar na kolejno, pierwsze z nich losując, a każde następne wyznaczając jako przykład o maksymalnej średniej odległości od wszystkich wcześniej wybranych ziaren. W dalszych iteracjach jest znany zbiór kompleksów K* reprezentujący najlep sze dotychczas utworzone grupowanie. Wówczas ziarna dla kolejnej iteracji mogą być wybierane spośród przykładów zaliczonych do poszczególnych kategorii te go grupowania, po jednym z każdej. Takie podejście wynika z dążenia do tego, aby kolejne iteracje algorytmu raczej poprawiały grupowanie utworzone we wcze śniejszych iteracjach, niż generowały całkowicie nowe grupowanie.
6.2. GRUPOWANIE ZA POMOCĄ POKRYĆ
331
Kryterium stopu Skoro od kolejnych iteracji algorytmu oczekuje się pewnej modyfikacji grupowa nia poprawiającej jego jakość, naturalne jest zaprzestanie wykonywania dalszych iteracji, jeśli poprawa taka przestanie następować. Kryterium stopu dla algoryt mu 6.1 można więc w najprostszym przypadku sformułować jako warunek, że w pewnej ustalonej liczbie ostatnich iteracji wartość $T(K*) nie uległa zmianie.
6.2.3 Ocena jakości grupowania Chociaż algorytm grupowania za pomocą pokryć z samej swej istoty zapewnia po dobieństwo przykładów w ramach każdej kategorii, jako pokrywanych przez ten sam kompleks, i zróżnicowanie przykładów z różnych kategorii, jako pokrywa nych przez rozłączne kompleksy, wśród możliwych do uzyskania za jego pomocą grupowań o takich właściwościach można wyróżnić grupowania lepsze i gorsze, przyjmując pewne kryteria ich oceny. Można podać szereg kryteriów, które repre zentują uzasadnione preferencje dla grupowań o różnych pożądanych właściwo ściach, w szczególności: • dopasowanie kategorii do przykładów trenujących, mierzone jako łączne roz proszenie wszystkich kompleksów wyznaczających grupowanie — należy pre ferować grupowania o jak najmniejszym rozproszeniu, • złożoność opisu kategorii, mierzona, tak jak dla zbiorów reguł, jako liczba występujących we wszystkich kompleksach selektorów nieuniwersalnych — należy preferować grupowania o kategoriach jak najprościej opisanych, • zróżnicowanie kategorii, reprezentowanych przez kompleksy rozłączne tylko na zbiorze trenującym, mierzone przez łączne rozproszenie koniunkcji wszyst kich par kompleksów — należy preferować grupowania o jak najmniejszym łącznym rozproszeniu koniunkcji, • stopień pokrycia zbioru trenującego, mierzony przez liczbę nie pokrywanych przez grupowanie przykładów — należy preferować grupowania pokrywające jak największą część zbioru trenującego. Tak jak w przypadku algorytmów indukcji reguł, różne kryteria mogą być uwzględ nione za pomocą funkcji oceny typu LEF. 6.2.4
Liczba kategorii
W przedstawionej postaci schemat grupowania za pomocą pokryć wymaga, aby liczba generowanych kompleksów, a tym samym liczba tworzonych kategorii, by ła z góry ustalona. Może to być w wielu sytuacjach wymóg dość niewygodny. Wprawdzie można sobie wyobrazić, że niekiedy użytkownik systemu grupowania pojęciowego ma dość dobre podstawy, by wiedzieć, powstania ilu grup oczekuje,
332
ROZDZIAŁO. GRUPOWANIE POJĘCIOWE
znacznie częściej jednak jest to nie mniej trudne do określenia niż inne składniki zadania grupowania pojęciowego. Nie ulega wątpliwości, że pozostawianie ustale nia liczby kategorii poza zakresem odpowiedzialności algorytmu grupowania jest w ogólnym przypadku trudne do przyjęcia. Najbardziej bezpośrednie podejście do określania liczby kategorii może pole gać na próbnym wygenerowaniu grupowań za pomocą algorytmu 6.1 dla różnych wartości l i wybranie następnie najlepszego z nich. Wprawdzie przezwycięża to naszą trudność tylko połowicznie, gdyż w dalszym ciągu pozostaje problem wybo ru kandydujących wartości l9 jakie należy wypróbować, lecz często może być roz wiązaniem satysfakcjonującym, o ile zwiększenie kosztów obliczeń nie jest zbyt poważnym problemem. Jeśli tylko można określić niezbyt szeroki przedział, w ja kim powinna się zawierać oczekiwana liczba kategorii, to takie proste podejście jest do przyjęcia. Gdy brak jest wiedzy na temat dziedziny, umożliwiającej chociaż w przybli żeniu określenie, jak wielu kategorii należy się spodziewać, można zmodyfikować algorytm 6.1 tak, aby wartość l określała minimalną liczbę kategorii, która mogła by ulec zwiększeniu w trakcie jego działania. W pierwszej iteracji w dalszym cią gu należałoby wybierać l ziaren i na ich podstawie generować /-elementowy zbiór kompleksów K*, lecz w kolejnych iteracjach liczba ziaren byłaby zwiększana. Już wcześniej braliśmy pod uwagę podobną możliwość w przypadku, gdyby dotych czasowe grupowanie nie pokrywało całego zbioru trenującego, proponując wtedy wybranie pewnej liczby dodatkowych ziaren spośród nie pokrytych przykładów. Można jednak również dopuścić wybranie do kolejnej iteracji więcej niż jedne go ziarna z niektórych kategorii dotychczasowego grupowania. Jedna ze strategii postępowania może polegać na tym, aby wybierać po dwa ziarna z pewnej ustalo nej liczby kategorii opisywanych przez kompleksy o największym rozproszeniu, a więc najgorzej dopasowane do pokrywanych przez siebie przykładów. W bardzo dużym przybliżeniu odpowiada to dzieleniu najmniej jednorodnych wewnętrznie kategorii na dwie podkategorie. 6.2.5
Klasyfikowanie przykładów
Do istoty grupowania pojęciowego należy możliwość stosowania uzyskanej na podstawie przykładów trenujących hipotezy do klasyfikowania dowolnych przy kładów z dziedziny. W przypadku grupowania za pomocą pokryć hipoteza repre zentowana przez zbiór kompleksów ma więc umożliwić wskazanie odpowiedniej kategorii dla dowolnego przykładu. Jeśli klasyfikowany przykład jest pokrywany przez dokładnie jeden kompleks z tego zbioru, to nie ma z tym żadnego proble mu i kategoria, do której należy przykład, jest wyznaczana jednoznacznie. Ponie waż jednak kompleksy opisujące poszczególne kategorie mogą nie być w ogólnym przypadku parami rozłączne (jeśli zadowolimy się przy ich tworzeniu tylko roz-
6.2. GRUPOWANIE ZA POMOCĄ POKRYĆ
333
łącznością na zbiorze trenującym) i mogą nie pokrywać całej dziedziny (a nawet całego zbioru trenującego), trzeba liczyć się z wystąpieniem dwojakiego rodzaju problemów: klasyfikowany przykład może zostać pokryty przez więcej niż jeden kompleks oraz może nie zostać pokryty przez żaden kompleks. Z podobnymi problemami mieliśmy do czynienia w rozdziale 4 przy klasy fikowaniu przykładów za pomocą zbiorów reguł. Proponowane wówczas podej ście do klasyfikowania przykładów nie pokrywanych, oparte na wprowadzeniu odpowiedniej miary częściowego pokrywania, może być stosowane również tutaj. Umożliwia ono znalezienie dla przykładu x kompleksu k o maksymalnej wartości ju(k, x), czyli takiego, któremu „najmniej brakuje" do pokrycia tego przykładu. Problem przykładów pokrywanych przez więcej niż jeden kompleks jest trud niejszy do zadowalającego rozwiązania. Rzeczywiście warto zabiegać o rozłączność kompleksów dla poszczególnych kategorii podczas ich generowania. Tech nika proponowana wcześniej dla zbiorów reguł polegała na ustalaniu kategorii klasyfikowanego przykładu w drodze swego rodzaju głosowania pokrywających ten przykład reguł, z siłą głosu równą liczbie pokrywanych każdą z nich przykła dów trenujących. Wówczas jednak ta sama kategoria mogła występować w części decyzyjnej więcej niż jednej reguły. Obecnie każdy kompleks reprezentuje jed ną, inną od wszystkich pozostałych kategorię i żaden rodzaj głosowania nie może być stosowany — należy spośród pokrywających przykład kompleksów wybrać dokładnie jeden. Trudno jednak jest wskazać kryterium takiego wyboru, które by łoby dobrze uzasadnione i niearbitralne. Najbardziej naturalnym kryterium wydaje się rozproszenie poszczególnych kompleksów względem zbioru trenującego, któ re należałoby dla każdego z nich przechowywać. Ponieważ algorytm generowania kompleksów zapewnia ich rozłączność przynajmniej na zbiorze trenującym, więc przykład, który został pokryty przez więcej niż jeden kompleks, jest na pewno przykładem spoza tego zbioru. Najwięcej przykładów spoza zbioru trenującego mogą pokrywać kompleksy najbardziej rozproszone, co sugerowałoby wybór dla klasyfikowanego przykładu kategorii reprezentowanej przez kompleks o maksy malnym rozproszeniu. Oznacza to uznanie za mniej prawdopodobną przynależ ność przykładu do kategorii opisywanych przez kompleksy o małym rozproszeniu, pokrywających niewiele przykładów spoza zbioru trenującego. Warto zauważyć, że przyjąwszy odpowiednią strategię klasyfikowania przy kładów nie pokrywanych przez żaden kompleks i pokrywanych wielokrotnie, mo żemy ją stosować również do przykładów, dla których wartości niektórych atry butów nie są znane. W najprostszym podejściu wystarczy przy tym przyjąć, że nieznana wartość atrybutu może być pokrywana przez dowolny selektor, a zbiór kompleksów pokrywających przykład ustalić, uwzględniając tylko znane warto ści jego atrybutów. Wówczas, po wyznaczeniu w zwykły sposób jednej właści wej kategorii dla takiego przykładu, można wykorzystać opisujący ją kompleks do wnioskowania na temat brakujących wartości atrybutów tego przykładu. Dokład-
334
ROZDZIAŁO. GRUPOWANIE POJĘCIOWE
niej, jeśli dla przykładu x nie jest znana wartość pewnego atrybutu aj, któremu w kompleksie opisującym kategorię przykładu x odpowiada selektor Sj, to można wnioskować, że ai{x) E VSi. Przy okazji trzeba też wspomnieć o postępowaniu z brakującymi wartościami atrybutów dla przykładów trenujących podczas ucze nia się. W tym przypadku można przyjąć, jak to było już wcześniej sugerowane dla algorytmów indukcji reguł w rozdziale 4, że brakujące wartości są pokrywane wy łącznie przez selektory uniwersalne, zgodnie z założeniem, że brakująca wartość może być dowolna.
6.3 Grupowanie probabilistyczne O drugim omawianym w tym rozdziale podejściu do problemu grupowania moż na w odpowiednio dużym uproszczeniu powiedzieć, że ma się do pierwszego, opartego na pokrywaniu zbioru trenującego kompleksami, mniej więcej tak, jak do algorytmów indukcji reguł przez sekwencyjne pokrywanie mają się algorytmy klasyfikacji bayesowskiej, w szczególności naiwny klasyfikator bayesowski. Cho ciaż bowiem sam algorytm, który zamierzamy omówić, pochodzący z systemu COBWEB, nie przypomina naiwnego klasyfikatora bayesowskiego w zbyt dużym stopniu, to jednak łączy go z nim jedna istotna wspólna cecha — przechowywanie dla każdej kategorii oszacowań rozkładów prawdopodobieństwa wartości wszyst kich atrybutów4. W przypadku naiwnego klasyfikatora bayesowskiego są to kate gorie ustalone dla przyjętej klasy pojęć, a w przypadku algorytmu, któremu jest poświęcony ten podrozdział, są to kategorie tworzone w procesie grupowania, re prezentowane właśnie za pomocą takich oszacowań. W systemie COBWEB są one tworzone i przechowywane tylko dla atrybutów dyskretnych i nie są dopuszczalne atrybuty ciągłe, więc opis tego podejścia rozpoczniemy zakładając, że na dziedzi nie są określone wyłącznie atrybuty nominalne lub porządkowe, dla których jed nak relacja porządku będzie pomijana. W kolejnym podrozdziale, poświęconym grupowaniu dla atrybutów ciągłych, oprócz innych metod pokażemy uogólnienie algorytmu COBWEB, umożliwiające wykorzystywanie także atrybutów ciągłych, podobne zresztą do demonstrowanego w poprzednim rozdziale odpowiedniego uogólnienia naiwnego klasyfikatora bayesowskiego. W przeciwieństwie do reprezentacji kategorii za pomocą kompleksów, repre zentacja probabilistyczna nie wymusza ani nie preferuje podobieństwa przykła dów w ramach kategorii i ich zróżnicowania między kategoriami. Odpowiedzial ność za uwzględnienie tych ważnych kryteriów musi przyjąć funkcja oceny, która w związku z tym staje się podstawowym, może najważniejszym elementem całego algorytmu i dlatego będzie przedstawiona już na początku jego opisu. Aby jednak 4 Z tego względu dobrze się składa, że algorytm ten jest omawiany w rozdziale następującym bezpośrednio po rozdziale poświęconym probabilistycznym metodom uczenia się.
6.3. GRUPOWANIE PROBABILISTYCZNE
335
umieścić ją we właściwym kontekście, rozpoczniemy od przypomnienia cały czas obecnego i uzasadnionego, lecz nie zawsze eksponowanego punktu widzenia na proces uczenia się, który traktuje go jako przeszukiwanie przestrzeni hipotez.
6.3.1 Grupowanie pojęciowe jako przeszukiwanie Każdy rodzaj indukcyjnego uczenia się i niemal każdy rodzaj uczenia się w ogó le można traktować jako przeszukiwanie przestrzeni hipotez w celu znalezienia hipotezy spełniającej pewne kryteria, dotyczące między innymi, chociaż nie wy łącznie, jej zgodności z informacją trenującą otrzymaną przez ucznia. Perspektywa ta w przypadku niektórych algorytmów jest szczególnie dogodna, gdyż można je dzięki niej przedstawić jako konkretyzacje pewnego ogólnego schematu przeszu kiwania przestrzeni, w której można się poruszać za pomocą zestawu operatorów, a kierunki tego poruszania wybierać według wartości pewnych funkcji heurystycz nych. Algorytm COBWEB szczególnie dobrze odpowiada takiemu spojrzeniu na uczenie się, jego działanie można bowiem postrzegać jako przeszukiwanie prze strzeni możliwych grupowan dla zbioru trenującego. Aby ten proces przeszukiwa nia dokładnie opisać, należy podać: • reprezentację grupowania, czyli elementów przeszukiwanej przestrzeni, • operatory używane do poruszania się w przestrzeni grupowan, czyli możliwe modyfikacje przekształcające grupowanie w inne, być może lepsze grupowa nie, • heurystyczną funkcję oceny grupowania, używaną do kierowania procesem przeszukiwania, czyli wyboru kierunków w przestrzeni, w których należy się przemieszczać, • strategię przeszukiwania, czyli sposób, w jaki funkcja heurystyczna i operatory są używane do przeglądania przestrzeni grupowan. Powyższym zagadnieniom poświęcimy dalszy ciąg tego podrozdziału, rozpoczy nając od przedstawienia funkcji oceny, gdyż jej postać będzie miała wpływ na przyjętą reprezentację grupowania, od której z kolei zależą operatory i strategia ich stosowania. 6.3.2
Funkcja oceny grupowania
Głównym zadaniem funkcji oceny grupowania używanej w systemie COBWEB jest promowanie grupowan dających duże podobieństwo przykładów w obrębie tej samej kategorii i małe podobieństwo przykładów w różnych kategoriach. Jest to tym bardziej ważne, że przyjęta reprezentacja kategorii w żaden sposób jej w tym nie wspomaga, gdyż umożliwia z jednakową łatwością reprezentowanie kategorii
336
ROZDZIAŁO. GRUPOWANIE POJĘCIOWE
zarówno charakteryzujących się pożądanymi właściwościami, jak i tych właści wości pozbawionych. Wiemy już, że kategorie mają być reprezentowane w sposób probabilistyczny. Jakie dokładnie rozkłady prawdopodobieństwa powinny być dla nich szacowane i przechowywane wyniknie właśnie z postaci funkcji oceny. Nie musimy obecnie określać dokładnie reprezentacji całego grupowania — wystarczy nam tymczasem przyjąć, że ocenie podlega pewna hipoteza dla pojęcia wielokrotnego h : X \-> Ch, przy czym Ch jest zbiorem kategorii hipotezy h. Załóżmy, że przykłady wybiera ne są z dziedziny X zgodnie z określonym na niej rozkładem prawdopodobień stwa fi. Ponadto jak zwykle przyjmiemy, że na dziedzinie określone są atrybuty a% : X \-> A{ dla i = 1, 2 , . . . , n, przy czym zgodnie z wcześniejszą zapowiedzią ograniczymy się do atrybutów dyskretnych. Prawdopodobieństwa a podobieństwo Dla każdej kategorii d E Ch interesować nas będzie zbiór prawdopodobieństw postaci PrxGS7 (a,i{x) = v | h(x) = d) dla i = 1,2,... , n i v E A{, czyli praw dopodobieństwa tego, że atrybut a* ma dla wybranego zgodnie z rozkładem fi przykładu x E X wartość v, jeśli wiadomo, że przykład ten został w grupowa niu zaliczony do kategorii d. Według jednej z możliwych interpretacji prawdo podobieństwa tej postaci mogą reprezentować stopień podobieństwa przykładów w ramach kategorii d. Nieformalne uzasadnienie takiej interpretacji jest nastę pujące. Jeśli dla wszystkich lub znacznej części atrybutów prawdopodobieństwa P r zen {di(x) — v | h{x) = d) są duże dla jednej lub kilku wartości v oraz ma łe dla pozostałych wartości, to pozwala to, wiedząc, że przykład jest zaliczony do kategorii d, z dużą dokładnością przewidywać wartości jego atrybutów. Ina czej mówiąc, im większe wartości osiągają te prawdopodobieństwa, tym bardziej podobne są przykłady zaliczone do tej samej kategorii. Rozważmy obecnie prawdopodobieństwa Pr x 6 n (h(x) — d\ai{x) = v) dla każdej kategorii d E Ch oraz i = 1, 2 , . . . , n i v E Aj, czyli prawdopodobieństwa tego, że przykład losowo wybrany z X zgodnie z rozkładem fi zostanie zaliczony przez grupowanie do kategorii d, jeśli atrybut a\ ma dla tego przykładu wartość v. Tym razem możliwa jest ich interpretacja jako wartości odzwierciedlających stopień podobieństwa, albo raczej braku podobieństwa, przykładów różnych ka tegorii. Jeśli bowiem dla pewnej kategorii d prawdopodobieństwa takie są duże dla pewnego zestawu lub zestawów wartości atrybutów, to dla przykładów o ta kich wartościach atrybutów można ich kategorię wyznaczyć z dużą dokładnością, a więc przykłady należące do tej kategorii są mało podobne do przykładów innych kategorii. Im większe są wartości tych prawdopodobieństw, tym mniej wspólnych wartości atrybutów mają przykłady różnych kategorii i tym bardziej są w związku z tym zróżnicowane.
337
6.3. GRUPOWANIE PROBABILISTYCZNE
Prawdopodobieństwa dwóch podanych rodzajów, wartości atrybutów przy zna nej kategorii i kategorii przy znanych wartościach atrybutów, pozwalają zgodnie z powyższą nieformalną argumentacją na mierzenie stopnia podobieństwa przy kładów tej samej kategorii i zróżnicowania przykładów różnych kategorii. Obie te miary mają być uwzględnione przez funkcję oceny jakości grupowania, przy czym maksymalizacja wartości tej funkcji powinna prowadzić do maksymalizacji obu z nich. Wydaje się, że na osiągnięcie tego celu pozwala wyrażenie n YIILIL
Pr
^ f i K W ^v)Prxen
(h(x) = d\ai(x) = v) •
dech i~iveAi • Pr^en {di(x) = v | h(x) = d),
(6.17)
które reprezentuje wymianę między podobieństwem wewnątrz kategorii a bra kiem podobieństwa między kategoriami, mnożąc odpowiednio parami prawdo podobieństwa obu rodzajów. Składnik powyższej sumy, odpowiadający pewnej kategorii d £ C^, atrybutowi ai i jego wartości v € Au będzie miał dużą war tość, jeśli dla losowo wybranego przykładu x E X, dla którego ai{x) — v, jest w znacznym stopniu prawdopodobne, że h(x) = d, jeśli zaś h(x) = d, to z dużym prawdopodobieństwem a{(x) — v. Występujące dodatkowo w iloczynie prawdo podobieństwo PxX£ci(a,i(x) = v) powoduje przypisanie większej wagi bardziej prawdopodobnym, a więc częściej występującym wartościom atrybutów. Prawdopodobieństwa a wnioskowanie Ponieważ na podstawie wzoru Bayesa dla dowolnych i = l , 2 , . . . , n , i ; € Ą oraz d G Ch mamy: Prxen(ai(x) ^v)Prxeci
(h(x) = d\ai(x) = v) =
d Pr
x e a (
= Prxen(h(x)
= )
(6.18)
poprzednią sumę można przepisać pozbywając się z niej prawdopodobieństwa P r ^ n (h(x) =d\cii(x) =v): n
Y, ??xen{h(x) =d)J2Yl deCh
Pr
*en M * ) = « I h(x) = df.
(6.19)
i = l vGAi
To z kolei pozwala wzbogacić naszą interpretację tego wyrażenia na mocy nastę pującego rozumowania. Rozważmy losowo wybrany przykład x zaliczony do ka tegorii d i załóżmy, że stoi przed nami zadanie odgadywania wartości poszczegól nych atrybutów dla tego przykładu, na podstawie znajomości prawdopodobieństw
338
R O Z D Z I A Ł O . GRUPOWANIE P O J Ę C I O W E
PrxGQ (ai(x) = v | h(x) = d) dla wszystkich i — 1, 2 , . . . , n i v G A{. Decy zje możemy podejmować na przykład drogą losowania, dla atrybutu ai odgadując z prawdopodobieństwem Pi(v), że ma on wartość v. Wówczas prawdopodobień stwo poprawnego odgadnięcia wartości ai{x) wynosi oczywiście Y Pi(v) veAt
Fr
xen {ai{x) = v \ h(x) = d),
(6.20)
a suma n
Y
Y
Pi(v)
Pr
^en {o>i{x) = u | /i(x) = d)
(6.21)
jest oczekiwaną liczbą „trafień" przy odgadywaniu wartości wszystkich atrybu tów. Jeśli przyjmiemy pewną szczególną probabilistyczną strategię zgadywania, nazywaną dopasowywaniem prawdopodobieństw, zgodnie z którą każdą wartość należy przewidywać z prawdopodobieństwem równym prawdopodobieństwu jej faktycznego wystąpienia, to otrzymujemy pt(v) — Pr xG n (a{(x) — v \ h(x) = d), co pozwala interpretować sumę J2i Y,j P r zen (a* 0*0 = v | /i(:c) = d) występu jącą w równaniu (6.19) jako oczekiwaną liczbę wartości atrybutów, które mogą być poprawnie przewidziane dla dowolnego przykładu zaliczonego do kategorii d zgodnie z tą strategią. Wspomożeni naszkicowaną powyżej dodatkową interpretacją możemy spre cyzować kryterium, które ma uwzględniać funkcja oceny grupowania w systemie COBWEB, jako przyrost oczekiwanej liczby dających się poprawnie przewidzieć wartości atrybutów przy założeniu znajomości ocenianego grupowania, w stosun ku do oczekiwanej liczby odgadnięć bez jego znajomości. Kryterium takie bezpo średnio uwzględnia siłę predykcyjną grupowania, która ma zasadnicze znaczenie dla możliwości wykorzystania go do wnioskowania, jak było to dyskutowane na początku tego rozdziału. Odpowiednią funkcję jakości można zapisać, dla grupo wania reprezentowanego przez hipotezę h : X i-> Ch, rozbudowując odpowiednio wyrażenie z równania (6.19):
^ ) = 17^7 E Pr *en(Mz) = <0 |C/l1 dech
Y Y
Pr
^ (ai(x)=
v hx
l ( ) = d) ~
L 2=1 veAi
~ Y Y i=l
P*xen(a>i{x) - vf
(6.22)
v£A{
Od sumy kwadratów prawdopodobieństw, jakie mieliśmy poprzednio, jest tu odej mowana suma kwadratów odpowiednich prawdopodobieństw bez zakładania zna-
6.3. GRUPOWANIE PROBABILISTYCZNE
339
jomości grupowania5. Całość jest mnożona przez normalizujący czynnik jgk-, któ ry ma na celu skompensowanie wpływu liczby kategorii grupowania na ocenę jego właściwości predykcyjnych. 6.3.3
Reprezentacja grupowania
Wiemy, jak grupowania oceniać i, co się z tym wiąże, jak każdą grupę reprezen tować za pomocą rozkładów prawdopodobieństw. Nie wiemy jednak, jak miałoby być reprezentowane całe grupowanie podlegające ocenie. Omawiając funkcję oce ny przyjmowaliśmy, że można traktować je jako pewne pojęcie wielokrotne i to wówczas wystarczało, lecz obecnie, aby przejść do operatorów modyfikujących grupowania, musimy przyjąć ich bardziej szczegółowo określoną reprezentację. Drzewo grupowania W systemie COBWEB tworzone jest zawsze grupowanie hierarchiczne. Ozna cza to, że podział na grupy następuje na różnych poziomach szczegółowości. Na poziomie najbardziej ogólnym, który nazwiemy poziomem 0, można przyjąć, że wszystkie przykłady wchodzą w skład jedynej kategorii, która dzieli się następnie na poziomie 1 na pewną liczbę podkategorii. Każda z nich ma dalej na poziomie 2 swoje podkategorie i w ten sposób coraz bardziej szczegółowy podział może być kontynuowany; jego naturalny kres następuje, kiedy zostaną uzyskane kategorie obejmujące tylko jeden przykład trenujący, gdyż wówczas nie może być przepro wadzony dalszy podział. Dla każdej kategorii jej podkategorie są oczywiście para mi rozłączne, a każdy przykład kategorii macierzystej należy do dokładnie jednej podkategorii potomnej. Naturalną reprezentacją hierarchicznego grupowania jest drzewo, w którym węzły odpowiadają kategoriom. W związku z tym w węzłach są przechowywane służące do reprezentowania kategorii oszacowania rozkładów prawdopodobieństw. Węzły potomne odpowiadają podkategoriom kategorii, której odpowiada ich wę zeł macierzysty. W korzeniu drzewa znajduje się węzeł odpowiadający kategorii poziomu 0, która zawiera wszystkie przykłady trenujące. Liśćmi drzewa są za zwyczaj węzły kategorii jednoelementowych, które nie mają węzłów potomnych, o ile nie zdecydujemy się zatrzymać podziału na podkategorie wcześniej, na przy kład po osiągnięciu kategorii kilkuelementowych. Możliwość tę skomentujemy jednak oddzielnie, zakładając wcześniej, że podkategorie na najniższym poziomie zawierają pojedyncze przykłady. Dla wygody będziemy mówić, że węzły drzewa 5
Nietrudno zauważyć, że skoro wartość tej sumy nie zależy od hipotezy h, to jest jednakowa dla każdej z możliwych hipotez i nie musi być w gruncie rzeczy obliczana w celu porównywania jakości różnych grupowań. Występuje ona we wzorze określającym funkcję oceny grupowań, aby umożliwić lepszą interpretacje przyjmowanych przez nią wartości.
340
ROZDZIAŁO. GRUPOWANIE POJĘCIOWE
zawierają przykłady lub że dodajemy przykłady do węzłów, mając na myśli ka tegorie związane z tymi węzłami. Jak zobaczymy, nie wiąże się z tym fizyczne przechowywanie ani kopiowanie przykładów. Przyjmuje się najczęściej, że docelowy zbiór kategorii, których nauczenie się jest zadaniem systemu COBWEB, jest reprezentowany przez węzły poziomu 1, czyli bezpośrednie potomstwo korzenia. Związane z tymi węzłami kategorie dają najbardziej „zgrubny" podział zbioru trenującego (i na mocy indukcyjnego uogól nienia — całej dziedziny) na grupy. Może się jednak okazać, że interesujący jest podział bardziej szczegółowy, jaki można znaleźć na nieco niższych poziomach drzewa. Jeśli nawet tak nie jest, to węzły położone niżej w drzewie nie są bez użyteczne, gdyż — jak wkrótce zobaczymy — wykorzystuje się je w procesie modyfikowania drzewa. Przykład 6.2 (Pogoda). Rysunek 6.2 przedstawia jedno z możliwych drzew gru powania hierarchicznego dla dziedziny stanów pogody i zbioru przykładów T z tabl. 2.26. Wewnątrz każdego węzła zaznaczono zbiór przykładów zaliczonych do związanej z nim kategorii.
Rys. 6.2. Drzewo grupowania hierarchicznego dla stanów pogody
Ocena węzłów Hierarchiczne grupowanie reprezentowane za pomocą drzewa nie jest oceniane ja ko całość — funkcja oceny jakości jest zawsze stosowana tylko do zbioru kategorii o wspólnej kategorii macierzystej. Inaczej mówiąc, oceniany jest zawsze podział 6
Nie ma w tej chwili znaczenia, że w tabl. 2.2 znajdują się również etykiety pojęcia docelowe go c. Możemy potraktować ten zbiór przykładów jako zbiór trenujący dia zadania tworzenia pojęć, pomijając te etykiety.
6.3. GRUPOWANIE PROBABILISTYCZNE
341
przykładów pewnej kategorii na podkategorie, w celu wyboru podziału o najlep szych właściwościach. Taki sposób oceniania dotyczy więc nie całego drzewa, ale jego poszczególnych węzłów, z których każdy oceniany jest ze względu na swo je węzły potomne, wyznaczające podział jego kategorii na podkategorie. Można więc przyjąć, że z każdym węzłem drzewa grupowania jest związana pewna hipo teza, opisująca podział kategorii odpowiadającej temu węzłowi na podkategorie. Ocenie podlega jakość takich hipotez. Wymaga to odpowiedniego zaadaptowania określonej równaniem (6.22) funk cji oceny. Aby stosować ją do oceny podziału kategorii na podkategorie w drzewie reprezentującym grupowanie przyjmujemy, że w każdym węźle są przechowywa ne oszacowania interesujących nas prawdopodobieństw, a dokładniej odpowiednie liczniki, czyli rozkłady częstości, na podstawie których oszacowania te powstają. Weźmy pod uwagę pewien węzeł no i jego węzły potomne ni, 112,..., n m . Przyj miemy, że z węzłem no jest związana hipoteza ho : X \-t Ch0 = {di, Gfe,..., d m } , przy czym kategorie di, G^, . . . , dm s 3 reprezentowane odpowiednio przez węzły ni,n2, • • •, n m . Węzeł no, jeśli nie znajduje się w korzeniu drzewa grupowa nia, ma także pewien węzeł macierzysty n_i, z którym jest związana hipoteza /i_i : X i-» Ch^i* Przyjmiemy w związku z tym, że węzeł n 0 reprezentuje ka tegorię do G C / ^ . Nie ma potrzeby rozważać oddzielnie przypadku, gdy węzeł no znajduje się w korzeniu drzewa i nie ma węzła macierzystego, gdyż wówczas można określić /i„i jako trywialną hipotezę, która każdemu przykładowi x G X przypisuje kategorię h-i(x) = do odpowiadającą węzłowi no. Rysunek 6.3 przed stawia węzeł no i jego węzły potomne, obok których są zaznaczone związane z ni mi kategorie. Wprowadzone wyżej i zilustrowane na tym rysunku konwencje notacyjne będziemy stosować również przy omawianiu operatorów modyfikujących drzewo grupowania.
Rys. 6.3. Notacja dla drzewa grupowania Aby ocenić podział na kategorie reprezentowany przez węzły n i , . . . , n m , na leży obliczyć wartość funkcji oceny dla pojęcia wielokrotnego ho związanego z ich
342
ROZDZIAŁO. GRUPOWANIE POJĘCIOWE
węzłem macierzystym no w następujący sposób: tf(/io) = —
Pr
^ n (ho{x) =d\h-i(x)
P r
^ n M ^ ) = v \ h0(x) = d) -
J2
= d0) •
d€{di,...,d m }
X! X
L 2=1 ^ G A I n
" ] C 5Z P
r
^ K(a:) = v \ h-i(x) = d0)"
(6.23)
i = l ^Gv4i
Obecnie wszystkie występujące w tym wzorze prawdopodobieństwa są warunko we. Warunek ho(x) = d oznacza, że brane są pod uwagę wyłącznie wszystkie przykłady należące do pewnej kategorii d, będącej podkategorią kategorii do. Wa runek h-i(x) = do oznacza, że brane są pod uwagę wyłącznie wszystkie przykła dy należące do kategorii doSzacowanie prawdopodobieństw Do pełnego określenia reprezentacji grupowania w algorytmie COBWEB pozo staje podanie sposobu szacowania prawdopodobieństw występujących w rówaniu (6.23), z którego wynika zestaw informacji, jakie muszą być przechowywane w węzłach drzewa. Przyjmiemy w tym celu, że w każdym węźle jest przecho wywana liczba przykładów trenujących zaliczonych do odpowiedniej kategorii, którą korzystając z naszej standardowej notacji możemy dla węzła no zapisać ja ko \Th~ , a dla każdego z jego węzłów potomnych nk, k = 1,2,... , m, jako , przy czym T oznacza zbiór trenujący. Oczywiście spełniony jest warunek
l
E mk=X
schodki
_
\rph-ido
, skoro podział każdej kategorii na podkategorie jest wy czerpujący, a podkategorie te są parami rozłączne. Dodatkowo dla każdego węzła muszą być przechowywane liczniki reprezentujące rozkład częstości poszczegól nych wartości wszystkich atrybutów w ramach odpowiedniej kategorii. Dla wę nh-ido oraz dla każdego jego węzła potomnego n^, zła no mamy więc liczniki CLiV l
dla i = 1,2,...,n. Mając te wszystkie k = 1, 2 , . . . , m, odpowiednio rphodk -*- CLiV n.-tt wartości możemy prawdopodobieństwa potrzebne do obliczenia #(/io) oszacować następująco: rphoG
Prxefi (h0(x) = d\h^i{x)
= d0)
17^1-100
(6.24)
rph~.ldQ
Prx<En {a,i=v\ h^i(x) = d0)
^/Ł-ido I '
(6.25)
343
6.3. GRUPOWANIE PROBABILISTYCZNE rphod
Pr x e n {a,i{x) = v | hQ{x) = d) = J^hod
(6.26)
Można oczywiście stosować bardziej zaawansowane techniki szacowania prawdo podobieństw niż proste dzielenie liczników, takie jak dobrze nam już znane m-szacowanie, chociaż w tym przypadku zwiększanie w ten sposób wiarygodności oszacowań dla niedużych zbiorów trenujących nie ma tak zasadniczego znaczenia, jak na przykład w przypadku naiwnego klasyfikatora bayesowskiego. Ponieważ, jak się wkrótce okaże, algorytm COBWEB działa w trybie inkrementacyjnym, liczniki przechowywane w węzłach zawsze uwzględniają tylko do tychczas przedstawione algorytmowi przykłady trenujące. W powyższych oszaco waniach należy w tej sytuacji przez T rozumieć zbiór wszystkich tych i tylko tych przykładów trenujących, jakie algorytm przetworzył do tej pory, a nie z założenia nieznany cały zbiór trenujący7. Kiedy podczas przetwarzania przykładu zostanie on zaliczony do pewnej kategorii, musi nastąpić odpowiednia aktualizacja licz ników. Wygodnie będzie nam mówić, że węzeł zawiera przykład, jeśli przykład ten został uwzględniony przez liczniki przechowywane w tym węźle, pamiętajmy jednak, że jest to tylko wygodny sposób opisu i naprawdę żadne zapamiętywanie przykładów w węzłach nie ma miejsca. Przykład 6.3 (Pogoda). Dla drzewa grupowania dla zbioru trenującego z tabl. 2.2 przedstawionego na rys. 6.2, obliczymy wartość funkcji oceny dla węzła zawierające go zbiór przykładów {1, 2,3,4,8,11,12,14}. Węzeł ten reprezentuje jedną z dwóch kategorii pierwszego poziomu drzewa, którą oznaczymy przez dn. Przyjmiemy, że jest z nim związana hipoteza ho : X n-> {di, c/2, c/3, ć/4}, której kategorie di, di, c/3 i c/4 odpowiadają jego czterem węzłom potomnym, reprezentujące podział tego zbioru na podzbiory {1,4,8}, {2,11}, {3}, {12,14}. Przez /i_i, zgodniez wcześniej stosowaną konwencją, oznaczymy w tym przypadku hipotezę związaną z korzeniem drzewa. Do szacowania prawdopodobieństw potrzebne nam będą następujące liczności zbiorów: \rph—\do i
= 4,
rph„ido aura,pochmurna
= 2,
h-ido T,temperatura, umiarkowana = 5,
ph-ido - temperatura,ciepła
= 3,
= 1,
rph-ido wilgotność, duża
= 7,
= 4,
ph — ido - wiatr,silny
= 4,
ph-ido aura,sloneczna
ph-ido wilgotność, normalna ph—ido wiatr,shby \rphodi
ph-ido " aura,deszczowa
= 2,
= 3,
7 Dla pełnej ścisłości powinniśmy oczywiście użyć innego, specjalnego oznaczenia dla liczników przechowywanych w węzłach, lecz dla wygody pozostaniemy przy oznaczeniach tych liczników za pomocą zbioru T, aby wykorzystać konwencje notacyjne, do których czytelnik zdążył się już z pewnością przyzwyczaić.
344
ROZDZIAŁ 6. GRUPOWANIE POJĘCIOWE \rphodi aura, słoneczna
= 2,
\rphodi \ temperatura, umiarkowana
n »
rphodi wilgotność, duża
= 3,
rphodi wiatr,słaby
= 3,
\rph0d2 \rph0d2 aura,słoneczna \n~1hod2 1 temperatura,umiarkowana
\rphodi l1 temperatura,ciepła
= i,
= 2, _
I '
= 1,
\rph0d2 wiatr,silny
= 2,
jnp/i.0^3
= 1,
rphodi aura,pochmurna
= 1,
tempera tura, ciepła
= 1,
rphods wilgotność,duża
= 1,
rphod$ wiatr,słaby
= 1,
\rptiQd4
= 2,
rph^d^ 1 aura,pochmurna
= 1,
rphądĄ ** temperatura,umiarkowana
= 1,
= 2,
rphod2 wilgotność, normalna
I1
\>phodi aura,deszczowa
\rrh0d2 tempera tura, ciepła
= 1,
\rph0d2 wilgotność,duża
= 1,
\rph0d4 \ aura,deszczowa
= i,
= 2,
rphodĄ wilgotność,duża
= 2,
rphod^ wiatr,silny
= 2.
Dla zaoszczędzenia miejsca zostały pominięte puste zbiory przykładów o liczności zero. Szacując prawdopodobieństwa przez dzielenie liczności odpowienich zbiorów, możemy obliczyć interesującą nas jakość grupowania następująco:
^iho) = \ i l lh{22 + l 2 + 22 + l 2 +3 2 + 32) - ^ ( 4 2 + 22 + 22 + 52 + 32 + l2 + 72 + 42 + 42)] + + ^(2
2
+ l2 + l2 + l2 + l2 + 2 2 ) -
- 1(4 2 + 22 + 22 + 52 + 32 + l2 + 72 + 42 + 42)] +
345
6.3. GRUPOWANIE PROBABILISTYCZNE
lr 1
+ i [ ^ ( l 2 + l2 + l2 + l2) 1 - -(42 + 22 + 22 + 52 + 32 + l 2 + 72 + 42 + 42)
+
2r 1 + | [ ™ ( l 2 + l 2 4-2 2 + 22 + 2 2 ) - l ( 4 2 + 22 + 22 + 5 2 -f3 2 + l 2 + 72 + 4 2 + 4 2 ) ] } = ^{0,346 + 0,203 + 0,227 + 0,328} = 0,276. 6.3.4
Operatory
Nadszedł czas na przedstawienie zestawu podstawowych modyfikacji drzewa gru powania, których sukcesywne stosowanie zgodnie ze strategią, omawianą w dal szej kolejności, prowadzi do uzyskania końcowego drzewa reprezentującego wy nik procesu grupowania pojęciowego. Algorytm COBWEB realizuje inkrementacyjny tryb uczenia się, modyfikując konstruowane przez siebie drzewo grupowa nia po zaobserwowaniu każdego przykładu trenującego. Oznacza to, że może on być sformułowany jako sekwencja operacji wykonywanych w celu przetworzenia przykładu oraz, co obecnie interesuje nas najbardziej, że działanie każdego opera tora, jaki może być zastosowany do modyfikacji drzewa, polega na znalezieniu lub utworzeniu odpowiedniego węzła dla aktualnie przetwarzanego przykładu. W systemie COBWEB wykorzystywane są cztery następujące operatory: • zaliczenie przykładu do jednej z istniejących kategorii, • utworzenie nowej kategorii dla przykładu, • połączenie dwóch istniejących kategorii i następnie umieszczenie przykładu w połączonej kategorii, • podzielenie istniejącej kategorii na pewną liczbę odzielnych kategorii i następ nie umieszczenie przykładu w jednej z nich. Tworzenie nowej kategorii oznacza oczywiście tworzenie węzła drzewa. Przeko namy się, że łączenie i podział kategorii polegają odpowiednio na dodawaniu dla węzłów nowego wspólnego węzła macierzystego oraz na zastępowaniu węzła jego węzłami potomnymi. Każdy operator jest szczegółowo omówiony niżej. Opera tory mogą być stosowane do węzłów na różnych poziomach drzewa. Dokładniej, jeśli podczas przetwarzania przykładu na pewnym poziomie został on umieszczo ny w istniejącym lub nowo utworzonym węźle, to następnie, dla zachowania po prawności drzewa jako reprezentacji hierarchicznego grupowania, musi on zostać odpowiednio potraktowany na poziomie jego węzłów potomnych itd. W związku z tym będziemy rozważać, tak jak przedtem mówiąc o ocenianiu podziałów na róż nych poziomach drzewa, pewien węzeł no i jego węzły potomne ni, 112,..., n m . Założymy, że przetwarzany obecnie przykład x* został umieszczony w katego-
346
ROZDZIAŁ 6. GRUPOWANIE POJĘCIOWE
rii do, odpowiadającej węzłowi no, a poszczególne operatory przedstawimy jako możliwe sposoby potraktowania tego przykładu na poziomie węzłów potomnych. Umieszczenie przykładu w istniejącej kategorii Umieszczenie nowego przykładu w istniejącej kategorii jest najprostszym i najbar dziej naturalnym sposobem modyfikacji grupowania. Stosując ten operator należy oczywiście wybrać taką kategorię, dla której po dodaniu do niej nowego przykładu uzyskany podział będzie możliwie najlepszy. W tym celu przykład x* jest tymcza sowo dodawany do każdej z kategorii di, d 2 , . . . , d m , odpowiadających węzłom ni, n 2 , . . . , n m , po czym obliczana jest wartość funkcji oceny #(/io) dla uzyska nego w ten sposób podziału kategorii do związanej z węzłem no na podkategorie. Przykład pozostawiany jest ostatecznie w kategorii, dla której otrzymano najwięk szą wartość tej funkcji. Odpowiadający tej kategorii węzeł nazywany jest najlep szym pojemnikiem dla przykładu x* wśród węzłów ni, n 2 , . . . , n m . Tymczasowe lub ostateczne umieszczenie przykładu w węźle nie oznacza fi zycznego przechowywania go. Operacja ta sprowadza się tylko do modyfikacji odpowiednich liczników, które w tym węźle są przechowywane. W szczególności dodanie przykładu x* do węzła n&, k = 1, 2 , . . . , m, spowoduje zwiększenie o 1 rphodk rphodk wartości oraz aiCLi(x*) dla każdego i = 1,2,..., n. Gdziekolwiek dalej będzie mowa o umieszczeniu lub dodaniu przykładu do węzła lub kategorii, będzie ono rozumiane właśnie w ten sposób. Utworzenie nowej kategorii Umieszczenie przykładu w najlepszym dla niego pojemniku nie zawsze musi pro wadzić do najlepszego grupowania, jakie da się uzyskać. Najprostszy alternatyw ny operator polega na utworzeniu nowej kategorii wyłącznie dla tego przykładu. Dokładniej, tworzony jest nowy liść potomny n m + i węzła no, któremu odpowia da nowa podkategoria d m + i kategorii do, i do tej nowej podkategorii zaliczany jest przykład z*. Jest on wtedy jedynym przykładem tej kategorii. Oznacza to, że y/zodm + l
rphodm+l
= 1 oraz aidi(x*) 1 dla każdego i = l , 2 , . . . , n , a odpowiednie liczniki d a innych wartości atrybutów są równe 0. Dzięki temu operatorowi licz ba kategorii na każdym poziomie drzewa może się zwiększać. Nie ma potrzeby określania z góry żadnych ograniczeń tej liczby, która będzie zależeć od danych trenujących dostarczonych algorytmowi. Połączenie kategorii Grupowania uzyskiwane za pomocą stosowania wyłącznie dwóch pierwszych ope ratorów mogą być w wielu przypadkach zupełnie satysfakcjonujące: każdy kolejny
347
6.3. GRUPOWANIE PROBABILISTYCZNE
przykład jest albo umieszczany w tej spośród istniejących już kategorii, do której najlepiej pasuje, albo we własnej nowej jednoelementowej kategorii, jeśli nie pa suje dość dobrze do żadnej z nich. Wyniki uzyskiwane w ten sposób są jednak w zbyt dużym stopniu uzależnione od kolejności, w jakiej są podawane przykłady, a zależności takiej chcielibyśmy uniknąć. Jej osłabieniu służą operatory połączenia i podziału kategorii, które mogą niekiedy umożliwić uzyskanie lepszego grupowa nia niż wynikające z użycia któregoś z dwóch poprzednich operatorów. Połączenie kategorii polega na wybraniu dwóch węzłów drzewa i zastąpie niu ich jednym węzłem, reprezentującym połączoną kategorię. Weźmy pod uwagę pewne węzły n^, n/ G {ni, 112, - -., n m } , będące węzłami potomnymi węzła no. Operator połączenia powoduje zastąpienie tych dwóch węzłów jednym nowym węzłem n p , dla którego przechowywane w nim liczniki są równe sumie odpo wiednich liczników z węzłów n^ i n/, czyli rphodp = j-ihodk + rph^di oraz rpfloa -L(LiV
rnhodk
f-phodi
dla wszystkich i = 1, 2 , . . . , n, v G Ai. Kategorie d\~ -*• aiV i di są wówczas oczywiście podkategoriami kategorii dp i w związku z tym węzły n^ i n; stają się węzłami potomnymi węzła n p . Na koniec aktualny przykład x* zostaje w zwykły sposób dodany do połączonej kategorii dp. Chociaż ewentual ne połączenie można w zasadzie rozważać dla dowolnych par węzłów, byłoby to dość kosztowne. W algorytmie COBWEB stosuje się w związku z tym heurystykę, zgodnie z którą podczas przetwarzania przykładu x możliwość połączenia jest brana pod uwagę tylko dla dwóch węzłów, będących najlepszymi pojemnikami dla tego przykładu. Ilustrację połączenia węzłów przedstawia rys. 6.4. Q>iV
+
a) przed połączeniem ni i ri2
b) po połączeniu ni i n2
Rys, 6.4. Połączenie węzłów w drzewie grupowania systemu COBWEB
Podział kategorii Podział kategorii jest operacją w przybliżeniu odwrotną do połączenia. Przybliże nie polega tu na tym, że o ile połączenie jest zawsze stosowane tylko dla wybra nych dwóch węzłów, o tyle podział może prowadzić do zastąpienia jednej katego rii ich większą liczbą. Dokładniej, w wyniku podziału kategoria jest zastępowana
348
ROZDZIAŁO. GRUPOWANIE POJĘCIOWE
przez wszystkie swoje podkategorie albo, inaczej mówiąc, węzeł jest zastępowany przez wszystkie swoje węzły potomne. Nie są przy tym potrzebne żadne oblicze nia, a jedynie prosta manipulacja na strukturze drzewa. Jeśli ma być pewna po dzielona kategoria dp związana z węzłem n p , będącym węzłem potomnym węzła no, który sam ma z kolei węzły potomne n p i, nP2, • • •, n p m p , to po prostu miej sce węzła np w zbiorze węzłów potomnych węzła no zajmują wszystkie te węzły. Możliwość podziału jest brana pod uwagę dla najlepszego pojemnika dla aktualne go przykładu x. Po dokonaniu tego podziału przykład ten może być umieszczony w najlepszym pojemniku spośród uzyskanych w wyniku podziału węzłów, chociaż w algorytmie, który przedstawimy, jest stosowane nieco bardziej ogólne rozwią zanie. Ilustrację podziału węzłów przedstawiono na rys. 6.5. a) przed podziałem n2
b) po podziale n2
Rys. 6.5. Podział węzła w drzewie grupowania systemu COBWEB
6.3.5
Strategia sterowania
W ten sposób jedynym, czego jeszcze nie wiemy o systemie COBWEB, jest stra tegia sterowania stosowaniem operatorów modyfikujących drzewo hierarchiczne go grupowania, czyli algorytm, zgodnie z którym jest przetwarzany każdy przy kład trenujący. Okazuje się jednak, że do opisu operatorów niewiele trzeba dodać. Efektem zastosowania każdego operatora jest umieszczenie przykładu w pewnej kategorii, istniejącej poprzednio, nowo utworzonej albo powstałej w wyniku po łączenia lub podziału. Na pytanie, który z możliwych operatorów należy wybrać, odpowiedź jest dość naturalna: ten, który prowadzi do uzyskania najlepszego gru powania, czyli takiego, dla którego osiąga się największą wartość funkcji oceny. Jest to w istocie strategia zachłanna przeszukiwania przestrzeni grupowań, w któ rej maksymalizuje się uzyskiwaną w pojedynczym kroku poprawę jakości rozwią zania. Może, lecz nie musi ona prowadzić do uzyskania grupowania optymalnego w sensie globalnym, czyli najlepszego ze wszystkich możliwych dla danego zbioru trenującego. Przy prezentacji operatorów zaznaczyliśmy, że ich działanie dotyczy zawsze pewnego ustalonego poziomu drzewa, na którym należy umieścić przetwarzany przykład w odpowiedniej kategorii. Sposób przemieszczania się w głąb drzewa jest przy tym zupełnie oczywisty. Na początku przykład zawsze musi być umieszczo-
6.3. GRUPOWANIE PROBABILISTYCZNE
349
ny w jedynej kategorii poziomu 0, której węzeł znajduje się w korzeniu drzewa. Potem następuje przejście na kolejne niższe poziomy; na każdym z nich w celu wyboru właściwego operatora jest rozpatrywany zbiór węzłów potomnych wę zła, w którym przykład został umieszczony na poprzednim (wyższym) poziomie. Proces takiego schodzenia w głąb drzewa jest kontynuowany aż do umieszczenia przykładu w liściu lub utworzenia dla niego nowego liścia. W pierwszym przy padku jednak liść staje się węzłem o dwóch liściach potomnych, z których jeden jest kopią oryginalnego liścia (takiego, jaki był, zanim przykład został do niego dodany), a drugi zawiera ten przykład. Najwygodniej jest sformułować naszkicowany tu sposób postępowania rekurencyjnie. Algorytm 6.2 przedstawia procedurę, która otrzymuje dwa argumenty: przykład x* i węzeł n. Przedstawiony algorytm ma umieścić przykład x* w węź le n i następnie w razie potrzeby wybrać odpowiedni operator na poziomie jego węzłów potomnych. Przed pierwszym wywołaniem procedury należy utworzyć drzewo złożone z jednego liścia, zawierającego pierwszy przykład. Następnie dla każdego kolejnego przykładu procedura powinna być wywoływana z pierwszym argumentem będącym węzłem znajdującym się w korzeniu drzewa. Jeśli węzeł n, do którego ma być dodany przykład a;*, jest liściem pozbawio nym węzłów potomnych, to żaden z czterech standardowych operatorów systemu COBWEB nie może być zastosowany. W tej sytuacji wykonywana jest pomocni cza operacja dodaj-do-liścia, której działanie polega na przekształceniu tego liścia w węzeł, gdyż liście mogą zawierać tylko pojedyncze przykłady. Zgodnie z wcze śniejszym opisem, dwoma potomkami węzła zastępującego liść n stają się orygi nalny liść n i nowy jednoelementowy liść utworzony dla przykładu x*. Następnie do takiego węzła dodawany jest przykład £*, co oznacza odpowiednie zmodyfiko wanie przechowywanych w nim liczników. Jeśli, jak przyjęliśmy, liście są zawsze jednoelementowe, to w wyniku opisanej operacji powstanie nowy węzeł zawie rający dwa przykłady, x* oraz przykład poprzednio zawarty w liściu n. Sposób działania operacji dodaj-do~liścia ilustruje rys. 6.6, na którym obok węzłów za znaczono zawierane przez nie przykłady. a) przed dodaniem x2 do ni
b) po dodaniu x2 do ni
Rys. 6.6. Dodawanie przykładu do liścia w algorytmie COBWEB
350
ROZDZIAŁO. GRUPOWANIE POJĘCIOWE
funkcja cobweb(x*,n) argumenty wejściowe: • x* — przykład trenujący do przetworzenia, • n — węzeł, do którego ma być dodany przykład x*;
4: 5: 6: 7:
10: 11: 12: 13:
jeśli n jest liściem to dodaj-do-liścia (x*, n); utwórz węzeł n' zawierający wszystkie przykłady z n oraz przykład x* i umieść n jako potomka n'; utwórz liść 1 dla przykładu x* jako potomka węzła n'; w przeciwnym przypadku dodaj-do-węzla (x*, n); wybierz według jakości grupowania dla węzła n spośród utwórz nowy liść 1 jako potomka n i umieść x* w 1; umieść x* w węźle n', który jest najlepszym pojemnikiem dla x* spo śród potomków n, i wywołaj cobweb(x*, n'); połącz dwa najlepsze pojemniki dla x* spośród potomków węzła n w nowy węzeł n' i wywołaj cobweb(x*, n'); podziel najlepszy pojemnik dla x* spośród potomków węzła n i wywo łaj cobweb(x,ń); koniec wybierz według koniec jeśli
Algorytm 6.2. Przetwarzanie przykładu w systemie COBWEB Gdy węzeł n ma węzły potomne, nowy przykład x* jest do niego dodawa ny w zwykłym sensie, czyli zwiększane są odpowiednie liczniki przechowywa ne w tym węźle. Następnie musi zostać dokonany wybór właściwego operatora. W tym celu rozważona musi zostać każda z czterech następujących możliwości: 1) utworzenie dla przykładu x* nowego liścia jako potomka węzła n, 2) umieszczenie przykładu x* w najlepszym pojemniku spośród potomków wę zła n, 3) połączenie dwóch najlepszych pojemników dla przykładu x* spośród potom ków węzła n i umieszczenie tego przykładu w połączonym węźle, 4) podział najlepszego pojemnika dla przykładu x* spośród potomków węzła n i umieszczenie tego przykładu w jednym z węzłów uzyskanych po podziale. Każda z tych operacji jest wykonywana „na próbę", aby wybrać tę z nich, która prowadzi do największej wartości funkcji oceny grupowania dla węzła n. W al gorytmie 6.2 jest to zapisane za pomocą konstrukcji wybierz według... spośród; implementacja jest w tym przypadku nieco bardziej pracochłonna.
6.3. GRUPOWANIE PROBABILISTYCZNE
351
Jak widać, jeśli w wyniku zastosowania wybranego operatora przykład x* ma być umieszczony w węźle nie będącym nowo utworzonym dla niego liściem, to na stępuje rekurencyjne wywołanie procedury. Argumentem takiego wywołania jest, z jednym tylko wyjątkiem, węzeł, w którym ma się znaleźć przykład. Ten jeden wyjątek to sytuacja po zastosowaniu operatora podziału kategorii. Wybrany do podziału węzeł zostaje wówczas zastąpiony przez pewną liczbę jego węzłów po tomnych i nie wiadomo wówczas, do którego z nich powinien trafić przykład x*. Argumentem wywołania rekurencyjnego jest wówczas ich węzeł macierzysty n, tak aby po tej zmianie ponownie został wybrany najlepszy operator. Przykład 6.4 (Pogoda). Prześledzimy niektóre operacje wykonywane przez algo rytm COBWEB podczas przetwarzania wybranych przykładów z przedstawionego w xltabl. 2.2 zbioru danych T dotyczących klasyfikacji stanów pogody. Będziemy przy tym pomijać etykiety kategorii. Pełne prześledzenie działania algorytmu dla wszystkich przykładów, obejmujące obliczanie funkcji oceny dla operatorów rozwa żanych w trakcie ich przetwarzania, zajęłoby zbyt dużą część tego rozdziału. 1. Drzewo jest inicjowane jako liść zawierający pierwszy przykład x — 1. 2. Wywołanie funkcji cobweb dla drugiego przykładu x = 2 powoduje wykonanie operacji dodaj-do-liścia, co daje w wyniku drzewo przedstawione na rys. 6.7a. 3. Przetwarzanie przykładu x = 3 powoduje dodanie go do węzła znajdującego się w korzeniu drzewa. Następnie należy wybrać właściwy operator spośród następu jących możliwości: a) umieszczenie przykładu 3 w oddzielnym liściu, b) umieszczenie przykładu 3 w najlepszym pojemniku, czyli razem z przykła dem 1 albo razem z przykładem 2. Zauważmy, że w tym przypadku nie może być zastosowany operator podziału, gdyż oba węzły poziomu 1 są liśćmi i nie mają węzłów potomnych. Z kolei ope rator połączenia, chociaż formalnie rzecz biorąc dopuszczalny, może być z góry wykluczony, gdyż doprowadziłby do utworzenia na poziomie 1 węzła zawierają cego wszystkie trzy przykłady, czyli takiego samego, jaki znajduje się w korzeniu drzewa, co oznacza, że jakość uzyskanego grupowania wynosiłaby O8. Można ła two obliczyć, że najlepszym pojemnikiem dla przykładu 3 jest w tym przypadku węzeł zawierający przykład 1, gdyż umieszczenie go w tym węźle daje wartość funkcji oceny równą \ill\i1 +
1
+ 4 + 4 + 4) - i ( 4 + 1 + 9 + 9 + 4 + 1)] +
+ ^ [l+ 1+ 1+ 1-^(4 + 1+ 9 + 9 + 4+1)]} = = 0,278. Utworzenie nowego liścia dla przykładu 3 okazuje się jednak bardziej opłacalne "Znajomość kategorii na poziomie 1 nie wnosiłaby żadnej dodatkowej informacji ponad tę, jaka wynika ze znajomości kategorii na poziomie 0.
352
ROZDZIAŁO. GRUPOWANIE POJĘCIOWE i daje wartość funkcji oceny równą
J J3 • i [l + 1 + 1 + 1 - ^(4 + 1 + 9 + 9 + 4 + 1)] } = 0,296. Powstanie zatem drzewo przedstawione na rys. 6.7b. 4. Można sprawdzić, że po przetworzeniu pierwszych siedmiu przykładów zostanie uzyskane drzewo przedstawione na rys. 6.7c. Rozpatrzymy niektóre możliwości występujące przy przetwarzaniu przykładu x = 8. 5. Przykład 8 jest dodawany do węzła znajdującego się w korzeniu drzewa, po czym należy dokonać wyboru właściwego operatora. Łatwo sprawdzić, że najlepszy mi pojemnikami dla tego przykładu są węzeł zawierający przykład 1 oraz węzeł zawierający przykład 4. Dodając przykład 8 do dowolnego z tych węzłów uzy skujemy wartość funkcji oceny grupowania dla korzenia drzewa równą:
Hlfr i + 4 + 9 + 9 + i + 4 ) ^ ( 9 + 4 + 9 + 9 + 9 + 4 + 9 + 25 + 9 + 25 + 9)] + + ^ ( 4 + 1 + 1+ 4+ 4)- -^(9 + 4 + 9 + 9 + 9 + 4 + 9 + 25 + 9 + 25 + 9)] + + 3 - ^ [l+ 1+ 1+ 1 ^ ( 9 + 4 + 9 + 9 + 9 + 4 + 9 + 2 5 + 9 + 2 5 + 9)]} = 64 = 0,358. Z kolei połączenie tych dwóch najlepszych pojemników dla przykładu 8 i dodanie go do połączonego węzła daje w wyniku grupowanie o wartości funkcji oceny równej: 4^8^(1+4 + 9+ 9+ 1+ 4)-
- -^(9 + 4 + 9 + 9 + 9 + 4 + 9 + 25 + 9 + 25 + 9)] + + 8^(4 + 1+ 1+ 4 + 9 + 9)-
- -^(9 + 4 + 9 + 9 + 9 + 4 + 9 + 25 + 9 + 25 + 9)] + + 2-l\l
+1+1+1-
- —(9 + 4 + 9 + 9 + 9 + 4 + 9 + 25 + 9 + 25 + 9)]} = 0,396. Można się przekonać, że jest to w tym przypadku najlepszy możliwy operator.
353
6.3. GRUPOWANIE PROBABILISTYCZNE
6. Umieszczenie przykładu 8 w połączonym węźle zawierającym przykłady 1 i 4 jest realizowane jako rekurencyjne wywołanie funkcji cobweb. Wówczas po zwykłym dodaniu nowego przykładu do tego węzła, polegającym na odpowiednim zwięk szeniu liczników, należy wybrać najlepszą z następujących możliwości: a) umieszczenie przykładu 8 w oddzielnym liściu, b) umieszczenie przykładu 8 w najlepszym pojemniku, czyli razem z przykła dem 1 albo razem z przykładem 4. Zastosowanie operatora podziału jest w tym przypadku niemożliwe, a zastoso wanie operatora połączenia jest pozbawione sensu. Prosty rachunek pokazuje, że najbardziej opłacalne jest utworzenie nowego liścia dla przykładu 8, co kończy jego przetwarzanie. Ostatecznie uzyskane drzewo grupowania przedstawiono na rysynku 6,7d. W wyniku przetworzenia za pomocą algorytmu COBWEB wszystkich przykła dów ze zbioru T = {1,2,3,4,5,6, 7,8,9,10,11,12,13,14} w kolejności ich nume rów otrzymuje się ostatecznie drzewo grupowania przedstawione na rys. 6.2, chociaż przekonanie się o tym przez „ręczne" wykonywanie algorytmu wymagałoby sporego wysiłku. a) po przykładach 1,2
b) po przykładach 1,2,3
c) po przykładach 1,2,3,4,5,6,7
d) po przykładach 1,2,3,4,5,6,7,8
Rys. 6.7. Wybrane etapy konstruowania drzewa grupowania dla dziedziny stanów pogody
6.3.6
Klasyfikowanie przykładów
Wygenerowane przez omawiany algorytm drzewo reprezentujące grupowanie mo że być wykorzystywane do klasyfikowania przykładów w bardzo prosty sposób.
354
ROZDZIAŁO. GRUPOWANIE POJĘCIOWE
Ponieważ klasyfikowanie polega na znalezieniu kategorii, do której przykład powi nien być zaliczony, jednoznacznego kryterium podejmowania decyzji może nam dostarczyć ta sama funkcja oceny, która jest stosowana podczas konstruowania drzewa grupowania. Wyznaczenie kategorii dla przykładu jest bowiem niczym in nym jak wyznaczeniem dla niego najlepszego pojemnika, w tym samym co wyżej sensie tego słowa. Jeśli interesują nas kategorie pewnego poziomu l > 0, to, roz poczynając od węzła znajdującego się w korzeniu drzewa (na poziomie 0), należy zstępować na kolejne niższe poziomy wzdłuż ścieżki wyznaczonej przez najlepsze pojemniki dla klasyfikowanego przykładu, aż do osiągnięcia pożądanego poziomu. Zgodnie z uwagą zamieszczoną wcześniej, jest to na ogół, lecz nie musi być za wsze, poziom 1. Zauważmy, że w opisany sposób mogą być również klasyfikowane przykłady, dla których nie wszystkie wartości atrybutów są znane. Wystarczy, dołączając na próbę taki przykład do różnych węzłów w poszukiwaniu najlepszego pojemnika, zwiększać liczniki, używane do szacowania prawdopodobieństw dla brakujących wartości atrybutów, o wielkości ułamkowe, określone na podstawie prawdopodo bieństw dla tych wartości w kategorii nadrzędnej. Aby opisać to dokładniej, posłu żymy się przyjętymi wcześniej konwencjami notacyjnymi, zakładając, że klasyfi kowany przykład został wcześniej zaliczony do pewnej kategorii do, a następnie na kolejnym poziomie należy wybrać właściwą dla niego podkategorię ze zbioru C/i0 — {di,d,2:-.. ,dm}. Wówczas przy tymczasowym dodawaniu tego przykła du do każdej kategorii d E C/^, jeśli wartość atrybutu a^ nie jest dla niego znana, to dla każdej wartości v E Ai licznik \T^vd\ należy zwiększyć o wartość praw dopodobieństwa Pr x e n (a,i(x) — v\h-i = do), oszacowanego oczywiście po uprzednim tymczasowym dodaniu przykładu do kategorii do. Trzeba jeszcze roz strzygnąć, jak powinny się zmienić liczniki przy dodawaniu takiego przykładu do węzła znajdującego się w korzeniu drzewa, dla którego nie ma żadnej kategorii nadrzędnej. Wówczas licznik \T^°vd\ należy zwiększyć o wartość prawdopodo bieństwa a priori tego, że dla losowo wybranego przykładu atrybut ai ma wartość v, określonego nie na podstawie zbioru trenującego, lecz wiedzy na temat dziedzi ny. Jeśli wiedza taka nie jest dostępna, to zwykle przyjmuje się, że wszystkie war tości są jednakowo prawdopodobne, czyli prawdopodobieństwo każdej wartości atrybutu ai wynosi m . W dokładnie ten sam sposób można traktować przykłady trenujące z brakującymi wartościami atrybutów podczas uczenia się. Po znalezieniu w opisany sposób właściwej kategorii dla przykładu z braku jącymi wartościami atrybutów można wykorzystać związane z tą kategorią osza cowania prawdopodobieństw do wnioskowania o tych wartościach. Na podstawie znanych wartości atrybutów dowolnego przykładu można więc wyznaczyć rozkła dy prawdopodobieństwa nieznanych wartości atrybutów dla tego przykładu, czyli w prosty sposób osiągnąć efekt z pozoru przynajmniej odpowiadający znacznie
355
6.3. GRUPOWANIE PROBABILISTYCZNE
bardziej skomplikowanemu wnioskowaniu w sieciach bayesowskich. Trzeba jed nak mieć świadomość, że o ile wnioskowanie w sieciach bayesowskich jest w pełni poprawne z punktu widzenia teorii prawdopodobieństwa, jeśli tylko poprawna jest struktura sieci i związane z jej węzłami oszacowania, o tyle w przypadku klasy fikowania przykładów za pomocą drzewa grupowania mamy do czynienia tylko z pewną procedurą heurystyczną, zgodnie z którą wybiera się najlepsze węzły we dług przyjętej funkcji oceny. Przykład 6.5 (Pogoda). Rozważmy klasyfikację za pomocą drzewa grupowania dla dziedziny stanów pogody przedstawionego na rys. 6.2 przykładu, dla którego war tość atrybutu aura nie jest znana: aura —
X
18
temperatura wilgotność ciepła normalna
wiatr silny
Należy znaleźć najlepszy pojemnik dla tego przykładu spośród dwóch węzłów pierw szego poziomu drzewa. Aby trzymać się wcześniej przyjętych konwencji notacyjnych, oznaczmy węzeł znajdujący się w korzeniu przez no, a jego dwa węzły potomne przez ni (lewy) i n 2 (prawy). Bez uwzględniania przykładu 18 mamy następujące wartości liczników przechowywane w tych węzłach: \
I7
rph-ido
= \ {1,2,3,4,5,6,7,8,9,10,11,12,13,14}| = 14,
irpfl-ido \ aura, słoneczna
-
rph-ido aura, pochmurna
= I {3,7,12,13}| =
\rph~ \do aura,deszczowa
- | {4,5,6,10,14}| = 5,
-i/i_ido
temperatura, zimna
rph-ido temperatura, umiarkowana
| {1,2,8,9,11}| = 5,
4,
= {5,6,7,9}| = 4, = | {4,8,10,11,12,14}| = 6,
^h-ido \l tempera tura, ciepła = | {1,2,3,13}| = 4, rph-\do wilgotność,normalna rph—ido wilgotność,duża
= | {5,6,7,9,10,11,13)1 = 7, - | {1,2,3,4,8,12,14)| = 7,
rph —ido wiatr,słaby
= | {1,3,4,5,8,9,10,13}| = 8,
\rph-\do wiatr,silny
= | {2,6,7,11,12,14}| = 6,
1 ji/iodi
= 1{1,2,3,4,8,11,12,14}| = 8, \rphodi {1,2,8,11}| = 4, aura, słoneczna = 1 rphod\ aura,pochmurna
= | {3,12}| = 2,
\rph p a L ra,deszczowa
= | {4,14}| = 2,
356
ROZDZIAŁ 6. GRUPOWANIE POJĘCIOWE \rpkodl temperatura, umiarkowana rphodi temperatura,ciepła tl(yd\ | j wilgotność,normalna \rphodi wilgotność, duża
- |{4,8,11,12,14}| = 5, - 1(1,2,3)1 = 3, = |{11}| = 1, = |{1,2,3,4,8,12,14}| = 7,
rphodi wiatr,słaby
= |{1,3,4,8}| = 4,
\rphod\ wiatr,silny
= |{2,11,12,14}| = 4,
\rph0d2 \rphQd2 aura, słoneczna
1(5,6,7,9,10,13)1 = 6, = |{9}l = l.
\rj1hod2 aura,pochmurna
- |{7,13}| = 2,
\rph0d2 aura,deszczowa
= |{5,6,10}| = 3,
rph,Qd2 temperatura,zimna
= |{5,6,7,9}| = 4,
rphod2 temperatura, umiarkowana
= 1(10)1 = 1,
qph$d2 tempera tura, ciepła
= |{13}|-1,
hod2 T wilgotność,normalna = |{5,6,7,9,10,13}| = 6, rpflod2 wiatr,słaby
- |{5,9,10,13}| = 4,
rphod2 wiatr,silny
= |{6,7)| = 2.
Tymczasowe dołączenie przykładu 18 do kategorii d0 związanej z węzłem znaj dującym się w korzeniu drzewa zmieni liczniki przechowywane w tym węźle w na stępujący sposób: \Th-!dQ\ = 1 4 + 1 = 15, \rph-\do aura,słoneczna
=»•*
rph-ido aura, pochmurna
=<+*
rph-ido aura, deszczowa
=•+!
16 ~ 3' 13 " 3' 16 ~ 3'
rph-ido temperatura, ciepła
= 4 + 1 := 5,
rph-ido wilgotność,normalna
= 7 + 1 := 8,
rph-ido wiatr,silny
= 6 + 1 := 7.
gdyż zakładamy, że każda wartość atrybutu aura jest jednakowo prawdopodobna.
6.4. GRUPOWANIE Z ATRYBUTAMI CIĄGŁYMI
357
Po zmodyfikowaniu liczników dla korzenia drzewa należy rozważyć tymczaso we dodanie przykładu 18 albo do kategorii di, albo do kategorii d2. W pierwszym przypadku zmianie ulegają następujące liczniki: |r/*odi| \ aura, słoneczna
±
=
g
+
1
= 4+
=
9j
16 = 4,356, 3-15
\rphodi j aura,pochmurna
= 2 + ^ = 2,289,
rphodi aura,deszczowa
= 2+ 3 ^ = 2 , 3 5 6 ,
temperatura, ciepła
- 3 + 1=4,
rphod\ wilgotność,normalna
= 1+ 1-2,
rphodi wiatr, silny
= 4 + 1 = 5.
W drugim przypadku zmieniłyby się liczniki:
I
rphod^ aura,słoneczna
= 1+
16 3 15
1,356,
rphodi aura,pochmurna
= 2+ ^
rphod2 aura,deszczowa
= 4+ ^ = 4 , 3 5 6 ,
rphodi temperatura,ciepła
= 1 + 1 = 2,
rphod2 wilgotność,normalna
= 6 + 1 = 7,
rphod2 wiatr,silny
= 2 + 1 = 3.
= 2,289,
Dla obu wariantów można obliczyć w zwykły sposób wartość funkcji oceny grupo wania i wybrać w ten sposób najlepszy pojemnik.
6.4 Grupowanie z atrybutami ciągłymi Algorytmy CLUSTER/2 i COBWEB w przedstawionej postaci umożliwiają gru powanie przykładów opisanych wyłącznie za pomocą atrybutów nominalnych lub porządkowych, przy pomijaniu jednak określonej dla nich relacji porządku. Je śli interesująca nas dziedzina jest opisywana przez atrybuty ciągłe lub jeśli za leży nam na uwzględnieniu uporządkowania wartości atrybutów porządkowych9, 9 Relacja ta wpływa na ocenę odległości między różnymi wartościami każdego atrybutu, która w przypadku atrybutów nominalnych nie jest brana pod uwagę (inaczej mówiąc, wynosi 1 dla rów nych i 0 dla różnych wartości).
358
ROZDZIAŁO. GRUPOWANIE POJĘCIOWE
to algorytmy te, w swoich podstawowych wersjach, przestają wystarczać. Mamy wówczas do wyboru trzy możliwości: 1) poddanie atrybutów ciągłych dyskretyzacji i w razie potrzeby poddanie atry butów porządkowych o dużej liczbie wartości agregacji, a następnie użycie algorytmów przeznaczonych dla atrybutów nominalnych w zwykły sposób, 2) modyfikacja algorytmów dla atrybutów nominalnych, umożliwiająca im gru powanie również przykładów opisanych za pomocą atrybutów ciągłych i ewen tualnie uwzględnianie relacji porządku dla atrybutów porządkowych, 3) użycie algorytmów specjalnie przeznaczonych do grupowania z atrybutami ciągłymi lub porządkowymi. Pierwsza możliwość nie wymaga żadnego komentarza poza przypomnieniem, że metodami dyskretyzacji i agregacji wartości atrybutów zajmiemy się już w na stępnym rozdziale. Tu skoncentrujemy się raczej na drugiej możliwości, sugerując pewne modyfikacje algorytmów CLUSTER/2 i COBWEB, przy czym będą nas interesować przede wszystkim atrybuty ciągłe, które mają szczególnie duże zna czenie praktyczne, chociaż niektóre z podejść, jakie zostaną przedstawione, można wykorzystać również do atrybutów porządkowych. Zmodyfikowane odpowiednio algorytmy są szczególnie przydatne, jeśli na dziedzinie określone są zarówno atry buty dyskretne, jak i ciągłe. Zajmiemy się także trzecią możliwością, przedstawia jąc wybrane algorytmy grupowania przeznaczone do stosowania w dziedzinach, na których określone są wyłącznie atrybuty ciągłe. 6.4.1
Algorytm CLUSTER/2 i atrybuty ciągłe
Zastanawiając się nad modyfikacją podstawowej wersji algorytmu CLUSTER/2, która umożliwiłaby mu przetwarzanie danych opisanych również za pomocą atry butów ciągłych, możemy się odwołać do analogicznego^ rozszerzenia algorytmów indukcji reguł, które było dyskutowane w rozdziale 4. Odwołanie takie jest natural ne, skoro w obu przypadkach podstawową rolę w reprezentacji hipotez odgrywają kompleksy, a generowanie hipotez polega na wykonywaniu na tych kompleksach odpowiednich operacji. Proponowane wówczas wprowadzenie selektorów prze działowych i nierównościowych jest możliwe również w tym przypadku. Wyma gane przy tym rozszerzenie definicji operacji koniunkcji kompleksów oraz zmiany w algorytmie specjalizacji stosowanym do generowania gwiazdy zostały również omówione w rozdziale 4 i nie ma potrzeby do nich wracać. Aby jednak selektory przedziałowe i nierównościowe mogły być użyte przez algorytm CLUSTER/2, niezbędne jest dodatkowo odpowiednie określenie ope racji sumy kompleksów z takimi selektorami oraz zdefiniowanie miary rozpro szenia. Suma kompleksów jest definiowana w zależności od operacji alternatywy selektorów, więc to nią należy się najpierw zająć. Standardowa definicja, zgod-
6.4. GRUPOWANIE Z ATRYBUTAMI CIĄGŁYMI
359
nie z którą alternatywa s\ V S2 jest wyznaczana przez zbiór wartości dozwolo nych VSlvS2 — VSl U Vs2, jeśli się ją zastosuje dla selektorów przedziałowych lub nierównościowych, nie zapewnia niestety, że zbiorowi wartości dozwolonych VSlyS2 odpowiada istotnie selektor przedziałowy lub nierównościowy, gdyż suma przedziałów zazwyczaj nie jest przedziałem. Możliwe są dwa podejścia do tego problemu. Pierwsze polega na dopuszczeniu odpowiednio uogólnionej wersji se lektorów dysjunkcyjnych, reprezentowanych przez alternatywę dowolnej liczby przedziałów lub nierówności. Rozwiązanie to całkowicie eliminuje przedstawio ną trudność, chociaż zwiększa koszt obliczeniowy algorytmu specjalizacji kom pleksów, a w szczególności wyznaczania ich koniunkcji. Podejście drugie polega na przyjęciu za zbiór VSlVS2 najmniejszego przedziału zawierającego VSl U VS2. Z tym rozwiązaniem nie wiążą się żadne dodatkowo nakłady obliczeń, lecz zwięk sza ono ogólność selektorów, co może przeszkodzić w dobrym dopasowaniu ge nerowanych kompleksów do odpowiednich grup przykładów, a w szczególności w uzyskaniu kompleksów parami rozłącznych na zbiorze trenującym i pokrywają cych przy tym ten zbiór w całości. Problem występuje również przy mierzeniu rozproszenia kompleksów, któ rych niektóre selektory odpowiadają atrybutom ciągłym. Poprzednio przedstawio na definicja oznaczałaby uznanie rozproszenia każdego takiego kompleksu za nie skończone, gdyż jest dowolnie wiele różnych wartości atrybutu ciągłego pokrywa nych przez dowolny selektor przedziałowy lub nierównościowy. To z kolei unie możliwiłoby jakiekolwiek różnicowanie kompleksów. Trudności tej można czę ściowo przynajmniej zaradzić, rezygnując z selektorów nierównościowych i ogra niczając się tylko do selektorów przedziałowych, dla których oba końce przedziału są z założenia skończonymi liczbami z przeciwdziedziny odpowiedniego atrybutu. Wówczas szerokość takiego przedziału jest także liczbą skończoną i można w ja kiś sposób uzależnić miarę rozproszenia od tej szerokości. Jeśli przyjmiemy za podstawę do modyfikacji następującą definicję rozproszenia:
UP) = \VSi\ • \VS2\
|V,J-|Ą|,
(6.27)
opartą na założeniu, że w zbiorze P^ nie ma dwóch przykładów o identycznym opisie, to dla każdego selektora przedziałowego Si = 9\ : 02 odpowiadające go ciągłemu atrybutowi ai można zastąpić nieskończoną wartość |V^| wartością Pi • {02 — #i)> Przy czym pi oznacza „gęstość" występowania wartości atrybutu a^ która może być określona na podstawie dostępnej wiedzy o dziedzinie lub ustalona arbitralnie. 6.4.2
Algorytm COBWEB i atrybuty ciągłe
O ile szukając możliwości użycia algorytmu CLUSTER/2 dla danych charakte ryzowanych przez atrybuty ciągłe odwoływaliśmy się do koncepcji wcześniej su-
360
ROZDZIAŁO. GRUPOWANIE POJĘCIOWE
gerowanych dla indukcji reguł, o tyle dla algorytmu COBWEB w podobnym ce lu sięgniemy do podejścia proponowanego w poprzednim rozdziale dla naiwnego klasyfikatora bayesowskiego. Jest to zupełnie naturalne, gdyż w obydwu przypad kach mamy do czynienia z reprezentacją hipotez za pomocą oszacowań pewnych rozkładów prawdopodobieństwa. Dla atrybutów o wartościach dyskretnych takie oszacowania wyznacza się na podstawie częstości występowania poszczególnych wartości w zbiorze trenującym lub jego odpowiednim podzbiorze. Dla atrybutów ciągłych, zarówno w przypadku naiwnego klasyfikatora bayesowskiego, jak i al gorytmu COBWEB, można w zamian użyć funkcji gęstości prawdopodobieństwa. Jeśli, jak w poprzednim rozdziale, przez g^ oznaczymy funkcję gęstości praw dopodobieństwa wartości atrybutu ai dla przykładów wybranych z dziedziny zgod nie z rozkładem prawdopodobieństwa Cl i należących do kategorii d, a przez gln od powiednią funkcję gęstości dla przykładów dowolnej kategorii, to równanie (6.22) można zastąpić następującą definicją funkcji oceny grupowania:
W) = Wl E Pr*en(M*) = <0 • (6.28) i==1
JveAi
i=l
Jv£Ai
która może być stosowana, jeśli wszystkie atrybuty a» dla i = 1,2,..., n są cią głe. Suma kwadratów prawdopodobieństw wszystkich wartości dyskretnych zosta ła więc zastąpiona całką z kwadratu funkcji gęstości prawdopodobieństwa po całej przeciwdziedzinie dla atrybutów ciągłych10. Jeśli tylko niektóre atrybuty są ciągłe, to dla atrybutów dyskretnych należy oczywiście zachować sumę kwadratów praw dopodobieństw taką, jaka występuje w równaniu (6.22), a całki z równania (6.28) stosować tylko dla atrybutów ciągłych. Problem, jaki pozostaje, to oczywiście wyznaczanie funkcji gęstości dla każdej kategorii, czyli dla każdego węzła drzewa grupowania. Jeśli wiadomo, że warto ści atrybutów ciągłych mają pewne standardowe rozkłady prawdopodobieństwa, wystarczy na podstawie przykładów związanych z każdym węzłem oszacować pa rametry tego rozkładu, takie jak wartość oczekiwana i odchylenie standardowe dla rozkładu normalnego. Parametry te wystarczy podstawić do odpowiedniego dla typu rozkładu wzoru, określającego funkcję gęstości, a raczej całkę jej kwadratu. Jeśli nie wiadomo, jaki jest rozkład prawdopodobieństwa poszczególnych atrybu tów ciągłych, to pozostają dwie możliwości. Jeśli dodatkowy nakład obliczeń jest do zaakceptowania, to można „wypróbować" różne standardowe rozkłady praw dopodobieństwa, wyznaczając parametry każdego z nich i następnie wybierając Z założenia dziedzina każdego atrybutu ciągłego jest przedziałem zawartym w zbiorze liczb rzeczywistych SR, w szczególności być może całym zbiorem 9¾.
6.4. GRUPOWANIE Z ATRYBUTAMI CIĄGŁYMI
361
ten, który jest najbardziej zgodny z obserwowanymi wartościami, tak jak było to proponowane dla naiwnego klasyfikatora bayesowskiego. Często jednak przyjmu je się po prostu arbitralnie, że wartości atrybutów ciągłych mają rozkład normalny, o ile nic nie wiadomo o tym, aby było inaczej. Oczywiście w węzłach trzeba wów czas przechowywać informacje niezbędne do aktualizowania parametrów rozkładu prawdopodobieństwa przy dodawaniu do nich kolejnych przykładów. 6.4.3
Grupowanie wyłącznie z atrybutami ciągłymi
Problem grupowania był w gruncie rzeczy tradycyjnie wcześniej i częściej bada ny dla dziedzin, w których występują wyłącznie atrybuty ciągłe, niż dla dziedzin z atrybutami dyskretnymi. W związku z tym są znane algorytmy grupowania spe cjalnie przeznaczone dla atrybutów ciągłych. Jest ich właściwie dosyć dużo; do tej grupy należą na przykład niektóre sieci neuronowe uczące się bez nadzoru. Na szkicujemy tylko dwa podejścia, jedno z racji jego prostoty, a drugie ze względu na jego ogólność umożliwiającą wykorzystanie go także do innych celów. Grupowanie według odległości W przeciwieństwie do atrybutów nominalnych, dla atrybutów ciągłych (a także po rządkowych) jest w naturalny sposób określona odległość, którą można wobec tego wykorzystać bezpośrednio jako miarę podobieństwa do grupowania. Prowadzi to do przypuszczalnie najprostszego z możliwych podejść do grupowania, które dla dziedzin opisanych wyłącznie przez atrybuty ciągłe może dać dobre efekty. W po dejściu tym każda kategoria d jest reprezentowana przez pewien wektor wartości atrybutów /
= (vi vi • • • ,/4>
e
M x A2 x • • • x An.
(6.29)
Dla każdego przykładu x E X można obliczyć odległość wektora wartości jego atrybutów (x)& = (a\{x), (i2{x),... ,an(x)) od wektora reprezentującego kate gorię d w następujący sposób: 71
8(x,d) =
N
J2(ai(x)-^)\
(6.30)
i=l
czyli zgodnie ze zwykłą metryką euklidesową. Porównanie takich odległości dla wszystkich kategorii umożliwia wyznaczenie kategorii, do której przykład najle piej pasuje. Wektor wartości jid dla kategorii d nazwiemy jej centrum lub wektorem centralnym. Opierając się na powyższych uwagach przyjmijmy, że hipoteza h : X i-> C/> jest reprezentowana przez zbiór wektorów wartości atrybutów fid dla każdej kate-
362
ROZDZIAŁO. GRUPOWANIE POJĘCIOWE
gorii d e C/i- Jeśli Ch — {di, d^ . . . , dm], to możemy wręcz przyjąć utożsamie nie h = (fj,dl, nd2,..., // d m ), a dowolny przykład a; klasyfikować następująco: h(x) ~ arg min 8{x,d).
(6.31)
Przydatne okazuje się ponadto związanie z każdą kategorią d liczby zaliczonych do niej przykładów trenujących, którą, trzymając się dotychczasowych konwencji, nhd U lecz tym razem przyjmiemy raczej oznaczenie powinniśmy oznaczyć przez m d , gdyż dopuścimy jej dowolne zmienianie w trakcie grupowania. Można uznać za naturalny postulat, aby centrum kategorii d był wektor równy arytmetycznej średniej wektorów opisujących wszystkie zaliczone do tej kategorii przykłady tre nujące, czyli /
= —d £
<*>A
(6.32)
x6Thd
albo równoważnie dla każdego i = 1, 2 , . . . , n
rf = ^d E «*(*)• hd
<6-33>
xeT Oprócz średniej może się również okazać przydatna odpowiednia wariancja, dla i-tego atrybutu obliczana jako:
xeThd Załóżmy, że w pewien (być może losowy) sposób został ustalony początko wy zbiór kategorii Ch dla hipotezy h i odpowiadający każdej kategorii d G Ch wektor centralny / A Dla każdego przykładu trenującego można wówczas zna leźć kategorię, której centrum jest mu najbliższe, i zdecydować o dołączeniu go do tej kategorii. Za każdym razem należałoby przy tym wektor centralny wybra nej kategorii modyfikować tak, aby pozostawał on średnią wektorów opisujących wszystkie przykłady należące do tej kategorii. Odpowiedniej modyfikacji wymaga także wektor wariancji, reprezentujący wewnętrzne zróżnicowanie kategorii. Gdy by w wyniku takich modyfikacji wektory centralne dla pewnych dwóch kategorii zanadto się do siebie zbliżyły, kategorie te można zastąpić jedną kategorią o odpo wiednio uśrednionym wektorze wartości atrybutów. Gdyby z kolei wariancja dla pewnej kategorii osiągnęła zbyt dużą wartość, kategoria ta mogłaby zostać zastą piona dwiema nowymi kategoriami o zbliżonych do siebie wektorach centralnych. Można więc, jak się okazuje, dość bezpośrednio wykorzystać odległość określoną dla wektorów wartości atrybutów do grupowania. Ponieważ chodzi w tym przy-
6.4. GRUPOWANIE Z ATRYBUTAMI CIĄGŁYMI
363
padku o odległość euklidesową, będziemy takie podejście nazywać grupowaniem euklidesowym. Zauważmy, że grupowanie na podstawie odległości nie musi się w ogólnym przypadku opierać na odległości euklidesowej. Nic nie stoi na przeszkodzie stoso waniu różnych innych metryk, które w pewnych sytuacjach mogą być preferowa ne. Najprostsza modyfikacja polega na użyciu skalowanej metryki euklidesowej, określonej dla wektora centalnego \i i przykładu x następująco: 8{x,d) —
E^M*)-/^,
(6.35)
2=1
przy czym at ^ 0 jest współczynnikiem skalującym dla atrybutu aj. Wówczas różnice w wartościach niektórych atrybutów są ważniejsze niż dla innych, a dla pewnych atrybutów mogą być nawet w ogóle pomijane. Można także, zachowując bez zmian podstawowy cykl przetwarzania przykładów trenujących, odstąpić od reprezentowania kategorii za pomocą wektorów centralnych i przyjąć inną repre zentację. Jedyny warunek, to aby dla tej reprezentacji było możliwe: 1) wyznaczanie odległości przykładów od kategorii, 2) modyfikowanie opisu kategorii przez dołączenie do niej przykładu. Szczególnie interesująca jest możliwość reprezentowania kategorii za pomo cą funkcji gęstości prawdopodobieństwa dla poszczególnych atrybutów, tak jak w przypadku „ciągłej" wersji algorytmu COBWEB. Jeśli każda kategoria d G Ch jest reprezentowana za pomocą funkcji gęstości glyd dla i = 1, 2 , . . . , n, które mogą być inkrementacyjnie modyfikowane przy dodawaniu do kategorii każdego przykładu, to odległość przykładu x* od takiej kategorii można określić w nastę pujący sposób: n
ó(x*,d) = Prxen {h(x) = d)l[g^d(ai(x#))9
(6.36)
i=i
przy czym prawdopodobieństwa i parametry funkcji gęstości są szacowane w zwy kły sposób na podstawie zbioru trenującego. Dla tak określonej probabilistycznej metryki metodę grupowania według odległości moglibyśmy nieco na wyrost na zwać naiwnym grupowaniem bayesowskim ze względu na jej podobieństwo (a wła ściwie identyczność!) do kryterium, według którego wybiera kategorie klasyfi kowanych przykładów naiwny klasyfikator bayesowski w wersji ciągłej. Rzecz jasna wersja dyskretna, używająca prawdopodobieństw zamiast funkcji gęstości, jest także możliwa, podobnie jak wersja „mieszana", co oznacza, że naiwne gru powanie bayesowskie może być stosowane dla dziedzin opisanych przez dowolne atrybuty.
364
ROZDZIAŁO. GRUPOWANIE POJĘCIOWE
Algorytm EM Na grupowanie przykładów opisanych za pomocą atrybutów ciągłych można tak że patrzeć jako na „modelowanie mieszanin". Zgodnie z tą perspektywą zakłada się, że przykłady trenujące, traktowane jako wektory liczbowych wartości atrybu tów, zostały wygenerowane za pomocą pewnej ustalonej liczby prostych rozkła dów prawdopodobieństwa o znanej postaci, lecz nieznanych parametrach. Grupo wanie polega wówczas na: 1) przyporządkowaniu każdego przykładu rozkładowi, któremu najlepiej odpo wiada, 2) wyznaczeniu parametrów każdego rozkładu na podstawie przykładów, które zostały do niego przyporządkowane. Ślady takiego sformułowania problemu można dostrzec także w algorytmie grupo wania euklidesowego, tam jednak każdy „rozkład" jest reprezentowany tylko przez szacowaną wartość oczekiwaną (wektor centralny) i wariancję. W ogólnym przy padku hipoteza h może być reprezentowana przez parametry rozkładów prawdo podobieństwa (funkcji gęstości) odpowiadających wszystkim kategoriom ze zbio ru CV Aby zadanie modelowania mieszanin sformułować w bardziej ścisły sposób, przyjmiemy, że wektory wartości atrybutów dla zbioru trenującego T są opisane przez n-wymiarowy rozkład prawdopodobieństwa, którego funkcja gęstości może być zapisana w następującej postaci: 9n(vi,v2,...,vn)
= Yl Pd9n(vuv2,...,vn),
(6.37)
d€Ch
przy czym pd jest wagą kategorii d, a funkcje gęstości g^ mają znaną postać. Jak zwykle O, oznacza rozkład prawdopodobieństwa określony na dziedzinie, zgodnie z którym wybrany został zbiór trenujący T. Waga kategorii może być interpreto wana jako prawdopodobieństwo tego, że losowo wybrany zgodnie z tym rozkła dem przykład do niej należy, czyli że jego wartości atrybutów pochodzą z repre zentującego ją rozkładu prawdopodobieństwa. Celem modelowania mieszanin jest wyznaczenie parametrów każdej funkcji gęstości g^ oraz ich wagprf dla d e CV Zakłada się przy tym, że liczba kategorii w zbiorze Ch została w pewien sposób ustalona. Jedno z najbardziej znanych podejść do modelowania mieszanin reprezentuje algorytm EM. Jest w gruncie rzeczy pewna ogólna metoda, która może być sto sowana do różnego rodzaju problemów po jej odpowiedniej konkretyzacji. W od niesieniu do problemu interesującego nas tutaj można jej dwa podstawowe kroki opisać następująco:
6.5. GRUPOWANIE JAKO KOMPRESJA DANYCH
365
estymacja: dla aktualnej hipotezy h wyznaczenie wag poszczególnych kategorii pd na podstawie prawdopodobieństw przynależności każdego przykładu tre nującego x € T do kategorii d, maksymalizacja: zastąpienie hipotezy h hipotezą hf z parametrami rozkładów prawdopodobieństwa g^ dla poszczególnych kategorii zmodyfikowanymi w celu uzyskania maksymalnej zgodności z przykładami trenującymi przy za łożeniu wag wyznaczonych w poprzednim kroku. Dokładniejsze omawianie algorytmu EM, którego nazwa pochodzi od dwóch wymienionych kroków, wykracza poza nasze potrzeby i możliwości w tym roz dziale; odpowiednia literaturę polecamy jak zwykle w dyskusji bibliograficznej na końcu rozdziału. Algorytm ten jest nie tylko dostatecznie uniwersalny, aby umoż liwiać modelowanie mieszanin dla innych niż normalne rozkładów prawdopodpobieństwa — w najbardziej ogólnej postaci może być również wykorzystany do wyznaczania parametrów dowolnych rozkładów prawdopodobieństwa na podsta wie jedynie częściowo obserwowalnych danych wygenerowanych zgodnie z tymi rozkładami11. Oznacza to w szczególności, że można go zastosować do wyznacza nia tablic prawdopodobieństw warunkowych dla sieci bayesowskich w warunkach częściowej obserwowalności.
6.5 Grupowanie jako kompresja danych Od początku rozdziału patrzyliśmy na grupowanie jak na wiedzę o podobieństwie przykładów, która może być podstawą wnioskowania. Możliwa jest jednak także nieco odmienna, choć oczywiście niesprzeczna z tamtą, perspektywa kompresji danych. Zgodnie z tym punktem widzenia grupowanie powinno umożliwiać bar dziej oszczędny opis przykładów trenujących i jest ono tym lepsze, im do bardziej zwięzłego opisu prowadzi. Można w związku z tym zastosować do oceny jakości grupowania zasadę minimalnej długości kodu. Jest to kolejne z wielu zastosowań tej uniwersalnej zasady, z których w poprzednim rozdziale wymieniliśmy zale dwie kilka najbardziej rozpowszechnionych. Dwuczęściowy komunikat, którego długość byłaby kryterium oceny, musi się w tym przypadku składać z zakodowanej w możliwie nieredundancyjny sposób hipotezy, czyli opisu każdej kategorii, oraz z opisu przykładów trenujących przy założeniu znajomości tej hipotezy, w którym można się posługiwać informacją o ich przynależności do kategorii. Taką oce nę jakości grupowania można w zasadzie wprowadzić do dowolnego algorytmu przeszukującego pewną przestrzeń możliwych grupowań, w szczególności więc zarówno do algorytmu CLUSTER/2, jak i do algorytmu COBWEB. 11
W przypadku modelowania mieszanin częściowa obserwowalność polega na tym, że nie wiado mo, z jakich rozkładów pochodzą poszczególne przykłady.
366 6.5.1
ROZDZIAŁO. GRUPOWANIE POJĘCIOWE
Kodowanie hipotez
Sposób kodowania hipotez jak zwykle zależy od ich reprezentacji. Jeśli do opi su kategorii służą kompleksy, to można się posłużyć technikami proponowanymi w poprzednim rozdziale. Wprowadzony tam prosty kod, chociaż nie jest optymal ny, wystarcza do większości praktycznych zastosowań. Większy problem stanowi kodowanie opisu kategorii, z jakim mamy do czynienia przy grupowaniu probabi listycznym. Powstaje wówczas potrzeba kodowania wartości prawdopodobieństw lub parametrów funkcji gęstości prawdopodobieństwa, czyli w obu przypadkach liczb rzeczywistych. Istnieją odpowiednie techniki i są dość proste, chociaż ich prezentacja wykracza poza zakres tego rozdziału. Muszą one uwzględnić między innymi, że nie jest możliwe dokładne kodowanie liczb rzeczywistych, skoro mogą one mieć nieskończone rozwinięcie dziesiętne i kodowanie może się odbywać tyl ko dla ustalonego poziomu precyzji. Należy oczywiście uwzględnić także rozkład prawdopodobieństwa dla kodowanej liczby, tak aby jak zwykle wartości mniej prawdopodobne miały dłuższe, a bardziej prawdopodobne krótsze słowo kodo we. Chcąc w ten sposób zakodować liczbę, która sama jest prawdopodobieństwem lub parametrem funkcji gęstości prawdopodobieństwa, stajemy dodatkowo przed problemem, jaki jest jej rozkład prawdopodobieństwa. W przypadku prawdopodo bieństw trudno wskazać propozycję wyraźnie lepszą niż założenie rozkładu jedno stajnego na przedziale [0,1]. W przypadku parametrów funkcji gęstości właściwy rozkład może być różny w zależności od tego, dla jakiego rozkładu jest to funkcja. Inne podejście może polegać na kodowaniu zamiast prawdopodobieństw dla war tości atrybutów dyskretnych liczników, na podstawie których są one szacowane. Wówczas mamy do czynienia z kodowaniem liczb całkowitych.
6.5.2
Kodowanie danych
W przeciwieństwie do problemu uczenia się pojęć, dla którego przy kodowaniu przykładów można się było ograniczyć tylko do ich etykiet (gdyż tylko o ety kietach zawierały informację hipotezy), tym razem trzeba rozważyć kodowanie wartości atrybutów dla każdego przykładu przy założeniu znajomości kategorii grupowania, do której jest on zaliczony. Kategorię tę można wskazać dla hipotezy /ł : I 4 A za pomocą słowa kodowego o długości log jC/J. Pozostaje pyta nie, jak znajomość kategorii wpływa na kodowanie wartości atrybutów. Zależy to oczywiście od reprezentacji kategorii. W przypadku kategorii reprezentowanej za pomocą kompleksu dla każdego selektora tego kompleksu należy wskazać, którą z jego wartości dozwolonych faktycznie przyjmuje odpowiadający mu atrybut dla kodowanego przykładu. Odpowiednia długość kodu dla selektora s wynosi więc log \VS\. Jeśli pewna kategoria (i jest reprezentowana przez rozkłady prawdopodo bieństwa wartości poszczególnych atrybutów, to do wskazania, że atrybut a^ ma
367
6.6. ZAGADNIENIA PRAKTYCZNE
wartość v, trzeba słowa kodowego o długości lo
S P
(
( /
\U
\
AY
(6 38)
'
P r ^ n (ai{x) = v \ h(x) = dj Ograniczamy się tu tylko do atrybutów dyskretnych, gdyż kodowanie danych cią głych wymaga innych technik kodowania, tych samych, które muszą być użyte także do kodowania prawdopodobieństw lub parametrów funkcji gęstości repre zentujących kategorie przy grupowaniu probabilistycznym.
6.6 Zagadnienia praktyczne W tym rozdziale przedstawiliśmy algorytmy grupowania, które mogą być stoso wane zarówno dla atrybutów dyskretnych, jak i ciągłych. Niektóre z nich mogą być także wykorzystane wtedy, kiedy na dziedzinie określone są atrybuty obu ro dzajów. Można je także wykorzystać do klasyfikowania przykładów z brakujący mi wartościami atrybutów, w szczególności po to, aby na podstawie wyznaczo nej kategorii te brakujące wartości przewidywać. Przykłady trenujące z brakują cymi wartościami atrybutów mogą być również przez te algorytmy odpowiednio przetwarzane w trakcie uczenia się12. Jak widać, większość zagadnień praktycz nych, którymi zazwyczaj zajmujemy się na koniec rozdziału, tym razem została omówiona w jego głównej części. Tutaj zajmiemy się w związku z tym jednym szczególnym sposobem stosowania grupowania pojęciowego oraz grupowaniem dla dużych zbiorów przykładów. 6.6.1
Grupowanie w uczeniu się z nadzorem
Chociaż metody grupowania pojęciowego są metodami uczenia się bez nadzoru, można je również wykorzystywać do uczenia się z nadzorem (dla przykładów ety kietowanych), czasem nawet z dobrymi efektami. Podstawowy pomysł polega na utworzeniu w zwykły sposób grupowania dla zbioru trenującego, a następnie przy pisaniu każdej z powstałych kategorii etykiety pojęcia docelowego większości za liczonych do niej przykładów. Wówczas klasyfikacja nowego przykładu następuje przez odnalezienie kategorii, do której należy go zaliczyć, i przyznanie mu związa nej z tą kategorią etykiety. Nie można przy tym na ogół oczekiwać uzyskania błędu porównywalnego z tym, jaki jest możliwy do osiągnięcia za pomocą algorytmów specjalnie przeznaczonych do uczenia się pojęć, ale umożliwia to sprawdzenie, w jakim stopniu pojęcie docelowe może być charakteryzowane przez relację po dobieństwa przykładów. Jest to swego rodzaju miara trudności pojęć, gdyż natut2
W tym przypadku zresztą mogą mieć także zastosowanie podane po raz pierwszy w rozdziale 3 techniki wypełniania brakujących wartości oraz przykładów ułamkowych.
368
ROZDZIAŁO. GRUPOWANIE POJĘCIOWE
ralne wydaje się uznanie za „łatwe" pojęć dających się dobrze charakteryzować przez podobieństwo i za „trudne" pojęć, dla których taki opis jest bardzo niedo kładny. Przy eksperymentach porównujących różne algorytmy grupowania ocena błędu dla zbiorów przykładów etykietowanych może być też jednym z bezpośred nio mierzalnych kryteriów ich oceny. Przykład 6.6 (Pogoda). Węzłom drzewa grupowania hierarchicznego z rys. 6.2 przypiszemy etykiety większościowe dla odpowiednich grup przykładów na podsta wie zbioru Tc przedstawionego w tabl. 2.2. Przyjmując oznaczenia stosowane w przy kładzie 6.5 dla węzłów pierwszego poziomu mamy: \Thodl\ = 1(1,2,3,4,8,11,12,14)1-8, |T/iodi,i| = 1(3,4,11,12)1-4, |j*odi,o| = 1(1,2,8,14)1-4, |TAod21 - |{5,6,7,9,10,13}| = 6, [ T ^ 2 ' 1 ! - |{5,7,9,10,13}| = 5,
\Thod2>°\=
|{6}| = 1.
Oznacza to, że węzłowi reprezentującemu kategorię grupowania di można przypisać dowolną etykietę, a węzłowi reprezentującemu kategorię grupowania d2 należy przy pisać etykietę 0. Błąd próbki takiego etykietowanego grupowania na zbiorze trenują cym T wynosi ~T — 0,357, gdyż błędnie są klasyfikowane 4 przykłady z kategorii di i 1 przykład z kategorii d
Duże zbiory danych
Wiemy już, że ze względów efektywnościowych duży rozmiar zbioru trenujące go stanowi wyzwanie dla każdego algorytmu indukcyjnego uczenia się. Znamy już także proste techniki postępowania z dużymi zbiorami danych; więcej o nich będziemy mieli okazję powiedzieć w rozdziale 10. Dla algorytmu COBWEB pro blem dużego rozmiaru zbioru trenującego ma pewien specyficzny istotny aspekt. Jeśli, jak przyjęto w przedstawionej postaci tego algorytmu, kategorie są zawsze dzielone na podkategorie aż do osiągnięcia kategorii jednoelementowych, to licz-
6.7. ZAGADNIENIA IMPLEMENTACYJNE
369
ba liści w drzewie grupowania zawsze będzie równa liczbie przetworzonych przy kładów trenujących. Z każdym węzłem zaś, niezależnie od liczby zaliczonych do niego przykładów, wiąże się przechowywanie liczników niezbędnych do wyzna czenia rozkładów prawdopodobieństwa dla wszystkich wartości atrybutów lub od powiednich parametrów funkcji gęstości. Jeśli rozmiar zbioru trenującego jest li czony w setkach tysięcy, a liczba atrybutów i ich wartości także nie jest mała, może to oznaczać nieakceptowalnie duże zapotrzebowanie na pamięć. Wówczas trzeba odstąpić od wymogu, aby liście reprezentowały zawsze kategorie jednoelementowe i dopuścić, że kategoria, do której zaliczono większą liczbę przykładów, nie ma podkategorii. Jako kryterium podejmowania decyzji, czy dotychczasowy liść po dołączeniu kolejnego przykładu może dalej pozostać liściem, najlepiej użyć po dobieństwa przykładów znajdujących się w odpowiedniej kategorii. Jeśli dla każ dego lub prawie każdego atrybutu dyskretnego jedna wartość wyraźnie dominuje nad innymi, a wariancja wartości większości atrybutów ciągłych jest mała, moż na przyjąć, że kategoria jest wewnętrznie dostatecznie jednorodna, aby jej podział nie był konieczny. Na podstawie dotychczasowej lektury książki czytelnik z pew nością będzie mógł zaproponować samodzielnie liczbowe miary jednorodności, jakie mogą być kryterium podejmowania takiej decyzji. W przypadku atrybutów dyskretnych jedną z możliwości jest posłużenie się w tym celu entropią.
6.7 Zagadnienia implementacyjne Przy implementacji grupowania za pomocą pokryć warto uwzględnić uwagi doty czące struktur danych, podane w rozdziale 4 dla algorytmów indukcji reguł. W obu przypadkach mamy do czynienia z tymi samymi problemami, związanymi z efek tywnymi operacjami na kompleksach (obecnie dochodzi tu operacja sumy) i zbio rach kompleksów, więc i rozwiązania, jakie można polecić, są takie same. Z kolei algorytmy grupowania przeznaczone wyłącznie dla atrybutów ciągłych są co naj wyżej złożone matematycznie13, lecz ich implementacja nie przedstawia żadnych trudności i zupełnie bezpośrednie podejście jest w tym przypadku zadowalające. Są wprawdzie znane struktury danych do przechowywania wektorów liczb, umoż liwiające efektywne znajdowanie tych, które są najbliższe innemu zadanemu wek torowi, i można by w zasadzie rozważać ich użycie do implementacji grupowania euklidesowego, lecz nie wydaje się to szczególnie celowe, gdyż zazwyczaj liczba kategorii nie przekracza kilku lub kilkunastu i ewentualne oszczędności nie byłyby znaczące. Takie struktury danych przydadzą nam się za to w jednym z kolejnych rozdziałów. Pozostaje odnieść się do implementacji grupowania probabilistycznego w hie rarchicznej wersji, jaką realizuje algorytm COBWEB. Tu także jednak nie ma 13
Może to jednak dotyczyć tylko ogólnego algorytmu EM, którego nie przedstawiliśmy.
370
ROZDZIAŁO. GRUPOWANIE POJĘCIOWE
żadnych istotnych i wymagających szerszego komentarza problemów. Dla drzewa grupowania najlepiej przypuszczalnie przyjąć naturalną reprezentację łącznikową, uwzględniając, że każdy węzeł może mieć nieokreśloną z góry liczbę węzłów po tomnych. Najłatwiej sobie z tym poradzić, przechowując w strukturze węzła li stę, zawierającą wskaźniki lub odniesienia (zależnie od języka programowania) do węzłów potomnych. Nie ma większego znaczenia problem rekurencyjnych wywo łań, który dyskutowaliśmy swego czasu dla zstępującej konstrukcji drzew decy zyjnych, gdyż ich argumentami są tylko pojedynczy przykład trenujący i węzeł drzewa (oczywiście przekazywany nie przez wartość, co wymagałoby niepotrzeb nego kopiowania, lecz przez wskaźnik lub odniesienie). Jest właściwie tylko jedno zagadnienie, na które warto zwrócić uwagę, gdyż przy odpowiedniej staranności można nieco zaoszczędzić na obliczeniach. Chodzi o wyznaczanie najlepszego pojemnika dla przykładu, czy to w trakcie uczenia się (wtedy właściwie potrzeba nawet dwóch najlepszych pojemników), czy przy stosowaniu drzewa grupowania do klasyfikacji. Do każdego z branych pod uwagę węzłów przykład jest wówczas zaliczany na próbę, po czym oblicza się wartość funkcji oceny grupowania dla ich węzła macierzystego. Wzór określający tę funkcję, przedstawiony jako rów nanie (6.23), zawiera sumę składników odpowiadających poszczególnym węzłom potomnym. Oczywiście umieszczenie przykładu w pewnym węźle wpływa na war tość tylko jednego składnika tej sumy, odpowiadającego węzłowi, którego liczniki uległy zmianie w wyniku dodania przykładu. Sugeruje to, aby najpierw obliczyć wartości składników dla wszystkich węzłów bez dodawania do nich przykładu, a następnie dodając przykład do każdego węzła obliczać na nowo tylko jeden składnik odpowiadający temu węzłowi.
6.8 Podsumowanie <¥> Grupowanie, którego podstawą jest podobieństwo przykładów, reprezentuje wiedzę, gdyż podział na kategorie charakteryzujące się dużym podobieństwem wewnętrznym i dużym zróżnicowaniem wzajemnym ma znaczną wartość predykcyjnąi umożliwia wnioskowanie. °H Grupowanie pojęciowe obejmuje dwa podzadania: podział na grupy-kategorie i opisanie tych kategorii przez hipotezę dla odpowiedniego pojęcia wielokrot nego. Drugie podzadanie umożliwia klasyfikację nowych przykładów za po mocą utworzonych kategorii. S-> Grupowanie pojęciowe za pomocą pokryć polega na wygenerowaniu zbio ru kompleksów reprezentujących kategorie. Stosowany w tym celu algorytm stanowi adaptację algorytmu znajdowania kompleksów w systemie AQ. Nie zbędne jest wprowadzenie do niego mechanizmów zapewniających rozłączność tworzonych kompleksów.
6.9. UWAGI HISTORYCZNE I BIBLIOGRAFICZNE
371
S-> System COBWEB tworzy hierarchiczne grupowanie przykładów ze zbioru tre nującego, przetwarzając je kolejno w trybie inkrementacyjnym. Jest ono repre zentowane za pomocą probabilistycznego drzewa, którego węzły odpowiadają kategoriom. Dla każdego węzła jego węzły potomne reprezentują podkategorie kategorii związanej z węzłem macierzystym. W każdym węźle są prze chowywane liczniki niezbędne do oszacowania rozkładu prawdopodobieństwa wartości atrybutów dla przykładów należących do jego kategorii. S-> Do oceny jakości grupowania reprezentowanego przez węzły potomne każde go węzła drzewa jest wykorzystywana funkcja reprezentująca wartość predykcyjną takiego grupowania. Funkcja ta umożliwia także wybranie dla każdego przykładu jego najlepszego pojemnika — kategorii, do której jego dodanie naj bardziej korzystnie wpłynie na jakość grupowania. ^ Modyfikacja drzewa grupowania po uwzględnieniu każdego przykładu może polegać na dodaniu go do istniejącej kategorii, utworzeniu dla niego nowej kategorii oraz podziale lub połączeniu kategorii. ^ Przy grupowaniu za pomocą pokryć można dopuścić występowanie w opi sie przykładów atrybutów ciągłych, wprowadzając dla nich selektory prze działowe i nierównościowe. Niezbędne w tym celu modyfikacje algorytmu CLUSTER/2 powodują pewne problemy, dla których trudno podać jednoznacz nie zadowalające rozwiązania. S-> Algorytm COBWEB bardzo łatwo może zostać uogólniony w celu umożliwie nia przetwarzania przykładów opisanych za pomocą atrybutów ciągłych. Na turalne podejście polega na szacowaniu dla każdego węzła, zamiast rozkładów prawdopodobieństwa dla dyskretnych atrybutów, funkcji gęstości prawdopo dobieństwa dla atrybutów ciągłych. S-> Do grupowania danych opisanych przez atrybuty ciągłe mogą być stosowane metody oparte na odległości, a także ogólne techniki modelowania miesza nin. W tym drugim podejściu zakłada się, że dane są generowane przez pew ną ustaloną liczbę rozkładów prawdopodobieństwa o nieznanych parametrach, z których każdy reprezentuje jedną grupę. Do znalezienia parametrów tych rozkładów, czyli opisu grup, może być wykorzystany ogólny algorytm EM. S-> Do oceny grupowań można wykorzystać zasadę minimalnej długości kodu, przyjmując, że wysokiej jakości grupowanie powinno umożliwiać znaczącą kompresję danych trenujących.
6.9 Uwagi historyczne i bibliograficzne Tworzenie pojęć nie spotkało się z zainteresowaniem tak dużym jak uczenie się po jęć i liczba prac na ten temat jest znacznie mniejsza. Jednak zagadnienia grupowa nia były poruszane już we wczesnym okresie badań nad maszynowym uczeniem
372
ROZDZIAŁO. GRUPOWANIE POJĘCIOWE
się. Pierwszą generację systemów grupowania pojęciowego reprezentuje system EPAM Feingenbauma [79], tworzący grupowania hierarchiczne. Termin „grupo wanie pojęciowe", kładący nacisk na to, że poszczególne grupy są opisane za po mocą hipotezy z pewnej przestrzeni hipotez, pochodzi od Michalskiego i Steppa, którzy opracowali system CLUSTER/2 [153]. Algorytm przedstawiony w tym roz dziale jako algorytm CLUSTER/2 jest najprostszą, podstawową wersją algorytmu stosowanego przez ten system. Algorytm COBWEB zaproponował Fisher [81], zainspirowany wcześniejszy mi pracami nad grupowaniem, przede wszystkim zaś systemem UNIMEM Lebowitza [129]. Oba te systemy różnią się w istotny sposób opisem kategorii i al gorytmem ich modyfikacji, lecz ich wspólną cechą jest hierarchiczność grupo wania, które jest reprezentowane za pomocą drzewa. Łączy je także inkrementacyjny tryb uczenia się, a więc zdolność do modyfikowania grupowania przez uwzględnianie pojedynczych przykładów trenujących bez potrzeby intensywnego obliczeniowo przebudowywania go. Algorytm przeszukiwania przestrzeni grupowań stosowany przez system COBWEB ma cechy inkrementacyjnego przeszuki wania zachłannego, na rzecz którego argumentowali Schlimmer i Fisher [237]. Dla systemu COBWEB charakterystyczny jest także probabilistyczny opis kate gorii. Funkcja używana do oceny jakości takiego grupowania probabilistycznego, nazywana funkcją użyteczności kategorii, została po raz pierwszy zaproponowana przez Glucka i Cortera [91]. Prace Fishera nad systemem COBWEB rozwinęli Gennari, Langley i Fisher [90], którzy opracowali system CLASSIT. Przejmując drzewiastą reprezentację grupowania, operatory i algorytm sterowania swego poprzednika, jest on przezna czony do grupowania danych opisanych za pomocą atrybutów ciągłych i w wę złach drzewa grupowania przechowuje parametry funkcji gęstości prawdopodo bieństwa dla rozkładu normalnego, które służą do obliczania wartości funkcji oce ny w omawiany przez nas sposób. W systemie tym wprowadzono także możliwość pozostawiania liści reprezentujących kategorie wieloelementowe, czyli ogranicze nia wzrostu drzewa grupowania. Umożliwia on także, o czym w tym rozdziale nie było mowy, grupowanie obiektów strukturalnych, złożonych z pewnej liczby kom ponentów, które są opisywane za pomocą atrybutów. Do grupowania struktural nych obiektów jest także przeznaczony system CLUSTER/S Steppa i Michalskie go [252]. System ten wykorzystuje dwa algorytmy grupowania, z których jeden jest odpowiednim rozszerzeniem znanego nam algorytmu z systemu CLUSTER/2. Prosty algorytm grupowania na podstawie odległości jest na tyle oczywisty, że trudno wskazać jego autora — zapewne był wielokrotnie niezależnie odkrywa ny. Można w zasadzie mieć wątpliwości, czy zasługuje on na to, aby był uznany za algorytm grupowania pojęciowego, a nie raczej „zwykłego" grupowania, czy numerycznej taksonomii. Przyjęliśmy tu interpretację „liberalną", zgodnie z któ rą można uznać za algorytm grupowania pojęciowego każdy algorytm, który daje
6.10. ĆWICZENIA
373
w wyniku hipotezę reprezentowaną w dowolny sposób, umożliwiającą klasyfiko wanie dowolnego przykładu z dziedziny. Bardziej rygorystyczna interpretacja po legałaby na nałożeniu pewnych ograniczeń na dopuszczalne metody reprezentacji takiej hipotezy, jak choćby żądanie ich symbolicznej postaci. Wersja grupowania według odległości, wykorzystująca prawdopodobieństwa do ich oceny, zasugerowana tu jako rodzaj naiwnego grupowania bayesowskiego, przypomina do pewnego stopnia algorytm grupowania stosowany przez Mahadevana i Connella [136], którzy wykorzystywali go do wyznaczenia grup podobnych stanów w celu umożliwienia generalizacji podczas uczenia się ze wzmocnieniem. Algorytm EM, jako ogólną metodę probabilistycznego wnioskowania induk cyjnego na podstawie niekompletnych danych, zaproponowali Dempster, Laird i Rubin [64]. Stał się on standardowym podejściem do modelowania mieszanin, które jest jedną z form grupowania dla atrybutów ciągłych. Modelowaniu mie szanin poświęcono wiele miejsca w literaturze statystycznej, czego przykładami mogą być książki [76, 141, 264]. Zwięzły opis algorytmu EM w postaci ogólnej i konkretyzację dla modelowania mieszanin rozkładów normalnych przedstawia Mitchell [164]. Przykład zastosowania algorytmu EM do uczenia się w sieciach baeysowskich można znaleźć w artykule Rabinera [214]. Na algorytmie EM jest oparty znany zaawansowany system grupowania bayesowskiego AutoClass [44]. O zastosowaniu zasady minimalnej długości kodu do grupowania dla atrybu tów ciągłych, a ściślej modelowania mieszanin, piszą Ohver, Baxter i Wallace [185] oraz Wallace i Dowe [274]. W pierwszym artykule jest rozważane połą czenie algorytmu EM stosowanego do wyznaczenia parametrów modelowanych rozkładów prawdopodobieństwa z wyborem odpowiedniej liczby tych rozkładów (czyli liczby kategorii) za pomocą MML. Drugi artykuł dotyczy wynaczania za równo liczby rozkładów, jak i ich parametrów za pomocą MML. Podejście to re alizuje system grupowania Snob [192]. Techniki kodowania danych ciągłych nie zbędne do takich zastosowań zasady minimalnej długości kodu są opisane w ra porcie 01ivera i Handa [186].
6.10 Ćwiczenia Ćwiczenie 6.1. Zapisz algorytm generowania gwiazdy używany przez metodę grupo wania pojęciowego za pomocą pokryć w systemie CLUSTER/2. Ćwiczenie 6.2. Przeprowadź modyfikacje zbioru kompleksów K niezbędne do zapew nienia a) rozłączności dowolnych dwóch kompleksów ze zbioru Ky b) rozłączności dowolnych dwóch kompleksów ze zbioru K na zbiorze przykła dów P w taki sposób, aby kompleksy ze zbioru K po modyfikacji pokrywały łącznie jak najwięcej przykładów ze zbioru P, dla
374
ROZDZIAŁO. GRUPOWANIE POJĘCIOWE
1) zbioru P identycznego ze zbiorem trenującym dla dziedziny stanów pogody po danym w tabl. 2.2 i zbioru K składającego się z następujących kompleksów: (pochmurna V deszczowa, ciepła, 1, ?), (1,1, normalna, silny), (słoneczna, 1,1, silny), {?, ciepła V umiarkowana, duża, ?), 2) zbioru P identycznego ze zbiorem trenującym dla dziedziny modeli samochodów podanym w tabl. 2.4 i zbioru K składającego się z następujących kompleksów: (duży, niska V umiarkowana, 1, ?), (?, umiarkowana, przeciętne, ?), {kompakt, 1,1, mała V przeciętna), {?, wysoka przeciętne V dobre, ?). Ćwiczenie 6.3. Zaproponuj wersję algorytmu CLUSTER/2 dla dziedzin z atrybutami ciągłymi. Ćwiczenie 6.4. Dokonaj klasyfikacji następujących przykładów dla dziedziny stanów pogody za pomocą drzewa grupowania przedstawionego na rys. 6.2: X aura 15 słoneczna 16 i deszczowa 17 deszczowa 18 —
temperatura zimna ciepła umiarkowana ciepła
wilgotność duża normalna duża normalna
wiatr silny silny słaby silny
Podaj etykiety kategorii, jakie zostałyby przypisane tym przykładom, gdyby grupo wanie poziomu 1 potraktowano jako hipotezę dla uczenia się z nadzorem. Ćwiczenie 6.5. Zbuduj za pomocą algorytmu COBWEB drzewo grupowania dla zbio ru przykładów dotyczących modeli samochodów przedstawionych w tabl. 2.4. Podaj błąd próbki na zbiorze trenującym grupowania na poziomie 1 tego drzewa interpreto wanego jako hipoteza do uczenia się z nadzorem. Ćwiczenie 6.6. Dokonaj klasyfikacji następujących przykładów dla dziedziny modeli samochodów za pomocą drzewa grupowania uzyskanego w ćwiczeniu 6.5: X
12 13 14 15
klasa mały miejski kompakt duży
cena umiarkowana — umiarkowana umiarkowana
osiągi — dobre dobre słabe
niezawodność mała duża duża przeciętna
Podaj etykiety kategorii, jakie zostałyby przypisane tym przykładom, gdyby grupo wanie poziomu 1 potraktowano jako hipotezę do uczenia się z nadzorem.
375
6.10. ĆWICZENIA
Ćwiczenie 6.7. Powtórz ćwiczenie 6.5 powiększając zbiór trenujący o przykłady: X
12 13
kłasa mały miejski
cena umiarkowana
osiągi dobre
niezawodność c(x) mała 1 duża 1 0
Zastosuj technikę przykładów ułamkowych. Ćwiczenie 6.8. Zapisz funkcję oceny algorytmu COBWEB dla atrybutów ciągłych, za kładając, że ich wartości są generowane zgodnie z rozkładem normalnym. Zaproponuj sposób inkrementacyjnej modyfikacji parametrów rozkładów normalnych związanych z poszczególnymi węzłami w miarę dodawania do nich kolejnych przykładów w trak cie uczenia się. Ćwiczenie 6.9. Sformułuj precyzyjnie algorytm grupowania euklidesowego. Ćwiczenie 6.10. Sformułuj wersję algorytmu COBWEB, w której liście drzewa grupo wania mogą zawierać więcej niż jeden przykład. Zaproponuj kryterium rozstrzygania o przekształceniu liści w węzły. Ćwiczenie 6.11. Zmodyfikuj udostępnioną implementację algorytmu COBWEB, zastę pując wykorzystywaną tam funkcję oceny jakości grupowania przez funkcję opartą na zasadzie minimalnej długości kodu. Ćwiczenie 6.12. Zmodyfikuj udostępnioną implementację algorytmu COBWEB w taki sposób, aby w przypadku dostarczenia jej przykładów etykietowanych kategoria była traktowana jako dodatkowy atrybut, Ćwiczenie 6.13. Zmodyfikuj udostępnioną implementację algorytmu COBWEB w spo sób opracowany w ćwiczeniu 6.10. Ćwiczenie 6.14. Zmodyfikuj udostępnioną implementację algorytmu COBWEB, po prawiając efektywność operacji znajdowania najlepszego pojemnika. Ćwiczenie 6.15. Zmodyfikuj udostępnioną implementację algorytmu COBWEB, umoż liwiając uczenie się na podstawie przykładów z brakującymi wartościami atrybutów oraz klasyfikowanie takich przykładów. Ćwiczenie 6.16. Przeprowadź eksperymenty walidacji krzyżowej, stosując udostępnio ną implementację algorytmu COBWEB do udostępnionych zbiorów danych. Genero wane grupowania poziomu 1 traktuj jako hipotezy do uczenia się z nadzorem. Ćwiczenie 6.17. Wykorzystując udostępnioną implementację algorytmu COBWEB, przeprowadź serię eksperymentów, polegających na grupowaniu wybranego zbioru danych, za każdym razem dostarczając algorytmowi przykłady trenujące w różnej ko lejności. Porównaj uzyskane grupowania. Następnie serię eksperymentów powtórz, korzystając ze zmodyfikowanej samodzielnie wersji programu, w której niedostępne są operatory połączenia i podziału kategorii.
376
ROZDZIAŁO. GRUPOWANIE POJĘCIOWE
Ćwiczenie 6.18. Przeprowadź eksperymenty z wersją algorytmu COBWEB, wykorzy stującą do oceny grupowania zasadę minimalnej długości kodu, stosując zmodyfiko wany w ćwiczeniu 6.11 program do udostępnionych zbiorów danych. Porównaj uzy skane wyniki z wynikami dla oryginalnej wersji algorytmu. Ćwiczenie 6.19. Przeprowadź eksperymenty z wersją algorytmu COBWEB, uwzględ niającą etykiety kategorii, jeśli są dostępne, jako wartości dodatkowego atrybutu, sto sując zmodyfikowany w ćwiczeniu 6.11 program do udostępnionych zbiorów danych. Porównaj uzyskane wyniki z wynikami dla oryginalnej wersji algorytmu.
Rozdział 7
Przekształcanie atrybutów You raise the blade, you make the change, You re-arrange me till Vm sanę1 Algorytm potwora przewidywał kolejne transformacje we wszystkie wcielenia2.
Hipotezy do uczenia się lub tworzenia pojęć są reprezentowanymi na różne spo soby funkcjami zależnymi od wartości atrybutów opisujących przykłady. W tym rozdziale zajmiemy się możliwością przekształcania zestawu atrybutów tak, aby było możliwe poprawienie jakości hipotez uzyskiwanych przez algorytmy induk cyjnego uczenia się. Zaczniemy od spostrzeżenia, że przestrzeń atrybutów mo że wpływać na przestrzeń hipotez przeszukiwaną przez poszczególne algorytmy, a przynajmniej sposób tego przeszukiwania. Może to polegać bądź na jej zawęże niu, czyli wprowadzeniu obciążenia absolutnego, bądź na zmianie oceny jakości poszczególnych hipotez przy ustalonych kryteriach, czyli na modyfikacji obcią żenia preferencji. Jeden szczególnie istotny rodzaj przekształcania atrybutów był już wielokrotnie zapowiadany. Chodzi o dyskretyzację atrybutów ciągłych i zbli żoną do niej agregację atrybutów porządkowych. Przedstawimy wybrane metody realizacji takiego przekształcenia, z których najbardziej zaawansowane i skutecz ne są oparte na schematach dyskretyzacji (lub odpowiednio agregacji) zstępującej, w której rozpoczynając od jednego przedziału obejmującego całą przeciwdziedzinę atrybutu dokonuje się jego kolejnych podziałów, i wstępującej, w której rozpo czynając od wielu małych przedziałów łączy się wybrane sąsiednie przedziały. In nego rodzaju przekształcenia zestawu atrybutów, którym poświęcona będzie pozo stała część rozdziału, są określane mianem konstruktywnej indukcji. Rozróżnimy konstruktywną indukcję na podstawie danych, w której decyzje o przekształceniu atrybutów są podejmowane w wyniku analizy zbioru trenującego, konstruktywną indukcję na podstawie wiedzy, w której wykorzystuje się w tym celu wiedzę wro dzoną o dziedzinie, oraz konstruktywną indukcję na podstawie hipotez, w której do wyboru właściwych przekształceń prowadzi analiza hipotez uzyskiwanych przez wykorzystywany algorytm uczenia się. Przedstawimy zwięźle najprostsze metody konstruktywnej indukcji na podstawie danych i na podstawie hipotez. }
Brain Damage (Pink Floyd: Dark Side ofthe Mooń). Wyprawa druga, czyli oferta króla Okrucyusza.
2
378
ROZDZIAŁ 7. PRZEKSZTAŁCANIE ATRYBUTÓW
7.1 Przestrzeń atrybutów a przestrzeń hipotez Przestrzeń atrybutów jest w każdym rodzaju uczenia się dana uczniowi z góry i, wydawać by się mogło, raz na zawsze. Ponieważ obserwuje on przykłady trenują ce wyłącznie jako wektory wartości atrybutów, ewentualnie opatrzone etykietami kategorii, jest rzeczą jasną, że nie ma dostępu do żadnej informacji o nich poza tą, która może być reprezentowana za pomocą atrybutów określonych na dziedzi nie. A skoro tak, to wydaje się, że żadne zmiany przestrzeni atrybutów nie mogą w niczym problemu, przed którym stoi uczeń, uprościć i pomóc mu w jego roz wiązaniu, a w związku z tym nie mają żadnego racjonalnego sensu. 7.1.1
Informacyjna zawartość atrybutów
Powyższe rozumowanie jest jednak poprawne tylko o tyle, że trafnie wskazuje na niemożność stworzenia przez ucznia ex nihilo żadnej informacji, której nie ma w wartościach atrybutów, za pomocą których są opisywane obserwowane przez niego przykłady. Eliminując niektóre atrybuty, zastępując je innymi, dodając nowe, uczeń może doprowadzić do sytuacji, w której będzie o przykładach dowiadywał się mniej, czyli straci część informacji, która była wyrażana przez użycie oryginal nego zestawu atrybutów, lecz nigdy na odwrót. Ponieważ o przykładach wiadomo tylko tyle, ile o nich mówią pierwotnie dostępne atrybuty, wszelkie nowe atrybu ty muszą być od nich funkcyjnie zależne, a tym samym nie pozwalają opisywać przykładów w jakimkolwiek stopniu dokładniej lub pełniej. Ale to jak najbardziej słuszne spostrzeżenie nie podważa sensowności przekształcania atrybutów, które mu ten rozdział jest poświęcony, gdyż opiera się ona na zupełnie innych przesłan kach niż ich „informacyjna zawartość". Modyfikacje przestrzeni atrybutów warto czasem brać pod uwagę nie dlatego, że pozwalają uczniowi o dziedzinie wiedzieć więcej, lecz dlatego, że pozwalają tę wiedzę lepiej reprezentować. Wiąże się to z wpływem przestrzeni atrybutów na przestrzeń rozpatrywanych przez ucznia hi potez, dzięki któremu zastosowanie odpowiednich przekształceń może niekiedy umożliwić uzyskanie przez ten sam algorytm uczenia się hipotez lepszych — bar dziej dokładnych, mniej złożonych — niż dla oryginalnego zestawu atrybutów. 7.1.2
Rola atrybutów w grupowaniu
Dla ustalenia uwagi poniższą dyskusję będziemy prowadzić, mając na względzie indukcyjne uczenie się pojęć, lecz jej część stosuje się także do tworzenia pojęć. Podstawowa różnica, jaka jednak wówczas występuje, to brak ustalonego pojęcia docelowego, ze względu na które można oceniać hipotezy. Przy ustalonym po jęciu docelowym istnieje obiektywna, niezależna od przestrzeni atrybutów miara ich oceny, jaką jest błąd rzeczywisty, który nie może być wprawdzie dokładnie wy-
7.1. PRZESTRZEŃ ATRYBUTÓW A PRZESTRZEŃ HIPOTEZ
379
znaczony, ale może być oszacowany. Przy grupowaniu ocena jakości hipotez jest z konieczności zawsze względna, zależna od przestrzeni atrybutów, gdyż jakiekol wiek określenie podobieństwa przykładów, stanowiącego podstawę grupowania, może zależeć tylko od nich. Przekształcanie przestrzeni atrybutów jest tu więc raczej środkiem do wyrażenia pewnych preferencji co do rodzaju podobieństwa, jakie powinno być uwzględnione podczas grupowania. Usuwając atrybut stwier dzamy wtedy, że jego wartość nie powinna mieć wpływu na ocenę podobieństwa. Wprowadzając nowe atrybuty możemy zwiększyć podobieństwo między niektó rymi przykładami i zmniejszyć między innymi. Takie przekształcenia mogą być dokonywane na podstawie wiedzy o dziedzinie. Nas jednak będą w tym rozdzia le bardziej interesować przekształcenia, które nie tyle wyrażają wiedzę wrodzoną ucznia, lecz raczej zwiększają w obiektywnie mierzalny sposób efektywność pro cesu uczenia się i jakość znajdowanych hipotez. W związku z tym będziemy się koncentrować raczej na zmienianiu przestrzeni atrybutów używanych do uczenia się pojęć, nie odrzucając możliwości zastosowania niektórych z przedstawianych metod także wtedy, kiedy celem jest tworzenie pojęć. 7.1.3
Atrybuty a reprezentacja
Przestrzeń hipotez może zależeć w ogólnym przypadku od algorytmu uczenia się, a dokładniej od przyjmowanej przez ten algorytm metody reprezentacji hipotez. Skoro jednak przykłady są widziane jako wektory wartości atrybutów, to hipotezy — w przypadku uczenia się pojęć, do którego ograniczamy się w tej dyskusji — są niczym innym jak funkcjami odwzorowującymi takie wektory wartości atrybu tów na zbiór kategorii. Zatem to, jakie są dopuszczalne hipotezy, czyli jaka jest maksymalna przestrzeń hipotez, zależy od zestawu atrybutów. Niektóre metody reprezentacji hipotez, takie jak drzewa decyzyjne lub zbiory reguł, umożliwiają re prezentowanie wszystkich dopuszczalnych hipotez dla danego zestawu atrybutów. Z kolei w postaci pojedynczych kompleksów mogą być wyrażone tylko niektóre hipotezy pojęć pojedynczych. Przed omawianiem możliwych przekształceń atry butów winniśmy się zastanowić, co w jednym i drugim przypadku można w drodze takich przekształceń osiągnąć. Zmiana obciążenia absolutnego Wydaje się, że jeśli stosowana przez nasz algorytm uczenia się metoda reprezenta cji hipotez umożliwia reprezentowanie wszystkich dopuszczalnych hipotez dla da nego zestawu atrybutów, to żadna poprawa przez modyfikowanie tego zestawu nie jest możliwa —już nie może być lepiej. Nieformalnie mówiąc, przestrzeń hipotez może się w ten sposób skurczyć, lecz na pewno się nie poszerzy. Jest to oczywi ście obserwacja słuszna, gdyż usuwając dowolne atrybuty lub wprowadzając nowe
380
ROZDZIAŁ 7. PRZEKSZTAŁCANIE ATRYBUTÓW
atrybuty funkcyjnie od nich zależne przestrzeń hipotez możemy jedynie zawęzić, albo więc nie zmieni się ona w wyniku naszych poczynań w ogóle, albo stanie się mniejsza. Wprawdzie dodanie nowych atrybutów lub zastąpienie dotychczaso wych atrybutów nowymi atrybutami o większej liczbie wartości zwiększa liczbę możliwych do wyrażenia za ich pomocą hipotez dopuszczalnych, lecz jest to tyl ko pozorne poszerzenie, gdyż wobec funkcyjnej zależności nowych atrybutów od atrybutów oryginalnych liczba faktycznie różnych (a nie tylko reprezentowanych w różny sposób) hipotez pozostanie w najlepszym razie taka sama. Ewentualne zawężenie przestrzeni hipotez przez przekształcenie zestawu atrybutów oznacza wprowadzenie dodatkowego obciążenia absolutnego, przez co niektóre hipotezy możliwe do reprezentowania za pomocą oryginalnych atrybutów nie są już moż liwe do reprezentowania po dokonanych modyfikacjach. Z pozoru jest to krok w niewłaściwym kierunku, który zadanie systemu uczącego się utrudnia zamiast ułatwiać, lecz często zawężenie przestrzeni hipotez nie musi być niczym złym. Może się zdarzyć, że wśród hipotez, które zostaną w ten sposób wyelimino wane z przeszukiwanej przestrzeni, będzie się znajdować pojęcie docelowe, które tym samym stanie się niemożliwe do dokładnego nauczenia. Jednak w praktyce i tak rzadko liczymy na rzeczywiście dokładne nauczenie się pojęcia docelowe go oraz musimy liczyć się z tym, że nie zawsze jest ono elementem oryginalnej przestrzeni hipotez, wyznaczonej przez pierwotny zestaw atrybutów, gdyż atry buty te mogą nie opisywać przykładów dostatecznie dokładnie. Ważniejsze jest więc to, że przekształcenia atrybutów, jeśli są odpowiednio dobrane, mogą usu nąć z przestrzeni hipotez hipotezy najbardziej złożone, dla których istnieje duże ryzyko nadmiernego dopasowania, co także jest zmianą korzystną. Stanie się tak w szczególności w przypadku eliminacji niektórych atrybutów, które są mało istot ne ze względu na kategorie pojęcia docelowego, a których uwzględnienie w opisie przykładów sprzyja komplikowaniu hipotez. Poza tym nie ulega wątpliwości, że zawężenie przestrzeni hipotez, jeśli do niego dojdzie, upraszcza problem jej prze szukiwania. W związku z tym zmiana taka będzie korzystna pod warunkiem, że hipoteza uznana przez wybrany algorytm uczenia się za najlepszą z nowej prze strzeni nie będzie gorsza (czyli nie będzie miała większego błędu rzeczywistego) od tej, jaką ten sam algorytm wybrałby z przestrzeni oryginalnej. Okazuje się, że często udaje się warunek taki spełnić i dlatego warto bliżej poznać niektóre metody przekształcania atrybutów. Zmiana obciążenia preferencji Mówiąc o zawężeniu przestrzeni hipotez, jakie może wynikać z modyfikacji prze strzeni atrybutów, trzeba odróżnić możliwość reprezentowania różnych hipotez „w zasadzie" i możliwość ich reprezentowania w praktyce w rozsądny sposób. Dla skuteczności algorytmu uczenia się ma bowiem znaczenie nie tylko to, czy
7.1. PRZESTRZEŃ ATRYBUTÓW A PRZESTRZEŃ HIPOTEZ
381
jest on w stanie reprezentować określone hipotezy — i w związku z tym można korzystając z tego algorytmu ich się nauczyć — lecz także to, czy można je re prezentować w prosty sposób — i wtedy można się ich nauczyć efektywnie. Cho dzi tu zresztą nie tylko o to, czy poszukiwana przez algorytm hipoteza najlepiej przybliżająca pojęcie docelowe będzie dla pewnej przestrzeni atrybutów złożona, a dla innej prosta —jeśli będzie to w obu przypadkach hipoteza taka sama, to taki sam pozostanie też najbardziej interesujący nas błąd rzeczywisty. Ale pamiętajmy, że algorytmy uczenia się nie przeszukują na ogół wyczerpująco całej przestrzeni hipotez, lecz poruszają się po niej, stosując pewne heurystyczne strategie przeszu kiwania w celu wyboru najbardziej obiecujących kierunków poszukiwań. Można się wówczas spodziewać, że zmiana przestrzeni atrybutów, nawet nie zmieniając przestrzeni hipotez, wpłynie na to, którą hipotezę z tej przestrzeni dany algorytm uczenia się wybierze oraz jakim kosztem tego dokona. Jeśli zmiana ta spowoduje poprawę jakości hipotezy lub kosztu jej uzyskania, to będziemy mieli do czynienia z pozytywnym skutkiem przekształcania atrybutów, o jakie chodzi w tym rozdzia le. Zmiana zestawu atrybutów może zatem zmienić w korzystny sposób obciążenie preferencji, przyczyniając się do uzyskania lepszych hipotez. 7.1,4
Rodzaje przekształceń
Mówiąc o możliwych korzyściach, wynikających z przekształcenia przestrzeni atrybutów, nie sprecyzowaliśmy dotychczas, jakie przekształcenia mogą wchodzić w grę. Weźmiemy pod uwagę ich następujące podstawowe rodzaje: • usuwanie istniejących atrybutów, • dodawanie nowych atrybutów, • zastępowanie istniejących atrybutów nowymi atrybutami. Usuwanie atrybutów ogranicza przestrzeń możliwych hipotez, wydaje się więc być wbrew najlepiej pojętym interesom ucznia, któremu uniemożliwia reprezento wanie i znajdowanie niektórych hipotez. To właśnie ten rodzaj przekształcenia mo że zawęzić przestrzeń hipotez. Jeśli jednak usuwane atrybuty są nieistotne w tym sensie, że hipotezy dobrze przybliżające pojęcie docelowe nie zależą od ich war tości dla wszystkich lub większości przykładów dziedziny, to takie ograniczenie w niczym nie zmniejsza możliwości ucznia, a ułatwia stojący przed nim problem przeszukiwania, skoro przeszukiwana przestrzeń staje się dzięki eliminacji atrybu tów mniejsza. Dodawanie nowych atrybutów nie ogranicza przestrzeni hipotez, lecz nie mo że, zgodnie z wcześniejszą dyskusją, jej poszerzać. Może natomiast prowadzić do tego, że pewne hipotezy mają za pomocą nowych atrybutów prostszą reprezenta cję. Takie nowe atrybuty są zawsze ściśle zależne funkcyjnie od atrybutów orygi nalnych — dla każdego przykładu wartość nowego atrybutu może być wyznaczo-
382
ROZDZIAŁ 7. PRZEKSZTAŁCANIE ATRYBUTÓW
na na podstawie wartości dla tego przykładu wszystkich lub niektórych atrybutów oryginalnych. Wiąże się to z tym, że informacyjna zawartość przestrzeni atrybutów nie ulega przez dodanie do niej nowych atrybutów żadnej zmianie. Zastępowanie pierwotnie istniejących atrybutów nowymi to nic innego jak usuwanie pierwszych i dodawanie drugich, czyli złożenie dwóch poprzednich ro dzajów przekształceń, przy czym dodawane atrybuty są funkcyjnie zależne od usu wanych. Takie przekształcenie jest w praktyce szczególnie częste. Zależnie od sy tuacji, może ono prowadzić do zawężenia lub pozostawienia bez zmian przestrzeni hipotez, lecz w każdym przypadku ma na celu ułatwienie jej skutecznego prze szukiwania. W ten sposób atrybuty, który są istotne i nie mogą zostać w zwykły sposób usunięte, są zastępowane atrybutami niosącymi w całości lub w części tę samą informację, ale korzystnie wpływającymi na złożoność hipotez dobrze przy bliżających pojęcie docelowe. Przy zastępowaniu liczba dodawanych atrybutów może być zarówno mniejsza, jak i większa lub równa liczbie atrybutów usuwa nych. Każdy z nich może być zależny funkcyjnie od jednego lub większej liczby usuwanych atrybutów, a także od innych atrybutów, które są pozostawiane. Przestrzeń atrybutów może być przekształcana przez łączne zastosowanie do niej różnych rodzajów przekształceń. Niektóre atrybuty mogą zostać usunięte, nie które zastąpione innymi, nowymi atrybutami, a oprócz tego może być wprowadzo na pewna liczba dodatkowych nowych atrybutów. Po zastosowaniu przez ucznia tych przekształceń wszystkie przykłady są przed ich przekazaniem do algorytmu uczenia się lub klasyfikacji poddawane konwersji, czyli „tłumaczone" do postaci wektorów wartości zmodyfikowanego zestawu atrybutów. Takie przekształcanie opisów przykładów będziemy nazywać rzutowaniem. Po zastąpieniu pierwotnej przestrzeni atrybutów A zmodyfikowaną przestrzenią A' wektor (X)A opisujący dowolny przykład x w przestrzeni pierwotnej jest zastępowany wektorem (x)& dla nowej przestrzeni. Przykład 7.1 (Funkcje boolowskie). Dla dziedziny X = {0, l } 4 z przykładu 2.2 weźmy pod uwagę pojęcie docelowe reprezentowane przez funkcję boolowską c(x) = ai(x) V a4(x) dla pierwotnego zestawu czterech atrybutów, kiedy atrybut di oznacza i-tą cyfrę binarną łańcucha. W przykładzie 2.30 rozważaliśmy hipotezę h\ o definicji h1(x) = ~^ai(x) A a3(x) A a 4 (x) V a\{x) A a2(x)i dla której błąd rze czywisty wynosi e^h) = ^ , jeśli ft jest rozkładem równomiernym na dziedzinie. W ćwiczeniu 2.7 czytelnik był proszony o podanie algorytmu, jaki mógł doprowadzić do uzyskania takiej hipotezy na podstawie zbioru trenującego podanego w przykła dzie 2.30. Rozważmy obecnie przekształcenie przestrzeni atrybutów, polegające na usunięciu atrybutu a^. Wówczas ten sam algorytm na podstawie tego samego zbio ru trenującego mógłby dać w wyniku hipotezę h[t określoną dla dowolnego x jako h[(x) — ->ai(x) A a±(x) V ai(x) A a 2 (x). Można łatwo sprawdzić, że taka hipoteza ma błąd rzeczywisty e& (h[) = ^ , a więc mniejszy od błędu hipotezy h\. Oczywiście rozmiar przestrzeni hipotez dopuszczalnych zmniejsza się w wyniku usunięcia jednego atrybutu z 2 16 do 2 8 . Liczba hipotez spójnych z pojęciem doce-
7.2. DYSKRETYZACJA ATRYBUTÓW CIĄGŁYCH
383
Iowym na zbiorze T liczącym 8 przykładów zmniejsza się po usunięciu atrybutu a 3 z 2 16 ~ 8 = 2 8 do 2 8 ~ 6 = 2 2 - 4, gdyż po tym przekształceniu w T będzie tylko 6 przykładów o różnych wektorach wartości atrybutów. Znając pojęcie docelowe wiemy, że można również usunąć atrybut <22, który także nie jest istotny. Jeśli ponadto zastąpimy atrybuty a\ i CLĄ atrybutem au o definicji &14(x) = Q>\ (#) V a±{x), to przestrzeń hipotez dopuszczalnych będzie liczyć tylko 2 hipotezy, z których jedna będzie spójna na zbiorze T z pojęciem docelowym. Przykład 7.2 (Pogoda). Dla dziedziny stanów pogody wprowadzonej w przykła dzie 2.4 rozważmy zastąpienie atrybutów aura. i temperatura jednym atrybutem at zde finiowanym dla każdego przykładu x e X następująco: (letnia ( \ _ J WJ'ose/WIa I jesienna ^ zimowa
jeśli temperatura(x) = ciepła, jeśli aura(#) = słoneczna A temperatura(x) = wnjarfcowafla, jeśli aura(x) / słoneczna A temperatura(x) — u/niar^owa/ia, jeśli temperatura(x) — zimna.
Dla oryginalnej przestrzeni atrybutów przestrzeń wszystkich dopuszczalnych hipotez H obejmuje 2 3 ' 3 ' 2 ' 2 = 2 36 elementów. Po opisanym przekształceniu otrzymujemy za wężoną przestrzeń hipotez dopuszczalnych Hf, która zawiera 2 4 x 2 x 2 — 2 16 hipotez. Zauważmy, że przy założeniu braku przekłamań etykiet pojęcie docelowe nie może być reprezentowane dokładnie po przekształceniu, czyli c $ IHF, gdyż dla przykładów 1 i 3 mamy jednakowe wartości wszystkich atrybutów, ale c(l) ^ c(3). W istocie w HF nie ma żadnej hipotezy spójnej z pojęciem docelowym na zbiorze T. W przy padku pierwotnej przestrzeni hipotez H hipotez takich było 2 3 6 ~ 1 4 — 2 2 2 . Rozważmy z kolei inne przekształcenie pierwotnej przestrzeni atrybutów dla tej samej dziedziny, polegające na zastąpieniu atrybutów wilgotności wiatr nowym atry butem ww zdefniowanym dla każdego przykładu x następująco:
{
sucho-i-bezwietrznie jeśli wilgotność(x) = normalna A wiatr — słaby, wilgotno-i-bezwietrznie jeśli wilgotność(x) = duża A wiatr = słaby, wietrznie jeśli wiarr(x) = silny.
Tym razem pierwotna przestrzeń wszystkich hipotez dopuszczalnych H jest za wężana do przestrzeni IHF liczącej 2 3 ' 3 ' 3 — 2 27 hipotez, z czego 2 2 7 ~ 1 4 = 2 13 jest spójnych z pojęciem docelowym na zbiorze T.
7.2 Dyskretyzacja atrybutów ciągłych Najczęściej stosowanym i najbardziej użytecznym przekształceniem przestrzeni atrybutów, polegającym na zastąpieniu istniejących atrybutów nowymi, jest dys kretyzacja atrybutów ciągłych. Podczas gdy atrybuty tego typu występują dość często w realnych dziedzinach, w których zastosowanie systemów uczących się mogłoby być bardzo obiecujące, niektóre popularne algorytmy uczenia się pojęć
384
ROZDZIAŁ 7. PRZEKSZTAŁCANIE ATRYBUTÓW
nie mogą być wówczas wykorzystane lub ich wykorzystanie wiąże się z pewny mi trudnościami. Tak jest chociażby w przypadku poznanych przez nas algoryt mów uczenia się reguł lub grupowania za pomocą pokryć, kiedy można wpraw dzie wprowadzić selektory przedziałowe i nierównościowe dla atrybutów ciągłych, lecz związane z tym komplikacje utrudniają zachowanie wszystkich właściwości, jakie algorytm ma dla atrybutów nominalnych. Istnieją też inne algorytmy, takie jak omawiane w rozdziale 3 algorytmy indukcji drzew decyzyjnych, które ze swej istoty potrafią sobie radzić również z atrybutami ciągłymi bez dodatkowych roz szerzeń, lecz na ogół występowanie takich atrybutów powoduje znaczne zwiększe nie obliczeniowego kosztu uczenia się i złożoności uzyskiwanych hipotez. W celu wyboru testu dla węzła drzewa decyzyjnego przy obecności atrybutów ciągłych dla każdego z nich muszą być, w każdym razie w pesymistycznym przypadku, rozważone wartości progowe położone między wszystkimi występującymi w ak tualnym zbiorze przykładów wartościami tych atrybutów. Jeśli jest ich wiele, to, niezależnie od usprawnień sugerowanych przy omawianiu implementacji induk cji drzew decyzyjnych, nakłady obliczeń mogą stać się trudne do przyjęcia. Waż niejsza od kosztów może się okazać komplikacja uzyskiwanych drzew z testami na atrybutach ciągłych. Dyskretyzacja atrybutów ciągłych polega na zastąpieniu każdego z nich atrybutem o wartościach dyskretnych, odpowiadających pewnym przedziałom ciągłych wartości oryginalnego atrybutu. Oczywiście przedziały takie są uporządkowane, więc w wyniku dyskretyzacji otrzymujemy zamiast atrybutu ciągłego atrybut porządkowy o skończonej liczbie wartości. Aby zaś oczekiwane z dyskretyzacji korzyści mogły być osiągnięte, powinna to być liczba możliwie niewielka.
7.2.1
Dyskretyzacja a agregacja atrybutów porządkowych
Niemal wszystko, co będzie tu powiedziane o dyskretyzacji atrybutów ciągłych, można odnieść także do agregacji atrybutów porządkowych. Polega ona na zastą pieniu takiego atrybutu innym atrybutem porządkowym o mniejszej liczbie war tości w taki sposób, że wszystkie wartości nowego atrybutu odpowiadają parami rozłącznym podzbiorom przeciwdziedziny oryginalnego atrybutu, przy czym każ dy taki podzbiór zawiera kolejne wartości z tej przeciwdziedziny według określo nej na niej relacji porządku. Umożliwia to nazywanie takiego podzbioru przedzia łem, którego końcami są „najmniejsza" i „największa" według tej relacji należąca do niego wartość. Wówczas należą do niego także wszystkie wartości pośrednie. Skoro dyskusja poświęcona dyskretyzacji będzie się koncentrować, jak zobaczy my, wokół zasad wyznaczania podziału przeciwdziedzin atrybutów na przedziały, przy odpowiednio zmodyfikowanym rozumieniu przedziałów dotyczy także agre gacji atrybutów porządkowych.
7.2. DYSKRETYZACJA ATRYBUTÓW CIĄGŁYCH
7.2.2
385
Korzyści z dyskretyzacji
Dla algorytmów, które nie mają mechanizmów przetwarzania atrybutów ciągłych, dyskretyzacja jest nieodzownym warunkiem stosowalności do dziedzin, w których atrybuty takie występują. Ponieważ dla algorytmów, które takie mechanizmy ma ją, są one często okupione pewnymi istotnymi niedogodnościami, dyskretyzacja również dla nich może być bardzo pożyteczna. Można wskazać następujące argu menty na poparcie tej tezy: • poprawa efektywności obliczeniowej procesu uczenia się: zastąpienie wielu wartości atrybutu ciągłego niewielką liczbą wartości zdyskretyzowanych może znacznie obniżyć nakłady obliczeń, • zwiększenie prostoty i czytelności hipotez: hipotezy bezpośrednio wykorzy stujące atrybuty ciągłe mogą być złożone i nieczytelne, dyskretyzacja zaś mo że prowadzić do hipotez prostszych i łatwiejszych do interpretacji, • poprawa dokładności hipotez: dyskretyzacja atrybutów ciągłych może korzyst nie wpływać na dokładność generowanych hipotez, zwłaszcza w przypadku nie w pełni poprawnych danych trenujących, ponieważ jest pewnym sposobem zapobiegania nadmiernemu dopasowaniu. 7.2.3
Rodzaje dyskretyzacji
Przed przejściem do omawiania podstawowych algorytmów dyskretyzacji atrybu tów ciągłych, warto je nieco usystematyzować, aby w występującą obecnie różno rodność stosowanych podejść wprowadzić nieco porządku. Najbardziej oczywi sty jest podział na metody prymitywne albo naiwne, które przy dyskretyzacji nie uwzględniają rozkładu wartości atrybutów i kategorii w zbiorze trenującym (dzielą zakres wartości atrybutu na ustaloną w pewien arbitralny sposób liczbę równych podprzedziałów), i na metody zaawansowane, które dopasowują sposób dyskre tyzacji do zbioru trenującego. Będą nas przede wszystkim interesować takie wła śnie metody zaawansowane, które stosują różne heurystyczne miary, oceniające jakość możliwych podziałów zakresu wartości atrybutu ciągłego na podprzedziały. Są wśród nich metody zstępujące, które zaczynają od jednego przedziału obej mującego cały zakres wartości i dokonują jego kolejnych podziałów w najbardziej obiecujących punktach, oraz metody wstępujące, zaczynające od przedziałów od powiadających pojedynczym przykładom i w kolejnych krokach łączące wybrane przyległe przedziały. Niezależnie od wyróżnienia metod prymitywnych i zaawan sowanych, które jest zresztą do pewnego stopnia umowne, można wprowadzić dwa następujące podziały metod dyskretyzacji atrybutów ciągłych: • podział na metody lokalne i globalne, • podział na metody bez nadzoru i z nadzorem.
386
ROZDZIAŁ 7. PRZEKSZTAŁCANIE ATRYBUTÓW
Dyskretyzacja lokalna i globalna Pierwszy z tych podziałów różnicuje metody ze względu na to, czy przeprowadza ją dyskretyzację atrybutów ciągłych jednakowo na całej dziedzinie, czy też w róż ny sposób dla różnych jej obszarów. Metody globalne bezpośrednio odpowiadają nieformalnemu określeniu dyskretyzacji, jakie zostało podane wyżej: każdy atry but ciągły, niezależnie od innych atrybutów, jest zastępowany przez odpowiedni atrybut porządkowy, którego wartości odpowiadają przedziałom wartości atrybu tu ciągłego. Zależność zdyskretyzowanego atrybutu od atrybutu oryginalnego jest jednoznacznie wyznaczona przez przedziały dyskretyzacji, które są globalne, czy li takie same dla wszystkich przykładów dziedziny: dla dowolnej wartości cią głej odpowiednia wartość zdyskretyzowana jest identyfikowana przez przedział, do którego ta wartość ciągła należy. W przypadku metod lokalnych sytuacja przybiera odmienną postać. Wówczas zakres wartości atrybutu ciągłego może być dzielony na przedziały na różne spo soby w różnych obszarach dziedziny, wyznaczonych przez wartości innych atry butów. Zatem nowy, zdyskretyzowany atrybut zależy funkcyjnie nie tylko od ory ginalnego atrybutu ciągłego, lecz także od niektórych lub wszystkich pozostałych atrybutów. Wówczas wartość dyskretną odpowiednią dla danej wartości atrybutu ciągłego pewnego przykładu można znaleźć tylko uwzględniając wartości pozo stałych atrybutów dla tego przykładu, gdyż to one wyznaczają lokalny zbiór prze działów dyskretyzacji. Jeśli potraktowalibyśmy sposób postępowania z atrybutami ciągłymi przy zstępującym konstruowaniu drzewa decyzyjnego jako formę dyskre tyzacji, to miałaby ona charakter lokalny: wartości progowe są zawsze wybierane dla pewnego węzła drzewa i odpowiadającego mu zbioru przykładów, nie zaś dla całej dziedziny. Dyskretyzacja lokalna ma z reguły charakter dyskretyzacji z nadzorem i za zwyczaj jest realizowana w sposób silnie zależny od stosowanego algorytmu ucze nia się. Interesować nas będzie raczej bardziej uniwersalna i prostsza w realizacji dyskretyzacja globalna. Może być ona stosowana zarówno w wersji z nadzorem, jak i bez nadzoru, w taki sam sposób dla różnych algorytmów uczenia się. Nie po wstają także żadne komplikacje związane z reprezentacją dyskretyzacji i rzutowa niem przykładów przez zastępowanie wartości atrybutów ciągłych odpowiednimi wartościami zdyskretyzowanymi. Dyskretyzacja z nadzorem i bez nadzoru Podział na metody dyskretyzacji z nadzorem i bez nadzoru odpowiada wprost roz różnieniu między uczeniem się z nadzorem i bez nadzoru. W pierwszym przypad ku są znane etykiety kategorii przykładów i są one uwzględniane podczas dys kretyzacji. Pozwala to tak dobrać przedziały dyskretyzacji, aby było możliwe jak
7.2. DYSKRETYZACJA ATRYBUTÓW CIĄGŁYCH
387
najlepsze reprezentowanie pojęcia docelowego za pomocą nowego zestawu atry butów. Metody bez nadzoru nie uwzględniają informacji o kategoriach przykła dów i wskutek tego tracą szansę na zoptymalizowanie podziału zakresów wartości atrybutów ciągłych na przedziały dyskretyzacji ze względu na pojęcie, do którego reprezentowania te atrybuty mają być używane. Jest więc naturalne preferowanie metod z nadzorem, jeśli tylko dyskretyzacja dokonywana jest na potrzeby ucze nia się z nadzorem, i pozostawienie metod bez nadzoru jedynie dla problemów grupowania. Przedstawiając metody dyskretyzacji w dalszej części tego rodziału, będziemy zakładać, że mamy do czynienia z dyskretyzacja z nadzorem, a moż liwości wykorzystania tych lub podobnych metod do dyskretyzacji bez nadzoru zostaną krótko przedyskutowane na koniec. 7.2.4
Przedziały i wartości progowe
Ponieważ sformułowanie dowolnej metody dyskretyzacji sprowadza się do okre ślenia sposobu podziału przeciwdziedziny atrybutu na przedziały, warto na wstę pie przyjąć pewne konwencje, dzięki którym łatwiej będzie o nich jednoznacznie pisać. Rozważmy zatem dowolny atrybut ciągły a : X \-+ A. Przeciwdziedzina A może być zbiorem liczb rzeczywistych 3¾ bądź pewnym zawartym w nim przedziałem. Na ogół nie będzie potrzeby tych dwóch przypadków w jawny spo sób rozróżniać, chociaż należy zapewnić możliwość uwzględnienia obydwu tak w prostej notacji, jaką tu wprowadzimy, jak i przede wszystkim w opisywanych za jej pomocą metodach dyskretyzacji. Interesuje nas podział zbioru A na skończoną liczbę przedziałów, których zbiór oznaczymy przez I a . Przedziały wchodzące w skład tego zbioru muszą spełniać następujące naturalne warunki:
U J = A>
(7.1)
( V / i , I 2 E l a ) I i n J 2 = 0,
(7.2)
czyli muszą pokrywać całą przeciwdziedzinę atrybutu a i być parami rozłączne. Przyjmiemy ponadto, że każdy przedział I E I a , którego oba końce są skończone, ma postać
I = (0{A
(73)
czyli będziemy zakładać, że przedziały są prawostronnie domknięte. Jest to tylko przyjęta dla wygody konwencja, która sama w sobie nie ma zasadniczego znacze nia. Jeśli przeciwdziedzina A jest nieograniczona z lewej strony, to do zbioru I a musi należeć dokładnie jeden przedział I = (—oo,^]- Aby takiego przypadku nie traktować w specjalny sposób wtedy, kiedy nie będzie to konieczne, przyjmie-
388
ROZDZIAŁ 7. PRZEKSZTAŁCANIE ATRYBUTÓW
my wówczas 6[ — —oo. Podobnie, jeśli zbiór A nie jest ograniczony z prawej strony, to do I a należy dokładnie jeden przedział I = (0f,oo). Również w tym przypadku możemy, o ile żadne inne względy w tym nie przeszkodzą, przyjąć #2 = oo i umówić się, że przedział (0f, 0%\ jest wówczas traktowany tak jak prze dział (0f, oo). Teoretycznie jest także możliwa sytuacja, kiedy A = (-00,00) i |I a | = 1. Wtedy oczywiście jedynym wchodzącym w skład zbioru I a przedzia łem musi być I — (—00, 00), co oznacza 6[ = —oo, 6{ — 00. W podobny sposób możemy oznaczyć końce przedziału, którym jest przeciwdziedzina A, przyjmując A = (6f, 62} i dopuszczając w razie potrzeby 9f — —00 lub 9§ — °°* Założenie 0 tym, że zbiór A, o ile jest ograniczony z obu stron, jest przedziałem domknię tym prawostronnie, ma znaczenie wyłącznie techniczne — umożliwia utrzymanie formalnej poprawności niektórych dalszych wywodów bez rozważania wyjątków. Dla dowolnego zbioru przykładów P C I , atrybutu a : X ^ Ai przedziału 1 C A przydadzą się nam następujące oznaczenia, utrzymane w duchu dotychczas przyjmowanych konwencji notacyjnych: Paj = {x G P I a(x) el}, d
p * , = P n p a ,/,
Ie K
(7.4) (7.5)
przy czym drugie oznaczenie ma sens, jeśli jest ustalone pewne pojęcie docelowe c : X K-> C i d G C. Niekiedy zamiast odwoływać się do przedziałów, wygodniej jest mówić bez pośrednio o ich końcach, czyli o wartościach progowych, za pomocą których jest podzielona przeciwdziedzina atrybutu a. Zbiór przedziałów Ia może być reprezen towany za pomocą zbioru wartości progowych:
®a= U^^-K,^}.
(7.6)
/en 0
Jak widać, 6 a zawiera wszystkie końce przedziałów z I a poza tymi, które bezpo średnio ograniczają zbiór A. W szczególności mogą to być —00 i 00, co zapewnia, że w każdym przypadku wszystkie elementy zbioru 0 są wartościami skończony mi, z których każda należy do przeciwdziedziny atrybutu. Dla atrybutu a: X ^ A i zbioru wartości progowych © G A wprowadzimy oznaczenia: Pa^e - {x G P I a(x) ^ 9}, Pa>e = {xEP\ a(x) > 9}, Pa<:e - Pd n Pa&, d
P^>e = P nPa>e,
(7.7) (7.8) (7.9) (7.10)
przy czym ponownie dwa ostatnie zakładają, że jest określone pewne ustalone pojęcie docelowe c : X i-> C i d G C.
7.2. DYSKRETYZACJA ATRYBUTÓW CIĄGŁYCH
7.2.5
389
Prymitywne metody dyskretyzacji
Przegląd algorytmów dyskretyzacji zaczniemy od metod najprostszych, lecz do niedawna dominujących i wciąż często stosowanych. Ich niedoskonałość polega głównie na tym, że nie uwzględniają lub uwzględniają jedynie w niewielkim stop niu rozkład wartości atrybutów i kategorii w zbiorze trenującym, wskutek czego sposób dyskretyzacji nie jest do tego zbioru dobrze „dopasowany". Wymagają one również określenia przez eksperymentatora liczby przedziałów dyskretyzacji, któ ra nie jest dobierana w żaden zautomatyzowany, zależny od faktycznych potrzeb sposób. Są one jednak bardzo proste, łatwe do implementacji i obliczeniowo ta nie, co wyjaśnia przyczyny tego, że wciąż są wykorzystywane. Dwie podstawowe metody prymitywne to dyskretyzacja według równej szerokości i dyskretyzacja według równej częstości. Są to metody globalne bez nadzoru. Dyskretyzacja według równej szerokości. Jest to najprostsza metoda dyskrety zacji. Zakres wartości dyskretyzowanego atrybutu ciągłego jest dzielony na ustalo ną liczbę przedziałów o jednakowej szerokości. Każdemu przedziałowi odpowiada następnie jedna wartość dyskretna. Jeśli przeciwdziedzina dyskretyzowanego atry butu A jest ograniczonym obustronnie przedziałem (0^, 0
_QA
przy czym A = ? k l jest szerokością przedziału. Powstaje zatem zbiór prze działów la — {/1,/2,..., Ih] taki, że: 6tf=tf + ( i - l ) ^ = i L ,
(7.11)
eii=0A
+ i°-2-Z?±. (7.12) k dla każdego i = 1,2,..., k. Dyskretyzację według równej szerokości w takim najprostszym przypadku ilustruje rys. 7.la. Sytuacja tylko nieznacznie się komplikuje, gdy przeciwdziedzina A jest nie ograniczona z jednej lub obu stron, czyli gdy 0f = —00 lub 0^ = 00. Czasem przeciwdziedzina atrybutu nie jest znana i nie ma innego wyjścia, niż przyjąć, że jest nią cały zbiór 3¾. Wówczas należy przyjąć z jednej lub z obu stron skończone ograniczenie tej przeciwdziedziny na podstawie wartości atrybutu występujących w zbiorze trenującym. Możemy więc ustalić:
< =K
, i-ii ^ - o c .
[min^cr a(x)
(7]3)
jeśli 0f = —00,
A [6n jeśli 6£ ź 00, 02={ x A [maxX£T a(%) jeśli #2 ~ ""°°
( 7 - 14 )
390
ROZDZIAŁ 7. PRZEKSZTAŁCANIE ATRYBUTÓW
i utworzyć zbiór przedziałów I a tak, jakby przeciwdziedziną atrybutu a był prze dział (8X', 92 ']. Następnie ten zbiór można uzupełnić o przedział (—00,91 '], jeśli $A = —00, i o przedział (92 ',00), jeśli 92 — 00, w celu uwzględnienia moż liwości, że w dziedzinie są przykłady o wartościach atrybutu a mniejszych lub większych niż odpowiednio minimalna i maksymalna jego wartość występująca w zbiorze trenującym. Może więc powstać k + 1 lub k + 2 zamiast k przedziałów. Przykład 7.3 (Pogoda z atrybutami ciągłymi). Rozważmy dziedzinę stanów pogody z atrybutami ciągłymi i zbiór trenujący T przedstawiony w tabl. 2.3. Atrybuty temperatura, wilgotność i wiatr mają wartości ciągłe. Możemy przyjąć, że przeciw dziedziną atrybutu wilgotność jest przedział (0,100]. Dla pozostałych dwóch atrybu tów również można by przyjąć pewne ustalone przeciwdziedziny na podstawie naszej wiedzy metereologicznej, ale założymy zamiast tego, że są one obustronnie nieogra niczone. Mamy przy tym: min temperatura{x) = 17,
max temperatura(x) = 30,
min wiatr(x) = 2,
max wiatr(x) — 20.
#ET
X<E.T
W wyniku dyskretyzacji atrybutów temperatura, wilgotność i wiatr według równej szerokości na k = 4 przedziały otrzymujemy: hempemura = {(-00,17], (17; 20,25], (20,25; 23,5], (23,5; 26,75], (26,75; 30], (30, oo)}, ^wilgotność —
{(0,25),(25,501,(50,751,(75,100]}. Kwa- = {(-oo, 2], (2;6,5], (6,5; 11], (11; 15,5], (15,5; 20], (20, oo)}. Dla atrybutów temperatura i wiatr zostały utworzone dodatkowe dwa przedziały. a) według równej szerokości M
i
2
ef = e{
0% = e{
z
o[* = e[
m m \
• • • 1 3
• 4
Ol = #1
1 *•
ei* = of
b) według równej częstości M l
•
1
•
• • • | •
• • • H"~
«4—
Rys. 7.1. Ilustracja prymitywnych metod dyskretyzacji
Dyskretyzacja według równej częstości. Podobną do poprzedniej, lecz w więk szym stopniu uwzględniającą charakter zbioru trenującego metodą dyskretyzacji jest dyskretyzacja według równej częstości. Również tym razem zakres wartości
7.2. DYSKRETYZACJA ATRYBUTÓW CIĄGŁYCH
391
atrybutu ciągłego jest dzielony na ustaloną z góry liczbę przedziałów, jednak obec nie nie są to przedziały o równej szerokości. Ich korice dobiera się w ten sposób, aby każdemu z nich odpowiadała (możliwie) taka sama liczba przykładów trenu jących. Jeśli więc zbiór trenujący liczy \T\ przykładów, to dyskretyzacja według równej częstości na k podprzedziałów doprowadzi do przyporządkowania wartości dyskretnych przedziałom o końcach dobranych tak, aby w każdym z nich znalazły się wartości dyskretyzowanego atrybutu dla (średnio) ^ przykładów. W przypad ku idealnym powinniśmy w ten sposób uzyskać zbiór przedziałów la taki, że dla każdego / e l a zbiór Taj zawiera dokładnie ^ przykładów, lecz nie zawsze bę dzie to możliwe, gdyż niektóre wartości atrybutu a mogą występować dla wielu przykładów. Dyskretyzację według równej częstości ilustruje rys. 7. Ib. W celu dokonania dyskretyzacji tą metodą zbiór trenujący T należy podzielić na A; możliwie równolicznych podzbiorów Ti,T2,... ,T^, zachowując uporząd kowanie wartości atrybutu a, czyli w taki sposób, aby dla dowolnych wartości i = 1, 2 , . . . , k — 1 był spełniony warunek maxa(x) < min a(x).
(7.15)
Następnie pozostaje dobrać końce przedziałów dyskretyzacji w ten sposób, aby każdy z nich zawierał wartości atrybutu a w miarę możliwości z tylko jedne go spośród tych podzbiorów. Powinien wobec tego powstać zbiór przedziałów la = {/^/2)---)-^} taki> że Tajk = Tfc, przy czym zgodnie z wcześniejszą uwagą uzyskanie takiej równości dla każdego podzbioru nie zawsze będzie możli we. Jako wartości progowe, wyznaczające przedziały jak zwykle najrozsądniej jest brać pod uwagę środki przedziałów między kolejnymi występującymi w zbiorze trenującym wartościami dyskretyzowanego atrybutu. Zauważmy, że tym razem nie ma znaczenia, czy wartości 9^ i 9^ są skończone, czy nie. Tak czy inaczej w I a znajdzie się jeden przedział, którego lewym końcem jest #f, i jeden przedział, którego prawym końcem jest 9^. Przykład 7.4 (Pogoda z atrybutami ciągłymi). Przeprowadzimy dyskretyzację atrybutów ciągłych dla dziedziny stanów pogody na podstawie zbioru trenującego T z tabl, 2.3, posługując się metodą równej częstości. Tak jak w poprzednim przykła dzie, przyjmiemy przeciwdziedziny dla atrybutów temperatura i wiatr jako przedziały (-oo, oo) oraz dla atrybutu wilgotność jako przedział (0,100]. Niech liczba przedzia łów, jakie należy uzyskać, wynosi tym razem również 4. Dla atrybutu temperatura podstawą dyskretyzacji będzie następujący podział zbio ru trenującego T na 4 podzbiory: Ti = {5,6,7}, T2 = {9,4,8},
r 3 = {10,11,12,14}, 74 = (1,2,3,13}.
392
ROZDZIAŁ 7. PRZEKSZTAŁCANIE ATRYBUTÓW
z których dwa są 3-elementowe, a dwa 4-elementowe, gdyż liczba wszystkich przy kładów \T\ = 14 nie dzieli się dokładnie przez 4. Powyższy podział wyznacza nastę pujący zbiór przedziałów: hemperatura = {(-oo; 19,5], (19,5; 22,5], (22,5; 26,5], (26,5; oo)}. Postępując podobnie dla atrybutów wilgotności wiatr otrzymujemy: {(-oo; 32,5], (32,5; 47,5], (47,5; 67,5], (67,5; oo)}, Sw/atr = {(-oo; 4,5], (4,5; 7,5], (7,5; 13], (13; oo)}.
^wilgotność —
7.2.6
Dyskretyzacja zstępująca
Podejście zstępujące, często stosowane do dyskretyzacji z nadzorem, przypomi na sposób postępowania z atrybutami ciągłymi przy zstępującej konstrukcji drzew decyzyjnych, lecz tu zostanie przedstawione jako metoda globalna. Polega ona na podziale przeciwdziedziny dyskretyzowanego atrybutu na podprzedziały za po mocą wartości progowych. Zgodnie z istotą podejścia zstępującego początkowo przyjmuje się cały zakres wartości jako jedyny przedział. Umieszczenie pierw szej wartości progowej dzieli go na dwa podprzedziały, z których każdy może być następnie podzielony na kolejne dwa podprzedziały itd. Dla takiego ogólnego algorytmu zstępującej dyskretyzacji najwygodniejsze jest sformułowanie rekuren cyjne, podobnie jak dla zstępującej konstrukcji drzewa decyzyjnego. W związku z tym zapiszemy najpierw odpowiedni ogólny schemat w postaci procedury rekurencyjnej, a potem przejdziemy do jego możliwych konkretyzacji. Schemat dyskretyzacji zstępującej Nie będziemy, przedstawiając schemat dyskretyzacji zstępującej w ogólnej posta ci, zakładać, czy dotyczy on dyskretyzacji z nadzorem, czy bez nadzoru, a więc czy dostępne i używane są etykiety przykładów, czy też nie. Przyjmiemy, że nasz algorytm otrzymuje zbiór trenujący T, przy czym mogą także (lecz nie muszą) być znane etykiety przykładów tego zbioru dla pewnego pojęcia docelowego c, i ma za zadanie dokonać dyskretyzacji wskazanego ciągłego atrybutu a. Podział zakresu jego wartości na przedziały będzie reprezentowany przez zbiór wartości progowych wyznaczających ten podział. Na każdym poziomie rekurencji następu je wybór jednej nowej wartości progowej, która podzieli pewien przedział na dwa podprzedziały, a następnie ten sam algorytm zostanie rekurencyjne wywołany dla każdego z nich. Za każdym razem zbiór przykładów branych pod uwagę zawie ra tylko te przykłady, dla których wartość dyskretyzowanego atrybutu należy do przedziału, który ma być obecnie podzielony. W szczegółowej postaci schemat dyskretyzacji zstępującej jest przedstawiony jako algorytm 7.1.
7.2. DYSKRETYZACJA ATRYBUTÓW CIĄGŁYCH
393
funkcja dyskretyzuj-zstępująco{P, a) argumenty wejściowe: • P — zbiór przykładów, dla których dokonuje się dyskretyzacji, • a — dyskretyzowany atrybut; zwraca: zbiór wartości progowych dyskretyzacji dla atrybutu a; I: jeśli kryterium-stopu(P, a) to 2: zwróć 0; 3: koniec jeśli 4: 9 := wybierz-próg(P,a); 5: Go := dyskretyzuj-zstępująco(Pa^eiO)\ 6: 6 i \— dyskretyzuj-zstępująco(Pa>Q,a)\ 7: z w r ó ć e o U { 0 } U 9 i . Algorytm 7.1. Schemat dyskretyzacji zstępującej Parametrami funkcji dyskretyzuj-zstępująco są zbiór przykładów oraz atrybut, którego wartości występujące w tym zbiorze są poddawane dyskretyzacji. Przy pierwszym wywołaniu zbiorem tym jest cały zbiór trenujący T. Wynikiem funkcji jest zbiór wartości progowych, które wyznaczają podział przeciwdziedziny atry butu na podprzedziały. Konkretyzacja przedstawionego schematu może nastąpić przez zdefiniowanie dwóch podstawowych operacji, do których się on odwołuje: podjęcia decyzji o zakończeniu dalszego podziału przedziałów na podprzedziały, za co odpowiada funkcja kryteńum-stopu, oraz o wyborze wartości progowej do podziału, czym zajmuje się funkcja wybierz-próg. Jeśli pierwsza z nich da wy nik negatywny, czyli dzielenie przedziałów nie zostanie zatrzymane, a w wyniku drugiej zostanie wybrana wartość progowa 0, to następują dwa wywołania rekurencyjne algorytmu, mające na celu dokonanie ewentualnych dalszych podziałów dla dwóch podprzedziałów wyznaczonych przez 9. W tym celu zbiór przykładów P jest dzielony na dwa podzbiory przekazywane do tych wywołań, składające się odpowiednio z tych przykładów z P , dla których wartość dyskretyzowanego atry butu a znajduje się poniżej oraz powyżej wartości progowej 9 (lub jest jej równa). Obecnie pozostaje omówić sposoby konkretyzacji kryterium stopu i wyboru pro gu, które przekształcają schemat zstępującej dyskretyzacji w konkretne algorytmy. Wybór wartości progowej W pierwszej kolejności zajmiemy się przesłankami, jakimi można się kierować przy wybieraniu wartości progowych do podziału przedziałów. Zależą one od te go, co jesteśmy skłonni uznać za „dobrą" dyskretyzację atrybutu ciągłego. Można przyjąć, że dyskretyzacja taka powinna charakteryzować się możliwie małą licz bą przedziałów, gdyż atrybuty o niewielkiej liczbie wartości są z punktu widzę-
ROZDZIAŁ 7. PRZEKSZTAŁCANIE ATRYBUTÓW
394
nia algorytmów uczenia się najdogodniejsze, ale powinna przy tym umożliwiać rozróżnianie przykładów, które powinny być rozróżniane w procesie uczenia się. W przypadku dyskretyzacji z nadzorem z całą pewnością powinny być rozróżnia ne przykłady różnych kategorii. Oczywiście trywialna dyskrętyzacja, tworząca po jednym przedziale dla każdej wartości atrybutu ciągłego, jest nie do prześcignięcia pod względem właściwości dyskryminujących, czyli rozróżnialności przykładów. Jeśli jednak przedziałów ma być możliwie niewiele, należy dążyć do tego, aby kryterium stopu zostało spełnione możliwie wcześnie, czyli dla możliwie dużych przedziałów. Aby do tego doprowadzić, można przy wyborze wartości progowych kierować się równomiernością rozkładu kategorii przykładów o wartościach dyskretyzowanego atrybutu w poszczególnych przedziałach. Jeśli jest to rozkład sto sunkowo równomierny, czyli przykłady różnych kategorii występują w przedzia łach w zbliżonej liczbie, to przypisane następnie tym przedziałom wartości dys kretne będą miały słabe właściwości dyskryminujące. Zależy nam raczej na tym, aby w zbiorach tych pewne kategorie wyraźnie dominowały, gdyż wówczas odpo wiednie wartości dyskretne będą bardziej użyteczne do reprezentowania pojęcia docelowego. Czytelnik zapewne domyśla się już, nauczony doświadczeniem zdobytym przy poznawaniu teorioinformacyjnych kryteriów wyboru testu dla drzew decyzyjnych, jak w najprostszy sposób sformalizować przedstawione wyżej nieformalne zasady, zgodnie z którymi powinny być wybierane wartości progowe. Będą nam w tym ce lu potrzebne podstawowe definicje, które znanym wielkościom z teorii informacji nadadzą odpowiednią do potrzeb dyskretyzacji zstępującej postać. Ważona entropia zbioru przykładów P ze względu na podział zakresu wartości atrybutu a za pomocą wartości progowej 9 jest zdefiniowana następująco: EaAP) = ^ j f p ^ C i 5 ) +
l
-^Ea>g(P),
(7.16)
przy czym Ea^o(P) i Ea>e(P) oznaczają entropię przykładów z P, dla których atrybut a ma wartość odpowiednio poniżej i powyżej wartości progowej 9. Entro pie te są określone w następujący sposób:
dec
^a
Pat
(7.17)
dla U 6 {<, ^ } . Są to, jak łatwo się przekonać, wartości tym większe, im w zbio rach Pa$Q kategorie przykładów są rozłożone bardziej równomiernie, a tym mniej sze, im wyraźniej w tych zbiorach jedna lub kilka kategorii dominuje nad innymi. Przykład 7.5 (Pogoda z atrybutami ciągłymi). Aby zilustrować obliczanie en tropii dla podziałów przeciwdziedziny atrybutu ciągłego, możemy sięgnąć do przed-
395
7.2. D Y S K R E T Y Z A C J A A T R Y B U T Ó W C I Ą G Ł Y C H
stawionego w rozdziale 3 przykładu 3.6, który dla dziedziny stanów pogody z atrybu tami ciągłymi i dla zbioru przykładów T z tabl. 2.3 demonstruje wybór testu nierównościowego. Obliczana wtedy entropia dla testu jest dokładnie tą samą entropią, jaką obecnie musimy obliczyć, gdyż wybór testu dla atrybutu ciągłego jest właśnie wy borem wartości progowej. Przytoczymy tu więc wyniki uzyskane w przykładzie 3.6 stosując wprowadzoną wyżej notację. Weźmy pod uwagę podział przeciwdziedziny atrybutu temperatura za pomocą wartości progowej 22,5. Dla całego zbioru trenujące go T wartość ta wprowadza następujący podział na podzbiory: -* temperatura^ 2 2,5
= {5,6,7,9,4,8}, ^temperatura^22,5
~ { 5 , <, 9 , 4 ) ,
•*• temperatum> 22,5 •Memperatura>22,5 ~
-* temperatura^22,5
=
{6> 8}>
-{10,11,12,14,1,2,3,13}, i-W, H J 1 2 , 3 , 1 3 ) ,
Ae/nperatura>22,5 ~ \*^i
1>2).
Stąd obliczamy: 4 Etemperatura^22^(T) Etempemtura>22AT)
4
£ log2 - -
2
=
-
=
5 5 3 ~ o ł°S2 g ~ ó
2
- log2 -
=
0,918,
3 lo g2 g =
0,954,
• 0,954 -
0,939.
a następnie ^ten1per.tUra,22,5(r) = ^
• 0,918 + ~
Załóżmy jednak, że najpierw został zastosowany podział przeciwdziedziny atry butu temperatura za pomocą wartości progowej 24,5 na dwa przedziały (—00; 24,5] i (24,5; 00), a obecnie rozważane jest użycie wartości 22,5 do dalszego podziału pierwszego z tych przedziałów. Mamy więc P = Ttemperatura<24,$. Dla takiego zbioru P wyznaczamy podzbiory: Etemperatura^22,5
=
{5,6,7,9,4,8},
^ temperatura^22,5 ~ ( 5 , 7 , 9 , 4 ) , ^ temperafi;ra>22,5 -* temperarura>22,5
^temperatura^22,5
=
*temperatura>22ib
=
l°\
= {io,n}, =
{10)11),
WÓWCZaS Etemperatura^22,5(P)
= & temperatura^
2 Etemperatura>22,5(P)
= ~ T
2 l0g
2 £ "
,5 (T),
0 O^
ale
0 2
2 ~
0?
a więc ^temperatura,22,5(P) = T • 0,918 + - - 0 = 0,689.
^*
8),
ROZDZIAŁ 7. PRZEKSZTAŁCANIE ATRYBUTÓW
396
Ważona entropia umożliwia zrealizowanie przedstawionych wcześniej niefor malnych zasad wyboru wartości progowej, gdyż jej minimalizowanie pociąga za sobą maksymalnie nierównomierny rozkład kategorii przykładów w powstających przedziałach. W związku z tym operację wybierz-próg{P, a) można zapisać jako argmin£; M (P).
(7.18)
6
Oczywiście wystarczy rozważać po jednej wartości 9 znajdującej się między każ dymi dwiema kolejnymi (po uporządkowaniu) wartościami atrybutu a, jakie wy stępują w zbiorze trenującym, gdyż tylko dla takich wartości entropia może się różnić. Przyjmiemy zatem, tak jak w przypadku testów nierównościowych dla drzew decyzyjnych, że jako możliwe wartości progowe brane są pod uwagę środki przedziałów wyznaczonych przez uporządkowane wartości atrybutu a występują ce w zbiorze przykładów P. Kryterium stopu Znaczenie kryterium stopu dla dyskretyzacji zstępującej jest w oczywisty sposób podobne, jak w przypadku zstępującej konstrukcji drzew decyzyjnych. Tak samo jak tam, tak i tutaj zbiór przykładów branych pod uwagę na coraz głębszych po ziomach rekursji jest coraz mniejszy. Naturalnie zatrzymanie rekurencyjnego pro cesu dyskretyzacji musi nastąpić, jeśli aktualny zbiór P nie zawiera przynajmniej dwóch przykładów o różnych wartościach dyskretyzowanego ciągłego atrybutu, gdyż tylko pod tym warunkiem można kolejną wartością progową wartości tego atrybutu rozdzielić. Jednak tak sformułowane kryterium stopu zatrzyma na ogół dzielenie przedziałów zbyt późno — doprowadzi do powstania odrębnego prze działu dla każdej występującej w zbiorze trenującym wartości dyskretyzowane go atrybutu, co można uzyskać w znacznie prostszy sposób, stosując prymitywną metodę dyskretyzacji według równej częstości z liczbą przedziałów równą liczbie wartości atrybutu ciągłego w zbiorze trenującym. Zdecydowanie lepsze, chociaż niemal równie proste, jest kryterium stopu, we dług którego dzielenie przedziałów należy zatrzymać, jeśli przestaje ono popra wiać ich informacyjną zawartość, czyli powiększać nierównomierność rozkładu kategorii. Podobnie jak dla drzew decyzyjnych, można tu określić przyrost infor macji wynikający z podziału wartości atrybutu a na zbiorze P za pomocą progu 9 następująco: gajB(P) = I(P) - Eafi{P).
(7.19)
Podział taki daje „poprawę" tylko wtedy, kiedy ga,e(P) > 0. Jeśli zatem dla war tości progowej minimalizującej entropię i tym samym maksymalizującej przyrost informacji nie jest on dodatni, to wprowadzanie dalszego podziału jest nieuzasad-
7.2. DYSKRETYZACJA ATRYBUTÓW CIĄGŁYCH
397
nione. Można także „zaostrzyć" takie kryterium stopu żądając, aby dla kontynuacji rekurencyjnych podziałów możliwy do uzyskania przyrost informacji przekraczał pewne dodatnie minimum. Oczywiście zawsze istnieje możliwość uwzględnienia w kryterium stopu, być może oprócz innych jego składników, prostych warunków, ograniczających mak symalną liczbę tworzonych przedziałów (albo równoważnie maksymalną głębo kość rekurencji) oraz minimalną liczbę przykładów przypadających na każdy two rzony przedział. W praktyce rzadko dyskretyzuje się atrybuty ciągłe na więcej niż kilkanaście lub dwadzieścia kilka przedziałów i zazwyczaj wymaga się, aby każ dy przedział zawierał wartości dyskretyzowanego atrybutu dla przynajmniej kilku przykładów. Mimo prostoty właśnie w taki sposób określone kryterium stopu mo że być w wielu przypadkach zupełnie wystarczające, chociaż brak w nim możli wości uwzględnienia charakteru danych trenujących i dlatego najlepiej używać go w połączeniu z którymś z podejść proponowanych wcześniej. Czytelnika nie za skoczy na pewno informacja, że tak jak do wyboru wartości progowej, również do sformułowania kryterium stopu może być wykorzystana zasada minimalnej dłu gości kodu, o czym powiemy w dalszej części tego podrozdziału. 7.2.7
Dyskretyzacja wstępująca
Do najczęściej stosowanych wstępujących metod dyskretyzacji należy algorytm ChiMerge. W jego nazwie są odzwierciedlone dwie jego właściwości: wykorzysta nie statystyki x2 o r a z przeprowadzanie dyskretyzacji przez łączenie przedziałów, czyli w sposób wstępujący. Rozpoczynając od minimalnych przedziałów pokry wających zakres dyskretyzowanego atrybutu, po jednym dla każdej jego wartości występującej w zbiorze trenującym, algorytm wielokrotnie powtarza podstawo wy cykl, w którym rozważa połączenie każdej pary przyległych przedziałów (lub w ogólniejszym wariancie ich pewnej liczby k > 1) i dokonuje połączenia tych, dla których da to według stosowanej heurystyki najlepsze efekty. W algorytmie ChiMerge funkcję tej heurystyki pełni właśnie statystyka x2- Nic jednak nie stoi na przeszkodzie, abyśmy przedstawili ogólny schemat dyskretyzacji wstępującej, a następnie algorytm ChiMerge jako jedną z jego możliwych konkretyzacji, gdyż nie jest on jedynym dopuszczalnym podejściem. Schemat dyskretyzacji wstępującej O ile podstawową operacją podczas dyskretyzacji zstępującej, niezależnie od jej wariantu, jest zawsze podział przedziału na podprzedziały za pomocą pewnej war tości progowej, o tyle w przypadku dyskretyzacji wstępującej funkcję równie klu czową pełni operacja odwrotna, łącząca przyległe przedziały w jeden większy przedział. Jeśli łączone przedziały oznaczymy przez I1H2, to przedział powstają-
398
ROZDZIAŁ 7. PRZEKSZTAŁCANIE ATRYBUTÓW
cy z ich połączenia możemy zapisać po prostu jako ich teoriomnogościową sumę Ii U I2. Dla przedziałów I\ i /2 musi być przy tym spełniony warunek przyległości3 #21 — #[2- Wystarcza to do zapisania bardzo prostego schematu dyskretyzacji wstępującej przedstawionego jako algorytm 7.2. funkcja dyskretyzuj-wstępująco(P, a) argumenty wejściowe: • P — zbiór przykładów, dla których dokonuje się dyskretyzacji, • a — dyskretyzowany atrybut; zwraca: zbiór przedziałów dyskretyzacji dla atrybutu a; l: zainicjuj I jako zbiór przedziałów zawierających dokładnie jedną wartość atrybutu a występującą w zbiorze P ; 2: powtarzaj 3: /1,/2 : = wybierz-przedziały(P) a, I); 4: I:=I-{/i,/2}U{/iU/2}; 5: aż nastąpi kryterium-stopu (I); 6: ZWrÓĆ I .
Algorytm 7.2. Schemat dyskretyzacji wstępującej Funkcja dyskretyzuj-wstępująco przyjmuje takie same argumenty jak przedsta wiona wcześniej funkcja dyskretyzuj-zstępująco, czyli zbiór przykładów P i atry but a, jako wynik zaś zwraca zbiór przedziałów, na które jest dzielona przeciwdziedzina dyskretyzowanego atrybutu, a ściślej ta jej część, która jest reprezen towana w zbiorze P. Jest to zazwyczaj cały zbiór trenujący T. Zbiór przedzia łów I jest inicjowany jako zbiór przyległych przedziałów, pokrywających zakres wartości atrybutu a występujących w P w taki sposób, że każda z tych warto ści znajduje się w oddzielnym przedziale. Dalsze postępowanie zależy od dwóch operacji, których określenie umożliwia konkretyzację schematu: kryterium-stopu i wybierz-przedziaty. Dopóki pierwsza z nich daje wynik negatywny, dopóty za po mocą drugiej są wybierane i następnie łączone pewne dwa przyległe przedziały ze zbioru I. Podamy sposób realizacji tych dwóch operacji przez algorytm ChiMerge, co wraz z przedstawionym schematem dyskretyzacji wstępującej da jego komplet ny opis. Zaczniemy jednak od przedstawienia odpowiedniej postaci statystyki %2, która jest wykorzystywana w obydwu przypadkach. Statystyka x2 dla przedziałów Będziemy zakładać, że mamy do czynienia z dyskretyzacją z nadzorem i znamy etykiety przykładów przypisywane im przez ustalone pojęcie docelowe c £ C 3
Przyległość przedziałów zapewnia, że ich suma także jest przedziałem.
399
7.2. DYSKRETYZACJA ATRYBUTÓW CIĄGŁYCH
Wartości P%j dla d E C reprezentują wówczas faktyczny rozkład częstości kate gorii w zbiorze tych przykładów z P, dla których wartość atrybutu a znajduje się w przedziale I. Do sformułowania odpowiedniej wersji statystyki x2 będzie nam jeszcze potrzebny oczekiwany rozkład częstości kategorii w zbiorze przykładów tak samo licznym jak Paj9 lecz wybranych ze zbioru P losowo4. Interesujący nas oczekiwany rozkład częstości reprezentują wartości e^ 7 (P), dla każdej katego rii d G C określające oczekiwaną liczbę należących do tej kategorii przykładów z P, dla których wartość atrybutu a jest w przedziale / , przy założeniu, że roz kład przykładów między kategorie jest taki sam jak w całym zbiorze P. Wartość efj(P) można obliczyć w oczywisty sposób, mnożąc liczbę losowanych przy kładów przez prawdopodobieństwo tego, że każdy z nich należy do kategorii d, szacowane na podstawie rozkładu częstości kategorii w P, czyli
= \Pa,r\ U .
(7.20)
przy czym wartości zbyt bliskie 0 są zazwyczaj zastępowane w obliczeniach przez ustaloną liczbę e £ (0,1). Ponieważ głównym zastosowaniem statystyki x2 w algorytmie ChiMerge jest wybór dwóch przykładów do połączenia, będzie nas interesować zdefiniowanie jej jako pewnej funkcji dwóch branych pod uwagę przedziałów. Skorzystamy w tym celu z wartości ef^j^PajiUh) ° r a z &ti2(PajiUi2)> oznaczających oczekiwaną liczbę przykładów o kategorii d9 dla których wartość atrybutu a znajduje się odpo wiednio w przedziałach hih-, przy założeniu, że rozkład przykładów jest taki jak w przedziale uzyskiwanym z połączenia tych przedziałów. Statystyka x2 mierzy odległość między każdym z tych dwóch rozkładów oczekiwanych a odpowiednim rozkładem faktycznym. Podczas gdy rozkłady faktyczne opisują właściwości każ dego z dwóch przedziałów z osobna, rozkłady oczekiwane opisują właściwości przedziałów połączonych. Miara odległości rozkładów faktycznych od oczekiwa nych jest więc także miarą różnicy między obydwoma kandydującymi do połą czenia przedziałami ze względu na występujący w nich rozkład kategorii. Wartość statystyki x2 dla dwóch przedziałów /1,/2 £ Ia» określającą, na ile rozkład kate gorii przykładów w każdym z tych przedziałów jest w sposób statystycznie istotny różny, można obliczyć zgodnie z następującą formułą: 2
xliuh(p)=
£
(1¾ I -4,(¾.½))
dec
+deC £ 4
e
a,h(p*,huh)
(tea|-,(ĄAu/»)) e
+ (7.21)
a,h\Pa.,hUl2)
Taki rozkład oczekiwany odpowiada hipotezie zerowej, zgodnie z którą rozkład kategorii nie zależy od przedziału, do którego należy wartość atrybutu a.
400
ROZDZIAŁ 7. PRZEKSZTAŁCANIE ATRYBUTÓW
Im wartość ta jest większa, tym większa jest różnica między przedziałami I\ i /2 ze względu na rozkład kategorii przykładów o wartościach dyskretyzowanego atry butu a należących do tych przedziałów. Statystyka ta ma w przybliżeniu rozkład X2 o \C\ — 1 stopniach swobody. Przykład 7.6 (Pogoda z atrybutami ciągłymi). Załóżmy, że dla dziedziny sta nów pogody z atrybutami ciągłymi przeciwdziedzina atrybutu temperatura została po dzielona na przedziały z następującego zbioru: hektara
= {(-00; 20,5], (20,5; 23,5], (23,5; 26,5], (26,5; oo)}.
Przedziały z tego zbioru, w podanej kolejności, oznaczmy przez /1,/2,/3,/4. Prze działy te dzielą zbiór trenujący T przedstawiony w tabl. 2.3 na podzbiory o następu jących rozmiarach: | J temperaturami | — l i ^ j O , ' , " / 1 — % K temperatura,/i I " =
|T teW p e r a tora,I 2 I
|{5j7,9}| =
3,
l{4,10}| =
\TtemperaturaJ3\
=
| { H ) 12, 1 4 } | = 3,
K temperatura,/3 [
=
li
=
K temperatura,/4 I
—
li"/l
—
^»
I ^temperatura,/ 2 I
=
\\°)\
~
l j
|{438, 1 0 } | = 3,
|^mperatura,/2|=
| J temperatura,/4 I ~
I•*• temperaturaJ\ |
1 1
'
1 2
2,
=
)!
2
11-*-) ^> "» ^ " / 1 l{3>13}|
=
2
KmpeMura,h\=
, =
|{14}| = 1,
^'
\T°
>
/ J = l { 1 . 2 } | = 2.
j - * temperatura
Dla pary przedziałów I\, /2 mamy: 1
(T
^temperatura,
\- 4
^temperatura.!,/ 2 U/iUJ 2 ;
5
-
2
°
e
— o •- — y ,
temperatura,/i l - ^ / i U / a /
7
7'
i,/2(^iU/2) - 3 - - = ° temperatura^
-,
a więc
(3-f)2 , (1-|)2
./,./,00 —
C temperatura
on
'
(2-^)2 '
Q
(1-|)2_ ""•
i ^
«
= 0,058. Dla przedziałów /2, /3 podobnie: e
temperaturach \
h^h)
^temperatura,j3(Tl2uh)
^ *g — 3 • -
3
^> = 2,
e
temperatura,/2 ^ ^ U / 3 / "~
temperatura,/3(^2U/3) = 3 • -
fi
' =
1,
co umożliwia obliczenie (2-2)2 , ( l - l ) 2 . (2-2)2 A temperatura,12 ,^3
(T) =
+
+
f
(1-1)
= 0.
401
7.2. DYSKRETYZACJA ATRYBUTÓW CIĄGŁYCH
Wreszcie dla pary / 3 , / 4 : e
temperatura J3 (•*• hulh
e
temperatura,14 (•*• J 3 U 1 4 /
) ~
7 ~ ** * 7
e
~7~' ~^~>
tempera tara,/3 I"*/3 U/4 J ~
7 ~
^temperatura,/4 v ^ / 3 U / 4 J
7
7' ~7~'
skąd otrzymujemy
(2-ff)» Xtemperatura,/3 ,/ 4 \
f "~
YŁ_ 7
(1-|)2
(2-?)'
9 7
16 7
(2-f)2_ '
1,2 7
~~
= 0,194.
Kryterium stopu Kryterium stopu dla dyskretyzacji wstępującej określa, kiedy powinno zostać za kończone dalsze łączenie przedziałów. W skrajnym przypadku musi to nastąpić, kiedy pozostanie tylko jeden przedział, którego już nie można połączyć z innym, lecz uzyskana w ten sposób dyskretyzacja, zastępująca wszystkie wartości cią głe jedną, tą sama wartością dyskretną, będzie równoznaczna z wyeliminowaniem dyskretyzowanego atrybutu. Bardziej rozsądne jest przyjęcie pewnej minimalnej, większej od 1 liczby przedziałów, jaka musi pozostać, i zaprzestawanie łączenia przedziałów, jeśli zostanie ona osiągnięta. Taki warunek możemy zapisać następu jąco: |I| ^ 01,
(7.22)
przy czym #i ^ 1 jest minimalną liczbą przedziałów5. Drugim elementem kryterium stopu jest warunek nakładany nie na liczbę, lecz na pewne właściwości uzyskanych dotychczas przedziałów. Dość naturalne jest przyjęcie, że właściwości, jakie powinny być tu brane pod uwagę, to podobień stwo, czy raczej odwrotnie, zróżnicowanie przedziałów. Możemy postanowić, że dalszego łączenia przedziałów należy zaprzestać przed osiągnięciem ich z góry ustalonej minimalnej liczby, jeśli przedziały te za bardzo się od siebie różnią. Chodzi oczywiście o różnice ze względu na rozkład kategorii przykładów. Połą czenie przedziałów istotnie pod tym względem różnych groziłoby utratą informa cji umożliwiających poprawne klasyfikowanie przykładów, gdyż zdyskretyzowany atrybut mógłby nie mieć wystarczających właściwości dyskryminujących. Jeśli za tem nawet dwa najbardziej do siebie podobne przyległe przedziały są zbyt różne, to działanie algorytmu powinno zostać zakończone. Warunek ten można zapisać, 5
Dopuszczamy tu Oj — 1, aby umożliwić całkowitą rezygnację z tego elementu kryterium stopu na rzecz drugiego, który będzie dalej przedstawiony.
402
ROZDZIAŁ 7. PRZEKSZTAŁCANIE ATRYBUTÓW
korzystając ze statystyki x2 jako miary zróżnicowania, następująco: mm xljlj2(P)>6x,
(7.23)
il,i2cii
przy czym w operacji minimalizacji są brane pod uwagę jedynie pary przyległych przedziałów, dla których 61^ = 0[2. Zwykle wygodniej jest określać maksymalny poziom istotności różnicy między przedziałami, które mogą być połączone (za zwyczaj z przedziału [0,01; 0,05]), i na tej podstawie znajdować w tablicach staty stycznych lub obliczać numerycznie odpowiednią wartość 9X. Ostateczną postać funkcji kryterium-stopu(P, I) dla algorytmu ChiMerge moż na zatem, uwzględniając obydwa zaproponowane warunki, zapisać następująco: |I|<0iA
min x2{o.Juh)>0x>
(7.24)
/1,/20
przy czym 9\ i 9X są parametrami algorytmu. Za minimalną liczbę przedziałów zazwyczaj przyjmuje się kilka lub kilkanaście, wybierając najczęściej 6\ z zakresu między 5 a 15. Drugi parametr można ustalić w zależności od tego, na ile staty stycznie istotne powinny być różnice w rozkładzie przykładów między kategorie w różnych przedziałach. Dla wybranego poziomu statystycznej istotności, na ogół między 0,01 a 0,05, oraz dla znanej liczby stopni swobody statystyki x2 odpo wiednią wartość progową można obliczyć numerycznie lub znaleźć w tablicach statystycznych, jak to już dyskutowaliśmy w rozdziałach 3 i 4. Duże wartości tego progu zmniejszają liczbę tworzonych przedziałów. Wybór przedziałów do połączenia Uważny czytelnik, który śledził dyskusję towarzyszącą wprowadzeniu statystyki X2 i następnie jej wykorzystaniu do sformułowania kryterium stopu algorytmu ChiMerge, wie zapewne, czego należy się spodziewać, jeśli chodzi o wybór pary przedziałów do połączenia. Zawsze powinny być łączone przedziały najbardziej do siebie podobne pod względem rozkładu częstości kategorii przykładów. Oznacza to wybór dwóch przyległych przedziałów, dla których wartość statystyki x2 J e s t najmniejsza: arg min xl,hj2{P)-
(7.25)
W związku z tym algorytm ChiMerge w każdej iteracji oblicza wartość tej staty styki dla wszystkich par przyległych przedziałów i znajduje najmniejszą. Jeśli jest ona mniejsza od 8X, to odpowiednie dwa przedziały są łączone.
7.2. DYSKRETYZACJA ATRYBUTÓW CIĄGŁYCH
403
Przykład 7.7 (Pogoda z atrybutami ciągłymi). Na podstawie prostych rachun ków przedstawionych w przykładzie 7.6 można stwierdzić, że ze zbioru przedziałów R
temperatura —
{(-oo; 20,5], (20,5; 23,5], (23,5; 26,5], (26,5; oo)} ocenianych za pomocą statystyki x2 na podstawie zbioru trenującego T z tabl. 2.3 do połączenia zostałyby wybrane przedziały (20,5; 23,4] i (23,5; 26,5]. Po ich połączeniu zmodyfikowany zbiór przedziałów dla atrybutu temperatura byłby następujący: hemperatura = { ( " O O ; 20,5], (20,5; 26,5], ( 2 6 , 5 ; OO)}.
Jak to już wzmiankowaliśmy wcześniej, nic w zasadzie nie stoi na przeszko dzie, aby w pewnej zmodyfikowanej wersji algorytmu ChiMerge brać pod uwagę łączenie większej niż dwa liczby przedziałów. Sposób modyfikacji definicji staty styki x 2 , która jest jedyną konieczną zmianą, jest oczywisty. Zmiana taka, cho ciaż może przynieść pewne oszczędności obliczeniowe dzięki łączeniu większej liczby przedziałów na raz, nie jest raczej godna polecenia, gdyż o ile łącząc za wsze dokładnie dwa przedziały możemy uzyskać każdą dyskretyzację możliwą przy łączeniu ich większej liczby, o tyle teza odwrotna nie jest prawdziwa i pew ne możliwe sposoby dyskretyzacji nie będą mogły być przy takim postępowaniu osiągnięte. Ponadto ograniczając się do łączenia zawsze dokładnie dwóch prze działów zmniejszamy w każdej iteracji ogólną liczbę przedziałów o jeden, co da je najdokładniejszą kontrolę nad liczbą tworzonych przedziałów. Łączenie więcej niż dwóch przedziałów może być w związku z tym uzasadnione tylko dla dużych zbiorów przykładów, kiedy bardzo duża jest również liczba początkowych prze działów, od których rozpoczyna się proces dyskretyzacji wstępującej. 7.2.8
Dyskretyzacja jako kompresja danych
Zarówno przy dyskretyzacji wstępującej, jak i wstępującej niezbędne są pewne oceny jakości dyskretyzacji, na podstawie których podejmuje się decyzję o wybo rze wartości progowych i zakończeniu dzielenia przedziałów w pierwszym przy padku oraz o wyborze przyległych przedziałów oraz o zakończeniu ich łączenia w drugim przypadku. W tym celu mogą być wykorzystywane, jak widzieliśmy, do brze znane z poprzednich rozdziałów heurystyki o teorioinformacyjnym lub staty stycznym rodowodzie. Trzeba jednak zauważyć, że nie oceniają one dyskretyzacji całościowo, jako podziału przeciwdziedziny dyskretyzowanego atrybutu na okre śloną liczbę przedziałów, lecz raczej jej poszczególne składniki — podział jednego przedziału na dwa podprzedziały lub połączenie dwóch przyległych przedziałów w jeden większy przedział. Metody dyskretyzacji wykorzystują takie heurystyki do ukierunkowania zachłannego przeszukiwania przestrzeni możliwych podzia łów przeciwdziedzin atrybutów na przedziały. Z rodziału 5 znamy uniwersalną rodzinę funkcji oceny hipotez, wykorzystują cą zasadę minimalnej długości kodu, która, odpowiednio zastosowana, umożliwia
404
ROZDZIAŁ 7. PRZEKSZTAŁCANIE ATRYBUTÓW
całościową ocenę dyskretyzacji i w związku z tym daje nadzieje na uzyskanie lep szych efektów niż przy wykorzystaniu wcześniej proponowanych heurystyk. Aby móc zastosować zasadę minimalnej długości kodu, musimy potraktować sposób dyskretyzacji, czyli podział na przedziały, jako hipotezę, która może korzystnie wpływać na oszczędność kodowania danych trenujących, czyli prowadzić do ich kompresji. Wówczas różne sposoby dyskretyzacji można będzie oceniać ze wzglę du na długość dwuczęściowego komunikatu, którego pierwsza część koduje prze działy dyskretyzacji, a druga — przykłady trenujące przy założeniu znajomości tych przedziałów. Wówczas przy wyborze wartości progowej lub przedziałów do połączenia należy obliczyć taką łączną długość kodu dla dyskretyzacji uzyskiwa nej przez wybór każdej z branych pod uwagę możliwości i wybrać najlepszą z nich. Kryterium stopu można sformułować jako warunek, że najlepsza z możliwych do uzyskania ocen jest gorsza niż ocena dotychczasowej dyskretyzacji, a więc nie poprawia stopnia kompresji danych trenujących. W poniższej dyskusji założymy, jak przez prawie cały czas dotąd, że mamy do czynienia z dyskretyzacją z nad zorem, w związku z czym podział na przedziały ma być traktowany jako pewna hipoteza h : X h-> C, a kodowanie zbioru trenującego T przy znajomości hipotezy sprowadza się tylko do kodowania etykiet przykładów. Dyskretyzacją jako hipoteza Podział na przedziały przeciwdziedziny atrybutu a : X H-> A reprezentowany przez zbiór Ea można potraktować jako hipotezę do uczenia się pojęć w bardzo na turalny sposób. Wystarczy w tym celu każdemu przedziałowi dyskretyzacji I Ela przypisać większościową kategorię w zbiorze Taj, czyli wśród przykładów trenu jących, dla których wartość atrybutu a należy do tego przedziału. Taka hipoteza może być stosowana do klasyfikowania dowolnego przykładu z dziedziny, dla któ rego należy znaleźć przedział zawierający wartość atrybutu a i zwrócić związaną z tym przedziałem etykietę kategorii. Kodowanie dyskretyzacji W celu zakodowania zbioru przedziałów nie ma potrzeby, jak mogłoby się wyda wać, kodowania ich końców jako liczb rzeczywistych. Wystarczy przyjąć, że jest ustalony, skończony zbiór możliwych wartości progowych wyznaczających prze działy, i należy tylko wskazać, które z nich są używane. Założenie to jest do przy jęcia, gdyż omawiając dyskretyzacje zstępującą i wstępującą przyjmowaliśmy, że jako wartości progowe są brane pod uwagę zawsze środki przedziałów wyznaczo nych przez kolejne wartości dyskretyzowanego atrybutu, występujące w zbiorze trenującym. Jeśli zbiór wszystkich takich potencjalnych wartości progowych dla zbioru trenującego T oznaczymy przez 0j% a zbiór tych z nich, które są faktycz-
7.2. DYSKRETYZACJA ATRYBUTÓW CIĄGŁYCH
405
nie używane do dyskretyzacji, przez 6 a E @T, to długość kodu niezbędna do zakodowania hipotezy h reprezentowanej przez taką dyskretyzację wynosi LKe(h)
= \Qa\log\0T\.
(7.26)
Kodowanie danych trenujących Skoro sposób dyskretyzacji można traktować jako hipotezę, może być zastosowa ny schemat kodowania etykiet przykładów trenujących przy założeniu znajomości hipotezy podany w rozdziale 5. Zgodnie z nim dla każdego przykładu trenującego, który jest przez hipotezę klasyfikowany niepoprawnie (co w tym przypadku ozna cza, że przykład należy do kategorii innej niż większość przykładów, dla których wartość atrybutu a należy do tego samego przedziału), należy zakodować odpo wiednią informację korygującą. Obejmuje ona wskazanie błędnie klasyfikowane go przykładu i podanie prawidłowej kategorii. Jeśli takich pomyłek jest r^h), to trzeba w tym celu kodu o długości rf(/i)(log|T| + l o g ( | C | - l ) ) . 7.2.9
(7.27)
Dyskretyzacja bez nadzoru
Prymitywne metody dyskretyzacji, takie jak dyskretyzacja według równej szero kości i według równej częstości, pomijają rozkład kategorii w zbiorze trenującym, są więc metodami dyskretyzacji bez nadzoru. Powstaje jednak pytanie o bardziej zaawansowane metody dyskretyzacji bez nadzoru, które, nie wykorzystując kate gorii przykładów, uzależniałyby jednak sposób dyskretyzacji od rozkładu wartości atrybutów. Schematy dyskretyzacji zstępującej i wstępującej, czyli odpowiednio algoryt my 7.1 i 7.2, w żaden jawny sposób nie zakładają, czy przeprowadzana jest za ich pomocą dyskretyzacja z nadzorem, czy bez. Zależność od dostępności katego rii przykładów kryje się jednak w przedstawionych następnie, konkretyzujących te schematy, kryteriach wyboru wartości progowych lub przedziałów do połącze nia oraz odpowiednich kryteriach stopu. Aby uzyskać algorytm zstępującej lub wstępującej dyskretyzacji bez nadzoru, takie kryteria należy sformułować w inny sposób, niezależny od niedostępnych etykiet kategorii pojęcia docelowego. O ile dyskretyzacja z nadzorem jest przekształceniem przestrzeni atrybutów poprzedzającym ich użycie do uczenia się pojęć, o tyle dyskretyzacja bez nadzoru powinna poprzedzać tworzenie pojęć. Oznacza to, że należy w jej trakcie dążyć do uzyskania takiego podziału przeciwdziedziny każdego atrybutu ciągłego, który sprzyja uzyskaniu grupowania o odpowiednio wysokiej jakości. Sugeruje to, aby podział na przedziały przy dyskretyzacji bez nadzoru oceniać podobnie jak grupo wanie — ze względu na podobieństwo przykładów, dla których wartości dyskre-
406
ROZDZIAŁ 7. PRZEKSZTAŁCANIE ATRYBUTÓW
tyzowanego atrybutu znajdują się w tym samym przedziale. Oznacza to w istocie potraktowanie każdego zbioru Taj dla I E I a jako grupy przykładów. Do oceny grupowania reprezentowanego przez przedziały dyskretyzacji moż na stosować różne proste miary podobieństwa, zwłaszcza jeśli wszystkie atrybuty określone na dziedzinie są ciągłe, kiedy do tego celu może posłużyć odpowied nio zdefiniowana odległość. Przy dyskretyzacji zstępującej należałoby dążyć do wyboru wartości progowej w ten sposób, aby grupy przykładów reprezentowane przez oba powstałe po jej użyciu przedziały jak najbardziej się od siebie różniły. Przy dyskretyzacji wstępującej do połączenia należy wybrać takie dwa przyległe przedziały, dla których odpowiednie grupy różnią się od siebie w najmniejszym stopniu. Szczególnie atrakcyjne jest jednak wykorzystanie funkcji jakości stoso wanej przez system COBWEB, która umożliwia jednoczesne uwzględnienie atry butów ciągłych i dyskretnych. Jej drugą ważną zaletą jest to, że ocenia nie po prostu podobieństwo wewnątrz jednej grupy lub zróżnicowanie między dwiema grupami, lecz grupowanie jako całość. W związku z tym, niezależnie od tego, czy mamy do czynienia z dyskretyzacją zstępującą czy wstępującą, wystarczy zawsze podejmować taką decyzję, która prowadzi do największej wartości tej funkcji dla grupowania reprezentowanego przez podział na przedziały wynikający z tej decy zji. Naturalnym kryterium stopu jest wtedy warunek, że najlepsza znaleziona w ten sposób decyzja (o podziale przedziału albo o połączeniu przedziałów, zależnie od metody dyskretyzacji) daje oceną gorszą od oceny aktualnego zbioru przedziałów. 7.2.10
Agregacja atrybutów porządkowych
Na początku tego podrozdziału znalazła się zapowiedź, że wszystkie omawiane metody dyskretyzacji mogą być niemal bez żadnych modyfikacji stosowane tak że do agregacji atrybutów porządkowych. Wystarczy tylko odpowiednio dosto sować interpretację przedziałów, które w przypadku atrybutów porządkowych są dyskretnymi zbiorami wartości znajdujących się w zakresie określonym przez koń ce przedziału. Posługując się przyjmowaną dotychczas notacją, możemy zapisać dla atrybutu porządkowego a : X *-* Ai dowolnego przedziału /: {6l6I2] = {veA\6I2
(7.28)
Jedyna przeszkoda, jaka stoi na drodze do potraktowania zarówno prymitywnych, jak i bardziej zaawansowanych metod dyskretyzacji, jakie przedstawiliśmy, jako metod agregacji, wiąże się ze sposobem wyznaczania wartości progowych. Przy dyskretyzacji atrybutów ciągłych wartości progowe można wyznaczać za pomocą prostych operacji arytmetycznych. Tak jest w przypadku dyskretyzacji według równej szerokości, kiedy zakres zmienności atrybutu dzieli się przez liczbę przedziałów k, wyznaczając w ten sposób szerokość każdego z nich. Przy agrega cji atrybutów porządkowych nie można postąpić w ten sposób, gdyż w ogólnym
7.3. KONSTRUKTYWNA INDUKCJA
407
przypadku nie zakłada się, aby na ich wartościach była określona jakakolwiek aryt metyka. Łatwo jednak ten problem obejść, definiując szerokość przedziału niejako różnicę między jego końcami, lecz jako liczbę należących do niego wartości dys kretnych. Wówczas dzielenie przez k staje się możliwe i prowadzi do wyznaczenia liczby wartości, jaka ma należeć do każdego z k podprzedziałów. Zauważmy jed nak, że w ten sposób dyskretyzacja według równej szerokości staje się agregacją według równej częstości. Traktując dyskretyzację według równej częstości jako agregację według rów nej częstości napotykamy na nieco inny problem. Przy dyskretyzacji jako możliwe końce przedziałów rozpatruje się środki przedziałów wyznaczonych przez kolej ne wartości dyskretyzowanego atrybutu w zbiorze przykładów, dla którego się tę dyskretyzację przeprowadza. Tak samo postępuje się, stosując bardziej zaawan sowane metody dyskretyzacji zstępującej i wstępującej. W przypadku atrybutów porządkowych należy odpowiednio określić, co rozumie się przez środek prze działu. W przypadku ciągłego przedziału (#1,62] jego środek można obliczyć jako arytmetyczną średnią jego końców, czyli 612 — ^-^. Jeśli jest to jednak przedział dyskretnych wartości atrybutu porządkowego, to zamiast średniej należy użyć me diany, czyli takiej wartości 612, która spełnia oba poniższe warunki: \{v G (01,¾] I v < 012}\ > \ |(0i, 0 2 ]|,
(7.29)
|{ve(0i,02]|O0i2}| ^|(0i,02]|,
(7.30)
przy czym |(#i,#2]| oznacza liczbę elementów w przedziale (#1,¾]. Jeśli mamy |(0i? O2] I — m i m jest liczbą nieparzystą, to medianą jest element tego przedziału o numerze porządkowym z ^ p przy założeniu numeracji od 1 w kolejności rosną cej. Jeśli m jest liczbą parzystą, to ^¾^ jest ułamkiem. Wówczas za medianę moż na przyjąć element przedziału o numerze y + 1. Oczywiście jeśli końce przedziału, którego środek jest poszukiwany, są kolejnymi wartościami z przeciwdziedziny, to przedział taki zawiera dokładnie jeden element, będący według przyjętych przez nas konwencji jego prawym końcem6, i to właśnie jest zarazem jego „środek".
7.3 Konstruktywna indukcja Rozdział ten jest poświęcony przekształcaniu przestrzeni atrybutów dla indukcyj nych systemów uczących się. Główne rodzaje możliwych przekształceń zostały podane na jego początku, a omawiana dalej dyskretyzacja atrybutów ciągłych jest zaledwie szczególnym przypadkiem jednego z nich. Ze względu jednak na bardzo 6
Chodzi o założenie, że zawsze rozpatruje sie przedziały prawostronnie domknięte, które zgodnie z wcześniejszym zastrzeżeniem ma charakter wyłącznie techniczny.
408
ROZDZIAŁ 7. PRZEKSZTAŁCANIE ATRYBUTÓW
duże znaczenie praktyczne zasługuje na szczególną uwagę i odrębne, dokładne potraktowanie. Obecnie chcemy, w bardziej już zwięzły sposób, zająć się innymi przekształceniami przestrzeni atrybutów. Każde z takich przekształceń, prowadzą cych do zmiany przestrzeni hipotez lub ułatwienia jej przeszukiwania, jest przy kładem konstruktywnej indukcji. Dyskretyzację atrybutów ciągłych można uznać za jej specyficzny rodzaj, lecz tutaj wygodniej będzie traktować ją oddzielnie, aten nowy termin zarezerwować dla wszystkich innych przekształceń przestrzeni atry butów, zmierzających do tego, aby pojęcie docelowe (w przypadku uczenia się pojęć) lub wysokiej jakości grupowanie (w przypadku tworzenia pojęć) mogło być w niej reprezentowane dokładnie i oszczędnie oraz aby możliwe było efek tywne nauczenie się go za pomocą stosowanego algorytmu uczenia się. Ponieważ konstruktywna indukcja jest ostatnio obszarem aktywnych badań, trudno o usys tematyzowany i pełny jej obraz w książce o średnim poziomie zaawansowania. Poprzestaniemy zatem na naszkicowaniu głównych kierunków, w których zmie rzają znane metody. 7.3.1
Rodzaje konstruktywnej indukcji
Decyzje o uznaniu niektórych atrybutów za nieistotne lub mało użyteczne mogą być oparte na różnych przesłankach. Również tworząc nowe atrybuty, które okre śla się jako funkcje wartości atrybutów wcześniej dostępnych, można z różnych źródeł czerpać wskazówki co do właściwych postaci tych funkcji, zapewniających dużą użyteczność nowych atrybutów. Ze względu na źródło informacji decydują cych o sposobach przekształcania przestrzeni atrybutów wyróżnia się w związku z tym trzy podstawowe odmiany konstruktywnej indukcji: • konstruktywną indukcję na podstawie danych, w której atrybuty do usunię cia lub dodania określa się na podstawie analizy danych zawartych w zbiorze trenującym, • konstruktywną indukcję na podstawie wiedzy, w której atrybuty do usunięcia lub dodania określa się na podstawie dostarczonej uczniowi wiedzy na temat dziedziny, • konstruktywną indukcję na podstawie hipotez, w której atrybuty do usunię cia lub dodania określa się na podstawie analizy generowanych przez ucznia hipotez dla dotychczasowej przestrzeni atrybutów. Konstruktywna indukcja na podstawie danych polega przede wszystkim na sta tystycznej analizie zbioru trenującego. Badając rozkłady wartości atrybutów i ka tegorii można dzięki niej wykryć atrybuty, które nie są istotne ze względu na po jęcie docelowe (w przypadku uczenia się z nadzorem) lub ze względu na możli we grupowanie przykładów (w przypadku uczenia się bez nadzoru). Umożliwia to obliczanie różnego rodzaju korelacji i miar statystycznej istotności. Możliwe
7.3. KONSTRUKTYWNA INDUKCJA
409
jest także stwierdzenie występowania zależności między niektórymi atrybutami, umożliwiających w pewnych sytuacjach zastąpienie ich jednym nowym atrybu tem. W dalszej części tego podrozdziału przedstawimy najbardziej elementarne techniki statystyczne, które zazwyczaj są stosowane do konstruktywnej indukcji na podstawie danych, lecz nie będziemy zajmować się tym podejściem zbyt szcze gółowo. W konstruktywnej indukcji na podstawie wiedzy akcentowana jest rola wiedzy wrodzonej przeprowadzającego konstruktywną indukcję ucznia i dostarczającego mu ją eksperta. Wiedza ta, opisując pewne aspekty dziedziny, może umożliwić określenie właściwych przekształceń przestrzeni atrybutów. Jednak w wielu przy padkach ekspert, który taką wiedzę posiada, najłatwiej może ją wyrazić po prostu z góry dobierając odpowiednio przestrzeń atrybutów, co w ogóle eliminuje potrze bę konstruktywnej indukcji. Nie lekceważąc znaczenia konstruktywnej indukcji na podstawie wiedzy, nie będziemy się nią w tym podrozdziale zajmować, głównie ze względu na to, że jest to podejście szczególnie słabo usystematyzowane i sposób jego stosowania silnie zależy od konkretnych właściwości dziedziny oraz charak teru posiadanej o niej wiedzy. Z naszego punktu widzenia najbardziej interesująca jest konstruktywna induk cja na podstawie hipotez. Polega ona na analizowaniu przez ucznia hipotez uzy skanych za pomocą stosowanego algorytmu uczenia się dla poprzedniej przestrze ni atrybutów i przekształcaniu jej, tak aby było możliwe poprawienie jakości tych hipotez. Ten rodzaj konstruktywnej indukcji dopasowuje wykorzystywane prze kształcenia atrybutów nie tylko do charakteru danych trenujących, lecz także do algorytmu uczenia się i związanej z nim metody reprezentacji hipotez. Nie wy maga przy tym dostępności wiedzy eksperckiej. Zalety te powodują, że jest on szczególnie dogodny do stosowania w praktyce, także w połączeniu z pozostałymi rodzajami konstruktywnej indukcji. 7.3.2
Konstruktywna indukcja na podstawie danych
Zgodnie z zapowiedzią konstruktywna indukcja na podstawie danych polega na analizowaniu rozkładów wartości atrybutów i kategorii w zbiorze trenującym w po szukiwaniu takich przekształceń przestrzeni atrybutów, dzięki którym będzie wy starczająca do dostatecznie dokładnego opisu pojęcia docelowego, a przy tym bę dzie sprzyjać opisywaniu go w prosty sposób, przede wszystkim dzięki możliwie niewielkiej liczbie atrybutów i możliwie niewielkiej liczbie ich wartości. Meto dy dyskretyzacji atrybutów ciągłych i agregacji atrybutów porządkowych, które zajmowały naszą uwagę w pierwszej części tego rozdziału, można uznać za szcze gólne rodzaje konstruktywnej indukcji na podstawie danych, gdyż dobierają one sposób podziału przeciwdziedziny dyskretyzowanego lub agregowanego atrybutu właśnie na podstawie analizy zbioru trenującego. Obecnie zajmiemy się konstruk-
410
ROZDZIAŁ 7. PRZEKSZTAŁCANIE ATRYBUTÓW
tywną indukcją na podstawie danych, stosowaną do atrybutów dyskretnych. Nie poruszymy w tym rozdziale w ogóle problemu innych niż dyskrętyzacj a rodza jów konstruktywnej indukcji dla atrybutów ciągłych, w szczególności prowadzą cych do tworzenia nowych atrybutów zdefiniowanych za pomocą równań. W nieco odmiennym kontekście do takiej możliwości wrócimy w rozdziale 10, w którym będziemy się zajmować między innymi poszukiwaniem zależności między atry butami ciągłymi opisywanych przez równania. Ograniczając się do atrybutów dyskretnych weźmiemy pod uwagę podstawo we przekształcenia, jakim można je poddawać na podstawie analizy danych trenu jących, a więc wykrywanie i usuwanie nieistotnych atrybutów oraz wykrywanie zależności funkcyjnych między atrybutami i zastępowanie atrybutów zależnych jednym, odpowiednio skonstruowanym atrybutem. Tym razem możemy założyć, że mamy do czynienia wyłącznie z atrybutami dyskretnymi, czyli że w razie po trzeby dyskretyzacja została już przeprowadzona wcześniej. Zarówno do wykry wania atrybutów nieistotnych, jak i funkcyjnie zależnych są stosowane standardo we techniki pochodzące ze statystyki matematycznej. Wykrywanie atrybutów nieistotnych Mówiąc o atrybutach nieistotnych zakładamy, że przestrzeń atrybutów ma służyć do uczenia się pewnego pojęcia docelowego c : X \-> C i dany jest odpowiedni zbiór trenujący T. Nieistotność atrybutu a : X \-> A oznacza, że do reprezen towania hipotezy dobrze przybliżającej pojęcie docelowe nie jest on potrzebny, a w każdym razie taki wniosek wynika z analizy opisów i etykiet przykładów trenujących. Do wykrywania atrybutów nieistotnych ze względu na pojęcie doce lowe można wykorzystać różne testy statystycznej istotności, z których najlepiej znanym, również czytelnikom tej książki, jest test x 2 . W tym przypadku interesuje nas weryfikacja hipotezy zerowej, zgodnie z którą wartości atrybutu a i kategorie pojęcia docelowego c są od siebie niezależne, co oznaczałoby, że atrybut a może być usunięty z przestrzeni atrybutów A. Odpowiednią postać statystyki x 2 sformułujemy następująco:
xl(T) = £
deCv£A
(K \-eiv(T)Y £ 4od (T)
(7.31)
av ~V
przy czym dla dowolnej kategorii d € C i wartości atrybutu v € A wartość e^v(T) oznacza oczekiwaną liczbę przykładów trenujących kategorii d, dla których atry but a ma wartość v przy założeniu hipotezy zerowej, czyli niezależności rozkładu kategorii od wartości atrybutu. Jest to więc liczba przykładów kategorii d z warto ścią v atrybutu a, jakiej spodziewamy się przy założeniu, że dla przykładów o ta kiej wartości tego atrybutu rozkład kategorii jest taki sam jak w całym zbiorze T.
411
7.3. KONSTRUKTYWNA INDUKCJA
Liczbę tę wyznacza się w zwykły sposób jako: \rpd\ av ~ l^a1
(7.32)
e
\T\
Statystyka x^{T) ma w przybliżeniu rozkład x2 ° (| Cj —1)-(1^4)-1) stopniach swobody. Zatem dla żądanego poziomu statystycznej istotności można numerycz nie obliczyć lub znaleźć w tablicach statystycznych wartość, jaką musi osiągnąć ta statystyka, aby odrzucić hipotezę zerową o niezależności atrybutu i pojęcia doce lowego. Jeśli nie osiąga ona tego wymaganego minimum, to atrybut jest uznawany za nieistotny. Aby wnioskowanie na podstawie statystyki x2 było statystycznie po prawne, musi być ona oparta na dostatecznie dużej próbie danych. Zgodnie z kry teriami Cochrana wszystkie wartości oczekiwane e^v(T) muszą być większe od 1 i co najmniej 80% z nich nie może mieć wartości poniżej 5. W praktyce czę sto nie udaje się tego warunku spełnić, a dla uniknięcia problemów z dzieleniem przez zbyt małe liczby wartości równe lub bliskie 0 zastępuje się jak zwykle pewną ustaloną liczbą dodatnią między 0 a 1. Wykrywanie zależności funkcyjnych Skoro statystyka x2 nioże być wykorzystana do sprawdzania niezależności atry butów i kategorii, to można się nią posłużyć także do poszukiwania zależności między atrybutami. Dla pary atrybutów ai : X H-> Ai i aj : X \-t Aj zapiszemy formułę do obliczenia statystyki x2 następująco:
Xal,aJ(T)= 2^
Ł,
:
Tri
'
(7 33)
-
przy czym TaiVuajVj = TaiVi D TajVj. Oczekiwana liczba przykładów, dla których atrybut a{ ma wartość vi oraz atrybut aj ma wartość Vj przy założeniu hipotezy zerowej o ich niezależności, jest wyznaczana jako: \laiVi ća,iVi,ajVj
z=
\T
(7.34)
Jasne jest, że duże wartości zdefiniowanej wyżej statystyki oznaczają silniej szą, a małe wartości słabszą zależność między atrybutami. Dla danego poziomu statystycznej istotności i liczby stopni swobody równej (|-Aj| — l)-(|Aj | —1) można wyznaczyć wartość, której przekroczenie oznacza statystycznie istotną zależność. Aby jednak móc określić nie tylko prawdopodobieństwo występowania, lecz tak że siłę zależności, która nas w tym przypadku najbardziej interesuje, można wziąć
412
ROZDZIAŁ 7. PRZEKSZTAŁCANIE ATRYBUTÓW
pod uwagę zakres wartości, jakie może przyjmować statystyka %2, i oceniać siłę zależności na podstawie odległości obliczonej wartości od końców tego zakresu. Okazuje się, że zawsze jest spełniony warunek X^aje[0,|T|(m-l)],
(7.35)
przy czym m = min{|Ai|, \Aj\}. Jest to właściwość statystyki x2> którą przed stawiamy tu dla interesującego nas przypadku mierzenia zależności dwóch atrybu tów, lecz która oczywiście jest uniwersalna i w analogiczny sposób może być zapi sana dla innych postaci tej statystyki, jakie występowały dotychczas w tej książce. Wartość statystyki x^i%a. równa 0 oznacza całkowitą i pewną niezależność atrybutów ai i aj. Jest ona osiągana wtedy, kiedy obserwowane rozkłady częstości \TaiVi,ajVj są równe oczekiwanym eaiViAjV. (T). Wartość maksymalna \T\ (m—1) oznacza z kolei zależność funkcyjną atrybutów ai i aj. Wygodnie jest w związku z tym posługiwać się odpowiednio znormalizowaną statystyką %2 w postaci współ czynnika V Cramera: / y2
v
(T)
-«m-Vmft=Ty
<7J6)
który przyjmuje wartości z przedziału [0,1], Wartość 0 oznacza brak jakiejkol wiek zależności między atrybutami a$ i aj, a wartość 1 — maksymalną, funkcyjną zależność. Zależność funkcyjna dla pary atrybutów umożliwia usunięcie jednego z nich, gdyż nie wnosi on do opisu przykładów żadnej dodatkowej informacji ponad tę, której dostarcza drugi. Należy wówczas pozostawić ten z dwóch atrybutów, któ ry ma mniej możliwych wartości, gdyż będzie to sprzyjać uzyskaniu prostszych hipotez podczas uczenia się. W praktyce nie należy spodziewać się często peł nej zależności funkcyjnej, ale można uznawać za zależne funkcyjnie atrybuty, dla których współczynnik V Cramera jest dostatecznie bliski 1. Wówczas jednak wła ściwsze od usuwania jednego z dwóch „prawie funkcyjnie" zależnych atrybutów może być zastąpienie ich nowym, odpowiednio skonstruowanym atrybutem. Naj prostszym i najbardziej uniwersalnym podejściem jest wtedy utworzenie dla pary atrybutów ai i aj nowego atrybutu aij : X \-+ A{j, który każdej parze wartości (vi,Vj) £ Ai x Aj przyporządkowuje jednojednoznacznie jedną wartość nowego atrybutu vij G A^, a następnie przeprowadzenie agregacji wartości tak skonstru owanego „iloczynu kartezjańskiego" oryginalnych atrybutów, zmniejszającej roz miar przeciwdziedziny bez znaczącego osłabienia możliwości rozróżniania przy kładów różnych kategorii. Uniwersalność tego podejścia przejawia się między in nymi w tym, że może być w taki sam sposób stosowane do dowolnej liczby atry butów, a więc niekoniecznie dwóch.
7.3. KONSTRUKTYWNA INDUKCJA
413
Agregacja wartości atrybutów W tym rozdziale mówiliśmy już o agregacji wartości atrybutów porządkowych, która może być przeprowadzana w zasadniczo taki sam sposób jak dyskretyzacja atrybutów ciągłych. Nic jednak nie stoi na przeszkodzie, aby podejście to, nie znacznie tylko zmienione, zastosować także do atrybutów nominalnych. Nie jest dla nich określona relacja porządku i tym samym nie można mówić o żadnych przedziałach jako podzbiorach przeciwdziedziny, zawierających pewną liczbę ko lejnych wartości, lecz można w zamian rozważać dowolne podzbiory przeciwdzie dziny, która w tym przypadku jest zawsze skończona. Zastępując przedziały dowolnymi podzbiorami, możemy do agregacji atrybu tów nominalnych zastosować algorytm oparty na podstawowym schemacie dyskretyzacji wstępującej. Rozpoczynając od podzbiorów jednoelementowych, od powiadających wszystkim elementom przeciwdziedziny agregowanego atrybutu, w każdej iteracji byłaby brana pod uwagę możliwość połączenia dowolnych dwóch podzbiorów. Tym razem nie ma oczywiście żadnego odpowiednika przyległości, której wymaga się od łączonych przedziałów, więc kandydatów do połączenia mo że być odpowiednio więcej. Odpowiednio zmodyfikowaną postać schematu dyskretyzacji wstępującej przedstawia algorytm 7.3. funkcja agreguj-wstępująco(P, a) argumenty wejściowe: • P — zbiór przykładów, dla których dokonuje się agregacji, • a — agregowany atrybut; zwraca: zbiór podzbiorów przeciwdziedziny atrybutu a; l: V : = 0 ; 2: dla wszystkich x e P wykonaj
3: 4: 5: 6: 7: 8: 9:
V:=Vu{{a(x)}}; koniec dla powtarzaj V\, V2 := wybierz-podzbiory (P, a, V); V:=V~{VUV2}U{V1UV2}\ aż nastąpi kryterium-stopu(V)', zwróć V.
Algorytm 7.3. Schemat agregacji wstępującej dla atrybutów nominalnych Decyzję o połączeniu podzbiorów można oprzeć, tak jak w przypadku algo rytmu ChiMerge, na wartości statystyki %2, dążąc do łączenia podzbiorów mało różniących się ze względu na rozkład częstości kategorii. Jeśli agregowany jest atrybut a : X \-t A i V\, ¥2 C A oznaczają dwa podzbiory jego przeciwdziedziny,
414
R O Z D Z I A Ł 7. P R Z E K S Z T A Ł C A N I E ATRYBUTÓW
których połączenie się rozważa, to odpowiednią definicję statystyki x2 zapiszemy następująco:
xly,y2{P) = £
(1^1-4½¾^½)) 2 e
deC
a,Vi(Pa,ViUV2)
+
(\P^v2\-eday2(PaylUV2))
+
(7.37) e
deC
a,V2(^.ViUV2)
przy czym P oznacza zbiór przykładów etykietowanych, na podstawie których przeprowadza się agregację — zazwyczaj jest to zbiór trenujący, który następnie będzie wykorzystywany do uczenia się pojęcia docelowego. Oczywiście dla do wolnego zbioru wartości V C A przyjmujemy oznaczenia: Pay = {xeP\
a{x) € V},
d
P*y = P nPay,
(7.38) (7.39)
a edy (Pay1uv2) dla z £ {1,2} oznacza oczekiwaną liczbę przykładów kategorii d w zbiorze przykładów o rozmiarze I-P^yj* gdyby rozkład kategorii był w nim taki sam jak w zbiorze Payluv2> czyli gdyby nie zależał od tego, do którego z dwóch podzbiorów należy wartość atrybutu a. Rzecz jasna e
P
ayA ayi\JV2) = \Pa,Vi\
T>d a,ViUV2
r
(7.40)
Pa,ViUV2
Kryterium stopu może być także określone w sposób wcześniej proponowany dla dyskretyzacji. Zależności wyższych rzędów Wszystkie przedstawione techniki konstruktywnej indukcji na podstawie danych opierają się na testowaniu zależności dla pary atrybutów lub dla jednego atrybutu i pojęcia docelowego. Przyjmowaliśmy, że jest w tym celu stosowana statysty ka x 2 . Bez względu jednak na to, czy będzie zastosowana ta czy inna metoda testowania zależności, techniki te mają pewną trudną do przezwyciężenia słabość. Uwzględniają one tylko zależności pierwszego rzędu, dotyczące dwóch atrybutów niezależnie od wartości pozostałych atrybutów, pomijając możliwość występowa nia zależności wyższych rzędów, występujących dla większej liczby atrybutów. Przykład 7.8 (Funkcje boolowskie). Weźmy ponownie pod uwagę dziedzinę łańcuchów binarnych X — {0,l} n dla pewnego n > 0 i klasę pojęć reprezento wanych przez funkcje boolowskie. W szczególności niech pojęcie docelowe c będzie
7.3. KONSTRUKTYWNA INDUKCJA
415
funkcją parzystości klasyfikującą jako pozytywne te i tylko te łańcuchy binarne, w któ rych liczba jedynek jest nieparzysta. Dla n = 2 definicję takiego pojęcia można zapi sać następująco: c(x) ~ a\(x) A ~K22(#) V ->ai(x) A 02(0;). Zauważmy, że dla dowolnego n z dziedziny liczącej 2 n elementów dokładnie poło wa należy do kategorii 1 i druga połowa do kategorii 0. Jeśli teraz dla dowolnego i — 1, 2 , . . . , n weźmiemy pod uwagę zbiór Xaio, to oczywiście łatwo stwierdzić, że spośród 2 n _ 1 należących do niego przykładów także dokładnie połowa to przykła dy pozytywne. To samo można powiedzieć o zbiorze Xai\. Zatem rozkład kategorii w obu podzbiorach wyznaczanych przez dowolny atrybut ai jest taki sam jak w całej dziedzinie. Oznacza to, że dowolny test statystycznej zależności wykaże niezależność pojęcia docelowego od każdego atrybutu z osobna. Mimo to pojęcie docelowe zależy od wszystkich n atrybutów i usunięcie dowolnego z nich uniemożliwi jego reprezen towanie. Powyższy przykład demonstruje, że atrybut, od którego pojęcie docelowe nie zależy w świetle testu zależności, nie musi być niestotny —pojęcie docelowe mo że zależeć od tego atrybutu wraz z jednym lub większą liczbą innych atrybutów. Aby wykryć atrybuty prawdziwie nieistotne dla pojęcia docelowego, należałoby więc uwzględnić jego zależność od wszystkich podzbiorów n-elementowego zbio ru atrybutów. Atrybut mógłby być uznany za nieistotny tylko pod warunkiem, że usunięcie go z dowolnego podzbioru atrybutów nie zwiększa ich łącznej istotności. Niestety, taka wyczerpująca weryfikacja istotności wiąże się ze zbyt dużymi na kładami obliczeń i raczej nie można jej polecić, jeśli liczba atrybutów przekracza kilka. Nie są obecnie znane zadowalające metody uwzględniania zależności wyż szych rzędów oparte wyłącznie na analizie danych. Z pewnością można natomiast polecić analizę hipotez jako ostateczną podstawę rozstrzygania o przydatności po szczególnych atrybutów. 7.3.3
Konstruktywna indukcja na podstawie hipotez
Konstruktywna indukcja na podstawie hipotez jest bezpośrednio sprzęgnięta z pro cesem indukcyjnego uczenia się za pomocą pewnego ustalonego algorytmu i od powiedniej dla niego reprezentacji hipotez. Podstawowy cykl tego procesu polega na użyciu algorytmu do wygenerowania pewnej hipotezy na podstawie dostępne go zbioru trenującego. Hipoteza taka jest następnie traktowana jako źródło infor macji, umożliwiających uznanie niektórych nie występujących w niej atrybutów za zbędne i usunięcie ich lub wprowadzenie nowych atrybutów, odpowiadających pewnym funkcjom dotychczasowych atrybutów często występującym w hipote zie. Po zmodyfikowaniu przestrzeni atrybutów ten sam algorytm jest używany do znalezienia kolejnej hipotezy, która jest ponownie analizowana w ten sam sposób. Postępowanie takie powtarzane jest tak długo, jak długo zmiany wprowadzane do
416
ROZDZIAŁ 7. PRZEKSZTAŁCANIE ATRYBUTÓW
przestrzeni atrybutów powodują poprawę właściwości uzyskiwanych hipotez. Tak opisany schemat konstruktywnej indukcji na podstawie hipotez precyzuje algo rytm 7.4. Przedstawiona tam funkcja KIH przeprowadza konstruktywną indukcję dla danego algorytmu uczenia się, zbioru trenującego i przestrzeni atrybutów. funkcja KIH{L,T,A) argumenty wejściowe: • L — algorytm uczenia się, • T — zbiór trenujący, * A — pierwotna przestrzeń atrybutów » zwraca: zmodyfikowaną przestrzeń atrybutów oraz hipotezę znalezioną przez algorytm L za pomocą tej przestrzeni na podstawie zbioru trenującego T; i: powtarzaj 2: podziel zbiór trenujący T na rozłączne podzbiory P i S; 3: h :— zastosuj-algorytm (L, A, P ) ; 4: A := przekształcenia (A, /i, P); 5: aż nastąpi kryterium-stopu {h,S); 6: h :— zastosuj-algorytm(L, A,T); 7: zwróć A, /i. Algorytm 7.4. Schemat konstruktywnej indukcji na podstawie hipotez Zgodnie z przedstawionym schematem, algorytm uczenia się jest wielokrotnie używany do wygenerowania hipotezy na podstawie części przykładów trenują cych ze zbioru P C T, nazywanego zbiorem pierwotnym. Pozostałe przykłady trenujące tworzą zbiór wtórny S = T — P, który jest wykorzystywany do oce ny poprawy, jaką dają wprowadzane w kolejnych iteracjach przekształcenia prze strzeni atrybutów, i do podejmowania na tej podstawie decyzji o zakończeniu kon struktywnej indukcji. Analiza hipotezy, z uwzględnieniem zbioru pierwotnego, na podstawie którego została uzyskana, ma na celu określenie najbardziej obiecują cych przekształceń przestrzeni atrybutów. Podjęciem decyzji w tej kwestii i jej realizacją zajmuje się funkcja przekształcenia, która stanowi rdzeń przedstawio nego podejścia do konstruktywnej indukcji, decydujący o specyfice jego różnych konkretnych wcieleń. Przekształcenia takie mogą oczywiście powodować odpo wiednią niejawną modyfikację przestrzeni możliwych do reprezentowania hipotez. Po dokonaniu tych modyfikacji ten sam cykl może zostać powtórzony, o ile nie jest spełnione kryterium stopu. Na koniec za pomocą ostatecznie uzyskanej prze strzeni atrybutów znajdowana jest hipoteza przez zastosowanie algorytmu uczenia się do całego zbioru trenującego T. Algorytm 7.4 opisuje więc nie tylko schemat konstruktywnej indukcji na podstawie hipotez, lecz także sposób jej połączenia z właściwym procesem uczenia się. Oczywiście każdorazowe wykonanie opera-
7.3. KONSTRUKTYWNA INDUKCJA
417
cji zastosuj-algorytm musi na wstępie obejmować odpowiednie rzutowanie zbioru przykładów na aktualną przestrzeń atrybutów. W ten sposób konstruktywną indukcję można zastosować do „wzmocnienia" właściwie dowolnego algorytmu indukcyjnego uczenia się z nadzorem lub bez nadzoru. Konkretyzacja przedstawionego schematu wymaga jednak określenia operacji, które chociaż nie zależą bezpośrednio od algorytmu uczenia się, zależą od wykorzystywanej przez niego reprezentacji hipotez. Te operacje to ocena jako ści hipotez na podstawie pewnego zbioru przykładów oraz, co najważniejsze, ana lizowanie hipotez w celu określenia obiecujących przekształceń przestrzeni atry butów. Z pierwszym z nich zetknęliśmy się już wielokrotnie i tu potraktujemy go tylko pobieżnie, a drugim zajmiemy się nieco dokładniej. Kryterium stopu Najprostsze, lecz i najbardziej naturalne kryterium stopu dla konstruktywnej in dukcji (nie tylko na podstawie hipotez) stanowi warunek braku korzystnych efek tów w wyniku ostatnio zastosowanych przekształceń przestrzeni atrybutów. W przypadku algorytmu 7.4 stwierdzenie poprawy lub jej braku jest możliwe na podstawie oceny jakości ostatniej hipotezy h na zbiorze wtórnym S i porównanie jej z oceną uzyskaną dla hipotezy w poprzednim kroku. Zaprzestawanie dalszych przekształceń tylko po jednokrotnym braku poprawy mogłoby być jednak decyzją zbyt radykalną, uniemożliwiającą wypróbowanie dostatecznie wielu obiecujących przekształceń. Właściwsze wydaje się raczej przyjęcie łagodniejszego kryterium stopu, które zezwala na brak poprawy, a nawet pogorszenie, w pewnej niewielkiej liczbie iteracji7. Dopiero przekroczenie tej liczby zatrzymuje algorytm. Ocena hipotez Konstruktywna indukcja na podstawie hipotez wymaga ich oceny w celu weryfi kacji, czy wykonywane przekształcenia przestrzeni atrybutów są rzeczywiście ko rzystne, oraz podjęcia decyzji o zaprzestaniu ich dalszego stosowania, jeśli przesta ną przynosić korzyści. W zasadzie wszystko, co o ocenie hipotez było w różnych miejscach książki powiedziane dotychczas, może mieć tu zastosowanie, zależnie oczywiście od ich reprezentacji. Trudno w tej sytuacji wskazać podejście, które byłoby powszechnie przyjęte i uniwersalnie użyteczne. Można, jak zwykle, sto sować różne heurystyki uwzględniające dokładność i złożoność. Wiele różnych kryteriów oceny można uwzględnić za pomocą funkcji typu LEF. Niezależnie jed nak od szczegółowych postaci używanych heurystyk trzeba wziąć pod uwagę dwie podstawowe kwestie: zbiór przykładów, na podstawie którego przeprowadza się 7 Warto wówczas zachowywać zawsze najlepszy zestaw atrybutów, jaki udało sie dotychczas uzyskać.
418
ROZDZIAŁ 7. PRZEKSZTAŁCANIE ATRYBUTÓW
ocenę dokładności hipotezy, oraz uwzględnienie przy ocenie złożoności także zło żoności definicji nowych atrybutów dodanych w wyniku konstruktywnej indukcji. Ocena dokładności. Algorytm 7.4 zakłada podział zbioru trenującego na pod zbiory, z których jeden jest używany do znajdowania roboczych hipotez i drugi do ich oceniania, co jest podejściem dość wygodnym i często przyjmowanym. Wów czas w najprostszym przypadku błąd próbki na zbiorze wtórnym S może służyć za kryterium porównań. Ponieważ oceniana hipoteza nie zależy od zbioru S, błąd próbki na tym zbiorze jest najbardziej prawdopodobną wartością błędu rzeczywi stego. Wynika to z dyskusji przedstawionej w rozdziale 2, gdzie widzieliśmy także, jak określić przedział ufności dla błędu rzeczywistego, czyli wyznaczyć jego praw dopodobne górne i dolne ograniczenie. Czasem jednak dostępny zbiór przykładów jest zbyt mały, aby po jego podziale zbiory pierwotny i wtórny były dostatecznie duże odpowiednio do uzyskania dobrej jakości hipotez, których analiza prowa dziłaby do korzystnych przekształceń atrybutów, oraz do wiarygodnej oceny tych hipotez. Można wówczas odstąpić od używania dwóch odrębnych zbiorów przy kładów i do obu celów wykorzystać ten sam, cały zbiór T, postępując tak, jak było to w odpowiednim miejscu rozdziałów 3 i 4 sugerowane dla przycinania drzew decyzyjnych lub reguł. Polega to w skrócie na pesymistycznym szacowaniu rze czywistego błędu hipotezy na podstawie jej błędu próbki na zbiorze trenującym i wykorzystywaniu takiego oszacowania do oceny hipotez. Ocena złożoności. Niezależnie od przyjętej do oceny hipotez miary złożoności, którą może być w najprostszych przypadkach liczba węzłów lub liści dla drzew decyzyjnych, liczba reguł, selektorów nieuniwersalnych lub występujących w nich wartości artrybutów dla zbiorów reguł, trzeba pamiętać o tym, aby w odpowied ni sposób uwzględnić także złożoność nowych atrybutów dodawanych w trakcie konstruktywnej indukcji. Gdyby zostało to zaniedbane, a złożoność hipotez byłaby brana mimo to pod uwagę, szybko moglibyśmy uzyskać najprostsze z możliwych hipotezy, reprezentowane za pomocą pojedynczych atrybutów8, gdyż cała złożo ność związana z reprezentowaniem pojęcia docelowego zostałaby przeniesiona do atrybutów. Oczywiście takie przeniesienie złożoności nie jest celem konstruktyw nej indukcji. Wykorzystanie zasady minimalnej długości kodu. W świetle powyższej dys kusji trudno nie dostrzec korzyści, jakie może dać wykorzystanie do oceny skut ków konstruktywnej indukcji zasady minimalnej długości kodu. Odpowiednio za stosowana, umożliwia ona jednoczesną ocenę dokładności i złożoności na pod8
Takie hipotezy to w szczególności drzewo decyzyjne z jednym tylko węzłem lub jedna reguła dla każdej kategorii, zawierająca w kompleksie co najwyżej jeden nieuniwersalny, pojedynczy selektor.
7.3. KONSTRUKTYWNA INDUKCJA
419
stawie jednego zbioru przykładów, czyli całego zbioru trenującego. Jak zwykle podstawą oceny jest długość kodu dla dwuczęściowego komunikatu, składające go się z opisu hipotezy i danych trenujących przy założeniu jej znajomości. Przy kodowaniu hipotezy trzeba jednak tym razem uwzględnić także definicje nowych atrybutów, które zostały utworzone w wyniku konstruktywnej indukcji. Długość kodu dla hipotezy musi być zwiększona o długość kodu niezbędną do zapisania tych definicji9. Wybór przekształceń Analiza hipotez może być podstawą wyboru przekształceń przestrzeni atrybutów każdego z trzech głównych rodzajów, jakie wyróżniliśmy. Nie będziemy tu zajmo wać się wykorzystywanymi w tym celu szczegółowymi technikami, specyficznymi dla poszczególnych systemów konstruktywnej indukcji opisanych w literaturze, poprzestając na zasugerowaniu ogólnych koncepcji usuwania oraz dodawania no wych atrybutów na podstawie analizy hipotez. Usuwanie atrybutów. W najprostszym przypadku kandydatami do eliminacji są atrybuty nie wykorzystywane w analizowanej hipotezie lub takie, które nie mają zasadniczego znaczenia dla jej dokładności. Jeśli stosowany algorytm uczenia się jest wspomagany przez mechanizmy zapobiegające nadmiernemu dopasowaniu, takie jak przycinanie, to można oczekiwać, że hipoteza nakłada pewne warunki tylko na wartości tych atrybutów, które są faktycznie istotne ze względu na kate gorie pojęcia docelowego. Wówczas pozostałe atrybuty mogą być pominięte. Nowe atrybuty. Wykorzystywane przez analizowaną hipotezę kombinacje wa runków nakładanych na wartości atrybutów mogą posłużyć do zdefiniowania no wych atrybutów, jeśli są spełniane przez odpowiednio dużo przykładów trenują cych. Takie kombinacje warunków, nazywane czasem wzorcami, mogą być w szczególności reprezentowane jako poddrzewa w przypadku indukcji drzew de cyzyjnych lub kompleksy w przypadku indukcji reguł. Na ich podstawie mogą być zdefiniowane atrybuty binarne, przyjmujące wartość 1 dla przykładów pokrywa nych przez wzorce (czyli spełniających odpowiednie warunki) i wartość 0 dla po zostałych przykładów. Analiza drzew decyzyjnych z testami przynależnościowymi lub zbiorów reguł z selektorami dysjunkcyjnymi może również być podstawą agre gacji wartości atrybutów, polegającej na zastąpieniu kilku wartości występujących łącznie w takim teście lub selektorze jedną nową wartością. 9
Nie powoduje to żadnych dodatkowych komplikacji w stosowaniu zasady minimalnej długości kodu, gdyż definicje nowych atrybutów powstają na podstawie analizy hipotez i w związku z tym są reprezentowane w podobny sposób jak hipotezy lub ich elementy składowe.
420
ROZDZIAŁ 7. PRZEKSZTAŁCANIE ATRYBUTÓW
7.4 Zagadnienia praktyczne Ze względu na różnorodność zagadnień poruszanych w tym rozdziale dogłębność ich prezentacji nie mogła być taka jak w rozdziałach poprzednich. Przedstawiając tylko wybrane, przede wszystkim najprostsze techniki przekształcania atrybutów, nie wchodziliśmy zbyt głęboko w ich szczegóły lub możliwe warianty. Również teraz ograniczymy się do najbardziej elementarnych praktycznych aspektów ich stosowania, sygnalizując raczej występujące tu problemy niż sugerując ich roz wiązania.
7.4.1 Celowość dyskretyzacji Zaczniemy od pytania, czy dysponując algorytmem, który może przetwarzać przy kłady opisane za pomocą atrybutów ciągłych, warto takie atrybuty poddawać dys kretyzacji. Można mieć przy tym na myśli zarówno względy obliczeniowej efek tywności, jak i jakości możliwych do uzyskania hipotez. Otóż ze względu na oba te kryteria odpowiedź na postawione pytanie jest niemal zawsze twierdząca, pod warunkiem użycia odpowiednio dobrej metody dyskretyzacji z nadzorem — takiej jak omawiane w tym rozdziale metody zstępujące i wstępujące. Warto więc dyskretyzować zarówno ze względu na łączny nakład obliczeń, jaki będzie wymagany, jak i na dokładność oraz złożoność hipotezy, jaką uda się przy tym uzyskać. Jest to zazwyczaj prawdą nawet dla dość skutecznie radzących sobie z atrybutami ciągły mi algorytmów indukcji drzew decyzyjnych i praktycznie zawsze dla algorytmów indukcji reguł, a także dla naiwnego klasyfikatora bayesowskiego, zwłaszcza jeśli przez brak lepszej wiedzy przyjmowałby on dla każdego atrybutu ciągłego rozkład normalny. Oczywiście dyskretyzacja jest kosztowna zarówno w wersji zstępującej, jak i zazwyczaj bardziej jeszcze w wersji wstępującej, lecz w większości przypad ków kosztuje mniej niż dyskretyzacja lokalna wbudowana w algorytmy uczenia się, która te same atrybuty poddaje dyskretyzacji wielokrotnie dla różnych obsza rów dziedziny. Przy tym dyskretyzacja, zwiększając ogólność hipotez, zapobiega do pewnego stopnia nadmiernemu dopasowaniu do danych trenujących — a nie bezpieczeństwo ich przekłamań w przypadku atrybutów ciągłych jest szczególnie znaczne. 7.4.2
Wybór metody dyskretyzacji
Prymitywne metody dyskretyzacji, chociaż atrakcyjne przez prostotę (także obli czeniową, co w praktyce może być bardzo istotne), w zasadzie nie powinny być stosowane, jeśli dostępna moc obliczeniowa umożliwia stosowanie jakiejkolwiek zaawansowanej metody dyskretyzacji z nadzorem. Pomijając to, że nie uwzględ niają one rozkładu kategorii, są niezwykłe czułe na występujące w zbiorze trenują-
7.4. ZAGADNIENIA PRAKTYCZNE
421
cym wartości izolowane dyskretyzowanego atrybutu — nieliczne wartości znacz nie oddalone od zakresu, w którym znajduje się większość wartości — które mogą, chociaż nie muszą, wynikać z przekłamań. Dyskretyzując zarówno według równej szerokości, jak i według równej częstości, możemy spodziewać się niekorzystne go wpływu wartości izolowanych. W pierwszym przypadku, „rozciągając" zakres wartości obserwowanych w zbiorze trenującym, prowadzą przy ustalonej liczbie przedziałów do ich nadmiernej szerokości. W drugim przypadku rzadko występu jące wartości izolowane mogą znaleźć się w jednym szerokim przedziale z innymi wartościami, bardzo od nich odległymi. Stosując prymitywne metody dyskretyzacji dobrze jest więc wstępnie eliminować wartości izolowane. Wśród zaawansowanych metod dyskretyzacji z nadzorem żadna nie jest wy raźnie lepsza od pozostałych i wybór jest mniej istotny. Względy efektywności ob liczeniowej przemawiają raczej na rzecz metod zstępujących, chociaż odpowied nio staranna implementacja metod wstępujących może oddalić ten argument. 7.4.3
Liczba przedziałów dyskretyzacji
Mankamentem dyskretyzacji według równej szerokości lub częstości jest także to, że odpowiedzialność za wyznaczenie liczby przedziałów spada w całości na eksperymentatora. Metody zaawansowane umożliwiają jej określenie w zauto matyzowanych sposób na podstawie danych trenujących. Wymagają one jednak określenia parametrów wpływających na kryterium stopu, co także może być nie kiedy kłopotliwe. W szczególności algorytm ChiMerge ma tendecję do tworzenia większej liczby przedziałów dla dużych zbiorów trenujących. Można to tłumaczyć tym, że częściej się wtedy zdarzają przypadkowo zróżnicowane rozkłady katego rii w przyległych przedziałach, które w konsekwencji nie zostaną połączone. Aby zapobiec uzyskaniu zbyt wielu przedziałów, należy wobec tego używać wyższych poziomów istotności dla większych zbiorów danych, co z pewnością jest pewną praktyczną niedogodnością. 7.4.4
Atrybuty o nieznanej przeciwdziedzinie
Przy okazji omawiania najprostszych metod dyskretyzacji mówiliśmy o tym, że nie zawsze przeciwdziedzina dyskretyzowanego atrybutu jest znana. O ile w pew nych przypadkach wiadomo, że wartości dyskretyzowanego atrybutu na pewno znajdują się w pewnym ograniczonym przedziale ze względu na właściwości dzie dziny, o tyle w innych przypadkach brak takiej wiedzy może zmusić do przyjęcia dla atrybutu nieskończonej przeciwdziedziny. Często wprawdzie określa się przeciwdziedzinę po prostu na podstawie zbioru trenującego jako zakres występują cych w nim wartości, co jednak wystarcza do uczenia się, może nie wystarczyć do klasyfikowania nowych przykładów.
422
7.4.5
ROZDZIAŁ 7. PRZEKSZTAŁCANIE ATRYBUTÓW
Stosowanie konstruktywnej indukcji
Aby uzyskać praktycznie skuteczny system konstruktywnej indukcji, trzeba roz strzygnąć szereg problemów, które we wcześniejszej uproszczonej dyskusji nie zo stały poruszone w dostatecznym stopniu. Najważniejsza jest sygnalizowana w niej tylko kwestia oceny hipotez uzyskiwanych dla różnych reprezentacji i rozstrzy gnięcie, czy konstruktywna indukcja daje poprawę. Przy tej ocenie należy wziąć pod uwagę dokładność hipotezy, jej złożoność, a także liczbę i złożoność atrybu tów używanych do jej reprezentowania. Innym problemem jest efektywne prze szukiwanie niezwykle dużej przestrzeni możliwych do wykonania przekształceń, zarówno w przypadku konstruktywnej indukcji na podstawie danych, jak i kon struktywnej indukcji na podstawie hipotez. Na każdy szczególny rodzaj przekształcenia przestrzeni atrybutów, taki jak usunięcie wybranego atrybutu lub dodanie nowego atrybutu zdefiniowanego na podstawie wybranych atrybutów, można patrzeć jak na pewien operator. Takie operatory umożliwiają przemieszczanie się w przestrzeni (metaprzestrzeni) możli wych zestawów atrybutów. Ponieważ wszystkie możliwe do skonstruowania zesta wy nie mogą być wypróbowane i ocenione, dużego znaczenia nabiera strategia sto sowania operatorów, reprezentująca właściwy kompromis między jakością osta tecznie uzyskiwanego rozwiązania a ilością obliczeń niezbędnych do jego znale zienia. Zazwyczaj względy efektywności obliczeniowej muszą wziąć górę i stosuje się różne warianty strategii zachłannej, które nie muszą prowadzić do optymalnych końcowych zestawów artrybutów. Zgodnie z taką strategią ze zbioru możliwych do zastosowania operatorów wybiera się zazwyczaj jeden najlepszy według pewnej funkcji heurystycznej i powtarza to tak długo, jak długo zastosowanie wybranego operatora faktycznie daje poprawę. Trzeba tu odróżnić wstępną ocenę „atrakcyj ności" operatora, która musi być łatwa do obliczenia i stąd z konieczności prosta, gdyż obliczana dla dużej liczby możliwych operatorów, od późniejszej weryfika cji faktycznej skuteczności wybranego i zastosowanego operatora. W pierwszym przypadku sposób oceny wynika z charakteru uwzględnianych operatorów oraz nałożonych na nie kryteriów preferencji. W szczególności ze wszystkich atrybu tów możliwych do usunięcia jest wybierany atrybut o najniższym wskaźniku istot ności, agregację rozważa się w pierwszej kolejności dla atrybutów o dużej liczbie wartości itp. W drugim przypadku najlepszego kryterium oceny dostarcza efekt zastosowania zmodyfikowanej przez zastosowanie operatora przestrzeni atrybu tów do uczenia się, czyli wygenerowania kolejnej hipotezy. Poprawa jakości tej hipotezy świadczy o tym, że wybrany operator okazał się użyteczny. Taki sposób postępowania jest właściwy konstruktywnej indukcji na podstawie hipotez, która jednak może być połączona z konstruktywną indukcją na podstawie danych. Mi mo że schemat konstruktywnej indukcji na podstawie hipotez, przedstawiony jako algorytm 7.4, tego nie uwzględnia, warto zezwolić na wycofanie tych wprowa-
7.5. ZAGADNIENIA IMPLEMENTACYJNE
423
dzonych w poprzednim kroku przekształceń, których przydatności nie potwierdza ocena kolejnej uzyskanej hipotezy.
7.5 Zagadnienia implementacyjne Wszystkie algorytmy, które zostały w tym rozdziale przedstawione dokładnie, są na tyle proste, że z ich implementacją nie wiążą się poważniejsze problemy, zwłaszcza że niektóre z wykonywanych przez nie obliczeń znamy już z poprzed nich rozdziałów. Nie wymagają one żadnych nieoczywistych struktur danych ani technik programistycznych, a jedynie pewnej staranności, pozwalającej wykorzy stać szanse drobnych usprawnień poprawiających efektywność tam, gdzie takie szanse występują i nie pociągają za sobą nadmiernej komplikacji kodu. Ponieważ o implementacji algorytmów, które zostały tylko ogólnie naszkicowane lub zale dwie zasugerowane, w ogóle nie sposób sensownie mówić, ograniczymy się do wskazania najważniejszych usprawnień najdokładniej omówionych algorytmów dyskretyzacji zstępującej i wstępującej. Mają one oczywiście także zastosowanie do algorytmów agregacji opartych na tych samych schematach. 7.5.1
Implementacja dyskretyzacji zstępującej
Nieprzypadkowe oczywiście podobieństwo schematu zstępującej dyskretyzacji do schematu zstępującej konstrukcji drzewa powoduje, że część uwag implementycyjnych z rozdziału 3 znajduje tu bezpośrednie zastosowanie. Chodzi w szczegól ności o dwa zagadnienia: zapobiegający zbędnemu powielaniu obliczeń sposób wyznaczania wartości funkcji oceny dla poszczególnych wartości progowych oraz unikanie problemów, jakie w pewnych sytuacjach mogłyby wystąpić ze względu na rekurencyjne sformułowanie algorytmu. Spostrzeżenie dotyczące obliczania funkcji oceny dla testów nierównościowych w drzewach decyzyjnych stosuje się bez zmian do oceniania wartości pro gowych przy dyskretyzacji. Chodzi o to, aby oceniając różne wartości progowe 9 na podstawie \Pa^e\ i \Pa>e\ oraz P ^ J i \Pa>e\ dla o? G C wykorzystać szan sę poprawy efektywności, jaka występuje przy rozważaniu wszystkich możliwych wartości 0 konsekwentnie w kolejności rosnącej (albo malejącej). Wówczas, aby wyznaczyć odpowiednie liczniki dla kolejnej wartości progowej na podstawie tych liczników dla wartości poprzedniej, wystarczy uwzględnić przykłady trenujące, dla których wartość dyskretyzowanego atrybutu znajduje się w przedziale między tymi wartościami. Ta prosta obserwacja była w rozdziale 3 prezentowana nieco dokładniej i czytelnik może powrócić do odpowiedniego fragmentu. Przy każdej dyskretyzacji, a zstępującej w szczególności, dąży się do tego, aby liczba tworzonych przedziałów nie była zbyt duża, gdyż korzyści z niej wynikające
424
ROZDZIAŁ 7. PRZEKSZTAŁCANIE ATRYBUTÓW
mogą być wówczas znikome. W przypadku dyskretyzacji zstępującej można wręcz uniemożliwić tworzenie zbyt wielu przedziałów przez ograniczenie maksymalnej głębokości rekurencyjnych wywołań algorytmu, na wypadek gdyby inne składni ki kryterium stopu okazały się niewystarczające. W każdym razie można przyjąć, że głębokość rekurencji rzadko przekroczy kilka poziomów i nie ma powodu do obawy o problemy efektywnościowe związane bezpośrednio z rekurencją. Warto jednak i w tym przypadku zadbać o to, aby nie tracić czasu i pamięci na niepo trzebne przekazywanie w rekurencyjnych wywołaniach argumentów algorytmu, a w tym przypadku właściwie jednego argumentu, jakim jest zbiór przykładów, dla których następuje dyskretyzacja. Otóż powinno być jasne, że ze względów implementacyjnych faktyczne przekazywanie jakichkolwiek przykładów jest naj zupełniej zbędne. Mogą one być przechowywane w przyjęty sposób na zewnątrz funkcji dyskretyzującej, która musi mieć oczywiście do nich dostęp. Do poinfor mowania jej, które przykłady powinna w obecnym wywołaniu wykorzystywać, wystarczy przekazanie jej co najwyżej dwóch wartości progowych, ograniczają cych przedział dyskretyzowanego atrybutu, który ma być dalej podzielony. Jeśli na początku dyskretyzacji cały zbiór trenujący zostanie uporządkowany według wartości tego atrybutu, to wyznaczenie właściwych przykładów nie wymaga żad nych specjalnych struktur danych ani kosztownego przeszukiwania. 7.5.2
Implementacja dyskretyzacji wstępującej
Dyskretyzacja wstępująca sformułowana tak, jak przedstawia to algorytm 7.2, mo że być stosunkowo kosztowna. W jednej iteracji bierze się pod uwagę połącze nie każdych dwóch przyległych przedziałów. Każda iteracja zmniejsza też liczbę przedziałów dokładnie o jeden (zastępując wybrane dwa przedziały jednym no wym). Ponieważ zaś początkowo przedziałów jest tyle, ile różnych wartości dys kretyzowanego atrybutu w zbiorze trenującym, czyli w realnych zastosowaniach z pewnością dużo, cały proces dyskretyzacji może istotnie wymagać dużo obli czeń, przypuszczalnie zdecydowanie więcej niż dla tych samych danych potrzebo wałaby dyskretyzacja zstępująca. Częściowo przynajmniej można te mankamenty wyeliminować przez odpowiednią implementację. Kwestia najbardziej oczywista dotyczy unikania wielokrotnego obliczania war tości funkcji oceny dla tych samych par przedziałów. Jeśli w każdej iteracji ocenia na jest ze względu na użyteczność połączenia każda para, a faktyczne połączenie następuje tylko dla jednej z nich, to w kolejnej iteracji na nowo jest potrzebna tylko ocena co najwyżej dwóch par przedziałów, w skład których wchodzi przedział no wo utworzony. Dla wszystkich pozostałych par przedziałów wartość funkcji oceny w kolejnej iteracji nie ulega zmianie, więc zamiast ją za każdym razem na nowo obliczać, lepiej ją po jednokrotnym obliczeniu zapamiętać i sięgać do niej w razie potrzeby.
7.6. PODSUMOWANIE
425
Skoro dla większości par przedziałów ocena nie ulega zmianie z iteracji na iterację, nietrudno dojść do wniosku, że w trakcie jednej iteracji można dokonać połączenia dla więcej niż jednej pary. Nie chodzi tu o tworzenie jednego przedziału przez połączenie większej niż dwa liczby przyległych przedziałów, czyli o podej ście wcześniej już rozważane i raczej odradzane, lecz o utworzenie wielu nowych przedziałów przez połączenie wielu par. W tym celu zmiast znajdować każdora zowo jedną parę przedziałów, których połączenie powinno nastąpić ze względu na wartość funkcji oceny, można szeregować według wartości tej funkcji wszyst kie pary przyległych przedziałów i wybierać do połączenia pary w kolejności te go uszeregowania. Za każdym razem występuje konieczność wyznaczenia funkcji oceny dla co najwyżej dwóch par, w skład których wchodzi nowy przedział, co umożliwia umieszczenie ich w uporządkowanym zbiorze par na właściwej pozycji. Mogą się do tego przydać struktury danych stosowane do implementacji kolejek priorytetowych, gdyż właśnie z taką kolejką mamy w tym przypadku do czynienia — pary przedziałów wybierane są w kolejności wyznaczonej przez wartości funk cji oceny. Do takich struktur danych należy w szczególności stóg, o których była już krótko mowa w rozdziale 4. Warto na koniec zauważyć, że obliczanie funk cji oceny dla nowych par, czyli tych, w których skład wchodzi nowo utworzony przedział, może być usprawnione dzięki oczywistym zależnościom: PaAUh =Pa1I1UPaJ2>
( 7 - 41 )
Khui2=KhuK^
( 7 - 42 >
które zachodzą dla dowolnego atrybutu a : X »->• A, przedziałów /1,/2 C A oraz kategorii d G C. Jeśli więc liczby \Pa,ii\ oraz \Pai\ dla i G {1,2} byłyby w pewien sposób przechowywane, to dzięki rozłączności przedziałów I\ i /2 licz by charakteryzujące połączony przedział można byłoby wyznaczyć przez zwykłe dodawanie.
7.6 Podsumowanie ^
Atrybuty określone na dziedzinie można zmieniać, usuwając niektóre z nich lub wprowadzając nowe zależne funkcyjnie od dotychczasowych. Nie zwięk sza to ilości informacji dostępnej o przykładach, a tym samym nie może roz szerzyć przestrzeni hipotez. ^ Przekształcenie przestrzeni atrybutów może ułatwić uczenie się dzięki wpro wadzeniu dodatkowego obciążenia reprezentacji, zawężającego przestrzeń hi potez, lub zmianie obciążenia preferencji, dzięki której preferowane przez sto sowany algorytm uczenia się hipotezy będą lepsze. Może to zaowocować więk szą efektywnością procesu uczenia się i jakością uzyskiwanych hipotez.
426
ROZDZIAŁ 7. PRZEKSZTAŁCANIE ATRYBUTÓW
CH Szczególnym rodzajem przekształcenia jest dyskretyzacja atrybutów ciągłych, polegająca na zastąpieniu ich atrybutami porządkowymi o skończonej, niezbyt wielkiej liczbie wartości, odpowiadających przedziałom ich ciągłych przeciwdziedzin. ^ Dzięki dyskretyzacji do dziedzin z atrybutami ciągłymi mogą być stosowa ne algorytmy uczenia się, dopuszczające atrybuty dyskretne, zaś efektywność i skuteczność algorytmów, które używają atrybutów ciągłych bezpośrednio, mogą ulec poprawie. S-> Globalne metody dyskretyzacji dzielą przeciwdziedzinę każdego dyskretyzowanego atrybutu niezależnie od wartości innych atrybutów na takie same prze działy na całej dziedzinie. Metody lokalne mogą stosować różne podziały dla różnych części dziedziny, czyli uzależniać sposób dyskretyzacji każdego atry butu od wartości niektórych lub wszystkich innych atrybutów. Metody lokalne mogą umożliwić uzyskanie lepszych efektów, lecz wymagają bardziej zaawan sowanych i kosztownych algorytmów. S^ Metody dyskretyzacji z nadzorem wykorzystują zbiory przykładów etykieto wanych i przy podziale zakresu wartości dyskretyzowanego atrybutu na podprzedziały uwzględniają rozkład kategorii. Metody dyskretyzacji bez nadzoru nie wykorzystują etykiet przykładów i nie wymagają, aby były one dostęp ne. Jeśli po dyskretyzacji zmodyfikowana przestrzeń atrybutów ma służyć do uczenia się pojęć, to należy w miarę możliwości stosować metody z nadzorem. R-> Prymitywne metody dyskretyzacji polegają na podziale przeciwdziedziny atry butu na podprzedziały według pewnego prostego kryterium, nie uwględniąjącego lub uwzględniającego w znikomym stopniu rozkład ich wartości i katego rii w zbiorze trenującym. Do takich metod należą dyskretyzacja według równej szerokości i dyskretyzacja według równej częstości. °r> Zaawansowane metody dyskretyzacji na ogół można zaklasyfikować jako zstę pujące, które rozpoczynając od jednego przedziału dzielą go na podprzedziały kolejno wybieranymi wartościami progowymi, lub wstępujące, które rozpo czynają od wielu małych przedziałów i wielokrotnie łączą wybrane przyległe przedziały w jeden większy. Poszczególne algorytmy obu rodzajów różnią się przede wszystkim kryteriami wyboru punktu podziału przedziału lub wyboru przedziałów do połączenia. ^ Algorytm zstępującej minimalizacji entropii przeprowadza dyskretyzację zstępująco, używając teorioinformacyjnych heurystyk do wyboru punktów podzia łu (wartości progowych), aby w podprzedziałach uzyskać maksymalnie nie równomierny rozkład kategorii. 9-* Algorytm ChiMerge przeprowadza dyskretyzację wstępująco, używając staty styki x2 do wyboru przedziałów, które należy połączyć jako nie różniące się w statystycznie istotny sposób rozkładem kategorii.
7.7. UWAGI HISTORYCZNE I BIBLIOGRAFICZNE
427
4-> Analogicznie do dyskretyzacji atrybutów ciągłych może być przeprowadzona agregacja atrybutów porządkowych, powodująca zastąpienie kilku kolejnych wartości jedną nową wartością. 9-» Inne rodzaje przekształcania przestrzeni atrybutów są nazywane konstruktyw ną indukcją i mogą obejmować usuwanie nieistotnych atrybutów, dodawanie nowych atrybutów zależnych funkcyjnie od dotychczasowych oraz zastępowa nie atrybutów nowymi atrybutami. ^ Ze względu na sposób określania właściwych przekształceń wyróżnia się kon struktywną indukcję na podstawie danych, konstruktywną indukcję na podsta wie wiedzy i konstruktywną indukcję na podstawie hipotez. °K Konstruktywna indukcja na podstawie danych wykorzystuje statystyczną ana lizę zbioru trenującego do identyfikacji możliwych do usunięcia nieistotnych atrybutów lub zależności funkcyjnych umożliwiających wprowadzenie nowych atrybutów. S-> Konstruktywna indukcja na podstawie hipotez polega na stosowaniu pewnego algorytmu uczenia się dla aktualnej przestrzeni atrybutów i następnie analizo waniu uzyskanej hipotezy w poszukiwaniu regularności, które mogą zasugero wać usunięcie lub dodanie atrybutów.
7.7 Uwagi historyczne i bibliograficzne Świadomość znaczenia przestrzeni atrybutów dla skuteczności uczenia się pojęć towarzyszy ich badaniom niemal od początku, chociaż z intensyfikacją prac nad jej automatyczną modyfikacją mamy do czynienia przede wszystkim od drugiej połowy lat osiemdziesiątych. W latach dziewięćdziesiątych przekształcenia prze strzeni atrybutów pozostają jednym z istotnych problemów badawczych i uważa się, że postęp w tej dziedzinie ma zasadnicze znaczenie dla sukcesu indukcyjnych systemów uczących się w „trudnych" zastosowaniach, kiedy duża ilość rzeczywi stych danych trenujących i ograniczona wiedza o dziedzinie wymagają znacznego stopnia autonomii i uniwersalności, przejawiającej się między innymi w możliwo ści wykorzystywania różnych typów atrybutów, wybierania atrybutów najbardziej przydatnych i odrzucania nieistotnych oraz konstruowania nowych atrybutów le piej nadających się do reprezentowania hipotez o wysokiej jakości. Oczywiście jak każdy aktywny obszar badań, rozwój metod przekształcania atrybutów przycią ga naukowców wciąż znaczną liczbą otwartych problemów teoretycznych i prak tycznych oraz potencjalnie dużą skalą praktycznej poprawy skuteczności uczenia się pojęć, jaka może być osiągnięta dzięki rozwiązaniu tych problemów. Niestety, to co jest błogosławieństwem dla badaczy, pozostaje przekleństwem dla autorów podręczników, którzy nie są w stanie należycie usystematyzować obszaru, w któ rym weryfikacja poszczególnych koncepcji nie nastąpiła jeszcze w wystarczają-
428
ROZDZIAŁ 7. PRZEKSZTAŁCANIE ATRYBUTÓW
cym stopniu i gdzie ich różnorodność utrudnia przyjęcie wspólnej perspektywy. Jeśli więc ten rozdział nie całkiem zaspokaja oczekiwania czytelnika, może ze chce on uznać chociaż w części powyższe okoliczności łagodzące oraz wziąć pod uwagę, że w większości dostępnych obecnie na świecie podręczników poświęco nych uczeniu się maszyn, o ile nie we wszystkich, nie ma w ogóle rozdziałów poświęconych przekształcaniu atrybutów. Z pewnością najbardziej podstawowym i najlepiej zrozumianym, co nie mu si wszakże oznaczać koniecznie, że najprostszym do realizacji, rodzajem prze kształceń przestrzeni atrybutów jest dyskretyzacja atrybutów ciągłych. Tym bar dziej zaskakuje, że doczekał się on poważnego zainteresowania naukowców do piero stosunkowo niedawno, podczas gdy wcześniej niepodzielnie niemal pano wały prymitywne podejścia, takie jak dyskretyzacja według równej szerokości lub równej częstości. Zstępujący algorytm dyskretyzacji, wykorzystujący entropię do wyboru wartości progowych i silnie inspirowany popularnymi algorytmami in dukcji drzew decyzyjnych, przedstawił Catlett [39]. Jedną z bardziej zaawanso wanych realizacji tego podejścia jest metoda dyskretyzacji opisana przez Fayyada i Iraniego [78] w wersji lokalnej, w której wykorzystano do sformułowania kry terium stopu zasadę minimalnej długości kodu. Algorytm ChiMerge, najbardziej znany reprezentant wstępujących metod dyskretyzacji, pochodzi od Kerbera [117]. Krótki opis wybranych zstępujących i wstępujących metod dyskretyzacji oraz wy niki porównawczych eksperymentów przedstawiają Dougherty, Kohavi i Sahami [73]. Różnią się one oczywiście przede wszystkim, stosowanymi do podejmowania decyzji o podziale lub połączeniu przedziałów, heurystykami oceniającymi oraz kryteriami stopu. Ogólną metodę dyskretyzacji, wykorzystującą zasadę minimal nej długości kodu do podejmowania obydwu rodzajów decyzji, opisał Pfahringer [200]. Odmienne techniki dyskretyzacji globalnej z nadzorem opisują Chmielew ski i Grzymała-Busse [46], przedstawiając sposób modyfikacji dyskretyzacji we dług równej częstości w celu uwzględnienia rozkładu kategorii przykładów. Ada ptacyjna kwantyzacja opisana przez Chana, Batura i Srinivasana [41] może być uznana za swego rodzaju metodę dyskretyzacji na podstawie hipotez — podstawą do podziału przedziałów jest testowanie hipotez uzyskanych przy ich wykorzy staniu. Na podprzedziały są dzielone te przedziały, dla których hipoteza osiąga największy błąd. Koncepcja konstruktywnej indukcji jako szeroko rozumianego przekształcania reprezentacji przykładów używanych do uczenia się pojęć pochodzi przypuszczal nie od Michalskiego, który po raz kolejny okazuje się pionierem zasadniczych nurtów badań nad indukcyjnymi systemami uczącymi się. Dyskusji roli, jaką mo że mieć konstruktywna indukcja w uczeniu się „trudnych" pojęć, wymagających odpowiednio starannie dobranych przestrzeni atrybutów, jest poświęcony artykuł Rendella [217]. W pewne elementy konstruktywnej indukcji były wyposażone róż ne wersje systemu INDUCE [148]. Późniejsze lata przyniosły więcej systemów re-
7.8. ĆWICZENIA
429
alizujących różne rodzaje przekształceń przestrzeni atrybutów i ukształtowanie się podziału na konstruktywną indukcję na podstawie wiedzy, na podstawie danych i na podstawie hipotez. Obszerny przegląd i próbę systematyzacji metod z pierw szej grupy stanowi rozprawa [72]. Drugą grupę reprezentuje między innymi system STAGGER Schlimmera [239, 238] i system AQ17-DCI opisany przez Bloedorna i Michalskiego [21]. Istotnym dla tego typu metod konstruktywnej indukcji proble mem wykrywania atrybutów nieistotnych oraz wybierania podzbiorów atrybutów istotnych zajmują się John, Kohavi i Pfleger [108]. Do prototypowych systemów konstruktywnej indukcji na podstawie hipotez należy przedstawiony przez Wnęka [286] oraz Wnęka i Michalskiego [288] system AQ17-HCI. Jej innym reprezen tantem jest system FRINGE, opisany przez Pagallo i Hausslera [190], który anali zuje hipotezy reprezentowane przez drzewa decyzyjne. Również metoda Matheusa i Rendella [139] wykorzystuje występujące w drzewach decyzyjnych wzorce, czyli powtarzające się wielokrotnie poddrzewa, do konstruowania nowych atrybutów. Wiodącym podejściem do konstruktywnej indukcji staje się od pewnego czasu łączenie elementów jej trzech główych rodzajów. Analizę danych trenujących oraz analizę hipotez wykorzystuje między innymi system STABB, opracowany przez Utgoffa [266, 267]. Cechy tych obu rodzajów konstruktywnej indukcji występu ją także w systemie opisanym przez Kramera [123], który na podstawie danych trenujących konstruuje nowe binarne atrybuty dla tych par oryginalnych atrybu tów, które są często łącznie używane w regułach wygenerowanych przez system CN210. Atrybuty takie są następnie weryfikowane w kolejnej iteracji algorytmu, kiedy używa się ich do uczenia się nowego zbioru reguł. System CiPF 2.0 Pfahringera [199] ma podobną konstrukcję, przy czym jego cechą charakterystyczną jest ocena jakości wprowadzanych przekształceń przestrzeni atrybutów za pomocą zasady minimalnej długości kodu. System AQ17-MCI Bloedorna, Michalskiego i Wnęka [22] łączy wszystkie trzy rodzaje konstruktywnej indukcji, wykorzystu jąc wiedzę wrodzoną, analizę danych trenujących oraz analizę hipotez.
7.8 Ćwiczenia Ćwiczenie 7.1. Zastosuj algorytm zstępującej konstrukcji drzew decyzyjnych do zbioru przykładów trenujących, dotyczących klasyfikacji stanów pogody, po jego uprzednim rzutowaniu na zmodyfikowane przestrzenie atrybutów podane w przykładzie 7.2. Po równaj rozmiar uzyskanych drzew oraz ilość wykonanych obliczeń z przedstawionymi w przykładzie 3.7. Ćwiczenie 7.2. Zastosuj algorytm AQ do zbioru przykładów trenujących, dotyczących klasyfikacji stanów pogody, po jego uprzednim rzutowaniu na zmodyfikowane prze10
Używanie oznacza tu, że dla obu atrybutów jednocześnie występują selektory nieuniwersalne w jednym lub większej liczbie kompleksów.
430
ROZDZIAŁ 7. PRZEKSZTAŁCANIE ATRYBUTÓW
strzenie atrybutów podane w przykładzie 7.2. Porównaj złożoność uzyskanych zbio rów reguł oraz ilość wykonanych obliczeń z przedstawionymi w przykładzie 4.7. Ćwiczenie 7.3. Zastosuj algorytm CN2 do zbioru przykładów trenujących, dotyczących klasyfikacji stanów pogody, po jego uprzednim rzutowaniu na zmodyfikowane prze strzenie atrybutów podane w przykładzie 7.2. Porównaj złożoność uzyskanych zbio rów reguł oraz ilość wykonanych obliczeń z przedstawionymi w przykładzie 4.9. Ćwiczenie 7.4. Zastosuj naiwny klasyfikator bayesowski do zbioru przykładów trenu jących, dotyczących klasyfikacji stanów pogody, po jego uprzednim rzutowaniu na zmodyfikowane przestrzenie atrybutów podane w przykładzie 7.2. Porównaj liczbę szacowanych prawdopodobieństw i uzyskane błędy próbki na zbiorach trenujących z otrzymanymi w przykładzie 5.3. Ćwiczenie 7.5. Zastosuj algorytm COBWEB do zbioru przykładów trenujących, doty czących klasyfikacji stanów pogody, po jego uprzednim rzutowaniu na zmodyfikowa ne przestrzenie atrybutów podane w przykładzie 7.2. Porównaj uzyskane grupowania i ilość wykonanych obliczeń z przedstawionymi w przykładzie 6.4. Traktując węzły poziomu 1 jako hipotezę do uczenia się z nadzorem, porównaj jej błąd próbki na zbio rze trenującym z uzyskanym w przykładzie 6.6. Ćwiczenie 7.6. Rozważ różne możliwe podejścia do dyskretyzacji według równej sze rokości w przypadku atrybutów o przeciwdziedzinach jednostronnie lub obustronnie nieograniczonych. Ćwiczenie 7.7. Zapisz zmodyfikowaną wersję algorytmu ChiMerge, w której w każdej iteracji łączy się ustaloną liczbę k ^ 2 przyległych przedziałów i podaj odpowiedni wzór określający statystykę x2 używaną przez taką wersję algorytmu do podejmowa nia decyzji o połączeniu przedziałów. Ćwiczenie 7.8. Oblicz współczynniki V Cramera dla wszystkich par atrybutów określo nych na dziedzinie stanów pogody na podstawie zbioru przykładów przedstawionego w tabl. 2.2, pomijając fakt, że zbyt mała liczba przykładów uniemożliwia wiarygodne wykrywanie zależności atrybutów. Ćwiczenie 7.9. Oblicz współczynniki V Cramera dla wszystkich par atrybutów okre ślonych na dziedzinie modeli samochodów na podstawie zbioru przykładów przed stawionego w tabl. 2.4, pomijając fakt, że zbyt mała liczba przykładów uniemożliwia wiarygodne wykrywanie zależności atrybutów. Ćwiczenie 7.10. Zaproponuj heurystyczny algorytm eliminacji nieistotnych atrybutów uwzględniający zależności wyższych rzędów. Ćwiczenie 7.11. Zaproponuj przekształcenia zestawu atrybutów dla dziedziny stanów pogody na podstawie analizy drzewa decyzyjnego podanego w przykładzie 3.1. Dla zmodyfikowanej przestrzeni atrybutów prześledź proces konstruowania nowego drze wa decyzyjnego za pomocą algorytmu ID3, czyli powtórz przykład 3.7.
7.8. ĆWICZENIA
431
Ćwiczenie 7.12. Zaproponuj przekształcenia zestawu atrybutów dla dziedziny stanów pogody na podstawie analizy zbioru reguł podanego w przykładzie 4.3. Dla zmodyfi kowanej przestrzeni atrybutów prześledź proces konstruowania nowego zbioru reguł za pomocą algorytmu AQ, czyli powtórz przykład 4.7. Ćwiczenie 7.13. Zmodyfikuj udostępnioną implementację algorytmu ChiMerge, zastę pując zastosowaną w nim funkcję oceny wykorzystującą statystykę x2 funkcją opartą na zasadzie minimalnej długości kodu. Ćwiczenie 7.14. Zmodyfikuj udostępnioną implementację algorytmu ChiMerge w spo sób opracowany w ćwiczeniu 7.7, wprowadzając możliwość łączenia w każdej iteracji k ^> 2 przyległych przedziałów. Ćwiczenie 7.15. Zmodyfikuj udostępnioną implementację algorytmów dyskretyzacji, umożliwiając wykorzystanie jej do agregacji atrybutów porządkowych. Ćwiczenie 7.16. Zaimplementuj algorytm dyskretyzacji zstępującej, w którym wyko rzystuje się entropię do podejmowania dezycji o podziale przedziałów. Ćwiczenie 7.17. Przeprowadź eksperymenty z udostępnioną implementacją algorytmów dyskretyzacji, stosując ją dla różnych ustawień parametrów do udostępnionych da nych z atrybutami ciągłymi. Za miarę jakości dyskretyzacji przyjmij jakość hipotez uzyskanych na podstawie zdyskretyzowanych danych przez dostępne programy ucze nia się pojęć. Ćwiczenie 7.18. Porównaj eksperymentalnie udostępnioną implementację algorytmu ChiMerge oraz jej opracowaną w ćwiczeniu 7.13 zmodyfikowaną wersję, wykorzy stującą zasadę minimalnej długości kodu, stosując je do dyskretyzacji udostępnionych zbiorów danych. Za miarę jakości dyskretyzacji przyjmij jakość hipotez uzyskanych na podstawie zdyskretyzowanych danych przez dostępne programy uczenia się pojęć. Ćwiczenie 7.19. Porównaj eksperymentalnie działanie udostępnionej implementacji al gorytmu ChiMerge oraz jej opracowanej w ćwiczeniu 7.14 zmodyfikowanej wersji łączącej jednorazowo k przyległych przedziałów dla k = 3, 5, 7,10 ze względu na nakład obliczeń i liczbę tworzonych przedziałów oraz jakość dyskretyzacji. Za miarę jakości dyskretyzacji przyjmij jakość hipotez uzyskanych na podstawie zdyskretyzo wanych danych przez dostępne programy uczenia się pojęć.
Rozdział o
Uczenie się aproksymacji funkcji And it's too łatę to łose the weight You used to need to throw around1 — Mc podobnego, jest cztery, bądź tak dobra, popraw się! Ile jest dwa a dwa? — SIEDEM/ — odparła maszyna niezwłocznie2.
Ten rozdział jest poświęcony trzeciemu z głównych rodzajów indukcyjnego ucze nia się, czyli uczeniu się aproksymacji funkcji. Będziemy rozważać uczenie się odwzorowań przykładów z pewnej dziedziny na przeciwdziedzinę, będącą zbio rem liczb rzeczywistych. Przykłady będą, jak dotychczas, opisywane za pomocą atrybutów, lecz najczęściej przyjmowane będzie dodatkowo założenie, że są to wyłącznie atrybuty ciągłe, tu nazywane cechami. Przegląd uczących się aproksymatorów funkcji rozpocznie się od pewnej ich ogólnej klasy, opartej na reprezen tacji parametrycznej, do której należy wiele popularnych konkretnych algorytmów aproksymacji. Charakteryzuje się ona tym, że aproksymowana funkcja jest repre zentowana za pomocą wektora rzeczywistych parametrów, a działanie algorytmu uczenia się polega na modyfikowaniu tych parametrów na podstawie danych tre nujących. Szczególnym rodzajem aproksymatorów parametrycznych, którym po święcimy najwięcej uwagi, będą algorytmy wykorzystujące rozszerzoną reprezen tację. Zostaną przedstawione wybrane metody generowania rozszerzonych cech, w szczególności odwzorowanie randomizowane oraz rozproszone przybliżone ko dowanie. Drugą klasą metod aproksymacji, jaką tu omówimy, są metody pamię ciowe. Zgodnie z zasadą „leniwego uczenia się" zapamiętują one przykłady trenu jące, odkładając ich przetwarzanie do czasu, gdy zostanie zgłoszone zapytanie — żądanie odtworzenia wartości aproksymowanej funkcji dla konkretnego argumen tu. Wówczas jest ona wyznaczana na podstawie zapamiętanych wartości funkcji dla przykładów trenujących bliskich przykładowi, którego dotyczy zapytanie. Zaj miemy się także krótko symbolicznymi algorytmami uczenia się aproksymacji, wykorzystującymi niektóre techniki stosowane do uczenia się pojęć.
]
Dogs (Pink Floyd: Animals). Maszyna Truda.
2
8.1. ZADANIE APROKSYMACJI
8.1
433
Zadanie aproksymacji
Zadanie aproksymacji odwzorowań znajduje się na pozór na peryferiach maszy nowego uczenia się. O ile poświęca mu się niezwykle wiele uwagi w literaturze dotyczącej sieci neuronowych, a więc szczególnego rodzaju systemów uczących się, o tyle jest ono nierzadko pomijane w opracowaniach traktujących o uczeniu się rozumianym szeroko, tak jak w tej książce. Tutaj chcemy o aproksymacji pisać przynajmniej z dwóch podstawowych powodów. Po pierwsze, sieci neuronowe nie są jedynymi uczącymi się aproksymatorami funkcji i mimo ich wielu zalet niekie dy nieco inne podejścia mogą okazać się bardziej skuteczne. Po drugie, niewiele innych rodzajów uczenia się znalazło do tej pory tak szerokie i poważne zastoso wania praktyczne jak uczenie się aproksymacji funkcji. Uczenie się aproksymacji funkcji jest, obok uczenia się pojęć oraz tworzenia pojęć, trzecim głównym rodzajem indukcyjnego uczenia się. Przyjmiemy sformu łowanie zadania aproksymacji oraz związane z nim konwencje terminologiczne i notacyjne wprowadzone w rozdziale 2. Aby móc dostatecznie szczegółowo i ści śle przedstawić wybrane algorytmy uczenia się aproksymacji, będziemy musieli wprowadzić w tym zakresie pewne uzupełnienia, którym jest poświęcony ten pod rozdział. 8.1.1
Cechy przykładów
Jak zwykle będziemy rozważać pewną dziedzinę Xy o której w najbardziej ogól nym przypadku nie ma potrzeby niczego szczególnego zakładać. Bardziej jednak od charakteru samej dziedziny będzie nas interesować reprezentacja należących do niej przykładów. Tak jak dotychczas przyjmiemy, że są one opisywane za pomocą pewnych atrybutów określonych na dziedzinie. Jednak w przypadku większości metod aproksymacji funkcji, o których będzie dalej mowa, konieczne jest ogra niczenie się do atrybutów o wartościach ciągłych, których przeciwdziedziną jest zbiór liczb rzeczywistych lub pewien przedział zawarty w tym zbiorze. Wówczas dla podkreślenia faktu, że dopuszczalne są tylko takie atrybuty, będziemy nazy wać je cechami3. Każdy przykład x E X będzie wtedy reprezentowany za po mocą wektora rzeczywistoliczbowych cech n-i(x)t które tym razem z przyczyn technicznych wygodniej będzie nam numerować zaczynając od 0, aby pozostawić cechę o numerze n jako funkcję stałą, dla każdego x G X przyjmując n{x) — 1. Dla niektórych aproksymatorów będziemy zakładać, że ta dodatkowa cecha jest określona i używana do opisu przykładów, a dla niektó rych nie będzie to potrzebne. Powody tego zabiegu wyjaśnią się w dalszej części rozdziału. W każdym przypadku zbiór wszystkich cech będzie oznaczany przez $. 3 Jest to konwencja przyjmowana wyłącznie na użytek tej książki. Zazwyczaj terminy „atrybut" i „cecha" są używane wymiennie.
434
ROZDZIAŁ 8. UCZENIE SIĘ APROKSYMACJI FUNKCJI
Formalnie rzecz biorąc, każda cecha jest funkcją ^ : 1 H> $^ C 3J dla i — 0 , 1 , . . . , n. Przeciwdziedzina cechy <^, oznaczana przez $^, może być całym zbiorem liczb rzeczywistych lub zawartym w nim przedziałem. Dla przykładu x dotychczasowe konwencje notacyjne nakazywałyby jego wektor cech oznaczać przez (#)$, lecz tym razem wygodniej będzie nam pisać po prostu (x) będzie oznaczać wektor (0oOz), (pi ( x ) , . . . , 0 n -iOr), (j>n{x)).
(8.1)
Elementy wszystkich innych wektorów także będą numerowane od 0. Przy wek torowym zapisie operacji algebraicznych wektory muszą być niekiedy traktowane jako macierze złożone z jednej kolumny lub jednego wiersza. Nie ma istotnego znaczenia, która z tych możliwości zostanie przyjęta, byle była stosowana konse kwentnie. Dla ustalenia uwagi wybierzemy pierwszą z nich, ilekroć więc wektor będzie musiał być potraktowany jako macierz, będzie to macierz złożona z jednej kolumny o liczbie wierszy równej długości wektora. 8.1.2
Aproksymowane odwzorowanie
W ogólnym przypadku można brać pod uwagę aproksymację dowolnego odwzo rowania dziedziny na zbiór 5ftm, które każdemu przykładowi przyporządkowuje pewien m-elementowy wektor liczb rzeczywistych. Jednak ograniczenie się wy łącznie do m = 1, jak to zostało przyjęte w rozdziale 2, nie zmniejsza zanadto, wbrew temu co mogłoby się wydawać, ogólności rozważań i także w tym rozdzia le będziemy brać pod uwagę funkcję docelową / : X ^ 9¾. Można w ten sposób postąpić, gdyż aproksymator funkcji / : X \-> W1 dla m > 1 można uzyskać „składając" m aproksymatorów funkcji fi : X i-» 3¾ dla i = 1,2,... ,m, przy czym fi(x) jest i-tym elementem wektora f(x). Tymczasem założenie o tym, że wartościami funkcji docelowej są liczby, anie wektory, upraszcza notacyjnie zapis matematycznych formuł, będących podstawą niektórych algorytmów aproksyma cji. Umożliwia ono także przyjęcie bez zmian podanych w rozdziale 2 definicji błędów aproksymacji: względnego błędu próbki i względnego błędu rzeczywiste go, a także odpowiednich błędów średniokwadratowych.
8.1. ZADANIE APROKSYMACJI
8.1.3
435
Ocena hipotez
Tak samo jak w przypadku uczenia się pojęć, naturalnym i podstawowym kryte rium oceny hipotez pozostaje również dla uczenia się aproksymacji funkcji ich błąd rzeczywisty, który jednak nie może być w praktyce wyznaczony. W zamian będziemy więc także w tym przypadku posługiwać się błędami próbki. Błąd prób ki na dostatecznie dużym zbiorze przykładów wybranych niezależnie od ocenianej hipotezy także w tym przypadku jest najbardziej prawdopodobną wartością jej błę du rzeczywistego. Nie ma zasadniczego znaczenia, czy posługujemy się oceniając hipotezy błędem względnym czy średniokwadratowym — minimalizacja jednego z nich pociąga za sobą minimalizację drugiego. Błąd średniokwadratowy okazu je się czasem wygodniejszy ze względów matematycznych, o czym będziemy się mieli okazję przekonać. Błąd próbki nie musi być jedynym kryterium oceny jakości hipotez, a błąd próbki wyznaczany na zbiorze trenującym wręcz nie powinien być takim kryte rium, gdyż problem nadmiernego dopasowania dotyczy uczenia się aproksymacji funkcji w nie mniejszym stopniu niż uczenia się pojęć. Jak zwykle w takich sytu acjach, bierze się pod uwagę również złożoność hipotez, preferując hipotezy prost sze jako obarczone mniejszym prawdopodobieństwem nadmiernego dopasowania. Ponieważ dla wielu aproksymatorów funkcji hipotezy są reprezentowane w ten czy inny sposób za pomocą pewnego zbioru liczb rzeczywistych, najbardziej natural ną miarą złożoności jest po prostu rozmiar tego zbioru, który możemy nazwać rozmiarem hipotezy. Umożliwia to w pewnym zakresie porównywanie złożoności hipotez wyznaczanych przez różne algorytmy uczenia się aproksymacji, w szcze gólności różniące się reprezentacją hipotez. Niestety, o ile w przypadku większości algorytmów uczenia się pojęć przeszukiwana przez nie przestrzeń hipotez zawiera hipotezy o różnej złożoności i algorytm (a w szczególności jego obciążenie pre ferencji) zadecyduje o wyborze jednej z nich, o tyle dla wielu aproksymatorów funkcji złożoność wszystkich rozpatrywanych hipotez jest jednakowa i ustalona przez parametry aproksymatora, dobierane przez eksperymentatora. W tym zatem przypadku złożoność jest uwzględniana za pomocą obciążenia reprezentacji — al gorytm może reprezentować tylko hipotezy o ustalonym rozmiarze i wówczas ma wybrać spośród nich taką, która minimalizuje błąd na zbiorze trenującym. Problem dobrania tego rozmiaru, tak aby ryzyko nadmiernego dopasowania było niewiel kie, nie jest najczęściej rozwiązywany w żaden zautomatyzowany sposób. 8.1.4
Tryby i szybkość uczenia się
W rozdziale 2 dla wszystkich rodzajów indukcyjnego uczenia się wyróżniliśmy cztery podstawowe tryby uczenia się: wsadowy, inkrementacyjny, epokowy i ko rekcyjny. Każdy z nich może być stosowany do uczenia się aproksymacji funkcji.
436
ROZDZIAŁ 8. UCZENIE SIĘ APROKSYMACJI FUNKCJI
Ze względu jednak na charakter znacznej części aproksymatorów funkcji rozróż nienie tych trybów nabiera w ich przypadku szczególnego znaczenia. Otóż wiele algorytmów aproksymacji do wyznaczenia hipotezy dobrze przybliżającej funkcję docelową może wymagać wielokrotnego przetwarzania całego zbioru trenującego, oczywiście jeśli jest on skończony i znany w całości. Możemy więc powiedzieć, że proces uczenia się w naturalny sposób jest podzielony na pewną liczbę cykli, z których każdy obejmuje jednokrotne przetwarzanie każdego przykładu trenują cego. Wówczas najbardziej naturalny wydaje się tryb epokowy, w którym każda epoka odpowiadałaby jednokrotnemu przetworzeniu zbioru trenującego, czyli jed nemu cyklowi. Przyjmiemy wówczas, że modyfikacja hipotezy następuje po każ dej epoce. Tryb wsadowy, w którym również może być niezbędne wielokrotne przetwarzanie przykładów trenujących, różni się od epokowego tym, że modyfi kacja hipotezy następuje jednorazowo po zakończeniu ostatniego cyklu. Jest on zdecydowanie rzadziej stosowany4, gdyż zazwyczaj podstawą do określenia wy maganej liczby cykli jest ocena dokładności uzyskanej dotychczas hipotezy, która w związku z tym powinna być znana po każdym, a nie tylko ostatnim cyklu. Znaczna część algorytmów aproksymacji umożliwia jednak także uczenie się w trybie inkrementacyjnym lub, będącym jego szczególną odmianą, trybie korek cyjnym. Oznacza to modyfikację hipotezy po przetworzeniu każdego przykładu trenującego. Nie ma wówczas znaczenia, czy mamy do czynienia z ustalonym z góry zbiorem trenującym, którego przykłady w pewnej kolejności są dostar czane uczniowi być może wielokrotnie, czy też ze źródłem przykładów trenują cych, których liczba może nie być z góry ograniczona. Ze względów praktycz nych aproksymatory inkrementacyjne są szczególnie interesujące i zajmą w tym rozdziale szczególne miejsce. Do sformułowania algorytmów aproksymacji w try bie inkrementacyjnym wystarczy określenie sposobu przetwarzania pojedynczego przykładu trenującego. Szczególnie często jest przy tym stosowany tryb korekcyj ny, w którym informacja trenująca „poprawia" niedokładność aktualnej hipotezy. W trybie epokowym większość algorytmów aproksymacji możemy porówny wać ze względu na dodatkowe kryterium, które przy wcześniej omawianych ro dzajach indukcyjnego uczenia się nie miało zastosowania, a mianowicie szybkość uczenia się. Wiąże się to bezpośrednio z występującą zazwyczaj koniecznością wielokrotnego przetwarzania wszystkich przykładów trenujących. Szybkość ucze nia się można wówczas rozumieć jako liczbę cykli niezbędną do uzyskania hipote zy o określonym poziomie błędu próbki na zbiorze trenującym bądź też jako śred nią zmianę błędu próbki przypadającą na jeden cykl. Sformalizowana definicja nie jest tu potrzebna, gdyż zazwyczaj kryterium to stosuje się w sposób nieformalny, często analizując graficzną prezentację postępów uczenia się w postaci krzywych 4 Niekiedy jednak termin „wsadowy" jest używany w odniesieniu do trybu uczenia się, który tutaj nazywamy epokowym.
8.2. RODZAJE APROKSYMATORÓW
437
uczenia się. W typowym przypadku są to wykresy błędu próbki w zależności od numeru cyklu. O szybkości uczenia się można także mówić dla trybu inkrementacyjnego lub korekcyjnego, określając ją jako zależność średniego błędu używa nego do etykietowania przykładów, uzyskanego dla przetworzonych dotychczas przykładów trenujących, od liczby tych przykładów. 8.1.5
Informacja trenująca
Możliwe są różne postaci informacji trenującej, służącej do uczenia się aproksy macji funkcji. Oczywiście najbardziej naturalną postacią przykładu trenującego jest para (x,f(x)) dla pewnego x £ X, analogiczna do przykładu etykietowa nego do uczenia się pojęć. Niekiedy jednak, ze względu na specyficzne wymogi zastosowania uczącego się aproksymatora, wygodniej jest jako drugi element pary trenującej, zamiast wartości funcji, przekazywać błąd wartości aktualnej hipotezy ucznia, czyli stosować w pewien szczególny sposób tryb korekcyjny uczenia się. Przykładem trenującym jest wówczas para (#, f(x) — h(x)) dla pewnego x G X, przy czym h oznacza hipotezę ucznia. Takie dwa rodzaje przykładów trenujących możemy nazwać, odpowiednio, przykładami etykietowanymi wartościami i przy kładami etykietowanymi błędami. Jeśli pewien algorytm uczenia się aproksymacji funkcji może korzystać z przy kładów etykietowanych błędami, to można go stosować także wówczas, gdy są dostępne przykłady etykietowane wartościami, gdyż obliczenie odpowiednich błę dów nie sprawia trudności. Potwierdza to prosty fakt, że każdy algorytm umożli wiający uczenie się w trybie korekcyjnym może być także użyty w trybie inkrementacyjnym (i w ogóle w każdym z pozostałych trybów uczenia się). Nie za wsze jest natomiast prawdziwa teza odwrotna — istnieją aproksymatory funkcji, które mogą uczyć się wyłącznie na podstawie przykładów etykietowanych warto ściami. Można wobec tego uznać informację trenującą w postaci przykładów ety kietowanych błędami za bardziej ogólną. Taką jej postać będziemy przyjmować w większej części rozdziału. W każdym przypadku będziemy dla wygody mówić o zbiorze trenującym T jako o pewnym podzbiorze dziedziny X, zakładając, że należącym do niego przykładom towarzyszą odpowiednie etykiety. Przyjmowa nie tej konwencji będzie wygodne również wówczas, gdy nie jest dostępny żaden ustalony zbiór trenujący, a raczej źródło dostarczające kolejnych przykładów w inkrementacyjnym lub korekcyjnym trybie uczenia się.
8.2 Rodzaje aproksymatorów Wśród uczących się aproksymatorów funkcji, które odpowiadają przedstawione mu wyżej sformułowaniu uczenia się odwzorowań, można wyróżnić kilka pod stawowych rodzajów. Mogą być do tego podstawą kryteria związane z zewnętrz-
438
ROZDZIAŁ 8. UCZENIE SIĘ APROKSYMACJI FUNKCJI
nymi cechami funkcjonalnymi poszczególnych metod aproksymacji, takimi jak dopuszczalne tryby uczenia się i postaci informacji trenującej, oraz bardziej nas tu interesujące związane z ich wewnętrzną strukturą, przede wszystkim sposób re prezentacji aproksymowanej funkcji i mechanizm jej modyfikowania na podstawie przykładów. Biorąc pod uwagę kryterium reprezentacji, które różnicuje poszcze gólne rodzaje aproksymatorów w sposób najbardziej wyrazisty, wyróżnimy: metody parametryczne, w których hipoteza jest reprezentowana przez wektor liczb rzeczywistych, stanowiących modyfikowane w trakcie uczenia się para metry, na podstawie których jest obliczana według pewnej ustalonej formuły wartość hipotezy dla dowolnego przykładu, metody pamięciowe, które przechowują dostarczone im dotychczas przykłady trenujące i wyznaczają wartość hipotezy dla każdego kolejnego przykładu na podstawie znanych wartości funkcji docelowej dla najbardziej do niego podob nych zapamiętanych przykładów, metody symboliczne, wykorzystujące symboliczną reprezentację hipotez, z jaką na ogół mamy do czynienia w przypadku uczenia się pojęć.
8.3 Metody parametryczne Do najczęściej stosowanych uczących się aproksymatorów funkcji należą metody oparte na reprezentacji parametrycznej. Wymagają one, aby przykłady (argumenty aproksymowanej funkcji) były opisywane za pomocą wektorów rzeczywistoliczbowych cech oraz zakładają, że hipoteza jest reprezentowana w postaci wektora również rzeczywistych parametrów, często nazywanych wagami. Uczenie się po lega na modyfikowaniu wag na podstawie przykładów trenujących w sposób pro wadzący do zmniejszenia błędu reprezentowanej przez nie hipotezy w stosunku do nieznanej funkcji docelowej. W tym podrozdziale przedstawimy ogólną charakte rystykę tej klasy metod i aproksymator liniowy jako jej najprostszego reprezen tanta. Będziemy przy tym zakładać, że dla każdego x G X określona jest cecha 4>n(x) = i. 8.3.1
Obliczanie wartości funkcji
Dla przykładu x G X i pewnej hipotezy h reprezentowanej przez wektor wag w wartość h(x) jest obliczana na podstawie <j)(x) i w. Możemy napisać: h(x)=F($(x),w),
(8.2)
przy czym F : 5Rn+1 x W1 \-¥ SR jest pewną funkcją, opisującą zależność wyjść aproksymatora od wektora cech przykładu i wektora wag, njest liczbą cech (przy czym dodatkową cechą jest <j>n(x) — 1 dla każdego x\ zaś m jest rozmiarem
8.3. METODY PARAMETRYCZNE
439
wektora wag. Zależność ta, którą nazwiemy funkcją odwzorowania, jest indywi dualną właściwością poszczególnych aproksymatorów opartych na reprezentacji parametrycznej. Decyduje ona o możliwości aproksymowania różnych funkcji do celowych, a także o konkretnym algorytmie uczenia się. Hipotezę aproksymatora parametrycznego definiują łącznie wektor wag w oraz funkcja odwzorowania F. Jeśli jednak przyjmiemy, że dla rozważanego konkretnego aproksymatora funkcja odwzorowania ma ustaloną postać, co w większości przypadków jest prawdą, to do jednoznacznego wyznaczenia hipotezy wystarcza wektor wag. Hipotezę repre zentowaną przez wektor wag w będziemy w dalszej dyskusji oznaczać przez hw. 8.3.2
Aktualizacja wartości funkcji
Dla każdego uczącego się aproksymatora największe znaczenie ma wykorzysty wany przez niego mechanizm uczenia się. W przypadku metod parametrycznych chodzi o sposób modyfikowania wektora wag w na podstawie przykładu trenujące go (x,f(x) — hw(x)) dla pewnego x £ X, przy czym f(x) jest wartością funkcji docelowej dla przykładu x, a hw(x) jej przybliżeniem obliczanym na podstawie wektora w w przedstawiony wyżej sposób. Załóżmy, że dany jest ustalony zbiór T etykietowanych błędami przykładów trenujących. Oczywiście zgodnie z wcześniejszą dyskusją jest to tylko upraszcza jące dyskusję założenie, gdyż w istocie przy inkrementacyjnym lub korekcyjnym trybie uczenia się kolejne przykłady są podawane na bieżąco i etykietujące je błę dy oblicza się korzystając z aktualnej hipotezy ucznia. Najprostsze sformułowanie celu uczenia się polega na zażądaniu znalezienia takiego wektora wag, dla którego względny bądź średniokwadratowy błąd próbki na zbiorze trenującym będzie moż liwie najmniejszy. Zauważmy, że błąd względny e^(hw)9 zgodnie z przedstawioną w równaniu (2.9) definicją, będzie minimalizowany wtedy, kiedy minimalizowana będzie inna, dogodniejsza ze względów analitycznych wielkość:
4 ( M = E £(/(*)-M*)) 2 .
(8.3)
przypominająca raczej błąd średniokwadratowy zdefiniowany równaniem (2.11), którą nazwiemy funkcją błędu. Do najbardziej powszechnie wykorzystywanych, choć nie pozbawionych wad, mechanizmów uczenia się prowadzących do tak sfor mułowanego celu jest reguła spadku gradientu. Zgodnie z nią (jednokrotne) prze tworzenie zbioru trenującego T powinno polegać na modyfikacji wektora wag przez dodanie do niego wektora przyrostów wag, wyznaczonego w następujący sposób: A u; =
-/3Vwełr(hw),
(8.4)
440
ROZDZIAŁ 8. UCZENIE SIĘ APROKSYMACJI FUNKCJI
czyli wykonaniu modyfikacji w := w + AWi przy czym Vwe^(hw) oznacza wek tor pochodnych cząstkowych eip{hw) względem poszczególnych wag. Dla poje dynczej wagi W{ możemy tę samą regułę zapisać następująco:
=
ąi(M dwi
Parametr /3 jest liczbą rzeczywistą na ogół z przedziału (0,1], nazywaną rozmiarem kroku, która określa skalę przeprowadzanej modyfikacji wag. W wielu przypad kach okazuje się korzystne stosowanie zmiennych wartości /3, dobieranych w pe wien adaptacyjny sposób, czym nie będziemy się tu zajmować. Reguła spadku gra dientu interpretowana w najbardziej bezpośredni sposób mówi, że należy zmienić wagi w tym kierunku, który doprowadzi do zmniejszenia wartości błędu. Wyko nywane w ten sposób modyfikacje doprowadzą więc, przy odpowiednio małych wartościach /?, do znalezienia wektora wag, dla którego błąd aproksymacji osiąga przynajmniej lokalne minimum. W przedstawionej postaci reguła spadku gradientu odpowiada epokowemu try bowi uczenia się, w którym modyfikacja wag następuje po przetworzeniu w ra mach pojedynczej epoki całego zbioru trenującego T na podstawie wartości funk cji błędu ej,(hw) i jest wielokrotnie powtarzana w kolejnych epokach. W każdej epoce wartości hw są obliczane za pomocą aktualnego wektora wag w. Dokład niej o stosowaniu tej reguły w tym i innych trybach uczenia się powiemy później. Obecnie przyjrzyjmy się jeszcze bliżej samej regule. Różniczkując eC(h) wzglę dem wagi Wi otrzymujemy, jak łatwo się przekonać, defT(hw)
v-,,,
x
,
M
v /
dhw{x)\
co umożliwia przepisanie naszej reguły w zmodyfikowanej postaci: AWi = ^P{f(x)^hw(x))^^9
(8.7)
czy też w zapisie wektorowym A™ = £ P(f(x) - hw{x))Vwhw{x).
(8.8)
Uzyskana w ten sposób reguła modyfikacji wag nazywana bywa uogólnioną regułą delta5. Reprezentuje ona ogólny algorytm uczenia się w parametrycznych aproksymatorach funkcji. Jego konkretyzacja zależy oczywiście od charakteru zależności hw(x) od w dla każdego x E X, za co odpowiada funkcja odwzorowania F. 5
Jej „nieuogólnioną" wersję jako szczególny przypadek poznamy później.
8.3. METODY PARAMETRYCZNE
441
Zauważmy, że powyższą regułę, zgodnie z którą modyfikacja wag następuje na podstawie sumy pewnych wartości obliczonych dla poszczególnych przykładów trenujących, możemy również przedstawić w następującej postaci: Aw = £
A^a),
(8.9)
przy czym Aw(x) określa modyfikację wag, wynikającą z przetworzenia pojedyn czego przykładu trenującego x ET, obliczaną zgodnie ze wzorem: Aw(x) = P(f(x) - hw(x))Vwhw(x).
(8.10)
Dzięki takiemu sformułowaniu uogólniona reguła delta może być stosowana w inkrementacyjnym trybie uczenia się, kiedy zmiany wektora wag dokonuje się bez pośrednio po uwzględnienieniu każdego przykładu x E T przez operację podsta wienia w :— w + Aw(x). 8.3.3
Aproksymator liniowy
Najprostszą konkretyzację przedstawionej ogólnej reguły uczenia się aproksymatorów opartych na reprezentacji parametrycznej uzyskujemy dla aproksymatorów liniowych, czyli takich, w których opisywana przez F zależność wartości hw(x) od >(x) ma charakter liniowy, a wektor wag w tę zależność parametryzuje. Można wówczas przyjąć, że wektor w liczy tyle elementów, ile cech jest używanych do opisu przykładów, czyli n + 1 (z uwzględnieniem dodatkowej cechy o numerze n stale równej 1), a wartości funkcji są obliczane zgodnie ze wzorem: n
hw{%) = ^2&(x)wu
(8.11)
czyli w zapisie wektorowym hw(x) = wT^x).
(8.12)
Zauważmy, że dla dowolnego przykładu x, dla którego wartości cech spełniają warunek $o(x) = n-i{%) = 0, uzyskiwalibyśmy z tego wyra żenia zawsze hw(x) = 0 bez względu na wektor wag w, gdyby nie wprowadzenie dodatkowej cechy <j>n(x) = 1, dzięki której mamy wtedy hw(x) = wn. Dodat kowa cecha powoduje zatem dodanie składnika wn do obliczonej bez jej użycia wartości hw(x) dla każdego przykładu x. Taki sam efekt można uzyskać w inny sposób, przez zmianę formuły, według której aproksymator liniowy oblicza war tość hw(x)9 lecz dzięki użyciu cechy
442
ROZDZIAŁ 8. UCZENIE SIĘ APROKSYMACJI FUNKCJI
Nietrudno się przekonać, że dla aproksymatorów liniowych 9hw(x) — = (pi{x), ćwl
(8.13)
czyli
Vwhw{x) = >(x).
(8.14)
Umożliwia to zapisanie uogólnionej reguły delta w następującej uproszczonej po staci, w której nazywana jest ona po prostu regułą delta (także regułą LMS lub regułą Widrowa-Hoffa): A* = E PUW
- hw{x))cj>{x).
(8.15)
W wersji inkrementacyjnej dla dowolnego przykładu trenującego x mamy odpo wiednio: Aw(x) = P(f(x) - hw{x))4>{x).
(8.16)
Dla pojedynczej wagi Wi, i — 0 , 1 , . . . , n, otrzymujemy: A
^ - £
W ( x ) - K{x))4>l{x),
(8.17)
x£T
AWi{x) - /?(/(*) - M * ) ) & ( s ) -
(8.18)
Regułę Widrowa-Hoffa formułuje się niekiedy także w wersji znormalizowanej, w której obliczana wielkość modyfikacji dla każdej wagi jest dzielona przez sumę wartości cech przykładu, na podstawie którego dokonuje się tej modyfikacji: _
Aw(x) =
^{3(f(x)-hw(x))Hx) f3(f(x)-hw(x)mx) =i
.
(8.20)
Taką normalizację można interpretować jako równomierne „rozdzielanie" błędu f(x) — hw(x) między wszystkie wagi w stopniu proporcjonalnym do udziału każ dej z nich w obliczaniu hw(x). Według innego punktu widzenia mamy tu do czy nienia ze swego rodzaju adaptacyjnym doborem rozmiaru kroku. Stosujące regułę LMS liniowe aproksymatory parametryczne są także nazy wane prostymi perceptronami i mogąbyc traktowane jako szczególny, najprostszy rodzaj sieci neuronowych. Funkcję „neuronu" pełni wówczas jednostka przetwa rzająca, której zadaniem jest obliczenie hw(x) według równania (8.11). Jeśli przeciwdziedziną funkcji docelowej jest zbiór 5Rm dla m > 1, to stosowanie do jej
443
8.3. METODY PARAMETRYCZNE
aproksymacji m niezależnych aproksymatorów liniowych jest równoważne z wy korzystaniem jednego aproksymatora, w którym w jest macierzą wag o n wier szach i m kolumnach, a wartość hipotezy dla przykładu x jest obliczana w zwykły sposób jako hw(x) — wT(f)(x). Wówczas zgodnie z neuronową perspektywą za obliczenie każdego elementu wektora hw(x) odpowiada jeden „neuron". Przykład 8.1. Rozważmy dziedzinę X, na której określone są trzy cechy 0O, \ i 02 oraz dodatkowo cecha 4>z o stałej wartości 1. Niech funkcja docelowa będzie zdefiniowana dla każdego x £ X następująco:
f{x) = $i(x) + $\{x) + ą{x). Załóżmy, że do uczenia się takiej funkcji docelowej jest stosowany aproksymator li niowy, którego wagi w$, wi,W2 i ^3 otrzymały początkowo wartość 0 6 . Do modyfi kacji wag wykorzystamy stały współczynnik rozmiaru kroku /3 = 0,1. Prześledzimy zmianę wag, jaka wyniknie z przetworzenia w trybie inkrementacyjnym następują cych czterech przykładów trenujących: X
0o (x) 01 (x)
1 2 3 4 |
1 2 3 3
2 2 3 2
1. Początkowo w0 ~ wi = W2 — W3 = 0, więc dla pierwszego przykładu wartość hipotezy zostanie obliczona jako hw(l) = 0. Błąd wynosi /(1) - hw{\) = 14, co spowoduje następującą modyfikację wag: w0 u'i w2 w3
= 0+ =0 + =0 + =0 +
0,1-14-1 0,1-14-2 0,1-14-3 0,1-14-1
= = = =
1,4, 2,8, 4,2, 1,4.
2. Dla drugiego przykładu, korzystając ze zmienionych w poprzednim kroku wag, obliczamy wartość hipotezy: hw{2) = 1,4 • 2 + 2,8 • 2 + 4,2 • 2 + 1,4 • 1 = 18,2, co daje błąd /(2) — hw(2) = —6,2. Prowadzi to do następującej zmiany wag: ^0 wx w2 w3 6
= 1,4 + =2,8 + = 4,2 + = 1,4 +
0,1-(-6,2)-2 0,1-(-6,2)-2 0,1-(-6,2)-2 0,1-(-6,2)-1
= = = =
0,16, 1,56, 2,96, 0,78.
Znąjąc postać funkcji docelowej wiemy, że nie można jej reprezentować dokładnie za pomocą aproksymatora liniowego, ale zawsze można szukać jej najlepszego przybliżenia na zbiorze trenują cym, jakie taki aproksymator może osiągnąć.
444
ROZDZIAŁ 8. UCZENIE SIĘ APROKSYMACJI FUNKCJI 3. Dla przykładu 3 wartość hipotezy jest obliczana następująco: M 3 ) = 0,16 • 3 + 1,56 • 3 + 2,96 • 3 + 0,78 • 1 = 14,82. Błąd wynosi /(3) — /&2(3) = 12,18, co daje w wyniku aktualizację wag: = 0,16 + wx - 1 , 5 6 + w2 =2,96 + W3 = 0,78 + Wo
0,1 • 12,18 • 3 = 3,814, 0,1-12,18-3-5,214, 0,1-12,18-3-6,614, 0,1 • 12,18 -1 = 1,998.
4. Dla ostatniego przykładu obliczamy: hw(4) = 3,814 - 3 + 5,214 • 2 + 6,614 -1 + 1,998 • 1 = 30,482. Oznacza to błąd /(4) — hw(4) = —16,482 i w konsekwencji nowe wartości wag: w0 W! w.2 w3
= = =
3,814 5,214 6,614 1,998
+ + + +
0,1 • (-16,482) 0,1 * (-16,482) 0,1 • (-16,482) 0,1 • (-16,482)
• 3 - -1,1306, • 2 = 1,9176, • 1 - 4,9658, • 1 = 0,3498.
Stosując hipotezę uzyskaną po jednokrotnym przetworzeniu każdego przykładu otrzy mujemy: Ml) hw{2) hw{3) hw(4)
= = = =
-
1,1306 • 1,1306 • 1,1306 1,1306 •
1+ 2+ 3+ 3+
1,9176 - 2 + 1,9176 • 2 + 1,9176 - 3 + 1,9176 • 2 +
4,9658 • 3 + 4,9658 • 2 + 4,9658 • 3 + 4,9658 • 1 +
0,3498 •• 1 = 0,3498 • 1 = 0,3498 • 1 = 0,3498 • 1 -
17,9518, 11,8554, 17,6082, 5,759.
Gdyby zamiast trybu inkrementacyjnego był stosowany tryb epokowy, wówczas w trakcie pierwszej epoki, znów zaczynając z wagami zainicjowanymi na 0, mieliby śmy hw(l) — hw(2) = hw(S) = hw(4) = 0. Odpowiednio błędy dla przykładów 1, 2, 3 i 4 wyniosłyby 14, 12, 27 i 14. Po zakończeniu epoki nastąpiłyby wobec tego następujące zmiany wag: = Wl = W2 = «73 = Wo
0+ 0+ 0+ 0+
0,1 0,1 0,1 0,1
• • • •
(14 • (14 (14 • (14 •
1+ 2+ 3+ 1+
12 • 2 + 12 • 2 + 12 - 2 + 12 • 1 +
27 • 27 • 27 • 27 •
3+ 3+ 3+ 1+
14 • 3) 14 • 2) 14 • 1) 14 • 1)
= = = =
16,1, 16,1, 16,1, 6,7.
Stosując uzyskaną w ten sposób hipotezę do przykładów trenujących otrzymujemy: M l ) = 16>1 • 1 + I M • 2 + 16,1 • 3 + 6,7 • 1 = 103,3, M 2 ) = 16,1 • 2 + 16,1 • 2 + 16,1 • 2 + 6,7 • 1 = 103,3, M 3 ) = 16,1 • 3 + 16,1 • 3 + 16,1 • 3 + 6,7 • 1 = 151,6,
445
8.3. METODY PARAMETRYCZNE
hw(4) = 16,1 • 3 + 16,1 • 2 + 16,1 • 1 + 6,7 • 1 = 103,3. Zarówno dla inkrementacyjnego, jak i epokowego trybu uczenia się rezultaty nie są najlepsze, choć w drugim przypadku na pozór znacznie gorsze niż w pierwszym. Za uważmy jednak, że stosowanie epokowego trybu uczenia się doprowadziło do przy pisania każdej z cech 0o, 0i i 02 jednakowej wagi, co jest uzasadnione ze względu na postać funkcji docelowej. Wartości tych wag są na tyle duże, że błąd aproksymacji dla przykładów trenujących jest znacznie większy niż w przypadku wag uzyskanych w trybie inkrementacyjnym, wynika to jednak przede wszystkim z wartości parame tru /?. Oczywiście niezależnie od trybu uczenia się dla rozważanej w tym przykładzie funkcji docelowej nie możemy oczekiwać zadowalających efektów od aproksymatora liniowego. Przykład 8.2. Poprzedni przykład powtórzymy dla funkcji docelowej zdefiniowa nej dla każdego x e X następująco:
f(x) - Mx) + 0l(x) +020*0» używając następujących czterech przykładów trenujących: X
0o 0*0
01 0) 02 (z) 1 "f(x)
1 2 3 4
1 2 3 3
2 2 3 2
3 2 3 1
6 6 9 6
Czytelnik zechce samodzielnie przekonać się, że po jednokrotnym przetworzeniu każ dego przykładu w trybie inkrementacyjnym otrzymamy następujące wartości wag: w0 = 0,4866,
w1 = 1,1064,
w2 = 1,7262,
w3 = 0,5022.
Stosując reprezentowaną przez ten wektor wag hipotezę otrzymujemy: Ml) hw{2) M3) M4)
= = = =
0,4866 0,4866 0,4866 °> 4 8 6 6
* 1 + 1,1064 • 2 + 1,7262 • 3 + 0,5022 • 1 = 8,3802, • 2 + 1,1064 • 2 + 1,7262 • 2 + 0,5022 • 1 = 7,1406, • 3 + 1,1064 - 3 + 1,7262 • 3 + 0,5022 • 1 = 10,4598, • 3 + 1,1064 • 2 + 1,7262 • 1 + 0,5022 • 1 = 5,901.
Wykorzystując tryb epokowy otrzymujemy błędy dla przykładów 1, 2, 3 i 4 równe odpowiednio 6, 6, 9 i 6. Po zakończeniu epoki nastąpiłyby wobec tego następujące zmiany wag: w0 wi w2 w3
= = = =
0+ 0+ 0+ 0+
0,1 • 0,1 • 0,1 • 0,1 •
(6 • (6 • (6 • (6 •
1 + 6 • 2 + 9 • 3 + 6 • 3) = 6,3, 2 + 6 • 2 + 9 • 3 + 6 - 2) - 6,3, 3 + 6 • 2 + 9 • 3 + 6 • 1) = 6,3, 1 + 6 • 1 + 9 • 1 + 6 • 1) = 2,7.
446
ROZDZIAŁ 8. UCZENIE SIĘ APROKSYMACJI FUNKCJI
Stosując uzyskaną w ten sposób hipotezę do przykładów trenujących otrzymujemy: hw(l) hw(2) hw(S) hw(4)
= = =
6,3 • 1 + 6,3 • 2 + 6,3 • 3 + 2,7 • 1 = 40,5, 6,3 • 2 + 6,3 • 2 + 6,3 • 2 + 2,7 • 1 = 40,5, 6,3 • 3 + 6,3 • 3 + 6,3 • 3 + 2,7 • 1 = 59,4, 6,3 • 3 + 6,3 • 2 + 6,3 • 1 + 2,7 • 1 = 40,5.
Tak jak w poprzednim przykładzie, wnioskowanie o niższości trybu epokowego na podstawie błędu po jednym cyklu byłoby pochopne. Gdyby współczynnik rozmiaru kroku miał wartość 0,015 zamiast 0,1, błąd ten byłby znacznie mniejszy.
8.3.4
Aproksymatory nieliniowe
Aproksymatory liniowe mają szereg bardzo atrakcyjnych z praktycznego punktu widzenia właściwości. Uczą się stosunkowo szybko, mechanizm uczenia się jest prosty analitycznie i implementacyjnie oraz tani obliczeniowo, w dodatku posłu giwanie się regułą spadku gradientu w przypadku liniowej zależności hw(x) od cf)(x) nie grozi znalezieniem lokalnych minimów funkcji e^(hw), różnych od po szukiwanego minimum globalnego. Te niewątpliwe zalety są okupione jedną po ważną wadą. Wiele funkcji docelowych, zwłaszcza tych interesujących ze względu na realne zastosowania, nie może być z dostatecznie dużą dokładnością reprezen towanych jako jedynie liniowa kombinacja cech przykładów. Wówczas zasadne jest sięgnięcie po aproksymatory nieliniowe. Najlepiej znanym parametrycznym aproksymatorem nieliniowym jest perceptron wielowarstwowy, czyli najbardziej popularny i najczęściej stosowany rodzaj sieci neuronowych, o których w tej książ ce postanowiliśmy nie pisać, aby nie powielać informacji dostępnych w wielu in nych źródłach. Niektóre z tych źródeł wskazane będą w uwagach bibliograficznych na końcu rozdziału. 8.3.5
Metody wykładniczo-gradientowe
Przedstawione reguły aktualizacji wag dla liniowych i nieliniowych aproksymatorów parametrycznych są konkretyzacjami reguły spadku gradientu, zgodnie z któ rą kierunek i wielkość zmiany wag zależą od gradientu błędu, w tym przypad ku średniokwadratowego. Przedstawiona wersja tych metod wykorzystuje regułę spadku gradientu do addytywnej modyfikacji wektora wag: po wyznaczeniu war tości błędu A^ jest on dodawany do wektora wag zgodnie z operacją podstawienia w := w + Aw lub, dla pojedynczej wagi, Wi :— W{ + AWi. Niedawno zapropo nowano alternatywne i niekiedy bardziej skuteczne podejście, polegające na multiplikatywnej modyfikacji wag. Punktem wyjścia do tej koncepcji jest zapisanie addytywnej reguły modyfikacji dla logarytmów wag: hi w i :— hi Wi + A.
(8.21)
8.3. METODY PARAMETRYCZNE
447
co może być zapisane w równoważnej postaci: w% := Wi • exp(AWi).
(8.22)
Pod pewnymi warunkami powyższa multiplikatywna reguła może być stoso wana z wartościami błędów AWi, wyznaczanymi tak samo jak w przypadku kla sycznej modyfikacji addytywnej. W szczególności niezbędne jest wówczas, aby wszystkie wagi były liczbami dodatnimi. Tymczasem jest oczywiste, że w celu re prezentowania pewnych funkcji może zachodzić potrzeba wykorzystywania rów nież ujemnych wag. Prostym rozwiązaniem tego problemu w przypadku aproksymatorów liniowych może być ograniczenie się do dodatnich wag, lecz powielenie wektora cech ze znakiem minus. Oznacza to reprezentowanie każdego przykładu x za pomocą wektora cech (0o(z), • • •, n~i{x), (/)n(x), -0o(z), • • •, - 0 n - i ( # ) , -n(x))9
(8.23)
przy czym jak zwykle przyjmujemy (f)n(x) ~ 1. 8.3.6
Regresja
Na koniec podrozdziału, poświęconego ogólnej dyskusji parametrycznych metod aproksymacji funkcji, trzeba znaznaczyć, że w nieco innym ujęciu są one także na zywane metodami regresji. Regresja oznacza dopasowywanie zbioru parametrów pewnej formuły matematycznej, nazywanej modelem regresyjnym, do dostępnych danych, tak aby uzyskany w ten sposób model jak najdokładniej opisywał te da ne. Parametryczny aproksymator funkcji może być więc traktowany jako model regresyjny, a wektor wag stanowi jego parametry, które powinny być dobrane tak, aby funkcja docelowa była jak najlepiej przybliżana na zbiorze trenującym. To, co odróżnia klasyczną regresję od interesujących nas tutaj aproksymatorów funkcji, to właśnie sposób wyznaczania wag. Zamiast rozważanych przez nas reguł aktu alizacji, których wielokrotne stosowanie z odpowiednio małym rozmiarem kroku przybliża wagi do wartości minimalizujących błąd, mówiąc o regresji ma się na ogół na myśli analityczne wyznaczanie właściwego wektora wag. Nie jest to jed nak różnica rozwiązywanego problemu, a tylko najczęściej stosowanych technik jego rozwiązania. Nie ma więc żadnych przeszkód, aby uczące się parametryczne aproksymatory funkcji nazywać algorytmami regresji, wyróżniając regresję linio wą, w której funkcja odwzorowania jest liniowo zależna od cech, oraz różne formy regresji nieliniowej. 8.3.7
Atrybuty dyskretne
Parametryczne aproksymatory funkcji są ze swej istoty przeznaczone do stosowa nia dla dziedzin, na których są określone atrybuty ciągłe. Nie wyklucza to jednak
448
ROZDZIAŁ 8. UCZENIE SIĘ APROKSYMACJI FUNKCJI
możliwości ich użycia także dla atrybutów dyskretnych, jeśli ich wartości zosta ną potraktowane jak liczby, tak aby było możliwe ich stosowanie do obliczania funkcji odwzorowującej F. W przypadku atrybutów porządkowych można po pro stu zastąpić ich wartości kolejnymi liczbami całkowitymi, w kolejności zgodnej z ustaloną dla nich relacją porządku. W przypadku atrybutów nominalnych wpro wadzanie w ten sposób sztucznej, nie mającej żadnej rozsądnej interpretacji rela cji porządku mogłoby być niewłaściwe, najczęściej więc każdy atrybyt nominalny a : X >-)> A zastępuje się cechami (j)av dla wszystkich wartości v £ A, określonymi dla dowolnego przykładu x £ X następująco: <Pav{x) = < (8.24) [0 jesh a(x) 7^ v. Podejście to może także być zastosowane dla atrybutów porządkowych, wtedy jednak prowadzi do pomijania określonych dla ich wartości relacji porządku.
8.4 Rozszerzona reprezentacja Parametryczne aproksymatory nieliniowe umożliwiają, przy odpowiednim dobra niu nieliniowej funkcji F opisującej zależność hw(x) od >(x) i w dla każdego przykładu x, reprezentowanie z dowolnie dużą dokładnością dowolnych odwzoro wań. Jest to wprawdzie tylko możliwość „w zasadzie", gdyż w praktyce możliwa do uzyskania dokładność zależy od dostępnych danych trenujących (ich ilości, po prawności, reprezentatywności) oraz właściwego doboru F i ewentualnych para metrów algorytmu uczenia się, co może być sztuką niełatwą, lecz i tak sytuacja jest znacznie bardziej komfortowa niż w przypadku aproksymatorów liniowych, któ rych ograniczenia nie są w żaden sposób możliwe do ominięcia. Zaznaczyliśmy już jednak, że za zwiększoną reprezentacyjną moc aproksymatorów nieliniowych trzeba płacić: bardziej złożonymi algorytmami uczenia się, powolną zbieżnością oraz ryzykiem osiadania procesu uczenia się w lokalnych minimach funkcji błę du. Próbą połączenia większości zalet aproksymatorów liniowych i nieliniowych oraz eliminacji większości ich wad są parametryczne metody aproksymacji funkcji oparte na rozszerzonej reprezentacji. Jest to szczególne podejście do wprowadze nia nieliniowości do funkcji odwzorowania F, które dekomponuje ją w pewien sposób na człon nieliniowy, często ustalony lub modyfikowany w prosty sposób, oraz człon liniowy, dla którego może być stosowana zwykła reguła delta przezna czona dla aproksymatorów liniowych. 8.4.1
Rozszerzanie opisu przykładów
Podstawowa koncepcja rozszerzonej reprezentacji jest niezwykle prosta. Podczas gdy aproksymatory nieliniowe starają się uzyskać zwiększenie mocy reprezenta-
8.4. ROZSZERZONA REPREZENTACJA
449
cji przez wykorzystanie nieliniowej zależności wartości hipotezy od wektora wag i cech przykładu, metody rozszerzonej reprezentacji dążą do osiągnięcia tego sa mego celu, pozostawiając liniową zależność, lecz rozszerzając w zamian, na ogół znacznie, zestaw cech opisujących przykłady. Jeśli postępowanie takie przypomi na konstruktywną indukcję, to rzecz jasna podobieństwo nie jest przypadkowe. W jednym i drugim przypadku chodzi o „poprawienie" opisu przykładów, tak aby nie zmieniony algorytm uczenia się mógł uzyskiwać lepsze wyniki. Aby nieco sformalizować naszkicowany pomysł, założymy, że dla każdego przykładu x e X jego n-elementowy wektor cech <j>(x) zostaje w pewien sposób przekształcony w n'-elementowy rozszerzony wektor cech f(x), przy czym na ogół nf > n. W obu przypadkach może być oczywiście dodana specjalna cecha 4>n{x) = ni (x) — 1 dla każdego x, lecz często nie jest to konieczne — rozsze rzenie reprezentacji może eliminować powody, dla których w przypadku zwykłych aproksymatorów parametrycznych taka cecha była potrzebna. Nie będziemy więc brać jej pod uwagę w poniższej dyskusji. Wektor <j>'{x) stanowi rozszerzoną reprezentację przykładu x. Możemy na nią patrzeć jak na przyporządkowanie przykładowi pewnego punktu w n'-wymiarowej przestrzeni, podczas gdy oryginalna reprezentacja
hw(x) = ] P &(x)wi = wT(f)ł(x),
(8.25)
2=0
przy czym liczba wag musi być równa liczbie cech w rozszerzonej reprezentacji. Ilustrację tej koncepcji przedstawia rys. 8.1. Podstawowe znaczenie dla oceny przydatności metod aproksymacji wykorzy stujących rozszerzoną reprezentację mają przesłanki, na których opiera się oczeki wanie, że zwiększanie wymiarowości przestrzeni cech przyniesie pożytek. Kryje się za nim nadzieja, że odwzorowanie nieliniowe w oryginalnej przestrzeni cech może się stać liniowe lub możliwe do dobrego przybliżenia za pomocą odwzoro wania liniowego w rozszerzonej przestrzeni. Nie jest trudno przekonać się, biorąc pod uwagę proste przykłady funkcji docelowych, że istotnie może się tak zdarzyć, jeśli cechy ¢/ zostaną w odpowiedni sposób dobrane. W szczególności dla każdej funkcji docelowej można wskazać takie rozszerzone cechy >', dla których funk cja ta może być reprezentowana liniowo. Nie jest to jednak powód do szczegól nej satysfakcji, gdyż użycie aproksymatorów funkcji interesuje nas wówczas, gdy funkcja docelowa jest nieznana, a więc tego typu „dopasowanie" reprezentacji nie wchodzi w grę. Jeśli jednak o charakterze nieznanej funkcji docelowej coś więcej wiadomo, to można starać się dobrać najbardziej obiecujące rozszerzone cechy.
450
ROZDZIAŁ 8. UCZENIE SIĘ APROKSYMACJI FUNKCJI
Rys. 8.1. Ilustracja rozszerzonej reprezentacji W niektórych zastosowaniach klasa funkcji docelowej jest w istocie znana i takie proste podejście może dać zaskakująco dobre efekty w porównaniu z aproksymatorami nieliniowymi. Nas jednak najbardziej interesować będzie maksymalnie ogólny przypadek, kiedy wystarczająca wiedza na temat funkcji docelowej nie jest dostępna i rozszerzoną reprezentację należy dobrać w ten sposób, aby była moż liwie uniwersalna i mogła być użyta do skutecznego uczenia się różnych funkcji docelowych. W pozostałej części tego podrozdziału przedstawimy wybrane podej ścia do konstruowania takich uniwersalnych rozszerzonych reprezentacji. 8.4.2
Reprezentacja randomizowana
Najprostszym uniwersalnym i przy tym zadziwiająco skutecznym sposobem roz szerzania reprezentacji jest stosowanie reprezentacji randomizowanej. Dla ustalo nego nf ^> n wartości cech rozszerzonej przestrzeni wyznacza się na podstawie cech oryginalnych, stosując pewne przekształcenie zależne od losowych parame trów. Przekształcenia takie mogą być określane nie tylko dla przykładów opisy wanych przez cechy ciągłe, jakimi zajmowaliśmy się dotychczas, lecz także przez dowolne atrybuty dyskretne. Można sobie wyobrazić bardzo wiele różnych szcze gółowych przekształceń randomizowanych i te, które przedstawimy, powinny być traktowane zaledwie jako wybrane możliwości.
8,4. ROZSZERZONA REPREZENTACJA
451
Randomizowane odwzorowanie dla cech ciągłych Wygodnie będzie w poniższej dyskusji założyć, że przeciwdziedziną każdej cechy i dla i — 0 , 1 , . . . , n - 1 jest przedział [0,1], Jeśli pierwotne cechy określone na rozważanej dziedzinie nie spełniają tego warunku, to można je poddać odpowied niej normalizacji, o ile ich przeciwdziedziny są przedziałami obustronnie ograni czonymi. Przyjmiemy teraz, że pierwotne cechy <£o, \, • • • 9 n-i zostały już w razie potrzeby znormalizowane i każda z nich może przyjmować wartości z przedziału [0,1], Wówczas rozszerzone cechy mogą być wyznaczane na podstawie cech pier wotnych dla każdego przykładu x £ X według następującej formuły stosowanej dla wszystkich i = 0 , 1 , . . . , n' — 1:
\
2>j=0 rij
)
przy czym dla dowolnego y G 3¾
¢(,) = / ° ^ y ^
(8.27)
[1 jeśli y > 0. Występujące w równaniu (8.26) współczynniki r^*, dla i — 0 , 1 , . . . ,n' — 1, j ~ 0 , 1 , . . . , n — 1, są ustalonymi liczbami wybranymi losowo ze zbioru {—1,1} podczas inicjowania aproksymatora i nie są zmieniane w trakcie jego działania. Wektor (f)!{x) powstaje więc dla każdego przykładu x G X na podstawie wektora 4>{x) w drodze pewnego nieliniowego przekształcenia, zależnego od ustalonych, lecz wybranych losowo parametrów. Nieliniowe przekształcenie jest w naszym przypadku reprezentowane przez funkcję skoku jednostkowego £, która przyjmuje wartość 1 dla argumentów przekraczających 0 i wartość 0 dla argumentów po niżej 0. Argumentem tej funkcji jest średnia ważona wartości cech pierwotnych dla przykładu x, przy obliczaniu której rolę wag odgrywają losowo ustalone pa rametry aproksymatora. Podejście to jest motywowane nadzieją, że nieliniowość wprowadzona w ten sposób do zależności hw(x) od {x) będzie wystarczająca do dostatecznie dokładnego aproksymowania funkcji docelowej. Randomizowane odwzorowanie dla atrybutów dyskretnych W stosunkowo prosty sposób można zaprojektować odwzorowanie, które umoż liwi wykorzystanie aproksymatorów funkcji opartych na reprezentacji randomizowanej także dla przykładów opisanych przez atrybuty dyskretne. Można przy jąć, że, podobnie jak w przypadku cech ciągłych, poszukiwane jest odwzorowa nie przekształcające wektory wartości atrybutów dla poszczególnych przykładów
452
ROZDZIAŁ 8. UCZENIE SIĘ APROKSYMACJI FUNKCJI
w wektory rozszerzonych cech, z których część ma wartość 1, a pozostałe war tość 0. Jest to tutaj szczególnie dogodne podejście, gdyż z odwzorowaniami wekto rów wartości atrybutów na zbiór {0,1} mieliśmy w poprzednich rozdziałach sporo do czynienia. Można, zauważywszy tę zbieżność, przypuszczać, że do reprezen towania interesującego nas obecnie odwzorowania mogą być przydatne metody stosowane do reprezentowania hipotez do uczenia się pojęć. Weźmy pod uwagę dowolną metodę reprezentowania hipotezy dla pojęcia po jedynczego, czyli pewnej funkcji przekształcającej dziedzinę na zbiór kategorii {0,1}. Metoda ta może być równie dobrze wykorzystana do reprezentowania za leżności każdej cechy rozszerzonej fy dla i = 0 , 1 , . . . , n' — 1 od przykładów, a ściślej wartości opisujących je atrybutów. Każda cecha rozszerzona może przyj mować wartość 0 albo 1 niezależnie od pozostałych, więc każdej z nich odpowia da oddzielna, niezależna „hipoteza". Cudzysłów jest w tym przypadku koniecz ny, gdyż omawiane odwzorowanie z hipotezami dla uczenia się pojęć może mieć wspólną reprezentację i formalną postać funkcji przekształcających dziedzinę na zbiór {0,1}, nie istnieją jednak żadne pojęcia, które miałyby być przez nie przy bliżane. Z punktu widzenia celów reprezentacji randomizowanej odwzorowania te mogą być zupełnie arbitralne, ustalone w dowolny losowy sposób, nie podlegają więc uczeniu jak hipotezy. Ich losowe konstruowanie powinno tylko zapewnić, że każdy przykład dziedziny jest przez niektóre z nich przekształcany na 1 i przez pozostałe na 0 oraz przy prezentacji losowo wybranych przykładów wartości 1 występują dla każdego z tych odwzorowań ze zbliżoną częstością. Byłoby też do brze, aby dla przykładów podobnych w sensie wartości cech pierwotnych również wektory cech rozszerzonych zachowywały podobieństwo. Szczegółowa realizacja odwzorowania randomizowanego zgodnie z naszkico wanym podejściem zależy od wybranej metody reprezentacji. Podstawowe meto dy, jakie poznaliśmy w tej książce, to drzewa decyzyjne i reguły, a w tym przy padku raczej kompleksy, gdyż przy dwuelementowym zbiorze „kategorii" można pominąć ich część decyzyjną, przyjmując, że każdy kompleks reprezentuje „hi potezę" klasyfikującą jako pozytywne przykłady pokrywane przez ten kompleks. Ich wykorzystanie w tym przypadku prowadzi, odpowiednio, do reprezentacji za pomocą randomizowanych drzew i randomizowanych kompleksów.
Randomizowane drzewa. Przy tym podejściu z każdą cechą rozszerzoną nale ży związać losowo wygenerowane drzewo decyzyjne dla atrybutów określonych na dziedzinie i zbioru kategorii {0,1}. Można przyjąć ustaloną głębokość drzewa i skonstruować je w sposób zstępujący, wybierając losowo testy, a następnie liście opatrzyć w losowy sposób etykietami. Wówczas odpowiednia cecha rozszerzona przyjmuje dla każdego przykładu wartość określoną przez etykietę liścia, który zostanie osiągnięty przy stosowaniu drzewa do „klasyfikacji" tego przykładu.
8.4. ROZSZERZONA REPREZENTACJA
453
Randomizowane kompleksy. Zamiast drzewa decyzyjnego z każdą cechą roz szerzoną można związać kompleks, przyjmując, że cecha ta ma wartość 1 dla tych i tylko dla tych przykładów, które są przez ten kompleks pokrywane, i wartość 0 dla pozostałych przykładów. Szczegółowy sposób losowego generowania kom pleksów nie jest szczególnie istotny. Jedno z najprostszych możliwych podejść może polegać na losowaniu zbioru wartości dopuszczalnych dla selektora odpo wiadającego atrybutowi a : X H-» A jako jednego z jego 2^A\ — 1 podzbiorów (z wyłączeniem zbioru pustego). Rozmiar reprezentacji randomizowanej Skuteczność metod aproksymacji opartych na reprezentacji randomizowanej za leży przede wszystkim od rozmiaru rozszerzonej przestrzeni cech. Przy pewnych założeniach można udowodnić, że dla dostatecznie dużych wartości n' reprezenta cja ta umożliwia dowolnie dokładne przybliżanie dowolnych funkcji docelowych, a także uzyskanie dowolnie dużej szybkości uczenia się (czyli zbliżającej się do maksymalnej szybkości, przy której wystarczy jednokrotna prezentacja każdego przykładu trenującego). Nie jest niestety jasne, jaki rozmiar jest w konkretnych przypadkach dostatecznie duży i zazwyczaj niezbędne jest dobranie go ekspery mentalne. Typowe wartości nf nie są na pewno rzędu kilku ani kilkudziesięciu, a raczej co najmniej kilkuset lub kilku tysięcy. Oczywiście zwiększanie długości wektora cech nie może następować bez ograniczeń, gdyż rodzi groźbę nadmier nego dopasowania, a poza tym jest dość kosztowne obliczeniowo. Poza rosnącym zapotrzebowaniem na pamięć, które na ogół nie jest trudno zaspokoić we współ czesnych komputerach, wpływa na to koszt obliczania (f>,(x) na podstawie {x) oraz hw(x) na podstawie <£'(#). Pierwsza z tych operacji kosztuje 0(nn!), gdyż wartość każdej cechy rozszerzonej zależy od wartości wszystkich cech pierwot nych, i nie da się tu na obliczeniach nic zaoszczędzić. Pewne oszczędności są możliwe w drugim przypadku, jeśli dla każdego przykładu x w rozszerzonej re prezentacji jest stosunkowo niewiele cech o wartoścach różnych od 0 — tylko wagi odpowiadające tym cechom trzeba uwzględnić przy obliczaniu wartości hi potezy. Wymaga to jednak specjalnej konstrukcji randomizowanej reprezentacji i prosta propozycja przedstawiona jako równanie (8.26) nie zapewnia spełnienia tego warunku. Może zatem okazać się w konkretnych przypadkach praktycznych, że względy ekonomii obliczeniowej uniemożliwiają skonstruowanie na tyle dużej rozszerzonej randomizowanej reprezentacji, aby dała zadowalające efekty. 8.4.3
Rozproszone przybliżone kodowanie
Dużą skuteczność z efektywnością obliczeniową znakomicie łączy konstruowanie rozszerzonej reprezentacji za pomocą rozproszonego przybliżonego kodowania.
454
ROZDZIAŁ 8. UCZENIE SIĘ APROKSYMACJI FUNKCJI
W podejściu tym rozszerzona przestrzeń cech jest na ogół bardzo duża, lecz dla każdego przykładu x G X jedynie stosunkowo niewielka liczba rozszerzonych cech $i(x) ma wartości różne od 0. Dzięki temu obliczenie hw(x) nie wiąże się z dużymi kosztami, gdyż wszystkie cechy o zerowych wartościach mogą zostać pominięte. Również proces znajdowania tych z, dla których ^(x) ^ 0, może być zazwyczaj przeprowadzony bardzo efektywnie. Ma to decydujące znaczenie dla praktycznej atrakcyjności rozproszonego przybliżonego kodowania. W metodach, o których mowa, na ogół przyjmuje się, że cechy rozszerzonej przestrzeni są binarne. Dla każdego przykładu x E X oraz i = 0 , 1 , . . . , n' — 1 ma my więc (f)fi{x) G {0,1}, przy czym liczba jedynek w wektorze
(8.28)
(Vt G { 0 , 1 , . . . ,n' - 1} - I(x)) Ą{x) = 0.
(8.29)
oraz
Dla każdego i G I(x) cechy <j>i{x) oraz wagi wi nazwiemy odpowiednio aktyw nymi cechami i wagami dla przykładu x. Wówczas obliczymy wartość hipotezy reprezentowanej przez wektor w dla przykładu x jako sumę aktywnych dla tego przykładu wag:
W celu aktualizacji h na podstawie przykładu trenującego (x, f(x) — hw(x)} do konamy zaś modyfikacji wi := AWi dla każdego i G I(x), przy czym
AWi=P(f(x)-hw(x))9
(8.31)
8.4. ROZSZERZONA REPREZENTACJA
455
co jest bezpośrednią konkretyzacją reguły delta danej równaniem (8.15) dla po jedynczego przykładu. Okazuje się jednak, że w praktyce łatwiej jest dobrać od powiednią wartość parametru rozmiaru kroku, jeśli jest ona dzielona przez liczbę wag podlegających aktualizacji. Powyższą regułę zastępuje się więc najczęściej regułą Awi
P(f(x)~hw(x)) \I(xJ\ '
(832)
przy stosowaniu której dobór (3 nie zależy od liczby aktywnych cech. Jest to oczy wiście zwykła reguła Widrowa-Hoffa w wersji znormalizowanej, gdyż w tym przyPadku E t o 1 «>i = |/(s)lZgodnie z powyższym opisem istotą rozproszonego przybliżonego kodowa nia jest odwzorowanie przykładów na zbiory numerów aktywnych wag, będące niewielkimi podzbiorami zbioru { 0 , 1 , . . . , n' — 1}. Jest to kodowanie rozproszo ne, gdyż każdemu przykładowi odpowiada (w nietrywialnych przypadkach) wię cej niż jedna waga, oraz przybliżone, gdyż zbiory wag odpowiadających różnym przykładom mogą się częściowo pokrywać. Oznacza to, że wartość hw(x) jest reprezentowana przez wagi W{ dla i € I{x), przy czym dla x\ ^ x2 jest moż liwe, że I(x\) fi I(x2) ^ 0. W przypadku zdegenerowanym, kiedy dla każdego x £ X zbiór I(x) zawiera dokładnie jeden numer wagi ix, otrzymujemy oczywi ście hw (x) — W{x. Mamy wówczas do czynienia z tablicową reprezentacją aproksymowanej funkcji, przy czym dla argumentu x wartość ix jest indeksem elementu tablicy przechowującego przybliżoną wartość funkcji f(x). Rozproszone przybli żone kodowanie prowadzi do uogólnienia prostej reprezentacji tablicowej i otrzy mywane w ten sposób aproksymatory funkcji będziemy nazywać rozproszonymi przybliżonymi tablicami, Wyznaczanie aktywnych cech Różne rodzaje rozproszonych przybliżonych tablic różnią się sposobem wyznacza nia dla przykładu x odpowiadającego mu zbioru I(x). Stosowane w tym celu me chanizmy kodowania mogą być różne i w razie potrzeby dostosowane do właści wości dziedziny. Ze względu jednak na skuteczność tego typu aproksymatorów, ro zumianą jako możliwość uzyskania hipotez o małym błędzie rzeczywistym dzięki odpowiedniej generalizacji przykładów trenujących, naturalne jest nałożenie pew nych ograniczeń na metody wyznaczania I{x). Chodzi w szczególności o to, że dla podobnych przykładów (cokolwiek w danej dziedzinie miałoby to oznaczać) otrzymujemy podobne (zawierające wspólne elementy) zbiory numerów aktyw nych cech, przy czym stopień podobieństwa określa liczbę wspólnych elementów tych zbiorów. Oczy wiste jest, że jeśli dla pewnych przykładów xi, x2 E X mamy I(xi) = I(x2), to także hw(x\) — hw(x2), co jest do przyjęcia tylko wówczas,
456
ROZDZIAŁ 8. UCZENIE SIĘ APROKSYMACJI FUNKCJI
gdy przykłady te są na tyle podobne, że f{x\) « /(^2)- Jeśli z kolei dla pewnych x\,X2 G X m a m y J ( x i ) / /(£2), ale I{x\) f)I(x2) ^ 0, to aktualizacja wartości funkcji dla przykładu trenującego {x\^j{x{) — hw{x\)) spowoduje, że zmieni się nie tylko wartość hw(xi), lecz także wartość hw(x2)* W ten sposób informacja trenująca, dostępna dla przykładu x\, będzie uogólniona. Uogólnienie to nie bę dzie jednak dotyczyć przykładu x% £ X, który jest na tyle mało podobny do x\, że I(x\) n I(xs) — 0. Taki sposób uogólniania, który dotyczy jedynie dostatecznie podobnych przykładów, nazywany jest lokalną generalizacją. Aproksymator CMAC: 1 wymiar Najbardziej znaną i najczęściej stosowaną konkretyzacją ogólnej koncepcji aprok symacji funkcji za pomocą rozproszonego przybliżonego kodowania jest aprok symator CMAC7. Do jego pełnego opisu pozostaje nam tylko określenie, w jaki sposób dla dowolnego przykładu x £ X jest wyznaczany zbiór aktywnych cech rozszerzonej reprezentacji I(x). W przypadku aproksymatora CMAC takie od wzorowanie przykładów na odpowiadające im zbiory aktywnych wag przeprowa dzane jest na podstawie wektora oryginalnych cech >. Najwygodniej będzie przed stawić istotę stosowanego w tym celu przekształcenia, ograniczając się chwilowo do z pozoru trywialnego przypadku jednowymiarowego wektora cech, dla każdego przykładu x E X złożonego z pojedynczej wartości 0o(#)Załóżmy, że przeciwdziedziną cechy
(Vxex)Mx)e(ei\et0}.
(833)
Dyskusję sposobu postępowania z cechami, których przeciwdziedziną jest z jed nej lub z obu stron nieograniczona, odłożymy na później. Przyjęcie przedziału (01,02*°] za prawostronnie domknięty jest podyktowane wyłącznie wygodą dal szej dyskusji i nie ma zasadniczego znaczenia. Weźmy obecnie pod uwagę po dział tego przedziału na mo przyległych podprzedziałów o końcach wyznaczonych przez ciąg rzeczywistych wartości 0oo = 0f°, 0oi, • • •, 0Omo = #2°* Mamy więc dla każdego j — 0 , 1 , . . . , mo — 1 przedział (0OJ, 0o,j+i], który będziemy oznaczać przez IQJ i nazywać przedziałem o numerze j . Zauważmy, że z każdym z naszych przedziałów możemy związać numer aktywnej cechy rozszerzonej reprezentacji. Dokładniej, możemy przyjąć, że dla dowolnego przykładu x G X numer przedzia łu, do którego należy o(x) Jest jednocześnie numerem jedynej aktywnej cechy (i w związku z tym wagi) dla tego przykładu. W ten sposób otrzymujemy I(x) = {j} wtedy i tylko wtedy, gdy o(x) E IQJ. Spełniającą ten warunek wartość j będzie my oznaczać przez jo(x). Jest to jednak zdegenerowany przypadek rozproszonego 7
Jest to skrót od angielskiej nazwy Cerebellar Model Articulation Controller.
8.4. ROZSZERZONA REPREZENTACJA
457
przybliżonego kodowania, w którym staje się ono równoważne ze zwykłą repre zentacją tablicową, dla której poszczególne elementy tablicy (wagi) odpowiadają przedziałom, na które podzielono zakres o(x). Wciąż ograniczając się do jednowymiarowego wektora cech możemy uznać za istotę uogólnienia przez aproksymator CMAC reprezentacji tablicowej pokrycie przedziału (#f°, 0f°] niejedną, lecz wieloma rodzinami przyległych przedziałów, o końcach przesuniętych względem siebie. Takie rodziny przedziałów będziemy nazywać warstwami. Niech L oznacza liczbę warstw przedziałów. Podział na podprzedziały, o którym mówiliśmy dotychczas, uznamy za podział warstwy 0. Za znaczając numer warstwy w górnym indeksie, możemy napisać, że jest to podział na przedziały i$- — (0^-, 0§ •_,_x] dla j — 0 , 1 , . . . , rriQ — 1. Z kolei dla warstwy o numerze / > 0 mamy podział na mo + 1 przedziałów Ąj = (#o?, #o,j+i] dla i — 0 , 1 , . . . , rno -h 1, przy czym dla liczby przedziałów w warstwie l możemy wprowadzić oznaczenie mlQ zdefiniowane jako: (mo Jeśli l = 0, J m Q = <^ (8.34) (mo + 1 jeśli l > 0. Podział w każdej warstwie l > 0 jest jednoznacznie wyznaczany na podstawie podziału warstwy 0 w następujący sposób: /
l
Ł
0
Qj
t° = \ 91^ ?2°
+ lóQj
jeśli j = 0, jeśli 0 < j < m 0 , jeśli j = mo + 1,
(8.35)
przy czym dla j = 1, 2 , . . . , mo parametr SOJ określa wielkość względnego prze sunięcia końców przedziałów o numerze j w kolejnych warstwach. Wielkość ta może być ustalana na różne sposoby, lecz tu przyjmiemy, że jest ona dobierana w sposób zależny od liczby warstw oraz szerokości przedziałów następująco8:
% - *kz3*z±.
(8 .36)
Gdyby za pomocą podanej wyżej formuły zostały wyznaczone końce przedziałów warstwy o numerze £, mielibyśby 9^- = 0§ • dla j = 0 , 1 , . . . , mo, czyli prze działy warstwy L pokryłyby się z przedziałami warstwy 0. Nie dochodzi do tego, gdyż ostatnia warstwa ma numer L — 1, a zatem przedziały kolejnych warstw są przesunięte względem siebie i warstw jest tyle, że w wyniku kumulacji przesunięć nie dochodzi do pełnego nałożenia się przedziałów pierwszej i ostatniej warstwy. 8 Spośród innych podejść warto wymienić losowe określanie przesunięcia przedziałów kolejnych warstw, które prowadzi do randomizowanej wersji aproksymatora CMAC.
458
ROZDZIAŁ 8. UCZENIE SIĘ APROKSYMACJI FUNKCJI
Sposób podziału przeciwdziedziny cechy ¢0 za pomocą warstw przedziałów oraz wprowadzone oznaczenia ilustruje rys. 8.2, na którym pokazany jest podział używający L = 4 warstw, przy czym w warstwie 0 przeciwdziedzina jest dzielona na m§ = mo = 5 przedziałów, a dla każdej kolejnej warstwy l — 1,2, 3 mamy ml0 — mo + 1 = 6 przedziałów. £01
£02
£03
#05
£04
*~
$t° mg = 5
1=0 h 001
#00
/ = 1
0°
P02
y
004
03
^05
10
^ Ono
#00^01
11
= 2 0oo
12
13
18
17
#0*
14
15
002
001
0oo
004
#03
_, ml ^ 6 #06
16
004
19
001
21
20
&
3 _ ,
m;
004
Rys. 8.2. Ilustracja aproksymatora CMAC dla n = 1 Przyjmując określone wyżej podziały przeciwdziedziny cechy na przedziały dla dowolnego przykładu x € X, można wskazać przedział I1 .l( , o numerze jl0(x) w każdej warstwie / = 0 , 1 , . . . , L — 1, dla którego <J>Q(X) € IlQ .i(x). Przez J1Q(X)
oznaczamy więc numer przedziału w warstwie l, do którego należy wartość ¢0 (x). Jeśli, jak poprzednio, przyjmiemy, że każdy przedział jest jednojednoznacznie związany z pewną aktywną cechą rozszerzonej reprezentacji, to wyznaczenie dla przykładu x wszystkich L numerów przedziałów JQ(X) dla Z — 0 , 1 , . . . , L — 1 umożliwia odwzorowanie tego przykładu na zbiór I(x), zawierający L nume rów aktywnych wag. Nie ma dużego znaczenia konkretny mechanizm konwersji schematów numerowania, umożliwiający przyporządkowanie każdemu numero wi przedziału w ramach każdej warstwy odpowiedniego numeru cechy ze zbioru { 0 , 1 , . . . , n' — 1}. Oznaczymy takie przyporządkowanie numeru cechy z rozsze rzonej reprezentacji przedziałowi o numerze j w warstwie l przez ipl{j). Dla usta lenia uwagi możemy przyjąć najprostszy schemat adresowania, zgodnie z którym przedziałowi Ąj odpowiada cecha o numerze
j(j) = lj \mo + ( / - l ) ( m 0 + l ) + j
jeśli/ = 0
'
(8.37)
jeśli l > 0,
przy czym 0 < j < m0 dla Z = 0 oraz 0 ^ j < m 0 + 1 dla Z > 0. Odpowiada
459
8.4. ROZSZERZONA REPREZENTACJA
to przypisaniu kolejnych cech kolejnym przedziałom kolejnych warstw, według rosnących numerów, przy uwzględnieniu, że w warstwie 0 znajduje się mo prze działów, a w każdej następnej jest ich o 1 więcej. Łączna liczba różnych numerów wag, jakie mogą być wyznaczone, wynosi ri = m0 + (L ~ l)(m 0 + 1)
(8.38)
i w tym przypadku jest to rozmiar rozszerzonej reprezentacji. Na rysunku 8.2 nad każdym przedziałem jest zaznaczony odpowiadający mu numer cechy rozszerzo nej przestrzeni. Dla dowolnego przykładu x E X uzyskujemy w opisany sposób zbiór nume rów aktywnych wag I(x) - {^°(j^(x))^HJo^))^ - ^L~Hjt\^))}Za uważmy, że ze względu na przesunięcia przedziałów w kolejnych warstwach, ma my JQ(X) ^ jl0(x) ^ JQ{X) + 1 °*la dowolnego przykładu x e X i warstwy / > 0. Z kolei dla dowolnych przykładów x\,X2 £ X uzyskamy I(x\) — /(#2), jeśli >o(xi) i ^0(^2) różnią się na tyle mało (poniżej wielkości przesunięcia ć 0j 0( x ) +1 ), że należą do tych samych przedziałów w każdej warstwie. Jeśli różnica staje się większa, to w niektórych warstwach ^0(^1) i ^0(^2) należą do tych samych, a w niektórych warstwach do różnych przedziałów. Wtedy I{x\) ^ /(#2), ale I{x\) n I{x2) 7^ 0. Wreszcie przy dalszym wzroście różnicy między 0o(#i) i ¢0(^2) (przekraczającej szerokość przedziału) trafiają one do różnych przedzia łów w każdej warstwie i wtedy I(xi)Dl(x2) = 0. Widać więc, że mechanizm roz proszonego przybliżonego kodowania stosowany w aproksymatorze CMAC speł nia sformułowane wcześniej postulaty, zapewniające lokalną generalizację. Przykład 8.3. Rozważmy cechę 0O : X *-> (2,10]. Podzielimy ją na m0 = 4 prze działy o równej szerokości, otrzymując dla warstwy 0: 0OO = 2,
#01 = 4,
0O2 = 6,
#03 — 8,
#04 ~ 10
oraz m0 = 4. Przyjmując liczbę warstw L = 4 otrzymujemy wielkość przesunięcia SQj = 0,5 dla każdego j = 1,2,3,4. Umożliwia to wyznaczenie końców przedziałów w warstwach 1,2, 3 następująco: #oo ~ 2, 0 O1 - 2,5,
#00 = 2,
#00 ~ 2,
#01 — 3,
^01 ~ 3,5,
C7 02 = 4,5,
# 0 2 = 5,
^02 ~ 5,5,
603 = 6,5,
#03 — 7,
^03 ~ ' A
2
#04 — 8,5,
0 0i = 9,
#04 ~ 9,5,
#05 = 10,
#05 = 10,
e305 = 10.
Dla / = 1,2,3 mamy oczywiście m0 = 5 przedziałów. Weźmy pod uwagę trzy przykłady #1,^2,23 € X, dla których odpowiednio 0o(21) = 5,75, 0o(^2) = 6,25 i ¢0(^3) = 7,75. Dla tych przykładów otrzymujemy
460
ROZDZIAŁ 8. UCZENIE SIĘ APROKSYMACJI FUNKCJI następujące numery przedziałów zawierających wartość cechy ¢0 w poszczególnych warstwach: j'S(*i) = l,
io(*i)=2,
Jo2(*i) = 2,
j/o 3 (*i)=2,
jg(a:3) = 2,
ii(« 3 )=3,
Jofe) = 3,
$(^)=3.
Umożliwia to wyznaczenie dla rozważanych przykładów numerów aktywnych wag w następujący sposób: < O o ( * i ) ) = V-°(l)
1,
^01(^))=^(2)
4 + 2 = 6,
2
^01(^)) = V- (2)
4 + 1 - 5 + 2 = 11, 4 + 2 • 5 + 2 = 16,
^02(¾)) = V°(2) ^01(^))=^(2) ^01(^))=^(2) ^01(^))=^(2) tf°0S(*3)) = ^°(2) ^01(^))=^(3) ^010¾)) = V2(3) ^01(^)) = ^(3)
2, 4 + 2 = 6, 4 + 1-5 + 2 = 11, 4 + 2 - 5 + 2 = 16, 2, 4 + 3 = 7, 4 + 1-5 + 3 = 12, 4 + 2-5 + 3 = 17,
czyli ostatecznie J ( n ) = {1,6,11,16}, I(x2) = {2,6,11,16}, 7(x 3 ) = {2,7,12,17}. Oznacza to, że wartość hipotezy dla tych przykładów będzie obliczona przez sumo wanie wag o odpowiednich numerach w następujący sposób: hw(xi) = wi + we + wn + Wie, hw{x2) = w2 + we + wn + u>16, hw{x3) = w2+w7 + W12 + wn. Jak widać, dla przykładów xi i x2 tylko jedna z czterech stosowanych wag jest różna, a więc generalizacja dla tych dwóch przykładów będzie znaczna. Z kolei dla przy kładów x2 i £3 tylko jedna waga jest wspólna, co oznacza mniejszy stopień generalizacji. Dla przykładów xi i £3 nie jest stosowana żadna wspólna waga, co wyklucza generalizację. Zauważmy na koniec, że łączna liczba wag, czyli rozmiar rozszerzonej reprezentacji, wynosi w tym przypadku n' = 4 + 3 • 5 = 19.
8.4. ROZSZERZONA REPREZENTACJA
461
Aproksymator CMAC: n wymiarów Pozostaje nam tylko uogólnić przedstawiony schemat na większą liczbę wymiarów oryginalnej przestrzeni cech ¢. Przyjmiemy więc obecnie, że jest to przestrzeń n-wymiarowa dla dowolnego ustalonego n ^ 1. Uzupełnienia, jakich wymaga w związku z tym powyższa dyskusja, nie są zbyt duże, a istotną ich część stanowią proste uzupełnienia notacji. Załóżmy, że dla każdego wymiaru i = 0 , l , . . . , n — 1 wartość cechy 4>i (x) jest dla każdego przykładu x G X ograniczona przez wartości et\ef G -czyli
(v« e {o, i,... ,n - i})(Vx G x) i{x) e (ep.epl
(8.39)
Każdy z przedziałów [Of^Op] dla poszczególnych wymiarów i = 0 , 1 , . . . , n — 1 pokryjemy L warstwami przyległych podprzedziałów. Dla warstwy 0 będzie to mi przedziałów ifj = (0j •, 0j)<7-+1] dla j = 0 , 1 , . . . , m* - 1, przy czym 9i0 = #f* oraz dimt - ^2 * D l a kolejnych warstw l — 1, 2 , . . . , L - 1 mamy podział na mi + 1 przedziałów / j - = (0jj, 0jj + i] dla j — 0, l , . . . , m*. Liczbę przedziałów dla cechy (pi w warstwie l oznaczymy przez m\, przy czym zgodnie z powyższym opisem i m
[mv
H
jeśli l = 0,
M
T
,sn
(8 40)
-
[ma- + 1 jesh / > 0. Korice przedziałów warstwy / wyznaczone są następująco: 79'
u
'0? C-i + ^j
jeśli j' = 0, jeśliO < j ^ m ^ , jeśli; = m i + l,
(8.41)
przy czym , ^2J =
„
ij-i^
(8_42)
Rysunek 8.3 ilustruje przyjętą notację i różni się od rys. 8.2 dla przypad ku jednowymiarowego tylko tym, że numer cechy 0 jest w oznaczeniach zastą piony przez i. Bardziej interesujący jest obecnie rys. 8.4, który ilustruje przyję ty w aproksymatorze CMAC sposób podziału przeciwdziedziny cech za pomo cą warstw przedziałów w przypadku dwuwymiarowym. Dla większej czytelności każdą z czterech warstw pokazano oddzielnie. Jak widać, podział na przedziały dla dwóch wymiarów daje w wyniku podział na prostokąty na płaszczyźnie 3¾2. Stosując wprowadzony podział dla dowolnego przykładu x G X można wy znaczyć, dla każdej jego oryginalnej cechy 4>i{x), i = 0 , 1 , . . . ,n - 1, numer
462
ROZDZIAŁ 8. UCZENIE SIĘ APROKSYMACJI FUNKCJI Su
Si2
Si*
5i4
$i5
| ta. 01 ( T )
1
1
ep
ep 1 = 0
i I nO t0
y
1 = 1
i
i
1
1
— ) . _.J_ nO : y i2 :
<&
1 1
^i0
1 = 3
1—
fl3
i
i
1
e°a
y
#i2
\
1i
d3
0 L5
04
i oh
1
6n
1
oh
— i i
1
m? = 5
6%
i4
j 1
02 1 = 2
1
1
1
! ; :
:
1
:
1 0{6
j
i
m\ = 6
m\ = 6
61 oh
0{A
1i
#i2
if — 1
m? = 6
15^6
Rys. 8.3. Notacja dla aproksymatora CMAC w przypadku wielowymiarowym przedziału każdej warstwy l = 0 , 1 , . . . , L — 1, do której należy i(x). Jeśli nu mer ten oznaczymy przez jlAx), to mamy (pi(x) G Ill( v Weźmy teraz pod uwagę numery przedziałów dla wszystkich cech przykładu x w pewnej ustalonej war stwie L Numery te, czyli odpowiednio jlQ(x),j[(x),..., j^Ł_1(a;), chcemy teraz odwzorować jednojednoznacznie na pewien numer aktywnej rozszerzonej cechy dla przykładu x, który oznaczymy przez il>1 iJo(x), j[{x), •.., Jn-i( x ))- Tak jak w przypadku jednowymiarowym, szczegółowy charakter tego odwzorowania ma znaczenie techniczne i nie jest istotny. Możemy przyjąć, że jest to odpowiednie wielowymiarowe uogólnienie proponowanego tam prostego schematu. Aby je za pisać, weźmy pod uwagę pewną warstwę l. Niech (l(jl0(x),j[(x),... ,Jn_i(x)) oznacza numer aktywnej rozszerzonej cechy dla przykładu x, jaki uzyskalibyśmy nie uwzględniając istnienia pozostałych warstw, czyli przyporządkowując cechom kolejne numery od 0, biorąc pod uwagę wyłącznie warstwę Z. W przypadku jedno wymiarowym mielibyśmy wówczas po prostu (8.43)
C'0')=J-
Uogólnienie do n wymiarów prowadzi w zamian do formuły: n-l
/ż-1
C'(j0,jl,..-,jn-l) = J2
\ m
H k)ji'
(8.44)
ś=0 \fc=0
Można to interpretować jako bezpośrednie zastąpienie indeksowania jednowymia rowego indeksowaniem wielowymiarowym. Musimy teraz uwzględnić, że pierw szy numer wagi dla warstwy l może następować dopiero po wszystkich numerach wag dla warstw od 0 do l — 1. Ponieważ liczba wszystkich różnych numerów, jakie
463
8.4. ROZSZERZONA REPREZENTACJA b)/ = l
a) i = 0 il{x)
i^i(a)
«iV
«?5"
«iV «?«•
»lY
^13
0
«iY
12
«lY *11
0o(x)
0p (x) fló y 00
oÓ tf 01
/)Ó ^02
/iÓ ^03
/)Ó ff 04
flÓ y
05
c)Z = 2 i 0i W y
^00^01
^02
^03
^04
^05
^06
d)/ = 3 i 0i (a;) «3
i6
«?5 «?4
«?4
*13
«?3
tf3 • *12
»?J
«?!•
«?!• «?0"
0o (a?) a ^C) 0 ^ C 1
*c 2
e
l3
«C 4
*Ć5
1 *
*C
6
*?o
o{x)
°i)0
1
)2
0C 3
0* 6
«ŁS
fi
3 06
Rys. 8.4. Ilustracja aproksymatora CMAC dla n = 2 za pomocą powyższego wzoru mogą być wyznaczone dla warstwy /, wynosi n-l
1
M
= n m*>
(8.45)
więc ostatecznie /-i
(8.46) /'=0
dla dowolnych jo>ii>..., jn~i- Jeśli Z = 0, to dla każdego i = 0, l , . . . , n — 1 mamy 0 ^ ji < mu zaś dla Z > 0 odpowiednio 0 ^ ji < mi + 1. Można sprawdzić, że taki schemat adresowania jednojednoznacznie odwzorowuje każdy
464
ROZDZIAŁ 8. UCZENIE SIĘ APROKSYMACJI FUNKCJI
wektor numerów przedziałów na numer wagi. Przyjmując n = 1 otrzymujemy oczywiście Ml = ml0 i i-i
«'=0
Czytelnik łatwo może się przekonać, że jest to tylko inny zapis definicji ipl(j) podanej wcześniej. Postępując w opisany sposób dla każdej warstwy / = 0, ! , . . . , £ — 1 wyzna czamy L-elementowy zbiór numerów aktywnych wag dla przykładu x następu jąco: I (z) = {^(Jo(*)> J i ( ^ ) . • • • ,Jn-i(*0) | i = 0 , 1 , . . . , L - 1}.
(8.48)
Liczba wszystkich wag, jakie mogą zostać tak „zaadresowane", czyli łączna liczba wszystkich rozszerzonych cech, wynosi L-l
n ' = ] £ Af'. /=o
(8.49)
Jeśli przyjmiemy dla uproszczenia, że dla każdego wymiaru i jest stosowany po dział na taką samą liczbę mi = m przedziałów, to n w Lmn.
(8.50)
Przykład 8.4. Rozważmy aproksymator CMAC dla n = 2, przyjmując podziały dla cechy (p0 takie jak w poprzednim przykładzie. Jako drugą cechę weźmiemy pod uwagę 4>\ : X H-> (4,14] i jej przeciwdziedzinę podzielimy w warstwie 0 na mi = 5 podprzedziałów o jednakowej szerokości: #io — 4,
#ii = 6,
012 = 8,
9°13 = 10,
0°4 = 12,
0°5 = 14.
Ponieważ w dalszym ciągu liczba warstw wynosi L = 4, także teraz otrzymamy wiel kość przesunięcia <5ij = 0,5 dla każdego j — 1, 2, 3,4,5. Umożliwia to wyznaczenie końców przedziałów w warstwach 1, 2,3 następująco: 0?o=4,
0ii = 4,5,
0io=4, 0n=5,
0} 2 = 6,5,
012 = 7,
012 = 7,5,
«13 = 8,5,
0?3 = 9,
013 = ">5,
«14 = 10,5,
014 = U ,
0?4 = 11,5,
«15 = 12,5,
0?8 = 13,
0?5 = 13,5,
0\o = 4,
0?i = 5,5,
465
8.4. ROZSZERZONA REPREZENTACJA
e[6 = i4,
ą6 = i4,
e\, = u.
Dla / = 1,2,3 mamy oczywiście m[ = 6 przedziałów, Załóżmy, że dla przykładów x\,X2,x% G X, rozważanych w poprzednim przy kładzie, mamy <j>\{x\) = 8,25, ¢1(0:2) — 9,25 i ¢1(^3) = 10,25. Umożliwia to wyznaczenie dla każdego z tych przykładów numerów przedziałów zawierających wartość cechy <j>\ w poszczególnych warstwach: j°l(xl) - 2,
jl(Xl)
= 2,
Jl(Xl)
- 2,
^(an) = 2,
. f e ) - 2,
ilfe) = 3,
jj(x2)
= 3,
jf(x2)
= 2,
Ji°(^3) - 3,
j j f o ) = 3,
^ f o ) - 3,
jf(x3)
= 3.
Na podstawie tych numerów oraz numerów wyznaczonych w poprzednim przykładzie dla cechy 0 możemy wyznaczyć wartości (l{jo>ji) — jo + rnŁQji:
eu^i),^)) = 1 + 4 fUłMJłM)= 2 + 5
2 == 9, 2 = 12,
C U ( * I ) , J ( * I ) ) = 2 + 5 2 == 12, ?UU*i)JU*i))= 2 + 5 2 == 12, 2
2
?US(*2),fi(X2))=
fUŹMJłfa)) 2 2
C U O(X2)J!(X2))
2 + 4 2 = 10,
= 2 + 5 3 =•17, = 2 + 5 3 = 17,
3
C UU*2),J?{X2)) = 2 + 5 2 = 12, = 2+4 Cifo^J^s)) fUfaJJłte)) = 3 + 5 ?Vfo*),jfo3)) = 3 + 5 C(fo(^)Jt(^)) -= 3 + 5
3 = 14, 3 = 18, 3 = 18, 3 = 18.
Dla warstwy 0 otrzymujemy natychmiast ^°(jo,ii) = C°0'o,ji), czyli:
tf>°Oo0(si).ii0(*i))=9, ^ ( ^ 2 ) , ^ 2 ) ) = 10,
V>0(io0te),jT(s3)) = 14. Dla warstwy 1 mamy ^ 0 0 , ^ 1 ) = mgm? +
Cl(jo,h),
czyli: ^ 0 0 ( ^ 1 ) . ^ ( ^ 1 ) ) = 4 - 5 + 12 = 32,
466
ROZDZIAŁ 8. UCZENIE SIĘ APROKSYMACJI FUNKCJI
^ ^ ( ¢ 2 ) , ^ ( 3 : 2 ) ) = 4 - 5 + 1 7 = 37, ^ $ ( ¢ 3 ) , . 7 ^ 3 ) ) = 4 - 5 + 1 8 = 38.
Dla warstwy 2 ip2(Jo,Ji) = m ° m ? + m o T O i
+(,2(jo,ji),
skąd: 1>2Uo(zi)> i i ( * i ) ) = 4 • 5 + 5 • 6 + 12 = 62, tfUo^jfe*))
= 4 • 5 + 5 • 6 + 17 = 67,
tfUofahJifa))
= 4 • 5 + 5 • 6 + 18 = 68.
Wreszcie dla warstwy 3 ip3Uo,ji) = m{]m? + mlm\ + m%m\ + C 2 (j 0 , ji), co umożliwia obliczenie: V>30'o (*i),Ji(*i)) = 4 - 5 + 5-6 + 5 - 6 + 1 2 = 92, ^UoMJifa))
= 4 • 5 + 5 • 6 + 5 • 6 + 12 = 92,
^UoMJifa))
= 4 • 5 + 5 • 6 + 5 • 6 + 18 = 98.
Ostatecznie otrzymujemy więc następujące zbiory numerów aktywnych wag: J(xi) = {9,32,62,92}, I{x2) = {10,37,67,92}, J(x 3 ) = {14,38,68,98}. Lokalna generalizacja może nastąpić dla przykładów x\ i x2, którym odpowiada jedna wspólna aktywna waga. Łączna liczba wag rozszerzonej reprezentacji wynosi w tym przypadku n' = 4 - 5 + 5-6 + 5-6 + 5-6 = 110. Rozdzielczość a generalizacja i liczba wag Z przedstawionych zasad wyznaczania aktywnych wag w aproksymatorze CMAC wynika, że jeśli dla dowolnych dwóch przykładów x\,X2 G X warunek \Mxi)
- Mx2)\
<
min
{^j i °(x 1 )+i^ż J ; 0 (a; 2 )+i}
(8-51)
jest spełniony dla każdego i = 0 , 1 , . . . , n — 1, to I{xi) — /(#2). Oznacza to, że przykłady x\ i x2 nie są przez aproksymator rozróżniane i dla dowolnej hipotezy h, jaką mogą reprezentować jego wagi, zawsze będzie hw(x\) — hw(x2)^ O tym, jak
8.4. ROZSZERZONA REPREZENTACJA
467
bliskie sobie ze względu na wartości poszczególnych cech przykłady nie są rozróż niane, decydują wielkości przesunięcia przedziałów 5{j dla i = 0 , 1 , . . . , n — 1 oraz j = 1, 2 , . . . ,mj. Reprezentują one rozdzielczość aproksymatora. Rozdzielczość jest tym większa, im bardziej podobne przykłady mogą być rozróżniane, a więc im mniejsze są przesunięcia. Wielkość przesunięcia może być inna dla każdej cechy, a także dla jednej ce chy może być różna dla różnych przedziałów jej przeciwdziedziny. Jest to konse kwencją sposobu wyznaczania przesunięć. Wynika z niego, że szerokość przedzia łu warstwy 0 o numerze j - 1 dla cechy o numerze i, czyli /? •_1, jest równa LSij dla j = 1,2,..., rrii. W każdym przedziale odpowiadające mu przesunięcie może więc być „odłożone" L razy, wyznaczając w ten sposób jego podział na L mniej szych przedziałów. Różne wartości cechy należące do każdego z tych podprzedzia łów nie mogą być przez aproksymator rozróżniane. Cała przeciwdziedzina cechy (f>i jest w ten sposób dzielona na miL małych podprzedziałów. Rozróżniane mogą być tylko wartości tej cechy należące do różnych podprzedziałów. Daje to efekt ta ki, jak gdyby została dokonana dyskretyzacja cechy, zastępująca jej wartość ciągłą jedną zmiL wartości dyskretnych. Właśnie taką liczbę rozróżnialnych przedziałów wartości cech można uznać za ustandaryzowaną miarę rozdzielczości. Dła dowolnej cechy fy jej rozdzielczość określimy zatem jako pi — rriiL. Od rozdzielczości zależy oczywiście możliwa do uzyskania dokładność aproksymacji — musi ona zapewniać rozróżnianie przy kładów, dla których funkcja docelowa ma znacząco różne wartości. Nie znając funkcji docelowej, nie możemy wiedzieć, jaka dokładnie minimalna rozdzielczość wystarczy, ale często dostępna wiedza o dziedzinie umożliwia określenie rozsąd nych wymagań. Zakładając więc, że pożądane wartości pi zostały dla każdego i = 0 , l , , . . , n - l w pewien sposób określone, możemy zmierzać do ich uzy skania, dobierając odpowiednio mi oraz L. Dużą rozdzielczość możemy bowiem osiągnąć bądź dzieląc przeciwdziedzinę cechy na dużą liczbę przedziałów, bądź stosując dużą liczbę warstw. W znalezieniu właściwej kombinacji obu wartości może pomóc uwzględnienie wpływu L na generalizację z jednej strony oraz na rozmiar wektora wag z drugiej strony. Nieprzypadkowo liczba aktywnych wag w rozproszonych przybliżonych tablicach bywa nazywana współczynnikiem generalizacji. Jeśli L = 1, to nie występuje żadna generalizacja poza jej zdegenerowaną formą, jaka jest konsekwencją nierozróżnialności przykładów. Każdemu przykładowi odpowiada dokładnie jedna waga, której wartość jest wartością hi potezy dla tego przykładu. Dla przykładów rozróżnialnych otrzymuje się różne numery wag. Wartości L > 1 umożliwiają lokalną generalizację, polegającą na współdzieleniu części wag przez podobne przykłady. Każdemu przykładowi od powiada L wag i im większa jest to liczba, tym więcej wspólnych wag mogą mieć przykłady podobne do siebie. Jeśli więc zależy nam na możliwie szerokim zakresie generalizacji, umożliwiającym uniknięcie nadmiernego dopasowania do danych
468
ROZDZIAŁ 8. UCZENIE SIĘ APROKSYMACJI FUNKCJI
trenujących, to należy brać pod uwagę duże wartości L. Oczywiście zwiększanie L zgodnie z równaniem (8.49) zwiększa rozmiar wektora wag, czyli zapotrzebo wanie na pamięć. Na rozmiar pamięci wpływają jednak przede wszystkim wartości rrii dla poszczególnych i = 0 , 1 , . . . , n — l i łatwo się przekonać, że przy ustalonej rozdzielczości p% można zmniejszać liczbę wag, osiągając tę rozdzielczość przez użycie większej liczby warstw przy mniejszej liczbie przedziałów. Uwzględniając bowiem zależność rrii = ^ otrzymujemy 1
Tl—1
r
-i n — l
skąd widać, że zwiększając liczbę warstw przy ustalonej rozdzielczości można znacznie zmniejszyć liczbę wag. Nie jest zresztą niczym zaskakującym, że hipo teza bardziej ogólna jest jednocześnie hipotezą o mniejszym rozmiarze, a więc prostszą. Jest to zależność, z którą często spotykaliśmy się mówiąc o uczeniu się pojęć. W tym przypadku oznacza ona, że dobór odpowiednich parametrów aproksymatora CM AC ustala poziom wymiany między dokładnością aproksymacji (na zbiorze trenującym) a jej ogólnością i kosztem pamięciowym. Atrybuty dyskretne Dotychczas konsekwentnie zakładaliśmy, że przykłady są opisywane przez wek tory rzeczywistołiczbowych cech, czyli atrybutów ciągłych, nazywanych tak dla podkreślenia, że nie mogą to być atrybuty innych typów. Dla wielu aproksymatorów opartych na reprezentacji parametrycznej jest to istotnie podstawowy wymóg, nie jest on jednak konieczny w przypadku rozszerzonej reprezentacji, a w szcze gólności w przypadku rozproszonej przybliżonej reprezentacji tablicowej. Cechy rozszerzonej reprezentacji są tam binarne i nie ma powodu zakładać, że w prze strzeni oryginalnej mogą wystąpić wyłącznie atrybuty ciągłe. Dopuszczenie atry butów dyskretnych wymaga jedynie opracowania odpowiedniego mechanizmu wy znaczania zbioru I(x) dla każdego przykładu x G X. Zobaczymy jednak, że słowo „jedynie" w poprzednim zdaniu jest mylące, gdyż zadanie to okazuje się niełatwe. Warto mimo to poświęcić mu nieco uwagi, gdyż w różnego rodzaju zastosowa niach metod aproksymacji funkcji opisywanie jej argumentów przez atrybuty dys kretne nie musi należeć do rzadkości. Możliwa jest dość prosta adaptacja aproksymatora CMAC do atrybutów po rządkowych, jeśli mają one stosunkowo wiele wartości. Wówczas można sensow nie mówić o odpowiednio uogólnionych dyskretnych przedziałach i odpowiednio zmodyfikować schemat wyznaczania aktywnych cech. Podobne podejście nie mo że jednak być zastosowane dla dziedzin opisywanych przez atrybuty nominalne. Stosowany tam mechanizm generalizacji nie ma w tym przypadku żadnego sen su, gdyż w przypadku atrybutów nominalnych nie można mówić o podobieństwie
8.5. METODY PAMIĘCIOWE
469
różnych wartości tego samego atrybutu. O ile więc w przypadku przykładów opi sywanych przez atrybuty porządkowe o podobieństwie można było mówić, mając na myśli bliskość wartości poszczególnych atrybutów, o tyle w przypadku atry butów nominalnych żadne różne wartości nie są sobie bliższe niż jakiekolwiek inne i przez podobieństwo przykładów można rozumieć jedynie to, że niewiele atrybutów ma dla tych przykładów różne wartości. Oznacza to, że zastosowanie rozproszonego przybliżonego kodowania wymaga zasadniczo innego mechanizmu odwzorowania przykładów na zbiory numerów aktywnych wag.
8.5 Metody pamięciowe Odchodząc od metod parametrycznych, którym poświęciliśmy dość szeroką, choć daleką od wyczerpania tematu dyskusję, w kolejnej części tego rozdziału zajmie my się innym podejściem do aproksymacji funkcji, opartym na zapamiętywaniu. Metody pamięciowe reprezentują paradygmat „leniwego uczenia się". W przeci wieństwie do wszystkich algorytmów uczenia się, o których była w naszej książce mowa dotychczas, nie zadają sobie one trudu żadnego szczególnego przetwarzania przykładów trenujących w celu uzyskania hipotezy o pożądanych właściwościach, a tylko przykłady te zapamiętują. Trudno wówczas mówić o jakiejkolwiek repre zentacji hipotez, chyba że uznać za nią właśnie pamięć przechowującą przykłady trenujące, być może zorganizowaną w pewien szczególny sposób. Właściwe prze twarzanie następuje wówczas, gdy od systemu żąda się, aby tak rozumianej hipote zy użył, czyli — w przypadku aproksymacji funkcji — podał możliwie dokładne przybliżenie wartości funkcji docelowej dla zadanego argumentu. Sformułowa nie dowolnego pamięciowego algorytmu uczenia się aproksymacji funkcji polega przede wszystkim na określeniu sposobu odpowiadania na zapytania. U podstaw koncepcji pamięciowych metod aproksymacji funkcji leży prze świadczenie, że przy współczesnym stanie techniki można i warto poświęcić dla dokładności aproksymacji i szybkości procesu uczenia się pamięciową i czasową efektywność obliczeniową. Może to wyglądać na kierowanie się technologiczną brutalną siłą, lecz o ocenie omawianych metod nie decyduje ich finezja, lecz sku teczność, a ta okazała się dość znaczna. Zobaczymy zresztą także, że nawet takie brutalne podejście pozostawia sporo miejsca na pomysłowe rozwiązania, wpływa jące na jakość aproksymacji i nakład obliczeń. 8.5.1
Pamięć i jej stosowanie
Aproksymatory pamięciowe należą do tych metod aproksymacji, które nie mogą się zadowolić informacją trenującą w postaci przykładów etykietowanych błęda mi. Przykłady muszą być tu etykietowane wartościami funkcji docelowej, gdyż tylko pod tym warunkiem będzie możliwe wykorzystanie ich do wyznaczenia od-
470
ROZDZIAŁ 8. UCZENIE SIĘ APROKSYMACJI FUNKCJI
powiedzi na zapytanie. Przyjmiemy, że wszystkie takie przykłady, jakie otrzymał aproksymator, składają się na zapamiętany przez niego (w sposób, którym chwi lowo się nie interesujemy) zbiór trenujący T. Zawartością tak rozumianej pamięci są więc pary (x,f(x)) dla x G T. Będziemy zakładać, że przykłady są opisy wane przez n cech, gdyż dodatkowa cecha 4>n o stałej wartości nie będzie w tym przypadku potrzebna. Istotnym założeniem, na którym opierają się metody pamięciowe, jest dostęp ność metryki określonej na dziedzinie X, mierzącej odległość między dowolnymi dwoma przykładami. Jest to pewna funkcja 5 : X x X H-» K + U {0}, która nie musi w zasadzie spełniać żadnych szczególnych warunków (nawet standardowych aksjomatów odległości), a jedynie dobrze odzwierciedlać nasze rozumienie po dobieństwa przykładów z dziedziny, w której jest przeprowadzana aproksymacja funkcji. Tak jak w przypadku aproksymatorów opartych na reprezentacji parame trycznej, mówiąc o metodach pamięciowych będziemy na ogół zakładać, że przy kłady są opisywane za pomocą wektora rzeczywistoliczbowych cech <j>. Wówczas najczęściej jest stosowana standardowa metryka euklidesowa, zgodnie z którą od ległość między przykładami a?i, X2 6 X jest obliczana następująco: n-l
8{xX:x2)
=
N
£(<Mzi)-
(8.53)
2= 0
Zetknęliśmy się z nią już w rozdziale 6, mówiąc o grupowaniu przykładów opisa nych za pomocą atrybutów ciągłych. Tak jak tam sugerowaliśmy, niekiedy wygod nie jest nieco tę metrykę uogólnić w celu umożliwienia przypisania niejednakowej wagi poszczególnym cechom podczas oceniania bliskości przykładów. Można to osiągnąć stosując odległość zdefiniowaną jako n-l
6(xux2)
=
$>?(&(*i)-&(s2))2,
(8.54)
2= 0
przy czym aj dla i = 0 , 1 , . . . , n — 1 są współczynnikami skalującymi, równy mi 1 w przypadku standardowej odległości euklidesowej. Wartości cech, dla któ rych zostaną przyjęte większe współczynniki skalujące, będą w większym stopniu wpływać na ocenę odległości przykładów. Jeszcze jedną z wielu możliwych de finicji odległości dla przykładów opisywanych przez cechy ciągłe jest metryka Minkowskiego, określona następująco: /n-l
S(xux2)=
iJ2Mxl)-
\ p
,
(8.55)
przy czym p > 0 jest ustalonym parametrem. Dla p = 2 otrzymujemy zwykłą metrykę euklidesową. Oczywiście także w tym przypadku mogą być wprowadzone współczynniki skalujące dla poszczególnych cech.
8.5. METODY PAMIĘCIOWE
471
Rzecz jasna odpowiednie miary odległości mogą być określane dla atrybutów różnych typów, a więc także atrybutów porządkowych i nominalnych. W przypad ku tych pierwszych można wykorzystać metryki dla atrybutów ciągłych, odpo wiednio interpretując różnicę wartości porządkowych. Dla tych drugich najprost szym podejściem jest zastosowanie odległości Hamminga, określonej jako liczba różniących się wartości odpowiadających sobie atrybutów dla dwóch przykładów. Mielibyśmy wówczas 6{xux2)
= \{i S { 0 , 1 , . . . ,n - 1} | ai(xi) ^ ai(x2)}\.
(8.56)
Ponownie przyjmujemy tu numerację atrybutów od 0, aby nie wprowadzać dodat kowego zamieszania. Potrafiąc mierzyć stopień podobieństwa przykładów, mamy możliwość odpo wiadania na zapytania na podstawie zawartości pamięci aproksymatora. Najczę ściej bowiem dla zadanego w zapytaniu przykładu x* £ X wyznacza się wartość /i(rr*), mającą być przybliżeniem wartości funkcji docelowej f(x#), biorąc pod uwagę zapamiętane przykłady trenujące (x,f(x)) dla x e T i uzależniając ich wpływ na obliczenie h(x*) od odległości £(#, x*), zdefiniowanej w odpowied ni dla dziedziny sposób. Różne rodzaje aproksymatorów pamięciowych są wy różniane przede wszystkim ze względu na stosowane do tego strategie, z których przejrzymy teraz najbardziej podstawowe. 8.5.2
Najbliższy sąsiad
Najprostszym i najbardziej znanym podejściem do aproksymacji funkcji na pod stawie zapamiętywania jest metoda najbliższego sąsiada, często nazywana krótko NN9. Jak nazwa sugeruje, w celu wyznaczenia odpowiedzi na zapytanie dotyczą ce przykładu x* bierze się pod uwagę najbliższy mu, według przyjętej metryki, przykład trenujący. Jeśli przykładem tym jest (ar, f(x)) dla pewnego x £ T, to przyjmuje się h(x*) = f{x). Formalnie można to zapisać następująco: h{x*) = /(arg min £(£,£*)).
(8.57)
x(ET
Zauważmy, że tak sformułowany algorytm aproksymacji nie wymaga przyjęcia żadnych założeń dotyczących dziedziny i reprezentacji przykładów poza tym, że jest dla nich określona pewna miara odległości. Jest to prawdą dla wielu, lecz, jak zobaczymy, nie dla wszystkich metod pamięciowych. Zauważmy także, że algo rytm najbliższego sąsiada, w przedstawionej podstawowej wersji, nie wymaga za kładania również niczego o przeciwdziedzinie aproksymowanego za jego pomocą odwzorowania docelowego / . Jeśli przeciwdziedziną tą jest zbiór liczb rzeczywi stych W, to algorytm istotnie rozwiązuje zadanie uczenia się aproksymacji, tak jak 9
Jest to skrót od angielskiej nazwy Nearest Neighbor.
472
ROZDZIAŁ 8. UCZENIE SIĘ APROKSYMACJI FUNKCJI
został on sformułowany na początku tego rozdziału. Nic jednak nie stoi na prze szkodzie, aby funkcja / była w rzeczywistości pojęciem, o przeciwdziedzinie bę dącej pewnym zbiorem kategorii C. Wówczas algorytm najbliższego sąsiada roz wiązuje zadanie uczenia się pojęć, gdyż służy do klasyfikowania przykładów na podstawie zapamiętanych danych trenujących. Nas interesuje tu, w rozdziale po święconym aproksymacji funkcji, pierwsze z tych dwóch zastosowań algorytmu, lecz należy sobie zdawać sprawę, że nie wyklucza ono innych. Przy odpowiednio określonej metryce mierzącej odległości między przykładami algorytm najbliższe go sąsiada może w istocie należeć do najskuteczniejszych klasyfikatorów. Zaletą algorytmu NN jest jego prostota i uniwersalność. Uniwersalność umoż liwia stosowanie go do zupełnie dowolnych dziedzin i określonych na nich odwzo rowań. Można również powiedzieć, że charakteryzuje się on bardzo dużą (w isto cie maksymalną) szybkością uczenia się, jeśli zgodzimy się rozumieć przez to, że do uzyskania h(x) = f(x) dla pewnego przykładu x € X wystarczy jed nokrotna prezentacja przykładu trenującego (x,f(x)). Dokładność uzyskiwanej aproksymacji zależy oczywiście od ilości dostępnych danych trenujących i jakości metryki, jaka jest wykorzystywana do znajdowania najbliższych sąsiadów. Oczywistym mankamentem najprostszej wersji algorytmu NN jest łatwo zro zumiała tendencja do nadmiernego dopasowywania się do zaszumionych danych trenujących. Jeśli dla przykładu, którego dotyczy zapytanie, najbliższym sąsiadem będzie przykład o niepoprawnej wartości funkcji docelowej, to błąd odpowiedzi na to zapytanie może być arbitralnie duży. Inny problem to „schodkowość" reali zowanego przez aproksymator odwzorowania h, którego wartości zmieniają się nieciągłe na dziedzinie wokół poszczególnych przykładów trenujących. Często stosowanym uogólnieniem algorytmu NN, który w pewnym stopniu neutralizu je te wady, jest algorytm &NN, używający k najbliższych sąsiadów. Polega on na znalezieniu w zbiorze zapamiętanych przykładów T ustalonej liczby k ^ 1 przy kładów najbliższych przykładowi z*, którego dotyczy zapytanie, i wyznaczeniu h(x*) na podstawie wartości funkcji docelowej dla tych k przykładów. Standardo wym podejściem jest obliczenie średniej arytmetycznej tych wartości. Jeśli więc przez Arg min£ €T £(:r,x*) oznaczymy zbiór k przykładów ze zbioru T najbliż szych przykładowi x według pewnej metryki S, to formalnie algorytm kNN może my opisać następującym równaniem:
jcEArgmin*
r
ó(x,x*)
Podejście to można w tej postaci stosować tylko do aproksymowania funkcji o war tościach rzeczywistoliczbowych. Chcąc używać takiego uogólnienia algorytmu A;NN do klasyfikowania przykładów, można zastąpić obliczanie średniej wyborem najliczniej reprezentowanej kategorii.
473
8.5. METODY PAMIĘCIOWE
8.5.3
Lokalne średnie ważone
Inne podejście do pamięciowej aproksymacji funkcji prezentuje metoda lokalnych średnich ważonych, nazywana też regresją rdzeniową lub interpolacją Shepparda. Przezwycięża ona niektóre słabości algorytmu &NN kosztem większego nakła du obliczeń podczas wyznaczania odpowiedzi na zapytania i mniejszej szybkości uczenia się. Istotą omawianego podejścia jest obliczanie wartości aproksymowanej funkcji dla przykładu x* jako ważonej średniej wartości funkcji dla zapamiętanych przykładów trenujących. W ogólnym przypadku możemy zapisać:
h(x.) = ZęT^fM £^x£T
t
(8 59)
w
xx+
przy czym wxx+ 6 9¾ oznacza wagę stosowaną dla wartości funkcji docelowej dla przykładu x podczas wyznaczania odpowiedzi aproksymatora dla przykładu z*. Oczywiście wagi z reguły zależą od odległości między przykładami, których dotyczą. Dla bliskich sobie według przyjętej metryki przykładów x i x* waga wXx* powinna być duża, tak aby wartość f(x) miała duży wpływ na oblicze nie h(x*). Dla każdego zapytania należy więc najpierw wyznaczyć odpowiedni wektor wag, o rozmiarze równym rozmiarowi pamięci aproksymatora, co niestety wpływa w istotny sposób na koszt obliczeniowy. Proces ten można jednak czę ściowo usprawnić, pomijając przykłady x, dla których wXXm < wm{n, przy czym ta ostatnia wartość oznacza pewien ustalony próg, jaki muszą przekroczyć wagi zapa miętanych przykładów, aby były one użyte do odpowiedzi na zapytanie. Wówczas do obliczenia h(x*) używane są tylko przechowywane w pamięci przykłady w ob rębie pewnej stałej odległości od #*. Odległość ta zależy od charakteru zależności wXx* od5(x,x*). Do wyznaczenia wagi wxx^ dla wartości f(x) używanej do obliczenia h(x*) stosowane są pewne malejące funkcje zależne od J(x, #*), nazywane funkcjami wygładzającymi lub ważącymi, gdyż decydują one o wpływie wartości f(x) dla różnych x na wartość h(x*). Do najbardziej typowych wykorzystywanych w tym celu funkcji należy funkcja gaussowska, zgodnie z którą wxx. = e x p ( - ^ P ^ )
(8.60)
lub tańsza do obliczenia i wolniej „opadająca" hiperbola kwadratowa W x
* * = l + m(8(Xlx.)/kr
(8 61)
-
przy czym typową wartością m jest 20. Przyjmuje się parametryzować funkcję wygładzania parametrem k9 nazywanym szerokością rdzenia wygładzania, który określa odległość przykładu x od przykładu x* (w sensie metryki 5), przy której
474
ROZDZIAŁ 8. UCZENIE SIĘ APROKSYMACJI FUNKCJI
funkcja wygładzająca ma jeszcze znaczącą wartość. Niekiedy jawnie uwzględnia się w definicji funkcji wygładzającej minimalną odległość <5mjn, przy której przyj muje ona niezerowe wartości. Może być w szczególności stosowana następująca formuła obliczania wag: ( ł -6(x,x*)p [0
jeśli <5(a;,a;*) ^ <Jmin, jesli<5(:r,£*) > ó min ,
przy czymp ^ 0. Niezależnie od konkretnej definicji funkcji wygładzającej metoda regresji rdze niowej wymusza gładkość odwzorowania h. Oznacza to siłą rzeczy, że można za jej pomocą aproksymować węższą klasę funkcji niż za pomocą metody najbliższe go sąsiada, chociaż umożliwia lepszą interpolację między rzadko rozrzuconymi przykładami trenującymi oraz niwelowanie szumu. W ten sposób zwiększa możli wość generalizacji i zmniejsza ryzyko nadmiernego dopasowania. 8.5.4
Lokalna regresja
Ostatnią grupą pamięciowych metod uczenia się aproksymacji funkcji, o jakiej tu wspomnimy, są metody lokalnej regresji. Nazwa sugeruje, że można je dobrze określić przeciwstawiając globalnej regresji. Globalna regresja to nic innego jak inna nazwa parametrycznych metod aproksymacji, a dokładniej mechanizmu do bierania wektora parametrów (wag) w celu uzyskania jak najlepszego przybliżenia funkcji docelowej dla dostępnych danych trenujących. W metodach globalnej regresji zakłada się, że przybliżenie funkcji docelo wej dla każdego argumentu x G X może być reprezentowane jako pewna usta lona funkcja zależna od wektora cech (x) i parametryzowana przez wektor wag w. Wyróżniliśmy regresję liniową, dla której zależność h(x) od <j>(x) jest liniowa i może być zapisana jako h(x) = wT(j)(x), oraz regresję nieliniową, w której zależ ność ta jest bardziej skomplikowana i ma charakter nieliniowy. W obu przypadkach wektor wag można inkrementacyjnie modyfikować na podstawie przykładów tre nujących, stosując odpowiednie postaci reguły delta. Proces dopasowywania wag do danych trenujących, czyli właśnie regresji, ma tu charakter globalny, gdyż dąży się do uzyskania jednego wektora wag, umożliwiającego aproksymowanie funkcji docelowej z dostateczną dokładnością na całej dziedzinie. Różnica między regresją globalną a regresją lokalną polega w świetle powyż szej rekapitulacji na tym, że ta ostatnia zamiast jednego, wspólnego dla całej dzie dziny wektora wag (modelu globalnego), stara się dopasować do danych trenu jących wiele różnych wektorów wag dla różnych fragmentów dziedziny (modeli lokalnych). Każdy z nich jest wyznaczany w trakcie przetwarzania zapytania na podstawie przykładów trenujących najbliższych przykładowi, którego to zapyta nie dotyczy, uwzględnianych w stopniu określonym przez ich odległość od niego.
8.6. METODY SYMBOLICZNE
8.6
475
Metody symboliczne
Tytuł tego podrozdziału może wydawać się intrygujący, gdyż sugeruje możliwość reprezentowania dowolnych funkcji docelowych w symbolicznej, a więc czytelnej, łatwo poddającej się interpretacji postaci. Jest to niestety do pewnego stopnia tytuł mylący: metody, którym jest poświęcony ten podrozdział, nie są w istocie w peł nym tego słowa znaczeniu symboliczne, lecz zawierają bardzo istotny składnik symboliczny. Być może, najbardziej uzasadnione byłoby nazwanie ich metodami symbolicznej lokalnej regresji, gdyż leżąca u ich podstaw koncepcja sprowadza się do wykorzystania symbolicznych metod reprezentacji wiedzy do określenia warunków nakładanych na wartości atrybutów (dowolnego typu). Dla przykładów spełniających takie warunki jest następnie wyznaczany model regresyjny, najczę ściej liniowy. O ile więc w symbolicznych systemach uczenia się pojęć hipotezy reprezentowane przez drzewa decyzyjne lub reguły odwzorowują przykłady na ka tegorie, o tyle obecnie będziemy mieć do czynienia z odwzorowaniem przykładów na stosowane dla nich lokalne modele. Cel, któremu miały służyć drzewa decyzyj ne przy rozproszonym przybliżonym kodowaniu dla atrybutów nominalnych, jest tylko z pozoru podobny. Wówczas reprezentowanemu przez nie odwzorowaniu nie można było przypisać żadnej interpretacji i dlatego było konstruowane w sposób losowy. Obecnie możliwa jest bardzo naturalna intepretacja, zgodnie z którą ten sam model należy przypisać przykładom, dla których wartości funkcji docelowej nie są zbyt zróżnicowane. Dzięki temu symboliczne opisy nie muszą być w tym przypadku wyznaczane arbitralnie, lecz mogą podlegać uczeniu się za pomocą al gorytmów przypominających bardzo uproszczone wersje algorytmów uczenia się pojęć. 8.6.1
Hipotezy modelowania
Aby naszkicowaną koncepcję nieco bardziej skonkretyzować, weźmy pod uwagę pewien zbiór modeli M — {/ii, /i2> • • • > hm}. Każdy model jest pewną hipote zą umożliwiającą obliczenie dla dowolnego przykładu x E X wartości mającej być przybliżeniem wartości funkcji docelowej dla tego przykładu. Nie oczekuje my od każdej z nich dokładnego przybliżania funkcji docelowej na całej dziedzi nie, a jedynie na jej pewnym podzbiorze. Za wyznaczenie podziału dziedziny na podzbiory, którym są przypisane poszczególne modele, odpowiada metahipoteza, czyli hipoteza modelowania 1%M '• X H-» M. Każdemu przykładowi x E X przy porządkowuje ona pewien model h E M, który może być użyty do wyznaczenia przybliżonej wartości funkcji docelowej dla tego przykładu. Wówczas wartość hi potezy reprezentowanej przez rozważany aproksymator może być dla dowolnego przykładu x E X zapisana jako [hM(x)](x)9 czyli wynik zastosowania do przy kładu x hipotezy, jaką przyporządkowuje mu hipoteza modelowania.
476
ROZDZIAŁ 8. UCZENIE SIĘ APROKSYMACJI FUNKCJI
Zauważmy że w trywialnym przypadku każdy model ze zbioru M może być reprezentowany przez pewną ustaloną liczbę. Wówczas hipoteza modelowania bezpośrednio przypisywałaby przykładom wartości funkcji docelowej, co ozna czałoby najbardziej naiwne zastosowanie algorytmów uczenia się pojęć do aprok symacji funkcji. W ogólnym przypadku modele, czyli hipotezy ze zbioru M, mogą być w zasadzie dowolnymi hipotezami do aproksymacji funkcji, lecz przyjmiemy, że są to hipotezy odpowiadające aproksymatorom liniowym ze względu na ich liczne zalety. Hipoteza modelowania może być z kolei dowolnie reprezentowaną hipotezą do uczenia się pojęć, która do tej samej „kategorii" zalicza przykłady, co do których istnieje duża szansa, że można do nich dopasować jeden wspólny model, w tym przypadku liniowy, uzyskując dużą dokładność. Możliwe są zapew ne różne konkretyzacje takiego warunku. Spośród nich wybierzemy najprostszą, zgodnie z którą do tego samego modelu są przypisywane przykłady o dostatecznie mało zróżnicowanych wartościach funkcji docelowej. Jako miarę zróżnicowania można wykorzystać standardowe odchylenie wartości funkcji docelowej / , które dla dowolnego skończonego zbioru przykładów P C I obliczymy następująco: a,{p)=
N
^1 1^ ( / ( a O - M P ) ) 2 ,
(8-63)
x£P
przy czym
M P ) = l^i E /(*)
(8-64)
oznacza średnią wartość funkcji / na zbiorze P . Hipoteza modelowania nie musi być w zasadzie reprezentowana symbolicz nie, lecz ten przypadek jest najciekawszy i tylko przy takiej reprezentacji suge rowane podejście do aproksymacji funkcji jest rzeczywiście atrakcyjne. Decyduje o tym duża szybkość uczenia się dla hipotez symbolicznych oraz ich czytelna po stać. Aproksymatorami symbolicznymi będziemy więc nazywać aproksymatory wykorzystujące symbolicznie reprezentowane hipotezy modelowania. Uczenie się w aproksymatorze symbolicznym obejmuje dwa związane ze sobą procesy: ucze nie się hipotezy modelowania, wyznaczającej podział dziedziny na obszary o zbli żonych wartościach funkcji docelowej, oraz uczenie się hipotez, przybliżających tę funkcję w każdym z tych obszarów. Najprościej jest przyjąć, że oba te procesy przeprowadzane sanie równocześnie, lecz po kolei. Wówczas do realizacji pierw szego z nich można wykorzystać odpowiednio zmodyfikowane algorytmy uczenia się pojęć, które wymagają jednokrotnego przetworzenia zbioru trenującego. Po je go zakończeniu możliwe jest uczenie się hipotez reprezentująch poszczególne mo dele, przy czym do uczenia się każdej z nich jest wykorzystywany podzbiór zbioru trenującego, wyznaczony przez wcześniej wygenerowaną hipotezę modelowania.
8.6. METODY SYMBOLICZNE
477
Do uczenia się każdej hipotezy h £ M jest zatem używany zbiór przykładów Thuhy złożony z przykładów, którym hipoteza ta jest przypisywana przez hipotezę modelowania HM- Zbiór ten oczywiście może wymagać wielokrotnego przetwa rzania za pomocą gradientowych reguł aktualizacji wag. Jeśli jednak podzbiory zbioru trenującego są stosunkowo niewielkie, to może być w tym przypadku wy korzystana także klasyczna regresja. Obecnie skoncentrujemy się na uczeniu się hipotezy modelowania, biorąc pod uwagę reprezentowanie jej za pomocą drzew decyzyjnych. 8.6.2
Drzewa modelowania
Z powyższej dyskusji wprowadzającej wynika, że powinno nas interesować drze wo decyzyjne, którego węzły w zwykły sposób testują wartości atrybutów okre ślonych na dziedzinie, za pomocą testów odpowiednich dla różnych typów, jakie mogą wystąpić, a liście określają model dla związanych z nimi przykładów. Aby miało to sens, drzewo nie powinno być pogłębiane aż do osiągnięcia jednoelementowych zbiorów przykładów, gdyż wówczas modele byłyby trywialne (repre zentowane przez stałą wartość) i trzeba by ich było zdecydowanie zbyt wiele — przyjmijmy tymczasem, że z każdym liściem jest związany pewien podzbiór zbio ru trenującego, o którego rozmiarze oraz zróżnicowaniu wartości funkcji doce lowej decyduje kryterium stopu przyjęte podczas konstruowania drzewa. Z kolei kryterium wyboru testu przy tworzeniu każdego nowego węzła drzewa powinno wskazać test, który najlepiej podzieli zbiór przykładów związanych z tym węzłem na podzbiory, charakteryzujące się możliwie niewielkim zróżnicowaniem wartości funkcji docelowej. Do budowy drzewa decyzyjnego może być użyty bez żadnych zmian standardowy schemat zstępującej konstrukcji drzewa, używający odpowied nio sformułowanych kryteriów stopu i wyboru testu. Kryterium stopu Kryterium stopu służy do podjęcia decyzji, kiedy zamiast kolejnego węzła drze wa należy utworzyć liść, zaprzestając w ten sposób dalszego podziału aktualnego zbioru przykładów na podzbiory. Skoro zależy nam na tym, aby przykłady w li ściach miały możliwie mało zróżnicowane wartości funkcji docelowej, naturalne jest zatrzymywanie rekurencyjnego pogłębiania drzewa, kiedy warunek ten zosta nie spełniony. Jeśli więc P oznacza aktualny zbiór przykładów, to odpowiednie kryterium stopu można zapisać następująco: a/(P)^^,
(8.65)
przy czym parametr 9a określa maksymalny dopuszczalny poziom zróżnicowania wartości funkcji docelowej w liściach.
478
ROZDZIAŁ 8. UCZENIE SIĘ APROKSYMACJI FUNKCJI
Jako dodatkowy warunek w kryterium stopu można uwzględnić warunek doty czący liczby przykładów w zbiorze P, przyjmując, że liść należy utworzyć zawsze, kiedy jest ich odpowiednio mało, nawet jeśli wartości funkcji docelowej są dla nich bardzo zróżnicowane. Chodzi o to, aby w ten sposób zapobiec późniejszemu wyznaczaniu modeli dla bardzo niewielkich podzbiorów zbioru trenującego, które byłyby z tego względu zbyt mało wiarygodne. Ostateczna postać kryterium stopu przedstawia się więc następująco: af{P)^eay\p\^ep,
(8.66)
przy czym 6p jest drugim parametrem, którego wartość należy odpowiednio usta lić. Na ogół nie powinna ona być mniejsza niż kilka lub kilkanaście, chociaż dla dużych zbiorów trenujących przypuszczalnie będą to musiały być wartości wyraź nie większe. Wybór testu Wybór testu dla tworzonego węzła drzewa decyzyjnego ma na celu podział aktual nego zbioru przykładów na podzbiory charakteryzujące się możliwie małym zróż nicowaniem wartości funkcji docelowej. Potrzebujemy więc funkcji oceny testów formalizującej w pewien sposób takie kryterium preferencji. Weźmy pod uwagę pewien test t : X ^ Rt. Jego zastosowanie dzieli aktualny zbiór przykładów P na podzbiory Ptr odpowiadające różnym wynikom testu r e Rt.W każdym z ta kich podzbiorów miarą zróżnicowania wartości funkcji docelowej / jest wartość o-f(Ptr)- Za wartość funkcji oceny testu t względem zbioru przykładów P może my przyjąć uśrednioną miarę zróżnicowania dla wszystkich wyznaczanych przez ten test podzbiorów, czyli
r£Rt
' I
wybierając zawsze testy minimalizujące wartość tak określonej funkcji. Postępo wanie takie jest równoważne z maksymalizacją funkcji oceny zdefiniowanej na stępująco: MP) = vf(P) - E
^
(8.68)
która mierzy redukcję standardowego odchylenia wartości funkcji docelowej, wy nikającą z zastosowania testu t. Taka funkcja ma dodatkową zaletę, polegającą na tym, że przyjmuje wartości dodatnie tylko dla testów dających poprawę (zmniej szających zróżnicowanie) oraz wartość 0 dla testów, których zastosowanie nie przynosi pożytku. Jeśli więc na pewnym etapie konstruowania drzewa okaże się, że wszystkie możliwe do zastosowania testy mają ocenę 0, to nie ma sensu jego dalsze pogłębianie. Dostarcza to dodatkowego warunku w kryterium stopu.
8.7. ZAGADNIENIA PRAKTYCZNE
479
Przycinanie Nawet przy bardzo starannie dobranym kryterium stopu trudno konstruując drzewa modelowania w opisany sposób uniknąć nadmiernego dopasowania i do uzyskania dobrych efektów jest na ogół niezbędne przycinanie. Nie wdając się w szczegóły tej operacji, zadowolimy się stwierdzeniem, że przebiega ona zgodnie z dobrze znanym z rozdziału 3 schematem dla zwykłych drzew decyzyjnych i polega na zastępowaniu niektórych węzłów drzewa liśćmi, jeśłi nie doprowadzi to do pogor szenia szacowanego błędu rzeczywistego. Przycinanie musi poprzedzać wyzna czenie modeli dla poszczególnych liści, ale także dla węzłów, dla których będzie brane pod uwagę przycięcie. Tylko wtedy można ocenić błąd poddrzewa o korze niu w takim węźle na podstawie modeli dla wszystkich jego liści oraz błąd liścia, jaki powstałby po jego przycięciu, na podstawie modelu dla tego węzła. Najłatwiej jest dokonać takiej oceny, kiedy dysponujemy zbiorem przycinania niezależnym od zbioru trenującego. Wystarczy wówczas porównać błąd próbki uzyskiwany dla całego poddrzewa oraz dla liścia, jaki miałby je zastąpić, gdyż błąd próbki jest najbardziej prawdopodobną wartością błędu rzeczywistego. Do obliczenia błędu próbki wykorzystywane są oczywiście tylko te przykłady ze zbioru przycinania, które poddawane klasyfikacji za pomocą całego drzewa „docierają" do węzła, któ rego przycięcie jest rozważane. Jeśli oddzielny zbiór przycinania nie jest dostępny, to należy posłużyć się pe symistycznymi oszacowaniami błędu rzeczywistego na podstawie błędu próbki na zbiorze trenującym. Chociaż sam błąd próbki w wyniku przycięcia z reguły się zwiększy, odpowiadające mu pesymistyczne oszacowanie błędu rzeczywiste go z reguły zależy od liczby przykładów, dla których ten błąd próbki wyznaczo no, w związku z tym przy wzroście liczby przykładów wynikającym z przycięcia oszacowanie to może się zmniejszyć.
8.7 Zagadnienia praktyczne Aproksymatory funkcji zdecydowanie należą do najbardziej praktycznych syste mów uczących się. Stosuje sieje od dawna i z powodzeniem między innymi w pro blemach automatycznego sterowania, gdzie mogą reprezentować modele sterowa nego obiektu wyznaczane w fazie identyfikacji, odwzorowujące jego wejścia na wyjścia. Mogą one także służyć do reprezentowania strategii sterowania, czyli od działywania na obiekt w sposób zależny od jego stanu. Ponieważ na ogół i stany, i sterowania są reprezentowane przez wektory liczb rzeczywistych, aproksymatory funkcji znajdują tu bardzo naturalne zastosowania. W tym podrozdziale zajmiemy się krótko kilkoma trudnościami, jakie przy takich zastosowaniach mogą wynik nąć. Są one najczęściej dwojakiego rodzaju. Po pierwsze, mogą dotyczyć właści wego doboru parametrów, jakich poszczególne algorytmy uczenia się wymagają.
480
ROZDZIAŁ 8. UCZENIE SIĘ APROKSYMACJI FUNKCJI
Po drugie, mogą się wiązać z pewnymi przyjmowanymi przez nie upraszczającymi założeniami, które nie zawsze są spełnione. 8.7.1
Dobór rozmiaru kroku
Wartość rozmiaru kroku w aproksymatorach parametrycznych wpływa na ich szyb kość uczenia się oraz na możliwą do uzyskania dokładność ich hipotez, a przy try bie inkrementacyjnym także na ich stabilność. Małe wartości parametru /3 umoż liwiają uzyskanie dużej dokładności, czyli najlepszego możliwego dopasowania wag do przykładów trenujących, a przy inkrementacyjnym uczeniu się dużej sta bilności, czyli niewielkich wahań wartości hipotezy po każdorazowej modyfikacji wag. Zmienianie wag w małych krokach powoduje jednak, że wymagana może być duża liczba takich kroków, co oznacza małą szybkość uczenia się. W związ ku z tym odpowiedni dobór tego parametru jest zawsze pewnym kompromisem między szybkością a dokładnością oraz stabilnością i na ogół musi być dokonany eksperymentalnie, przez wypróbowanie wartości z pewnego zakresu, na ogół od 0,01 do 0,5. Różne wartości mogą okazać się najlepsze dla różnych aproksymatorów, dziedzin i funkcji docelowych, trudno więc podać jakiekolwiek uniwersalne wskazówki. Nietrudno jednak dojść do wniosku, że lepsze efekty można osiągnąć, stosując zmienne wartości rozmiaru kroku, zależne na przykład od etapu, na którym znaj duje się proces uczenia się. Najprostsza zdroworozsądkowa strategia polegałaby na rozpoczęciu od stosunkowo dużej wartości /?, powiedzmy 0,5, i redukowaniu jej po każdym cyklu. Tylko wtedy jest w ogóle możliwe osiągnięcie zbieżności aproksymatora, czyli uzyskanie stabilnej hipotezy, nie zmieniającej się w kolej nych cyklach uczenia się. Jeśli przez /3t oznaczymy wartość rozmiaru kroku sto sowaną w cyklu t, to warunki zbieżności można zapisać następująco: oo
£ f t = oo,
(8.69)
t=o oo
$>t2
(8.70)
Warunki takie spełniają na przykład wartości /¾ = ^ dla a € (0,5; 1], W praktyce jednak niezbyt często określa się rozmiar kroku w ten sposób, gdyż nie jest jasne, jak szybkie tempo jego zmniejszania jest właściwe. Przedwczesne zejście do war tości bliskich 0 praktycznie zatrzymuje proces uczenia się przed uzyskaniem hipo tezy o dostatecznej dokładności. W związku z tym dominuje praktyka stosowania stałych wartości /3, które umożliwiają uczenie się niestacjonarnych, zmiennych w czasie funkcji docelowych, dla których nigdy nie można mówić o zbieżności hipotezy, a raczej o jej podążaniu za zmieniającą się funkcją docelową. Niekiedy
8.7. ZAGADNIENIA PRAKTYCZNE
481
są też używane zmienne wartości /?, lecz dobierane w sposób adaptacyjny, za leżny od przebiegu procesu uczenia się. Zwłaszcza w literaturze dotyczącej sieci neuronowych można znaleźć propozycje różnych heurystyk adaptacyjnego doboru rozmiaru kroku. 8.7.2
CMAC i nieograniczone przeciwdziedziny cech
Przy ustalaniu podziału przeciwdziedzin poszczególnych cech na przedziały w aproksymatorze CMAC pewien problem powstaje, jeśli są one z jednej lub z obu stron nieograniczone. Przypadek ten dla wygody wyłączyliśmy z rozważań pre zentując sposób wyznaczania aktywnych wag dla tego aproksymatora. Niestety, ten problem w ogólnym przypadku nie ma dobrego rozwiązania. Jeśli o przeciwdziedzinie cechy nic nie wiemy, to nie ma żadnych podstaw do określenia z góry jakiegokolwiek podziału na przedziały i jedynym sensownym podejściem mogło by być adaptacyjne dobieranie go w trakcie uczenia się. Proste rozwiązanie pro blem ma tylko wówczas, gdy wprawdzie przeciwdziedzina jest nieograniczona, ale właściwe punkty jej podziału na podprzedziały mogą zostać ustalone na podsta wie dostępnej wiedzy. Wówczas jedyną zmianą, jakiej wymaga wcześniejszy opis aproksymatora CMAC, jest dodanie w każdej warstwie l przedziału (—oo,0jo], jeśli przeciwdziedzina cechy i jest nieograniczona z lewej strony, i przedziału (6l ,, oo), jeśli jest ona nieograniczona z prawej strony. Tym razem m\ oznacza więc już nie liczbę wszystkich przedziałów w warstwie Z dla cechy i, lecz zwięk szoną o 1 liczbę wartości progowych, czyli liczbę przedziałów obustronnie ogra niczonych. Uwzględniając zwiększoną liczbę wszystkich przedziałów dla każdej warstwy, należy odpowiednio zmodyfikować schemat wyznaczania numerów ak tywnych wag. 8.7.3
Mieszane przestrzenie atrybutów
Większość przedstawionych w tym rozdziale aproksymatorów jest przeznaczo na do stosowania w dziedzinach opisywanych za pomocą atrybutów ciągłych, co jest zgodne z potrzebami występującymi najczęściej w praktycznych zastosowa niach. Dla niektórych spośród tych aproksymatorów wskazaliśmy także modyfi kacje, umożliwiające ich stosowanie dla atrybutów dyskretnych. Czasem jednak zdarza się także, że występują jednocześnie atrybuty różnych typów i muszą być traktowane w różny sposób. W przypadku aproksymatorów parametrycznych, je śli zastąpimy atrybuty dyskretne cechami w sposób wyżej opisany, nie wiążą się z tym żadne komplikacje — każda cecha może być traktowana tak samo. Dla aproksymatorów pamięciowych niezbędne jest zastosowanie do obliczania odległości między przykładami metryki zdefiniowanej w sposób zależny od typów poszczególnych atrybutów. W najprostszym przypadku można posłużyć się w tym
482
ROZDZIAŁ 8. UCZENIE SIĘ APROKSYMACJI FUNKCJI
celu uogólnioną metryką euklidesową: n-l
6(xux2)
Y,Sl(xux2)2,
= \
(8.71)
i=0
przy czym dla atrybutów ciągłych oczywiście &i(x\, x2) = \o>i{$i) ~ a{(x2)\. Dla atrybutów porządkowych należy w oczywisty sposób uogólnić rozumienie różni cy wartości, traktując ją jako zwiększoną o 1 liczbę wartości pośrednich między ai(x\) i ai(x2) należących do zbioru Ai, czyli 5l(xux2)
- \{v e Ai | ai(xi) < v < di{x2)}\ + 1.
(8.72)
Z kolei dla atrybutów nominalnych można przyjąć Si(xux2)
=
(8.73)
W podobny sposób można uogólnić inne podane wyżej metryki dla cech ciągłych, w szczególności zaś wykorzystać współczynniki skalujące. W przypadku dziedzin, na których są określone atrybuty różnych typów, nie może być zastosowana żadna z przedstawionych wersji rozproszonego przybliżo nego kodowania, skoro każda z nich zakłada tylko atrybuty jednego określonego typu. Zauważmy jednak, że przynajmniej dla atrybutów ciągłych i porządkowych nic nie stoi na przeszkodzie, aby wykorzystać odpowiednie wersje aproksymatora CMAC łącznie, stosując dla każdego atrybutu właściwy dla jego typu me chanizm odwzorowania jego wartości na numery przedziałów. Można więc od powiednio uogólniony aproksymator CMAC stosować w dziedzinach, w których niektóre atrybuty są ciągłe, a niektóre porządkowe, o ile te ostatnie mają dostatecz nie wiele wartości. Mimo że przedziały będą konstruowane w inny sposób dla obu typów atrybutów, tak czy inaczej dla każdego przykładu można wskazać numery przedziałów, do których w kolejnych warstwach należą wartości opisujących go atrybutów, co umożliwia odwzorowanie ich w zwykły sposób na zbiór numerów aktywnych wag. Bardziej skomplikowana staje się sytuacja, kiedy wśród określonych na dzie dzinie atrybutów są atrybuty nominalne oraz porządkowe lub ciągłe. W pierwszym przypadku można ratować się pomijając relację porządku i traktując atrybuty po rządkowe, przy założeniu, że mają skończone przeciwdziedziny, tak samo jak atry buty nominalne. W drugim przypadku, kiedy na dziedzinie współwystępują atry buty nominalne i ciągłe, wybieg taki nie jest możliwy. Nie są znane skuteczne aproksymatory funkcji, wykorzystujące rozproszone przybliżone kodowanie dla tego przypadku.
8.7. ZAGADNIENIA PRAKTYCZNE
8.7.4
483
Ograniczona pamięć w metodach pamięciowych
Niezależnie od sposobu organizacji pamięci w aproksymatorach pamięciowych, o którym będzie jeszcze mowa dalej, jej rozmiar musi być ograniczony. Przy sto sowaniu aproksymatora w trybie inkrementacyjnym, kiedy liczba przykładów tre nujących może okazać się dowolnie duża, należy liczyć się z całkowitym zapeł nieniem pamięci. Pomijanie wówczas dalszych przykładów najczęściej jest niedo puszczalne, choćby dlatego, że inkrementacyjny tryb uczenia się jest często sto sowany dla niestacjonarnych, zmiennych w czasie funkcji docelowych, wskutek czego nowe przykłady zawsze muszą być uwzględniane. Nie pozostaje wówczas nic innego, jak usunąć z pamięci niektóre ze starych przykładów i w ten sposób zrobić miejsce dla nowych. Pozostaje określić strategię wybierania przykładów do usunięcia. Można wskazać trzy zasadnicze strategie usuwania, których wykorzystanie wydaje się rozsądne. Pierwsza i najprostsza to strategia losowa, zgodnie z którą w razie potrzeby z pamięci usuwa się równomiernie losowo wybrany przykład. Chociaż może to wyglądać na podejście bardzo prymitywne, nie powinno być lek ceważone. Po pierwsze, nie wymaga ono żadnych dodatkowych obliczeń ani prze chowywania dodatkowych danych. Po drugie, przez losowy wybór unika ono, być może, szkodliwego obciążenia, jakie mogłoby się wiązać z usuwaniem przykła dów według ustalonej strategii deterministycznej. Taka strategia deterministyczna może w najprostszym przypadku polegać na usuwaniu z pamięci „najstarszego" przykładu, czyli najdawniej w niej umieszczonego. Podejście to jest szczególnie uzasadnione przy uczeniu się niestacjonarnych funkcji docelowych, kiedy stopnio wo stare przykłady są wypierane przez nowe, zawierające bardziej aktualne war tości funkcji. Aby jednak stosowanie go nie wprowadzało wspomnianego szkodli wego obciążenia, kolejne przykłady dostarczane uczniowi powinny być niezależ nie losowane z dziedziny. Jeśli między kolejnymi przykładami występują pewne zależności, co często się zdarza w zastosowaniach, kiedy stanowią one kolejne obserwacje dotyczące pewnego procesu, usuwanie najstarszych przykładów może być niebezpieczne. Lepszą strategią powinno być wtedy usuwanie przykładów naj rzadziej używanych, którą można zastosować w korekcyjnym trybie uczenia się, kiedy przed umieszczeniem kolejnego przykładu w pamięci wyznacza się dla nie go wartość hipotezy aproksymatora, jak zwykle na podstawie najbardziej do niego podobnych wcześniej zapamiętanych przykładów. Dla każdego przechowywane go przykładu należałoby zatem utrzymywać także statystykę, określającą względ ną częstość jego wykorzystywania do odpowiadania na zapytania, czyli stosunek liczby zapytań, przy jakich był użyty, do ogólnej liczby zapytań zadanych aproksymatorowi od czasu, kiedy został on wprowadzony do pamięci. Można to osiągnąć bez żadnych istotnych dodatkowych kosztów obliczeń i tylko przy nieznacznym wzroście zapotrzebowania na pamięć, gdyż wraz z każdym przykładem wystarczy
484
ROZDZIAŁ 8. UCZENIE SIĘ APROKSYMACJI FUNKCJI
przechowywać liczbę jego zastosowań oraz „wiek", a raczej numer kroku (czyli kolejnego przykładu trenującego), w którym został wprowadzony do pamięci.
8.8 Zagadnienia implementacyjne Większość algorytmów aproksymacji funkcji omawianych w tym rozdziale nie przedstawia żadnych trudności implementacyjnych. Rdzeń każdego z nich stano wią proste operacje arytmetyczne, dla których pomysłowość programisty nie ma większego znaczenia, gdyż pewną liczbę mnożeń i dodawań trzeba tak czy inaczej wykonać. W przypadku dwóch rodzajów aproksymatorów staranna implementa cja ma jednak znaczenie, gdyż umożliwia istotne zwiększenie ich praktycznej uży teczności. Mowa o aproksymatorach opartych na rozproszonym przybliżonym ko dowaniu oraz aproksymatorach pamięciowych. W obu przypadkach może pojawić się problem z właściwą organizacją pamięci — przechowującej wagi w pierwszym przypadku i przykłady trenujące w drugim przypadku. 8.8.1
Wagi w rozproszonych przybliżonych tablicach
Do istoty rozproszonego przybliżonego kodowania należy duży rozmiar rozszerzo nej przestrzeni cech, której tylko niewielka część jest aktywna dla każdego przy kładu. Mimo więc, że do obliczania i aktualizacji hipotezy każdorazowo używa się niewielkiej liczby wag, często zaledwie kilku lub kilkunastu, łączna liczba wag jest zazwyczaj bardzo duża. Korzystając z przybliżonego wzoru określającego liczbę wag aproksymatora CMAC, zapisanego jako równanie (8.50), można obliczyć, że jeśli przykłady są opisywane przez n = 10 pierwotnych cech, przeciwdziedzinę każdej z nich zechcemy podzielić na m ~ 10 przedziałów oraz użyć L = 5 warstw, to wymagany rozmiar rozszerzonej reprezentacji wynosi n' « 5 • 1010. Na przechowywanie 50 miliardów wag na ogół nie można sobie pozwolić, a przecież przyjęte wartości n, m i L wydają się całkiem umiarkowane. Prosta i uniwersalna technika, jaka może złagodzić problem dużego rozmiaru wektora wag, to kodowanie mieszające, polegające w tym przypadku na odwzo rowaniu obliczanych w zwykły sposób logicznych numerów wag z zakresu od 0 do n' — 1 na ich fizyczne numery, będące liczbami z zakresu od 0 do n" - 1 dla n" < n'. Przy takim podejściu jeden numer fizyczny odpowiada pewnej liczbie numerów logicznych, przeciętnie ^-. Jest to na ogół możliwe bez istotnego pogor szenia dokładności aproksymacji dzięki temu, że zazwyczaj istnieje wiele rozsze rzonych cech, które są stosunkowo rzadko aktywne dla dostarczanych aproksymatorowi przykładów i w związku z tym odpowiadające im wagi nie są w zasadzie używane. Dzięki temu jedna fizycznie przechowywana waga może odpowiadać pewnej liczbie różnych cech rozszerzonych. W praktyce zupełnie dobre efekty da-
8.8. ZAGADNIENIA IMPLEMENTACYJNE
485
ją wartości n" równe od 0,ln' nawet do 0,01n', co oznacza niebagatelną redukcję rozmiaru wektora wag od 10 do 100 razy. Pozostaje określić sposób odwzorowania dowolnego numeru logicznego wagi i £ { 0 , 1 , . . . , nf — 1} na numer fizyczny j € { 0 , 1 , . . . , n" — 1}. Odwzorowanie to powinno charakteryzować się możliwie dużą równomiernością, czyli przypisywać każdemu numerowi fizycznemu taką samą liczbę numerów logicznych. Na ogół przyjmuje się po prostu j = i mod n",
(8.74)
przy czym mod oznacza operator dzielenia modulo, zapewniając przy tym, że nf jest całkowitą wielokrotnością n". 8.8.2
Zapamiętywanie przykładów
We wszystkich przedstawionych metodach pamięciowych występuje wspólny pro blem znalezienia wśród przechowywanych w pamięci przykładów trenujących ta kich par (x, f(x)), dla których przykład # jest dostatecznie bliski według przyjętej metryki przykładowi #*, będącemu przedmiotem zapytania. W przypadku algoryt mu A;NN chodzi o znalezienie k najbliższych sąsiadów, a w przypadku lokalnych średnich ważonych o znalezienie wszystkich przykładów o wagach nie mniejszych niż wm[n, co jest równoznaczne z odległością od x* nie większą niż pewna odle głość <5max. Dla obu algorytmów problem ten ma istotny wpływ na koszt obli czeniowy wyznaczania odpowiedzi na zapytanie. Ma to tym większe znaczenie, że pamięci aproksymatorów pamięciowych przechowują bardzo dużo przykładów trenujących. Naiwna implementacja poszukiwania najbliższych sąsiadów wymaga obliczenia odległości 5(x, x*) dla każdego zapamiętanego przykładu x ET. Jeśli przykłady są reprezentowane za pomocą n cech, to koszt tych obliczeń wynosi 0(n \T\). Tymczasem rozmiar zbioru zapamiętywanych przykładów T jest w me todach pamięciowych na ogół liczony co najmniej w tysiącach. Jeśli aproksymator jest używany w trybie inkrementacyjnym, to liczba przykładów przechowywanych w pamięci nieustannie się zwiększa, co może uczynić koszt takiego bezpośrednie go podejścia do znajdowania najbliższych sąsiadów nieakceptowalnym. Znacznie efektywniejszą implementację można uzyskać, wykorzystując spe cjalne struktury danych nazywane A:-d drzewami, czyli drzewami fc-wymiarowymi. Wywodzą się one z geometrii obliczeniowej, gdzie wykorzystuje się je, na ogół w wersji dwuwymiarowej lub trójwymiarowej, do przechowywania punktów na płaszczyźnie lub w przestrzeni w sposób umożliwiający efektywne znalezienie zbioru punktów znajdujących się w jej określonym regionie. Struktura nazywana A;-d drzewem jest szczególnego rodzaju drzewem binarnym, zbudowanym z wę złów, z których każdy ma dwa węzły potomne i reprezentuje podział pewnego
486
ROZDZIAŁ 8. UCZENIE SIĘ APROKSYMACJI FUNKCJI
regionu ^-wymiarowej hiperprzestrzeni na dwa mniejsze regiony10. Ściślej rzecz biorąc, regiony te są hiperprostopadłościanami o ścianach równoległych do hiperpłaszczyzn układu współrzędnych. Każdy węzeł odpowiada pewnemu hiperprostopadłościanowi, a jego dwa węzły potomne odpowiadają dwóm mniejszym hiperprostopadłościanom, na które macierzysty hiperprostopadłościan jest dzielony. Podział ten jest wyznaczany wzdłuż jednego z k wymiarów przez określoną war tość progową współrzędnej odpowiadającej temu wymiarowi. W każdym węźle jest przechowywany numer wymiaru, wzdłuż którego dokonuje on podziału, oraz odpowiednia wartość progowa. Liście k-d drzewa odpowiadają dostatecznie ma łym regionom i w każdym z nich przechowuje się zbiór punktów /c-wymiarowej przestrzeni, należących do odpowiedniego regionu. Umożliwia to efektywny do stęp do punktów należących do określonego regionu. Przy zastosowaniu k-d drzewa do implementacji aproksymatorów pamięcio wych ma ono przechowywać przykłady (oczywiście wraz z wartościami funkcji docelowej) jako elementy n-wymiarowej przestrzeni wektorów wartości cech <& dla i = 0 , 1 , . . . , n — 1. Każdy węzeł musi w związku z tym zawierać pewien numer cechy i oraz wartość progową 6 £ $;. Wówczas odpowiadający temu wę złowi region jest dzielony na odpowiadające jego węzłom potomnym podregiony, z których pierwszy zawiera wszystkie przykłady z regionu odpowiadającego wę złowi macierzystemu, dla których <j>i{x) ^ 0, a drugi takie, dla których fa(x) > 9. W korzeniu drzewa znajduje się węzeł reprezentujący maksymalny region, czyli zbiór $o x $i x • * * x $n-i- Przykłady są faktycznie przechowywane w liściach, które odpowiadają dostatecznie małym regionom. Na ogół za „dostatecznie małe" uznaje się regiony nie zawierające więcej niż kilka lub kilkanaście przykładów. Jeśli dany jest pewien przykład #*, to korzystając z k-d drzewa przechowują cego przykłady można w efektywny sposób, w czasie w przybliżeniu logarytmicz nym względem liczby przechowywanych przykładów, znaleźć odpowiadający mu liść. Najbliższych sąsiadów przykładu x* należy szukać właśnie w tym liściu oraz ewentualnie w liściach odpowiadających bezpośrednio przyległym regionom, któ re można znaleźć w sąsiednich gałęziach drzewa. Niestety, logarytmiczny czas osiąga się wówczas tylko dla dość dużych drzew ze względu na narzuty związane z przeszukiwaniem drzewa. Najlepsze efekty, jeśli chodzi o efektywność, można otrzymać stosując przybliżone algorytmy, które rzeczywiście umożliwiają uzyska nie w praktyce, a nie tylko w teorii, logarytmicznego czasu dostępu, kosztem utra ty gwarancji, że znajdowani będą rzeczywiście najbliżsi sąsiedzi. Istnieje dla nich pewne prawdopodobieństwo uzyskania przykładów bliskich, lecz nie najbliższych przykładowi, którego dotyczy zapytanie, co jednak nie wpływa w znaczący sposób na błąd aproksymacji. W naszym przypadku powinniśmy mówić raczej o n-wymiarowej przestrzeni, ale nazwa k-d drzewa jest tradycyjnie przyjęta i k oznacza w niej liczbę wymiarów.
8.9. PODSUMOWANIE
8.9
487
Podsumowanie
S-> Zadanie aproksymacji funkcji polega na uczeniu się na podstawie przykładów hipotezy przybliżającej nieznane odwzorowanie dziedziny na zbiór liczb rze czywistych. 9-> W przypadku wielu aproksymatorów funkcji trzeba założyć, że na dziedzinie są określone wyłącznie atrybuty ciągłe, nazywane przez nas cechami dla pod kreślenia zasadniczego charakteru tego założenia. Dużą i ważną klasę metod aproksymacji funkcji stanowią aproksymatory opar te na reprezentacji parametrycznej, w których wartość hipotezy dla dowolnego przykładu wyznacza się jako wartość pewnej ustalonej funkcji odwzorowują cej dla wektora cech przykładu oraz dla wektora wag. S-> Uczenie się w aproksymatorach parametrycznych polega na modyfikacji wag, do której można posłużyć się regułą spadku gradientu. W przypadku prostych aproksymatorów liniowych przybiera ona postać reguły LMS, a dla aproksy matorów nieliniowych — uogólnionej reguły delta. Aproksymatory liniowe umożliwiają dokładne reprezentowanie tylko wąskiej klasy funkcji. Aproksy matory nieliniowe umożliwiają w zasadzie reprezentowanie dowolnych funk cji, lecz kosztem powolnego uczenia się i ryzyka minimów lokalnych. S-* Próbą połączenia obliczeniowej prostoty i szybkości uczenia się aproksymato rów liniowych z możliwością reprezentowania szerokiej klasy funkcji są me tody aproksymacji oparte na rozszerzonej reprezentacji. Przenoszą one opisy przykładów do rozszerzonej przestrzeni cech o znacznie większej wymiarowości niż przestrzeń pierwotna, a następnie w tej rozszerzonej przestrzeni stosują aproksymator liniowy. S-> Prostym przykładem uniwersalnej rozszerzonej reprezentacji jest reprezenta cja randomizowana, w której rozszerzone cechy są konstruowane w pewien losowo ustalony sposób. Podejście to daje zaskakująco dobre efekty, o ile roz miar rozszerzonej przestrzeni jest dostatecznie duży. R-> Szczególnie interesującym rodzajem aproksymatorów z rozszerzoną reprezen tacją są rozproszone przybliżone tablice, w których dla każdego przykładu tyl ko niewielka liczba rozszerzonych cech ma wartość niezerową. Dzięki temu obliczanie wartości hipotezy oraz jej aktualizacja mogą być niezwykle efek tywne obliczeniowo. Konkretnym przykładem aproksymatora o takich właści wościach jest CMAC, przeznaczony dla atrybutów ciągłych. Koncepcję roz-
488
ROZDZIAŁ 8. UCZENIE SIĘ APROKSYMACJI FUNKCJI
proszonego przybliżonego kodowania można jednak wykorzystać także dla atrybutów dyskretnych. q-» Pamięciowe metody aproksymacji reprezentują „leniwe" podejście do ucze nia się, polegające na zapamiętywaniu przykładów trenujących w odpowiednio zorganizowanej pamięci roboczej bez żadnego przetwarzania, które następuje dopiero przy wyznaczaniu odpowiedzi na zapytanie. °H Najprostsze aproksymatory pamięciowe wykorzystują algorytm najbliższego sąsiada, zgodnie z którym wartość hipotezy dla dowolnego przykładu wyzna cza się na podstawie zapamiętanych wartości dla jednego lub ustalonej liczby przykładów najbardziej do niego podobnych według ustalonej metryki. 4-> Symboliczne metody aproksymacji łączą uczenie się symbolicznie reprezento wanej hipotezy modelowania odwzorowującej przykłady na odpowiednie dla nich modele z wyznaczaniem tych modeli, z których każdy jest hipotezą pew nego aproksymatora parametrycznego, z reguły liniowego. Hipoteza modelo wania przypisuje do tych samych modeli przykłady o możliwie mało zróżni cowanych wartościach funkji docelowej.
8.10 Uwagi historyczne i bibliograficzne Tradycyjnie najwięcej miejsca poświęca się uczeniu się aproksymacji funkcji w li teraturze dotyczącej sieci neuronowych, nawet jeśli nazwanie tak wielu algoryt mów aproksymacji byłoby sporym nadużyciem. W związku z tym zainteresowa nie tym rodzajem maszynowego uczenia się w jego głównym nurcie było dość umiarkowane, szczególnie w porównaniu z uczeniem się pojęć, mimo bardzo sze rokich zastosowań praktycznych. Wyraźne zwiększenie zainteresowania uczącymi się aproksymatorami w ostatnich latach można w części przypisać dynamicznemu rozwojowi uczenia się ze wzmocnieniem, w którym aproksymatory te znajdują zastosowanie do generalizacji. Będzie o tym mowa w rozdziale 13. Parametryczne metody aproksymacji funkcji są zdecydowanie najszerzej zna ne i stosowane. Mają też najdłuższą, sięgającą lat sześdziesiątych, historię. Wy korzystywana w aproksymatorach liniowych reguła aktualizacji wag pochodzi od Widrowa i Hoffa [281]. Uniwersalny aproksymator nieliniowy, jakim jest nie oma wiany w tym rozdziale perceptron wielowarstwowy, wykorzystuje uogólnioną po stać reguły delta oraz algorytm wstecznej propagacji błędu, opisywany kilkukrot nie przez różnych autorów i ostatecznie upowszechniony przez Rumelharta, Hintona i Williamsa [227], który ze względu na ogromną liczbę publikacji poświęco nych jego różnym zastosowaniom i modyfikacjom mógłby uchodzić za najszerzej znany algorytm uczenia się. Sporo informacji o aproksymatorach parametrycznych z perspektywy neuronowej można znaleźć w książkach Hertza, Krogha i Palmera [98] oraz Osowskiego [189], a także w przeglądowym artykule Hintona [99]. Me-
8.10. UWAGI HISTORYCZNE I BIBLIOGRAFICZNE
489
tody klasycznej regresji są prezentowane w większości podręczników statystyki, na przykład [109]. Wykładniczo-gradientową multiplikatywną regułę modyfikacji wag zaproponowali Kivinen i Warmuth [119]. Aproksymatory wykorzystujące reprezentację randomizowaną także mają dłu gą historię. Elementy losowego przekształcenia występowały w pierwszych per ceptronach, choć później zostały pominięte i zapomniane. Renesans podejście to zawdzięcza w znacznej mierze książce Kanervy [112], w której znajdują się wy niki teoretyczne potwierdzające jego dużą skuteczność. Gallant i Smith [88] oraz Sutton i Whitehead [258] przedstawili bardzo zachęcające wyniki eksperymen talne. Propozycja odwzorowania randomizowanego przedstawionego w tym roz dziale dla cech ciągłych jest dość bezpośrednią adaptacją opisanego przez nich przekształcenia przeznaczonego dla cech binarnych. Dalsze propozycje randomizowanych drzew decyzyjnych oraz kompleksów są niesprawdzonymi spekulacja mi autora tej książki, ale czytelnik być może zechce zweryfikować je samodzielnie. Aproksymator CMAC, główny reprezentant metod aproksymacji opartych na rozproszonym przybliżonym kodowaniu, został zaproponowany i dokładnie opi sany w książce Albusa [3]. Niezależnie od swych inspiracji neurobiologicznych, o których w ogóle tu nie wspominaliśmy, okazał się bardzo skutecznym prak tycznie narzędziem i jest uważany za poważnego konkurenta wielowarstwowych nieliniowych perceptronów. Szczególnie wiele zastosowań znalazł w uczeniu się ze wzmocnieniem, gdzie zajmuje pozycję niemal standardowego aproksymatora funkcji, używanego do generalizacji przy ciągłych przestrzeniach stanów. Kom pendium wiedzy o tym aproksymatorze stanowi raport [198], omawiający jego po chodzenie, podstawy teoretyczne i zagadnienia implementacyjne. Jego opis przed stawiony w tym rozdziale jest bezpośrednią interpretacją oryginalnego opisu Al busa. Istnieje wiele innych aproksymatorów funkcji, które mogą zostać zaliczone do szerokiej klasy metod opartych na rozszerzonej reprezentacji. Należą do nich aproksymator RBF11 (radialne funkcje bazowe) Moody'ego i Darkena [167] oraz CPN12 (kontrpropagacja) Hechta-Nielsena [96], zwyczajowo zaliczane do sieci neuronowych, w których rozszerzone cechy są konstruowane przez proces ucze nia się bez nadzoru. Pokrewne aproksymatory, opisywane przez Omohundro [187, 188], wykorzystują do wyznaczania rozszerzonych cech odwzorowania geome tryczne. Nawet warstwę ukrytą tradycyjnego wielowarstwowego perceptronu moż na potraktować jako rozszerzoną reprezentację, chociaż taka perspektywa wydaje się nieco sztuczna. Koncepcję konstruktywnej aproksymacji, zgodnie z którą roz szerzone cechy są wyznaczane na podstawie zbioru trenującego w sposób zależny od wartości funkcji docelowej, oraz konkretny algorytm jej realizacji przedstawili 11
Jest to skrót od angielskiej nazwy Radial Basis Functions. Jest to skrót od angielskiej nazwy Counterpropagation NetworL
12
490
ROZDZIAŁ 8. UCZENIE SIĘ APROKSYMACJI FUNKCJI
niedawno Utgoff i Percup [270]. Ślady tego podejścia występują także u Suttona i Whiteheada [258], którzy proponują adaptacyjną modyfikację parametrów repre zentacji randomizowanej w trakcie uczenia się, chociaż modyfikacja ta następuje bez uwzględniania wartości funkcji docelowej, wyłącznie na podstawie rozkładu wartości cech w przykładach trenujących. Prezentacja pamięciowych metod aproksymacji funkcji w tym rozdziale zosta ła w większości oparta na pracach Moore'a i jego współpracowników, szeroko opi sanych w jego rozprawie doktorskiej [168] oraz raportach i artykułach [169, 170]. Obszerny artykuł Atkesona, Moore'a i Schaala [9] zawiera wyczerpujący przegląd metod opartych na lokalnych średnich ważonych. O pamięciowych aproksymatorach piszą także Kibler i Aha [118] oraz w nieco innym ujęciu Ram i Santamana [216]. Sposób wykorzystania k-d drzew do organizacji pamięci dokładnie przed stawia Moore w cytowanej rozprawie, a więcej o tej strukturze danych i związa nych z nią algorytmach wyszukiwania punktów można się dowiedzieć z artykułów Bentleya, Friedmana i ich współpracowników [85, 19, 20]. Dyskusja symbolicznych metod aproksymacji jest inspirowana publikacjami Quinlana [209, 211], który przedstawił ją dla drzew modelowania. Jest to w grun cie rzeczy naturalne rozszerzenie drzew regresji, opisywanych przez Breimana i innych [33], których liście zawierały po prostu ciągłe wartości funkcji docelo wej. Koncepcja wykorzystania podobnego podejścia dla reprezentacji regułowej prawdopodobnie nie została przez nikogo zbadana, ale tu także pozostaje pole do własnej aktywności czytelnika.
8.11 Ćwiczenia Ćwiczenie 8.1. Kontynuując przykład 8.1, prześledź zmiany wag aproksymatora linio wego stosowanego do uczenia się funkcji docelowej f(x) = 4>Q(X) + \{x) w 10 kolejnych iteracjach, w trakcie każdej z których są przetwarzane wszystkie przy kłady trenujące, dla inkrementacyjnego oraz epokowego trybu uczenia się. Ćwiczenie 8.2. Powtórz ćwiczenie 8.1, redukuj ąc po każdej iteracj i rozmiar kroku o po łowę. Porównaj względny błąd próbki na zbiorze trenującym uzyskany w każdym przypadku. Ćwiczenie 8.3. Kontynuując przykład 8.2, prześledź zmiany wag aproksymatora linio wego stosowanego do uczenia się funkcji docelowej f(x) = 0o(z) + 0i(z) + ¢2(%) w 10 kolejnych iteracjach, w trakcie każdej z których są przetwarzane wszystkie przy kłady trenujące, dla inkrementacyjnego oraz epokowego trybu uczenia się. Ćwiczenie 8.4. Powtórz ćwiczenie 8.3, redukując po każdej iteracji rozmiar kroku o po łowę. Porównaj względny błąd próbki na zbiorze trenującym uzyskany w każdym przypadku.
491
8.11. ĆWICZENIA
Ćwiczenie 8.5. Konkretyzując regułę delta, wyprowadź wzór określający sposób mo dyfikacji wag dla nieliniowego aproksymatora parametrycznego, którego funkcja od wzorowania jest określona następująco: n'-l
/n-l
\
F{cj){x),w) = Y^ wj9[ ^M^Wij j=0
\ i=0
I, /
przy czym =
^
1 + exp(-to;)
dla b > 0, a wektor wag w zawiera elementy w^ i u^- dla z = 0 , 1 , . . . , ra — 1, J =0,1 n ' - 1Cwiczenie 8.6. Weźmy pod uwagę aproksymator CMAC dla trójwymiarowej przestrze ni pierwotnych cech 0O : X ^ ( - 5 , 5], >i : X *-> (0,1] i 0 2 : X \-t (0,100], których przeciwdziedziny zostały podzielone na przedziały warstwy 0 w następujący sposób:
5, - 2, -
*?o = 0,
#20 — 0,
e°n = o,i,
^ i = 10,
e°02 = o,
0?2 = 0,5,
^22 = 2 0 ,
#03 = 2,
0?3 = 0,8,
0°23 = 50,
0° - <\
0°u = 0,9,
& = 70,
«?5 = 1.
0°25 = 100.
#oo -
v0l -
P 0 4 — O,
Przyjmując liczbę warstw L — 5, wyznacz: 1) końce przedziałów w warstwach 1,2,3,4, 2) liczbę cech rozszerzonych, 3) numery aktywnych rozszerzonych cech dla przykładów x\, x 2 , x 3 , przy czym: >o(zi) = - 1, 0o(z 2 ) - 3,
4>i{xi) - 0,25, ^ ( x 2 ) = 0,4,
0 2 (^i) - 30 02(;c2) - 40,
00(2:3) - 4,
^ ( ¢ 3 ) = 0,7,
0 2 (x 3 ) = 60.
Ćwiczenie 8.7. Opracuj szczegóły aproksymatora CMAC dla atrybutów porządkowych, podając odpowiednie formuły wyznaczania numerów aktywnych cech. Określ mini malną liczbę wartości atrybutów porządkowych, dla których proponowane podejście może być stosowane. Ćwiczenie 8.8. Opierając się na przedstawionej dyskusji problemu nieograniczonych przeciwdziedzin dla aproksymatora CMAC, sformułuj odpowiednio zmodyfikowaną wersję algorytmu, podając w szczególności formuły do wyznaczania numerów aktyw nych cech rozszerzonej reprezentacji.
492
ROZDZIAŁ 8. UCZENIE SIĘ APROKSYMACJI FUNKCJI
Ćwiczenie 8.9. Zaproponuj kilka różnych technik konstruowania reprezentacji randomizowanych dla atrybutów dyskretnych. Ćwiczenie 8,10. Dla aproksymatora pamięciowego, wykorzystującego algorytm najbliż szego sąsiada, którego pamięć zawiera przykłady trenujące x\, x2,..., £25 takie, że (f}0(xi) — 0,0087r • 22 dla i = 1,2,..., 25, przy czym 0O jest jedyną cechą wykorzy stywaną do opisu przykładów, oraz wartości przyjmowane dla tych przykładów przez funkcję docelową / określoną dla każdego x G X jako f(x) — S1"^°xy , oblicz błędy względny i średni ok wadratowy reprezentowanej przez zapamiętane przykłady hipote zy na zbiorze przykładów P = {x[,X2,. .-,xł8} takich, żc(j>o(x,i) — 0,06257r • ŻŚ. Ćwiczenie 8.11. Powtórz ćwiczenie 8.10 dla aproksymatora pamięciowego, wykorzy stującego algorytm &NN dla k = 3. Ćwiczenie 8.12. Powtórz ćwiczenie 8.10 dla aproksymatora pamięciowego, wykorzy stującego metodę lokalnych średnich ważonych z podanymi w tym rozdziale funkcja mi wygładzającymi. Ćwiczenie 8.13. Zaimplementuj aproksymator CMAC. Ćwiczenie 8.14. Zaproponuj aproksymator symboliczny, wykorzystujący zbiór reguł do reprezentowania hipotezy modelowania. Ćwiczenie 8.15. Zaimplementuj aproksymator symboliczny, wykorzystujący drzewa modelowania.
Rozdział 9
Indukcyjne programowanie logiczne Can 7 you see It dli makes perfect sense1 (... ) osiemdziesiąty korpus marlaburdzki wołał, iż trzeba koniecznie uściślić definicję pojęcia „nieprzyjaciel", która wydaje się, jak dotąd, obciążona logicznymi sprzecznościami, a może nawet zgoła bezsensowna2.
W tym rozdziale wracamy do uczenia się pojęć, lecz przyjmując w dość istot ny sposób zmodyfikowaną definicję pojęcia. W miejsce pojęć reprezentujących właściwości pojedynczych obiektów dziedziny i zaliczających je ze względu na te właściwości do odpowiednich kategorii, wprowadzimy pojęcia reprezentujące związki zachodzące między wieloma obiektami. Takie pojęcia nazwiemy pojęcia mi predykatowymi, w odróżnieniu od pojęć zdaniowych, którymi zajmowaliśmy się dotychczas. Zmiana ta prowadzi w naturalny sposób do przyjęcia za podstawę reprezentacji wiedzy logiki predykatów. Uczenie się polega wówczas na znale zieniu hipotezy, będącej logiczną formułą opisującą pojęcie docelowe w zależno ści od innych relacji określonych na dziedzinie, najczęściej reprezentowaną przez zbiór klauzul. Informacja trenująca, będąca podstawą tego rodzaju uczenia się, na zywanego indukcyjnym programowaniem logicznym, ma postać krotek obiektów należących do poszczególnych relacji. Takie krotki, a nie pojedyncze obiekty, bę dziemy teraz uznawać za przykłady. Ponieważ zbiór klauzul reprezentujący hipo tezy indukcyjnego programowania logicznego może być traktowany jak uogólnie nie zbioru reguł stosowanego do reprezentowania hipotez dla pojęć zdaniowych, jedna z najważniejszych grup algorytmów do uczenia się pojęć predykatowych jest oparta na zasadniczo tym samym co indukcja reguł schemacie sekwencyjnego pokrywania. Przedstawimy jego konkretyzację opartą na systemie FOIL. Inne po dejście, jakie poznamy, polega na odwracaniu wnioskowania dedukcyjnego. Jego podstawą może być operator odwróconej rezolucji, polegający na stosowaniu za sady rezolucji będącej regułą wnioskowania dedukcyjnego w odwrotnym kierunku (od konkluzji do przesłanek) jako reguły wnioskowania indukcyjnego. 1 2
Perfect sense II (Roger Waters: Amused to Death). Wyprawa pierwsza, czyli pułapka Gargancjana.
494
ROZDZIAŁ 9. INDUKCYJNE PROGRAMOWANIE LOGICZNE
9.1 Reprezentacja wiedzy w rachunku predykatów Wiedza, z jaką mieliśmy do czynienia w przypadku dotychczas omawianych algo rytmów uczenia się, miała charakter dość prostych zależności dotyczących poje dynczych obiektów interesującej nas dziedziny. Opisując przykłady za pomocą ze stawu atrybutów, będących jednoargumentowymi funkcjami określonymi na dzie dzinie, mogliśmy następnie na różne sposoby reprezentować hipotezy, mówiące o tym, jak od wartości tych atrybutów zależy klasyfikacja przykładu do właściwej kategorii pojęcia docelowego, jego przynależność do odpowiedniej grupy tworzo nej w wyniku grupowania pojęciowego lub wartość aproksymowanej funkcji doce lowej. Powstrzymywaliśmy się na ogół od wykorzystywania do opisu i analizowa nia takich rodzajów wiedzy formalizmów logicznych, gdyż nie było to potrzebne; formalizmy takie, gdybyśmy zechcieli ich użyć (na przykład omawiając drzewa decyzyjne lub kompleksy z perspektywy logiki), byłyby bardzo proste i stanowiły by pewne warianty rachunku zdań. Ponieważ każdy przykład jest opisywany przez wartości atrybutów, o samych przykładach nie mówi się właściwie wcale, traktując je jako domniemane i rozważając wyłącznie wektory wartości atrybutów. Zdania elementarne dotyczą wówczas faktów polegających na tym, że pewien atrybut ma taką a nie inną wartość, że kategoria lub wartość funkcji docelowej jest taka a nie inna, przy czym zawsze dotyczy to dokładnie jednego przykładu, którego w związ ku z tym nie trzeba nazywać ani w żaden inny sposób identyfikować. Nie ma po trzeby sięgania po predykaty, a zdania złożone powstają w wyniku łączenia zdań elementarnych za pomocą logicznych funktorów, takich jak koniunkcja, alternaty wa czy implikacja. Zwróciliśmy na to uwagę w rozdziale 4, dyskutując logiczne podstawy regułowej reprezentacji hipotez. Zadanie uczenia się pojęć, wprowadzo ne w rozdziale 2, możemy ze względu na tę właściwość bardziej precyzyjnie okre ślić jako zdaniowe uczenie się pojęć, a rozważane wówczas pojęcia jako pojęcia zdaniowe. Prostota mechanizmu wyrażania wiedzy opartego na logice zdań umożliwia wykorzystującym taką reprezentację systemom uczącym się implementowanie go na różne sposoby i przeszukiwanie odpowiedniej przestrzeni hipotez w efektywny sposób. To z kolei ma zasadnicze znaczenie dla ich sukcesu w praktyce, która wy maga skutecznego i efektywnego uczenia się na podstawie dużych zbiorów danych trenujących. Dająca te korzyści prostota reprezentacji wiedzy pociąga za sobą na turalną cenę w ograniczeniu złożoności wiedzy, dającej się w tak prosty sposób re prezentować. Nie dla każdej dziedziny zależności między wartościami atrybutów pojedynczych obiektów a ich kategoriami występują i są najbardziej interesujące. Jeśli chcemy procesem uczenia się objąć wiedzę bardziej złożoną, dotyczącą za leżności między wieloma różnymi obiektami dziedziny, logiczne podstawy repre zentacji wiedzy wymagają rozszerzenia. Rozszerzenie, jakiemu jest poświęcony ten rozdział, polega na zastąpieniu logiki zdań logiką predykatów.
9.2. UCZENIE SIĘ POJĘĆ W RACHUNKU PREDYKATÓW
495
Z oczywistych względów wykorzystanie rachunku predykatów jako podsta wy reprezentacji wiedzy prowadzi do przezwyciężenia wskazanego wyżej ograni czenia rachunku zdań. Predykaty to, mówiąc w pewnym uproszczeniu, atomowe formuły logiczne, umożliwiające stwierdzanie, że w interesującej nas dziedzinie zachodzą pewne relacje. Formalnie rzecz biorąc, są to po prostu przyporządko wane relacjom nazwy, używane do zapisu formuł logicznych. Mogą one w ogól nym przypadku mieć zero, jeden lub więcej argumentów. Argumentami tymi są termy, czyli w najprostszym przypadku stałe lub zmienne, którym odpowiada ją należące do dziedziny obiekty. Uporządkowany zestaw obiektów, które mogą być argumentami pewnej relacji, będziemy nazywać krotką. Dokładniej, jeśli p jest relacją m-argumentową na dziedzinie X, to odpowiednią dla tej relacji krotką jest każdy element m-krotnego iloczynu kartezjańskiego dziedziny X m , czyli melementowy wektor obiektów z dziedziny. Relację najwygodniej jest definiować jako pewien podzbiór takiego iloczynu kartezjańskiego. O krotkach należących do tego podzbioru mówi się wówczas, że należą do relacji lub że relacja dla nich zachodzi. Relację można również w pełni opisać za pomocą jej funkcji charaktery stycznej, która iloczyn kartezjański Xm odwzorowuje na zbiór {0,1}, przypisując 1 krotkom należącym do relacji i 0 krotkom do niej nie należącym. Jeśli warto ściom 1 i 0 nadamy interpretację logicznej prawdy i fałszu, to predykat możemy interpretować jako taką właśnie funkcję. Chociaż, ściśle rzecz biorąc, predykaty są tylko symbolami używanymi do zapisu formuł logicznych, a przyporządkowanie im funkcji charakterystycznych odpowiednich relacji jest dokonywane przez ich interpretację, w dalszym ciągu tego rozdziału wygodnie będzie utożsamiać je z ta kimi funkcjami, podobnie jak stałe będziemy utożsamiać z obiektami dziedziny. Pełne i bardziej formalne definicje składni i semantyki języka predykatów znajdu ją się w dodatku C.
9.2 Uczenie się pojęć w rachunku predykatów Rozwój metod indukcyjnego uczenia się spowodował dobre rozpoznanie ograni czeń stosowanych w nim metod reprezentacji wiedzy, odpowiadających z logicz nej perspektywy rachunkowi zdań, i zainteresowanie możliwościami ich przezwy ciężenia. Takich możliwości dostarcza, zgodnie z powyższą dyskusją, wykorzy stanie do reprezentacji wiedzy rachunku predykatów. Tak reprezentowaną wiedzę, wcześniej powszechnie stosowaną w systemach dedukcyjnych, system uczący się powinien nabywać w drodze indukcji na podstawie odpowiedniej informacji tre nującej. Jeśli jednak wynikiem indukcji jest zbiór formuł logicznych, to nic nie stoi na przeszkodzie, aby został on potraktowany jako baza wiedzy służąca do de dukcji, czy też programowania logicznego. Zauważmy, że w podejściu tym w na turalny i łatwy sposób można do systemu uczącego się wprowadzać wiedzę wro-
496
ROZDZIAŁ 9. INDUKCYJNE PROGRAMOWANIE LOGICZNE
dzoną na temat dziedziny problemu, wyposażając go w pewien zbiór formuł, który musiałby wówczas tylko odpowiednio uzupełnić. Oczywiście większa złożoność wiedzy, którą można reprezentować, pociąga za sobą z jednej strony większą zło żoność samego procesu uczenia się i stosowanych do jego realizacji algorytmów, a z drugiej strony zasad jej używania do wnioskowania. O ile rachunek zdań jest rozstrzygalny, co oznacza możliwość sprawdzenia prawdziwości dowolnej formu ły w skończonej liczbie kroków wnioskowania, o tyle rachunek predykatów jest tylko częściowo rozstrzygalny: jedynie dla formuł prawdziwych można znaleźć dowód w skończonej liczbie kroków. Indukcyjne programowanie logiczne (IPL) to paradygmat indukcyjnego ucze nia się pojęć reprezentowanych przez wieloargumentowe w ogólnym przypadku predykaty i na tym polega jego zasadnicza odmienność od wszystkich rodzajów uczenia się omawianych przez nas do tej pory. Dezaktualizuje to w sporej części stosowaną przy omawianiu indukcyjnego uczenia się terminologię i notację, której aktualizacji jest poświęcony przede wszystkim ten podrozdział. Niektóre terminy, których znaczenie będzie tu precyzowane, zdążyły się już zresztą w tym rozdziale pojawić. Przy okazji raz jeszcze odsyłamy czytelnika, o ile napotka na trudności przy jego lekturze, do dodatku C, w zwartej i bardziej ścisłej formie prezentują cego podstawy logiki predykatów. Tu będziemy je traktować na ogół jako znane, niekiedy tylko krótko przypominając znaczenie podstawowych terminów, które będą tu zazwyczaj rozumiane w uproszczony dla wygody sposób, gdyż do oma wiania indukcyjnego programowania logicznego nie jest wymagany taki poziom ścisłości formalnej, jaki przyjmuje się w rozważaniach poświęconych systemom dedukcyjnym. Dziedzina. Jest to teraz, jak zwykle oznaczany przez X, zbiór obiektów, o któ rych wiedzy chcemy się uczyć. Nie będziemy ich jednak, z przyczyn, które wkrót ce staną się jasne, nazywać przykładami. Wobec braku lepszych terminów poprze staniemy więc na „obiektach", zastrzegając, że w praktyce ich natura może być bardzo różna i mogą być w szczególności również pewnymi sytuacjami, stanami rzeczy czy właściwościami. Ze względów formalnych założymy, że dziedzina jest skończona, co jednak nie wyklucza stosowania algorytmów indukcyjnego progra mowania logicznego do dziedzin nieskończonych. W praktyce podczas uczenia się zakłada się po prostu, że dziedzina zawiera wyłącznie obiekty występujące w przy kładach trenujących, których postać poznamy niżej. Nie przeszkadza to stosowa niu uzyskanej tak hipotezy do wnioskowania o innych obiektach. Predykaty i relacje. Predykat m-argumentowy jest nazwą m-argumentowej re lacji określonej na dziedzinie, lecz tu traktować go będziemy po prostu jak funkcję R : Xm i-> {0,1}. Predykaty odpowiadają relacjom określonym na dziedzinie.
9.2. UCZENIE SIĘ POJĘĆ W RACHUNKU PREDYKATÓW
497
Jeśli p C Xm jest taką m-argumentową relacją, to odpowiada jej predykat Rp zdefiniowany dla dowolnych # 1 , 2 2 , . . . , 3 ¾ € X następująco: „ ,
^ /
1
[0
jeśli { # 1 , # 2 , - . . ^ m ) 6 p , jesh (#1,2:2,..., a;m> 0 p.
Predykaty umożliwiają więc zapis logicznych formuł, w których mówi się o rela cjach. Wyznaczenie wartości logicznej predykatu dla danych argumentów nazywa się jego wartościowaniem. Może ono nastąpić bądź bezpośrednio, jeśli jego war tość dla tych argumentów jest znana (na podstawie wiedzy wrodzonej lub informa cji trenującej), bądź w drodze wnioskowania dedukcyjnego na podstawie wartości innych predykatów. Przykład 9.1 (Relacje rodzinne). Jako prosty przykład rozpatrzmy dziedzinę zło żoną z pewnej grupy ludzi. Do wchodzących w jej skład obiektów (osób) będziemy się dalej odwoływać za pomocą imion. Przyjmujemy zatem: X — {Jan, Adam, Paweł, Bogdan, Tomasz, Stanisław, Zbigniew, Marek, Grzegorz, Ireneusz, Joanna, Ewa, Anna, Grażyna, Magda, Katarzyna, Olga, Urszula, Hanna, Celina}, czyli dziedzina zawiera 20 obiektów. Na dziedzinie, będącej zbiorem ludzi, określonych jest bardzo wiele relacji, w tym oczywiście relacje rodzinne. Można wziąć pod uwagę następujące najprostsze relacje: ojciec = {(#1, #2) £ X2 I xi jest ojcem #2}, matka = {(#i,#2) £ X2 \ x\ jest matką £2}, dziadek= {(#1,^2) £ X2 \ X\ jest dziadkiem x2}> babka— {(x\,X2) G X2 \ x\ jest babką x 2 }, przodek— {{xi,X2} E X2 \ x\ jest przodkiem #2}, rodzeństwo— {(#i,#2) 6 X2 \ x\ ix2 są rodzeństwem}, rodzice— {{xi,X2,xs)
€ X 3 | xi i x 2 są rodzicami £3}.
Relacjom tym odpowiadają predykaty, które będziemy zapisywać jako R0jCiee> Rmatka, Rdziadek* Rbabka, Rodzeństwo, Rrodzice- Ostatni z nich jest trójargumentowy, a wszystkie poprzednie są dwuargumentowe. Z opisanej dziedziny oraz z niektórych spośród okre ślonych na niej relacji i odpowiadających im predykatów będziemy korzystać w dal szych przykładach zamieszczonych w tym rozdziale. Krotki i przykłady. Dla predykatu m-argumentowego krotką nazwiemy upo rządkowaną m-tkę obiektów z dziedziny, czyli element iloczynu kartezjańskiego Xm. Krotki będziemy zapisywać jako ujęte w trójkątne nawiasy listy obiektów,
498
ROZDZIAŁ 9. INDUKCYJNE PROGRAMOWANIE LOGICZNE
oddzielonych przecinkami — w równaniu (9.1) już z tej notacji skorzystaliśmy. Zatem X m jest zbiorem wszystkich m-elementowych krotek obiektów z dziedzi ny X, a (si, # 2 , . . . , xm) G Xm jest jedną z nich. Zamiennie ze sformułowaniem, że argumentami m-argumentowego predykatu R są obiekty x\, %2 . . . , x m G X, będziemy także mówić, że argumentem predykatu i? jest krotka (xi, #2, • • •, xm). Przykładami (pozytywnymi) każdej określonej na dziedzinie m-argumentowej re lacji nazwiemy te i tylko te krotki, które należą do tej relacji, czyli, równoważnie, dla których odpowiedni predykat ma wartość 1. Zatem (x\, £2, •. -, xm) jest (po zytywnym) przykładem relacji p wtedy i tylko wtedy, gdy (xi, x
9.2. UCZENIE SIĘ POJĘĆ W RACHUNKU PREDYKATÓW
499
Jeśli Ewa nie jest matką Tomasza, to krotka (Ewa, Tomasz) jest przykładem negatyw nym relacji matka, czyli (Ewa, Tomasz) £ matka. Wówczas Rmatka(Ewa, Tomasz) - 0.
Stałe i zmienne. W ogólnym przypadku jako argumenty predykatów występu ją termy, którymi mogą być stałe, zmienne lub funkcje z argumentami będący mi termami. Tę ostatnią możliwość wyłączymy jednak z dalszej dyskusji, ogra niczając się do termów będących stałymi lub zmiennymi. Dotychczas stosowane oznaczenia obiektów dziedziny z, #i, #2, • • • zarezerwujemy w związku z tym dla stałych, a na oznaczenie zmiennych użyjemy oznaczeń v, ui, ^2, • • •, y, yi, yi, • • i 2,2i, ^2 7 Zmienne wolne, a więc nie związane kwantyfikatorem, mogą przyj mować za wartości dowolne obiekty dziedziny. Dopiero przypisanie pewnych war tości tym zmiennym umożliwia wartościowanie predykatu, którego są argumenta mi. Zbiór wszystkich zmiennych wolnych występujących w formule ot będziemy oznaczać przez Va. Formuły logiczne. Korzystając z predykatów określonych na dziedzinie oraz używając stałych obiektów z dziedziny lub zmiennych jako ich argumentów, moż na budować formuły logiczne. Formuły w ogólnym przypadku mogą być zbudo wane z formuł atomowych oraz dowolnych operatorów logicznych i nawiasów służących do zapisania kolejności wartościowania. Formułą atomową jest wynik zastosowania dowolnego predykatu do dowolnych argumentów, będących zgod nie z wcześniejszym założeniem stałymi lub zmiennymi. Formułę atomową na zywa się także literałem pozytywnym, a jeśli jest poprzedzona operatorem negacji -i, staje się literałem negatywnym. Szczególnie interesującym rodzajem formuł są alternatywy literałów, nazywane klauzulami. Klauzula pusta, nie zawierająca żad nego literału, jest formułą fałszywą. Klauzulę, w której skład wchodzi co najwyżej jeden literał pozytywny, nazywa się klauzulą Horna. Jeśli w klauzuli L 0 V -.Li V -1L2 V • • • V ^Lk
(9.2)
literały Lo, L\,..., Lk są pozytywne (czyli literały -1L1, ->L2, • • •, ~^Lk są nega tywne), to jest ona klauzulą Horna i może być zapisana jako następująca implika cja: Lx AL 2 A--- ALk^L0,
(9.3)
w której literał LQ jest nazywany następnikiem lub konkluzją, a pozostałe litera ły Li, L2, - •., Lk — poprzednikami lub przesłankami. Reprezentując wiedzę za
500
ROZDZIAŁ 9. INDUKCYJNE PROGRAMOWANIE LOGICZNE
pomocą klauzul przyjmuje się zwykle, że występujące w nich zmienne są związa ne domyślnym kwantyfikatorem uniwersalnym. Oznacza to założenie, że klauzula jest spełniona dla dowolnych wartościowań zmiennych. Możemy więc klauzulę z równania (9.2) traktować jako (Vyoi, - - • ,yom0) • • • (Vy*i, •. • ,l/*mj (L0 V - L i V -,L 2 V • • • V -.L*), (9.4) przy czym yn,yi2, • - • .yimi oznaczają zmienne występujące w literale Li i nie występujące w żadnym literale Lj dla j < i. Zauważmy, że przy przekształce niu klauzuli Horna do postaci implikacji możemy dokonać przeniesienia części kwantyfikatorów w następujący sposób: (Vyoi, • • • ,2/Omo) ((Ą/11) • • • lUlmi) • • • (3l/fcl) • • • )2/Amfc)
(I1AL2A--AL^L0)).
(9.5)
Oznacza to, że do wszystkich zmiennych nie występujących w konkluzji klauzuli Horna, a występujących w jej przesłankach, stosuje się domniemany kwantyfikator egzystencjalny. W dalszych rozważaniach będziemy brać pod uwagę klauzule bez kwantyfikatorów, dla których wszystkie występujące w nich zmienne są wolne. Interpretacja tych klauzul, która zostanie określona niżej, będzie zgodna z inter pretacją, zakładającą domniemane kwantyfikatory zgodnie z powyższą dyskusją. Jak zobaczymy, w klauzulach tych jako argumenty predykatów będą występować wyłącznie zmienne, co jednak wynika z właściwości algorytmów indukcyjnego programowania logicznego, jakie zostaną przedstawione, i nie jest w ogólnym przypadku konieczne, Przykład 9.3 (Relacje rodzinne). Dla dziedziny i predykatów z przykładu 9.1 można zapisać formuły logiczne: {-*Rqjciec(yi,
2/2) A -iRmatka(yi,
2/2)) V R0jciec(y3,
2/1) V
^Rmatka{yi,
2/2) V ->R0jciec(y3,
2/1) V Rdziadek(y'3,
-iRojciec(2/1»
2/2) V ->i?ma*a(2/3,2/2) V i?rodzice(2/1, 2/3, 2/2),
Rdziadek(y3,2/2),
2/2),
-*Rqjciec(yi,y2) V ^ # q / c i e c ( 2 / l » 2 / 3 ) V^rodzeństwo(2/2, 2/3)-
Pierwsza formuła nie jest klauzulą. Pozostałe formuły są klauzulami zawierającymi dokładnie jeden literał pozytywny, a więc klauzulami Horna. Mogą być one zapisane w postaci implikacji w następujący sposób: Rmatka(Vl,y2)
A R0jciec (2/3,2/1) - • #dziadelc (2/3 > 2/2 ) .
Rojciec{yi,y2)
A Rmatka{y'3,2/2)
#q/riec(2/1,2/2) A R0jciec(y
1^3)
- > ^rodzice(2/l, 2/3, £/2), - • #rodzeifctivo(2/2, 2/3)-
Indeksy zmiennych występujących w tych klauzulach są im przypisane zgodnie z ko lejnością ich pierwszych wystąpień. Dla wygody będziemy zwykle stosować taką kon wencję numeracji.
9.2. UCZENIE SIĘ POJĘĆ W RACHUNKU PREDYKATÓW
501
Podstawienia. W ogólnym przypadku podstawienie określa, jakimi stałymi za stępuje się wszystkie lub niektóre zmienne występujące w formule. Ponieważ w na szej dyskusji, odstępując od formalnej ścisłości, utożsamiamy stałe z obiektami dziedziny, będziemy mówić po prostu o nadawaniu zmiennym wartości. • DEFINICJA 9.1. Podstawieniem dla zbioru zmiennych V oraz zbioru obiektów O C X jest dowolny podzbiór zbioru {y/x\y£V,xeO}, w którym każda ze zmiennych y £ V występuje co najwyżej jeden raz.
(9.6) 0
Podstawienie jest więc zbiorem elementów, z których każdy określa wartość jednej zmiennej i jest nazywany wiązaniem dla tej zmiennej. Jeśli podstawienie ( zawiera wiązanie y/x, to w wyniku zastosowania tego podstawienia zmienna y otrzymuje wartość x. Powiemy, że podstawienie ( używa obiektu x, jeśli jest on w tym podstawieniu przypisywany co najmniej jednej zmiennej. Wynik za stosowania podstawienia ( do dowolnej formuły logicznej a będzimy zapisywać jako a[(]> Jest to formuła, jaka powstaje z formuły a po nadaniu występującym w niej zmiennym wolnym wartości określonych przez podstawienie (. W ogól nym przypadku dopuszczać można podstawienia za zmienne nie tylko stałych, jak w powyższej definicji, lecz dowolnych termów, także innych zmiennych, lecz nie będzie nam to potrzebne do prezentacji algorytmów indukcyjnego programowania logicznego. Podstawienie nie musi określać wartości wszystkich zmiennych — wówczas te, dla których brak w podstawieniu odpowiedniego elementu, pozostają wolne. Jeśli dla dowolnych dwóch podstawień ( i (/ zachodzi Q C (', to podsta wienie (f określa wartości niektórych zmiennych, których nie określa podstawienie (. Interesować nas będą przede wszystkim podstawienia zmiennym krotek, kiedy zbiorem podstawianych obiektów są elementy pewnej krotki. Jako ich szczegól ny rodzaj wyróżnimy podstawienia naturalne, w których kolejne obiekty krotki są przypisywane zmiennym w kolejności ich pierwszych wystąpień w pewnej formu le a. Precyzuje to następująca definicja. • DEFINICJA 9.2. Podstawienie naturalne dla formuły a zawierającej zmienne ze zbioru Va = {yi, 2/25 • • • ? 2/m} l dla krotki (x\, x £mł) Jest określone jako zbiór: {Vi/xi | « = 1,2,..., min{m, w!}}
(9.7)
przy założeniu, że dla każdego i — 1, 2 , . . . , m — 1 pierwsze wystąpienie zmien nej yi w formule a poprzedza pierwsze wystąpienie zmiennej yi+\. 0
502
ROZDZIAŁ 9. INDUKCYJNE PROGRAMOWANIE LOGICZNE
Przy podstawieniu naturalnym nie wymaga się, aby liczba zmiennych i dłu gość krotki były jednakowe. Jeśli zmiennych jest więcej, niektóre z nich (najpóź niej występujące w formule) nie otrzymają wartości. Jeśli obiektów jest więcej, to niektóre z nich (z końcowej części krotki) nie zostaną użyte. Przykład 9.4 (Relacje rodzinne). Weźmy pod uwagę jedną z klauzul podanych w poprzednim przykładzie: Ot =
flmatfca(2/1,2/2)
A i? 0 j c iec(2/3, 2/l) - » ^dziade*(2/3, 2/2)•
Mamy w tym przypadku Va = {2/1,2/2,2/3}- Rozważymy następujące podstawienia dla zmiennych z tego zbioru: Ci = {2/1 /Anna, y2/Stanisław}, (2 - {yi / Anna, y2/Stanisław, y3/Adam}. Stosując te podstawienia do klauzuli a otrzymujemy: a[Ci] = Rmaika{Anna, Stanisław) A Rojciec(y3,Anna) -> Rdńadek{y^ Stanisław), a[C2] = Rmatka(Anna, Stanisław) A Rojciec(Adam, Anna) -» ->• i^dzjadeJt(Adam, Stanisław). Ponieważ kolejność pierwszych wystąpień zmiennych 2/1,2/2,2/3 w klauzuli a jest zgodna z kolejnością ich indeksów dolnych, więc podstawienie (1 jest naturalnym podstawieniem dla tej formuły i krotki (Anna, Stanisław), a (2 jest naturalnym podstawieniem dla a i krotki (Anna, Stanisław, Adam) oraz każdej krotki powstałej przez rozszerzenie jej o dodatkowe obiekty, czyli w szcze gólności (Anna, Stanisław, Adam, Paweł). Pokrywanie przykładów. Będziemy mówić, że literał pozytywny pokrywa krot kę obiektów z dziedziny, jeśli po ich podstawieniu za występujące w nim zmienne jest on spełniony. W przypadku literału pozytywnego oznacza to, że występują cy w nim predykat przyjmuje wartość 1, a dla literału negatywnego wartość 0. Możemy to zapisać w postaci następujących prostych definicji.
• DEFINICJA 9.3. Literał pozytywny Rp(y\,y2,..., ymp)jest spełniony po pod stawieniu za zmienne y i , . . . , yrrip odpowiednio obiektów r e i , . . . , xrUp, jeśli Rp(xuX2T..,xm) = 1. 0
9.2. UCZENIE SIĘ POJĘĆ W RACHUNKU PREDYKATÓW
503
• DEFINICJA 9.4. Literat negatywny ->i? p (yi,y2,... ,y m / J Jest spełniony po podstawieniu za zmienne y i , . . . , ymp odpowiednio obiektów x\,..., xmp> yeśliRp(xux2,...,xmp) =0. 0 • DEFINICJA 9.5. Literał, w którym występują zmienne yi, y ./^7/ 7 ^ 0W spełniony po podstawieniu za zmienne yi i • • • i ym odpowiednio obiektów x\,..., x m . 0 Bardziej jednak niż pokrywanie krotek przez pojedyncze literały będzie nas interesować ich pokrywanie przez klauzule, a dokładniej części warunkowe (prze słanki) klauzul Horna, zapisanych w postaci implikacji, reprezentowane przez koniunkcję literałów. Weźmy pod uwagę klauzulę zapisaną w równaniu (9.3) i, jak poprzednio, przez y%\,yi2, • • • ,yimi oznaczmy wszystkie zmienne występujące w literale Li dla i = 0 , 1 , . . . , k, ale nie występujące w żadnym literale Lj dla j < i. Łączna liczba zmiennych w klauzuli wynosi więc m = m o + m \ H hm&. Obecnie dowolną m-elementową krotkę {x\, X2, • • ., xm) G Xm można wykorzy stać do przypisania wartości m zmiennym występującym w tej klauzuli. Jeśli po takim podstawieniu jest spełniony każdy literał w koniunkcji tej klauzuli, to powie my, że koniunkcja ta pokrywa krotkę (x l5 x 2 , . . . , xm) i że cała klauzula pokrywa tę krotkę. Podsumowuje to poniższa definicja. • DEFINICJA 9.6. Klauzula Horna Li A L