Paweł Cichosz
Date: 2001/2002
Przedmiotem wykładu są metody uczenia się pojęć polegające na określaniu prawdopodobieństw kategorii w zależności od wartości atrybutów na podstawie danych trenujących bez tworzenia symbolicznej reprezentacji hipotezy.
Podstawą probabilistycznych metod uczenia się jest twierdzenie podane przez Thomasa Bayesa, XVIII-wiecznego matematyka angielskiego. W kontekście metod uczenia się i odkrywania wiedzy wzór będący treścią tego twierdzenia podaje się zazwyczaj w postaci:
, |
(1) |
W większości przypadków celem wyznaczania prawdopodobieństw a
posteriori jest wybór hipotezy najbardziej prawdopodobnej w świetle
zaobserwowanych danych. Wówczas, ponieważ interesują nas nie tyle
bezwzględne wartości tych prawdopodobieństw, co raczej ich
porównywanie, występujące w mianowniku we wzorze Bayesa
prawdopodobieństwo danych
, skoro nie zależy od
hipotez, nie wpływa na wynik i może być pominięte. Przy porównaniu
wystarczy uwzględnić występujący we wzorze w liczniku iloczyn
.
Jeśli z pewnych względów interesuje nas bezwzględna wartość
, to potrzebne do jej obliczenia
prawdopodobieństwo
może być przy pewnych założeniach
uzyskane na podstawie łatwiejszych na ogół do wyznaczenia
prawdopodobieństw
dla różnych hipotez
.
Załóżmy mianowicie, dostępna jest wyłącznie skończona liczba
wykluczających się parami hipotez, które wyczerpują wszystkie
możliwości, czyli
| 0, | (2) | |
![]() |
(3) |
. |
(4) |
Interpretując wzór Bayesa w kontekściu uczenia się pojęć rozważamy
oczywiście hipotezy jako funkcje klasyfikujące elementy dziedziny
do kategorii z pewnego zbioru
, a rolę danych pełni zbiór trenujący
z danymi etykietami pojęcia docelowego.
Najbardziej bezpośrednie zastosowanie wzoru Bayesa do uczenia się klasyfikacji polegałoby na określaniu prawdopodobieństw poszczególnych hipotez na podstawie zbioru trenującego i wyborze hipotezy o maksymalnym prawdopodobieństwie a posteriori. Taki algorytm uczenia się klasyfikacji jest nazywany algorytmem MAP. Jego wynikiem jest hipoteza określona w następujący sposób:
| (5) |
Algorytm MAP polega na wyborze spośród ustalonego zestawu możliwych hipotez jednej, uznanej za najbardziej prawdopodobną. Jest jednak możliwe inne podejście, polegające na sformułowaniu na podstawie tych hipotez, z uwzględnieniem ich prawdopodobieństw, nowej hipotezy, która mogłaby być lepsza od najlepszej z nich. W ten sposób działa optymalny klasyfikator bayesowski, który zamiast szukać najbardziej prawdopodobnej hipotezy, dla każdego klasyfikowanego przykładu szuka najbardziej prawdopodobnej kategorii.
Najbardziej prawdopodobną kategorię dowolnego przykładu
otrzymuje
się uwzględniając kategorie, do których zaliczają ten przykład
wszystkie hipotezy rozważanej przestrzeni 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 dowolnie wybrany przykład
należy do kategorii
pojęcia docelowego
szacowane na
podstawie zbioru
etykietowanych przykładów tego pojęcia, możemy
wyrazić w następujący sposób:
, |
(6) |
![]() |
(7) |
Algorytm ten również obarczony jest tą wadą, że ze względu na koszt obliczeniowy liczba rozważanych w nim hipotez nie może być zbyt wielka, lecz jego zaletą jest to, że klasyfikując przykłady potrafi poza ten przyjęty ograniczony zestaw hipotez wykroczyć.
Do stosowania dwóch sformułowanych wyżej metod klasyfikacji
probabilistycznej nie jest potrzebne wyznaczanie prawdopodobieństwa
zbioru trenującego
, ale niezbędne jest wyznaczenie
warunkowych prawdopodobieństw
dla
poszczególnych hipotez
.
Prawdopodobieństwo danych trenujących do uczenia się pojęć jest w
istocie 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
, a nie same przykłady wchodzące w jego skład.
Pozostaje określić, jak na ocenę prawdopodobieństwa etykiet przykładów
trenujących wpływają hipotezy. Prawdopodobieństwo
mówi o tym, jak bardzo prawdopodobne jest, aby przykłady ze zbioru
miały takie etykiety kategorii, jakie faktycznie występują w zbiorze
, jeśli poprawna jest hipoteza
, czyli jeśli hipoteza
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
etykietami kategorii, jakie przyporządkowuje im pojęcie
, to
dla dowolnej hipotezy
![]() |
(8) |
Ta prosta sytuacja komplikuje się, jeśli dopuścimy niepoprawność
zbioru trenującego. Aby wówczas móc również wyznaczyć interesujące
nas prawdopodobień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
może mieć z takim samym
prawdopodobieństwem
etykietę w zbiorze
różną od
poprawnej etykiety
. Dla hipotez spójnych ze zbiorem trenującym
warunkowe prawdopodobieństwo tego zbioru może być wówczas mniejsze niż
, zaś dla hipotez niespójnych może być większe niż 0. Niech
oznacza liczbę pomyłek hipotezy
na zbiorze
, czyli
liczbę przypadków niezgodności etykiet przypisywanych przykładom przez
tę hipotezę z ich poprawnymi kategoriami pojęcia docelowego
. Jeśli
oznacza pojęcie ,,przekłamane'', którego etykiety faktycznie
występują w dostarczonym uczniowi zbiorze trenującym, to możemy
zapisać:
. |
(9) |
Naiwny klasyfikator bayesowski jest wolny od problemów związanych z obliczaniem prawdopodobieństw a posteriori dla wszystkich hipotez pewnej ustalonej przestrzeni dzięki temu, że żadnej takiej przestrzeni nie rozważa, lecz raczej reprezentuje hipotezy za pomocą tworzonych na podstawie zbioru trenującego oszacowań 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.
Naiwny klasyfikator bayesowski zakłada, tak jak wcześniej poznane
przez nas algorytmy indukcji, że przykłady są opisane za pomocą
pewnego zestawu atrybutów
, przy czym ograniczamy
się tymczasem do atrybutów o wartościach dyskretnych (nominalnych lub
porządkowych). Na podstawie zbioru trenującego
są szacowane
prawdopodobieństwa poszczególnych kategorii pojęcia docelowego
oraz prawdopodobieństwa poszczególnych wartości wszystkich atrybutó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
prawdopodobieństwa
i w związku z tym prawdopodobieństwa
szacowane podczas uczenia się będą prawdopodobieństwami przy założeniu
wyboru przykładów zgodnie z tym rozkładem. Interesujące nas
oszacowania dotyczą prawdopodobieństw
dla wszystkich kategorii
pojęcia docelowego
oraz
dla wszystkich
kategorii
oraz wartości
dla
, przy
czym
jest przeciwdziedziną atrybutu
. Prawdopodobieństwa te
szacuje się na podstawie częstości występowania w zbiorze trenującym
przykładów o odpowiednich kategoriach i wartościach atrybutów, przy
czym można stosować albo bezpośrednie szacowanie, albo
-szacowanie.
Przy pierwszym podejściu należy zapobiec występowaniu
prawdopodobieństw równych 0 w sytuacji, gdy w zbiorze
nie ma
żadnego przykładu spełniającego określone warunku, zastępując je pewną
niewielką, lecz dodatnią wartościa
(mniejszą niż
prawdopodobieństwo, jakie otrzymalibyśmy, gdyby znalazł się
taki
przykład). Przy drugim podejściu prawdopodobieństwa zerowe nie
wystąpią.
Szacowanie prawdopodobieństw wartości atrybutów ma sens wyłącznie dla
atrybutów nominalnych i porządkowych, nie zaś ciągłych. Nie jest
jednak przy tym w praktyce konieczne, aby atrybuty miały skończoną
liczbę wartości. Do oszacowania prawdopodobień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 przyjąć ustalone
małe prawdopodobieństwo
.
Załóżmy, że dany jest pewien przykład
i należy, przy
dostępnych oszacowaniach prawdopodobieństw
dla wszystkich
oraz
dla
, wszystkich
i
, wyznaczyć kategorię
tego przykładu. Naiwny klasyfikator bayesowski wybiera wówczas
kategorię najbardziej prawdopodobną, przy czym chodzi o wybór
kategorii najbardziej prawdopodobnej dla przykładu o znanych
wartościach atrybutów. Definicję odpowiedniej hipotezy
możemy
zapisać następująco:
![]() |
(10) |
, |
(11) |
, |
(12) |
Ponieważ wartości
znamy, pozostaje
określić sposób obliczania prawdopodobieństw postaci
![]() |
(13) |
![]() |
(14) |
![]() |
(15) |
W wielu zastosowaniach, nawet kiedy założenie o niezależności jest w oczywisty 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.
W naiwnym klasyfikarorze bayesowskim w wyjątkowo prosty sposób można
traktować brakujące wartości atrybutów przy klasyfikacji przykładu.
Jeśli dla przykładu
wartość pewnego atrybutu
nie jest
znana, wystarczy przyjąć
,
zapewniając w ten sposób, że atrybut ten nie będzie uwzględniany przy
jego klasyfikacji (nie wpłynie na obliczany iloczyn
prawdopodobieństw). Klasyfikacja zostanie wówczas dokonana na
podstawie znanych wartości atrybutów.
W przedstawionej wcześniej postaci naiwny klasyfikator bayesowski, prezentowany 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 wykorzystywana, 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 korzystanie z niego dla dowolnej dziedziny, dla której może być określone zadanie uczenia się pojęć.
Aby możliwe było stosowanie naiwnego klasyfikatora bayesowskiego dla dziedzin opisanych przez atrybuty ciągłe, możemy zastąpić prawdopodobieństwa wartości atrybutów odpowiednimi funkcjami gęstości. Umożliwia to sformułowanie zmodyfikowanej hipotezy:
, |
(16) |
Funkcja gęstości dla każdego atrybutu i każdej kategorii musi
oczywiście zostać 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
dla każdego
. Najprostsze podejście polega na założeniu pewnego
standardowego rozkładu prawdopodobieństwa (zazwyczaj normalnego), dla
którego funkcja gęstości jest wyrażona znanym wzorem zależnym od
pewnych parametrów rozkładu. Na podstawie obserwowanych wartości
atrybutu należy następnie oszacować te parametry. W szczególności w
przypadku rozkładu normalnego wystarczy wyznaczyć wartość średnią
i odchylenie standardowe. Problem występuje wtedy, kiedy nie wiadomo,
do jakiego 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órego uzyskano
największą zgodność. W praktyce najczęściej jednak odstępuje się od
takiej próby dopasowania, zakładając rozkład normalny.
Często bardziej skuteczną alternatywą wykorzystania funkcji gęstości, zwłaszcza 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.
Nawet najlepszy algorytm uczenia się, korzystający z ograniczonego
zbioru trenującego, nie będzie mógł w każdej sytuacji wygenerować
hipotezy, która klasyfikowałaby poprawnie dowolne przykłady spoza tego
zbioru. Pomyłki przy klasyfikacji zawsze mogą wystąpić, chociaż
oczywiście algorytmy projektuje się tak, aby zminimalizować ich
oczekiwaną liczbę, czyli uzyskać hipotezy o jak najmniejszym błędzie
rzeczywistym. Niekiedy jednak nie wszystkie pomyłki są traktowane 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 faktycznego 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
kosztu
związanego z pomyłkowym podaniem kategorii
dla przykładu,
którego poprawną kategorią jest
. Koszty mogą być dowolnymi
liczbami dodatnimi, chociaż wygodnie jest ograniczyć się do wartości z
przedziału
.
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, jakim 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:
![]() |
(17) |
![]() |
(18) |
Implementując naiwny klasyfikator bayesowski można spodziewać się 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 obliczaniu iloczynu prawdopodobieństw:
. |
(19) |
Dość prostym, ale skutecznym wybiegiem, który może wskazany problem wyeliminować, jest zastąpienie w implementacji algorytmu prawdopodobieństw ich logarytmami i konsekwentnie iloczynów sumami. Opisujące sposób klasyfikowania przykładów przez naiwny klasyfikator bayeswski równanie można przepisać wówczas w następującej postaci:
![]() |
(20) |
This document was generated using the LaTeX2HTML translator Version 2K.1beta (1.48)
Copyright © 1993, 1994, 1995, 1996,
Nikos Drakos,
Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999,
Ross Moore,
Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html -split 0 -no_navigation mow-w6.tex
The translation was initiated by Pawel Cichosz on 2004-02-12