Podejście Co-Training w maszynowym uczeniu się

Transkrypt

Podejście Co-Training w maszynowym uczeniu się
Uniwersytet Warszawski
Wydział Matematyki, Informatyki i Mechaniki
Michał Kijowski
Nr albumu: 262654
Podejście Co-Training
w maszynowym uczeniu się
Praca licencjacka
na kierunku MATEMATYKA
Praca wykonana pod kierunkiem
dra Dominika Ślężaka
Instytut Matematyki
Zakład Logiki Matematycznej
Sierpień 2010
Oświadczenie kierującego pracą
Potwierdzam, że niniejsza praca została przygotowana pod moim kierunkiem i kwalifikuje się do przedstawienia jej w postępowaniu o nadanie tytułu zawodowego.
Data
Podpis kierującego pracą
Oświadczenie autora pracy
Świadom odpowiedzialności prawnej oświadczam, że niniejsza praca dyplomowa
została napisana przeze mnie samodzielnie i nie zawiera treści uzyskanych w sposób
niezgodny z obowiązującymi przepisami.
Oświadczam również, że przedstawiona praca nie była wcześniej przedmiotem procedur związanych z uzyskaniem tytułu zawodowego w wyższej uczelni.
Oświadczam ponadto, że niniejsza wersja pracy jest identyczna z załączoną wersją
elektroniczną.
Data
Podpis autora pracy
Streszczenie
W niniejszej pracy zanalizowany zostanie model Co-Training używany w dziedzinie uczenia maszynowego. Model ten został wprowadzony w 1998 roku przez Avrima Bluma i Toma
Mitchella w artykule Combining Labeled and Unlabeled Data with Co-Training [4].
W pracy zostaną najpierw wprowadzone podstawowe pojęcia dotyczące uczenia maszynowego oraz uczenia prawdopodobnie aproksymacyjnie poprawnego. Oprócz tego sformułowane
i udowodnione zostaną najważniejsze twierdzenia obydwu działów. Dowody przedstawione
w pracy zostały przeze mnie gruntownie przeanalizowane, a dodatkowo większość z nich rozszerzyłem, gdyż w pracach źródłowych dowody te były często bardzo skrótowe.
Następnie model Co-Training zostanie wprowadzony i zanalizowany zarówno od strony
teoretycznej jak i praktycznej. Od strony teoretycznej wykazana zostanie poprawność modelu
oraz jego potencjalna skuteczność, natomiast od strony praktycznej zostanie zbadana efektywność modelu w zastosowaniach dotyczących rzeczywistych danych. W ostatnim rozdziale
przedstawiony zostanie model rozszerzający Co-Training na przypadek klasyfikacji wieloklasowej. Na końcu zostaną podsumowane informacje dotyczące modelu Co-Training.
Słowa kluczowe
Dane nieetykietowane, Semi-Supervised Learning, Uczenie częściowo nadzorowane, Co-Training
Dziedzina pracy (kody wg programu Socrates-Erasmus)
11.1 Matematyka
Klasyfikacja tematyczna
68T05. Learning and adaptive systems
68Q32. Computational learning theory
Tytuł pracy w języku angielskim
Co-Training approach in machine learning
Spis treści
Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1. Teoria uczenia maszynowego . . . . . . . . . .
1.1. Wprowadzenie do teorii uczenia maszynowego
1.2. Algorytmy oraz wyuczalność w sensie PAC .
1.2.1. Algorytmy PAC . . . . . . . . . . . .
1.2.2. Wyuczalność klasy pojęć . . . . . . .
1.2.3. Losowy szum klasyfikacyjny . . . . . .
.
.
.
.
.
.
7
7
8
8
9
12
2. Uczenie częściowo nadzorowane . . . . . . . . . . . . . . . . . . . . . . . . . .
13
3. Co-Training . . . . . . . . . . . . . . . . . .
3.1. Formalny model Co-Training . . . . . .
3.1.1. Reprezentacja grafowa . . . . . .
3.2. Ujęcie Co-Training w ramy modelu PAC
3.3. Opis klasycznego algorytmu Co-Training
.
.
.
.
.
15
15
16
17
19
4. Analiza praktycznych zastosowań modelu Co-Training . . . . . . . . . . . .
21
5. Co-Training dla przypadku klasyfikacji wieloklasowej . . . . . . . . . . . .
25
Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
Bibliografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
.
.
.
.
.
Wprowadzenie
Uczenie maszynowe (z angielskiego machine learning) jest młodą i szybko rozwijającą się
interdyscyplinarną dziedziną łączącą wiele odmiennych zagadnień, głównie z obszarów matematyki (ze szczególnym naciskiem na statystykę i rachunek prawdopodobieństwa) oraz informatyki (głownie zagadnienia związane ze sztuczną inteligencją). Szczególny nacisk kładziony
jest na aspekt praktyczny, dzięki któremu można budować systemy potrafiące zdobywać nową
wiedzę i doskonalić swoje działanie poprzez analizę zgromadzonego przez nie doświadczenia
reprezentowanego przez dane. Co więcej systemy te często są ostatnim ogniwem w łańcuchu
komunikacji pomiędzy komputerem a człowiekiem i w związku z tym powinny produkować
wyniki jak najbardziej zrozumiałe i przejrzyste dla przeciętnego użytkownika.
W obecnych czasach coraz łatwiejsze stało się gromadzenie ogromnych ilości surowych danych. Jednocześnie etykietowanie tych danych jest wciąż kosztowne, przez co coraz większym
zainteresowaniem cieszą się metody pozwalające uzyskiwać chociaż częściową wiedzę z danych
wcześniej nieetykietowanych. W ten sposób narodziły się dwa działy uczenia maszynowego:
uczenie nienadzorowane (z angielskiego unsupervised learning) oraz uczenie częściowo nadzorowane (z angielskiego semi-supervised learning). Pierwszy z nich wykorzystuje wyłącznie
dane nieetykietowane, natomiast drugi korzysta zarówno z danych z etykietami jak i bez.
Model Co-Training jest jednym z ważniejszych modeli wykorzystywanych w uczeniu częściowo nadzorowanym. Model ten został zaprezentowany po raz pierwszy przez Avrim’a
Blum’a oraz Tom’a Mitchell’a w 1998 roku w pracy pod tytułem Combining Labeled and
Unlabeled Data with Co-Training [4]. Praca ta otrzymała w 2008 roku nagrodę dla najlepszej pracy ostatniego dziesięciolecia na konferencji 25th Annual International Conference on
Machine Learning. To dobrze obrazuje, jak ważna jest to metoda oraz jak bardzo wpłynęła
na całą dziedzinę uczenia maszynowego.
W niniejszej pracy zebrałem w jednym miejscu i przeanalizowałem informacje z najważniejszych artykułów dotyczących modelu Co-Training. Dużo pracy wymagało uwspólnianie
podstawowych definicji i oznaczeń, które często były odmienne w różnych artykułach. W początkowych rozdziałach pracy omówione zostaną podstawowe pojęcia związane z uczeniem
maszynowym, a w szczególności uczeniem częściowo nadzorowanym, natomiast w drugiej
części pracy omówiony będzie model Co-Training – zarówno od strony teoretycznej jak i
praktycznej.
5
Rozdział 1
Teoria uczenia maszynowego
1.1. Wprowadzenie do teorii uczenia maszynowego
Uczenie maszynowe jest interdyscyplinarną dziedziną, której podstawowym zadaniem
jest budowa systemów potrafiących zdobywać nową wiedzę na podstawie zgromadzonych
wcześniej doświadczeń. Niniejszy rozdział poświęcony jest sformalizowaniu opisu tej dziedziny oraz wprowadzeniu aparatu teoretycznego nazwanego modelem uczenia prawdopodobnie aproksymacyjnie poprawnego (z angielskiego probably approximately correct - w skrócie
PAC ) [1] służącego do analizy algorytmów występujących w uczeniu maszynowym. Co więcej,
sformułowane i udowodnione zostaną najważniejsze twierdzenia. Najważniejsze cele przyświecające uczeniu maszynowemu są nastepujące:
• uczenie się, jak rozpoznawać nowe pojęcia przy pomocy analogii oraz uogólnienia
• wykrywanie nieznanych zależności w danych
• formułowanie odkrytej wiedzy w sposób zrozumiały dla człowieka
W uczeniu maszynowym chodzi o umiejętność efektywnego znajdowania funkcji celu zwanej hipotezą, która w jak najlepszy sposób przybliża pewne szukane przez nas pojęcie. W swojej pracy zajmę się głównie problematyką klasyfikacji binarnej, która polega na przyporządkowaniu nowym obiektom jednej z dwóch klas decyzyjnych. Przykładowo, możemy pragnąć
nauczyć nasz algorytm pojęcia człowieka otyłego, mając do dyspozycji dane o wzroście oraz
wadze pewnej ilości osób wraz z komentarzem dotyczącym tego, czy ta osoba jest otyła czy
nie. Na podstawie tych danych próbujemy skonstruować funkcję, która będzie klasyfikowała
nowe osoby reprezentowane przez ich wzrost oraz wagę do jednej z dwóch kategorii - osoby
otyłe lub nie.
Od algorytmu uczącego się wymagamy przede wszystkim: skuteczności (czyli dobrej aproksymacji szukanego pojęcia) oraz szybkości działania. Istnieją różne metody określania dobrej
jakość aproksymacji oraz szybkiego czasu działania. Obecnie najpopularniejszy model badania
algorytmów pod tym kątem nosi nazwę uczenia prawdopodobnie aproksymacyjnie poprawnego - jest on przedstawiony w sekcji 1.2.
W tabeli 1.1 przedstawiony jest ogólny model procesu uczenia się.
7
Dane początkowe:
• zbiór (skończony lub nieskończony) wszystkich obiektów X
• pojęcie c pochodzące z przestrzeni pojęć oznaczonej C
• skończona próbka D obiektów x1 , ..., xm ∈ X wraz z wartościami c(x1 ), ..., c(xm )
• przestrzeń hipotez H
Szukane:
• hipoteza h ∈ H będąca dobrą aproksymacją pojęcia c
Wymagania:
• dobra jakość aproksymacji
• szybki czas działania
Tabela 1.1: Ogólny model procesu uczenia się.
1.2. Algorytmy oraz wyuczalność w sensie PAC
Model uczenia się prawdopodobnie aproksymacyjnie poprawnego został zdefiniowany w 1984
roku przez Leslie’go Valiant’a w pracy [1]. Główną motywacją stojącą za tym przedsięwzięciem
była próba stworzenia modelu, który pozwalałby na skuteczną ocenę złożoności obliczeniowej
algorytmów rozważanych w problematyce uczenia maszynowego.
W modelu PAC algorytm uczący się zwany uczniem dostaje na wejściu zbiór treningowy
i ma wybrać pewną hipotezę spośród zadanej klasy dopuszczalnych hipotez. Celem jest to, aby
wybrana hipoteza z dużym prawdopodobieństwem (część probably) była dobrą aproksymacją
pojęcia (część approximately correct), którego mamy się nauczyć. Co więcej uczeń musi umieć
wykonać to zadanie z dowolną wcześniej ustaloną precyzją, prawdopodobieństwem sukcesu
oraz rozkładem prawdopodobieństwa na zbiorze obiektów.
Ważną cechą modelu PAC jest zaadaptowanie teorii złożoności obliczeniowej do uczenia maszynowego. Algorytm, który chcemy wytrenować, musi znaleźć rozwiązanie w sposób
efektywny (czas i rozmiar muszą być co najwyżej wielomianowe względem wielkości próbki),
a także musi w sposób efektywny zaimplementować to rozwiązanie (oznacza to w szczególności, że ilość obiektów musi być wielomianowa względem rozmiaru hipotezy).
1.2.1. Algorytmy PAC
W niniejszej sekcji sformułuję warunki, jakie musi spełniać algorytm uczący się aby można
uznać go za algorytm prawdopodobnie aproksymacyjnie poprawny. Oprócz tego wprowadzę
kilka pojęć, które będą wykorzystywane w dalszej części pracy.
Niech X będzie zbiorem wszystkich obiektów zwanym przestrzenią przykładów, C - klasą pojęć, H - przestrzenią hipotez ucznia oraz Ω = (X, µ) - przestrzenią probabilistyczną
określoną na X.
Niech EX(c, Ω) będzie zmienną losową nazywaną wyrocznią(z angielskiego oracle), która
losuje ze zbioru X obiekt x zgodnie z zadanym rozkładem prawdopodobieństwa Ω oraz nadaje
8
mu poprawną decyzję c(x). Za pomocą wyroczni zostaje wygenerowany zbiór treningowy
D = {(x1 , c(x1 )), ..., (xm , c(x1 ))} ∈ S(m, c), gdzie S(m, c) oznacza zbiór wszystkich próbek
zawierających m przykładów.
c (h)
Celem ucznia jest znalezienie hipotezy h ∈ H minimalizującej błąd rzeczywisty ErrΩ
zdefiniowany w sposób następujący:
Definicja 1.2.1 Błędem rzeczywistym hipotezy h ∈ H względem pojęcia c nazywamy:
c
ErrΩ (h, c) = ErrΩ
(h) = µ{x ∈ X|h(x) 6= c(x)}
Teraz przechodzimy do najważniejszej definicji związanej z modelem PAC:
Definicja 1.2.2 Algorytm A nazywamy prawdopodobnie aproksymacyjnie poprawnym wtedy i tylko wtedy, gdy dla każdego 0 < ε < 1 i dla każdego 0 < δ < 1 istnieje m0 = m0 (ε, δ)
t.że dla dowolnego pojęcia c ∈ C i dla dowolnego rozkładu Ω na X mamy:
µm {D ∈ S(m, c)|ErrΩ (A(D)) < ε} > 1 − δ
o ile m > m0 .
W powyższej definicji ε nazywamy dopuszczalnym poziomem błędu, natomiast (1 − δ)
– poziomem ufności. O algorytmie, który jest prawdopodobnie aproksymacyjnie poprawny,
często mówimy w skrócie, że jest algorytmem PAC.
W tabeli 1.2 jest pokazany przykładowy algorytm PAC.
1.2.2. Wyuczalność klasy pojęć
Kolejnym ważnym zagadnieniem w teorii uczenia maszynowego jest pojęcie potencjalnej
wyuczalności klasy pojęć. Dzięki potencjalnej wyuczalności można scharakteryzować klasy
pojęć, których jesteśmy się w stanie efektywnie nauczyć. Aby zdefiniować potencjalną wyuczalność będziemy potrzebowali następujących definicji oraz oznaczeń:
Definicja 1.2.3 Algorytm A nazywamy niesprzecznym wtedy i tylko wtedy, gdy dla każdego
c (A(D)) = 0, czyli A(D)(x ) = c(x ) dla
pojęcia c ∈ C i dla każdej próbki D mamy ErrD
i
i
dowolnego przykładu (xi , c(xi )) ∈ D
Niech H c (D) = {h ∈ H|h(xi ) = c(xi )∀i}. Możemy wówczas powiedzieć, że algorytm A
jest niesprzeczny jeśli A(D) ∈ H c (D) dla dowolnego D.
Dodatkowo, przez Bεc = {h ∈ H|ErrΩ (h) ­ ε} oznaczmy zbiór słabych hipotez (takich,
które popełniają błąd ­ ε)
Przechodzimy teraz do definicji potencjalnej wyuczalności:
Definicja 1.2.4 Klasę pojęć C nazywamy potencjalnie wyuczalną za pomocą H wtedy i tylko
wtedy, gdy dla każdego 0 < ε < 1 i dla każdego 0 < δ < 1 istnieje m0 = m0 (ε, δ) t.że dla
dowolnego pojęcia c ∈ C i dla dowolnego rozkładu Ω na X mamy:
µm {D ∈ S(m, c)|H c (D) ∩ Bεc = ∅} > 1 − δ
o ile m > m0 .
Mając zdefiniowaną potencjalną wyuczalność możemy teraz rozpatrywać związek potencjalnej wyuczalności z algorytmami prawdopodobnie aproksymacyjnie poprawnymi:
9
Twierdzenie 1.2.1 Jeśli klasa pojęć C jest potencjalnie wyuczalną za pomocą H oraz A
jest algorytmem niesprzecznym dla C to wówczas A jest algorytmem prawdopodobnie aproksymacyjnie poprawnym.
Dowód:
Powyższe twierdzenie jest prostym wnioskiem z definicji algorytmu PAC i potencjalnej wyuczalności.
C jest potencjalnie wyuczalna, zatem:
µm {D ∈ S(m, c)|H c (D) ∩ Bεc = ∅} > 1 − δ
(1.1)
Niech A będzie algorytmem niesprzecznym dla C. Zauważyliśmy już wcześniej, że dzięki temu
dla dowolnego D mamy:
A(D) ∈ H c (D)
(1.2)
Zatem:
µm {D ∈ S(m, c)|A(D) ∈
/ Bεc } > 1 − δ
(1.3)
Oznacza to, że algorytm A z prawdopodobieństwem > 1 − δ aproksymuje pojęcie c z błędem
< ε, a zatem jest on algorytmem PAC.
Poniższe twierdzenie pozwala na wykazanie potencjalnej wyuczalności szerokiej klasy pojęć:
Twierdzenie 1.2.2 Jeśli klasa pojęć C oraz przestrzeń hipotez H są identyczne czyli C = H
oraz zachodzi |C| < ∞ to wówczas klasa pojęć C jest potencjalnie wyuczalna.
Dowód:
Niech h ∈ Bεc , czyli h popełnia błąd rzeczywisty ­ ε. Mamy wówczas:
c
µm {D ∈ S(m, c)|ErrD
(h) = 0} ¬ (1 − ε)m
(1.4)
µm {D : H c (D) ∩ Bεc 6= ∅} ¬ |Bεc |(1 − ε)m ¬ |H|(1 − ε)m
(1.5)
Wynika z tego, że:
Zatem, aby zgodnie z definicją potencjalnej wyuczalności uzyskać |H|(1 − ε)m < δ wystarczy
wybrać m > 1ε log |H|
δ , ponieważ zachodzi:
1 m |H|
) >
1−ε
δ
1
|H|
m log
> log
1−ε
δ
|H|
|H|
|H|
log δ
log δ
log δ
=
>
>
ε
ε
log(1 + 1−ε )
ε
1−ε
(
log |H|
δ
m>
1
log 1−ε
Z założenia wiemy, że |H| < ∞ zatem możemy dobrać takie m, aby spełniona była definicja
potencjalnej wyuczalności.
10
Dane początkowe:
• X=R
• H = C = {fδ : R → {0, 1}|fδ (x) = 1 ⇔ x ­ δ}
• c = fδ0
Należy znaleźć δ0 na podstawie losowo wygenerowanych przykładów należących
do D = {(x1 , fδ (x1 )), ..., (xm , fδ (x1 ))}
Przyjmujemy następujący algorytm:
1. Niech δ ∗ = mini∈{1,...,m} {xi : fδ0 (xi ) = 1}
2. Przyjmujemy A(D) = δ ∗
Wykażemy, że A jest PAC:
c (f ∗ ) = µ([δ , δ ∗ ])
• Mamy, iż ErrΩ
0
δ
c (f ∗ ) ¬ ε ⇔ δ ∗ ¬ β ⇔ jeden z
• Niech β0 = sup{β|µ([δ0 , δ ∗ ]) < ε}. Wówczas ErrΩ
0
δ
∗
przykładów xi znajduje się w przedziale |δ0 , δ |
• Prawdopodobieństwo tego, że żaden z m przykładów nie należy do |δ0 , β0 | jest ¬
(1 − m)m . Stąd
µm {D ∈ S(m, fδ0 )|ErrΩ (A(D)) ¬ ε} > 1 − (1 − ε)m
• Zatem aby to prawdopodobieństwo było > 1 − δ wystarczy wybrać
1
1
m ¬ m0 = d log e
ε
δ
Tabela 1.2: Przykład algorytmu PAC.
11
1.2.3. Losowy szum klasyfikacyjny
Model PAC zakłada istnienie nieomylnej wyroczni, która zawsze zwraca obiekt z poprawną decyzją. Niestety w realnym świecie założenie o nieomylności wyroczni bardzo często jest
niespełnione. Wiąże się to z powstaniem szumu klasyfikacyjnego - część przykładów zwrócona
przez wyrocznię posiada błędną etykietę. Już w 1988 roku Angluin i Laird w swojej pracy [2]
wprowadzili poprawki mające na celu uodpornienie modelu PAC na sytuację, gdy obecny jest
szum klasyfikacyjny.
W tym modelu algorytm nie ma dostępu do nieomylnej wyroczni EX(c, Ω), lecz do wyroczni EXη (c, Ω) popełniającej błąd z prawdopodobieństwem η, zdefiniowanej następująco:
(
EXη (c, Ω) =
zwraca (x, c(x)) z EX(c, Ω) z prawdopodobieństwem 1 − η
zwraca (x, ¬c(x)) z EX(c, Ω) z prawdopodobieństwem η
Im bardziej wartość błędu zbliża się do 12 , tym mniej informacji o szukanej funkcji celu
można uzyskać z etykiet zwróconych przez wyrocznie. Równocześnie rośnie wielkość wymaganego zbioru treningowego oraz złożoność obliczeniowa. W przypadku gdy wartość błędu
jest równa 12 , uczenie się w sposób prawdopodobnie aproksymacyjnie poprawny staje się niemożliwe, gdyż etykiety przykładów ze zbioru treningowego są zupełnie losowe, a zatem nie
niosą żadnej informacji na temat funkcji celu.
Angluin i Laird wykazali, że skończone klasy pojęć są wyuczalne w sensie PAC w obecności szumu klasyfikacyjnego (nawet szerzej - wyuczalne są klasy pojęć o skończonym wymiarze
Vapnika-Chervonenkisa zdefiniowanego w pracy [8]). Istnieje wiele sposobów radzenia sobie
z szumem klasyfikacyjnym, jednak w praktyce najpopularniejszą i najszerzej wykorzystywaną
metodą jest konstruowanie algorytmów, które opierają się na pewnych statystykach obliczonych ze zbioru testowego, a nie na pojedynczych obiektach. Model takiego podejścia nazywa
się Statistical Queries i został po raz pierwszy zaproponowany przez Michael’a Kearns’a
w roku 1998 [3].
12
Rozdział 2
Uczenie częściowo nadzorowane
Uczenie maszynowe dzieli się zasadniczo na trzy działy w zależności od rodzaju i ilości
wykorzystywanych przez nie danych.
Pierwszym z nich jest uczenie nienadzorowane (z angielskiego unsupervised learning).
Mamy z nim do czynienia wówczas gdy posiadamy wyłącznie dane bez etykiet i chcemy się
dowiedzieć czegoś o strukturze przestrzeni danych np. chcemy poznać największe skupiska
danych lub ich rozrzut w przestrzeni.
Drugim działem jest uczenie nadzorowane (z angielskiego supervised learning). Korzystamy z niego w przypadku gdy trenujemy algorytmy uczące się, które do działania potrzebują
wyłącznie zbioru etykietowanych danych treningowych i na ich podstawie chcemy poznać
funkcję celu.
Trzecim i zarazem najważniejszym z punktu widzenia niniejszej pracy działem jest uczenie
częściowo nadzorowane (z angielskiego semi-supervised learning). Jest to dział, w którym
trenowane algorytmy mają dostęp do stosunkowo małej ilości danych etykietowanych oraz do
ogromnej ilości danych bez etykiet. Dział ten jest obecnie bardzo dynamicznie rozwijany, gdyż
w realnych zastosowaniach coraz częściej okazuje się, że uzyskanie danych etykietowanych
jest bardzo kosztowne. Mowa tu zarówno o kosztach czasowych jak i finansowych. Uzyskanie
etykietowanych danych bardzo często jest związane z intensywną pracą ludzką - w większości
zastosowań każdy z przykładów trzeba oznaczyć ręcznie. Z drugiej strony, dzięki rozwojowi
techniki, pozyskiwanie surowych danych nieetykietowanych jest coraz prostsze i tańsze.
Dobrym przykładem jest tutaj zagadnienie klasyfikacji stron internetowych. Dane treningowe w tym przypadku to witryny wraz z decyzją klasyfikacyjną, którą każdorazowo musiał
nadać człowiek. Zatem stworzenie zbioru treningowego złożonego nawet ze 100 elementów
wymagałoby dużego nakładu pracy ludzkiej. Natomiast dane nieetykietowane to po prostu
dane o stronach internetowych, które możemy w łatwy sposób pobierać w tysiącach, a nawet
setkach tysięcy za pomocą robotów (crawlerów) internetowych.
W związku z zaistniałą sytuacją ostatnimi laty coraz więcej osób starało się budować
nowe algorytmy częściowo nadzorowane, aby pozyskać jak najwięcej informacji z tanich danych nieetykietowanych. Algorytmy te wykorzystują dane bez etykiet na szereg odmiennych
sposobów. Oto niektóre z nich:
• budowa modeli probabilistycznych z wykorzystaniem danych nieetykietowanych [10]
• iteracyjna estymacja parametrów modelu - algorytm Expectation Maximization [11]
• maksymalizacja szerokości marginesu prostej rozdzielającej dwie klasy decyzyjne - algorytm Transductive Support Vector Machines [12]
13
Wyniki uzyskane zarówno przez powyższe algorytmy jak i wiele innych pokazały, że dane
bez etykiet mogą w znaczący sposób poprawić jakość klasyfikacji. Jednak za najważniejszy
model w uczeniu częściowo nadzorowanym większość osób uznaje model Co-Training, którego
szczegółowy opis znajduje się w kolejnych rozdziałach.
14
Rozdział 3
Co-Training
Model Co-Training został po raz pierwszy zaprezentowany w 1998 roku w artykule [4].
Artykuł ten wywołał niemałe poruszenie w kręgach naukowych związanych z uczeniem maszynowym.
Praca [4] zawiera podstawy teoretyczne modelu Co-Training oraz konkretny algorytm realizujący te założenia. Należy jednak zauważyć, że nie jest to jedyny algorytm, który można
ująć w ramy tego modelu. Należy unikać bezpośredniego utożsamiania modelu Co-Training
z algorytmem przedstawionym w [4].
Istotą modelu Co-Training jest założenie, że zbiór atrybutów możemy podzielić na dwa
rozłączne podzbiory, gdzie każdy z nich dostarcza nam wystarczająco dużo informacji aby
wytrenować poprawny klasyfikator przy odpowiednio dużej ilości danych. Co więcej, oba
podzbiory mają być warunkowo niezależne ustalając klasę decyzyjną. Mówiąc w skrócie,
interesuje nas sytuacja, gdy na dany obiekt możemy, w pewnym sensie, patrzeć na dwa
istotnie różne, niezależne od siebie i samowystarczalne sposoby. Poniżej znajduje się bardziej
formalny opis tej idei.
3.1. Formalny model Co-Training
Dana jest przestrzeń obiektów X = X1 × X2 , gdzie X1 i X2 odpowiadają dwóm odmiennym ”sposobom patrzenia” na obiekt. Oznacza to, że każdy obiekt jest reprezentowany jako
para (x1 , x2 ). Ponadto wymagane jest założenie, że każdy z podzbiorów X1 i X2 osobno jest
wystarczający do poprawnej klasyfikacji.
Niech D będzie rozkładem prawdopodobieństwa nad X, zaś C1 i C2 będą klasami pojęć
odpowiednio nad X1 i X2 .
Zakładamy, że wszystkie etykiety obiektów o niezerowym prawdopodobieństwie są zgodne
z pewną funkcją f1 należącą do C1 oraz z funkcją f2 należącą do C2 . Innymi słowy, jeśli f
oznacza szukaną przez nas funkcję celu, to wówczas dla każdego obiektu x = (x1 , x2 ) oznaczonego etykietą l zachodzi f (x) = f1 (x1 ) = f2 (x2 ) = l. W szczególności oznacza to, że D
przypisuje zerowe prawdopodobieństwo każdemu obiektowi takiemu, że f1 (x1 ) 6= f2 (x2 ).
Pojawia się tu pytanie, dlaczego dane bez etykiet mogłyby pomóc w klasyfikacji? Szerszej
odpowiedzi na to pytanie udzielimy w następnych sekcjach, ogólnie można na to spojrzeć
poprzez pryzmat standardowego modelu PAC jak poniżej. Dla danego rozkładu D mówimy,
że dana hipoteza f = (f1 , f2 ) ∈ C1 ×C2 jest kompatybilna z D jeśli D przypisuje zerowe praw15
Rysunek 3.1: Różnica w rozkładzie przykładów w zależności od wybranej perspektywy
dopodobieństwo każdemu obiektowi takiemu, że f1 (x1 ) 6= f2 (x2 ). Innymi słowy, para f1 , f2
jest kompatybilna z D jeśli f1 , f2 oraz D są dopuszczalne w modelu Co-Training opisanym
powyżej.
Należy zauważyć, że nawet wówczas, gdy C1 oraz C2 są skomplikowanymi klasami pojęć,
dla danego D zbiór hipotez kompatybilnych może być istotnie mniej skomplikowany. Dlatego
można mieć nadzieję, iż dane bez etykiet umożliwią nam lepsze poznanie charakterystyki
hipotez kompatybilnych, a co za tym idzie pozwolą na zmniejszenie ilości danych treningowych
potrzebnych do wytrenowania skutecznego klasyfikatora.
Przeanalizujemy to na przykładzie. Niech X1 = X2 = {0, 1}n oraz C1 = C2 =koniunkcje
nad{0, 1}n . Jeśli wiemy, że pierwsza współrzędna jest istotna dla pojęcia f1 to, ponieważ f1
jest koniunkcją, możemy z tego wywnioskować, że gdy pierwsza współrzędna x1 jest równa 0, to f1 (x1 ) = 0. Wówczas dowolny nieetykietowany przykład (x1 , x2 ) taki, że pierwsza
współrzędna x1 jest równa 0 może zostać użyty do wytworzenia negatywnego przykładu x2
dla f2 . Oczywiście przykład ten może nie dać nam wiele pożytecznych informacji o f2 jeśli D
jest ”mało pomocnym” rozkładem, na przykład takim, który posiada niezerowe prawdopodobieństwo wyłącznie na obiektach takich, że x1 = x2 . Jednakże, jeśli x1 oraz x2 nie są mocno
skorelowane, możemy uzyskać nowe informacje. W skrajnie optymistycznym przypadku, gdy
D jest rozkładem, w którym x1 i x2 są warunkowo niezależne pod warunkiem decyzji, zachodzi taka zależność, że gdy pierwsza współrzędna x1 jest równa 0, to x2 jest w pełni losowym
negatywnym przykładem dla f2 .
Na rysunku 3.1 jest to przedstawione w sposób obrazowy. Punkty, które klasyfikator
patrzący na część x1 klasyfikuje z dużą pewnością (na rysunku są one zaznaczone kółeczkami)
są losowo rozmieszczone z punktu widzenia klasyfikatora patrzącego na część x2 .
3.1.1. Reprezentacja grafowa
Innym sposobem patrzenia na model Co-Training jest rozpatrywanie rozkładu D jako grafu ważonego, dwudzielnego oznaczanego jako GD (X1 , X2 ) lub po prostu GD , gdy X1 oraz X2
wynikają z kontekstu. Lewa strona grafu GD posiada po jednym wierzchołku dla każdej możliwej wartości z X1 natomiast prawa strona zawiera analogiczne wierzchołki dla X2 . Krawędź
16
Rysunek 3.2: Krawędzie odpowiadają obiektom o niezerowym prawdopodobieństwie przy
czym krawędzie pełne odpowiadają obiektom z pewnej skończonej próbki S. Jeśli spełnione
są założenia metody Co-Training, to obiekty należące do jednej składowej spójnej powinny
posiadać tę samą etykietę.
(x1 , x2 ) należy do GD wtedy i tylko wtedy, gdy przykład (x1 , x2 ) ma niezerowe prawdopodobieństwo w D. Każdej krawędzi nadajemy wagę równą prawdopodobieństwu wystąpienia
danego obiektu.
Dla wygody możemy z grafu usunąć wszystkie wierzchołki izolowane, gdyż odpowiadają
one obiektom nie podlegającym modelowi Co-Training. Jest to zobrazowane na rysunku 3.2.
Dla modelu zdefiniowanego w powyższy sposób spośród wszystkich hipotez z C można
w łatwy sposób wskazać hipotezy kompatybilne. Są to mianowicie hipotezy odpowiadające
podziałowi grafu GD na dwa podgrafy rozłączne. Dodatkowo, w równie łatwy sposób można
wprowadzić miarę kompatybilności danej hipotezy. Jako wspomnianą miarę wystarczy wziąć
wagę cięcia, które wykonuje dana hipoteza. Innymi słowy poziom kompatybilności między
hipotezą f = (f1 , f2 ) a rozkładem D może być zdefiniowany jako liczba p ∈ [0, 1] gdzie
p = 1 − PD [(x1 , x2 ) : f1 (x1 ) 6= f2 (x2 )]. W poniższych rozważaniach, o ile nie jest zaznaczone
inaczej, zakładam pełną kompatybilność tj. p = 1.
Mając daną próbkę S w łatwy sposób można zdefiniować podgraf GS grafu GD jako graf
dwudzielny zawierający krawędzie (x1 , x2 ) ∈ S. W przypadku pełnej kompatybilności każde
dwa wierzchołki należące do tej samej składowej spójnej w GS mają taką samą etykietę.
3.2. Ujęcie Co-Training w ramy modelu PAC
W niniejszej sekcji wykażę dlaczego, gdy spełnione są odpowiednie założenia, możemy przy
pomocy modelu Co-Training polepszyć skuteczność każdego pierwotnie słabego klasyfikatora
do ustalonego z góry poziomu, korzystając tylko z danych bez etykiet.
Wspomniane założenia to warunkowa niezależność dla rozkładu D oraz wyuczalność C2
w sensie PAC w obecności losowego szumu klasyfikacyjnego. Na początku zdefiniujemy pierwsze z wymaganych założeń. Mówimy, że funkcje f1 , f2 oraz rozkład D łącznie spełniają założenie warunkowej niezależności, gdy dla każdej ustalonej pary (x1 , x2 ) ∈ X posiadającej
17
niezerowe prawdopodobieństwo mamy:
b1 |f2 (x2 ) = f2 (x
b2 ))
b1 |x2 = x
b2 ) = P(x1 ,x2 )∈D (x1 = x
P(x1 ,x2 )∈D (x1 = x
oraz analogicznie:
b2 |x1 = x
b1 ) = P(x1 ,x2 )∈D (x2 = x
b2 |f1 (x1 ) = f1 (x
b1 ))
P(x1 ,x2 )∈D (x2 = x
Innymi słowy x1 oraz x2 są niezależne pod warunkiem etykiety.
Kolejną rzeczą niezbędną do zdefiniowania jest pojęcie słabo-użytecznej predykcji, definiujemy ją w sposób następujący:
Definicja 3.2.1 Funkcję h nazywamy słabo-użyteczną predykcją funkcji f wtedy i tylko wtedy, gdy zachodzą następujące warunki:
PD (h(x) = 1) ­ ε
oraz
PD (f (x) = 1|h(x) = 1) ­ PD (f (x) = 1) + ε
dla pewnego ε >
1
o(n) .
Następnie wprowadzę drobne rozszerzenie do standardowego modelu PAC z losowym szumem klasyfikacyjnym. Rozszerzenie to zostało zaprezentowane w pracy [4] i polega na zróżnicowaniu prawdopodobieństwa popełnienia błędu przez wyrocznię dla przykładów pozytywnych i negatywnych. Innymi słowy model PAC z losowym szumem klasyfikacyjnym (α, β)
jest to model w którym algorytm ma dostęp do wyroczni, która źle klasyfikuje pozytywne
przykłady z prawdopodobieństwem α oraz źle klasyfikuje przykłady negatywne z prawdopodobieństwem β. W tym modelu można udowodnić następujący lemat:
Lemat 3.2.1 Jeśli klasa pojęć C jest wyuczalna w modelu PAC z losowym szumem klasyfikacyjnym to jest również wyuczalna w modelu PAC z losowym szumem klasyfikacyjnym (α, β)
1
o ile α + β < 1. Złożoność obliczeniowa jest wówczas rzędu o( 1−α−β
).
Dowód:
Rozważmy dwa przypadki:
1) α oraz β są znane algorytmowi uczącemu się:
Bez straty ogólności możemy założyć, że α < β. Aby wyuczyć się C z szumem (α, β) wystarczy
β−α
zmienić etykietę każdego pozytywnego przykładu z prawdopodobieństwem β+(1−α)
. W rezultacie otrzymamy standardowy model z szumem klasyfikacyjnym na poziomie η =
Aby model był poprawny, musi zachodzić η < 12 , zatem mamy
α + β < 1.
β
β+(1−α)
<
1
2
β
β+(1−α) .
skąd wynika, że
2) α oraz β są nieznane algorytmowi uczącemu się:
Załóżmy, że mamy dany zbiór S złożony z m obiektów, z których m+ ma etykietę pozytywną. Wówczas możemy stworzyć m + 1 hipotez w sposób następujący: i-ta hipoteza dla
i = 0, 1, ..., m+ jest tworzona poprzez zmienienie etykiet i losowym przykładom pozytywnym
z S, natomiast hipoteza j-ta dla j = m+ + 1, ..., m jest tworzona poprzez zmienienie etykiet
j losowym przykładom negatywny z S. Dzięki temu każdą z hipotez sprowadzamy do standardowego modelu z pojedynczym szumem klasyfikacyjnym.
Wówczas możemy oczekiwać, że co najmniej jedna z hipotez jest poprawna, ponieważ procedura z punktu pierwszego (gdy znamy α oraz β) może być rozpatrywana jako rozkład
18
prawdopodobieństwa nad powyższymi m + 1 eksperymentami.
Poniższe twierdzenie pokazuje, dlaczego model Co-Training jest przydatny w praktyce:
Twierdzenie 3.2.1 Jeśli klasa pojęć C2 jest wyuczalna w modelu PAC z losowym szumem
klasyfikacyjnym oraz jeśli spełnione jest założenie warunkowej niezależności, to wówczas
(C1 , C2 ) jest wyuczalne w modelu Co-Training korzystając tylko z danych nieetykietowanych
oraz początkowej słabo-użytecznej predykcji h(x1 ) pojęcia C1 .
Dowód:
Niech f (x) będzie szukaną funkcją celu oraz p = PD (f (x) = 1) będzie prawdopodobieństwem,
że losowy przykład z D jest pozytywny.
Niech q = PD (f (x) = 1|h(x) = 1) oraz c = PD (h(x) = 1).
Wówczas mamy:
PD (h(x) = 1|f (x) = 1) =
PD (f (x) = 1|h(x) = 1)PD (h(x) = 1)
qc
=
PD (f (x) = 1)
p
(3.1)
oraz
(1 − q)c
(3.2)
1−p
Dzięki założeniu warunkowej niezależności wiemy, iż dla losowego przykładu x = (x1 , x2 )
h(x1 ) jest niezależne od x2 przy danej wartości f (x). Wynika z tego, że jeśli użyjemy h(x1 )
jako poziomu szumu klasyfikacyjnego dla x2 będzie to równoważne szumowi klasyfikacyjnemu
(1−q)c
(α, β) gdzie α = 1 − qc
p oraz β = 1−p - wartości α i β wynikają z równań (3.1) oraz (3.2).
Wynika z tego, że:
PD (h(x) = 1|f (x) = 0) =
qc (1 − q)c
q−p
α+β =1−
+
=1−c
p
1−p
p(1 − p)
Z założeń wiemy, że h jest ”słabo-użyteczną predykcją”. Wynika z tego, że c ­ ε oraz q−p ­ ε
zatem:
ε2
α+β ¬1−
¬ 1 − 4ε2 < 1
p(1 − p)
Stosując lemat 3.2.1 uzyskujemy tezę.
3.3. Opis klasycznego algorytmu Co-Training
Klasyczny algorytm Co-Training został zaprezentowany przez Mitchell’a i Blum’a jako
zobrazowanie działania modelu Co-Training w praktyce. Algorytm ten trenuje po jednym
klasyfikatorze dla każdego z podzbiorów atrybutów używając początkowego zbioru danych
treningowych oraz jednocześnie losuje podzbiór złożony z danych nieetykietowanych spośród
których będą wybierane przykłady dodawane do początkowego zbioru treningowego.
W następnym kroku algorytm dokonuje klasyfikacji danych bez etykiet z powyższego
podzbioru i te, które zaklasyfikował z największym prawdopodobieństwem dodaje do początkowego zbioru treningowego. Tu objawia się założenie mówiące o tym, że każdy z podzbiorów
atrybutów jest wystarczający do prawidłowej klasyfikacji - oznacza to tyle, że można ufać
etykietom przypisanym przez klasyfikator patrzący tylko na jeden z podzbiorów.
Następnie podzbiór złożony z danych nieetykietowanych jest uzupełniany i cały proces
jest powtarzany w sposób iteracyjny. W tabelce 3.1 jest przedstawiony szczegółowy algorytm
metody Co-Training.
19
Dane początkowe:
• zbiór U - obiektów bez etykiet
• zbiór L - obiektów z etykietami
Utwórz zbiór U 0 wybierając w sposób losowy u obiektów ze zbioru U
Powtórz k razy
• użyj zbioru L aby wytrenować klasyfikator h1 wykorzystując tylko część x1 z x
• użyj zbioru L aby wytrenować klasyfikator h2 wykorzystując tylko część x2 z x
• pozwól h1 oznaczyć p pozytywnych i n negatywnych przykładów z U 0
• pozwól h1 oznaczyć p pozytywnych i n negatywnych przykładów z U 0
• dodaj oznaczone obiekty do zbioru L
• wybierz w sposób losowy 2p + 2n obiektów ze zbioru U i dodaj je do zbioru U 0
Tabela 3.1: Oryginalny algorytmu Co-Training przedstawiony w pracy [4].
20
Rozdział 4
Analiza praktycznych zastosowań
modelu Co-Training
Model Co-Training charakteryzuje się silnymi założeniami dotyczącymi kompatybilności
funkcji celu oraz warunkowej niezależności podzbiorów atrybutów. Jednak w praktyce znakomita większość danych rzeczywistych w istotny sposób narusza powyższe założenia. Dlatego
z praktycznego punktu widzenia bardzo ważnym zagadnieniem jest wrażliwość modelu CoTraining na poprawność założeń. Równie istotnym problemem są wymagania, jakie musi
spełniać sam podział atrybutów, przede wszystkim - czy musi być naturalny. Aby zbadać te
oraz wiele innych zagadnień związanych z modelem Co-Training trzeba było przeprowadzić
i zanalizować wiele eksperymentów praktycznych. Najważniejsze z tych eksperymentów pokrótce opiszę poniżej.
Pierwsze testy modelu Co-Training zostały przeprowadzone i opisane w oryginalnej pracy Blum’a i Mitchell’a. Zastosowali oni algorytm Co-Training do problemu klasyfikacji stron
internetowych. Ich baza danych składała się z danych na temat 1051 witryn internetowych
umieszczonych na swoich serwerach przez 4 amerykańskie uczelnie. Każdej z tych stron zostały ręcznie przypisane etykiety dotyczące treści zawartych na danej stronie. W swoim eksperymencie autorzy wybrali jako funkcję celu kategorie ”strony kursowe” - oznacza to, że
każda strona kursowa w bazie danych jest przykładem pozytywnym, natomiast reszta stron
to przykłady negatywne. W powyższej bazie danych 22% stron to strony kursowe.
Każda ze stron należących do bazy danych jest opisana na dwa sposoby - jednym z nich
jest lista wszystkich słów, które występują na danej stronie, natomiast drugim - lista słów
użytych w hiperłączach prowadzących do danej strony z innych stron z bazy. Dla każdego
z tych dwóch typów opisu został wytrenowany klasyfikator korzystający algorytmu Naive
Bayes. Wykorzystano algorytm Naive Bayes ponieważ znany jest on z wysokiej skuteczności
w przypadku klasyfikacji danych tekstowych (zob. [5]). Następnie autorzy użyli algorytmu
Co-Training opisanego w sekcji 3.3 i porównali wyniki uzyskane przez niego z wynikami
uzyskanymi za pomocą klasycznego klasyfikatora opartego na Naive Bayes. Procedura testowa
dotycząca algorytmu Co-Training wyglądała następująco:
• wylosowano podzbiór testowy składający się z 25% (263) spośród 1051 stron
• z pozostałych danych został wylosowany 12-elementowy zbiór treningowy złożony z 3
przykładów pozytywnych oraz 9 negatywnych
• strony które nie zostały wylosowane stworzyły zbiór danych nieetykietowanych
21
• parametry p = 1 oraz n = 3 zostały dobrane, aby dobrze oddawały dystrybucję pozytywnych i negatywnych przykładów w bazie
• liczba iteracji wewnętrznej pętli algorytmu Co-Training został ustalona na 30, a wielkość
podzbioru danych nieetykietowanych na 75 tj. k = 30 oraz u = 75
Cała procedura testowa została powtórzona 5 razy, a wyniki uśrednione. Poziom błędu, jaki
uzyskano na zbiorze testowym przy pomocy algorytmu Co-Training wyniósł:
• 6,2% dla klasyfikatora korzystającego ze słów występujących na stronach
• 11,6% dla klasyfikatora korzystającego ze słów występujących w hiperłączach
• 5,0% dla klasyfikatora łączonego
Analogicznie dla standardowej metody Naive Bayes uzyskano następujące wyniki:
• 12,9% dla klasyfikatora korzystającego ze słów występujących na stronach
• 12,4% dla klasyfikatora korzystającego ze słów występujących w hiperłączach
• 11,1% dla klasyfikatora łączonego
Powyższe wyniki wskazują, że za pomocą Co-Training można podnieść w znaczący sposób jakość klasyfikacji. Obszerniejsze omówienie wyników eksperymentów wraz z wykresami można
znaleźć w pracy [4].
Powyższy eksperyment nie wyczerpał jednak tematu, gdyż zanalizowana została tylko
jedna baza danych oraz jedna funkcja celu i nie można było wyciągać z tego dalekosiężnych
wniosków dotyczących ogólnego zachowania się modelu Co-Training. Z tego powodu powstał
szereg prac skupiających się na analizowaniu zachowania modelu Co-Traning.
Jedną z ciekawszych prac analizujących zachowanie modelu Co-Traning jest praca ”Analizing the Effectiveness and Aplicability of Co-Training” napisana przez Kamala Nigam’a oraz
Rayida Ghani. Jak sama nazwa wskazuje autorzy skupili się na analizie efektywności oraz
możliwości zastosowania modelu Co-Training. Interesowały ich przede wszystkim odpowiedzi
na pytanie dlaczego model ten jest tak skuteczny oraz jaki musi być podział argumentów,
aby można było żywić nadzieje na poprawę jakości klasyfikacji. Aby tego dokonać, przeprowadzili oni szereg eksperymentów zarówno na danych rzeczywistych jak i na specjalnie
spreparowanych. Pozwoliło im to uzyskać bardzo interesujące wyniki.
Okazało się, że model Co-Training jest bardziej odporny na niespełnienie założeń dotyczących rozkładu obiektów niż inne modele korzystające z danych nieetykietowanych, takie jak
Expectation Maximization. Dzieje się tak, ponieważ dwa różne punkty widzenia pozwalają
zrekompensować źle założony rozkład elementów, oczywiście o ile mamy wystarczająco dużo
danych. Z drugiej strony okazało się, że Co-Training jest dosyć wrażliwy na niespełnienie
założeń kompatybilności funkcji celu oraz warunkowej niezależności podzbiorów atrybutów.
Dotyczy to w szczególności drugiego z tych założeń. Okazało się, że w przypadku istnienia
naturalnego podziału atrybutów za pomocą modelu Co-Training praktycznie zawsze można
uzyskać poprawę wyników, lecz gdy takiego podziału nie ma, wprowadzenie sztucznego podziału może zarówno polepszyć jak i pogorszyć wyniki. Niestety zbadanie, czy dany podział
pozwoli polepszyć jakość klasyfikacji jest dosyć trudne i wymaga dalszych badań.
Więcej szczegółów dotyczących eksperymentów, a w szczególności informacje na temat
użytych zbiorów oraz uzyskane wyniki liczbowe, można znaleźć w oryginalnej pracy [6].
22
Inną ciekawą pracą jest artykuł [9], w którym autorzy również zajęli się poprawnością
założeń. Jednak, zamiast analizować, w jakim stopniu niespełnienie założeń wpływa na wyniki, wprowadzili oni modyfikacje modelu Co-Training polegającą na osłabieniu założeń dotyczących rozkładu elementów i jednocześnie wzmocnieniu założeń dotyczących algorytmów
stosowanych do wyuczenia klasyfikatora. Dane często naruszają założenia standardowego modelu Co-Training, a jednocześnie istnieje wiele algorytmów o udowodnionych dobrych własnościach. Z tego powodu nowszy model może okazać się bardziej przydatny, gdyż łatwiej
spełnić jego wymagania.
23
Rozdział 5
Co-Training dla przypadku
klasyfikacji wieloklasowej
Jak dotąd rozpatrywałem w swojej pracy wyłącznie zagadnienie klasyfikacji binarnej,
jednak w rzeczywistych zastosowaniach równie często pojawiają się problemy wieloklasowe.
Jednym z przykładów takiego problemu jest problem klasyfikacji tematycznej tekstów na
wiele kategorii. Pojawia się ważne pytanie - jak w przypadku takich problemów sprawuje się
model Co-Training?
Okazuje się, że bezpośrednie podejście polegające po prostu na użyciu modelu, który posiadamy, jest wielce nieefektywne. Wyniki, które dostaniemy będą słabsze niż te uzyskane
za pomocą dużo prostszych metod, takich jak Naive Bayes. Nie oznacza to jednak, że model Co-Training nie nadaje się do klasyfikacji wielowymiarowej. W pracy [7] Rayid Ghandi
skonstruował model pozwalający wykorzystać Co-Training do klasyfikacji wielowymiarowej.
Model ten powstał poprzez połączenie algorytmu Co-Training z metodą kodów korekcyjnych
(z angielskiego Error-Correcting Output Codes).
Istotą tego modelu jest rozbicie problemu klasyfikacji z m klasami na k problemów binarnych. Następnie każdej z klas jest przypisywany unikalny kod binarny długości k. Dzięki
temu powstaje macierz rozmiaru m × k w której każdy wiersz reprezentuje jedną klasę a każda kolumna odpowiada za jeden klasyfikator. Przykładowo jeśli mam problem z 3 klasami to
możemy go rozbić na 5 problemów binarnych. Jedna z tabel, które możemy uzyskać, wygląda
następująco:
klasa
c1
c2
c3
0
0
1
kod
0 1 1
1 0 0
0 0 1
1
1
1
Tak jak zostało to wyżej wspomniane, każdy wiersz odpowiada kodowi klasy decyzyjnej,
zatem dla przykładu klasie c2 odpowiada kod 01001. Analogicznie wiemy, że każda kolumna
odpowiada za jeden klasyfikator - przykładowo kolumna pierwsza odpowiada za klasyfikator
binarny, który obiekty z klas c1 oraz c2 traktuje jako przykłady negatywne, a obiekty z klasy
c3 jako pozytywne. Tak powstałe klasyfikatory binarne umieszczamy parami w standardowym
modelu Co-Training. Warto zauważyć, że klasyfikator odpowiadający ostatniej kolumnie jest
trywialny, a co za tym idzie nieprzydatny.
Otrzymując nowy przykład wyliczamy dla niego jego kod binarny, a następnie przypisujemy mu etykietę klasy decyzyjnej, której kod jest najbardziej zbliżony. Długość kodu
korekcyjnego, jaką ustalimy, ma duże znaczenie praktyczne. Generalnie, im dłuższy kod tym
25
lepsze wyniki, ale jednocześnie większy koszt obliczeniowy. Dla problemu z m klasami kod
nie powinien mieć więcej niż 2m−1 − 1 znaków, ale w praktyce tak długie kody można dobierać tylko jeśli m ¬ 7. W przypadku, gdy m jest większe od 7 do ustalania długości kodu
trzeba użyć bardziej zaawansowanych metod. Więcej informacji na ten temat można znaleźć
w pracy [7].
26
Podsumowanie
W pracy zaprezentowany i zanalizowany został model Co-Training – jeden z ważniejszych
modeli używanych w uczeniu maszynowym.
Pierwsza część pracy dotyczyła wprowadzenia do teorii uczenia maszynowego oraz teorii
algorytmów prawdopodobnie aproksymacyjnie poprawnych. Przestawione i udowodnione zostały najważniejsze twierdzenia obu teorii przydatne do dalszej analizy modelu Co-Training.
Następnie przedstawione zostały teoretyczne podstawy modelu Co-Training oraz udowodniona została potencjalna wyuczalność w tak zdefiniowanym modelu. W kolejnych rozdziałach
zebrane i zanalizowane zostały wyniki uzyskane przez naukowców na drodze eksperymentów praktycznych z danymi (zarówno rzeczywistymi jak i sztucznymi). Pod koniec pracy
rozpatrzony został model kodów korekcyjnych wykorzystujący Co-Training do klasyfikacji
wieloklasowej.
Mimo, iż podstawa modelu Co-Training, czyli dwudzielność zbioru atrybutów na dwa nie
do końca zależne podzbiory, nie jest bardzo zaawansowaną konstrukcją, okazuje się, że wiążą
się z nią bardzo ciekawe wnioski zarówno natury teoretycznej jak i praktycznej. Model CoTraining stworzył dobrą podstawę teoretyczną, która została wykorzystana przy tworzeniu
wielu nowych modeli korzystających z danych nieetykietowanych ([7], [13]). Od strony praktycznej okazało się, że Co-Training bardzo dobrze spisuje się w szeregu zastosowań, szczególnie
tych związanych z analizą danych tekstowych([14]).
27
Bibliografia
[1]
Leslie Valiant, A theory of the learnable, Communications of the ACM, 1984.
[2]
Dana Angluin, Philip Laird, Learning from noisy examples, Machine Learning, 2:343-370,
1988.
[3]
Michael Kearns, Efficient noise-tolerant learning from statistical queries, Proceedings of
the Twenty-Sixth Annual ACM Symposium on the theory of Computing, 648-657, 1994.
[4]
Avrim Blum, Tom Mitchell, Combining labeled and unlabeled data with Co-Training,
COLT: Proceedings of the Workshop on Computational Learning Theory, Morgan Kaufmann, 1998.
[5]
Harry Zhang, The Optimality of Naive Bayes, FLAIRS2004 conference, 2004.
[6]
Kamal Nigam, Rayid Ghani, Analyzing the Effectiveness and Applicability of Co-training,
Proceedings of the ninth international Conference on Information and Knowledge Management (NY, USA: ACM): 86–93, 2000.
[7]
Rayid Ghani, Using Error-Correcting Codes with Co-Training for text classification with
a large number of categories, Workshop on Text Mining at the First IEEE Conference
on Data Mining, 2001.
[8]
Vladimir Vapnik, Alexey Chervonenkis, On the uniform convergence of relative frequencies of events to their probabilities, Theory of Probability and its Applications,
16(2):264–280, 1971.
[9]
Maria-Florina Balcan, Avrim Blum, Ke Yang, Co-training and expansion: Towards bringing theory and practice, Advances in neural information processing systems 17, MIT
Press, 2005.
[10] Tommi Jaakkola, David Haussler, Exploiting Generative Models in Discriminative Classifiers, Advances in Neural Information Processing Systems 11, MIT Press, 1998.
[11] Kamal Nigam, Andrew Kachites Mccallum, Sebastian Thrun, Tom Mitchell, Text Classification from Labeled and Unlabeled Documents using EM, Machine Learning, 1999.
[12] Thorsten Joachims, Transductive Inference for Text Classification using Support Vector
Machines, International conference on Machine Learning (ICML), 200-209, 1999.
[14] Francois Denis, Anne Laurent, Rémi Gilleron, Marc Tommasi, Text Classification and
Co-training from Positive and Unlabeled Examples, Proceedings of the ICML 2003 Workshop: The Continuum from Labeled to Unlabeled Data, 80-87, 2003.
29
[13] Ion Muslea, Steven Minton, Craig A. Knoblock, Active + Semi-supervised Learning =
Robust Multi-View Learning, Proceedings of the Nineteenth International Conference on
Machine Learning, 435-442, 2002.
30

Podobne dokumenty