Metody grupowania i ich implementacja do eksploracji

Transkrypt

Metody grupowania i ich implementacja do eksploracji
Metody grupowania i ich implementacja do eksploracji danych
postaci symbolicznej
Dariusz Mazur
10 stycznia 2005
2
Spis treści
Spis tabel
6
Spis algorytmów
8
Wykaz ważniejszych oznaczeń
9
Wstęp
10
1 Eksploracja danych
17
1.1
Geneza eksploracji danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
1.2
Cele i wymagania eksploracji danych . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
1.3
Ocena jakości eksploracji danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
1.4
Techniki eksploracji danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
1.5
Wykorzystywanie zewnętrznej wiedzy . . . . . . . . . . . . . . . . . . . . . . . . . .
31
1.6
Eksploracja danych lingwistycznych . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
1.7
Eksploracja danych biznesowych . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
1.7.1
Segmentacja bazy klientów . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
1.7.2
Grupowanie w transakcyjnych bazach danych . . . . . . . . . . . . . . . . . .
38
1.7.3
Analiza koszyka zakupów . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
1.7.4
Wysyłanie katalogów reklamowych . . . . . . . . . . . . . . . . . . . . . . . .
39
1.8
Analiza zachowań internautów
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
1.9
Zagadnienie grupowania w katalogu towarów . . . . . . . . . . . . . . . . . . . . . .
40
2 Dane
42
2.1
Rodzaje danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
42
2.2
Porównywanie danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
2.2.1
Miary odległości . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
2.2.2
Miara podobieństwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
3
SPIS TREŚCI
4
2.2.3
Miary asocjacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
2.2.4
Miary odległości dla grup danych . . . . . . . . . . . . . . . . . . . . . . . . .
49
2.3
Dane symboliczne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
2.4
Dane lingwistyczne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
2.4.1
Lingwistyka formalna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
2.4.2
Wyrażenia symboliczne i lingwistyczne . . . . . . . . . . . . . . . . . . . . . .
55
2.4.3
Rozpoznawanie znaczeń w dokumentach tekstowych . . . . . . . . . . . . . .
57
2.5
Tematyczne bazy danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
58
2.6
Wiarygodność danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
60
3 Grupowanie
3.1
62
Wstęp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
62
3.1.1
Podział metod grupowania . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
3.1.2
Zastosowanie grupowania . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
66
3.2
Formalny zapis problemu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
68
3.3
Grupowanie iteracyjne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
71
3.3.1
grupowanie K-średnich . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
72
3.3.2
Grupowanie metodą najbliższego sąsiada . . . . . . . . . . . . . . . . . . . . .
73
3.3.3
Grupowanie rozmyte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
75
3.4
Aglomeracyjne grupowanie hierarchiczne . . . . . . . . . . . . . . . . . . . . . . . . .
78
3.5
Grupowanie podziałowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
81
3.6
Grupowanie dokumentów tekstowych . . . . . . . . . . . . . . . . . . . . . . . . . . .
81
3.7
Grupowanie genetyczne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
87
3.8
Ocena jakości grupowania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
89
3.8.1
Podstawowe definicje związane z pomiarami jakości grupowania . . . . . . . .
91
3.8.2
Miara jednorodności . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
93
3.8.3
Reguła podziału na 2 części . . . . . . . . . . . . . . . . . . . . . . . . . . . .
94
3.8.4
Test χ2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
95
3.8.5
Przyrost informacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
95
3.8.6
Wskaźnik Xie - Beni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
96
4 Metody oparte o listy decyzyjne
4.1
4.2
97
Wprowadzenie list decyzyjnych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
97
4.1.1
99
Tworzenie formuł warunku . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zasada działania metody grupowania . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.2.1
Analogia do metod hierarchicznych . . . . . . . . . . . . . . . . . . . . . . . . 101
SPIS TREŚCI
5
4.2.2
Tworzenie macierzy przynależności . . . . . . . . . . . . . . . . . . . . . . . . 101
4.2.3
Funkcja kryterium . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
4.3
Algorytm grupowania wykorzystujący pełny przegląd . . . . . . . . . . . . . . . . . . 102
4.4
Algorytmy oparte na przeszukiwaniu heurystycznym . . . . . . . . . . . . . . . . . . 104
4.5
Algorytm wykorzystujący mechanizm genetyczny . . . . . . . . . . . . . . . . . . . . 105
4.6
Dyskusja na temat zalet grupowania opartego o listy decyzyjne . . . . . . . . . . . . 106
5 Badanie algorytmów grupowania na danych symbolicznych
109
5.1
Program wspomagający eksplorację danych . . . . . . . . . . . . . . . . . . . . . . . 110
5.2
Testowe zbiory danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
5.3
Badanie wrażliwości algorytmów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
5.4
5.5
5.3.1
Cel i zakres badań . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
5.3.2
Otrzymane rezultaty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Badanie algorytmów nie wymagających funkcji odległości . . . . . . . . . . . . . . . 120
5.4.1
Cel i zakres badań . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
5.4.2
Otrzymane rezultaty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Wnioski . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
6 Selekcja i grupowanie danych lingwistycznych
6.1
6.2
6.3
135
Zagadnienie uwzględniania dostępnej wiedzy procesie grupowania . . . . . . . . . . . 136
6.1.1
Wykorzystanie wiedzy zawartej w słowach . . . . . . . . . . . . . . . . . . . . 136
6.1.2
Słownik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
6.1.3
Zasady grupowania nazw towarów . . . . . . . . . . . . . . . . . . . . . . . . 138
Badanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
6.2.1
Analiza danych wejściowych . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
6.2.2
Konstrukcja nazwy w katalogu towarów . . . . . . . . . . . . . . . . . . . . . 141
6.2.3
Metoda wykorzystania słownika do porównywania bardzo krótkich tekstów . 142
6.2.4
Przebieg badania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
6.2.5
Badanie funkcji odległości dla danych lingwistycznych . . . . . . . . . . . . . 145
6.2.6
Badanie skuteczności grupowania danych lingwistycznych . . . . . . . . . . . 147
Wnioski . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
7 Podsumowanie
154
Bibliografia
159
Spis tabel
1.1
Porównanie wiedzy cichej i formalnej[101] . . . . . . . . . . . . . . . . . . . . . . . .
19
2.1
Tabela koincydencji dla atrybutów binarnych.
48
2.2
Funkcje podobieństwa stosowane dla dystrybuant zmiennej losowej.
2.3
Semantyka składników elementarnych [63].
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . .
53
. . . . . . . . . . . . . . . . . . . . . . .
59
3.1
Tablica koincydencji dla grupy j. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
92
5.1
Testowa mała baza obiektów. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
5.2
Przykład tabeli kodowania danych symbolicznych. . . . . . . . . . . . . . . . . . . . 115
5.3
Grupowanie FCMdd dla różnych funkcji odległości dla małej bazy. . . . . . . . . . . 116
5.4
Podział dla grupowania FCMdd dla różnych funkcji odległosci dla małej bazy. . . . . 116
5.5
Trafność dla grupowania FCMdd dla różnych funkcji odległości dla małej bazy. . . . 117
5.6
Podział dla grupowania aglomeracyjnego mała baza. . . . . . . . . . . . . . . . . . . 117
5.7
Trafność dla grupowania aglomeracyjnego dla małej bazy. . . . . . . . . . . . . . . . 117
5.8
Jakość grupowania aglomeracyjnego dla małej bazy. . . . . . . . . . . . . . . . . . . . 118
5.9
Grupowanie F CM dd dla różnych funkcji odległości dla bazy głosowań . . . . . . . . 118
5.10 Trafność dla grupowania F CM dd dla różnych funkcji odległości dla bazy głosowań . 119
5.11 Dla grupowania aglomeracyjnego dla bazy głosowań
. . . . . . . . . . . . . . . . . . 119
5.12 Trafność dla dla grupowania aglomeracyjnego dla bazy głosowań
. . . . . . . . . . . 119
5.13 Przyrost informacji dla różnych algorytmów grupowania bez użycia funkcji odległości
dla małej bazy
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
5.14 Podział dla algorytmów grupowania bez użycia funkcji odległości dla małej bazy . . 127
5.15 Trafność uzyskanego grupowania dla różnych algorytmów grupowania bez użycia funkcji odległości dla małej bazy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
5.16 Lista reguł decyzyjnych pełny przegląd dla małej bazy . . . . . . . . . . . . . . . . . 128
5.17 Lista reguł decyzyjnych algorytm heurystyczny dla małej bazy
6
. . . . . . . . . . . . 128
SPIS TABEL
7
5.18 Lista reguł decyzyjnych algorytm genetyczny dla małej bazy . . . . . . . . . . . . . . 128
5.19 Lista reguł decyzyjnych algorytm pełny przegląd dla bazy głosowań . . . . . . . . . . 128
5.20 Lista reguł decyzyjnych algorytm heurystyczny dla bazy głosowań . . . . . . . . . . . 129
5.21 lista reguł decyzyjnych algorytm genetyczny dla bazy głosowań . . . . . . . . . . . . 129
5.22 Przyrost informacji dla algorytmów bez użycia funkcji odległości dla bazy głosowań . 130
5.23 Trafność uzyskanego grupowania dla algorytmów bez użycia funkcji odległości dla
bazy głosowań . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
6.1
Przypisywanie znaczeń na podstawie słownika . . . . . . . . . . . . . . . . . . . . . . 142
6.2
Mały katalog towarów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
6.3
Tablica wag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
6.4
Lista reguł decyzyjnych heurystyczny dla bazy towarów
6.5
Jakość grupowania F CM dd dla różnych funkcji odległości dla bazy towarów . . . . . 147
6.6
Jakość grupowania a różnymi algorytmami bez użycia funkcji odległości dla bazy to-
. . . . . . . . . . . . . . . . 145
warów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
6.7
Otrzymany podział dla grupowania algorytmami z tabeli 6.6 . . . . . . . . . . . . . 149
6.8
Otrzymany podział dla grupowania algorytmami z tabeli 6.6 cz.2 . . . . . . . . . . . 150
6.9
Otrzymany podział dla grupowania algorytmami z tabeli 6.6 cz.3 . . . . . . . . . . . 151
Spis algorytmów
3.1
Algorytm grupowania k-średnich . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
72
3.2
Grupowanie metodą najbliższego sąsiada . . . . . . . . . . . . . . . . . . . . . . . . .
73
3.3
Algorytm PAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
74
3.4
Grupowanie rozmyte FCMdd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
78
3.5
Grupowanie aglomeracyjne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
79
3.6
Grupowanie podziałowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
81
4.7
Przypisywanie obiektów do grup na podstawie listy decyzyjnej . . . . . . . . . . . .
98
4.8
Procedura przypisywania obiektów do grup na podstawie listy reguł . . . . . . . . . 100
4.9
Rekurencyjne przypisywanie obiektów do grup na podstawie listy reguł
. . . . . . . 101
4.10 Heurystyczny metoda liniowa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
5.11 Grupowanie wykorzystujące przeszukiwanie heurystyczne . . . . . . . . . . . . . . . 122
5.12 Grupowanie dokonujące pełnego przeglądu . . . . . . . . . . . . . . . . . . . . . . . . 124
8
Wykaz ważniejszych oznaczeń
A = {a1 , a2 , . . .}
zbiór wartości atrybutu,
Ai (x) ∈ Ai
wartość i-tego atrybutu opisującego obiekt,
α(x)
formuła logiczna odwołująca się do wartości
atrybutów obiektu,
X
zbiór obiektów,
|X|
liczebność zbioru X,
Ci ⊂ X
grupa,
|Ci |
liczebność grupy i,
d(·)
symbol miary odległości pomiędzy obiektami,
C
zbiór grup możliwych do wyznaczenia w zbiorze przykładów P ,
|P |
C
liczebność zbioru przykładów,
|P |
liczebność podzbioru przykładów zbioru P należących do grupy C,
pA
prawdopodobieństwo że obiekt należy do podzbioru XA ,
pA
i
prawdopodobieństwo że obiekt należący do XA należy do grupy Ci ,
V = {vj }
zbiór elementów wzorcowych (prototypów) grup,
U = {uik }
macierz przynależności obiektów do poszczególnych grup.
9
Wstęp
Gwałtowny rozwój techniki obliczeniowej spowodował, że człowiek obecnie zalewany jest strumieniami danych. Gospodarka, nauka, medycyna, meteorologia oraz każda inna dziedzina tworzą
olbrzymie ilości danych, gromadzonych następnie w pamięciach komputerów. Tak jak maszyna parowa zapoczątkowała rewolucję przemysłową, skutkiem której był wielokrotny, o kilka rzędów wielkości, wzrost wydajności pracownika w zakresie czynności fizycznych, tak komputery spowodowały
ogromny wzrost wydajności pracowników umysłowych. Obecne czasy ogłoszono erą informacji i wiedzy, a podstawowymi wyznacznikami są komputer i internet. Możliwości techniczne są olbrzymie,
w komputerach gromadzone są gigantyczne ilości danych, które bez większego trudu mogą zostać
dostarczone w dowolne miejsce świata. Dane zbierane i gromadzone są nieomal wszędzie, często zupełnie automatycznie, bez udziału człowieka. Obserwowany do niedawna brak dostępnych danych
przekształcił się w ich nadmiar, trudny do ogarnięcia i analizy – i to właśnie zaczyna stanowić
poważny, o ile nie najpoważniejszy problem. Kłopot pojawia się na styku człowiek — komputer.
Człowiek ze swym umysłem daleko doskonalszym od najlepszej i najbardziej rozbudowanej maszyny
ma jednak ograniczone możliwości percepcji. Natomiast komputery, mimo dużej objętości pamięci i szybkości działania (dla działań elementarnych przekraczających ludzkie możliwości), potrafią
w znikomym stopniu zrozumieć człowieka i świat (odgadnąć jego zamiary, domyśleć się jego intencji
czy potrzeb). Z uwagi na to, że ostatecznym odbiorcą danych i informacji jest człowiek, dla niego dokonuje się wszelkiego rodzaju przetwarzania danych. Problemem bowiem nie jest efektywne
gromadzenie i przetwarzanie danych, lecz zdolność interpretacji i wyciągania użytecznych wniosków
[38].
Zbieranie i gromadzenie danych ma swój głęboki sens, bo stanowi przyczynek do zdobywania
wiedzy. Po to człowiek bada i analizuje otaczający go świat, by go lepiej poznać. W celu poszerzenia swych możliwości konstruuje on systemy, które pomagają osiągać zamierzony cel [96]. Proces
przekształcania danych w Wiedzę jest bardzo złożony, do tej pory poznano zaledwie część z jego
wielu etapów [101]. Wiele wysiłku jest poświęcane skonstruowaniu systemu, który będzie umożliwiał
lub wspomagał w możliwie najszerszym zakresie pozyskiwanie Wiedzy [75]. Wspomaganie człowieka
przez komputer polega na tym, że komputer wykonuje pewne czynności (przekształcenia danych)
10
11
analogicznie, jak to by zrobił człowiek tylko, że wielokrotnie szybciej i taniej.
Główne zagadnienie pozyskiwania wiedzy, jakim jest eksploracja danych, jest bardzo szerokie i ma
charakter interdyscyplinarny [39]. Nawet pobieżne analiza skutkuje wkraczaniem na wiele różnych
obszarów. Stosowane są techniki wywodzące się ze statystyki [64], teorii informacji [118], systemów
uczenia maszynowego [27], baz danych [25], zarządzania wiedzą [11, 101] czy lingwistyki [110, 130].
W ramach eksploracji danych można wyróżnić kilka kierunków badań nad technikami tam stosowanymi. W pracach [38, 25, 3, 11, 89] wymienia się poszukiwanie asocjacji, klasyfikację, grupowanie,
regresję, analizę funkcjonalną, analizę skupień, analizę szeregów czasowych, wyszukiwanie anomalii.
Już sama lista zagadnień pokazuje jak szerokim jest zagadnienie eksploracji danych, każda z technik
umożliwia uzyskanie użytecznych wyników w innej formie bądź dla innego rodzaju interpretacji.
W niniejszej pracy szczególną uwagę poświęcono problemowi eksploracji z danych symbolicznych.
Przegląd literatury w zestawieniu z wielkimi oczekiwaniami i potrzebami w tym zakresie wskazuje
na potrzebę systematycznych badań w tym zakresie [132]. Szacuje się że 70-90 procent informacji ma
postać symboliczną [6, 123, 24]. Wiele z tych danych ma postać lingwistyczną, czasami jest to czysty,
naturalny język z pełną gramatyką, słownikiem a czasami tylko sztucznie wybrany podzbiór, wystarczający do reprezentacji przyjętych informacji. Potrzeby są widoczne na każdym etapie eksploracji
danych. Począwszy od przygotowania zbiorów danych, które zawierając dane symboliczne wymagają
różnorodnych technik analizy z uwagi na bardzo szerokie spektrum stosowanych reprezentacji czy
zawartości informacyjnej [42] . W zależności od rodzaju danych można mieć do czynienia z informacją niedokładną, niepewną ale również informacją zależną od kontekstu danych, stosowanego języka,
semantyki [70, 132].
W zakresie eksploracji danych, z uwagi na obszerność tematyki, przeprowadzono dyskusję jednego rodzaju metod, mianowicie grupowania. Pozyskiwanie wiedzy metodami grupowania pozostaje
w kręgu zainteresowań autora w szczególności pozyskiwania wiedzy w zastosowaniach biznesowych i
przetwarzania baz danych pochodzących z systemów internetowych (analiza zachowań internautów),
marketingowych (analiza zachowań konsumentów), medycznych (identyfikacja jednostek chorobowych) [9, 10].
Grupowanie jest zagadnieniem polegającym na identyfikacji naturalnych grup, w których obiekty
podobne do siebie mają zostać umieszczone w jednej grupie, natomiast obiekty znacznie się różniące
w różnych grupach [71]. Grupowanie jest trudnym problemem kombinatorycznym a stosowane w różnych środowiskach i dziedzinach przekłada się na różne koncepcje, metody i efekty możliwe zarówno
do zastosowania jak i do otrzymania [70]. Zagadnienie grupowania jest przedmiotem zainteresowań
badaczy z zakresu statystyki [34], systemów uczących [40, 27], baz danych [99]. Podstawowy podział
metod grupowania omówiony został w [70], zastosowanie do eksploracji baz danych w [25]. Stosuje się
również techniki wykorzystujące metody należące w różnych obszarów, przykładowo w [58, 37, 70].
WSTĘP
12
Istotne znaczenie dla zagadnienia eksploracji danych ma teoria zbiorów rozmytych zaproponowana w
[129]. Samo zagadnienie zastosowanie grupowania, jako problem znajdowania interesujących struktur
wśród zgromadzonych danych, zaprezentowano w [113], w [12] zaprezentowano algorytm grupowania
rozmytego jako szczególny przypadek algorytmu klasyfikacji opisanego w [7]. Innego rodzaju badania w celu uogólnienia idei grupowania przedstawiono w [80]. Dotyczyły one koncepcji identyfikacji
i ekstrakcji pojedynczych klastrów zamiast dokonywania kompletnego rozdziału zbioru na ustaloną ilość grup. Techniki grupowania wykorzystują metody zaczerpnięte z metod ewolucyjnych [42],
genetycznych [56] i heurystycznych [15, 78].
Zagadnienie grupowania obejmuje trzy aspekty:
• sposób ujęcia przetwarzanych danych,
• sposób określania podobieństwa i niepodobieństwa, zgodnie z którym łączy się obiekty w grupy,
• metody poszukiwania optymalnych rozwiązań, w tym przypadku rozwiązaniem jest dokonanie
podziału na grupy.
Pomimo intensywnego rozwoju technik eksploracji danych, nadal istnieje wiele zagadnień, które
wymagają dalszych badań. W zakresie przetwarzania danych symbolicznych, które ze swej natury
obejmują znacznie większy obszar, wiele zagadnień znajduje się na początkowym etapie rozwiązywania. Część z nich jest inspirowane bezpośrednio z technik przetwarzania danych numerycznych, natomiast inne wykorzystują oryginalne rozwiązania. Prace w tym zakresie przedstawiono
w [53, 56, 51, 45].
Kolejnym obszarem grupowania stały się dane lingwistyczne — wykorzystujące język naturalny,
czyli formę wymiany informacji stosowaną od tysięcy lat przez człowieka [105, 109]. Określenia
lingwistyczne realizują pełny opis obiektu, zarówno jakościowy jak i ilościowy [65, 131, 114]. Dalej
dotyczą wykorzystania zasad działania rozumu u człowieka [131], przetwarzaniem wiedzy [103, 101].
Rozszerzenie zakresu zainteresowań na dane symboliczne skutkuje rezygnacją z wielu założeń
leżących u podstawy przetwarzania danych ilościowych. Wymienia się brak możliwości reprezentacji obiektów w sensie punktów w przestrzeni euklidesowej, atrybuty opisujące obiekty należą do
skal słabych lub są całkowicie niemierzalne, przez co niemożliwe jest wykorzystanie wielu funkcji
podobieństwa, z uwagi na zależności kontekstowe trudno definiowalne są heurystyki ograniczające
obszar przeszukiwań. W zależności od badanego rodzaju danych powyższe ograniczenia i problemy
występują z różnym nasileniem.
Należy również w tym miejscu przytoczyć jeden z celów eksploracji danych: ma ona służyć pozyskaniu nowej wiedzy. W zakresie pozyskiwania wiedzy istotną rolę odgrywają reguły decyzyjne.
Reprezentacja wiedzy w postaci reguł uznawana jest za czytelniejszą dla człowieka niż inne reprezentacje [28, 29, 97]. Podkreśla się jej modularność i przydatność do analizy przez eksperta. Ponieważ
13
w przewarzającej części wiedzę tworzy człowiek jedynie przy pomocy komputera, to należy stosować takie metody, które „pomogą” mu w możliwie najlepszy sposób. Jednym z kierunków badań jest
opracowanie nowych metod prezentacji wyników, zgodnych z możliwościami percepcji człowieka, tak
aby możliwie zminimalizować ilość „strat” informacji i wiedzy na styku człowiek – komputer. W tym
kontekście znaczenia nabiera kierunek badań związany z grupowaniem konceptualnym, postrzeganiem mentalnym [97, 113, 121, 124, 130]. Jednocześnie dla całości grupowania danych rzeczywistych
niezwykle istotne znaczenie ma dobór funkcji określających podobieństwo grupowanych obiektów
[109] i jakość (w sensie realizacji zadanego celu) tworzonych grup. Równie ważne jest rozumienie
znaczenia analizowanych danych i „przekazanie” tej wiedzy maszynie [33].
Cel pracy
Celem pracy jest zbadanie metod eksploracji danych postaci symbolicznej oraz przedstawienie
własnych propozycji metod grupowania. Analizie zostały poddane metody grupowania w kontekście
danych symbolicznych oraz lingwistycznych. W tym celu dokonano przeglądu literatury zawierającej
treści związane z niniejszą tematyką, dokonano analizy dziedziny grupowania, jaką są dane biznesowe
oraz dane lingwistyczne. Przeprowadzono badanie metod grupowania przydatnych do przetwarzania
danych wymienionych postaci. W zakresie własnych propozycji metod grupowania przedstawiono
metodę grupowania opartą o listy decyzyjne. Stanowi ona alternatywne rozwiązanie dla zagadnienia
grupowania danych symbolicznych. W oparciu o tą metodę autor zaproponował i zaimplementował
trzy nowe algorytmy grupowania.
Zakres pracy
Zakres pracy oraz cele szczegółowe są następujące:
• analiza zbiorów danych w aspekcie ich wykorzystania w procesie pozyskiwania wiedzy,
• porównanie metod grupowania danych symbolicznych,
• adaptacja wybranych metod i algorytmów do analizy danych symbolicznych,
• przedstawienie metody uwzględniania dostępnej wiedzy o zbiorze danych w procesie porównywania tekstów,
• przedstawienie metody porównywania danych lingwistycznych o szczególnych właściwościach,
jakimi są teksty pochodzące z katalogu towarów,
• przedstawienie algorytmu grupowania typu pełny przegląd opartego o listy decyzyjne,
WSTĘP
14
• przedstawienie heurystycznego algorytmu grupowania opartego o listy decyzyjne,
• przedstawienie genetycznego algorytmu grupowania opartego o listy decyzyjne.
Autor niniejszej pracy zaprojektował i napisał program komputerowy, w którym zaimplementował wszystkie badane algorytmy i metody. Przy jego pomocy dokonał analizy i porównania dostępnych metod grupowania w zależności od niektórych elementów takich jak grupowana dziedzina,
stosowane funkcje odległości oraz inne parametry wejściowe. Celem przeprowadzonych badań było wykazanie istnienia zbiorów danych, dla których zaproponowana metoda daje lepsze wyniki niż
pozostałe metody grupowania.
Teza pracy
W pracy formułuje się następującą tezę:
Zaproponowana metoda grupowania oparta o listy decyzyjne jest alternatywną metodą grupowania danych symbolicznych, a w niektórych przypadkach lepszą od dotychczas stosowanych
metod grupowania.
Tezy szczegółowe:
1. metody grupowania nie wykorzystujące funkcji odległości, oparte wyłącznie o kryterium jakości
grupowania, w niektórych przypadkach lepiej nadają się do grupowania danych symbolicznych,
2. dzięki wykorzystaniu dodatkowej wiedzy o znaczeniu słów, użytych w nazwach grupowanych
obiektów, uzyskuje się lepsze wyniki grupowania (bardziej zgodne z oczekiwaniami ekspertów),
3. dzięki zastosowaniu listy reguł do prezentacji rezultatów grupowania, metoda grupowania oparta o listy decyzyjne, jest lepsza od metod prezentujących wyniki w postaci macierzy przypisań
czy też obiektów wzorcowych, z punktu widzenia percepcji człowieka.
Treść pracy
Rozdział 1 omawia podstawowe obszary, które obejmuje eksploracja danych: powiązanie z potrzebami informacyjnymi, pozyskiwaniem wiedzy, stosowane techniki analizy, oczekiwane rezultaty. W
rozdziale tym zawarte jest ogólne, opisowe wprowadzenie do problemu eksploracji danych. Kluczowym w procesie badania metod eksploracji danych jest wyznaczenie hierarchii kryteriów, wg których
dokonana zostanie ocena wyników. Własną hierarchię kryteriów autor niniejszej pracy przedstawił
w podrozdziale 1.3. W podrozdziale 1.7 przedstawiono zagadnienia eksploracji danych wywodzących się z obszaru danych biznesowych. W podrozdziale 1.8 przedstawiono potrzebę i możliwość
15
eksploracji w obszarach danych związanych w Internetem, takimi jak analiza zachowań internautów
w kontekście zawartości stron internetowych. Omówiono dostępny zakres danych oraz możliwości pozyskania wiedzy. Oprócz szeregu znanych z literatury zadań autor zaproponował własne zagadnienie
wchodzące w zakres eksploracji danych jakim jest grupowanie w katalogu towarów (podrozdział
1.9). Tematyka kolejnych rozdziałów obejmuje podstawy teoretyczne wykorzystywane w dalszym
toku pracy.
W rozdziale 2 omówiono rodzaje danych z jakimi ma się do czynienia w procesie eksploracji
danych. Ukazano różnorodność informacyjną danych spotykaną w bazach danych. Przedstawiono
dane numeryczne, symboliczne, lingwistyczne i ich, istotne z punktu widzenia dalszego przetwarzania,
własności.
Rozdział 3 przedstawia podstawowe metody grupowania – głównej techniki eksploracji wykorzystywanej w niniejszej pracy. Omówiono grupowanie hierarchiczne, optymalizacyjne, wykorzystujące
zbiory rozmyte, algorytmy genetyczne.
Rozdział 4 zawiera jedną z głównych propozycji autora jaką są metody grupowania wykorzystujące jako podstawę listy decyzyjne. W rozdziale tym przedstawiono podstawowe założenia tej
metody oraz zaproponowano trzy algorytmy ją wykorzystujące. Są to algorytm pełnego przeglądu,
algorytm heurystyczny metoda liniowa oraz algorytm adaptujący metody genetyczne. Podstawowe zalety niniejszej metody to: możliwość grupowania danych symbolicznych bez potrzeby użycia
funkcji odległości (funkcji porównującej obiekty); większa, w stosunku do metod hierarchicznych,
różnorodność kształtów otrzymywanych podziałów; nowa forma prezentacji rezultatu grupowania
jaką jest zapis listy decyzyjnej. W podrozdziale 3.8 autor przedstawił sposób interpretacji i wykorzystania nowej formy prezentacji rezultatu grupowania jakim jest lista reguł. Badania skuteczności
przedstawionej metody autor przeprowadził poprzez porównanie rezultatów grupowania z innymi
metodami. Przebieg badań opisany jest w podrozdziałach 5.4 oraz 6.2.6.
Rozdział 5 zawiera wyniki eksperymentów nad adaptacją niektórych algorytmów do grupowania danych symbolicznych. W podrozdziale 5.1 opisano zaprojektowany i zaimplementowany program komputerowy wykorzystywany do eksperymentów z danymi symbolicznymi. Omówiono zakres
funkcjonalny, strukturę programu, możliwości wprowadzania danych zewnętrznych oraz prezentacji
wyników. Analizowano dwa rodzaje algorytmów: wymagające miary odległości oraz jej nie wymagające. Podział ten jest podyktowany tym, że w przypadku danych symbolicznych niezwykle trudno
jest o taką definicję odległości, która trafnie by reprezentowała podobieństwo obiektów. Autor badał
wpływ stosowanych rozwiązań na wyniki a jednocześnie poszukiwał rozwiązań dających się zastosować w eksploracji danych biznesowych. Wykazano dużą zależność doboru funkcji porównania od
rodzaju przetwarzanych danych, co jest wadą w procesie eksploracji danych.
WSTĘP
16
Rozdział 6 zawiera przedstawioną przez autora krytyczną analizę przydatności i skuteczności stosowania technik grupowania do analizy niektórych danych biznesowych. Podrozdział 6.1.1 zawiera
propozycję autora wykorzystania dodatkowej, zewnętrznej wiedzy w procesie grupowania niektórych
danych lingwistycznych poprzez zastosowanie słownika. Podrozdział 6.1.3 zawiera rezultaty prac
własnych autora nad problemem grupowania w katalogu towarów zaprezentowanego w podrozdziale 1.9 wykorzystujących metody przedstawione w rozdziałach 4 oraz 6. Zaprezentowano adaptacje
algorytmu FCMdd do grupowania danych lingwistycznych. Wykorzystano technikę uwzględniania
dodatkowej wiedzy w procesie grupowania realizowaną przy pomocy słownika. Przeprowadzony eksperyment obejmował również wykorzystanie, zaproponowanych przez autora, algorytmów opartych
o listy decyzyjne. Rezultaty grupowania zaprezentowano w podrozdziale 6.2.6.
Ostatni rozdział zawiera spostrzeżenia i wnioski zdobyte w trakcie badań oraz nakreśla kierunki
dalszych prac.
Rozdział 1
Eksploracja danych
1.1
Geneza eksploracji danych
Pozyskiwanie wiedzy jest zagadnieniem wynikającym z potrzeb informacyjnych [20]. Chęć pozyskania nowej wiedzy stanowi kombinację zaspokojenia potrzeb informacyjnych trojakiego rodzaju:
jakie informacje są potrzebne, gdzie można je znaleźć oraz jak można ich użyć. Tak sformułowane
zadanie pozyskiwania wiedzy jest trudne nawet dla człowieka. Rolą systemu komputerowego może
być jedynie wspieranie, pomoc w weryfikacji kolejnych hipotez, pomysłów, idei. Potrzeby informacyjne jako zjawisko są trudne do zdefiniowania, można jedynie scharakteryzować je poprzez analogie
i pojęcia pomocnicze:
• potrzeby informacyjne są obecne w umysłach osób poszukujących nowej wiedzy, w procesie
pozyskiwania następuje ujawnienie takich informacji,
• potrzeby informacyjne można wyrazić poprzez identyfikację braków wiedzy, aczkolwiek tylko
część potrzeb może być w ten sposób ujawniona,
• potrzeby informacyjne zmieniają się, ewoluują pod wpływem pozyskanej wiedzy i informacji,
• pozyskanie nowej wiedzy powoduje odkrycie nowych obszarów potrzeb informacyjnych.
Z takiej charakterystyki wynika ewolucyjna właściwość potrzeb informacyjnych, które są odkrywane i zaspokajane w kolejnych iteracjach procesu pozyskiwania wiedzy.
Termin „Pozyskiwanie wiedzy z baz danych” (ang. KDD - Knowledge Discovery in Databases)
przyjmuje się jako:
poszukiwanie interesujących wzorców i zapisanie ich w zwięzły i wyczerpujący sposób
[41].
17
Eksploracja danych
18
Z tak przedstawionej definicji należy wyciągnąć następujący wniosek: poszukiwane są wzorce,
które są prawdziwe, nowatorskie, użyteczne i możliwe do przyswojenia przez człowieka.
Jeżeli mowa o odkrywaniu wiedzy to należy uściślić podstawowe terminy i klasyfikację używaną w tym kontekście. Słowa dane, informacje, wiedza w potocznym znaczeniu często używane są
zamiennie jednak w kontekście badań nad pozyskiwaniem wiedzy należy stanowczo rozdzielić ich
znaczenia i zakres stosowania. Za dane uważa się znaki reprezentujące pomiary, wyniki, obserwacje
[81]. Dane zapisywane są na nośniku przy pomocy odpowiedniej aparatury (w komputerach elementy
do przechowywania danych zwane są pamięcią). Dane również mogą być przekazywane przy pomocy
różnych mediów do innych lokalizacji.
Informacja ustala i umiejscawia znaczenie danych w określonym kontekście i środowisku [81].
Słowo informacja pochodzi od łacińskiego informare, co oznacza „::::::::
nadawać:::::::
formę”. Koncepcja informacji sformułowana była na potrzeby telekomunikacji. Znane jest twierdzenie Shannona matematycznie definiujące możliwość przesyłania danej ilości informacji (bitów) w określonym paśmie
częstotliwości. Istotne jest również semantyczne znaczenie informacji. Informacja umożliwia zmianę
sposobu postrzegania rzeczy, obiektów, wpływa na osąd i to odróżnia ją od danych. Słowo wiedza
może być definiowane jako zrozumienie, które uzyskuje się poprzez indywidualne doświadczenie lub
studiowanie faktycznych informacji i danych. Informacja jest „dziełem” zmysłów, a intelekt, czy też
mądrość jest potrzebna aby przekształcić te informacje w wiedzę.
Wiedza opisuje zdolność osoby lub organizacji do działania w nowym kontekście i środowisku.
W informatyce jako wiedzę traktuje się informacje pozwalające na wnioskowanie. Wiedza wykracza
poza informacje, gdyż implikuje zdolność do rozwiązywania problemów, stanowi przesłanki podejmowanych działań i rozumowań. Wiedzę utożsamia się ze zbiorem reguł (bazą wiedzy) podczas gdy
informacje utożsamia się z bazą faktów [49]. Wiedza to zdolność do rozwiązywania danej klasy problemów. Jest pozyskiwana w wyniku procesu uczenia się. Uczenie natomiast jest procesem, podczas
którego ludzie odkrywają problem, opracowują rozwiązanie problemu, realizują rozwiązanie i oceniają wyniki. Proces ten prowadzi do odkrywania nowych problemów [5]. Według encyklopedii „The
American Heritage” [107]wiedza to:
— znajomość, świadomość lub zrozumienie uzyskane przez doświadczenie lub studiowanie,
— stan, fakt rozumienia lub specyficzna informacja na temat czegoś,
— suma wszystkiego co zostało doświadczone, odkryte lub nauczone,
— organizacja informacji.
Omawiając termin Wiedza (duża litera podkreśla szerszy sens i znaczenie tego terminu), należy przytoczyć podstawowy podział, według którego wiedza jest klasyfikowana. Kryterium podziału wynika
z dostępnych metod przechowywania i przekazywania wiedzy. I tak Wiedza jawna, formalna (ang.
explicit knowledge) jest to wiedza, która może być wypowiedziana, wyartykułowana, dzięki czemu
może podlegać zarejestrowaniu, przeniesieniu na papier lub inny nośnik. Ulega rozpowszechnieniu
1.1 Geneza eksploracji danych
19
Tabela 1.1. Porównanie wiedzy cichej i formalnej[101]
Wiedza cicha (ang. tacit)
Subiektywna
Wypływa z doświadczenia
Praktyka
Wiedza jawna (ang. explicit)
Obiektywna
Wynika z racjonalnego rozumowania
Teoria
przy pomocy różnego rodzaju narzędzi w ramach technik zarządzania wiedzą. Przykładowo są to
narzędzia wspomagające pracę grupową, do współdzielenia wiedzy, systemy baz wiedzy (np. help
desk).
Wiedza cicha (ang. tacit knowledge) - rozumiana jako wiedza niewypowiedziana, pozostająca
w ludzkim umyśle. O fakcie istnienia takiej wiedzy można się przekonać podczas bezpośredniego
kontaktu z daną osobą. Jest się przekonanym, że ta osoba posiada wiedzę ale zostaje to przekazywane w sposób nieformalny, trudny do wychwycenia, niemożliwy do wyrażenia językiem naturalnym.
Możliwe natomiast jest oszacowanie zakresu posiadanej wiedzy oraz przekazanie takiej wiedzy innej osobie, ale przy zachowaniu bezpośredniego kontaktu pomiędzy tymi osobami. W tablicy 1.1
zestawiono dodatkowe atrybuty przypisywane poszczególnym rodzajom wiedzy.
Pojęcie mądrość jest nadrzędne do pozostałych i najtrudniejsze do zdefiniowania. Można przyjąć w uproszczeniu, że mądry człowiek (bo mądrość odnosi się wyłącznie do ludzi) to człowiek
posiadający bogatą wiedzę.
W ramach zagadnień zajmujących się przetwarzaniem wiedzy wyróżnia się następujące zadania
[101]:
Pośredniczenie — współdzielenie wiedzy, narzędzia służące przekazywaniu informacji, zapisów,
pomysłów, zarówno bezpośrednio jak i za pośrednictwem bazy wiedzy.
Uzewnętrznienie — narzędzia wspomagające akwizycję wiedzy, przekształcanie jej na postać jawną, organizowanie wiedzy.
Uwewnętrznienie — polega na przekształcanie wiedzy jawnej w cichą, zachodzi to podczas uczenia
się, przyswajania wiedzy.
Poznawanie — wspomaga podejmowanie decyzji w oparciu o zgromadzoną wiedzę oraz zdobywanie
nowej, korzystając z wymienionych powyżej trzech funkcji.
Wymieniona powyżej klasyfikacja obejmuje występujące w procesie przetwarzania wiedzy przekształcenia i przekazy wiedzy. Pozwala ona wyodrębnić pewne procesy, które następnie można poddać całkowitej bądź częściowej formalizacji, i dalej skomputeryzowaniu.
Eksploracja danych (ang. DM – Data Mining) ściśle się wiąże z pojęciem pozyskiwanie wiedzy.
Stanowi bowiem główny etap w procesie pozyskiwania wiedzy. Całość procesu pozyskiwania składa
Eksploracja danych
20
się 5 etapów. W literaturze spotyka się następująco wyodrębnione etapy [38]:
1. selekcja,
2. przygotowanie,
3. przekształcanie,
4. eksploracja danych (ang. DM – Data Mining),
5. interpretacja.
Pozyskiwanie wiedzy rozpoczyna się od zrozumienia dziedziny, w której planowane jest poszukiwanie. Następnie gromadzi się dostępną wiedzę na dany temat, identyfikuje cele prowadzonych działań
oraz identyfikuje potrzeby. Po przeprowadzonej analizie dostępnych zasobów bazodanowych, zarówno pod względem technicznym (format zapisu, format danych, mechanizmy dostępowe, objętość),
jak i merytorycznym (rejestrowane wielkości, reprezentacja rzeczywistych zjawisk, wiarygodność,
kompletność), przygotowuje się przetworzony zbiór danych stanowiący podzbiór bazy wejściowej.
Następnym krokiem jest eksploracja danych w odpowiednio wyselekcjonowanym, przygotowanym i
przekształconym zbiorze. Ostatni etap KDD to ocena i interpretacja rezultatów eksploracji danych
oraz przygotowanie pozyskanej w ten sposób wiedzy do użycia.
Obecnie większość badań koncentruje się na metodach stosowanych w eksploracji danych, chociaż
pozostałe etapy mają również doniosłe znaczenie dla osiągnięcia pomyślnych rezultatów [25, 39].
Jak już powiedziano pozyskiwanie wiedzy stanowi iteracyjny proces zakładający wielokrotną interakcję z użytkownikiem. Wielokrotnie można wyodrębnić cykle, jakie tworzą się poprzez powtarzanie
lub powrót do wcześniejszych etapów. Jest to spowodowane potrzebą analizy na różnych poziomach
abstrakcji, w różnych stopniach szczegółowości, koncentracji na różnych aspektach danego zagadnienia [67]. Eksploracja danych natomiast stanowi najistotniejszy element w procesie pozyskiwania
wiedzy. Ponieważ pozostałe etapy tego procesu są albo zagadnieniami rutynowymi, w porównaniu
do samego zagadnienia eksploracji danych (np. selekcja danych), albo są nierozłącznie związane z
samą eksploracją danych, dlatego w wielu opracowaniach dochodzi do zrównania, lub też utożsamienia pozyskiwania wiedzy z eksploracją danych, poprzez pominięcie wyszczególniania pozostałych
etapów.
Eksploracja danych powstała na gruncie statystyki, sztucznej inteligencji oraz maszynowego uczenia się, korzysta z wyników badań w wielu dziedzinach. Poniżej omówiono poszczególne aspekty
związane z kształtowaniem się eksploracji danych.
1.1 Geneza eksploracji danych
21
Podejście wywodzące się z matematyki i statystyki
Statystyka była najważniejszym źródłem technik stosowanych w analizie danych przez długi
okres czasu. Niewątpliwy wkład miały tu twierdzenia Bayesa, szeroko stosowane w wielu metodach
pozyskiwania wiedzy. Modele oparte o klasyfikator bayesowski, sieci bayesowskie są rozwijane w
wielu publikacjach [64, 104, 119, 26].
Do przetwarzania wiedzy dobrze nadają się nowe koncepcje reprezentacji i przetwarzania. Historycznie wcześniejsze są zbiory rozmyte (ang. fuzzy sets) zaprezentowane przez L. A. Zadeh [129]. Przy
ich pomocy można reprezentować pojęcie częściowej przynależności do zbioru, zagadnienie spotykane
w świecie realnym. Model ten pomocny jest wszędzie tam, gdzie metody klasyczne niewystarczają.
Drugą koncepcją szeroko wykorzystywaną w zakresie pozyskiwania wiedzy zaprezentowaną przez
Pawlaka [102] są zbiory przybliżone. Przykładem wykorzystania zbiorów przybliżonych w tym zakresie jest publikacja W. Ziarko [134].
Podejście wywodzące się z systemów uczących
Proces uczenia się polega na identyfikacji hipotez a następnie selekcji na podstawie prawdziwości,
wiarygodności, wartości z punktu widzenia użytkownika. Techniki i metody uczenia się, jako procesu
odkrywania Wiedzy, mają zastosowanie w eksploracji danych i pozyskiwaniu wiedzy.
Definicja 1. Uczeniem się systemu jest każda autonomiczna zmiana w systemie, zachodząca na
podstawie doświadczeń, która prowadzi do poprawy jakości jego działania [27].
Z tak przedstawionej definicji wynikają następujące aspekty:
• uzyskiwane w wyniku uczenia parametry są nazywane Wiedzą lub umiejętnością,
• musi istnieć przestrzeń hipotez, z której pobierane są poszczególne hipotezy do analizy,
• istnieje mechanizm tworzenia hipotez na podstawie doświadczeń (np. reprezentowanych w bazie
danych w postaci transakcji),
• istnieje mechanizm akceptacji i rewizji hipotez,
• system posiada wiedzę wbudowaną oraz nabytą w trakcie uczenia,
• system działa autonomicznie, szczególnie w zakresie odkrywania hipotez, które mogą być wiedzą, przy założeniu niepewnego statusu wiedzy oraz zawodności systemu traktowanego jako
ucznia.
Reprezentacja hipotez ściśle zależy od dziedziny, w której następuje uczenie się. Jednym ze sposobów reprezentacji jest pojęcie kompleksu. Przy założeniu, że na dziedzinie D są określone pewne
Eksploracja danych
22
nominalne atrybuty, kompleks opisuje jakie warunki muszą być spełnione przez wartości atrybutów przykładów, aby były one przez niego pokryte. Kompleks jest interpretowany jako koniunkcja
warunków nakładanych na pojedyncze atrybuty, nazywane selektorami. Przyjmując, że atrybuty są
uporządkowane i ponumerowane, a selektor vi umieszczony na i-tej pozycji w kompleksie reprezentuje warunek nakładany na wartość atrybutu ai , mającego przeciwdziedzinę Di = {vi1 , . . . , vim },
można zdefiniować następujące selektory:
selektor pojedynczy si =< sik > spełniony dla przykładu x, jeśli atrybut ai dla tego przykładu
ma pewną wartość z jego przeciwdziedziny sik = ai (x),
selektor dysjunkcyjny si =< sia , sib , . . . , siz > spełniony, jeżeli atrybut ma jedną z wymienionych
wartości jego przeciwdziedziny:
sia , sib , . . . , siz ∈ Di ,
(1.1a)
{sia , sib , . . . , siz } =
6 Di ,
(1.1b)
co oznacza, że
ai (x) = sia ∨ ai (x) = sib ∨ . . . ∨ ai (x) = siz ,
(1.1c)
selektor uniwersalny si =< ? > spełniony dla dowolnej wartości przeciwdziedziny ai (x) ∈ Ai ,
selektor pusty si =< ∅ >jeżeli warunek nie jest spełniony przez żadną wartość atrybutu.
Kompleks zapisuje się jako listę oddzielonych od siebie przecinkami selektorów, ujętą w nawiasy
trójkątne. Każdy kompleks zawierający przynajmniej jeden selektor pusty nie pokrywa żadnego
przykładu i może być utożsamiany z kompleksem zawierającym wyłącznie selektory puste. Hipoteza
klasyfikuje jako pozytywne tylko i wyłącznie te przykłady, dla których wartości atrybutów spełniają
warunki narzucane przez kompleks, za pomocą których hipoteza ta jest reprezentowana.
Podejście bazodanowe
Dane podlegające eksploracji zazwyczaj przechowywane są w relacyjnej bazie danych, wiele metod korzysta z technik tam stosowanych. Rachunek relacyjny, języki zapytań czy organizacja danych
służy efektywnemu przetwarzaniu związanemu z eksploracją. Rozwój technik eksploracji ma również
wpływ na rozwój systemów bazodanowych. Wiele zadań związanych z agregacją, podsumowaniem,
uogólnianiem, detekcją trendów czy dyskryminacją zmian na stałe weszło do tych narzędzi.
Podejście lingwistyczne
Z uwagi na to, że większość ze zgromadzonych danych ma charakter symboliczny (nienumeryczny), wymagane jest skonstruowanie narzędzi odpowiednich do przetwarzania takich danych. Szacuje
1.2 Cele i wymagania eksploracji danych
23
wiedza posiadana
wyodrębnione informacje
R
wiedza nowoodkryta
Rys. 1.1. Cel eksploracji danych.
się że 70-90 procent informacji ma postać symboliczną [6, 123, 24]. Wiele z tych danych ma postać
lingwistyczną, czasami jest to czysty, naturalny język z pełną gramatyką, słownikiem a czasami tylko
sztucznie wybrany podzbiór, wystarczający do reprezentacji przyjętych informacji.
Podejście lingwistyczne charakteryzuje się dużą różnorodnością stosowanych technik. Klasyczna
technika, opierająca się na statystyce występowania słów została przedstawiona w pracy [114]. Kolejne techniki opierają się na analizie syntaktycznej, semantycznej i morfologicznej tekstów [74]. Inne
opierają się na cytowaniach (jak to ma miejsce w przypadku literatury naukowej) bądź odsyłaczach
(przykładem jest hipertekst) [82].
1.2
Cele i wymagania eksploracji danych
Ogólnie mówiąc celem eksploracji danych jest pozyskanie nowej wiedzy. Jednak eksploracja danych jest zagadnieniem ściśle zależnym od zastosowania i różne zastosowania mogą wymagać różnych
technik w celu uzyskania rozwiązania.
Formalnie eksploracja danych polega na poszukiwaniu pewnych wzorców (np. w formie zdań,
reguł), które są interesujące i wiarygodne. Wiarygodność da się w pewien sposób oszacować, np.
poprzez policzenie liczby przykładów, które dany wzorzec potwierdzają, natomiast w kwestii czy
dany wynik jest interesujący sędzią jest użytkownik. Zadanie eksploracji P I w języku zdań L zapisuje
się następująco:
P I(l, L) = {l ∈ L : L jest interesujące },
(1.2)
Eksploracja danych
24
gdzie: L jest językiem, w którym można zapisać wzorce, zdania, oznaczane jako l w przedmiocie
eksploracji danych [89].
Przykładowo może to być podanie pytań, na które DM stara się odpowiedzieć. Najbardziej ogólne
mogłoby brzmieć następująco: Proszę powiedzieć coś interesującego o danych. Takie sformułowanie
problemu, chociaż prawidłowe, stawia trudne warunki do zrealizowania. Przede wszystkim pojęcie
coś interesującego jest trudne do zdefiniowania a nawet do wyartykułowania przez użytkownika. Reguły i wzorce wygenerowane przed system DM mogą być albo trywialne (i dobrze znane) albo nie
posiadać żadnej wartości dla użytkownika. Nie znany jest również oczekiwany poziom szczegółowości
ani forma prezentowanych wyników. Przykładowo można otrzymać następujące wyniki na podstawie
analizy transakcyjnej bazy danych, pochodzącej z rejestracji transakcji sprzedaży w sklepie samoobsługowym:
• częściej wybierane są ceny zakończone na 9 — reguła dobrze znana fachowcom od marketingu,
• mleko jest kupowane średnio co 5 minut — ta reguła nie niesie żadnej użytecznej informacji,
• w piątki średnio mleko sprzedawane jest do 15 — taki wynik sugeruje braki w zaopatrzeniu.
Użytkownik oczywiście potrafi w większości przypadków ocenić na ile prezentowane wyniki są dla
niego interesujące, ale może to uczynić jedynie ręcznie, osobno analizując każdy rezultat. Problemem
jest to, że ludzkie możliwości są ograniczone i taka analiza może dotyczyć niewielu przypadków.
W celu ułatwienia zadania poszukiwania interesujących hipotez stosuje się pewną zasadę dotyczącą poszukiwania i wyboru potencjalnie interesujących wzorców. W wyniku badania z zakresu
CPM (ang. combinatoral pattern matching) utworzono następującą regułę [44]:
Jest lepiej używać skomplikowanych wzorców i złożyć je przy pomocy prostych kombinacji
logicznych niż prostych wzorców i używać skomplikowanych kombinacji logicznych.
W celu ukonkretnienia założeń można posłużyć się zadaniem: znaleźć interesujące asocjacje pomiędzy danymi. Takie postawienie sprawy daje podpowiedź o kierunkach dalszych poszukiwań. W
tym zakresie posługuje się analizą asocjacji (ang. assotiations)[2] występujących pomiędzy zmiennymi. Wśród metod temu służących wymienia się analizę koincydencji [85] oraz analizę relacji [1].
Obszarów stosowania eksploracji danych jest wiele, obejmują one te miejsca, w których stosuje
się systemy informatyczne, między innymi w celu gromadzenia pozyskanych danych w postaci baz
danych. Jesteśmy świadkami prawdziwej eksplozji baz danych, mając na myśli ich liczbę i objętość.
Z powodu dużej prostoty konstruowania bazy danych oraz akceptowalnych cen systemy gromadzące
dane stosuje się prawie we wszystkich dziedzinach życia. Wszędzie tam natomiast, gdzie istnieje już
baza danych, pojawia się potrzeba analizy tych danych w celu odkrycia nieznanej dotąd wiedzy.
1.2 Cele i wymagania eksploracji danych
25
Dziedziny, w których szeroko stosuje się eksplorację danych to: technika, medycyna, astronomia,
szeroko pojęty biznes.
Jak już powiedziano na wstępie, cechą wspólną obszarów w których stosuje się DM jest oparcie
się o duże bazy danych zgromadzone w wyniku działania systemu informatycznego, który gromadzi
dane o badanych, kontrolowanych i obserwowanych obiektach. Dane mogą powstawać w wyniku
sztucznie inspirowanego eksperymentu lub rejestracji naturalnych działań.
Aby eksploracja danych była efektywna powinny być spełnione następujące wymagania:
1. Obsługa różnych typów danych.
Dostępne dane mogą być różnej postaci, pochodzić z różnego rodzaju aplikacji, dotyczyć różnych aspektów reprezentowanych w bazie danych. Pomijając bowiem niektóre dane jest się
narażonym na utratę możliwości pozyskania nowej wiedzy. Z uwagi na to, że wiele baz zawiera
dane różnych typów (jednocześnie są w nich obecne dane numeryczne, tekstowe i multimedialne) aplikacje DM winny umożliwiać jak najmniej ograniczoną ich eksplorację.
2. Efektywne i skalowalne algorytmy.
Zazwyczaj analizowane bazy są dużych rozmiarów, z tendencją do powiększania się i to we
wszystkich kierunkach (ilość przykładów, atrybutów, wartości). Aby czas analizy był akceptowalny, szczególnie w systemach interaktywnych, należy stosować algorytmy o co najwyżej
wielomianowej złożoności, i to niskiego stopnia.
3. Użyteczne i prawdziwe rezultaty.
Źródłowe dane mają określony stopień wiarygodności, algorytmy wprowadzają pewne uogólnienia i przybliżenia, w wyniku czego powstająca wiedza ma określony stopień niepewności,
który należy oszacować poprzez pomiar jakości, użyteczności i wartości pozyskanej wiedzy.
4. Różne sposoby prezentacji rezultatów.
Ostatecznym odbiorcą i cenzorem wyników eksploracji danych jest człowiek, i aby maksymalnie
mu ułatwić, a czasami umożliwić odkrycie nowej wiedzy, winno mu się umożliwić otrzymanie
wyników w różnej postaci (głównie w tym miejscu myśli się o postaci graficznej (wykresy) w
miejsce tabelarycznej - ale nie tylko). Z uwagi na ograniczone możliwości percepcyjne człowieka,
każda technika ułatwiająca przyswojenie rezultatów jest jak najbardziej wskazana.
5. Eksploracja na różnych poziomach abstrakcji.
Ponieważ trudno a priori określić oczekiwaną postać wyników, co właściwie ma być odkryte,
eksploracja danych winna umożliwiać dynamiczne zmiany poziomu abstrakcji, szczegółowości
przetwarzania, aspektów podlegających analizie.
Eksploracja danych
26
1.3
Ocena jakości eksploracji danych
Pozyskiwanie wiedzy i eksploracja danych są zagadnieniami trudno definiowalnymi. Trudność
objawia się poprzez brak jednoznacznej funkcji oceny uzyskiwanych wyników. Jak już wspomniano, celem jest pozyskanie nowej wiedzy. Przy obecnym stanie nauki nie istnieją formalne definicje
pozwalające na pomiar (ocenę, bądź identyfikację) stopnia pozyskania wiedzy. Natomiast można
dokonać pośredniej oceny jakości technik eksploracyjnych. Dokonuje się tego doświadczalnie, wychodząc z dostępnych informacji na temat sposobów tworzenia nowej wiedzy przez człowieka, takich jak
zdolność uczenia się, możliwości percepcji, wnioskowanie itd. W procesie oceny bada się zdolność
człowieka do przyswojenia, uzyskanych danymi technikami eksploracji danych, rezultatów oraz oceny
wytworzonych przez człowieka na tej podstawie wniosków. Oceny jakości wiedzy również dokonuje
człowiek, na podstawie rezultatów podejmowanych decyzji bądź w oparciu o własną wiedzę i doświadczenie. Jak pokazano powyżej, w procesie oceny jakości wiedzy, główną rolę odgrywa człowiek,
przy pomocy swojego rozumu, który to proces jest całkowicie (albo prawie całkowicie) nieznany.
Powoduje to powstawania znaczących błędów oceny, z uwagi na zbyt dużą zależność jej wyników od
wiedzy, doświadczenia oraz innych cech, które w różnym stopniu posiada człowiek.
Biorąc pod uwagę powyższe spostrzeżenia trudno jest obiektywnie oceniać jakość poszczególnych
technik i metod. Należy oddzielić wpływ człowieka na ocenę, aczkolwiek jest to duży problem. Propozycją autora niniejszej pracy jest posługiwanie się w procesie oceny jakości eksploracji następującymi
kryteriami:
1. Redukcja ilości danych do poziomu percepcji człowieka, ale w takim zakresie, aby nie zostawały
pominięte istotne własności (trendy, atrybuty); należy dodać, że termin „istotne”’ nie odnosi
się do liczebności czy udziału, gdyż nawet pojedyncze wystąpienia elementów, uwzględnione
w procesie eksploracji, mogą przysłużyć się pozyskaniu wiedzy.
2. Różnorodność form prezentacji – jest powszechnie znana prawda, że stopień absorbcji informacji przez człowieka ściśle zależy od formy jej prezentacji, w tym zakresie spotyka się prezentacje
wyników w formach: tablicy przykładów, wzorców, podziału na podzbiory, zbioru hipotez, listy
reguł, przedstawienia funkcji analitycznych i zależności funkcjonalnych; wiele z wymienionych
postaci jest przekształcalne w inne, natomiast część jest uzyskiwana jedynie w wyniku zastosowania odpowiedniej metody eksploracji.
3. Różnorodność form uzyskiwanych wyników – podobne z nazwy kryterium do powyższego, aczkolwiek ocenia się w nim stopień elastyczności otrzymywanych form do reprezentacji; wiele z
metod posiada ograniczenia w zakresie reprezentacji form, ograniczenia takie to przykładowo reprezentacja tylko w postaci obszarów wypukłych, analiza funkcjonalna tylko w zakresie
funkcji liniowych itd.
1.4 Techniki eksploracji danych
27
4. Zgodność z funkcją kryterium – wiele z metod posługuje się funkcją kryterium, w celu znalezienia rozwiązania. Przyjmuje się, że funkcja ta stanowi przybliżenie funkcji oceny jakości
podziału. O ile kryterium samodzielnie nie stanowi o jakości metody, to wykorzystuje się je do
porównywania poszczególnych metod, a w szczególności ich implementacji. Osiąganie lepszych
wartości funkcji kryterium w procesie eksploracji ograniczone być może innymi własnościami metody eksploracji, które stanowią o jej przewadze. Dodatkowo funkcja kryterium tylko
w przybliżonym stopniu realizuje funkcję oceny, co również w niektórych przypadkach skutkuje pogorszeniem otrzymywanych wyników. Aczkolwiek, pomijając wpływ wymienionych zjawisk, wyniki funkcji kryterium są istotnym elementem w procesie porównywania jakości metod
eksploracji, a co ważniejsze: funkcja kryterium umożliwia porównanie poprzez pomiar, czyli z
pominięciem udziału człowieka.
5. Uwzględnianie wiedzy w procesie eksploracji – każda metoda, która potrafi wykorzystać informacje spoza badanej bazy danych czy też kontekst danych, potencjalnie otrzymuje lepsze
wyniki (bardziej odpowiadające rzeczywistości), dlatego też o jakości metody stanowi zdolność
do przyjmowania danych z innych źródeł.
Powyższa klasyfikacja nie obejmuje wszystkich zagadnień związanych z oceną jakości, nie stanowi również ogólnej definicji jakości, którą należało by stosować. Celem autora jest przedstawienie
istotnych kryteriów, które pozwolą na właściwe i możliwie pełne ocenianie metod eksploracji, a
w szczególności metod grupowania danych symbolicznych. W trakcie badań autor wielokrotnie ocenia badane algorytmy (patrz podrozdziały 3.8, 4.6).
1.4
Techniki eksploracji danych
Techniki i metody służące eksploracji danych wywodzą się głównie z obszaru badań nad sztuczną
inteligencją. Główne przykłady stosowanych rozwiązań należą do następujących zakresów:
— metody statystyczne,
— sieci neuronowe,
— metody uczenia maszynowego,
— metody ewolucyjne,
— zbiory rozmyte,
— zbiory przybliżone.
W eksploracji danych rozwijane są różne modele przetwarzania, różniące się zakresem zastosowań,
stosowanymi algorytmami rozwiązań, sposobem prezentacji wyników. Wśród nich wyróżnia się:
1. streszczanie,
Eksploracja danych
28
2. poszukiwania asocjacji,
3. analiza funkcjonalna,
4. klasyfikacja,
5. grupowanie.
Ad.1 – Streszczanie
Kolejną techniką stosowaną w DM jest uogólnianie (ang. summarization tools, data generalization). Dla danego zbioru przykładów proces streszczania polega na wydobyciu wspólnych elementów
zawartych w przykładach, ich wspólnych właściwości. Rezultatem ma być skoncentrowany opis informacji zawartych w danych, między innymi stosowane są w tym zakresie techniki takie jak indukcja
reguł, tablice koincydencji. Technika ta wykorzystuje różne metody agregacji danych, zmiany poziomów abstrakcji, analizę danych w różnych wymiarach [25].
Ad.2 – Poszukiwania asocjacji
Reguły asocjacyjne reprezentują w najbardziej ogólnym ujęciu wiedzę o tym, że pewne wartości
niektórych atrybutów występują łącznie z innymi wartościami innych atrybutów w pewnej istotnej
częstotliwości.
Definicja 2. Asocjacjami nazywamy reguły (warunkowe zależności, zdania) postaci A → B, gdzie
A i B są zbiorami elementów występującymi w bazie przykładów P [27]:
A → B,
gdzie
A ∈ P, B ∈ P, A ∩ B = ∅.
(1.3)
Poszukiwania asocjacji dokonuje się najczęściej w transakcyjnych bazach danych. W przypadku bazy dla firmy handlowej, oznaczonej jako D każda transakcja zawiera zbiór elementów
T ⊆ I = {i1 , . . . , is }. Każdy element zbioru I reprezentuje sprzedawany produkt. Ważnym zagadnieniem w ramach DM jest poszukiwanie wszystkich podzbiorów T takich, że ilość transakcji,
które zawiera analizowany podzbiór T jest większa od pewnego minimum, będącego współczynnikiem odcięcia (ang. threshold min-support).
Reguły asocjacyjne, jako szczególny przypadek hipotez, można zapisywać przy pomocy kompleksów, dopuszczając w nich jednak wyłącznie selektory pojedyncze i uniwersalne. Reguła asocjacyjna
składa się z dwóch list wartości: warunkujących i warunkowanych.
Definicja 3. Regułą asocjacyjną jest dowolne wyrażenie postaci r = p ⇒ q, gdzie p i q są kompleksami zawierającymi wyłącznie selektory pojedyncze i uniwersalne odpowiadające atrybutom określonym na rozważanej dziedzinie, przy czym dla żadnego atrybutu selektor pojedynczy nie występuje
jednocześnie w p i q.
1.4 Techniki eksploracji danych
29
W celu scharakteryzowania reguły asocjacyjnej stosuje się liczbowe wskaźniki reprezentujące
zakres i dokładność reguły oznaczane terminami nośnik (ang. support) i wiarygodność (ang. confidence). W literaturze polskiej zamiennie do terminu nośnik stosuje się termin wsparcie.
Definicja 4. Nośnik reguły r = p ⇒ q na zbiorze przykładów D jest określony jako stosunek
liczby przykładów ze zbioru P pokrywanych jednocześnie przez kompleksy p i q do liczby wszystkich
przykładów w tym zbiorze, czyli
σr (P) =
|Pp∧q |
.
|P|
(1.4)
Definicja 5. Wiarygodność reguły r = p ⇒ q na zbiorze przykładów P jest określona jako stosunek
liczby przykładów ze zbioru P pokrywanych jednocześnie przez kompleksy p i q do liczby przykładów
pokrywanych przez kompleks p
ρr (P) =
|Pp∧q |
.
|Pp |
(1.5)
Problem poszukiwania asocjacji sprowadza się do wygenerowania wszelkich możliwych hipotez
i selekcji tych, które posiadają wymaganą wiarygodność oraz nośnik (występują odpowiednio wiele
razy).
Inną metodą selekcji asocjacji jest stosowanie testów statystycznych. Stosowane jest to z dwóch
powodów. Po pierwsze ilość dostępnych danych jest zawsze ograniczona, a nawet gdy jest bardzo
obszerna to ilość przypadków potwierdzających daną hipotezę może być niewielka. Dlatego jest
potrzebna technika skalująca współczynnik odcięcia do rozmiarów bazy danych. Po drugie liczba
możliwych do wystąpienia hipotez rośnie wykładniczo wraz ze wzrostem liczby zmiennych oraz
wzrostem dozwolonych wartości, które te zmienne mogą przyjmować.
W wielu zastosowaniach potencjalnie istotne asocjacje istnieją na dość wysokim poziomie abstrakcji. Niestety bazy danych, a co za tym idzie proste algorytmy poszukiwania asocjacji, mogą nie
doprowadzić do ich odkrycia. Transakcyjne bazy danych zazwyczaj zawierają jedynie identyfikatory
towarów (np. kod paskowy EAN), wystarczające do jednoznacznej identyfikacji. Na potrzeby poszukiwania asocjacji należałoby przeanalizować bazę wstępnie poddaną pewnemu uogólnieniu, a w miejsce unikalnych identyfikatorów podstawić pewne uogólnione produkty pod względem rodzaju, marki,
gramatury czy opakowania (zamiast „chleba tostowego” tylko „chleb”). Problem poszukiwania asocjacji na wielu poziomach abstrakcji został przedstawiony w [60].
Informacje o poziomach abstrakcji mogą bezpośrednio wynikać z danych, przykładowo można
dokonać uogólniania „dzień” „miesiąc” „rok”. Innym sposobem jest wykorzystanie dostępnej
wiedzy, jednak nie zawartej bezpośrednio w bazie. Przykładowo przynależność danego miasta do
konkretnego kraju, czy regionu („Warszawa” „Polska”), chociaż oczywista dla człowieka, aby
była odpowiednio spożytkowana przez komputer musi być najpierw do niego wprowadzona.
Podstawą realizacji analizy na różnych poziomach abstrakcji jest posiadanie właściwej hierarchii
Eksploracja danych
30
(lub innej uporządkowanej struktury) atrybutów opartej o wiedzę o środowisku, które jest reprezentowane przez bazę danych. Przykładowo zbiór atrybutów postaci adres (numer, ulica, miejscowość,
gmina, powiat, województwo, państwo) posiada naturalną hierarchię wywodzącą się z semantyki
poszczególnych terminów. Strukturę hierarchii można automatycznie pozyskać bezpośrednio z bazy
danych poprzez analizę koincydencji i częstości występowań poszczególnych wartości atrybutów [59].
Można również wiedzę o strukturze bazy pozyskać od eksperta, lecz może się zdarzyć że wybrana
hierarchia nie będzie optymalna dla danego zadania eksploracji danych. Z tego powodu systemy DM
winny posiadać możliwość dynamicznej modyfikacji zależności pomiędzy atrybutami, na podstawie różnych technik, tak aby możliwa była analiza danych w przekrojach odpowiadających różnym
poziomom abstrakcji ze względu na sposób postrzegania.
Ad.3 – Analiza funkcjonalna
Drugim, jeszcze bardziej zawężonym podejściem do DM jest analiza funkcjonalna. Zależności
funkcjonalne mogą być liniowe jak i nieliniowe. Podstawową cechą odróżniającą analizę funkcjonalną od asocjacyjnej jest to, że zależność funkcjonalna zakłada istnienie kierunku zależności, tzn.
która zmienna jest implikowana przez którą. Reguły asocjacyjne natomiast zakładają jednoczesne
występowanie niektórych zbiorów wartości. Funkcje zawsze przekształcają jedne zmienne w inne,
natomiast w przypadku asocjacji ten kierunek zwykle nie jest możliwy do stwierdzenia. Istotnym
zagadnieniem w ramach analizy funkcjonalnej jest predykcja, której celem jest estymacja przyszłych
wartości atrybutów obiektów.
Pewną odmianą analizy funkcjonalnej jest stosowanie modeli opierających się na przybliżeniu
zależności pomiędzy zmiennymi funkcjami liniowymi, dotyczy zadań aproksymacji i estymacji i podobnych technik statystycznych.
Z punktu widzenia technicznego najlepiej rozpocząć od poszukiwania asocjacji, a następnie
przejść do analizy funkcjonalnej [67].
Ad.4 – Klasyfikacja
Klasyfikacja jest procesem, służącym odkryciu reguł i właściwości, dzięki którym obiekty są klasyfikowane do poszczególnych kategorii. Dokonuje się tego na podstawie zbioru trenującego, którego
przykłady posiadają przypisane kategorie (najczęściej przez człowieka). Po przeprowadzeniu analizy, otrzymane rezultaty służą klasyfikacji przyszłych lub pozostałych danych do poszczególnych
kategorii.
Dzielenie zbioru obiektów na grupy (podzbiory) stanowi podstawową czynność dokonywaną przez
człowieka w celach poznawczych. Klasyfikacja jest jednym z procesów wchodzących w skład myślenia,
postrzegania, uczenia się, podejmowania decyzji. Jest techniką ułatwiającą poznanie rzeczywistości
1.5 Wykorzystywanie zewnętrznej wiedzy
31
poprzez redukcję entropii. Obszarów stosowania klasyfikacji jest wiele, można ją spotkać w ekonomii,
medycynie, antropologii, archeologii, socjologii, lingwistyce, psychologii, biologii.
W zależności od rodzaju dostępnej informacji w ramach klasyfikacji można wyodrębnić dwa
zagadnienia:
• klasyfikację wzorcową, zwaną również analizą dyskryminacyjną, gdy struktura klas jest znana
tzn. istnieje charakterystyka klas, do których należy przypisać poszczególne obiekty. Zagadnienie to określa się również jako uczenie lub rozpoznawanie z nauczycielem,
• klasyfikację bezwzorcową, inaczej taksonomia, analiza skupień albo grupowanie występuje wówczas gdy nic nie wiadomo o strukturze klas, na podstawie obserwacji należy dopiero odkryć
reguły klasyfikacji. W konsekwencji grupowanie określa się mianem uczenia lub rozpoznawania
bez nauczyciela.
Ad.5 – Grupowanie
Jak już powiedziano grupowanie (ang. clustering) wywodzi się z szerszego pojęcia jakim jest
klasyfikacja bezwzorcowa.
Grupowanie powszechnie traktuje się jako uczenie bez nadzoru, w którym uczeń otrzymuje zbiór
trenujący, zawierający przykłady bez określania ich kategorii (przykłady nieetykietowane). Właściwe kategorie uczeń musi zaproponować samodzielnie na podstawie pewnej zasady grupowania,
wbudowanej w algorytm lub częściowo definiowanej przez użytkownika [27].
Poprzez grupowanie można również rozwiązać problemy z gatunku odkrywania struktury w danych oraz dokonywanie uogólniania.
1.5
Wykorzystywanie zewnętrznej wiedzy
W procesie eksploracji danych, oprócz stosowania różnego rodzaju metod umożliwiających analizę, można również korzystać z wiedzy i informacji, co prawda nie zawartej w samej, źródłowej bazie
danych, ale dostępnej i odnoszącej się do badanego środowiska i zbioru obiektów. Wiedza taka pomaga w dobraniu odpowiednich metod, przyspiesza proces analizy, umożliwia właściwą interpretację
wyników. Posiadana wiedza może być wykorzystana na każdym etapie eksploracji danych:
• na etapie przygotowania danych, zbiór wartości i atrybutów może zostać rozszerzony i uzupełniony na podstawie posiadanych informacji,
• wiedza o źródle danych umożliwia dobranie odpowiednich metod, funkcji wartościujących i oceniających, mechanizmów przeszukujących obszar rozwiązań,
Eksploracja danych
32
• poprzez implementację i dobór współczynników wartościujących, parametryzujących, zmieniających charakterystyki funkcji porównujących i oceniających (np. stosowane miary podobieństwa) można wpływać na otrzymywane wyniki. Doboru tych parametrów dokonuje się na
podstawie posiadanej wiedzy,
• wiedza umożliwia dobranie adekwatnych heurystyk, wynikających z możliwych do przeprowadzenia uogólnień i uproszczeń, a prowadzących do zwiększenia wydajności i efektywności
procesu eksploracji,
• walidacja i interpretacja wyników bez wiedzy o badanym środowisku jest niemożliwa.
1.6
Eksploracja danych lingwistycznych
Jeżeli przytoczymy definicję przetwarzania danych jako pewne określone manipulacje na liczbach
lub symbolach to analogicznie, przez przetwarzanie danych lingwistycznych rozumie się manipulacje na słowach z języka naturalnego. Zakłada się przy tym, że podczas przetwarzania wykorzystuje
się znaczenia, jakie zostały poszczególnym słowom (terminom) przypisane w danym języku. Przetwarzanie słów (ang. computing with words) [130] jest wzorowane na szczególnej ludzkiej zdolności
rozwiązywania zadań bez jakiegokolwiek pomiaru jak również obliczeń. Zdolności te grają kluczowe
role w umiejętności rozpoznawania i wnioskowania. Najbardziej znamiennym przykładem może tu
być umiejętność napisania streszczenia z danego tekstu. Podstawową różnicą pomiędzy ludzką percepcją a pomiarem jest to, że pomiar ma charakter punktowy, natomiast to co człowiek postrzega ma
charakter rozmyty, nieprecyzyjny. Z drugiej jednak strony określenia słowne mimo swej nieprecyzyjności, w odróżnieniu od danych liczbowych, oddają istotę sprawy. Pojęcie wiek może być określone
numerycznie w latach. Można stwierdzić, że ktoś ma 21 lat i będzie to fakt absolutnie prawdziwy,
dla każdego i w każdej sytuacji, natomiast bez innych informacji nie można dokonać żadnego wnioskowania z tym związanego. Korzystając ze słów ktoś może powiedzieć, że dana osoba jest młoda. I
tu następuje szereg niejasności, wątpliwości a nawet sprzeczności. Słowo „młody” można przypisać
do każdej osoby będącej w określonym przedziale wiekowym. Niestety nie ma jednolitej definicji tego
przedziału. Co więcej, może się zdarzyć że osoba „młoda” dla jednych, dla innych jest już „stara”.
Ale jednocześnie można wysnuć następujące wnioski z określenia danej osoby jako „młodej”. Po
pierwsze określenie „młody” nie odnosi się wyłącznie do bezwzględnego wieku danej osoby mierzonego jednostką czasu, może również określać doświadczenie, siły witalne, nastawienie do życia. Taka
wieloznaczność jest powszechna w języku naturalnym. Po drugie można wnioskować o istniejących
relacjach pomiędzy osobą określającą a określaną, można również wysnuć pewne wnioski na temat
osoby określającej. Po trzecie: określenie słowne bardzo często zawiera pewien pierwiastek oceny. Zazwyczaj opisu obiektu (sprawy, itp.) dokonuje się w celu późniejszej oceny, dokonania wnioskowania
1.6 Eksploracja danych lingwistycznych
33
czy też podjęcia działań. W podanym przykładzie, jeżeli znany jest charakter zadania, do którego
dobierane są osoby, to podanie określenia, że dany kandydat jest „młody” implikuje jego nadawanie
się bądź nie.
W świecie nauki, odwrotnie niż w życiu codziennym, najczęściej posługujemy się danymi numerycznymi. Istnieją jednak dwa podstawowe wskazania, które mogą zdecydować o użyciu przetwarzania danych lingwistycznych w miejsce numerycznych. Po pierwsze jest to konieczne tam, gdzie
dostępna informacja jest zbyt nieprecyzyjna aby ją zapisać w postaci numerycznej. Po drugie tam,
gdzie w wyniku przetwarzania danych lingwistycznych można otrzymać bardziej reprezentatywne
rozwiązania, lepiej korespondujące z rzeczywistością, przy niższym koszcie obliczeniowym.
Podstawowe zalety stosowania przetwarzania lingwistycznego są następujące:
1. Przetwarzanie lingwistyczne jest najbliższe człowiekowi, najbardziej naturalne. Człowiek najswobodniej wyraża swoje myśli (czyli również zadania, oczekiwania, pragnienia) w formie języka naturalnego, który jest równocześnie najbardziej swobodną, dającą najmniej ograniczeń
formą komunikacji.
2. Model lingwistyczny elastycznie dopasowuje się do poziomu ważności. Wynika to bezpośrednio
z ziarnistości informacji, w zależności od wagi poszczególne elementy można przypisać do
większej bądź mniejszej ilości zbiorów. Wskaźnik ilości zbiorów jest charakterystyczny dla
przetwarzania danych reprezentowanych poprzez zbiory. Zwiększając go model ujmuje więcej
detali, staje się bardziej wyraźny, szczegółowy. Natomiast zmniejszając, detale są ukrywane,
co może pomóc w odkryciu głównych elementów rozwiązania. Można określić dowolny poziom
abstrakcji w prezentacji zarówno zapytań jak i odpowiedzi.
3. Tryb modelowania lingwistycznego stawia projektanta na bardziej aktywnej pozycji. Wynika
to z dwóch faktów. Po pierwsze warstwa specyfikacji ziarnistości pomaga w ujęciu problemu
w odpowiedniej perspektywie tak, aby była najlepsza do dalszego używania modelu. Znając
charakter i potrzeby przyszłego użytkownika można dopasować stopień ziarnistości do oczekiwanego stopnia szczegółowości. Po drugie ta sama ziarnistość pomaga w skupieniu się na
pewnych, określonych lingwistycznie przez użytkownika obszarach. Skupienie to może się wyrazić poprzez zwiększenie stopnia podziału na grupy. Co więcej, taka zmiana rozdzielczości
może nastąpić niezależnie od oczekiwanych danych wejściowych, a tylko kierując się potrzebami rozwiązania.
4. Model lingwistyczny daje możliwość szybkiego tworzenia prototypu. Model ten nie wymaga
optymalizacji czyli jakiegokolwiek określania parametrów wewnętrznych. Od momentu określenia stopnia ziarnistości informacji model jest gotowy do realizacji. Model lingwistyczny nie
Eksploracja danych
34
wymaga wprowadzania tak ograniczających założeń co do przyszłych danych, jak to się często
spotyka z numerycznych modelach przetwarzania.
5. Z uwagi na swój dyskretny charakter rezultatem stosowania modelu lingwistycznego jest obszar obejmujący dopuszczalne wyniki wraz ze stopniem preferencji. Postać taka jest stosunkowo
przyjazna dla człowieka. Dodatkowym atutem jest możliwość wizualizacji wyników, co znakomicie pomaga w zrozumieniu charakteru i właściwości rozwiązania.
Dane postaci lingwistycznej mają postać słów lub termów, będących elementami języka naturalnego. Język naturalny to środek komunikowania się ludzi między sobą, służy do opisu otaczającego
świata, własnych przemyśleń, odczuć, wiedzy. Język naturalny powstał na drodze ewolucji. Istnieją
również języki sztucznie wytworzone, zaprojektowane do określonego zastosowania ale wykorzystujące niektóre zasady języka naturalnego przykładowo terminologię, gramatykę. Język sztuczny jest
podzbiorem języka naturalnego i w dalszych rozważaniach nie będzie rozróżniane pochodzenie, stopień zaawansowania czy też inne cechy języka. Najistotniejszą właściwością języka jest możliwość
reprezentacji wiedzy i informacji, również nieprecyzjyjnej, niepewnej. Nie do przecenienia jest możliwość znacznie prostszego opisu danej rzeczywistości (obiektu badań) niż przy pomocy wyłącznie
liczb i to w postaci łatwo przyswajalnej dla człowieka. Człowiek dysponuje aparatem pojęciowym, do
przetwarzania danych lingwistycznych, dzięki któremu łatwo przeprowadza analizy sytuacji,dokonuje
wnioskowania. I wykonuje to bardzo skutecznie tzn. w akceptowalnym czasie i z dużą wiarygodności. Wiarygodność jest rozumiana jako prawdopowobieństwo, że rzeczywisty wynik (możliwy do
uzyskania/zweryfikowania w toku dalszych badań czy testów) mieści się w ramach proponowanego
rozwiązania. Mimo działania na danych niepewnych i nieprecyzyjnych, przetwarzanie lingwistyczne
utrzymuje swą wiarygodność. Wprowadzenie błędnej danej do algorytmu numerycznego zazwyczaj
powoduje załamanie się jego działania, lub, co gorsza, podanie błędnych wyników. W przypadku danych lingwistycznych informacja w nich zawarta może posłużyć również do weryfikacji uzyskiwanych
wyników. Przykładowo wyniki t = 0 lub t = −10 wyglądają równie prawdopodobnie, natomiast jeżeli zapis obserwacji lodowe kryształki trudno rozpuszczają się we wrzątku przeczyta osoba
znająca prawa fizyki, to winna zauważyć niskie prawdopodobieństwo wystąpienia takiego zdarzenia.
Dane lingwistyczne mogą zawierać informacje o stopniu niepewności i nieprecyzyjności, to należy
do ich natury, dzięki czemu mimo, że rezultaty przetwarzania są nieprecyzyjne, to stosunkowo łatwo
ustala się ich wiarygodność. W wielu sytuacjach nie jest wymagana bardzo precyzyjna informacja,
natomiast winna być ona pewna: na przykład nie jest ważne czy dany człowiek ma 25 czy 30 lat,
ważne że jest dorosły.
Zazwyczaj, w zależności od problemu, wybrany zbiór słów służy do opisania pewnej wiedzy.
Każdy termin posiada określony stopień nieokreśloności i rozmycia. Z drugiej strony semantyka
zbioru rozmytego, służącego reprezentacji zmiennej lingwistycznej jest następująca. Przyjmuje się że
1.6 Eksploracja danych lingwistycznych
35
jest dana funkcja przynależności zwracająca wartości z przedziału [0, 1]. Daną lingwistyczną można
reprezentować przy pomocy zmiennej rozmytej przyjmując, że odzwierciedla ona sposób określania
rzeczywistości. Omówione to zostanie na przykładzie zdania w języku naturalnym:
p = „Jan jest młody”.
(1.6)
W zdaniu tym poszczególne słowa mają następujące znaczenie. Słowo „Jan” określa obiekt podlegający opisowi. Słowo „jest” określa relację określania, natomiast słowo „młody” jest terminem
niosącym dwa rodzaje informacji. Po pierwsze zawarta jest informacja o rodzaju określanej właściwości obiektu, w tym przypadku określany jest wiek (długość życia osoby). Po drugie ustalony
zostaje przedział, w którym ten wiek jest zawarty. W zależności od kultury, środowiska czy też
samego wypowiadającego się przedział ten jest różny, przykładowo można przyjąć że jest to wiek
mniejszy niż 25 lat.
Ziarnistość informacji
Granular computing jest terminem określającym te wszystkie techniki służące reprezentowaniu i
przetwarzaniu informacji, które opierają się o ziarnistość informacji (ang. granular – ziarnisty). Idea
granulacji pomaga w gromadzeniu, wyrażaniu i wykorzystaniu wiedzy, ułatwia eksplorację danych,
pozwala na lepszy kontakt pomiędzy maszyną a człowiekiem. Jak wiadomo sposób myślenia w dużej
mierze opiera się na ziarnistej reprezentacji rzeczywistości, więc zarówno podczas wprowadzania danych jak i prezentacji wyników przez komputer posłużenie się modelem wykorzystującym ziarnistość
ułatwia człowiekowi zadanie.
Idea granulacji nie jest nowa, istnieje od początku istnienia cyfrowej techniki obliczeniowej. Komputerowa reprezentacja liczb rzeczywistych jest tylko przybliżeniem wynikającym z dyskretyzacji
takiej liczby na postać cyfrową. Cyfrowe przetwarzanie sygnałów rozpoczyna się od przetworzenia sygnału analogowego w cyfrowy (przetwornik A/C) zapis będący skończonym szeregiem liczb o
skończonej liczbie dopuszczalnych wartości odpowiadających wartości sygnału w skończonej ilości
momentów czasowych. W przypadku przetwornika A/C pojedyncze ziarno odpowiada uśrednionej
wartości sygnału przez pewien jednostkowy odcinek czasu o długości większej od zera. Tracona
jest informacja o dokładnej wartości sygnału (znana jest wartość przybliżona o zadanej dokładności) oraz informacja o zmianach w obrębie jednostkowego odcinka. Siła digitalizacji, a generalniej
przetwarzania opartego o granulację, polega na tym że tracona jest informacja nieistotna z punktu
widzenia dalszego przetwarzania. Oczywiście istotnym zagadnieniem jest takie dobranie mechanizmu
granulacji, który pozwoli na oddzielenie informacji istotnych od nieistotnych.
Eksploracja danych
36
1.7
Eksploracja danych biznesowych
Podrozdział ten poświęcony jest omówieniu zakresu i możliwości stosowania eksploracji baz w
obszarze danych biznesowych. Przedstawione zostaną podstawowe założenia wykorzystania pozyskanej z baz danych Wiedzy do podejmowania optymalnych decyzji biznesowych. Następnie dokonany
zostanie przegląd wybranych zadań analizy z uwzględnieniem merytorycznych źródeł takich działań,
możliwości technicznych oraz prawdziwości i realności uzyskiwanych rezultatów. Wśród nich przedstawiona zostanie propozycja autora szczególnego zainteresowania się katalogiem towarów zarówno
w perspektywie źródła wiedzy jak i tworzenia lub adaptacji technik analizy odpowiednich dla takiej
klasy zagadnień.
Jak już powiedziano w podrozdziale 1.2 eksploracja danych zajmuje się poszukiwaniem interesujących wzorców w zgromadzonych danych. W definicji 1.2 szczególnie trudne staje się precyzyjne
określenie znaczenia terminu »interesujące«. W tym celu tworzone są kryteria takie jak nośnik czy
wiarygodność [1], mówi się o zawartości informacyjnej [118], nie trywialności, nieoczekiwanych i niespodziewanych rezultatach [87]. W zakresie wykorzystania eksploracji danych w biznesie, w szeroko
pojętym zarządzaniu termin „interesujący” nabiera jeszcze jednego znaczenia. Wzorzec pozyskany z
danych jest interesujący jeżeli można go wykorzystać w trakcie podejmowania decyzji biznesowych.
Dodatkowe kryterium weryfikujące rezultaty zostało określone następująco:
Samo znalezienie wzorca nie wystarcza, należy być zdolnym do wykrywania sytuacji
pasujących do tego wzorca, wykorzystania go, podjęcia na tej podstawie decyzji zwiększającej wartość przedsiębiorstwa [11].
Założenia do zastosowania eksploracji danych w biznesie zostały przedstawione w [77]. Według
tych założeń sprzedawca podejmuje decyzje biznesowe w celu maksymalizacji zysku. W tym kontekście mówi się, że zysk jest funkcją, którą należy maksymalizować:
Z(D, f ) = max f (x),
x∈D
(1.7)
gdzie: D jest zbiorem wszystkich możliwych do podjęcia decyzji (strategii marketingowych, celów
strategicznych, planów rozwoju), f (x) jest użytecznością decyzji x odzwierciedlającą trwałość (istnienie) przedsiębiorstwa oraz wielkość możliwego do osiądnięcia zysku, a Z jest całkowitą (globalną)
wartością zysku uzyskiwaną przez przedsiębiorstwo. Równanie 1.7 stanowi sformułowanie problemu
optymalizacji, który leży u podstaw zarządzania każdym przedsiębiorstwem.
W równaniu 1.7 występują dwa obszary. Pierwszy D, obszar podejmowanych decyzji, obejmuje wnętrze przedsiębiorstwa, decyzje dotyczą tylko tych elementów, na które przedsiębiorstwo ma
bezpośredni wpływ: wielkość produkcji, jakość, cena, nakłady badawczo-rozwojowe, na marketing
i reklamę. Drugi obszar, oznaczony jako f (x) jest funkcją interakcji przedsiębiorstwa z klientami[91].
1.7 Eksploracja danych biznesowych
37
Każdy z klientów ma swój odrębny wpływ na uzyskiwaną wartość zysku, suma zysków uzyskiwanych
w ramach kontaktów z poszczególnymi klientami.
W zależności od ustalonej strategii kontaktów z poszczególnymi klientami globalny zysk przedsiębiorstwa oblicza się następująco:
f (x) =
X
fy0 (x),
(1.8)
y∈Y
gdzie: Y jest zbiorem klientów wchodzących w interakcję z przedsiębiorstwem, fy0 (x) jest użytecznością decyzji x w stosunku do klienta y.
Powyższy problem w postaci formalnej przedstawiamy: zbiór klientów jako zbiór agentów Y oraz
zbiór strategii marketingowych jako zbiór decyzji D. Wartość funkcji zależy teraz również od podjętej
decyzji, więc otrzymujemy:
Z(D, f ) = max
x∈D
X
fy0 (xy ).
(1.9)
y∈Y
Ponieważ każdy klient ma swój niezależny wkład w zysk, globalny zysk przedsiębiorstwa jest
sumą wkładów uzyskanych od każdego klienta w wyniku podejmowanych decyzji biznesowych. Podejmując jednakową decyzję dla wszystkich klientów (każdego obsługując według takich samych
reguł) nie otrzyma się optymalnych rezultatów, zysk nie będzie maksymalny. Dobre rezultaty otrzymuje się indywidualnie podejmując decyzje dla każdego klienta osobno. Wadą takiego podejścia jest
koszt samego procesu podejmowania decyzji, który obciąża każdego klienta indywidualnie oraz koszt
zastosowania decyzji, który maleje wraz ze wzrostem liczby klientów do niego stosowanych (maleje
koszt jednostkowy stosowania). Lepszym rozwiązaniem jest zastosowanie segmentacji portfela klientów. Polega to na podziale klientów na k grup, w której dla każdego klienta podejmuje się tą samą
decyzję, dla różnych grup są różne decyzje. Inaczej mówiąc podejmuje się k decyzji biznesowych
i każdego klienta obsługuje się zgodnie z tą decyzją, która daje najlepszy wynik.
1.7.1
Segmentacja bazy klientów
Ponieważ ilość klientów jest zazwyczaj znacznie większa od liczby możliwych strategii Y >> D
to do części z klientów będzie przypisana ta sama strategia marketingowa. Oprócz ustalenia możliwych do zastosowania strategii, podstawowym problemem jest podzielenie bazy klientów na zbiory
przypisane do różnych strategii, w literaturze zwany jako zagadnienie segmentacji bazy klientów [46].
Samo zagadnienie segmentacji ma wiele aspektów, jednak jako problem optymalizacyjny jest ściśle
związane z zagadnieniem grupowania, będącym zagadnieniem algorytmicznym z zakresu eksploracji
danych [70].
W marketingu segmentacja bazy klientów należy do jednej z kluczowych technik, w których może mieć zastosowanie grupowanie. Segmentacja ma zastosowanie podczas analizy zachowań klientów
Eksploracja danych
38
[79, 116]. Do grupowania stosuje się zarówno techniki z podziałem ostrym, jak i rozmytym. Jednak
lepsze odzwierciedlenie rzeczywistości daje postać rozmyta. W realnym świecie granica pomiędzy
poszczególnymi segmentami klientów, a nawet granica pomiędzy klientami, dostawcami czy konkurentami jest rozmyta [23, 69]. To oznacza, że poszczególne grupy zachodzą na siebie, istnieje pewien
stopień niepewności co do przynależności obiektu do grupy.
1.7.2
Grupowanie w transakcyjnych bazach danych
Na posiadanej bazie transakcyjnej można dokonać różnego rodzaju grupowania. Po pierwsze
można grupować elementy obecne w poszczególnych transakcjach. Jeżeli możliwe jest pogrupowanie
elementów w takie grupy, których elementy należące do jednej grupy często razem występują, to pozyskana zostanie wiedza, którą można wykorzystać do optymalizacji promocji, gospodarki regałami
[2] [57]. Wykorzystuje się także grupowanie klientów na podstawie rodzaju przeprowadzonych transakcji. Jest to możliwe tam, gdzie klient przestaje być anonimowy, a więc przy sprzedaży wysyłkowej
czy sektorze B2B. Również sektor handlu detalicznego zauważa potrzebę posiadania imiennej bazy
zakupów poszczególnych klientów. Stosując różnego rodzaju rozwiązania techniczne i psychologiczne (identyfikacja poprzez kratę kredytową, kartę stałego klienta, kupony rabatowe) przedsiębiorstwa
gromadzą szczegółowe bazy danych o swoich klientach. Istnienie takich baz z jednej strony, a potrzeba pozyskania wartościowej wiedzy z drugiej wytwarzają dużą presję na rozwijanie eksploracji
danych.
1.7.3
Analiza koszyka zakupów
Przykładem zagadnienia będącego w kręgu zainteresowania DM jest analiza zachowań klientów
w oparciu o technikę marketingową znaną jako analiza koszyka zakupów (ang. market basket analysis MBA). Celem tej techniki jest identyfikacja asocjacji i reguł leżących pomiędzy konsumentami
kupującymi różne produkty w sklepie samoobsługowym. Sklepy samoobsługowe, szczególnie duże,
są bardzo zainteresowane odkryciem reguł, którymi kierują się konsumenci. Do dyspozycji jest baza
danych zawierająca wszystkie transakcje dokonane przez konsumentów w danym okresie czasu oraz
prowadzona polityka cenowa (dokonane w tym czasie promocje oraz inne działania mające wpływ na
sprzedaż). Przykładowo celem może być odkrycie, które pary produktów są często razem kupowane.
Takie odkrycie może być podstawą decyzji biznesowych o rozmieszczeniu tych produktów w bliskim
sąsiedztwie, lub o odpowiedniej promocji. Wiadomo bowiem, że dla produktów skojarzonych, promocja dotycząca tylko jednego z nich skutkuje wzrostem sprzedaży dla obu [54]. Problem odkrywania
reguł i zależności w oparciu o koszyk zakupów (na podstawie baz danych sklepu samoobsługowego)
został zaprezentowany w [1]. W tym zakresie zostaje uszczegółowiony cel stosowania analizy asocjacji z poszukiwania powtarzających się szablonów [106] na poszukiwanie reguł typu:„Jeżeli klient
1.7 Eksploracja danych biznesowych
39
kupuje towar X to prawdopodobnie kupi również towar Y” [18].
1.7.4
Wysyłanie katalogów reklamowych
Inne zastosowanie zagadnienia segmentacji wywodzi się z problemu plecakowego. Przy założeniu,
że przedsiębiorstwo sprzedaje pewien zbiór wyrobów do n swoich klientów i pragnie wydać katalog
zawierający r wyrobów spośród całości problemem jest jak należy tak dobrać wyroby, aby zmaksymalizować przyszłą sprzedaż. Ponieważ jest to szczególny przypadek problemu plecakowego to
rozwiązanie jest trywialne: wystarczy wybrać r najbardziej popularnych (najlepiej sprzedających
się) wyrobów.
Jeżeli jednak przyjmiemy, że wydawane są dwa katalogi, każdy z r wyrobami, a do każdego
klienta wysyłany jest jeden albo drugi, to problem się znacznie komplikuje. Jeszcze trudniej jest,
gdy nie jest znana całkowita liczba katalogów oraz liczba wyrobów zawartych w każdym z katalogów.
Problem optymalizacji wyznaczają dwie funkcje. Koszt druku katalogu jest proporcjonalny do liczby
rodzajów katalogów. Wartość katalogu dla klienta odpowiada ilości wyrobów, które mu się „podobają”
w otrzymanym katalogu. Problem optymalizacyjny można zapisać następująco:
Z(D, f ) =
n
X
i=1
!
max fi (xj )
1¬j¬k
− γ kDk ,
(1.10)
gdzie:
Z
całkowity zysk uzyskany poprzez wysyłkę katalogów
n
liczba klientów,
γ
koszt druku katalogu,
fi
funkcja wartościująca katalog dla klienta i,
xj ∈ D
decyzja wysłania katalogu j,
D
zbiór wszystkich możliwych do utworzenia katalogów,
kDk
liczba katalogów.
W równaniu 1.10 jako składnik wymieniono funkcję wartościującą katalog dla klienta. Podczas
konstruowania takiej funkcji natrafia się na wiele problemów, wynikających z wielu ograniczeń i niewiadomych. Funkcja wartościująca wykorzystuje dostępne informacje o kliencie. Przede wszystkim
są to dostępne informacje statystyczne takie jak wiek, płeć, przynależność do określonej grupy demograficzne. Skuteczność w tym wypadku jest mocno ograniczona poprzez wysoki koszt pozyskania
wymienionych danych oraz poprzez słabą korelację wymienionych danych oraz skłonności do zakupu.
Istnieje drugi rodzaj danych, gromadzonych niemal automatycznie przez każde przedsiębiorstwo.
Są to dane o sprzedaży. Szczególnie tam, gdzie klient nie jest anonimowy, lub przynajmniej jest
Eksploracja danych
40
możliwy do wyodrębnienia zbiór transakcji dokonanych przez pojedynczego klienta, ma się do czynienia z informacją personalną, nieomal osobistą: co dany klient kupił. Ponieważ zgromadzone dane
to dopiero reprezentacja elementarnych zdarzeń, należy dokonać pewnej analizy i przetworzenia na
postać, dzięki której łatwiejsze będzie podjęcie właściwych decyzji i skonstruowanie odpowiedniej
funkcji wartościującej z równania 1.10. W tym zakresie istotną pomoc stanowią techniki eksploracji
danych i grupowania w szczególności.
1.8
Analiza zachowań internautów
Środowiska, których istotą działania ogólnie rzecz nazywając, jest dystrybucja informacji, również
są zainteresowane technikami eksploracji danych. Wszelkiego rodzaju internetowe portale informacyjne, systemy biblioteczne (zarówno klasyczne jak i elektroniczne), systemy pomocy dla użytkownika
itd. gromadzą informacje, najczęściej w postaci elektronicznych dokumentów, które dystrybuowane
są poprzez internet.
W tym zakresie istnieją dwie kategorie zadań dla DM. Pierwsza wynika z problemu odszukania
interesującego dokumentu, tj. zawierającego określoną treść czy wiadomości. Tu pomocne są techniki
odkrywania znaczeń (ang. information retrieval ) czy porównywania dokumentów. Drugie zadanie to
optymalne zaprojektowanie systemu dystrybucji, tak aby użytkownik mógł dotrzeć do odpowiedniej informacji. Dotyczy to zarówno dużych systemów, takie jak główne portale typu Yahoo, Onet,
jak i każdego mniejszego serwisu, zawierającego kilkanaście, kilkadziesiąt stron hipertekstu. Właśnie hipertekst, który mimo że umożliwia łatwe i natychmiastowe przejście z jednego dokumentu
do drugiego, powoduje powstanie nowego problemu. Z uwagi na swą nieliniowość i niejednorodność
może zostać utrudniony dostęp do określonych informacji, użytkownik skłonny będzie do pomijania
pewnych fragmentów. Właściwe zrozumienie sposobu oglądania stron WWW może pomóc we właściwym ich zaprojektowaniu (dobór odpowiednich powiązań, odpowiedni projekt graficzny). Istniejące
środki techniczne pozwalają śledzić poczynania użytkownika i rejestrować jego zachowanie. Ale gromadzenie tych informacji może również bezpośrednio służyć podejmowaniu decyzji biznesowych.
Na podstawie zarejestrowanych zachowań można dokonać klasyfikacji i na tej podstawie przedstawić odpowiednią ofertę klientom, umieścić reklamę, dokonać analizy reakcji. Rejestrację zachowań
internauty jako podstawę jego analizy zaproponowano w [22].
1.9
Zagadnienie grupowania w katalogu towarów
O ile segmentacja bazy klientów jest powszechnie znanym zagadnieniem zarówno marketingowym
jak i w ramach eksploracji danych, to baza towarów/produktów stosunkowo rzadko jest przedmiotem
badań. Ponieważ to właśnie towary są atrybutami, według których dokonuje się porównywania, oceny
1.9 Zagadnienie grupowania w katalogu towarów
41
i grupowania kontrahentów, to autor niniejszej rozprawy przedstawił własne wyniki badań w tym
obszarze oraz przykłady ich wykorzystania do głównego zagadnienia jakim jest segmentacja bazy
klientów.
Grupowanie w katalogu towarów jest istotnym ogniwem w trakcie eksploracji bazy danych przedsiębiorstwa. W rzeczywistych środowiskach można spotkać katalogi liczące kilkaset lub wiele tysięcy
pozycji. Szczegółowa analiza pojedynczych pozycji, aczkolwiek możliwa, jest nieskuteczna z punktu
widzenia eksploracji danych. Minimalne różnice pomiędzy towarami, skutkujące odrębnym sposobem rejestracji transakcji (różne identyfikatory) są nieistotne w toku poszukiwania wiedzy. Wiele
technik takich jak uogólnianie, streszczanie, agregacja, OLAP opartych jest na klasyfikacji katalogu towarów. Dzięki klasyfikacji można dokonywać przetwarzania na wielu poziomach abstrakcji
[67]. Wiele katalogów towarów posiada informacje o klasyfikacji poszczególnych pozycji. Dane te są
wprowadzane ręcznie zgodnie z przyjętą w przedsiębiorstwie systematyką katalogu towarów. Taka
klasyfikacja posiada szereg wad. Poniżej wymieniono kilka z nich:
1. Wpisy o klasyfikacji towaru są uzupełniane z opóźnieniem.
2. Klasyfikacja odzwierciedla tylko podstawowe cechy towaru.
3. Klasyfikacja tworzona jest ręcznie, przez co trudno dokonywać na niej znaczących modyfikacji.
4. Wprowadzanie nowych rodzajów towarów winno skutkować modyfikacją istniejącej systematyki, co czasami jest bardzo długotrwałe.
5. Klasyfikację tworzy się indywidualnie dla danego przedsiębiorstwa, w oparciu o bieżące potrzeby, co może skutkować uniemożliwieniem realizacji przyszłych wymagań.
Alternatywą może być utworzenie automatycznego systemu klasyfikowania towarów. Poniżej zaproponowano sposób tworzenia takiego systemu. Opiera się on na grupowaniu przy wykorzystaniu
funkcji podobieństwa opartej na informacji zawartej w nazwach towarów. Wykorzystuje również
teorię granular computing. Takie podejście omija część ograniczeń ręcznej klasyfikacji:
1. System zapewnia sklasyfikowanie każdej pozycji towarowej.
2. System opiera się na wiedzy ekspertów z danej dziedziny, istnieje możliwość wprowadzania
nowych informacji.
3. Istnieje możliwość modyfikacji parametrów klasyfikacji, co przekłada się na otrzymywane rezultaty.
4. Brak ograniczeń w ilości analizowanych pozycji.
W dalszej części pracy autor przedstawi swoje propozycje metod i algorytmów grupowania w
katalogu towarów.
Rozdział 2
Dane
Dane przechowywane w postaci zbiorów, w pamięciach komputerów mają różną postać. Jest ona
determinowana charakterem reprezentowanych obiektów, formą pozyskania danych oraz założonymi
metodami przetwarzania danych. W niniejszym rozdziale omówiono pewne własności danych, które
są istotne w zakresie doboru metod odpowiednich do przetwarzania danych. Informacje tu przedstawione posłużą w zakresie przygotowania samych danych oraz przygotowania metod do badań, które
przedstawiono w rozdziale 5 i 6.
2.1
Rodzaje danych
Ważnym zagadnieniem są różne rodzaje danych gromadzone w BD. Do charakteryzowania danych
należy się posłużyć dwoma pojęciami typ i rozmiar. Rozmiar najczęściej jest określany poprzez
określenie liczby obiektów reprezentowanych w bazie oraz ilości atrybutów przypisanych do danego
obiektu. Natomiast określenie typu danych następuje na kilku poziomach.
Typy danych występujące w zbiorach:
numeryczne — powstają w procesie rejestrowania wyników pomiarów bądź liczebności reprezentowanego zbioru, można do ich przetwarzania stosować metody ilościowe. Przykładem może
być:
— wektor liczb rzeczywistych X ∈ Rs , co daje s-wymiarową przestrzeń,
— dane całkowitoliczbowe,
— dane „pseudonumeryczne” – w tym cykliczne, mające tylko niektóre właściwości danych
numerycznych, przykładem może być atrybut określający czas (np. 24 godzinny zegar),
42
2.2 Porównywanie danych
43
kolor RGB itd., dla których w pewnym sensie dopuszczalne są operacje dodawania i mnożenia,
symboliczne — powstają w wyniku przypisywania określonych wyrażeń symbolicznych poszczególnym właściwościom obiektu (działania, transakcji, zjawiska). Można wyróżnić następujące
podtypy:
— Etykiety – symbole należące do skończonego lub nieskończonego zbioru dopuszczalnych
symboli. Celem takiego symbolu jest identyfikacja obiektu lub wartości atrybutu. Symbol
etykiety jest tworzony sztucznie na podstawie ustalonego regulaminu. Oprócz wartości
identyfikacyjnej dodatkowa informacja jest dopuszczalna tylko w zakresie ustalonym w
regulaminie (poprzez wyliczenie dodatkowych atrybutów związanych z danym symbolem).
— Zdania w języku naturalnym. Symbole tej postaci są tworzone poprzez użycie wszelkich
elementów języka naturalnego: słowa, składnia, kontekst, znaczenia. Informacja zawarta
w danych tej postaci umieszczona jest na wielu poziomach abstrakcji. Dane tej postaci cechują się najmniejszymi ograniczeniami w stosunku do możliwości rejestracji i odzwierciedlania realnego świata. W rzeczywistych zastosowaniach niektóre elementy języka
naturalnego mogą zostać wykluczone (np. ograniczona długość wypowiedzi, limitowany
zakres słownictwa), lecz zawsze jest to jawne uregulowane ograniczenie.
Wewnętrzna reprezentacja danych (zapisana w pamięci komputera) zawsze ma postać liczby. To,
co odróżnia poszczególne rodzaje danych, to zbiór operacji dopuszczalnych do wykonywania nad
tymi danymi. Wykonywanie innych operacji (np. dodanie kodów reprezentujących litery) powoduje,
że otrzymane wyniki tracą jakikolwiek sens i znaczenie.
2.2
Porównywanie danych
Z punktu widzenia porównywania danych istotne są ich właściwości wymieniane w teorii pomiaru.
W teorii pomiaru wymienia się cztery skale pomiaru [122]:
• skala nominalna, zwana również skalą nazw, najczęściej stosowana do pomiaru cech opisowych. Poszczególnym wartościom atrybutu nadawane są symboliczne nazwy. Jedyną operacją
dostępną dla tej skali jest operacja równości, tj. czy dane obiekty mają jednakową wartość
atrybutu
Aj (xk ) = Aj (xl )
lub Aj (xk ) 6= Aj (xl ),
(2.1)
• skala porządkowa (rangowa) występuje wtedy, gdy zbiór wartości jest liniowo uporządkowany
(ustalona jest kolejność wartości w zbiorze). Dostępna jest więc operacja porównania „większy”
Dane
44
– „mniejszy”.
Aj (xk ) = Aj (xl )
lub Aj (xk ) < Aj (xl )
lub Aj (xk ) > Aj (xl ),
(2.2)
Typowe zastosowanie tej skali to zmienne opisujące ocenę (np. umiejętności, rozmiaru, jakości).
W zbiorze wartości A, który spełnia warunki skali porządkowej zachodzi relacja przechodniości:
a1 > a2 ∧ a2 > a3 ⇒ a1 > a3
(2.3)
a1 > a2 ∨ a2 < a1 ,
(2.4)
oraz asymetrii:
gdzie: A = {a1 , a2 , . . .} oraz A(x) ∈ A.
• skala interwałowa (przedziałowa) należy do skal mocnych. Dostępne są operacje dodawania
i odejmowania,
• skala ilorazowa (stosunkowa) to druga skala mocna, w stosunku do poprzedniej różni się możliwością wykonania operacji mnożenia i dzielenia.
Nieco odrębną formułą prezentacji rezultatów pomiarów są wyniki w postaci przedziałów lub obszarów. Przykładowo może to dotyczyć określania odcinków czasu trwania danego zjawiska. Istnieje
wiele postaci zapisu wyników tej postaci. Przykładowo mogą to być określenia granic przedziałów
lub wykorzystuje się inne parametry charakteryzujące przedział. Z uwagi na mnogość kształtów
przedziałów i obszarów istnieje duża trudność w znalezieniu prostych formuł je opisujących.
Podstawą działania metod grupowania, jak i klasyfikacji jest istnienie funkcji określającej bliskość
obiektów. Funkcja ta może mieć charakter:
- miary podobieństwa,
- miary odległości,
- miary konicydencji
- miary asocjacji.
Podczas analizy różnych miar bliskości można zauważyć następujący podział: funkcje obliczające
„bliskość” wyłącznie na podstawie danych o obiektach oraz funkcje używające do tego informacji
o pozostałych obiektach, jak również wiedzy o ich otoczeniu i środowisku. Do pierwszej kategorii
należą miary odległości i podobieństwa, natomiast do drugiej funkcje oparte o obliczenia wiązań,
asocjacji, korelacji.
2.2 Porównywanie danych
2.2.1
45
Miary odległości
Funkcja będącą miarą odległości między dwoma obiektami ma postać:
d : X × X → R+
(2.5)
i spełnia warunki dla metryk.
Definicja 6. Niech X jest zbiorem obiektów oraz d jest miarą odległości obiektów należących do
X[100]. Miarę d nazywa się metryką jeżeli spełnione są następujące warunki dla każdej pary obiektów
x, y ∈ X:
⇔
1.
d(x, y) = 0,
x = y,
2.
d(x, y) ­ 0,
(2.6b)
3.
d(x, y) = d(y, x),
(2.6c)
4.
d(x, z) ¬ d(x, y) + d(y, z).
(2.6d)
(2.6a)
Dla pewnych dziedzin powyższa definicja może być trudna do spełnienia. Lecz istnieje możliwość
osłabienia pierwszego i czwartego warunku w ten sposób, aby pozbyć się warunków nieistotnych w
procesie grupowania. I tak warunek zerowej odległości wyłącznie dla obiektów identycznych można
zamienić na:
10 . d(x, x) = 0,
(2.7)
co oznacza, że mogą istnieć dwa różne obiekty, dla których wyznaczana odległość jest równa zero.
Należy to tłumaczyć tym, że z danego punktu widzenia te dwa obiekty są nierozróżnialne (i mogą
należeć do tego samego klastra).
Z kolei reguła zwana nierównością trójkąta, zapisana w równaniu jest czasami wykorzystywana do optymalizacji. Przykładowo jeżeli mamy trzy obiekty x, y, z i wiemy że para x, y jest sobie
bliska, a para y, z daleka to możemy wnioskować, że para x, z jest również sobie daleka i pominąć
pewne analizy. Dla części dziedzin ten warunek jest trudny do spełnienia i można zastosować miarę
spełniającą następujący warunek [36]:
40 ,
d(x, z) ¬ α · (d(x, y) + d(y, z)),
(2.8)
gdzie α jest stałą większą niż 1 lecz nie zbyt dużą (wartość stałej zależy od grupowanej dziedziny).
Odległość euklidesowa
d2e (x, y) , (x − y)T (x − y),
∀x, y ∈ Ω.
(2.9)
Dane
46
Przyjęcie odległości euklidesowej związane jest z niedogodnościami wynikającymi z dużego wpływu zmian skal współrzędnych dla poszczególnych atrybutów na wyniki grupowania obiektów. Dla
uniknięcia tego wpływu zaleca się znormalizować przestrzeń wartości atrybutów, tak aby zbiory
wartości posiadały zerową wartość średnią i jednostkowe odchylenie standardowe. Ponadto dla uniezależnienia wyników porównania od wyboru układu współrzędnych można dokonać obrotu układu
współrzędnych, ustalając takie jego położenie, które pokrywać się będzie z kierunkami osi głównych dla rozpatrywanego zbioru obiektów przestrzeni R. Kierunki te odpowiadać będą kierunkom
wektorów własnych kowariancji współrzędnych elementów v.
Odległość Sebestyena
Dla zróżnicowania wpływu poszczególnych współrzędnych na odległości pomiędzy obiektami
można wprowadzić wagi współrzędnych. W przestrzeni wartości atrybutów wagi współrzędnych są
wagami kolejnych atrybutów. Prowadzi to do odległości Sebestyena:
d2S (x, y) , (x − y)T W(x − y)
∀x, y ∈ R,
(2.10)
gdzie W jest diagonalną macierzą wag.

w1
0
...
0




W=


0
..
.
w2
..
.
...
..
.
0
..
.






0
0
...
wm
Odległość Mahalanobiusa
Jeżeli przeprowadza się obrót układu współrzędnych R do położenia wyznaczonego przez osie
główne, a następnie normalizuje współrzędne w tak obróconym układzie, to dla wyznaczenia odległości euklidesowej w tej nowej przestrzeni G można wykorzystać bezpośrednio współrzędne przestrzeni
R i na ich podstawie wyznaczyć tzw. odległość uogólnioną (Mahalanobiusa):
d2M (x, y) , (x − y)T C−1 (x − y)
∀x, y ∈ R,
(2.11)
xj ∈ R,
(2.12)
n
C=
1X
(xj − x̄)T (xj − x̄),
n j=1
n
x̄ =
gdzie:
1X
xj
n j=1
(2.13)
2.2 Porównywanie danych
47
C−1
— odwrotna macierz kowariancji,
n
— liczba elementów rozpatrywanego zbioru w przestrzeni R,
v̄
— średni element rozpatrywanego zbioru,
Odległość uogólniona uwzględnia korelację współrzędnych.
Odległość Manhattan
s
dM n ,
1X
|x[i] − y[i]|
s i=1
∀x, y ∈ Rs ,
(2.14)
gdzie: s oznacza ilość wymiarów przestrzeni Rs .
Odległość Canbera
dC ,
s
X
|x[i] − y[i]|
i=1
|x[i] + y[i]|
∀x, y ∈ Rs ,
(2.15)
Uogólniona postać metryki Lp
Oprócz miary euklidesowej, zwanej również jako miara L2 , istnieje wiele metryk ogólnie określanych miarą odległości Lp .
dLp ,
s
X
! p1
|x[i] − y[i]|p
.
(2.16)
i=1
2.2.2
Miara podobieństwa
W niektórych algorytmach w miejsce miary odległości można bezpośrednio zastosować miarę
podobieństwa zdefiniowaną następująco:
p : X × X → R+
(2.17)
i spełnia następujące warunki:
p(x, y) = 1,
gdy x = y,
(2.18a)
p(x, y) ∈ [0, 1],
(2.18b)
p(x, y) = p(y, x).
(2.18c)
Funkcja podobieństwa jest komplementarna do funkcji odległości. Wyraża się to stwierdzeniem:
im obiekty są bliżej siebie tym są bardziej do siebie podobne. Pod względem wartości funkcji zerowa
odległość odpowiada wartości 1 dla funkcji podobieństwa, natomiast zero dla funkcji podobieństwa
Dane
48
to nieskończona odległość. Istnieją formuły pozwalające przekształcić funkcję odległości w funkcję
podobieństwa.
W przypadku analizy obiektów z atrybutami binarnymi wskaźnik podobieństwa powinien zależeć
od ilości atrybutów, których wartości się zgadzają bądź nie. Bada się jednoczesność występowania
poszczególnych wartości atrybutów – jest to analiza koincydencji. Dla porównania dwóch obiektów, z których każdy opisany jest jednym atrybutem binarnym, zachodzą cztery możliwe przypadki
zapisane w tabeli koincydencji dla atrybutów binarnych 2.1 [50].
Tabela 2.1. Tabela koincydencji dla atrybutów binarnych.
obiekt x
1
0
obiekt y
1
0
a11 a10
a01 a00
Współczynniki aµv = aµv (x, y) oznaczają liczbę przypadków, w których:
aµv = {a ∈ A | a(x) = µ, a(y) = v}.
(2.19)
Przy pomocy tych współczynników można opisać współczynnik podobieństwa. Istnieje kilka miar,
które różnią się między sobą sposobem traktowania kombinacji określonych współczynnikami a01
i a10 . Są to [70]:
wskaźnik Jaccarda , jako stosunek wartości zgodnych do wszystkich
p(x, y) =
a00 + a11
,
a00 + a11 + a01 + a10
(2.20)
wskaźnik Sokal and Sneath , w którym zmniejszona jest waga wartości niezgodnych
p(x, y) =
a00 + a11
,
a00 + a11 + 21 (a01 + a10 )
(2.21)
wskaźnik Rogers and Tanimoto , w którym wartości niezgodnych jest zwiększona [31]
p(x, y) =
a00 + a11
.
a00 + a11 + 2(a01 + a10 )
(2.22)
Powyżej wymienione funkcje spełniają warunki miary podobieństwa. Analogicznie, w pewnych
zastosowaniach stosowane są wskaźniki (funkcje które nie spełniają warunku symetryczności):
wskaźnik prosty [86]
p(x, y) =
a11
a00 + a11 + a01 + a10
(2.23)
2.2 Porównywanie danych
49
wskaźnik Jaccarda [70]
a11
a00 + a11 + a01
(2.24)
a11
a11 + 21 (a01 + a10 )
(2.25)
p(x, y) =
wskaźnik Dice [70]
p(x, y) =
Powyższe funkcje utworzone zostały poprzez analogię do wzorów (2.20),(2.21),(2.22). Nie spełniają warunku symetryczności (2.18c), aczkolwiek w pewnych warunkach pełnią rolę funkcji podobieństwa.
2.2.3
Miary asocjacji
Kolejną miarę bliskości tworzy się poprzez zliczenie wszystkich wspólnych sąsiadów dla danej pary
obiektów. Otrzymuje się wskaźnik wiązań (ang. links). Takie podejście opiera się na następującym
założeniu: im więcej wspólnych sąsiadów mają dane obiekty, tym bardziej są sobie bliskie [53]. Pojęcie
sąsiedztwa ściśle zależy od dziedziny, w której dokonuje się grupowania. W zakresie transakcyjnych
baz danych sąsiednie są każde transakcje, które wspólny mają przynajmniej jeden element wchodzący
w skład transakcji. W przypadku obiektów określonych atrybutami opisowymi sąsiedztwo zachodzi
wówczas, gdy co najmniej jeden z atrybutów przyjmuje tą samą wartość dla obu obiektów.
2.2.4
Miary odległości dla grup danych
Oprócz szeregu miar bliskości definiowanych dla par obiektów, w niektórych zastosowaniach
konieczne jest posiadanie miar bliskości zdefiniowanych dla klastrów (grup). Najczęściej mówi się
o odległości pomiędzy klastrami:
Dist(A, B), gdzie A, B ⊂ X.
(2.26)
Miary odległości pomiędzy klastrami wykorzystywane są w samym procesie grupowania (przykładowo w hierarchicznym grupowaniu aglomeracyjnym) jak i na etapie walidacji, czy też oceny
jakości grupowania.
Pierwsze dwie metody obliczania odległości pomiędzy klastrami polegają na znalezieniu, odpowiednio, najdalszej lub najbliższej sobie pary obiektów, należących do przeciwnych klastrów. Reguła
najbliższego sąsiada ma następującą formułę:
Dist(A, B)M in =
min
xi ∈A,yj ∈B
d|xi , yj |.
(2.27)
Dane
50
Analizując właściwości takiej miary można zauważyć, że prowadzi ona do tworzenia jednego lub
kilku dużych klastrów i szeregu jednoelementowych, odizolowanych od siebie. Wynika to z algorytmu
obliczeniowego: im większy klaster tym większe prawdopodobieństwo, że jeden z elementów znajdzie
się blisko dołączanego. Małe klastry przegrywają w „konkurencji” do dużych, a te stają się jeszcze
większe. Drugą istotną cechą jest to, że nie nadaje się ona do porównywania klastrów nakładających,
czy też zachodzących na siebie.
Reguła najdalszego sąsiada jest tworzona analogicznie:
Dist(A, B)M ax =
max
xi ∈A,yj ∈B
d|xi , yj |.
(2.28)
Dokonując analogicznej analizy jak powyżej, dochodzi się do wniosku, że cechą charakterystyczną
tej reguły jest tworzenie możliwie równolicznych klastrów. Przyczyna jest podobna: średnia odległość
najdalszego sąsiada w stosunku do klastra małego jest mniejsza niż w stosunku do klastra dużego.
Tym samym małe klastry rosną aż się staną równe pozostałym.
Rozwiązaniem pośrednim jest użycie jako miarę średniej odległości pomiędzy obiektami należącymi do obu klastrów:
Dist(A, B)sr =
1 1 X X
d|xi , yj |.
na nb
(2.29)
xi ∈A yj ∈B
Podana reguła minimalizuje wpływ liczebności klastra na uzyskiwany wynik. Wadą jest natomiast
znaczny koszt obliczeniowy.
Uogólnioną postać zawierającą powyższe wzory zaprezentowano w [35]:
( α1 )
X X
1
1
Distα (A, B) = 
d|xi , yj |α 
,
na nb

(2.30)
xi ∈A yj ∈B
gdzie α ∈ [−∞, ∞] jest parametrem, który decyduje o specyficznych właściwościach poszczególnych reprezentantów:
α → −∞ – reguła najbliższego sąsiada
2.3
α = −1
– średnia harmoniczna,
α=0
– średnia geometryczna,
α=1
– średnia arytmetyczna,
α=2
– średnia euklidesowa,
α→∞
- reguła najdalszego sąsiada.
Dane symboliczne
Określenie dane symboliczne należy traktować jako antonim terminu „numeryczny”. W literaturze spotyka się się również pojęcie „dane jakościowe”, ale wydaje się, że termin „symboliczne” lepiej
2.3 Dane symboliczne
51
odzwierciedla różnice i odrębność stosowanych metod. Dane symboliczne obejmują cechy jakościowe
obiektów. Do reprezentacji tych cech najlepiej wykorzystać symbole z języka naturalnego. Ponieważ
z każdym takim symbolem skojarzona jest określona wiedza, można ją wykorzystać na różnych etapach przetwarzania i analizy do osiągnięcia zakładanych celów. Dane symboliczne również nadają
się do reprezentacji niskiej jakości pomiarów, lub wszędzie tam gdzie nieznana jest charakterystyka skali, jednostka pomiarowa, występują braki wartości. Istnieje możliwość przekształcenia danych
symbolicznych na postać numeryczną co zostanie przedstawione poniżej. Należy jednak pamiętać,
że w niektórych przypadkach takie przekształcenie powoduje powstanie całkowicie sztucznego porządku, oderwanego od rzeczywistego znaczenia poszczególnych symboli, co skutkuje uzyskiwaniem
wyników bez praktycznej użyteczności [117].
Metody symboliczne zostały utworzone z myślą o przetwarzaniu danych symbolicznych bez przekształcania na postać numeryczną. Większość metod wykorzystuje teorię informacji oraz algorytmy
heurystyczne. Opierają się na badaniach nad postrzeganiem świata przez człowieka ze szczególnym
odniesieniem podstawowego ludzkiego narzędzia służącego klasyfikacji i wyrażaniu wiedzy jakim jest
język. Do tego należy dodać przewagę metod symbolicznych z uwagi na postać wyniku, który jest
bardziej przyswajalny dla człowieka, może posiadać krótszy zapis, odnosić się do właściwości obiektów. Metody symboliczne nie stawiają żadnych wymagań w odniesieniu do danych podlegających
analizie. Grupowanie danych symbolicznych dokonywane jest wieloma metodami, które, ze względu
na sposób traktowania danych symbolicznych, można następująco sklasyfikować:
1. metody przystosowane do danych symbolicznych,
2. metody przekształcające dane symbolicznych na postać numeryczną,
3. metody powstałe poprzez adaptację metod numerycznych np.: w wyniku zamiany funkcji odległości na funkcję opartą o podobieństwo dystrybuant.
Poniżej opisano sposoby stosowane przez metody wymienione w punktach 2 i 3. Natomiast metody wymienione w punkcie 1 będą opisane w dalszych rozdziałach.
Ad. 2 Przekształcenie danych symbolicznych na postać numeryczną
Jak już powiedziano wiele atrybutów, służących reprezentacji obiektów, ma postać nienumeryczną, opisanych na skalach słabych czyli nominalnych lub porządkowych. W rzeczywistych bazach
danych atrybuty te sąsiadują z atrybutami numerycznymi. Przykładowo tabela zawierająca katalog
samochodów może zawierać atrybut symboliczny «kolor»={’czerwony’,’biały’,’czarny’} jak i numeryczny «cena» ∈ R+ .
Wiele atrybutów symbolicznych służy do reprezentacji pewnych zjawisk fizycznych, które mogą zostać zmierzone. Można więc dokonać zabiegu przekształcenia skali pomiarowej, niejako jej
Dane
52
wzmocnienia. Przykładowo dla zapisu koloru można dokonać podstawienia w miejsce atrybutów nominalnych wektorowy zapis składowych RGB. Wiadomo bowiem, że każdy kolor można rozłożyc
na 3 składowe. W miejsce zapisu symbolicznego otrzymuje się postać punktu w przestrzeni trójwymiarowej. Dla innych atrybutów można dokonać analogicznej analizy. Aczkolwiek metoda ta daje
dobre wyniki z punktu widzenia inżynieryjnego, natomiast z punktu widzenia przetwarzania wiedzy,
sposobu postrzegania świata przez człowieka może stanowić o uzyskaniu błędnych wyników. Jest to
spowodowane nieliniowością percepcji zmysłów człowieka i różnym wpływie poszczególnych wartości
atrybutów w zależności od otoczenia. Przykładem może być paleta barw stosowana w drukarstwie:
wyróżnionych odcieni koloru białego jest znacznie więcej niż innych kolorów, czyli jeden kolor jest
ważniejszy a nie wynika to reprezentacji koloru w postaci RGB.
Ad.3 Funkcje podobieństwa tworzone na podstawie dystrybuant atrybutów
Prawdopodobieństwa dla dwóch podanych rodzajów atrybutów, wartości atrybutów przy znanej
kategorii oraz kategorii przy znanych wartościach atrybutów, pozwalają na mierzenie podobieństwa
przykładów w danej kategorii i zróżnicowania pomiędzy kategoriami. Analiza prawdopodobieństw
występowania poszczególnych wartości atrybutów, prawdopodobieństwa warunkowego i innych zależności statystycznych może dać wiele interesujących informacji o atrybutach bez wnikania w rzeczywiste znaczenie poszczególnych atrybutów. Przykłady można znaleźć w pracach związanych z
poszukiwaniem asocjacji w bazach danych [1, 2, 19, 30].
Jeżeli dla przykładów należących do tej samej grupy prawdopodobieństwa P rx∈X (ai (x) = v |
c(x) = d) mają podobne wartości dla poszczególnych v ∈ Ai , w szczególności, gdy dla niektórych
wartości argumentów są duże (bliskie 1) a dla reszty małe (bliskie 0), to pozwala to przewidywać
wartości tych argumentów. Przynależność do tej samej grupy jest poszukiwana na podstawie podobieństwa dystrybuant atrybutów.
Analogicznie, gdy dla przykładów należących do różnych kategorii wartości prawdopodobieństw
P rx∈Ω (c(x) = d | ai (x) = v) są duże jednocześnie dla kilku kategorii dla wielu wartości argumentów,
to kategorie te mają więcej wspólnych atrybutów, czyli są mniej zróżnicowane.
Podobieństwo dwóch obiektów x i x0 należących do skończonego zbioru X może być oszacowane
jako podobieństwo pomiędzy dystrybuantami g(y) , P (y | x) oraz g(y) , P (y | x0 ). Istnieje wiele
możliwych do zastosowania funkcji podobieństwa, powszechnie stosowane są wymienione w tabeli
2.2. Warunkowe prawdopodobieństwa obliczane są następująco:
g(y) , P (y | x) = P
fxy
y∈Y
gdzie: fxy jest ilością jednoczesnych wystąpień x i y.
fxy
(2.31)
2.3 Dane symboliczne
53
Tabela 2.2. Funkcje podobieństwa stosowane dla dystrybuant zmiennej losowej.
q(y) log q(y) − log r(y)
KL dywergencja
D(q | r)
=
P
Jensen-Shannon
JS(q, r)
=
1
2
Skew dywergencja
sα (q, r)
= D rkαq + (1 − α)r
y
h
i
D q | avg(q, r) + D rkavg(q, r)
P
2
y (q(y) − r(y))
Euclidesowa
euc(q, r)
=
kosinusowa
cos(q, r)
P
q(y)r(y)
= qP y P
2
y
L1 - manhattan
confusion
L1 (q, r)
0
conf (q, r, P (x ))
=
q(y)
P
y |q(y)
0
P
Tau
τ (q, r)
=
y1 ,y2
21
r(y)2
− r(y)|
P
= P (x )
y
y
q(y)r(y)
P (y)
sign[(q(y1 )−q(y2 ))(r(y1 )−r(y2 ))]
|V |
2
2
W tabeli 2.2 przedstawione są przykładowe funkcje, stosowane do tworzenia funkcji oceny podobieństwa wykorzystującej dystrybuanty atrybutów [83]. Posiadając funkcje podobieństwa warunkowego g(y) i r(y) obliczone ze wzoru (2.31) na podstawie jednego z wzorów z tabeli 2.2 otrzymuje się
funkcję podobieństwa. Doboru stosowanej funkcji dokonuje się doświadczalnie, na podstawie analizowanej dziedziny.
Dane
54
2.4
Dane lingwistyczne
2.4.1
Lingwistyka formalna
Lingwistykę można w przybliżeniu zdefiniować jako badania nad przekazywaniem komunikatów
werbalnych [72]. Lingwistyka jest osadzona w ramach działu nauki zwanym semiotyką.
Semiotyka jest ogólną teorią znaku związaną z logiką i lingwistyką. Semiotyka, jako nauka o przekazywaniu wszelkiego rodzaju komunikatów, jest najbliższym kręgiem otaczającym koncentrycznie
lingwistykę, której pole badań ogranicza się do komunikatów werbalnych, następnym szerszym kręgiem o wspólnym środku jest zintegrowana nauka o komunikacji. Współczesna postać semiotyki
pochodzi od Ch. Morrisa, który uznał, że powinna ona stanowić podstawę badań nad związkami
między wszelkimi działaniami ludzkimi i ich odzwierciedleniem w systemie znaków. Semiotyka dzieli
się na:
1. Semantykę (w węższym sensie), czyli naukę o znaczeniowej stronie języka, o tym, jakie relacje
zachodzą między znakami i ich znaczeniem (sensem).
2. Syntaktykę rozpatrującą związki zachodzące między znakami i między systemami znaków.
3. Pragmatykę badającą warunki użycia określonych znaków.
Do powyższego podziału czasami dodaje się jeszcze zagadnienie socjalne, zajmujące się problematyką osób używających dany język.
Podstawowe pojęcia stosowane w lingwistyce to:
Alfabet Alfabetem nazywa się dowolny, skończony zbiór znaków (symboli) A = {a1 , a2 , . . . ...an }
zwanych literami. Rodzaj tych symboli oraz ich postać fizyczna są dowolne. Istotne jest tylko,
aby litery miały charakter dyskretny (różniły się między sobą), a rozpatrywany alfabet był
skończony. Napisem (N ) lub słowem (S) w alfabecie A będzie dowolny skończony ciąg liter
w przyjętym alfabecie. Na ogół wyróżniony jest pewien znak dzielący napisy (N ) na słowa
(S). Znakiem tym często są odstępy. Często wyróżnia się również pewne środki syntaktyczne
(składniowe) dzielące dłuższe napisy na podzbiory słów zwane zdaniami. Zbiór wszystkich
możliwych napisów nad alfabetem A jest oznaczony jako A∗. Można w nim wyróżnić pewien
podzbiór napisów, które uznaje się jako napisy (wyrażenia) poprawne. Podzbiór ten będziemy
oznaczać symbolem R.
Gramatyka Zbiór reguł (G) określających strukturę napisów poprawnych, a tym samym określających zbiór R, jest nazywany gramatyką języka. Od reguł gramatyki nie zawsze wymaga
się, aby wszystkie utworzone według nich napisy były sensowne. Dziedzina języka (D) jest to
zbiór informacji, którego elementy są oznakowane przez napisy poprawne języka. Znaczenie
2.4 Dane lingwistyczne
55
języka (Z), czyli znaczenie napisów poprawnych jest wyznaczone przez relację wiążącą napisy
poprawne i elementy dziedziny języka. Reguły wyznaczające te relacje są nazywane regułami
znaczeniowymi lub semantycznymi języka. Przez język rozumie się zbiory A, G, D, Z.
Zmienna lingwistyczna Aby skonstruować narzędzia służące przetwarzaniu danych lingwistycznych należy dobrać odpowiednią metodę przetwarzania takich danych. Metoda ta winna traktować słowa języka naturalnego jako etykiety oparte na ludzkich możliwościach percepcji. Czym
jest zmienna lingwistyczna? Jest po prostu symbolicznym przedstawieniem danego obiektu,
jego cechy, właściwości bądź działania związanego z tym obiektem. Co więcej, pod danym
słowem-symbolem kryje się grupa obiektów (właściwości itd.) nierozróżnialna ze względu na
istotę przedstawianej informacji. Na przykład pod słowem „drzewo” rozumie się rośliny o
pewnych cechach. Zdolność słów do grupowania może być postrzegana jako swoista forma
granulacji czy ziarnistości (ang. granulation) i wykorzystana podczas kwantyzacji do zbiorów
rozmytych. Na tej podstawie zbudowany jest mechanizm translacji słów do postaci zbiorów
rozmytych.
Definicja 7. Zmienna lingwistyczna X jest charakteryzowana przez pięć argumentów (H,T (H), U, G, M ). H jest nazwą zmiennej czyli słowem ją identyfikującą. T określa zbiór słów,
etykiet, do których należy H, z których każdy określony jest w świecie mowy U . G określa
reguły gramatyczne związane ze zmienną, czyli syntaktykę. M to reguły semantyczne związane
ze znaczeniem zmiennej H.
Słowo (wyraz) jest elementarną jednostką reprezentacji informacji w zakresie lingwistycznej postaci
danych. Każde słowo reprezentuje rozmyty lub ostry zbiór znaczeń określony w świecie realnym
D [127].
2.4.2
Wyrażenia symboliczne i lingwistyczne
Wyrażenia symboliczne mogą być tworzone sztucznie, tylko na potrzeby danej lokalizacji bez
związku ze znaczeniem w języku naturalnym. Najczęściej jednak stosuje się określenia bezpośrednio
stosowane przez ludzi w komunikacji interpersonalnej, między sobą.
Przenoszenie terminów z języka naturalnego do systemu informatycznego implikuje szereg problemów, wynikających bezpośrednio z pewnych właściwości ludzkiej mowy:
synonimy – różne słowa i frazy mogą wyrażać to samo pojęcie, mieś to samo znaczenie. Przykładowo słowa „robić”,„wytwarzać”,„produkować” mimo, że wyglądają zupełnie różnie to znaczą
mniej więcej to samo,
Dane
56
wieloznaczność – słowa mogą mieć wiele znaczeń. Przykładowo słowo „klucz” występuje w znaczeniach jako: „klucz do zamka w drzwiach”, „klucz do rozwiązania zagadki”, „klucz do otwarcia
szyfru”,
złożenia słów – niektóre słowa tworzą frazy, o znaczeniu daleko różnym od znaczenia słów wchodzących w skład. Przykładowo termin „odszedł w pokoju” dotyczy osoby zmarłej, czyli w
niczym się nie kojarzy ze znaczeniem słów użytych niezależnie,
kontekst lokalny – znaczenie słów silnie zależy od otoczenia w jakim zostały obe użyte.
Dane lingwistyczne cechuje szereg zalet, które ujawniają się w następujących przypadkach:
• potrzeby rejestrowania danych w formie przyjaznej dla człowieka,
• ograniczonej możliwości rejestracji zapisu rzeczywistości wyłącznie przy pomocy liczb, dotyczy
to szczególnie przypadków, w których „obiektem” dokonującym pomiaru jest człowiek,
• faktu, że nie wszystkie zjawiska poddają się ocenie liczbowej,
• potrzeby zapisu wiedzy, posiadanej przez ekspertów i możliwej do wyrażenia jedynie w postaci
języka naturalnego.
Dane lingwistyczne nie wymagają stosowania określonej struktury formalnej, dzięki czemu w łatwy sposób dają się adaptować i rozszerzać w miarę potrzeb objęcia nowych obszarów, dziedzin,
kierunków czy stopnia szczegółowości [105].
Podczas przetwarzania informacji, szczególnie tej wyrażonej w postaci lingwistycznej, należy
szczególnie zwrócić uwagę na kontekst, czyli środowisko i otoczenie w jakim dane powstały i jakie obiekty dane opisują. Pełne znaczenie wyrażenia w języku naturalnym ujawnia się dopiero w
momencie interpretacji w określonym kontekscie użycia (mówimy wtedy o wypowiedzi ) np. zjawiska referencji (odniesienia do elementów rzeczywistości), anafory (relacji pomiędzy elementami
kolejnych wypowiedzi) czy też presupozycji (warunków nakładanych na stan kontekstu). Od wielu lat ugruntowaną pozycję standardowego formalizmu opisu znaczenia wielozdaniowej wypowiedzi
w języku naturalnym ma „Discourse Representation Theory” [74]. W zakresie eksploracji danych
wyróżnia się kilka rodzajów kontekstu:
• źródłowy (ang. generic) - w zakresie danych lingwistycznych obejmuje podstawowe, leksykalne
znaczenie poszczególnych słów,
• logiczny – obejmuje modyfikację znaczenia danego opisu poprzez użycie operatorów logicznych
i modyfikatorów leksykalnych (np. „nie”,„lub”,„większość”,„około”),
2.4 Dane lingwistyczne
57
• relacyjny – wynikający z zapisanych relacji do innych obiektów i pojęć (np. „produkt a jest
tańszy niż produkt b”),
• regresji – obejmujący właściwości, a w szczególności odchylenie, od zastosowanego modelu
liniowego.
Aby rozpocząć omawianie modeli przetwarzania danych lingwistycznych należy sobie zdać sprawę
z ich charakteru. Chodzi mianowicie o to, że pod każdym terminem lingwistycznym (słowem, wyrażeniem) rozumie się pewną grupę, zbiór obiektów nierozróżnialnych ze względu na swoje podobieństwo,
funkcjonalność, właściwości.
Najważniejsza cecha odróżniająca model numeryczny od symbolicznego wynika ze sposobu otrzymywania wyników [65]. Model numeryczny przekształca wejściowy zbiór danych numerycznych w
zbiór wyjściowy. Natomiast w modelu lingwistycznym otrzymujemy pewne obszary rozwiązań. Warunki wskazujące na przetwarzanie danych lingwistycznych w miejsce numerycznych:
1. Brak wystarczającej precyzji w danych źródłowych, dane nie są wystarczająco wiarygodne.
2. Brak potrzeby dokładnych obliczeń - wystarczą przybliżone, otrzymane niższym kosztem.
3. Brak możliwości rozwiązania problemu tradycyjnymi metodami, nie przekraczając racjonalnego kosztu przetwarzania.
4. Problem zbyt skomplikowany aby zdefiniować go w sposób akceptowalny do rozwiązania metodami numerycznymi.
2.4.3
Rozpoznawanie znaczeń w dokumentach tekstowych
Pojęcie dokumentu tekstowego należy rozumieć szeroko. Oprócz typowego określania tym terminem wypowiedzi w języku naturalnym zapisanej w postaci tekstu (czyli artykuł, notatka, książka —
forma liniowa), są nimi również strony internetowe (HTML, XML — forma hipertekstowa, nieliniowa) oraz wszelkiego rodzaju tabele, formularze posiadające sformalizowaną strukturę ale zawartość
w postaci symbolicznej, w tym elementy języka naturalnego (karty biblioteczne, niektóre rekordy w
bazach danych).
Zagadnienie rozpoznawania znaczeń w dokumentach w dużej mierze polega na określaniu podobieństwa par dokumentów. Jedno z pierwszy podejść do automatycznej analizy tekstu dokonał Luhn.
Zasugerował on oparcie się o porównanie zawartości dwóch identyfikatorów reprezentujących zarówno posiadany dokument jak i pytanie użytkownika [88]. Sposoby tworzenia identyfikatorów mogą być
różne, najczęściej powstają w wyniku ekstrakcji pewnych wyselekcjonowanych z dokumentu i zapytania słów, tak by najlepiej odpowiadały zawartej w tekstach informacji. Ekstrakcja słów może być
dokonywana ręcznie, bądź automatycznie w trakcie fazy uczenia, w której są tworzone identyfikatory
Dane
58
na podstawie zbioru treningowego dokumentów. Można również założyć, że w skład identyfikatorów
wchodzą wszystkie występujące słowa, wtedy nie potrzebny jest etap selekcji.
Porównywanie dokumentów jest techniką pozwalającą na rozwiązanie następujących problemów:
kategoryzacja poprzez ocenę do którego dokumentu wzorcowego dany tekst jest najbardziej podobny,
poszukiwanie informacji , które dokonuje się poprzez zadanie pytania, będącego również formą
dokumentu; rozwiązaniem jest dokument najbardziej podobny.
Analiza dokumentów tekstowych może być prowadzona różnymi technikami. Możliwości są następujące:
1. Statystyczna analiza jednoczesnego występowania poszczególnych słów w danym zbiorze dokumentów. Opiera się na założeniu, że samo występowanie słów jest wystarczającą informacją
do porównania tekstów.
2. Selekcja fraz, składających się z kilku słów, i dalszej analizie prowadzonej jak dla pojedynczych
słów. Dzięki takiemu podejściu uwzględnia się niektóre zasady składni i unika się wieloznaczności niektórych słów.
3. Użycie słownika, zgodnie z którym określa się zależności pomiędzy poszczególnymi słowami.
Dzięki czemu możliwe jest rozpoznanie podobieństwa dokumentów w których użyto w takim
samym znaczeniu różnych słów (słowa te są synonimami). Możliwe jest również wstępne grupowanie słów, podobnych pod względem znaczeniowym i na tej podstawie dokonanie rozpoznania
znaczenia dokumentu.
4. Konstruowanie bazy wiedzy oraz użycie metod sztucznej inteligencji do rozpoznania rzeczywistej informacji zawartej w dokumencie, dokonanie porównania dokumentu w sposób analogiczny i na tym samym poziomie abstrakcji, jak to dokonuje człowiek.
2.5
Tematyczne bazy danych
Celem stosowania bazy danych jest przechowywanie zdań. Według Arystotelesa, twórcy logiki ze
starożytnej Grecji, zdanie jest po prostu „reprezentacją czegoś”. Może reprezentować obiekt rzeczywisty, jego właściwość lub cokolwiek innego, dającego się wyrazić w języku naturalnym. Baza danych
musi realizować dwie funkcje: kodowanie i dekodowanie, czyli przekształcenie zdania na swą postać
wewnętrzną oraz proces odwrotny. Z uwagi na to, że świat reprezentowany jest poprzez pojęcia
logiczne, w tabeli 2.3 umieszczono pewne analogie pomiędzy pojęciami.
2.5 Tematyczne bazy danych
59
Tabela 2.3. Semantyka składników elementarnych [63].
logika
argument
funkcja
wartość
rzeczywistość
obiekt
relacja
właściwość
język naturalny
rzeczownik
czasownik
przymiotnik
Działanie bazy danych wynika z interakcji z użytkownikiem, który nią steruje przy pomocy pewnego sztucznego języka (zależnego od programu realizującego funkcje bazodanowe), zawierającego
komendy uruchamiające poszczególne procedury programu.
W interakcji z komputerem rozumienie języka naturalnego jest ograniczone wyłącznie do człowieka. Przykładowo jeżeli życzeniem użytkownika jest odnalezienie obiektu „czerwonego”, to tylko
on rozumie to pojęcie jako coś co „odbija światło o określonej długości fali”. We wnętrzu komputera
„czerwony” jest zamieniany na symbol, który jest przetwarzany bez znajomości i interpretacji jego
znaczenia.
To, że komputer nie myśli jest oczywistą prawdą, aczkolwiek możliwe jest skonstruowanie takiego
programu, który wykona polecenia człowieka, jeżeli forma tych poleceń będzie ściśle określonego,
wstępnie zaprogramowanego typu. W zależności od tego, jakie zadania maszyna jest zdolna wykonać,
to można mówić, że potrafi zrozumieć język naturalny na pewnym poziomie, lub też posiada coś
odpowiadającego umiejętnościom poznawczym człowieka.
Kolekcja danych umieszczonych w określony sposób w strukturach odpowiadająca schematowi
jest powszechnie nazywana bazą danych. W niniejszym opracowaniu termin baza danych rozumiany
jest w następującym znaczeniu:
Definicja 8. Bazą danych nazywamy zbiór danych o określonej strukturze, zapisany na zewnętrznym
nośniku pamięciowym komputera, mogący zaspokoić potrzeby użytkowników korzystających z niego w
sposób selektywny w dogodnym dla siebie czasie. W bazie danych są zapisywane fakty i zdarzenia, po
to, aby możliwe były ich odtworzenie i analiza w dowolnej chwili [32].
Gromadzenie informacji w bazie danych oparte jest na następującej definicji elementarnej krotki
w modelu danych [32]:
Definicja 9. Reprezentacja pozyskanej informacji odnośnie obserwowanego zjawiska wyraża się jako:
< „obiekt”, „atrybut obiektu”, „wartość atrybutu”, „moment obserwacji” >,
(2.32)
i wyraża zaobserwowaną wartość atrybutu dla danego obiektu.
Istnieje wiele sposobów reprezentowania i powiązania wymienionych aspektów danych – wiele
modeli danych. Częstą modyfikacją jest pomijanie aspektu czasu, szczególnie w stosunku do atrybutów wolno zmiennych (lub stałych takich jak „data urodzenia”). Przykładami modeli danych jest
Dane
60
model sieciowy, hierarchiczny, jak również relacyjny.
Istnieje niewątpliwa potrzeba grupowania obiektów na podstawie ich właściwości. Grupowanie,
jako jedna z technik eksploracji danych bezpośrednio wpisuje się w to zagadnienie. Równie ważny
jest problem identyfikacji obiektu na podstawie jego właściwości.
Zagadnienia poruszane w niniejszym opracowaniu związane są z wieloma obszarami. Na przykład
dotyczą biznesu, w szczególności z segmentacją portfela klientów - jako jedną z kluczowych technik
marketingowych. Do tego celu stosowane jest grupowanie na podstawie dostępnych informacji o
klientach, a w szczególności na podstawie dokonanych przez nich transakcji zakupu. Cel stosowania
takich technik wynika z potrzeb marketingowych takich jak: selekcja grupy docelowej, dopasowanie
oferty, benchmarking, badanie efektywności kampanii marketingowych, sposobu prezentacji towarów.
Istnieje jednak wiele miejsc, w których problem może być analogicznie sformułowany.
Drugi obszar zastosowań obejmuje problem grupowania osób odwiedzających dany serwis WWW.
Przepisy dotyczące ochrony prywatności, a może przede wszystkim coraz większa świadomość użytkowników w tym zakresie powodują, że bezpośrednie metody identyfikacji (np. numer procesora,
cookies, numer IP) są nieskuteczne jako element identyfikacji, gdyż przykładowo są wyłączane.
Szczegółowej rejestracji mogą podlegać wszelkie działania internauty : przesłane zapytania, wywołania innych stron WWW, sposób nawigacji. Informacje te mogą posłużyć do identyfikacji wzorców
zachowań. Celem jest profilowanie przedstawianej zawartości czy też prezentowanych reklam [98].
Również w medycynie można znaleźć informacje posiadające strukturę opisaną w definicji 9.
Przykładowo może to być baza postaci:
< „pacjent”, „lekarstwo”, „objawy” > .
(2.33)
Takich danych można się spodziewać w badaniach nad nowymi lekami czy też nieznanymi chorobami.
Cechą wspólną przedstawionych zagadnień jest objęcie przetwarzaniem danych postaci zarówno numerycznej jak i symbolicznej. W każdym przypadku, niezależnie czy są to klienci, internauci
czy pacjenci, występują wszelkie rodzaje atrybutów: wartości liczbowe, wyliczeniowe, symbole języka naturalnego lub sztucznego, opisowe (teksty w języku naturalnym). Człowiek dokonując oceny
i wartościując pozyskane dane korzysta z całej dostępnej mu wiedzy o środowisku, w którym dane
powstały, sposobach ich rejestracji, znaczeniach przypisywanych poszczególnym symbolom.
2.6
Wiarygodność danych
W kontekście eksploracji danych czy też pozyskiwania wiedzy niewątpliwe znaczenie ma aspekt
wiarygodności. W opracowaniu przyjęto, że dane są opisem jakiegokolwiek zdarzenia lub pojęcia wartego zapamiętania i przetwarzania. Z punktu widzenia systemu informatycznego dane są to liczby i
2.6 Wiarygodność danych
61
teksty wprowadzane do systemu informatycznego na podstawie przyjętego schematu organizacyjnego, mające za zadanie reprezentować zachodzące procesy[91].
Dane są źródłem pozyskiwania informacji o danym obiekcie czy procesie, na rzecz którego wykorzystywany jest system informatyczny. Aby jednak informacja ta była prawdziwa i rzetelna musi
opierać się o wiarygodne dane. Poprzez wiarygodność danych określa się stopień w jakim dane
wprowadzone do komputera odpowiadają stanowi rzeczywistemu. Zmniejszenie wiarygodności jest
powodowane wieloma czynnikami, począwszy od błędów w sposobie modelowania i reprezentacji w
komputerze a skończywszy na błędach występujących podczas przetwarzania danych na informacje.
Rozdział 3
Grupowanie
3.1
Wstęp
Grupowanie jako jedna z metod pozyskiwania wiedzy, a tym samym eksploracji danych jest ściśle
uwarunkowana źródłem danych oraz oczekiwaną postacią rezultatów. W niniejszym rozdziale przedstawiono podstawowe aspekty klasyfikacyjne metod grupowania, ze szczególnym uwzględnieniem
tych aspektów, które mają wpływ na przydatność stosowania danej metody w procesie eksploracji
danych. Zwrócono uwagę na sposób przetwarzania danych, przez poszczególne metody, szczególnie
w kontekście danych symbolicznych, omówionych w podrozdziale 2.3.
Grupowanie polega na wyodrębnianiu grup (klas, podzbiorów) na podstawie następująco sformułowanego zadania:
identyfikacja naturalnych grup, w których obiekty podobne do siebie mają zostać umieszczone w jednej grupie, natomiast obiekty znacznie się różniące w różnych grupach [71].
Wybrane cele dokonywania grupowania są następujące:
• uzyskanie jednorodnych przedmiotów badania, ułatwiających wyodrębnienie ich zasadniczych
cech,
• zredukowanie dużej liczby danych pierwotnych do kilku podstawowych kategorii, które mogą
być traktowane jako przedmioty dalszej analizy,
• zmniejszenie nakładu pracy i czasu analiz, których przedmiotem będzie uzyskanie klasyfikacji
obiektów typowych,
• odkrycie nieznanej struktury analizowanych danych,
62
3.1 Wstęp
63
• porównywanie obiektów wielocechowych.
W zakresie analizy przydatności poszczególnych metod grupowania do eksploracji danych zwrócono uwagę na następujące aspekty:
• sposób ujęcia danych,
• sposób określania podobieństwa i niepodobieństwa, zgodnie z którym łączy się obiekty w grupy,
• metody poszukiwania rozwiązań
• forma prezentacji danych.
Grupowanie często jest pierwszym krokiem w procesie poznawania danego zjawiska na podstawie
zbioru obserwacji. Jest to forma maszynowego uczenia bez nadzoru a celem jest uzyskanie hierarchii
pojęć opisujących dane zjawisko. Grupowanie wywodzi się z taksonomii numerycznej oraz analizy skupień i w swym podstawowym ujęciu zajmuje się otrzymywaniem zapisu podziału obiektów
na grupy przy pomocy metod algorytmicznych. Jakkolwiek jest to główne zadanie grupowania, to
jednak z powodu braku lub słabego wykorzystywania różnych aspektów wiedzy dotyczących zbioru
obiektów, ich atrybutów i środowiska, uzyskiwane rezultaty mogą odbiegać od oczekiwań. Kolejnym
problemem jest uzyskiwanie wyników w postaci trudno przekształcalnej na pojęcia służące charakteryzacji danego zjawiska. Ideę grupowania pojęciowego (ang. conceptual clustering) przedstawiono
w [121]. W tym celu stosuje się odpowiednie algorytmy grupowania, których wyniki łatwo dają się
przedstawić w formie pojęć czy koncepcji, oraz które umożliwiają uwzględnienie dostępnej wiedzy
np. poprzez stosowanie miary bliskości odzwierciedlającej zależności pomiędzy atrybutami.
Podstawowym kryterium „uczenia się” jest zdolność do autonomicznego pozyskiwania nowej,
nieznanej wiedzy. Otrzymywany w wyniku działania algorytmu grupowania podział reprezentuje
pewne kategorie, czyli pojęcia arbitralnie zdefiniowane przez algorytm, więc wystarczy zapewnić,
że otrzymywane kategorie mają charakter wiedzy i odnoszą się do rzeczywiście istniejących pojęć
opisanych danym zbiorem przykładów. Ponieważ jednak przynależność do danej kategorii opiera się
na podobieństwie przykładów, a podobieństwo umożliwia wnioskowanie to bez wątpienia ma się do
czynienia z wiedzą [27].
3.1.1
Podział metod grupowania
Wykorzystując zadany sposób określania bliskości (podobieństwa, odległości) obiektów w wielowymiarowej przestrzeni cech można podzielić zbiór X na podzbiory (grupy). Ze względu na sposób
przetwarzania danych stosowane procedury można zaliczyć w większości to jednej z poniższych technik [70]:
Grupowanie
64
• optymalizacyjno-iteracyjnych, za pomocą których dokonuje się podziału zbioru na m podzbiorów, przy czym wartość parametru m jest zadawana, algorytmy te polegają na minimalizacji
funkcji kryterium,
– K-średnich (ang. K-means) - grupy reprezentowane są przez „środek ciężkości”
– K-mediana (ang. K-medoids) - grupy reprezentowane są przez jeden z obiektów
• hierarchicznych, w ramach których skupienia tworzą drzewa, gdzie liście reprezentują poszczególne obiekty, a węzły — ich grupy. Skupienia wyższego poziomu zawierają skupienia niższego
poziomu. W ramach metod hierarchicznych, w zależności od sposobu konstruowania hierarchii
klas można wyodrębnić:
– metody aglomeracyjne, w których początkowo każdy element jest traktowany jako odrębna
klasa. Klasy te następnie, na podstawie zadanej funkcji podobieństwa, stopniowo łączy
się, aż do momentu w którym wszystkie obiekty utworzą jeden zbiór. Schemat łączenia
poszczególnych klas tworzy poszczególne poziomy skupień reprezentujących odpowiednie
podziały na grupy,
– metody podziałowe (deglomeracyjne) jest niejako procesem odwrotnym do powyższego.
Rozpoczyna się od pojedynczego zbioru, zawierającego wszystkie obiekty, a następnie
dokonuje się jego sekwencyjnego podziału. Problem określania kryterium podziału jest
oparty o porównywanie wartości cech obiektów, z których wybiera się te najlepiej spełniające kryterium dyskryminacji,
• metody grupowania obiektów, których niektóre elementy (atrybuty) są identyczne, wykorzystują założenie, że im więcej elementów jest powtórzonych (ang. co-occurence) tym bardziej
obiekty są do siebie podobne,
• metody analizy skupień polegające na identyfikacji regionów o dużej „gęstości” obiektów,
• metody oparte o teorię grafów, traktujące obiekty jako węzły a krawędzie z wagami jako reprezentacja danego kryterium, wg którego odbywa się grupowanie. Przykładem są algorytmy
Minimum Spanning Tree (MST) oraz Lin-Kernighan Exchange,
• metody oparte o algorytmy genetyczne
• metody oparte o sieci neuronowe,
Inny podział metod grupowania wynika z klasyfikacji postaci otrzymywanych wyników. Wyróżnia
się algorytmy tworzące:
• skupienia rozłączne, w których każdy obiekt należy tylko do jednego zbioru,
3.1 Wstęp
65
• skupienia nierozłączne, w których niektóre obiekty mogą być przypisane do dwu lub więcej
zbiorów. W szczególności wyniki tej postaci otrzymywane są przez techniki oparte o zbiory
rozmyte,
• struktura hierarchiczna, jako wielopoziomowa hierarchia, w której poszczególne poziomy są
odwzorowaniem kolejnych podziałów.
Obiekty są grupowane poprzez zastosowanie odpowiedniej metody grupowania zgodnie z założonym kryterium. Tradycyjne kryterium grupowania wykorzystuje pewne miary bliskości (ang.
distance based ), najczęściej wywodzące się z miary odległości czy podobieństwa. Posiadając matematyczną funkcję bliskości określoną dla każdej pary obiektów można zastosować algorytm do
dokonania grupowania.
Matematycznie metody grupowania oparte są o poszukiwanie takiego podziału na grupy, w wyniku którego zadana funkcja kryterium osiąga minimum. Poszczególne metody różnią się drogą dojścia
do takiego minimum. I tak wśród metod hierarchicznych metody aglomeracyjne poszukują takiego
minimum poprzez łączenie mniejszych grup. Metody podziałowe poszukują takiego podziału, który
zmniejszy entropię. Natomiast metody iteracyjne opierają się na poszukiwaniu pewnych wzorców,
które następnie wyznaczają poszczególne klastry. Możliwość stosowania poszczególnych metod ściśle
zależy od postaci i rodzaju atrybutów opisujących poszczególne obiekty. Szczególnie chodzi o to, czy
mają one dziedzinę ciągłą czy dyskretną i jaką miarą można posłużyć się do ich porównywania.
Drugie podejście oparte jest o rozkład prawdopodobieństw występowań poszczególnych wartości
atrybutów opisujących grupowane obiekty (ang. probability based ). Przyjmuje się w założeniu, iż
występujące prawdopodobieństwa są niezależne, poszczególne atrybuty są nieskorelowane ze sobą.
Założenie leży u podstaw części algorytmów hierarchicznych podziałowych, w których podziału zbioru na grupy dokonuje się w celu obniżenia entropii informacji z punktu widzenia jednego atrybutu.
Zupełnie inne podejście do problemu występuje w grupowaniu koncepcyjnym (ang. conceptual
clustering) [21]. Tam obiekty są łączone w klastry jeżeli reprezentują to samo pojęcie (koncepcję, znaczenie, interpretację). Dokonuje się tego na podstawie opisu w języku naturalnym (termów
lingwistycznych) związanym z danym obiektem.
Grupowanie jako przeszukiwanie
W większości algorytmów grupowania można doszukać się analogii do pewnego rodzaju uczenia
się, opartego na przeszukiwaniu przestrzeni hipotez w celu znalezienia hipotezy spełniającej pewne
kryteria. Z tej perspektywy można wyróżnić cztery aspekty procesu grupowania, które to charakteryzują poszczególne algorytmy grupowania:
– reprezentacja grupowania, czyli postać wyniku,
Grupowanie
66
– operatory używane do poruszania się w przestrzeni rozwiązań, umożliwiające sprawdzenie innych, również lepszych rozwiązań,
– heurystyczna funkcja oceny grupowania, używana do kierowania procesem przeszukiwania,
– strategia przeszukiwania, czyli opis sposobu wykorzystania operatorów i funkcji heurystycznej
do poszukiwania najlepszego rozwiązania.
Każdy z wymienionych aspektów posiada wiele rozwiązań. Dobór poszczególnych wariantów ściśle
zależy od dziedziny grupowania oraz charakteru oczekiwanych wyników.
Grupowanie nie wymagające miary odległości
Dla wielu dziedzin trudno jest skonstruować odpowiednią miarę odległości. Dotyczy to w szczególności baz danych zawierające dane opisowe, symboliczne, dla których trudno o ustalenie właściwych
relacji pomiędzy poszczególnymi atrybutami, a co za tym idzie, o policzenie odległości pomiędzy
obiektami. Same metody grupowania winny być oparte na kilku zasadach. Zakłada się, że obiekty
podobne do siebie (czyli takie które winny należeć do tej samej grupy) posiadają te same wartości
niektórych atrybutów. Samo dobranie atrybutów, które decydują o przyłączeniu obiektu do danej
grupy, jest bardzo trudnym zadaniem. Najlepiej, gdy dostępna jest szczegółowa wiedza na temat
szczegółowej klasyfikacji atrybutów, pozwalająca na ustalenie hierarchii ich ważności. Najczęściej
jednak wiedza taka nie jest kompletna, można w takim przypadku posiłkować się pewnymi wskaźnikami statystycznymi, pozyskanymi z posiadanej bazy danych o występowaniu, charakterystyce
poszczególnych atrybutów. Wskaźniki takie, przykładowo współczynniki korelacji, częstotliwość występowania, pomagają w zdobyciu pewnych reguł pozwalających na ocenę przedstawianego podziału. Dla algorytmów grupowania nie wymagających miary odległości kluczowym staje się dobranie
właściwej funkcji kryterium jakości grupowania. Sam algorytm polega na generowaniu kolejnych
podziałów, weryfikowaniu ich przy pomocy funkcji kryterium i wybraniu najlepszego rozwiązania.
3.1.2
Zastosowanie grupowania
Grupowania dokonuje się na zbiorze nieetykietowanym, tj. takim, dla którego nie jest znany (nie
jest wykorzystywany podział w trakcie analizy) podział na grupy. Gdy nie ma skojarzonej macierzy
przynależności U(X), to zbiór danych X nazwa się nieetykietowanym (ang. unlabeled ) [13].
Dziedzina. Dziedziną grupowania jest skończony zbiór obiektów:
X = {x1 , . . . , xn }.
Mogą to być przedmioty, osoby, wydarzenia, sytuacje, zjawiska, stany itd.
Atrybuty.Atrybuty służą do opisywania obiektów. Synonimem atrybutu jest termin „cecha”.
Atrybutem nazywa się dowolną funkcję określoną na dziedzinie grupowania. Niech {A1 , . . . , An } jest
3.1 Wstęp
67
I
przygotowanie
?
II
szacowanie tendencji
-
?
6
III
analiza skupień
?
IV
walidacja
?
Rys. 3.1. Etapy algorytmu grupowania.
zbiorem atrybutów z dziedzinami odpowiednio {A1 , . . . , An }. Przyjmuje się, że opis każdego obiektu
xi ∈ X składa się z n ­ 1 wartości atrybutów.
Ak : xi → Ak ,
l ¬ k ¬ n, xi ∈ X .
W zależności od dziedzin poszczególnych atrybutów można wyodrębnić następujący podział atrybutów [16]:
– kwantytatywne, będące liczbami rzeczywistymi, uzyskanymi w wyniku pomiaru lub liczbami
całkowitymi otrzymanymi w wyniku policzenia. Inaczej zwane cechami ilościowymi,
– opisowe, których wartości są wyrażane poprzez różnego rodzaju symbole, w tym słowa w języku
naturalnym.
Wykorzystując grupowanie na potrzeby eksploracji danych można posłużyć się następującym
schematem. Na rysunku 3.1 zaprezentowano algorytm grupowania składający się z czterech etapów:
przygotowanie – jest etapem mającym na celu przekształcenie bazy danych na formę właściwą
dla stosowanych narzędzi,
szacowanie tendencji – ma za zadanie odgadnąć czy dany zbiór obiektów posiada wewnętrzną
strukturę i to bez szczegółowej analizy danych [70],
analiza skupień — właściwe grupowanie, stosowany w tym etapie jest szereg metod opisanych w
literaturze: grupowanie twarde, rozmyte, oparte o teorię możliwości czy prawdopodobieństwa,
Grupowanie
68
walidacja – polega na sprawdzeniu czy otrzymany podział na grupy realnie odzwierciedla strukturę
wejściowego zbioru danych; udostępnia narzędzia służące do porównywania różnych podziałów,
w celu wyboru optymalnego.
3.2
Formalny zapis problemu
Przedmiotem grupowania jest skończony zbiór X składający się z n obiektów oraz skończony
zbiór A zawierający m atrybutów opisujących właściwości obiektu x ∈ X poprzez przyjmowanie
określonych wartości xy , gdzie Ay jest oznaczeniem konkretnego atrybutu, którego dziedziną jest
zbiór wartości Ay :
X = {xy }y∈Y .
(3.1)
Zbiór X również nazywany jest populacją.
Przedmiotem analizy dokonywanej w trakcie grupowania jest zbiór klastrów C = {C1 , C2 , . . . , Cc }
– będący zbiorem podzbiorów X . Klastrem (grupą, segmentem, klasą) nazywamy podzbiór X ⊇ Ci .
X = {x1 , . . . , xn } =
c
[
Cj
(3.2)
j=1
Jeżeli spełniony jest warunek opisany równaniem 3.2 pełnego pokrycia całego zbioru X, to taki
zbiór nazywamy podziałem (ang. partition) lub segmentacją P(X ) (3.3).
P(X) = {C1 , . . . , Cc }.
(3.3)
Zbiory Ci określa się mianem grupa, segment, klaster.
Podziału dokonuje się zgodnie z pewnym kryterium grupowania. Kryterium to jest funkcjonałem
określonym na zbiorze wszystkich podzbiorów zbioru X i mierzy stopień wewnętrznej jednorodności
klas oraz międzyklasową heterogeniczność.
Ogólna liczba wszystkich kombinacji, jakie można utworzyć przy grupowaniu n obiektów w m
rozłącznych grup, jest do obliczenia na podstawie wzoru na liczbę Stirlinga drugiego rzędu [4]:
Sn(m)
m 1 X
m−k n
=
(−1)
kn .
m!
k
k=0
Dla n = 25, m = 5,
5
S25
0
0
0
0
= 2 436 684 974 1100 751. Jak widać złożoność tego problemu jest bardzo
duża, rosnąca jeszcze szybciej, gdy zostanie dopuszczona wielokrotna lub częściowa przynależność
do zbioru. Również liczba grup nie jest zazwyczaj podana a priori, co powoduje, że aby obliczyć
właściwy wynik należy zsumować kilka liczb Stirlinga dla sprawdzanych podziałów.
3.2 Formalny zapis problemu
69
Posiadając nieetykietowany zbiór obiektów w przestrzeni wielowymiarowej postaci xi ∈ Rs , 1 ¬
i ¬ n problem grupowania C polega na rozdzieleniu obiektów na podzbiory zwane grupami. Innymi
słowy należy znaleźć macierz przynależności każdego elementu xi do poszczególnych grup:
Cc = U ∈ Rc×n | ∀i, k : uik ∈ [0, 1];
n
n
X
X
uik = 1; 0 <
uik < n},
i=1
gdzie:
n
R
(3.4)
k=i
liczba obiektów,
c×n
oznacza przestrzeń wszystkich macierzy rozmiaru (c × n),
U = {uik }
macierz przynależności obiektów do poszczególnych grup,
Pn
∀k∈{1,c} i=1 uik = 1.
Wśród różnych technik grupowania można wyróżnić podział na grupowanie tzw. zwykłe lub
twarde, w którym każdy element jest przydzielony tylko do jednego zbioru, tym samym każdy zbiór
ma wyraźnie oznaczone granice. Formalnie można to zapisać następująco:
(
uik =
1,
xi ∈ Ck ,
0,
xi ∈
/ Ck .
(3.5)
W tym przypadku funkcja przynależności przyjmuje jedynie dwie wartości zbioru {0, 1} (ang. hard
clustering) . Jeżeli funkcja przynależności przyjmuje dowolne wartości z przedziału [0, 1] mówimy o
grupowaniu rozmytym (ang. fuzzy clustering).
Algorytmy znajdujące macierze przynależności polegają na znajdowaniu ekstremum (minimum
lub maksimum) funkcji kryterium będącej wskaźnikiem jakości podziału zbioru elementów na grupy.
Jednym z przykładów takiej minimalizacji funkcji celu jest minimalizacja błędu kwantyzacji zdefiniowana następująco (ang. quantization error )[43]:
n
Eqe =
gdzie:
Eqe
1 X
xi − vw(i) 2 ,
n i=1
błąd kwantyzacji,
n
liczba przetwarzanych obiektów,
xi
przetwarzany obiekt,
V = {vj }
vj ∈ R
s
zbiór elementów wzorcowych ,
j ∈ {1, c},
w(i) ∈ {1, c}
indeks najlepszego dopasowania (numer grupy, do której xi należy),
vw(i)
wektor wzorcowy dla grupy w(i).
(3.6)
Grupowanie
70
Minimalizacja wartości Eqe jest znana jako grupowanie oparte o funkcję kryterium i może występować również w wersji dla grupowania rozmytego [8].
Bardziej uogólnioną formą równania 3.6 zwaną ważona odległościami suma kwadratów błędu
kwantyzacji (ang. distance-weighted sum-of-squares quantization error ), której minimum może również być poszukiwane metodami uczenia bez nauczyciela jest następująca:
Eqen =
n X
c
X
kh (xi , Ch ),
(3.7)
i=1 h=1
gdzie:
kh (xi , Ch )
funkcja jądra (ang. kernel function), odpowiada odległości pomiędzy
obiektem xi a grupą Ch ,
Funkcja jądra kh (xi , Ch ) odpowiada intuicyjnemu przeświadczeniu, że informacja o podziale na
grupy pochodzi od całego układu elementów wzorcowych, a nie wyłącznie od jednego, najbliższego.
Zazwyczaj spełnia następujące warunki:
kh (x, C) ­ 0
kh (x, C) = max ⇐ x ∈ Ch
jest dodatnia,
(3.8a)
osiąga maksimum dla własnej grupy,
(3.8b)
(3.8c)
Alternatywną formułą funkcji kosztu jest oparcie się o odległość między klastrami (ang. intercluster ) [48]. Optymalizacja polega na znalezieniu takiego podziału aby zminimalizować klaster o
największej wartości funkcji kosztu, którą jest największy rozmiar klastra:
Ei = max k(Ci )
(3.9)
i=1,...,c
dla:
k(Ci ) =
max d(xir , xis ).
(3.10)
xir ,xis ∈Ci
gdzie: d(·) jest symbolem miary odległości pomiędzy obiektami.
Warunek zbieżności
Konieczny warunek gwarantujący znalezienie aproksymacyjnego minimum funkcji 3.7 jest następujący:
n
X
∂Egen
=−
(xi − vj ) = kj (d(xi , Cj )),
∂Vj
i=1
j = 1, . . . , c,
(3.11)
3.3 Grupowanie iteracyjne
71
Wzór na obliczenie prototypu v ma postać iteracyjną:
Pn
xi kj (d(xi , Cj (e) ))
(e+1)
vj
= Pi=1
,
n
(e)
))
g=1 kj (d(xg , Cj
(3.12)
gdzie: zmienna e reprezentuje numer kolejnej iteracji.
3.3
Grupowanie iteracyjne
Grupowanie iteracyjne oparte jest o funkcję jądra. Polega ono na iteracyjnym poszukiwaniu
zbioru elementów wzorcowych reprezentujących poszczególne klastry. W każdej iteracji poszukuje
się kolejnych przybliżeń wzorców wyliczając je korzystając z zadanych metod. W zależności od
przyjętych założeń elementem wzorcowym może być jeden z elementów populacji X lub należeć do
pewnego uniwersum U ⊇ X. W przestrzeniach metrycznych element wzorcowy może być obliczany
jako średnia arytmetyczna i reprezentuje on odpowiednio środek ciężkości klastra.
W ogólności k-klastering algorytm na wejściu ma zbiór obiektów X oraz oczekiwaną liczbę klastrów k, a na wyjściu podział na podzbiory {C1 , C2 , . . . , Ck }. Najczęściej algorytmy k-klasteringu
należą do kategorii algorytmów optymalizacyjnych. Algorytmy optymalizacyjne przyjmują że istnieje
funkcja kosztu typu k : {x|X ⊆ S} → R+ określona dla każdego podzbioru S. Celem jest znalezienie
podziału z uwagi na minimalizację sumy kosztów:
Eq =
k
X
k(Ci )
(3.13)
i=1
W celu zastosowania algorytmu iteracyjnego należy określić miarę odległości stosowaną w procesie
grupowania, które zostały omówione w rozdziale 2 a ogólny zarys algorytmu w 3.3.1.
Zamiast miediany można zastosować punkt, będący wypadkowym punktem dla danego klastra
(elementem reprezentacyjnym) wyliczonym np. jako średnia geometryczna czy arytmetyczna. Wtedy
mamy do czynienia z algorytmami typu k-średnich (ang. k-means).
k(Ci ) =
|Ci |
X
d(x̄i , xir ).
(3.14)
r=1
gdzie: x̄i
średnia arytmetyczna (lub geometryczna) klastra
Tak zdefiniowany problem jest trudno rozwiązywalny, gdyż należy do klasy NP. Istnieją jednak pewne uproszczenia w stosunku do funkcji kosztu. Przykładowo algorytm PAM (Partitioning
Around Medoids) oparty jest o znajdowanie mediany dla każdego klastra Si . Funkcja kosztu dla
algorytmu PAM wygląda następująco [37]:
k(Si ) =
|Ci |
X
r=1
d(x̂i , xir ),
gdzie:
x̂i ∈ Ci
(3.15)
Grupowanie
72
gdzie: x̂i
3.3.1
mediana klastra
grupowanie K-średnich
Grupowanie K-średnich (ang. K-means) posiada następującą funkcję kryterium:
J1 (U, V) =
c X
n
X
(uik )d2ik ,
i=1 k=1
gdzie:
V = [vi ]
vi ∈ R
m
macierz wzorców,
wzorzec i-tej grupy,
uik
przynależność xk do i-tej grupy, uik ∈ {0, 1}
dik
miara odległości pomiędzy xk ,
a elementem wzorcowym grupy vi ,
U = [uik ]
macierz podziału.
Algorytm 3.1. Algorytm grupowania k-średnich
Wejście ≡
X = {x} ; zbiór obiektów
c;oczekiwana liczba klastrów
funct g(V, U ); znajdowanie nowego wzorca V .
funct d(x, x); odległość pomiędzy obiektami.
funct h(x, C); obliczenie przynależności x do klastra C..
etap 1 ≡
wybierz początkowy zbiór wzorców
np. drogą losowania.
etap 2 ≡
for i := 1 to |X| do
for j := 1 to c do
znajdź odległości wzorców dla elementu xi
uij := h(xi , j)
od
od.
etap 3 ≡
for j := 1 to c do
(3.16)
3.3 Grupowanie iteracyjne
73
oblicz nowe wzorce vj = g(yj , U )
od.
Wyjście ≡
zwróć macierz podziału U .
3.3.2
Grupowanie metodą najbliższego sąsiada
Algorytm najbliższego sąsiada (ang. Nearest-neighbourhood-type) został zaproponowany przez Lu
i Fu w 1978 [70] zaprezentowano w tablcy 3.2. Grupowanie metodą najbliższego sąsiada jest prostym
i szybkim algorytmem. Złożoność obliczeniowa jest rzędu O(n(c + 1)) Poprzez dobór progu można
sterować ilością otrzymywanych klastrów. Również w miejsce funkcji odległości można zastosować
funkcję podobieństwa, wystarczą jedynie drobne modyfikacje w implementacji. Do wad należy bardzo
duża zależność otrzymywanych wyników od kolejności ułożenia grupowanych obiektów. Rozrzut
i przypadkowość otrzymywanych wyników jest tak duża (w stosunku do innych algorytmów), że
wyklucza to stosowanie tego algorytmu w większości zastosowań.
Algorytm 3.2. Grupowanie metodą najbliższego sąsiada
dane wejściowe :
grupowany zbiór obiektów X
funkcja odległości d(x,C)
próg podziału g
c=1
// liczba klastrów
C_1={} // ustaw klaster początkowy na pusty
for i:= 1 to n do begin
for j:= 1 to c do begin
if d(x_i,C_j)<g then begin
//dopisz element do klastra
C_j += x_i
continue
end;
end;
// jeżeli nie dopisano to utwórz nowy klaster
c =c + 1
C_c= x_j
end;
Grupowanie
74
Grupowanie metodą k-mediana
Grupowanie, w którym obiekty reprezentujące poszczególne klastry wywodzą się spośród grupowanego zbioru obiektów, należy do klasy algorytmów k-mediana (ang. k-medoids). Istnieje wiele
algorytmów należących do tej klasy: algorytm PAM [70], CLARA [70], CLARANS [99]. Celem tej
techniki grupowania jest wybranie c elementów {v1 , . . . , vc } spośród n elementów populacji X stanowiących zbiór wzorców (mediany). Podział otrzymuje się poprzez przypisanie obiektów do klastrów
reprezentowanych przez poszczególne mediany zgodnie z regułą:
Cp = {xm : d(xm , vp ) ¬ d(xm , vr ), p, r ∈ 1, . . . , c}.
(3.17)
W algorytmach k-mediana funkcja kosztu jest sumą odległości pomiędzy obiektami a reprezentującymi ich klaster medianami. W algorytmie PAM poszukiwanie rozwiązania dokonuje się iteracyjnie
poprzez zamianę obiektu z odpowiadającą mu medianą. Jeżeli funkcja kosztu się zmniejszy to dany przykład staje się podstawą dalszych poszukiwań, jeżeli nie to się go pomija. Zapis algorytmu
przestawiono w (3.3).
Algorytm 3.3. Algorytm PAM
Wejście : zbiór obiektów X={x}
oczekiwana liczba klastrów c
funkcja d(x,x) ; odległość pomiędzy obiektami
funkcja EE(V) ; obliczenie sumy odległości - funkcja kosztu
etap 1. wybierz początkowy zbiór
wzorców
np. drogą losowania
etap 2. dla każdej możliwej zamiany obiektu z medianą oblicz
nową wartość funkcji kosztu Dn
etap 3. jeżeli Dn<Ds
to przyjmij przykład
jako nowe rozwiązanie,
przypisz Ds:=Dn
etap 4. jeżeli od ostatniego przypisania sprawdzono wszystkie możliwości
zamian to zakończ inaczej powróć do etapu 2.
Złożoność obliczeniowa algorytmu PAM wynosi O((1 + β)c(n − c)2 ), gdzie β jest liczbą skutecznych zamian (takich, które zmniejszyły wartość funkcji kosztu). Tak wysoka złożoność stanowi o
przydatności tego algorytmu jedynie do niewielkich zbiorów danych. Algorytm CLARA (ang. Clustering LARge Applications) redukuje koszt obliczeniowy poprzez zastosowanie algorytmu PAM jedynie
do próby losowej całego zbioru. Następnie wielokrotnie powtarza się tą procedurę, dla uzyskanych
median oblicza się sumę odległości dla całej populacji i wybiera najlepsze rozwiązanie. Nieco inne
rozwiązanie zastosowano w algorytmie CLARANS [99]. Zamiany obiektów z medianami ogranicza
3.3 Grupowanie iteracyjne
75
się jedynie do r najbliższych sąsiadów, przeszukiwanie kończy się znalezieniem lokalnego minimum.
Następnie wielokrotnie powtarza się tą procedurę dla nowo wylosowanych elementów startowych i
wybiera najlepsze rozwiązanie.
Algorytmy grupowania iteracyjnego oparte o metody optymalizacyjne funkcji kryterium są dobre
do rozwiązywania tylko pewnej klasy zagadnień grupowania. Ponieważ algorytmy te znajdują lokalne
ekstrema funkcji, to cała metoda staje się bardzo czuła na dobór punktów startowych poszukiwanego
wektora wzorcowego.
3.3.3
Grupowanie rozmyte
Grupowanie rozmyte jest pomocne w przypadku, gdy nie istnieje wyraźna, ostra granica rozdzielająca naturalne grupy obiektów. W rzeczywistym świecie często obserwowane jest zjawisko
wielokrotnego bądź częściowego należenia danego obiektu do grupy.
Można wyróżnić dwa rodzaje grupowania rozmytego [128]: pierwsze korzysta z rozmytych relacji
do dokonania grupowania; drugi rodzaj oparty jest o funkcję kryterium, na podstawie której tworzy
się rozmyte grupy.
Jeżeli funkcja jądra ze wzoru (3.7) przyjmuje postać:
kh (xi , C) = k(d(xi , vh )),
(3.18)
to przyjmuje ona postać funkcji przynależności charakterystycznej dla zbiorów rozmytych:
(uih )m = k(d(xi , vh )).
(3.19)
Ma się wtedy do czynienia z częściową przynależnością do zbioru (grupy). Przykładową funkcję
kryterium dla grupowania rozmytego zaproponował Bezdek [12]:
Jm (U, V) =
c X
n
X
i=1 k=1
gdzie:
(uik )m d2ik ,
(3.20)
Grupowanie
76
m>1
współczynnik rozmycia,
c
liczba grup,
n
liczba obiektów,
V = [vi ]
macierz wzorców,
vi ∈ R
wzorzec i-tej grupy,
uik
przynależność xk do i-tej grupy,
dik
miara odległości pomiędzy xk ,
a elementem wzorcowym grupy vi ,
U = [uik ]
macierz przynależności.
Oprócz miary euklidesowej stosowane są miary L1 zaproponowane w [76], analizę uogólnionej
postaci algorytmu k-średnich dla miary Lp przedstawiono w [62].
Algorytm FCM
Algorytm znajdujący rozwiązanie równania 3.20 można zapisać w następujący sposób [12]:
Krok 1. Ustal parametry wejściowe algorytmu, takie jak ilość przedziałów c, kryterium zakończenia
E, współczynnik rozmycia , inicjalizacja macierzy współczynników przynależności U(0), indeks
cyklu t = 1.
Krok 2. Obliczenie wektora wzorcowego V(t) i macierzy U(t) zgodnie ze wzorami:
(t−1) m
) xi
i=1 (uij
,
(t−1) m
)
i=1 (uij
PN
vi = PN
uij =
1
2 ,
(t)
Pc
xi −va m−1
j=1
xi −vj(t) (3.21)
(3.22)
gdzie t oznacza numer iteracji.
Krok 3. Jeżeli nowa macierz podziału nie różni się o więcej niż o ε oraz nie został osiągnięty limit
iteracji wróć do kroku 2.
Inny wzór na obliczenie macierzy współczynników podziału:
exp{−βdik }
(uik )m = Pc
.
j=1 exp{−βdik }
Można również zastosować teorię możliwości [80]:
(3.23)
3.3 Grupowanie iteracyjne
77
uik =
1
1 + dηiki
(3.24)
lub
dik
uik = exp −
.
ηi
(3.25)
gdzie η, β określają współczynnik rozmycia.
FCMdd – grupowanie rozmyte dla rozwiązań w przestrzeni dyskretnej
W przypadku gdy przestrzeń rozwiązań jest dyskretna (przykładowo jeżeli w skład zbioru prototypów (V ) mogą wchodzić wyłącznie elementy ze zbioru wejściowego X) nie można stosować
typowych technik minimalizacji funkcji kryterium stosowanych dla przestrzeni ciągłych. W miejsce
metod gradientowych użyto funkcji sprawdzającej możliwość wykorzystania poszczególnych obiektów jako wzorca (analogicznie do metod k - mediana). Zapis algorytmu przedstawiono w algorytmie
3.4.
Grupowanie
78
Algorytm 3.4. Grupowanie rozmyte FCMdd
dane wejściowe : liczba klastrów c
grupowany zbiór obiektów X
generuj zbiór prototypów V spośród losowo wybranych elementów X
iter=0
repeat
//
obliczanie macierzy przynależności U
for i = 1 to c do begin
for j = 1 to n do begin
u[i,j]=fu(x,v)
end;
end;
Vold = V;
//zapamietaj poprzednią wartość wektora wzorcowego
for i = 1 to c do begin
q = szukajmin(X,U)
v[i]=x[q]
end;
iter = iter + 1;
until (Vold=V) or (iter=MAX_ITER);
Ponieważ nie można nowego wektora wzorcowego obliczyć, to poszukuje się go wśród obiektów
wybierając ten, dla którego funkcja kryterium, przy uprzednio obliczonej macierzy przynależności,
osiąga minimum. Niestety podejście to skutkuje kwadratową złożonością obliczeniową algorytmu z
uwagi na konieczność sprawdzenia w każdej iteracji każdego obiektu w roli wzorca. W praktyce najczęściej właściwy obiekt należy to tego samego klastra co poprzedni wzorzec, więc można ograniczyć
poszukiwanie tylko do danego klastra, lub bardziej szczegółowo, tylko do k obiektów najbardziej
bliskich w stosunku do poprzedniego wzorca. Wtedy szacowana złożoność algorytmu obniży się do
poziomu O(kn), czyli jest liniowa, w szczególności gdy k jest niewielką liczbą całkowitą.
3.4
Aglomeracyjne grupowanie hierarchiczne
Hierarchiczne grupowanie aglomeracyjne jest jedną z metod grupowania [34, 126]. W metodzie
tej klastry budowane są poprzez łączenie istniejących klastrów, bazując na ich odległości (czy też
innej stosowanej miary bliskości). Algorytmiczny zapis tej metody jest przedstawiono w alg:3.5.
3.4 Aglomeracyjne grupowanie hierarchiczne
79
Algorytm 3.5. Grupowanie aglomeracyjne
1) wybierz początkowy zbiór klastrów
2) znajdź najbliższą sobie parę klastrów i połącz je w jeden
3) powtarzaj krok 2 do osiągnięcia reguły zakończenia
Analizując pracę algorytmu można dojść do kilku wniosków. Po pierwsze: wykonanie każdego
cyklu skutkuje redukcją ilości klastrów o jeden. Drugi wniosek jest następujący: jeżeli dwa obiekty xi i
xj przynależą do tego samego klastra w cyklu k, to również będą przynależały do tego samego klastra
w każdym następnym cyklu pracy algorytmu. Kolejny wniosek mówi, że podziały otrzymywane w
wyniku pracy tego algorytmu tworzą rozłączne podziały, żadna para klastrów istniejących na danym
etapie obliczeń nie ma ze sobą części wspólnej.
Formuły każdego z trzech kroków algorytmu są bardzo ogólne i dają znaczną swobodę w możliwości ich implementacji oraz możliwością wpływania na osiągane rezultaty. I tak pierwszy krok, mówiąc
o początkowym podziale, nie narzuca dodatkowych wymagań. W najprostszym układzie dane inicjujące mają postać jednoelementowych zbiorów (każdy element tworzy samodzielną grupę), ilość grup
jest równa liczebności obiektów. W innym wariancie można wykorzystać, pochodzące z uprzedniego
przetwarzania, informacje odwzorowujące pewną zdobytą już wiedzę o strukturze. Z uwagi na to, że
układ początkowy przenosi się na końcową postać grupowania, możliwość decydowania o układzie
początkowym jest metodą na wykorzystanie posiadanej wiedzy w procesie grupowania.
Drugi krok algorytmu wymaga zdefiniowania miary bliskości, i to na dwóch płaszczyznach. Po
pierwsze w stosunku do pary obiektów, po drugie w stosunku do pary klastrów. Dobór odpowiedniej
miary bliskości ściśle zależy od przedmiotu grupowania.
W ostatnim kroku następuje testowanie warunku zakończenia. Warunek zakończenia może mieć
różnoraką postać. Przykładowo może to być osiągnięcie określonego limitu iteracji lub określonej
liczby grup (te dwa warunki są ze sobą ściśle powiązanie). Również osiągnięcie pewnej maksymalnej
liczebności klastra może stanowić warunek zakończenia grupowania. Kolejna postać warunku zakończenia to stan, w którym najmniejsza odległość pomiędzy klastrami przekracza pewną ustaloną
wartość. Również dopuszczalne jest użycie kombinacji logicznej kilku warunków.
Złożoność obliczeniowa powyższego algorytmu jest następująca. Liczba operacji wykonywanych w
każdej iteracji jest rzędu n2 , gdyż przeszukiwana jest macierz odległości pomiędzy poszczególnymi
obiektami (liczba obiektów maleje o 1 w każdej iteracji, co nie zmienia rzędu złożoności). Liczba
samych iteracji jest różnicą pomiędzy początkową liczbą obiektów (która wynosi n) i końcową liczbą
klastrów (która jest znacznie mniejsza od n). Reasumują złożoność obliczeniowa jest rzędu O(n3 ).
W literaturze istnieją algorytmy oparte o metody hierarchiczne o znacznie lepszej złożoności,
przez to lepiej nadające się do przetwarzania dużych zbiorów danych – na przykład algorytm BIRCH
[133] składający się dwóch etapów.
Grupowanie
80
Algorytm CURE
Kolejnym omawianym algorytmem jest CURE [52], stosujący grupowanie hierarchiczne w oparciu
o próbę losową (ang. random sample). Dzięki zmniejszeniu liczebności zbioru grupowanie hierarchiczne dokonuje się w akceptowalnym czasie, następne pozostałe elementy są przypisywane do uprzednio
uzyskanych klastrów zgodnie z przyjętym kryterium (ang. Label data). Użycie próbkowania pozwala
na redukcję liczby elementów podlegających grupowaniu. Jeżeli wielkość próby jest wystarczająco
duża, a układ elementów bardzo źle usytuowany, to otrzymywane wyniki nie odbiegają od wyników
otrzymywanych podczas przetwarzania całego zbioru.
Algorytm ROCK
Kolejny algorytm grupowania zwany ROCK (ang. RObust Clustering using linKs) również używa
metody aglomeracyjnej [53]. Dla zwiększenia skalowalności stosuje grupowanie oparte o próbę losową. Podstawowym zagadnieniem, które wyróżnia algorytm ROCK, jest użycie w funkcji kryterium
wiązań w miejsce klasycznych miar podobieństwa [53]:
El =
c
X
X
link(pq , pr )
(3.26)
1+2f (θ)
i=1 pq ,pr ∈Ci
ni
gdzie:
El
minimalizowana funkcja kryterium,
c
liczba grup,
Ci
grupa i,
ni
liczba elementów w grupie Ci ,
pq , p r
grupowane elementy,
link(pq , pr )
ilość wiązań (wspólnych sąsiadów) pomiędzy elementamipq , pr ,
1+2f (θ)
ni
oczekiwana liczba wiązań dla zbioru ni elementowego.
Szczegółowe omówienie miary bliskości jaką jest liczba istniejących wiązań pomiędzy poszczególnymi elementami zawarte jest w podrozdziale 2.2.3. Wzór (3.26) jest miarą jakości klastra, stanowi
funkcję kryterium. W algorytmie aglomeracyjnym jest potrzebna funkcja, która uszereguje pary klastrów w kolejności do łączenia. W algorytmie ROCK zaproponowaną następującą funkcję bliskości
klastrów:
g(Ci , Cj ) =
gdzie:
link(Ci , Cj )
(ni + nj
)(1+f (θ))
(1+f (θ))
− ni
(1+f (θ))
− nj
(3.27)
3.5 Grupowanie podziałowe
3.5
81
Ci , Cj
grupy i, j,
ni , n j
liczebność grup i, j,
link(Ci , Cj )
liczba wiązań pomiędzy klastrami i, j.
Grupowanie podziałowe
Proces grupowania w ramach metod podziałowych przebiega w odwrotnym kierunku niż w metodach aglomeracyjnych. Rozpoczyna się od jednego zbioru obejmującego wszystkie obiekty a następnie
dzieli się go w kolejnych krokach na podzbiory, aż do uzyskania żądanej liczby podzbiorów. Problem
określania kryterium podziału jest znacznie trudniejszy niż przy łączeniu. Należy bowiem rozważyć
wszystkie możliwe podziały, uwzględniając wszystkie atrybuty obiektów. Najczęściej jednak, z uwagi
na prostotę implementacji, stosuje się metody oparte o podział względem tylko jednej zmiennej w
danym kroku. Ogólną postać algorytmu podziałowego zapisuje się następująco:
Algorytm 3.6. Grupowanie podziałowe
1) Utwórz jeden zbiór (klaster) zawierający wszystkie obiekty.
2) Wygeneruj wszystkie możliwe podziały klastra na dwa lub więcej podzbiory.
3) znajdź najlepszy podział zgodnie z funkcją kryterium i zrealizuj go;
otrzymane podzbiory stają się nowymi klastrami w miejsce źródłowego.
4) Jeżeli każdy z obiektów znajduje się w oddzielnej klasie, zakończ;
w przeciwnym wypadku wykonuj rekurencyjnie kroki 2-4 dla każdego klastra.
Algorytmy oparte o metody podziałowe lepiej nadają się do grupowania obiektów opisanych atrybutami symbolicznymi niż numerycznymi. Natomiast ograniczeniem jest duża złożoność pamięciowa
i obliczeniowa algorytmów tej klasy, która jest większa od złożoności metod aglomeracyjnych i iteracyjnych. Osiągane przez metody podziałowe rezultaty zazwyczaj są gorsze od osiąganych metodami
aglomeracyjnymi [50].
3.6
Grupowanie dokumentów tekstowych
Wstępem do zagadnienia grupowania dokumentów tekstowych jest przyjęcie hipotezy przedstawionej przez van Rijsbergena [110] mówiącej o tym, że podobne do danego pytania dokumenty mogą
stanowić stosowną odpowiedź na to samo pytanie (ang. closely associated documents tend to be
relevant to the same request). Jeżeli dokumenty odnoszą się do tego samego zagadnienia to są do
siebie bardziej podobne. Zagadnienie określania podobieństwa dokumentów, które ma wyrażać podobieństwo tematyki zawartej w dokumencie, realizowane jest na wiele sposobów. Pierwszy sposób
Grupowanie
82
opiera się na spostrzeżeniu, że podobieństwo dokumentów jest ściśle skorelowane z bibliografią czy
też cytowaniami użytymi w tekście. Im więcej „wspólnych” cytowań mają dokumenty, tym są do
siebie bardziej podobne (z punktu widzenia istoty grupowania). Niestety jedynie niewielka ilość dostępnych dokumentów posiada bibliografię, znakomita większość jej nie zawiera. Drugą metodą jest
określenie słów kluczowych reprezentujących dany dokument. Tu również podstawową przeszkodą
jest brak takiego zbioru przynależnego do każdego dokumentu. Można oczywiście ręcznie uzupełniać
dokument o słowa kluczowe, ale dla dużych, szybko rozrastających się baz danych może to stanowić
duży wysiłek zarówno finansowy jak i organizacyjny. Najbardziej „niezależny” jest sposób opierający
się wyłącznie na tekście dokumentu. Mówiąc w dużym uproszczeniu polega on na selekcji szeregu
słów ze zbioru źródłowego, które mają stanowić „słowa kluczowe” dla tego dokumentu. Automatyzacja tego procesu jest obarczona dużym ryzykiem. Słowa kluczowe winny reprezentować główne
tezy i zagadnienia przedstawione w dokumencie, coś w rodzaju streszczenia czy podsumowania. Nie
należy ujmować w nim zagadnień związanych z wprowadzeniem, dygresjami, wątkami pobocznymi.
Aby się przed tym ustrzec należy dysponować dodatkową wiedzą na temat struktury dokumentu.
Przykładowo polega to na ograniczeniu się tylko do pierwszych akapitów tekstów, jak to skutecznie
zastosowano przy grupowaniu artykułów z Wall Street Journal, czy też ograniczeniu się do tytułów i
nagłówków [84]. Tego typu zabiegi, aczkolwiek skuteczne, to jednak są ograniczone tylko do danego
źródła dokumentów. Wiedza na temat semantyki, struktury, terminologii danej grupy dokumentów
znakomicie ułatwia, a co za tym idzie przyspiesza oraz zwiększa dokładność prowadzonych analiz.
Zasady grupowania lingwistycznego
Grupowanie danych określonych lingwistycznie bazuje na upodobnieniu do sposobu myślenia
przez człowieka, przede wszystkim wykorzystuje informację zawartą w termach lingwistycznych. Na
drodze budowy narzędzi wzorujących się na człowieku ważne jest opracowanie właściwej metody
grupowania wykorzystującej granulację jako właściwość informacji zapisanej lingwistycznie. W trakcie tworzenia odpowiedniego algorytmu grupowania należy rozwiązać szereg problemów. Pierwszy
wynika ze sposobu określenia brzegów przedziałów, które wyznaczają poszczególne grupy. Klasyczne
teorie zbiorów oparte są o ostre krawędzie. Algorytmy na tym oparte wprowadzają znaczący błąd
w przetwarzanie, spowodowany zupełnie różnym traktowaniem elementów bliskich sobie lecz ułożonych po przeciwnych stronach granicy rozdzielających przedziały. Sposób ten również nie odpowiada
intuicyjnemu podejściu do grupowania odpowiedniemu dla ludzkiej percepcji.
Drugi problem grupowania wynika z aspektu częściowej przynależności do zbioru. Teorie klasyczne nie przewidują takiego przypadku. Element może należeć do zbioru bądź nie należeć. Świat realny
wymaga jednak bardziej elastycznego podejścia. Typowe są przykłady określania wzrostu człowieka:
3.6 Grupowanie dokumentów tekstowych
83
osoby określa się mianem „trochę niski”, „prawie wysoki” itd. Idąc dalej można oczekiwać jednoczesnego przynależenia do kilku zbiorów. W oparciu o poprzedni przykład oba cytowane określenia
mogą dotyczyć tej samej osoby, a z tego wynika, że przynależy ona jednocześnie do zbioru wysokich
jak i do zbioru niskich.
Zadanie to może być rozwiązane poprzez jawne wprowadzenie takich funkcji przez użytkownika bądź eksperta lub też poprzez zastosowanie technik grupowania dokonanej na wskazanej bazie
danych. Stosowanie funkcji wprowadzanych jawnie ma pewne ograniczenia. Wynikają one z kilku
czynników. Aby dobrze skonstruować funkcję przynależności należy dobrze znać charakter opisywanych obiektów. Warunek ten jest spełniony dla obiektów z bezpośredniego otoczenia człowieka,
takich, które powszechnie są opisywane i grupowane. Wielkości takie jak wzrost człowieka, temperatura otoczenia przy podaniu dodatkowych parametrów (np. obszar czy środowisko) stosunkowo łatwo
poddają się podziałowi na grupy określone lingwistycznie, a reguły tym rządzące są dla większości
oczywiste. Analogicznie sprawa się przedstawia dla danych, których charakter znany jest grupie
ekspertów. Takie środowisko dysponuje również własnymi terminami lingwistycznymi, dla których
skonstruowanie funkcji przynależności jest możliwe. Natomiast w stosunku do pozostałych obiektów
sprawa się komplikuje. Oczywiście możliwe jest, aby użytkownik przeanalizował bazę danych, odpowiednio pogrupował obiekty i określił funkcje przynależności. Podejście to jest jednak pracochłonne.
Można to próbować dokonać automatycznie, korzystając z technik grupowania.
Zbiór słów – etykiet składających się na zmienną lingwistyczną zależy od opisywanej wielkości
i celu stosowania zmiennej. W zależności od potrzeb można dobierać stopień granulacji wpływając tym samym na stopień niepewności, dokładności czy też rozmycia. Jednostkowy przedział [0, 1]
w najprostszym przypadku można „pokryć” trzema słowami: {„mało”, „połowa”, „dużo”}. Dodając kolejne określenia przechodzimy do bardziej precyzyjnych opisów: { „nic”, „mało”, „połowa”,
„dużo”, „wszystko”} { „nic”, „prawie nic”, „mało”, „prawie połowa”, „połowa”, „dużo”, „prawie
wszystko”, „wszystko”}. Powyższy przykład pokazuje w jaki sposób można wpływać na stopień granulacji zapisywanej informacji.
Reprezentacja dokumentu
Formalny zapis dokumentu ma postać wektora słów [115]:
D = {ti , tj , . . . , tp },
(3.28)
w którym każde tk reprezentuje słowo zawarte w danym dokumencie D. Zazwyczaj przedmiotem
analizy jest zbiór dokumentów. Zapis 3.28 uogólnia się w następujący sposób: elementami zbioru D są
pary, z których każda składa się ze słowa mogącemu wystąpić w dokumencie oraz wagi odpowiadające
Grupowanie
84
założonej asocjacji pomiędzy danym słowem tk a dokumentem Dd :
Dd = {t1 , wd1 ; t2 , wd2 ; . . . ; tt , wdt }.
(3.29)
W najprostszym przypadku wdk może binarnie oznaczać występowanie wdk = 1 bądź brak wdk = 0
słowa tk w dokumencie Dd .
Miara odległości dla danych postaci lingwistycznej
Większość algorytmów grupowania bazuje na mierze odległości. Odległością nazywamy funkcję
przekształcającą dwa dane obiekty w dodatnią liczbę rzeczywistą zgodnie ze wzorem (2.5). Dla
części danych numerycznych stosuje miary odległości w przestrzeni metrycznej, np. euklidesowa
miara odległości. Dla danych postaci lingwistycznej formuła ta się nie sprawdza. W tym wypadku
należy się odwołać do istoty informacji ukrytej w słowach (termach) lingwistycznych. Na przykład,
jeżeli dany obiekt zawiera adres administracyjny, to można skonstruować algorytm, korzystający
z odpowiedniego słownika, który obliczy odległość geograficzną. Przykładowo dla bazy z trzema
instancjami I = {i1 = „KATOWICE”, i2 = „KRAKÓW”, i3 = „WARSZAWA”} przyjmuje się
dL(i1 , i2 ) = 70km, dL(i1, i3) = 300km (dL jako oznaczenie funkcji liczącej odległość geograficzną
pomiędzy miejscowościami). Obok funkcji odległości pomiędzy obiektami do grupowania stosuje
się również funkcje określające podobieństwo. Przykładem funkcji podobieństwa jest współczynnik
Jaccarda [70].
Aby jednak właściwie obliczyć współczynnik Jaccarda należy odpowiednio przekształcić badane
obiekty tak, aby móc zdefiniować funkcje sumy i iloczynu. Przykładowo podczas porównywania tekstów w języku naturalnym dokonuje się przekształcenia tekstu na postać zbioru, którego elementami
są poszczególne słowa. Zakłada się, że podobieństwo dwóch tekstów w języku naturalnym głównie
zależy od jednoczesnego występowania pewnych słów w obu tekstach. Takie założenie dość dobrze
sprawdza się w przypadku przetwarzania dokumentów typu publikacje naukowe, prasowe, katalogowanie stron internetowych. Jednak w wielu zastosowaniach stosuje się inne, bardziej zaawansowane
funkcje obliczania podobieństwa uwzględniające takie czynniki jak: fleksja, wieloznaczność, semantyka i syntaktyka języka.
Zastosowanie zbiorów rozmytych do danych lingwistycznych
Zbiory rozmyte są jedną z form reprezentacji obiektów danej rzeczywistości [67]. Poprzez przyjęcie
koncepcji oraz mechanizmów z dziedziny zbiorów rozmytych ujmuje się niepewną i niedefiniowalną
czasami istotę obiektów i zdarzeń obserwowanych w rzeczywistym świecie. Koncepcyjnie zbiory rozmyte są rodzajem łącznika pomiędzy niepewną i niepełną wiedzą człowieka, a zdolnością do algorytmicznego przetwarzania danych o ostro zaznaczonych granicach (np.danych punktowych).Stanowią
3.6 Grupowanie dokumentów tekstowych
85
również rozwiązanie problemu częściowej przynależności do zbioru, faktu powszechnie występującego
w stosowanych w realnym świecie klasyfikacjach, a niezwykle trudnego do wyrażenia w klasycznej
teorii zbiorów. Należy również podkreślić inną istotną właściwość zbiorów rozmytych. W odróżnieniu
od zbiorów klasycznych, które są nieróżniczkowalne, zbiory rozmyte mają charakter ciągły. Dzięki czemu możliwe jest stosowanie niektórych form optymalizacji gradientowych niedostępnych dla
zbiorów klasycznych. Kolejnym aspektem są narzędzia wprowadzone w ramach zbiorów rozmytych,
a stosowane w realnym świecie. Są to: modyfikatory lingwistyczne (np. bardzo, niewiele), przybliżenia lingwistyczne (np. około, więcej niż). Zalete te stanowią o użyciu teorii zbiorów rozmytych jako
podstawy w wielu aplikacjach używanych w realnym świecie [66].
Z uwagi na to, że informacja zawarta w danych lingwistycznych (w termach lingwistycznych)
ma charakter ziarnisty to sposób jej reprezentacji winien odwzorowywać tę postać. Wydaje się, że
zbiory rozmyte najlepiej spełniają ten postulat. Aby wprowadzić miarę odpowiadania reprezentacji
rzeczywistemu obiektowi poprzez zbiór rozmyty potrzeba jest skonstruowania wskaźnika niezdecydowania (ang. hesitation)[67]. Wskaźnik ten ma za zadanie określić, czy dany element jest odpowiednim
reprezentantem zbioru rozmytego. Istnieją dwa graniczne przypadki dotyczące wartości wskaźnika
niezdecydowania:
• jeżeli zbiór rozmyty zawiera wyłącznie jeden element, F = {x0 }, to brak jest niezdecydowania
co do właściwego reprezentanta,
• jeżeli F obejmuje prawie całą dziedzinę i większość elementów ma stopień przynależności równy
1, to wybranie tylko jednego reprezentanta, mającego najlepiej określać cały zbiór F , jest
bardzo trudne, stopień niezdecydowania jest najwyższy.
Te dwa skrajne przypadki wyznaczają granice określające stopień granulacji informacji. Jest to o
tyle istotne, gdyż zazwyczaj stosuje się do reprezentacji danego pojęcia rodzinę zbiorów rozmytych.
W wielu zastosowaniach używa się kilka zbiorów rozmytych, również określanych poprzez etykiety lingwistyczne, które mają za zadanie stać się punktami referencyjnymi podczas przetwarzania
informacji. Poprzez użycie postaci lingwistycznej do opisu danego systemu ułatwione zostanie obejście problemu strukturalnej sprzeczności pomiędzy pełnią znaczeń a precyzją opisów. Zazwyczaj
im model bardziej szczegółowy tym trudniej z niego uzyskać ogólną wiedzę, w przypadku utraty
szczegółowości zwiększa się niebezpieczeństwo pominięcia istotnych przesłanek co prowadzi do uzyskania nieprawdziwych wniosków. Przetwarzanie lingwistyczne daje prosty mechanizm wpływania
na stopień szczegółowości danych poprzez regulację stopnia granulacji.
Z formalnego punktu widzenia dana jest rodzina zbiorów rozmytych, określona na dziedzinie X:
F = {F1 , F2 , . . . , Fc }
gdzie:
(3.30)
Grupowanie
86
Fi
zbiór rozmyty,
F
rodzina zbiorów rozmytych,
c
liczba elementów w rodzinie zbiorów
o następujących właściwościach:
1. Pokrycie – F pokrywa tak X, że każdy element X należy przynajmniej do jednego zbioru, co
formalnie zapisuje się następująco:
∀x∈X ∃i=1,2,...,c Fi (x) > 0
(3.31)
gdzie:
X = {x}
zbiór obiektów,
Fi
etykieta zbioru rozmytego,
Fi (x)
współczynnik przynależności obiektu x do zbioru Fi ,
c
liczba etykiet,
F
rodzina zbiorów rozmytych.
2. Suma współczynników przynależności dla każdego elementu wynosi 1, wtedy model określany
jest jako podział rozmyty (ang. fuzzy partition):
∀x∈X
c
X
Fi (x) = 1.
(3.32)
i=1
Jednym z zastosowań zbiorów rozmytych jest reprezentacja znaczeń słów języka naturalnego.
Poszczególne zbiory rozmyte stanowią reprezentację znaczeń danego słowa, które to słowo jednocześnie stanowi etykietę lingwistyczną zbioru rozmytego. Istnieją zalecenia, wynikających z analogii do
języka naturalnego, pomagające we właściwym „tłumaczeniu” elementów na etykiety:
1. każda para Ai i Aj są wystarczająco rozdzielne, im lepiej to wymaganie jest spełnione, tym
łatwiej przypisać poszczególne obiekty do etykiet, podział jest bardziej znaczący,
2. liczba elementów A winna być niewielka, zazwyczaj wynosi 7 ± 2 co wynika z pewnych psychologicznych właściwości człowieka. Spotyka się również zalecenia do stosowania reguły 4 ± 2
w zakresie gdy do czynienia się ma z pamięcią wzrokową [65].
Zbiory rozmyte stanowią rozwiązanie problemu reprezentacji niepełnych i nieostrych znaczeń
słów języka naturalnego.
3.7 Grupowanie genetyczne
3.7
87
Grupowanie genetyczne
Omówienie zagadnień algorytmów genetycznych i ewolucyjnych w zakresie ich zastosowań w
eksploracji danych i pozyskiwania wiedzy znajduje się w [42].
Algorytmy genetyczne (GA), zaproponowane i rozwinięte przez Hollanda [68] oraz ich rozszerzenie: algorytmy ewolucyjne (EA), stanowią próbę przeniesienia naturalnych procesów zachodzących
w świecie organizmów żywych – ewolucji i związanej z nią naturalnej selekcji, do rozwiązywania
problemów polegających na poszukiwaniu rozwiązań optymalnych. Z racji zaczerpnięcia idei podstawowych mechanizmów rządzących systemami biologicznymi, wiele z terminów zapożyczono z
dziedziny genetyki. Podstawowe pojęcia związane z algorytmami ewolucyjnymi:
• osobnik – struktura zawierająca zakodowane istotne parametry zadania,
• populacja – zbiór osobników,
• gen – pojedynczy element genotypu, zawierający jeden z zakodowanych elementów rozwiązania,
• chromosom – uporządkowany ciąg genów (łańcuch kodowy),
• genotyp – zespół chromosomów danego osobnika (zakodowane rozwiązanie),
• fenotyp – zestaw wartości rozwiązania odpowiadających danemu genotypowi (zdekodowane
rozwiązanie),
• przystosowanie – jakość osobnika, z punktu widzenia zastosowanego kryterium oceny,
• pokolenie – generacja, iteracja algorytmu,
• rodzice – wybrane do reprodukcji osobniki.
Algorytmy ewolucyjne realizują podstawowe założenia teorii ewolucji: reprodukcję, mutację i
selekcję, tworzą szeroką dziedzinę algorytmów przeszukiwania i optymalizacji. Wspólnymi cechami
algorytmów ewolucyjnych, odróżniającymi je od innych, tradycyjnych metod optymalizacji, są:
• stosowanie operatorów genetycznych, które dostosowane są do postaci rozwiązań,
• przetwarzanie populacji rozwiązań, prowadzące do równoległego przeszukiwania przestrzeni
rozwiązań z różnych punktów,
• w celu ukierunkowania procesu przeszukiwania wystarczającą informacją jest jakość aktualnych
rozwiązań,
• celowe wprowadzenie elementów losowych.
Grupowanie
88
Algorytmy genetyczne zapewniają skuteczne mechanizmy przeszukiwania dużych przestrzeni rozwiązań. Ponieważ grupowanie należy do tej kategorii zadań to oczywiste jest, że algorytmy genetyczne stosowane są w grupowaniu. Algorytmy genetyczne są bardziej niezależne od wstępnej inicjalizacji
oraz mniej skłonne do znajdowania lokalnych rozwiązań w miejsce optymalnych. Technika grupowania genetycznego obejmuje kilka zagadnień potrzebnych do ustalenia:
• ustalenie genomu jako reprezentanta wyniku grupowania
• ustalenie funkcji przystosowania/dopasowania
• ustalenie operatorów przeszukiwania
Tworzenie genomu jest dokonywane w ścisłym skojarzeniu z wybraną metodą grupowania. Najbardziej oczywiste jest utworzenie genomu z tablicy podziału na grupy. Każdy obiekt jest reprezentowany w genomie przez określony ciąg bitów, w których zapisana jest przynależność obiektu do
określonej grupy.
Dla metod podziałowych k-means oraz c-means genom reprezentuje wektor wzorcowy względem
którego dokonuje się podziału. Dla obiektów będącymi punktami w przestrzeni wielowymiarowej
genom tworzony jest poprzez „sklejenie” poszczególnych współrzędnych, zapisanych w wybranej notacji binarnej, w jeden ciąg bitów. Funkcja przystosowania wzięta jest bezpośrednio z wymienionych
metod odpowiednio J1 (3.16) i Jm (3.20).
Aby stosować algorytmy genetyczne nie muszą być spełnione żadne specjalne warunki i ograniczenia co do danych. Musi tylko istnieć funkcja kryterium (funkcja przystosowania), którą najczęściej
jest sama miara jakości podziału.
Poszczególne algorytmy grupowania, oparte o ideę genu, różnią się od siebie technikami modyfikacji „genu”. Najbardziej rozpowszechnione operatory to:
• krzyżowanie – wymiana „materiału genetycznego” pomiędzy dwoma osobnikami w populacji.
W wyniku krzyżowania tworzone są dwa nowe osobniki,
• mutacja – modyfikacja rozwiązania, poprzez zmianę jednego lub więcej genu, poprzez co powstaje nowy osobnik. Współczynnik mutacji określa liczbę osobników podlegających mutacji
w danym pokoleniu.
Inne stosowane operatory genetyczne to operator inwersji, duplikacji, delacji, translokacji, segregacji [120].
3.8 Ocena jakości grupowania
3.8
89
Ocena jakości grupowania
Problem oceny jakości dokonanego grupowania jest trudny i wydaje się nie mieć uniwersalnego
rozwiązania. Szczegółową analizę tego problemu w sensie ogólnym, dotyczącym całości zagadnień
eksploracji danych przedstawiono w podrozdziale 1.3. Niniejszy podrozdział omawia zagadnienie
oceny jakości grupowania, w kontekście eksploracji danych. Poniżej wymieniono podstawowe cechy
grupowania, które przyjmuje „dobry” podział [97]:
• prostota — prosta reprezentacja grupowania, czystość reguł podziału, proste zasady przypisywania obiektów do grup, chociaż może prowadzić do trywialnych wyników, jednak zawsze
stanowi istotny argument w procesie pozyskiwania wiedzy,
• dopasowanie — rozwiązanie lepiej odzwierciedlające charakter danych ma bardziej skomplikowany zapis, co rodzi konflikty z kryterium prostoty,
• spójność — określane poprzez dwa wskaźniki: spójność wewnątrz grupową (poszukiwane maksimum) i spójność międzygrupową (poszukiwane minimum), spójność zależy od sumy odległości
pomiędzy obiektami w ramach klastra lub klastrów,
• rozłączność — mierzona jako suma wskaźników rozłączności, które definiowane są dla każdej
pary klastrów, jako liczba selektorów definiujących te klastry, dla których zbiory wartości
atrybutów są rozłączne,
• wskaźnik dyskryminacji — jest to liczba atrybutów, które samodzielnie stanowią o przypisaniu
obiektu do klastra, tj. dla różnych klastrów wartości tych atrybutów są różne.
Jak widać z powyższego wyliczenia kryteria jakości podziału mają formę zaleceń, nieprecyzyjnych
reguł, często prowadzących do konfliktu w procesie wyboru rozwiązania. Ale wynika to z faktu że
problem oceny jakości grupowania leży w zakresie oceny jakości wiedzy, obszaru w którym człowiek
z wielką trudnością formułuje zasady, reguły czy algorytmy postępowania.
Ponieważ nie istnieje jedynie słuszna metoda grupowania, dająca idealne wyniki, to należy skonstruować kryteria oceny, według których można będzie oceniać otrzymane wyniki. Posiadając odpowiednią funkcję oceny dokonuje się doboru i optymalizacji metod i algorytmów grupowania. Poniżej
wymieniono szereg kryteriów, których spełnienie powinna oceniać funkcja oceny jakości grupowania
[27]:
• dopasowanie grup do przykładów trenujących, mierzone jako łączne rozproszenie wszystkich
kompleksów wyznaczających grupowanie,
• złożoność opisu grupy, mierzona jako liczba występujących we wszystkich kompleksach selektorów nieuniwersalnych,
Grupowanie
90
• zróżnicowanie grup, reprezentowanych przez kompleksy rozłączne, mierzone przez łączne rozproszenie koniunkcji wszystkich par kompleksów,
• stopień pokrycia zbioru, mierzony przez liczbę nie pokrywanych przez grupowanie przykładów.
Do porównywania poszczególnych metod grupowania zastosowano następujące miary jakości podziału:
• miara jednorodności,
• miara utraty informacji,
• miara względnej spójności.
Aby właściwie móc porównywać różne metody grupowania obiektów należy dysponować odpowiednią funkcją oceny podziału. Zgodnie z ideą grupowania, która polega na gromadzeniu obiektów
podobnych w tym samym zbiorze, a obiektów niepodobnych w różnych, funkcja oceny grupowania
winna oceniać spójność wewnątrz grupy oraz spójność między daną grupą a resztą. W przypadku
danych reprezentujących obiekty rzeczywiste funkcja oceny winna odwoływać się do tych samych
zasad kategoryzacji, jaki jest wykorzystywany przez człowieka. Takie „nastawienie” na człowieka
wynika z dwóch przesłanek. Po pierwsze człowiek w ramach rozwoju cywilizacyjnego wykształcił
zaawansowany aparat kategoryzowania wszelkiego rodzaju obiektów, zjawisk, które znajdowały się
w jego otoczeniu. Służą mu do tego takie narzędzia, jak: język (jako środek opisu), wiedza którą
posiada, a nawet elementy tak nieuchwytne jak mądrość czy intuicja. Po drugie najczęściej człowiek
występuje w pewnej relacji z kategoryzowanymi obiektami, jest twórcą, użytkownikiem, decydentem.
Przykładowo jednym z ogólnych zadań eksploracji danych jest przewidywanie przyszłych zachowań
konsumentów na podstawie informacji dotychczas zgromadzonej. Po trzecie to człowiek jest ostatecznym odbiorcą wyników grupowania.
W toku badań nad procesem grupowania dokonywanym przez człowieka poznano kilka jego
aspektów [95]:
• każdą kategorię (grupę) tworzy się w oparciu o kontrast, przeciwstawienie jej pozostałym,
• każda grupa ma zwykle jeden lub kilka obiektów „najlepszych”, wzorcowych, będących jej
reprezentantami,
• grupy zawierają obiekty, których cechy nie są konieczne lub wystarczające do określenia ich
przynależności do nich,
• grupy mogą być reprezentowane przez współzależność atrybutów obiektów, przy czym siła tej
współzależności może zostać wykorzystana do oceny ich spójności,
3.8 Ocena jakości grupowania
91
• znając cel grupowania człowiek pewnym atrybutom nadaje większą wagę, tj. atrybuty te mają
większy wpływ na ostateczną postać grupowania.
Wiele miar jakości podziału zakłada niezależność atrybutów i w ten sposób łączy predyktywność
dla wszystkich atrybutów i wszystkich grup. W świecie rzeczywistym obiekty często opisywane są
atrybutami, które nie są od siebie niezależne. W takim przypadku stosowanie niektórych miar może
prowadzić do wypaczeń. Człowiek w swym procesie klasyfikacji wręcz wykorzystuje współzależność
atrybutów. Zakłada się że podobieństwo obiektów jest funkcją współzależności atrybutów w zbiorze
obiektów [112].
3.8.1
Podstawowe definicje związane z pomiarami jakości grupowania
Jednym z problemów grupowania jest określenie optymalnej ilości grup, na które ma zostać
dokonany podział. Jak już powiedziano poszukiwany jest podział, według którego grupy są dobrze
odseparowane od siebie, a poszczególne elementy w grupach są blisko siebie. Wiele algorytmów
wymaga albo jawnego zadania oczekiwanej liczby grup, albo określenia jednego z kryteriów (np.:
minimalna gęstość), którego spełnienie zakończy poszukiwanie podziału.
Podstawowe definicje związane z pomiarami jakości grupowania:
Definicja 10. Wariancja atrybutu A obiektów ze zbioru X = {x1 , . . . , xin } oznaczana jako σ 2 (X) ∈
R:
n
σ 2 (X) =
1X
(A(xj ) − x̄)2 ,
n j=1
(3.33)
gdzie A(x1 ), . . . , A(xn ) są wartościami atrybutu A obiektów ze zbioru X a x̄ wartością średnią:
n
x̄ =
1X
A(xk ).
n j=1
(3.34)
Definicja 11. Wariancja klastra Ci zawierającego elementy Ci = {x1 , . . . , xin } jest definiowana
następująco:
σ 2 (Ci , vi ) =
n
1 X
(A(xij ) − vi )2 ,
ni j=1
(3.35)
gdzie vi oznacza wzorzec klastra Ci .
Definicja 12. Średnia spójność (ang. scattering) dla c klastrów:
Pc
Scat(X, V) =
gdzie V jest zbiorem elementów wzorcowych.
σ 2 (Ci , vi )
σ 2 (X)
i=1
(3.36)
Grupowanie
92
Tabela 3.1. Tablica koincydencji dla grupy j.
przypisano
TAK
NIE
prawidłowo
TAK NIE
aj
bj
cj
dj
Scat(X, V ) jest wskaźnikiem średniej wariancji dla wszystkich klastrów. Małe wartości tego
wskaźnika oznaczają że poszczególne klastry są bardzo spójne (poszczególne klastry grupują obiekty
o dużym podobieństwie).
Definicja 13. Globalna separacja (ang. total separation)pomiędzy klastrami:
c
Dmax X
Dis(V ) =
Dmin i=1
1
Pc
|v
j=1 i − vj |
!
(3.37)
gdzie Dmax oznacza maksimum a Dmin oznacza minimalną odległość pomiędzy wektorami wzorcowymi.
Definicja 14. Wskaźnik dobroci dla zbioru klastrów wyodrębnionych w ramach zbioru X:
G(X, V ) = α · Scat(X, V ) + Dis(R).
(3.38)
Jakość podziału zależy zarówno od separacji pomiędzy klastrami jak i spójności wewnątrz grup.
Należy dbać o równoległe polepszanie obu wskaźników. Współczynnik α ma za zadanie wyrównanie
różnicy zakresów dla obu wskaźników tak aby ich wpływ na wartość ostateczną wskaźnika dobroci był
jednakowy [55].
Wskaźniki skuteczności
Jeżeli grupowaniu poddawane są zbiory danych o znanej klasyfikacji to
potrzeba oszacowania skuteczności tych działań. Przykładowo podczas rozdzielania zbioru obiektów
na dwie części mogą wystąpić następujące przypadki błędów: nie przypisano elementu, który powinien być przypisany oraz przypisano element, który nie powinien być przypisany. W tablicy 3.1
określono możliwe do uzyskania rezultaty. Najlepszy wynik uzyskuje się wówczas gdy bj i cj są równe
0.
Można zdefiniować dwa wskaźniki mierzące skuteczność grupowania:
dokładność (ang. r — recall )
r=
a
,
a+c
(3.39)
3.8 Ocena jakości grupowania
93
precyzja (ang. p — precision)
p=
a
.
a+b
(3.40)
Dokładności i precyzja zależy od sposobu grupowania i parametrów wejściowych. Niestety najczęściej zmiany danych wejściowych powodują zmiany wymienionych wskaźników w przeciwnych
kierunkach, polepszając jeden pogarsza się drugi. Posiadając dwa wskaźniki trudno jest również wyznaczyć optimum. W tym celu można się posłużyć wskaźnikiem F-measure zaproponowanym prze
Van Rijsbergena [110]:
(β 2 + 1)pr
.
β2p + r
Często spotykaną postacią wzoru (3.41) jest przypadek dla β = 1. Wtedy:
Fβ (r, p) =
F1 (r, p) =
2pr
.
p+r
(3.41)
(3.42)
Kolejnym zagadnieniem jest podział na wiele grup. Wzory na dokładność i precyzję dotyczą
podziału na dwie grupy (parametry drugiego zbioru są takie same tylko lustrzanym odbiciu rozmieszczenia w tablicy 3.1), natomiast w przypadku większej ilości grup można zastosować dwie
techniki zwane: mikro uśrednianie (ang. micro average) oraz makro uśrednianie (ang. macro average). Dla makro uśredniania wskaźniki skuteczności (3.40) i (3.39) są indywidualnie obliczane dla
każdej grupy, a następnie uśredniane. Dla mikro uśredniania tablica konicydencji 3.1 jest obliczana
poprzez jednoczesne zsumowanie odpowiednich wartości dla wszystkich grup i w ten sposób obliczane są wskaźniki skuteczności grupowania. W zależności od przyjętego sposobu obliczania wykazuje
się różny wpływ wyników poszczególnych grup na wynik ostateczny. W przypadku mikro uśredniania faworyzuje się większe grupy, natomiast dla makro uśredniania wpływ wszystkich grup jest
jednakowy.
3.8.2
Miara jednorodności
Do oceny jakości podziału stosuje się miary jednorodności albo zróżnicowania (ang. impurity
measure). W zależności od wybranej funkcji poszukuje się jej minimum albo maksimum. Jeżeli dany
jest zbiór obiektów X, które zostały rozdzielone do grup C = {C1 , . . . , Cc } to można utworzyć wektor
prawdopodobieństw przynależności do klas postaci:
|C1 | |C2 |
|Cc |
p = (p1 , p2 , . . . , pc ) =
,
,...,
,
|X| |X|
|X|
c
X
i=1
pi = 1,
(3.43)
(3.44)
Grupowanie
94
gdzie:
pi
prawdopodobieństwo przynależności do grupy i,
p
wektor prawdopodobieństw przynależności,
c
liczba grup,
|Ci |
liczebność grupy i,
|X|
liczebność grupowanych obiektów.
Definicja 15. Funkcję
ϕ : [0, 1]k → R
(3.45)
taką, że ϕ(p) ­ 0 dla każdego wektora p, nazywa się funkcją zróżnicowania, jeśli ma następujące
właściwości:
1. ϕ(p) = max ⇒ ∃1¬i¬k pi = 1,
2. ϕ(p) = min ⇒ ∀1¬i¬k pi = k1 ,
3. jest funkcją symetryczną.
Przykładami funkcji zróżnicowania są miara entropii [27], wskaźnik zróżnicowania Giniego [17],
statystyka χ2 [47].
Ponieważ podział zbioru obiektów dokonuje się w oparciu o wartości atrybutów, kryterium wyboru powinno być miarą porównującą stopień zróżnicowania ze względu na wartości poszczególnych
argumentów. Dokonuje się tego obliczając średnią ważoną funkcji zróżnicowania ϕ(p) w oparciu o
warunkowe prawdopodobieństwa względem poszczególnych wartości atrybutów:
ψ(C, A) =
m
X
|Cj |
j=1
3.8.3
|X|
ϕ(Cj ).
(3.46)
Reguła podziału na 2 części
Przykładem miary jakości podziału może być funkcja stosowana w algorytmie CART [17] reguła
podziału na 2 części (ang. twoing rule):
pA pb
T (X, XA , XB ) = Pk
,
B 2
( i=1 |pA
i − pi |)
gdzie:
XA , X B
podział X na dwa podzbiory X = XA ∪ XB ,
pA , p B
prawdopodobieństwo że obiekt należy do podzbioru, odpowiednio, XA XB ,
B
pA
i , pi
prawdopodobieństwo że obiekt należący do XA należy do grupy Ci .
(3.47)
3.8 Ocena jakości grupowania
95
Test χ2
3.8.4
Standardowym testem określającym niezależność zmiennych w tablicach koincydencji jest statystyka χ2 :
χ2 =
gdzie
r X
c
X
(Oij − Eij )2
,
Eij
i=1 j=1
Oij
obserwowana częstotliwość wystąpień w komórce ij,
Eij
oczekiwana częstotliwość wystąpień w komórce ij
P
P
j Oij
i Oij
Eij =
,
N
(3.48)
(3.49)
gdzie N jest globalną liczbą obserwacji.
Test χ2 określa czy dane dwa kryteria podziału są zależne czy też nie. Jeżeli kryteria są niezależne to funkcja przybiera wartość zero. Określenie stopnia zależności kryterium ma istotną wartość
dla szacowania jakości podziału, jako że niezależność kryteriów dowodzi rozdzieleniu obiektów niepodobnych do różnych klastrów.
Na mierze χ2 jest opartych wiele wskaźników, przytoczyć można współczynnik Youl‘a, Czuprowa,
Cramera, współczynnik kontygencyjności Pearsona czy współczynnik τ Kendalla.
3.8.5
Przyrost informacji
Niektóre ze sposobów określania miary podobieństwa wywodzą się z teorii informacji. Zakłada
się, że takie grupowanie, które daje największy przyrost informacji jest optymalne, gdyż odpowiada
to małemu zróżnicowaniu kategorii w podzbiorach. Entropia jako miara zróżnicowania wydaje się
być bardzo uniwersalną funkcją, niezależną od charakteru zmiennych.
Informację zawartą w zbiorze etykietowanych przykładów P można wyrazić następująco:
X
I(P ) =
−
d∈D
gdzie:
|P |
d
|P |
|P d |
|P d |
log
,
|P |
P
(3.50)
liczebność zbioru przykładów,
liczebność podzbioru przykładów zbioru P należących do kategorii d,
D
zbiór kategorii możliwych do wyznaczenia w zbiorze przykładów P ,
przy czym logarytm może mieć dowolną podstawę, lecz konsekwentnie tę samą.
Entropię przykładów P ze względu na wynik r testu t oblicza się następująco:
Etr (P ) =
X
d∈D
gdzie:
−
d
|Ptr
|
|P d |
log tr .
|Ptr |
|Ptr |
(3.51)
Grupowanie
96
|Ptr |
liczebność podzbioru przykładów, dla których test t daje wynik r,
d
|Ptr
|
liczebność podzbioru przykładów zbioru P d , dla których test t daje wynik r
D
zbiór kategorii możliwych do wyznaczenia w zbiorze przykładów P ,
Entropia zbioru przykładów P ze względu na test t jest definiowana jako średnia ważona entropia
dla poszczególnych testów:
Et (P ) =
X |Ptr |
Etr (P ).
|P |
(3.52)
r∈Rt
Przyrost informacji (ang. information gain) jest określony jako różnica:
gt (P ) = I(P ) − Et (P ).
(3.53)
Ponieważ jednak informacja I(P ) ma wartość niezależną od ocenianego testu i właściwą dla zbioru
przykładów P , jako kryterium wystarczy zastosować minimalizację entropii Etr (P ).
Dla zbioru przykładów przyrost informacji obliczany jest następująco:
X
gt (P ) = −
(c(x) = d) · log(c(x) = d)
d∈C
+
X
(c(x) = d | ai (x) = v) · log(c(x) = d | ai (x) = v)
(3.54)
d∈C
+
X
(c(x) = d | ai (x) 6= v) · log(c(x) = d | ai (x) 6= v).
d∈C
.
Entropia przyjmuje maksymalne wartości wtedy gdy rozkład wartości atrybutów jest równomierny, natomiast osiąga minimum gdy obiekty posiadające atrybuty o danej wartości zgromadzone są w
jednej grupie. Obiekty są do siebie podobne wtedy gdy posiadają równe wartości swych atrybutów.
Tym samym stosowanie funkcji oceny przyrostu informacji jako poszukiwania podziału spełniającego
warunek maksymalizacji wartości tej funkcji pokrywa się z celem grupowania.
arg max gt (P )
(3.55)
t
3.8.6
Wskaźnik Xie - Beni
Do szacowania jakości podziału pozyskanego w wyniku grupowania rozmytego można zastosować
wskaźnik zaproponowany w [125]:
Pc
s=
Pn
2
k=1 (uik )(vi −
n min d2 (vi − xi )
i,k
i=1
xi )
(3.56)
Im mniejsza jest wartość s, tym lepsza jest spójność i separacja. Celem jest minimalizacja wartości
s w zależności oz założonej ilości grup c. Wskaźnik Xie-Beni może służyć jako kryterium doboru
ilości grup, na które dokonuje się podziału.
Rozdział 4
Metody oparte o listy decyzyjne
Wstęp
Rozwój algorytmów indukcji reguł ukierunkowany był przede wszystkim na perspektywę klasyfikacji. Zbiór reguł traktowany jest jako klasyfikator, ale jednocześnie jako opis zbioru danych w
perspektywie pozyskiwania wiedzy. Algorytmy grupowania wykorzystujące reguły to powszechnie
znane algorytmy deglomeracyjne. Nowością zaproponowaną przez autora jest zastosowanie zbioru
reguł w formie listy decyzyjnej w procesie grupowania. Dzięki takiemu ujęciu polepszyła się jakość prezentacji wyników grupowania z punktu widzenia ludzkiej percepcji i łatwości przyswojenia.
Zmiana formy zapisu podziału umożliwiła skonstruowanie nowej metody grupowania danych.
Drugą propozycją jest wykorzystanie wyżej wymienionej metody opartej na listach decyzyjnych
do skonstruowania i zaimplementowania nowych algorytmów grupowania. Autor przedstawia w swojej pracy własne propozycje algorytmów pełnego przeglądu, heurystycznego i genetycznego, których
praktyczną implementację oraz weryfikację poprawności przedstawiono w rozdziałach następnych.
Rozdział zakończono dyskusją na temat zalet przedstawionej metody.
4.1
Wprowadzenie list decyzyjnych
Listy decyzyjne stanowią istotny element maszynowego uczenia się. Zostały zaproponowane po
raz pierwszy w [111]. Listy decyzyjne są formą zbioru reguł decyzyjnych, w którym ustalono porządek, czyli kolejność w jakiej reguły mają być wykorzystane do klasyfikowania przykładów. Hipoteza
reprezentowana przez taki zbiór reguł przyporządkowuje klasyfikowanemu przykładowi kategorię
związaną z pierwszą w kolejności regułą, która ten przykład pokrywa. Listy decyzyjne można również traktować jak zdegenerowane drzewo decyzyjne, dla którego z każdego węzła wychodzą dwie
97
Metody oparte o listy decyzyjne
98
gałęzie, z których przynajmniej jedna dochodzi do liścia a ewentualnie pozostała do innego węzła.
Reguły stosowane są do reprezentacji wiedzy o pojęciach klasyfikujących przykłady. Reguły składają się dwóch elementów: części warunkowej i części decyzyjnej w zapisie:
JEŚLI warunek TO kategoria
(4.1)
warunek ⇒ kategoria
(4.2)
lub matematycznie:
Składnik warunki jest formułą logiczną nałożoną na atrybuty opisujące zbiór obiektów, natomiast kategoria stanowi proste przypisanie obiektu do określonej kategorii. Można to przedstawić
następująco:
(∀x ∈ X)(α[a1 (x), a2 (x), . . . , ar (x)] ⇒ h(x) = d).
gdzie:
ai (x)
α(x)
(4.3)
atrybutów obiektu x,
formuła logiczna odwołująca się do wartości
atrybutów obiektu,
h(x)
funkcja wyznaczająca przypisanie obiektu do danej kategorii,
d∈D
etykieta konkretnej kategorii.
Jeżeli dany jest zbiór formuł logicznych αi → αi ∈ Θ, w oparciu o które tworzy się reguły ri =
α1 (x) → dα1 , to mając uporządkowany zbiór takich reguł r1 , r2 , . . . , rm tworzy się listę decyzyjną.
Wyznaczanie przypisania obiektu do kategorii dokonuje się następująco:
1. dla danego obiektu x sprawdzane jest spełnienie waruneku α1 ,
2. jeżeli tak, to obiekt x zostaje przypisany do kategorii dα1 ,
3. w przeciwnym przypadku dokonuje się analogicznej analizy przy pomocy następnej reguły.
Zapis algorytmiczny można przedstawić przy pomocy zagnieżdżonej instrukcji warunkowej przedstawiono w 4.7, zapis procedury w pseudokodzie w algorytmie 4.8.
Algorytm 4.7. Przypisywanie obiektów do grup na podstawie listy decyzyjnej
IF
α1 (x) THEN
h(x) = dα1
ELSE IF α2 (x) THEN
h(x) = dα2
...
...
ELSE IF αm (x) THEN
h(x) = dαm
4.1 Wprowadzenie list decyzyjnych
99
Lista decyzyjna LD jest listą reguł na rys 4.1, ale często zapisuje się ją w postaci listy par <
warunek,kategoria> czyli:
DL = {(α1 , dα1 ), (α2 , dα2 ), . . . , (αm , dαm )}.
(4.4)
war 1
R
A
war 2
R
B
war3
R
A
war 4
C
R
B
Rys. 4.1. Lista reguł.
4.1.1
Tworzenie formuł warunku
Formuły warunku można zapisywać przy pomocy kompleksów. Kompleks jest zbiorem selektorów
k =< k1 , k2 , . . . , km >, poszczególne selektory odpowiadają kolejnym atrybutom opisującym
obiekt. Każdy selektor określa zbiór wartości dozwolonych.
Definicja 16. Selektor odpowiadający atrybutowi a : X → A pokrywa przykład x ∈ X, jeśli α(x) ∈
Vs , przy czym Vs oznacza zbiór wartości dozwolonych dla selektora s. Piszemy wówczas s . x [27].
Definicja 17. Kompleks k = hs1 , s2 , . . . , sm i pokrywa przykład x ∈ X jeśli każdy selektor si , gdzie
1 ¬ i ¬ m pokrywa przykład x.
W niniejszym opracowaniu, na potrzeby przedstawionego algorytmu, używany jest tylko jeden,
specyficzny rodzaj kompleksów, zwanych kompleksami atomowymi. Formalna definicja jest
następująca:
Metody oparte o listy decyzyjne
100
Definicja 18. Kompleksem atomowym nazywa się każdy kompleks zawierający dokładnie jeden selektor pojedynczy lub dysjunkcyjny a pozostałe selektory są selektorami uniwersalnymi
Inaczej rzecz ujmując, formuła logiczna składa się z prostego testu wartości dla pojedynczego
atrybutu. Takie ograniczenie pozwala znacząco zmniejszyć ilość reguł poddawanych analizie.
Proponowana metoda grupowania wymaga znalezienia takiego ułożenia reguł w liście, dzięki
któremu uzyska się najlepszy wynik funkcji kryterium.
Algorytm 4.8. Procedura przypisywania obiektów do grup na podstawie listy reguł
var
tabp
tablica przynależności obiektów do grup
grupa
grupy odpowiadające spełnionym warunkom reguł
proc P rzypiszGrupy(obiekt)
var
i : integer;
zmienna sterująca pętlą do przeglądania listy reguł
przypisany := f alse;
begin
while notprzypisany do
inc(i);
przejdź do kolejnej reguły
if warunek(obiekt, i) then tabp[obiekt] := grupa[i] fi
jeżeli warunek spełniony przypisz obiekt do grupy
end
end.
4.2
Zasada działania metody grupowania
Autor proponuje zastosowanie list decyzyjnych w metodzie grupowania. Wstępnie omówienie
propozycji użycia list decyzyjnych do grupowania autor niniejszej pracy przedstawił we własnej
publikacji [94].
Proponowana metoda opiera się na następujących założeniach:
1. Brak konieczności kwantyzacji danych symbolicznych.
2. Brak konieczności stosowania funkcji odległości, wystarcza zastosowanie funkcji oceniającej
jakość podziału (na podstawie podrodzału 3.8).
4.2 Zasada działania metody grupowania
101
3. Rozwiązaniem jest lista decyzyjna, z której wprost wyprowadza się macierz przynależności
(wzór 4.9).
4. Obszar rozwiązań to zbiór wszystkich permutacji listy decyzyjnej.
5. Poszukiwane jest rozwiązanie najlepiej spełniające funkcję kryterium.
4.2.1
Analogia do metod hierarchicznych
W algorytmach hierarchicznych rozwiązanie tworzył graf w postaci odwróconego drzewa (dendogramu). W takim drzewie liście reprezentują poszczególne obiekty a gałęzie wyznaczają poszczególne
grupy. Liczba grup zależy od wysokości drzewa, grupy wyznaczają wszystkie gałęzie na danym poziomie. Liście należące do różnych gałęzi reprezentują obiekty należące do różnych grup.
W omawianej metodzie zaproponowano istotną zmianę: graf zostanie utworzony na podstawie
listy decyzyjnej, analogicznie jak to zostało zaproponowane w algorytmie klasyfikacyjnym CN2 [29].
Jak już wspomniano uzyskiwane rozwiązanie ma postać uporządkowanej listy reguł decyzyjnych.
Pojęcie reguł zostało zaczerpnięte z dziedziny symbolicznej klasyfikacji wzorcowej. Reguły te mają
formę:
Dj ::> Ki ,
(4.5)
gdzie: 0 < j < |D| jest indeksem reguły w liście reguł, |D| liczbą reguł w liście, Dj to warunek
opisujący, Ki oznacza klasę, a ::> operator przypisania.
Reguły interpretuje się następująco: Jeżeli dany obiekt spełnia opis Dj to należy do klasy Ki .
W celu adaptacji pojęcia reguł do grupowania zbiorów tekstowych przyjęto następujące założenie.
Reguła będzie miała postać występowania określonego słowa (termu) w tekście, tj. jeżeli słowo użyte
w regule Dj występuje w tekście obiektu Xn to znaczy to, że obiekt Xn zostaje przypisany do klasy
Ki . Reguły w tym przypadku mają postać uporządkowanej listy.
4.2.2
Tworzenie macierzy przynależności
Macierz przynależności (algorytm 4.9) jest ostatecznym rezultatem grupowania. W procesie grupowania opartego o listy decyzyjne wymagane jest dokonanie dodatkowego etapu, polegającego na
przypisaniu obiektów do grup na podstawie danej listy decyzyjnej. W wielu zastosowaniach etap ten
jest pomijany, gdyż do dalszego przetwarzania wystarcza sama lista decyzyjna. Natomiast etap ten
jest wymagany w przypadku konieczności uzyskania podziału zbioru. Proces przypisywania obiektów
do grup przedstawiono algorytmem 4.9[29].
Algorytm 4.9. Rekurencyjne przypisywanie obiektów do grup na podstawie listy reguł
Metody oparte o listy decyzyjne
102
dla każdego obiektu
jeżeli reguła umieszczona w głowie listy jest spełniona
to przypisz obiekt do wskazanej grupy
w przeciwnym wypadku powtórz obliczenie dla ogona listy
W proponowanym algorytmie lista przeglądana jest tak długo, aż zostanie znaleziona odpowiadająca reguła. Wynika też z tego, że lista powinna zawierać odpowiednią ilość reguł tak, aby każdy
obiekt mógł zostać przypisany. Listę tą można traktować jako gen będący przedmiotem przetwarzania w algorytmach genetycznych. Otrzymana postać grupowania to graf w postaci zdegenerowanego
drzewa, w którym z każdego węzła wychodzi tylko jedna gałąź oraz jeden lub więcej liści. Liście reprezentują obiekty przypisane do danej grupy, przy czym grupa obejmuje obiekty obecne w jednym lub
więcej węźle. Jest to istotny element odróżniający od metod hierarchicznych. Algorytmy oparte na
liście decyzyjnej polegają na poszukiwaniu listy reguł najlepiej odpowiadającej funkcji dopasowania
(dającej najlepszy wynik).
4.2.3
Funkcja kryterium
Metody grupowania oparte o listy decyzyjne, analogicznie jak metody deglomeracyjne, wymagają istnienia funkcji kryterium do porównywania i selekcji kolejnych rozwiązań w toku przetwarzania.
Jako funkcje kryterium często wykorzystuje się wzory zaczerpnięte z teorii informacji. Zakłada się, że
takie grupowanie, które daje największy przyrost informacji jest optymalne, gdyż odpowiada to małemu zróżnicowaniu kategorii w podzbiorach. Reguły obliczania przyrostu informacji przedstawiono
w podrozdziale 3.8.5.
Własności testu opartego o przyrost informacji
Entropia przyjmuje maksymalne wartości wtedy gdy rozkład wartości atrybutów jest równomierny, natomiast osiąga minimum gdy obiekty posiadające atrybuty o danej wartości zgromadzone są w
jednej grupie. Obiekty są do siebie podobne wtedy gdy posiadają równe wartości swych atrybutów.
Tym samym stosowanie funkcji oceny przyrostu informacji jako poszukiwania podziału spełniającego
warunek maksymalizacji wartości tej funkcji pokrywa się z celem grupowania.
4.3
Algorytm grupowania wykorzystujący pełny przegląd
Pierwszym z algorytmów grupowania zaproponowanych przez autora niniejszej pracy jest algorytm oparty o zasadę pełnego przeglądu [15].
4.3 Algorytm grupowania wykorzystujący pełny przegląd
103
Najprostszym i najpewniejszym sposobem możliwym do zastosowania do grupowania opartego o
listy decyzyjne jest procedura pełnego przeglądu. Ponieważ znana jest liczba reguł wchodzących w
skład listy decyzyjnej wystarczy dokonać przeglądu wszystkich kombinacji ułożenia reguł w liście,
a następnie wybrać takie ułożenie, które daje najlepsze dopasowanie funkcji kryterium. Największą
wadą takiego podejścia jest wysoka złożoność obliczeniowa, już dla kilkunastu reguł czas obliczeń
przestaje być akceptowalny. Natomiast w przypadku mniejszych zbiorów algorytm pełnego przeglądu może stanowić model referencyjny, do weryfikacji innych algorytmów. Referencyjne właściwości
niniejszego algorytmu wynikają z właściwości „pełnego przeglądu”. Ponieważ sprawdzane są wszystkie możliwe warianty rozwiązań, to na pewno będzie wśród nich rozwiązanie optymalne – najlepsze
do uzyskania metodą opartą na listach decyzyjnych.
Twierdzenie 1. Algorytm pełnego przeglądu zastosowany do znalezienia optymalnego rozwiązania
grupowania opartego o listy decyzyjne daje zawsze najlepsze rezultaty, spośród możliwych do osiągnięcia wymienioną metodą.
Dowód 1. Algorytm pełnego przeglądu polega na wybraniu najlepszego rozwiązania spośród wszystkich istniejących permutacji listy decyzyjnej, więc nie istnieje lista decyzyjna, która by nie była nie
sprawdzana, co dowodzi pewnosci znalezienia rozwiązania optymalnego.
W przypadku omawianego algorytmu procedura pełnego przeglądu dotyczyć będzie przeglądu
listy reguł L, która zawiera w kolejnych węzłach wszystkie możliwe kombinacje reguł i przypisań
do poszczególnych grup to ostatecznym rezultatem grupowania jest jedna (lub wiele równoważnych)
permutacji takiej listy wynikających ze zmiany ułożenia kolejności węzłów. Jeżeli przez |D| oznaczymy całkowitą liczbę reguł a |K| oczekiwaną liczbę grup, to długość listy reguł |L| wynosi:
|L| = |D||K|
(4.6)
gdzie liczbę reguł dyskryminacyjnych można wyznaczyć następująco:
|D| =
m
X
|Ai |
(4.7)
i=1
gdzie:
Ai
– atrybut opisujący i-ty obiekt
m
– ilość atrybutów
|Ai |
– liczebność dziedziny atrybutu Ai
Liczba reguł dyskryminacyjnych w przypadku krytycznym może osiągnąć wartość iloczynu liczby
obiektów i liczby atrybutów opisujących, natomiast liczba permutacji wynosi (|L|)! to przeszukiwany
obszar rozwiązań może wydawać się bardzo duży. Należy więc wykorzystać istniejące właściwości,
Metody oparte o listy decyzyjne
104
które pozwolą na uniknięcie dokonywania niepotrzebnych (np. powtarzających się) obliczeń i zwiększenie wydajności algorytmu.
Implementacja algorytmu pełnego przeglądu może zostać zrealizowana w analogii do metod systematycznego przeszukiwania grafów lub przy pomocy algorytmu wyznaczającego wszystkie permutacje danego ciągu elementów w zależności od zastosowanej reprezentacji listy. W niniejszej pracy
zaprezentowano jeden przykład implementacji algorytmu pełnego przeglądu w zastosowaniu do grupowania opartego o listy decyzyjne.
Szczegółowa analiza pokazuje, że można znacząco ograniczyć złożoność obliczeniową prezentowanej metody z uwagi na jej następujące właściwości :
• Rzeczywista ilość reguł jest znacznie mniejsza od wspomnianego powyżej przypadku krytycznego, aby mówić o grupowaniu to jednak wiele wartości atrybutów musi się powtarzać (obiekty
muszą mieć cechy wspólne, być do siebie „podobne”).
• Część listy reguł jest nieaktywna, gdyż podczas procesu przypisywania brane są pod uwagę
tylko czołowe reguły i można określić, która z nich jako ostatnia dzieli listę na dwie części.
Kolejność reguł w drugiej części, nieaktywnej nie ma znaczenia dla procesu przypisywania gdyż
reguły te nigdy nie biorą udziału w procesie.
• Istnienie reguł nieistotnych w danym kontekście, tj. takich których możliwe do spełnienia
przypisania są w pełni pokryte przez wcześniejsze reguły (czyli dany kontekst). Zjawisko to
występuje wtedy, gdy wszystkie obiekty objęte kompleksem z danej reguły zostały wcześniej
(przez reguły umieszczone bliżej głowy listy) przypisane do grup. Tym samym ułożenie takich
reguł pozostaje bez znaczenia na rezultat.
Wykorzystywanie takich właściwości pozwala na uniknięcie dokonywania niepotrzebnych obliczeń
i zwiększenie wydajności algorytmu.
Twierdzenie 2. Niektóre reguły z listy decyzyjnej nie biorą udziału w procesie tworzenia macierzy
podziału.
Dowód 2. W skład listy decyzyjnej wchodzą wszystkie kombinacje reguł i klas (wzór 4.5). Użycie
reguły Dj ::> Ki powoduje, że wszystkie nie przypisane jeszcze obiekty spełniające warunek Dj
zostaną przypisane do grupy Ki . Więc dla każdej z występujących później reguł Dj ::> Kk , gdzie
i 6= k nie nie pozostanie żaden z obiektów mogących podlegać przypisaniu.
4.4
Algorytmy oparte na przeszukiwaniu heurystycznym
Najlepszym algorytmem, pod względem jakości uzyskiwanych wyników (dających najlepsze wartości zastosowanej miary jakości) jest algorytm pełnego przeglądu. Natomiast algorytm ten posiada
4.5 Algorytm wykorzystujący mechanizm genetyczny
105
bardzo dużą złożoność obliczeniową. Zasadne jest więc poszukiwanie innego algorytmu, o niższej
złożoności obliczeniowej przy akceptowalnej jakości uzyskiwanych wyników.
Ponieważ proces grupowania polega na poszukiwaniu najlepszego rozwiązania w ramach dopuszczalnej przestrzeni rozwiązań, to można do tego wykorzystać metody przeszukiwania heurystycznego
[15]. Poszczególne algorytmy różnią się od siebie strategią przeszukiwania przestrzeni rozwiązań oraz
sposobem wykorzystywania informacji o dziedzinie rozwiązywanego problemu. Zaproponowana przez
autora niniejszej pracy strategia, określona jako liniowe przeszukiwanie, polega na podstawianiu kolejnych reguł na danej pozycji, po znalezieniu najlepszej następuje zmiana pozycji modyfikowanej.
Proponowany algorytm stanowi uproszczoną wersję pełnego przeglądu. Z uwagi na liczbę dopuszczalnych kombinacji pełny przegląd nie jest możliwy do zrealizowania już dla stosunkowo niewielkich
baz. Wykorzystano więc metodę doboru reguły niezależnego dla każdej pozycji.
Algorytm 4.10. Heurystyczny metoda liniowa
dla każdej reguły
utwórz nowalista={reguła|poprzednialista}
oblicz wskaźnik jakości
zapamiętaj najlepszy wariant
dla najlepszego wariantu
podstaw
poprzednialista=najlepszywariant
powtarzaj do momentu aż przestawienie żadnej z reguł nie przynosi
polepszenia wskaźnika jakości
W opisywanym algorytmie strategia przeszukiwania przestrzeni rozwiązań polega na sekwencyjnym sprawdzaniu kolejnych wariantów listy. Dla każdego elementu z listy początkowej reguł dokonuje
się generacji nowej listy poprzez przestawienie wybranego elementu na początek listy. Jeżeli tak skonstruowana lista daje lepsze wyniki, to staje się ona podstawą do dalszego przetwarzania (staje się
listą początkową), a sprawdzania kolejnych reguł dokonuje się od początku. Jak można zauważyć w
powyższym zapisie, przeszukiwanie polega na dokładaniu kolejnych reguł na początek listy.
4.5
Algorytm wykorzystujący mechanizm genetyczny
Na podstawie podrozdziału 3.7 autor wykorzystał techniki genetyczne do opracowania algorytmu
grupowania opartego o listy decyzyjne. Inicjalizacja polega na wygenerowaniu listy reguł. Długość
listy równa jest iloczynowi wszystkich występujących słów i ilości oczekiwanej listy grup. Wynika to
Metody oparte o listy decyzyjne
106
z postaci reguły. W wyniku tej generacji powinna zostać uzyskana lista, w oparciu o którą funkcja
przypisywania podzieli zbiór na wymaganą ilość grup.
Kolejnym elementem algorytmu jest dobranie metody modyfikacji genu. Zaproponowano wprowadzenie pewnej odmiany mutacji. Mianowicie wybierane są losowo dwa elementy z listy i zamieniane
miejscami ze sobą. W trakcie badań zauważono, że wiele tak dokonanych operacji zamiany nie ma
żadnego wpływu na otrzymywany podział na grupy. Dzieje się tak dlatego, gdyż część z listy reguł
jest nieaktywna, nie bierze udziału w procesie przypisywania obiektów do grup. Własność tę wykorzystano w celu zwiększenia szybkości działania algorytmu poprzez unikanie takich niepotrzebnych,
nic nie wnoszących mutacji. Podczas procesu przypisywania brane są pod uwagę tylko czołowe reguły i można określić, która z nich jako ostatnia dzieli listę na dwie części. Kolejność reguł w drugiej
części, nieaktywnej, nie ma znaczenia dla procesu przypisywania, gdyż reguły te nigdy nie biorą
udziału w procesie. W celu wykorzystania tej właściwości zagwarantowano, aby w funkcji mutacji
zawsze jeden z wybieranych elementów pochodził z części aktywnej listy.
Druga propozycja funkcji mutacji różni się od poprzedniej tym, że zamiast zamiany elementów
w liście dokonuje się następującej operacji:
1. Losowanie reguły A z części aktywnej listy.
2. Losowanie reguły B z części nieaktywnej listy.
3. Przeniesienie reguły B i wstawienie bezpośrednio przed regułę A.
Wynika to z następującej właściwości: wstawienie dodatkowej reguły do listy powoduje mniejsze
zmiany układu grup niż zamiana reguł.
4.6
Dyskusja na temat zalet grupowania opartego o listy decyzyjne
Grupowanie oparte o listy decyzyjne korzysta z istotnych cech, które są przypisane regułom. Reguły decyzyjne w zakresie pozyskiwania wiedzy odgrywają bowiem istotną rolę. Najprostsza definicja
reguły to wyrażenie logiczne postaci :
Jeżeli spełniony warunek to określona decyzja (o przynależności do określonego pojęcia czy klasy),
w którym część warunkowa zawiera koniunkcje warunków elementarnych (inaczej selektor), natomiast część decyzyjna określa przynależność obiektu spełniającego warunek (objętego przez selektor)
do danej grupy.
4.6 Dyskusja na temat zalet grupowania opartego o listy decyzyjne
107
Reprezentacja wiedzy w postaci reguł uznawana jest za czytelniejszą dla człowieka niż inne
reprezentacje [28, 29, 97]. Podkreśla się jej modularność i przydatność do analizy przez eksperta.
Reguły decyzyjne są wykorzystywane w wielu pomyślnych zastosowaniach uczenia maszynowego i
odkrywania wiedzy [38, 27].
Proponowane przez autora grupowanie za pośrednictwem atrybutów wnosi szereg zmian jakościowych w zakresie interpretacji i dalszej analizy wyników grupowania. W miejsce długiej tablicy
przypisań obiektów (o długości równej ilości obiektów) otrzymuje się stosunkowo krótką listę reguł.
Samo zmniejszenie zapisu wyniku ma pozytywny wpływ na możliwość dalszego przyswojenia wyniku
przez człowieka. Dodatkowo lista ta jest w określony sposób uporządkowana, co umożliwia nadanie
poszczególnym regułom pewnych cech ważności. Właściwość tą można znakomicie wykorzystać do
porównywania rezultatów grupowania niewiele się od siebie różniących zbiorów. Przykładem takiego zagadnienia jest porównywanie tego samego zjawiska ale w różnych momentach czasu. Zbiory
obiektów reprezentujące dane zjawisko podlegają zmianom i modyfikacjom w miarę upływu czasu. Do zagadnień eksploracji danych należy poznanie i wyjaśnienie istoty tych zmian. Propozycją
autora niniejszej pracy jest użycie grupowania opartego o listę decyzyjną do objaśniania zmian,
trendów w bazach danych. Wykorzystać do tego celu należy formę prezentacji wyniku grupowania, jakim jest lista decyzyjna. Kolejność ułożenia reguł w takiej liście jest bowiem bardzo czułym
wskaźnikiem istotności poszczególnych wartości atrybutów, co szczególnego wymiaru nabiera podczas analizy zmian w bazie danych. Objaśnianie takich zmian poprzez przykłady wzorcowe, które są
wynikiem grupowania iteracyjnego, jest utrudnione, gdyż ukryta jest przyczyna i charakter zmian
(brak informacji o własnościach obiektów, które zaważyły na zmianie przykładu wzorcowego).
Metody oparte o listy decyzyjne mogą stanowić alternatywę w stosunku do pozostałych metod
grupowania. Aby w pełni wydobyć ich możliwości należy skonstruować odpowiednie algorytmy. Autor
zaproponował modyfikację trzech rodzajów algorytmów: pełny przegląd, proste wstawianie i genetyczny. Algorytm pełnego przeglądu jest najbardziej dokładny ale zarazem najbardziej kosztowny, w
sensie złożoności obliczeniowej. Drugi algorytm wykorzystuje zaproponowaną strategię heurystyczną. Strategia ta polega na poszukiwaniu położenia danej reguły w liście odrębnie dla każdej reguły.
Przeszukiwanie trwa do momentu, aż przestawienie żadnej z reguł nie powoduje polepszenia wyniku.
Stosowanie heurystyk okupione jest ryzykiem otrzymania rozwiązania tylko lokalnie optymalnego natomiast znaczącym atutem jest znacznie lepsza złożoność od algorytmu pełnego przeglądu. Trzecia
propozycja algorytmu wykorzystuje ideę genomu, w który to przekształcono listę decyzyjną. Z uwagi na nieco inne właściwości listy należało zmodyfikować operatory przeszukiwania. Zrezygnowano
z operatora krzyżowania, a operator mutacji realizuje operację zamiany miejscami dwóch losowo
wybranych elementów.
108
Metody oparte o listy decyzyjne
W dalszych rozdziałach zostaną przedstawione wyniki działania tych algorytmów i porównanie
z innymi metodami. W tym miejscu można wskazać dalsze kierunki prac. Będzie to poszukiwanie nowych algorytmów oraz poszukiwanie i wykorzystywanie ukrytych właściwości pozwalających
zwiększyć wydajność i skuteczność metody.
Rozdział 5
Badanie algorytmów grupowania
na danych symbolicznych
Niniejszy rozdział ma na celu weryfikację założenia o przydatności niektórych algorytmów do
grupowania danych symbolicznych. Spośród metod przedstawionych w rozdziale 3 wybrano te potencjalnie przydatne do grupowania danych symbolicznych, i po dokonaniu adaptacji do analizowanych
zbiorów danych, zaimplementowano i poddano je badaniu. Jednocześnie dokonano algorytmizacji i
implementacji metod przedstawionych w rozdziale 4. Zbadane zostały wybrane algorytmy, funkcje
kryterium oraz funkcje odległości. Oprócz celów szczegółowych, jakimi było wybranie najlepszych
wariantów metod, istotne również stało się poszukiwanie zagadnień, które z jednej strony byłyby
rozwiązywalne metodami grupowania, natomiast z drugiej nadawały się do adaptacji w obszarze
eksploracji danych symbolicznych.
Końcową weryfikację oraz wycenę wartości danej metody eksploracji, a metody grupowania w
szczególności, przynosi wykorzystanie, pozyskanej z jej pomocą, nowej Wiedzy w świecie realnym
(na podstawie naturalnie pozyskanych danych i rzeczywistą lub doświadczalną weryfikacją wyników). Wiedza jest trudno definiowalna, niesformalizowana, praktycznie niemierzalna. To jest główna
przyczyna, która powoduje, że nie istnieje jedna, uniwersalna funkcja oceny jakości grupowania. Znane i proponowane metody nadają się tylko do wybranych dziedzin, wymagając spełnienia szeregu
warunków.
W niniejszych badaniach przyjmuje się, że stosowana funkcja kryterium wystarczająco dobrze
przybliża miarę jakości dokonanego podziału. W toku badań poszukiwana jest metoda, która znajdzie lepszy wynik funkcji kryterium, zakłada się bowiem, że w przypadku znalezienia lepszej funkcji
kryterium znaleziona metoda również będzie lepiej działać. Oprócz zdolności do uzyskiwania najlepszych wyników oceniana jest również stabilność działania, czyli zdolność do powtórnego uzyskiwania
109
Badanie algorytmów grupowania na danych symbolicznych
110
tak samo dobrych wyników niezależnie od ułożenia danych i kolejności przetwarzania. Kolejnym
badanym przez autora elementem jest wydajność (złożoność obliczeniowa i pamięciowa) metody. W
przypadku biznesowych baz danych rzeczywiste rozmiary mogą być dość znaczne.
5.1
Program wspomagający eksplorację danych
Założenia
Ważnym wynikiem niniejszej pracy jest zaprojektowany i zaimplementowany program komputerowy, wspomagający eksplorację danych. Podstawowym zastosowaniem jest utworzenie stanowiska
pomiarowego. Program ma za zadanie badanie różnych technik i algorytmów grupowania w oparciu
o dane pochodzące z różnych środowisk. Zaimplementowano wszystkie metody grupowania zaproponowane przez autora oraz inne, wybrane w celach porównawczych.
Wszystkie obliczenia i wyniki zaprezentowane w następnych rozdziałach zostały dokonane przy
pomocy tego programu.
Program został napisany w środowisku Delphi 6.0 i przeznaczony dla systemu operacyjnego Windows. Wybór tego środowiska został podyktowany jego dużymi możliwościami w zakresie budowy
i obsługi baz danych, interfejsu użytkownika oraz możliwościami wykonywania i optymalizacji obliczeń. Przeniesienie programu na inne platformy jest możliwe z wyjątkiem utrudnień w zakresie
implementacji konwerterów do niektórych źródeł danych.
Dane wejściowe
Format danych wejściowych ściśle zależy od źródła ich pochodzenia. Program przetwarzający winien posiadać odpowiedni konwerter obsługujący dany format. Do programy wbudowano możliwość
odczytu danych w formacie tekstowym, DBF i DAT (formaty bazodanowe). Pochodzenie danych
jest dwojakiego rodzaju. Pierwszą część stanowią zbiory z repozytorium UCI [14] powszechnie wykorzystywane do badań w obszarze eksploracji baz danych. Drugą część stanowią zbiory pozyskane
z rzeczywistych baz danych przedsiębiorstw. Dokonano w nich jedynie niewielkich przekształceń w
celu zapewnienia tajemnicy i prywatności właścicieli baz, dokonane zmiany są na tyle nieznaczące,
że pozostają bez wpływu na elementy i właściwości istotne z punktu widzenia badań.
W procesie przekształcania danych wejściowych na postać wewnętrzną dokonywana jest również
transformacja wiedzy. Przykładowo może to mieć formę dodawania kolejnych atrybutów i wartości w
oparciu o zewnętrzną bazę wiedzy. Taka dodatkowa wiedza o grupowanych obiektach i ich środowisku
może mieć formę słownika czy też tabeli wag, przypisywanych poszczególnym atrybutom.
5.2 Testowe zbiory danych
111
Obsługa programu
Obsługa programu sprowadza się do wybierania poszczególnych opcji. Wyboru dokonuje się na
trzech poziomach. Po pierwsze należy wybrać źródło danych - czyli zbiór poddany analizie. Dodatkowo na tym etapie można dokonać wyboru słownika, jako formy wprowadzenia dodatkowej informacji
i wiedzy. Po drugie należy wybrać stosowany algorytm. Po trzecie dokonuje się wyboru parametrów
szczegółowych takich jak przykładowo: ilość grup na którą dokonywany jest podział, stosowaną miarę
odległości czy funkcję oceny jakości grupowania.
Dane wyjściowe
Rezultatem działania algorytmów grupowania jest przede wszystkim otrzymany podział. Jednocześnie, w przypadku gdy znana jest rzeczywista klasyfikacja obiektów (jak to ma miejsce w
przypadku zbiorów z repozytorium), dołączana jest statystyka błędów. Obliczane są również wskaźniki jakości otrzymanego podziału. Do porównywania wydajności poszczególnych metod mierzone są
czasy obliczeń, zliczane ilości iteracji bądź wywołań kluczowych, z punktu widzenia metody, funkcji
(np. ilość wywołań funkcji obliczania odległości).
Moduł prezentacji należało tak opracować, aby uzyskiwane wyniki przedstawiane były w formie
akceptowalnej dla człowieka, dużym utrudnieniem był fakt dużej rozbieżności w zakresie badanych
danych, w szczególności rozbieżności dotyczyły liczby elementów i liczby atrybutów.
Struktura programu
Program został napisany w technice obiektowej. Podstawowe obiekty wynikają z naturalnego
podziału funkcjonalnego programu: konwerter wczytujący dane, moduł obliczeniowy i moduł prezentacji. W obiektach konwertera i prezentacji w szerokim zakresie wykorzystywane są biblioteki
funkcji firm Microsoft, Borland, Madar [90]. Główny i kluczowy jest moduł obliczeniowy, zbudowany w formie pojedynczego obiektu. Metodami tego obiektu są implementacje poszczególnych algorytmów grupowania, wraz z funkcjami towarzyszącymi, implementacje różnych miar jakości, funkcji obliczania wskaźników jakości grupowania. Wśród atrybutów obiektu można wyróżnić tablicę
przechowującą reprezentację wczytanego zbioru danych, której wiersze odzwierciedlają poszczególne
obiekty i składają się z pól binarnych bądź liczbowych, co wystarcza do reprezentacji atrybutów
symbolicznych.
5.2
Testowe zbiory danych
Dane pozyskiwane do badań przechowywane są w zbiorach tekstowych, w postaci ciągu znaków,
w którym wyróżnia się linie reprezentujące posczególne obiekty oraz słowa kodowe reprezentujące
Badanie algorytmów grupowania na danych symbolicznych
112
wartości argumentów. Drugą formą zapisu są relacyjne bazy danych, gdyż ta forma najczęsciej
występuje w obszarze baz danych. Nie stosowano innych formatów, gdyż w zakresie niniejszych
badań forma zapisu danych ma znaczenie drugorzędne, najważniejsza jest znajomość interpretacji
poszczególnych symboli i zdolność przekształcenia ich na formę akceptowalną przez poszczególne
metody przetwarzania (na podstawie rodziału 2).
Do badania algorytmów grupowania wykorzystano dwa zbiory danych. Pierwszy z nich, to standardowo wykorzystywana do badań baza głosowań w kongresie. Drugi to mała, składająca się z kilku
obiektów baza, zaprojektowana przez autora, mająca na celu zbadanie na prostym przykładzie skuteczności niektórych algorytmów. Wartości atrybutów w tej bazie mają celowo nietypowy rozkład, co
skutkuje błędnymi rozwiązaniami uzyskiwanymi podczas grupowania za pomocą niektórych metod.
Baza danych „głosowanie w kongresie”
Baza danych „głosowanie w kongresie” (ang. Congresional Votes) zawiera rezultaty głosowań
pozyskane z [14]. Jest to zapis głosowań w Kongresie Stanów Zjednoczonych w roku 1984. Każdy
rekord koresponduje z jednym senatorem i zawiera jego 16 głosowań w poszczególnych sprawach
(wydatki na edukację, wojsko itd.). Atrybuty mają wartości T AK lub N IE, a część wartości jest
nieznana. Zbiór zawiera 168 Republikanów i 267 Demokratów, zgodnie z ówczesnym stanem Kongresu. Dodatkowego wyjaśnienia wymagają brakujące wartości, których interpretacja ściśle zależy
od analizowanej dziedziny. Stosuje się następujące interpretacje dla wartości brakujących:
1. traktowanie danej nieznanej jako kolejnej dopuszczalnej wartości dla danego atrybutu (co byłoby zgodne z powszechną interpretacją „nieobecności na głosowaniu” jako wyrażenie sprzeciwu
wobec danej sprawy),
2. przyjęcie w takim przypadku, że głosujący jednocześnie oddał głos T AK i N IE, co skutkuje
upodobnieniem przykładu do wszystkich pozostałych.
W niniejszym badaniu przyjęto drugie rozwiązanie, którego podstawową zaletą jest nie zwiększanie liczby analizowanych wartości atrybutów.
Mała baza danych
W tabeli 5.1 przedstawiono sztucznie wygenerowaną przez autora bazę, którą poddano testom.
Baza zawiera 6 obiektów, z których każdy opisany jest sześcioma atrybutami binarnymi (przyjmujących wartości 0 − brak i 1 − obecny). Celem grupowania jest znalezienie najlepszego podziału zbioru
obiektów na dwie grupy. Zbiór został sztucznie spreparowany, posiada on specyficzny rozkład wartości atrybutów. W trakcie analizy podanego przykładu można zauważyć, że atrybut a występuje (ma
wartość 1) w 3 obiektach, a atrybut b w pozostałych trzech. Są to najliczniej występujące atrybuty,
5.3 Badanie wrażliwości algorytmów
113
zupełnie rozdzielone – więc w prosty sposób można na ich podstawie dokonać podziału na dwie
grupy {{x1 , x2 , x3 }, {x4 , x5 , x6 }}. Dokładna analiza wskazuje, że pozostałe atrybuty też są ułożone
wg określonego porządku. Dokonanie następującego podziału {{x1 , x2 , x4 }, {x3 , x5 , x6 }} powoduje
że żaden z pozostałych atrybutów (atrybuty c, d, e, f ) nie występuje w obu grupach jednocześnie.
Tabela 5.1. Testowa mała baza obiektów.
ob
x1
x2
x3
x4
x5
x6
opis
acdf
adec
awtv
befg
btwz
bvzu
a
1
1
1
0
0
0
b
0
0
0
1
1
1
c
1
1
0
0
0
0
d
1
1
0
0
0
0
e
0
1
0
1
0
0
f
1
0
0
1
0
0
g
0
0
1
1
0
0
t
0
0
0
0
1
0
u
0
0
0
0
0
1
v
0
0
1
0
0
1
w
0
0
1
0
1
0
z
0
0
0
0
1
1
Z takiego rozkładu wartości atrybutów wynika następujący wniosek: przyjęcie, że najliczniej
występujące wartości atrybutów decydują o dokonaniu podziału na grupy powoduje, że otrzymany
podział nie respektuje optymalnego rozkładu względem pozostałych wartości atrybutów.
5.3
Badanie wrażliwości algorytmów
5.3.1
Cel i zakres badań
Celem przeprowadzonego badania jest weryfikacja wrażliwości poszczególnych algorytmów na stosowaną funkcję odległości do grupowania danych postaci symbolicznej. Badań dokonano dla dwóch
różnych algorytmów grupowania:
— algorytmu grupowania rozmytego adaptowanego do przestrzeni argumentów symbolicznych
(oznaczanego jako FCMdd),
— algorytmu aglomeracyjnego z warunkiem minimalizacji odległości pomiędzy najodleglejszymi
obiektami.
Algorytm aglomeracyjny, tak jak wszystkie metody hierarchiczne, dobrze nadaje się do grupowania danych symbolicznych, jedynie stosowana funkcja porównująca obiekty i grupy winna być dostosowana do danej dziedziny. Dokonane modyfikacje przedstawiono poniżej w punkcie „Adaptacja
algorytmu aglomeracyjnego”. Natomiast w przypadku metod iteracyjnych (gradientowych) potrzebne jest dokonanie kilku modyfikacji. Po pierwsze należy zrezygnować z obliczania obiektu „średniego”
na rzecz mediany. Po drugie nie jest możliwe korzystanie z metod gradientowych podczas poszukiwania elementów wzorcowych. Do niniejszego badania użyto algorytm grupowania rozmytego FCMdd,
a dokonane adaptacje przedstawiono w punkcie „Adaptacja algorytmu iteracyjnego”.
114
Badanie algorytmów grupowania na danych symbolicznych
Istnieje wiele funkcji mogących pełnić rolę miary odległości w algorytmach grupowania. Część z
nich opisano w rozdziale 2. Do niniejszego badania użyto czterech – arbitralnie wybranych funkcji
spośród wielu prezentowanych w literaturze. Badania przeprowadzono dla następujących funkcji
odległości:
A Wskaźnik Jaccarda (wzór (2.20)).
B Miara kosinusowa (w tabeli 2.2).
C KL dywergencja (w tabeli 2.2).
D Euklidesowa miara odległości L2 (wzór(2.9)).
E Odległość Manhattan L1 (wzór (2.14)).
Miara euklidesowa jest funkcją odległości pomiędzy obiektami w zwykłej wielowymiarowej przestrzeni. Odległość Manhattan często stosowana jest do porównywania obiektów z atrybutami zapisanymi w formacie binarnym. Miara kosinusowa jest funkcją stosowaną do porównywania dokumentów
tekstowych [114]. Wskaźnik Jaccarda stosowany jest do porównywania zbiorów. Wszystkie wymienione funkcje można zastosować jako funkcję odległości w algorytmach grupowania, różnią się one
przede wszystkim charakterystyką. Może się zdarzyć, że dla danych dwóch par jedna funkcja wskaże
pierwszą jako bliższą sobie, inna że to obiekty w drugiej parze są umieszczone bliżej siebie. Wyboru
funkcji dokonano tak, aby maksymalnie się od siebie różniły charakterystyką i właściwościami.
Funkcja kryterium
W niniejszym badaniu rolę funkcji kryterium pełni funkcja przyrost informacji opisana wzorem
(3.54).
Adaptacja bazy danych
Poszczególne funkcje obliczające odległość (lub podobieństwo) wymagają danych o odpowiednich właściwościach. Dla baz danych symbolicznych trudno jest o naturalne funkcje porównywania
obiektów, w większości stosowane miary opierają się na przyjęciu pewnych uproszczeń. Jednocześnie należy dokonać przekształcenia danych. Najczęściej polegają one na umownym przekształceniu
występującej skali nominalnej na skalę mocną. Przykładowy schemat kodowania zaprezentowano w
tabeli 5.2. Dla skali nominalnej jedyną funkcją porównującą wartości atrybutów jest relacja identyczności. Jest to wystarczające dla funkcji opartych o wskaźnik Jaccarda, czy wskaźnik kosinusowy. W
przypadku miar opartych o metrykę Euklidesową wymagana jest zdefiniowanie relacji posiadanych
przez skale mocne opisane w podrozdziale (2.2).
5.3 Badanie wrażliwości algorytmów
115
Tabela 5.2. Przykład tabeli kodowania danych symbolicznych.
wartość symboliczna
głosowanie TAK
głosowanie NIE
głosowanie nieokreślone
skala nominalna
a
b
c
skala mocna
1
-1
0
Adaptacji również wymaga sama forma reprezantacji bazy danych. W zależności od technik
implementacji algorytmu wymagane są różne formaty danych wejściowych. W przypadku danych
symbolicznych jest to o tyle istotne, że w niektórych przypadkach symbole posiadają wiele znaczeń,
które mogą zostać utracone w procesie konwersji. Proces przygotowania danych w znacznym wpływa
na jakość uzyskiwanych wyników.
Adaptacja algorytmu grupowania rozmytego
W badaniu wykorzystano i zaimplementowano algorytm grupowania rozmytego FCMdd (3.3.3).
Kluczowe dla tego typu algorytmów jest dobranie funkcji odległości odwzorowujących podobieństwo
obiektów. W trakcie badań okazało się, że algorytm może być niestabilny. Podstawowe modyfikacje
związane z adaptacją algorytmu iteracyjnego do grupowania danych symbolicznych są zmiany w części poszukiwania elementów wzorcowych. Po pierwsze nie można zezwolić na poszukiwanie elementu
średniego, gdyż dla nie zawsze takowy istnieje. Operacja uśredniania nie jest możliwa do zdefiniowania dla danych określanych na skalach słabych, a dane o takim charakterze występują w zbiorach.
Dlatego też w miejsce średniej wybiera się medianę albo testu dokonuje się dla każdego z występujących obiektów. Po drugie niemożliwe jest skorzystanie z metod gradientowych do poszukiwania
pubktu opimum, gdyż nie jest spełniony warunek ciągłości dla danych.
Warunek końca iteracji jest stosunkowo prosto dobrać. Należy sprawdzać, czy w danym cyklu
nie zmieniły się elementy wzorcowe, co spowodowałoby zmianę przypisania obiektów do grup. Jeżeli
zmiana nie nastąpiła, to należy zakończyć obliczenia, gdyż w następnej iteracji i każdej następnej
otrzymamy te same wyniki. Zdarza się bowiem, że dla danego układu danych algorytm jest niestabilny i cyklicznie podaje kilka podobnych do siebie rozwiązań. W takim przypadku przyjęty warunek
zakończenia jest nieskuteczny i należy go wspomóc wspomnianym ograniczeniem. W tym celu do
głównej pętli obliczającej wprowadzić górne ograniczenie ilości iteracji.
Adaptacja algorytmu aglomeracyjnego
Algorytm aglomeracyjny do swego działania potrzebuje funkcji odwzorującej odległość pomiędzy
grupami. Jeżeli grupy są jednoobiektowe to jest to wprost funkcja odległości pomiędzy obiektami. W
przypadku większych grup stosuje się wybrane techniki (2.2.4). W niniejszym badaniu wykorzystano
regułę najdalszego sąsiada, na podstawie podrozdziału 2.2.4.
Badanie algorytmów grupowania na danych symbolicznych
116
5.3.2
Otrzymane rezultaty
Badaniu poddano wymienione dwa algorytmy, stosując sześć funkcji odległości. Badanie przeprowadzono na dwóch zbiorach danych, „mała baza” i „baza głosowań w kongresie” opisanych w
podrozdziale 5.2. Badanie polegało na uzyskaniu podziału zadanych zbiorów danych dla każdego
wariantu wynikającego ze stosowanych algorytmów, funkcji odległości i zbioru danych. W trakcie
badania mierzono następujące rezultaty:
• trafność – liczona jako stosunek elementów prawidłowo przypisanych do wszystkich, zgodnie
ze wzorem (3.8.1),
• przyrost informacji – funkcja mierząca jakość podziału opisana wzorem (3.54).
• czas obliczeń – czas, jaki upływa od momentu startu do uzyskania podziału.
W tabelach (5.3) do (5.12) przedstawiono uzyskiwane podziały dla poszczególnych miar odległości.
Tabela 5.3. Grupowanie FCMdd dla różnych funkcji odległości dla małej bazy.
A
B
C
D
E
funkcja odległości
jaccadr
cosine
KL dywergencja
L1 manhattan
L2 euklidesowa
przyrost informacji
1,2455
1,2455
1,2455
1,2455
0,961
czas obliczeń
00:00:22
00:00:22
00:00:27
00:00:23
00:00:22
Tabela 5.4. Podział dla grupowania FCMdd dla różnych funkcji odległosci dla małej bazy.
obiekt
acdf
adec
awtv
befg
btzw
bvzu
A
1
2
1
1
1
1
metoda
B C D
1 1 1
1 2 1
2 1 2
1 1 1
1 1 1
1 1 1
E
1
1
1
1
1
2
Zbadano dwa algorytmy grupowania, każdy dla pięciu funkcji porównywania (odległości). Pierwszy zbiór wyników, przedstawiony w tabeli 5.3, dotyczy badań z wykorzystaniem małej bazy opisanej
w podrozdziale 5.2. Jak już powiedziano jest to niewielki zbiór obiektów o sztucznie przypisanych
wartościach atrybutów. Wyniki uzyskane przy udziale drugiego algorytmu przedstawiono w tabeli
5.6. Wymienione tabele przedstawiają macierze podziału uzyskane poszczególnymi algorytmami dla
badanych funkcji odległości.
5.3 Badanie wrażliwości algorytmów
117
Tabela 5.5. Trafność dla grupowania FCMdd dla różnych funkcji odległości dla małej bazy.
algorytm
A
B
C
D
E
jaccadr
cosine
KL dywergencja
L1 manhattan
L2 euklidesowa
QQ
TAK
3
3
2
3
3
QQ
NIE
0
0
1
0
0
PP
TAN
1
1
0
1
1
PP
NIE
3
3
2
3
3
trafność
%
66,67
66,67
33,33
66,67
66,67
Tabela 5.6. Podział dla grupowania aglomeracyjnego mała baza.
obiekt
acdf
adec
awtv
befg
btzw
bvzu
A
1
1
1
1
1
2
metoda
B C D
2 1 1
2 1 1
1 1 1
1 1 1
2 1 1
2 2 2
E
1
1
1
1
1
2
Tabela 5.7. Trafność dla grupowania aglomeracyjnego dla małej bazy.
funkcja odległości
A
B
C
D
E
jaccard
cosine
KL dywergencja
L1 manhattan
L2 euklidesowa
QQ
TAK
2
3
3
3
3
QQ
NIE
1
0
0
0
0
PP
TAN
1
1
1
1
1
PP
NIE
2
3
3
3
3
trafność
%
50,00
66,67
66,67
66,67
66,67
Badanie algorytmów grupowania na danych symbolicznych
118
Tabela 5.8. Jakość grupowania aglomeracyjnego dla małej bazy.
funkcja odległości
A
B
C
D
E
przyrost informacji
jaccard
cosine
KL dywergencja
L1 manhattan
L2 euklidesowa
czas obliczeń
1,1056
0,961
0,961
0,961
0,961
00:00:22
00:00:39
00:00:49
00:00:39
00:00:22
W tabelach 5.5 oraz 5.7 zamieszczono uzyskane liczebności uzyskanych podzbiorów w podzale ze względu na zgodność z podziałem referencyjnym. Dla umownie nazwanych grup QQ i P P
wyznaczono liczby elementów zgodnych i błędnych oraz wyznaczono wartości trafności.
Należy zauważyć, że miara Jaccarda dała najlepsze wyniki i to zarówno dla algorytmu FCMdd jak
i dla grupowania aglomeracyjnego. Powyższy przykład obrazuje, że w pewnych przypadkach dobór
funkcji porównywania jest bardziej istotny od samej metody grupowania. Potwierdza to wnioski
innych badaczy, którzy poszukując optymalne funkcje porównywania dla różnych dziedzin danych
proponowali różne miary [115, 61, 124].
Kolejną serię badań przeprowadzono ze zbiorem danych baza głosowań opisanego w podrozdiale
5.2. Dla tych samych algorytmów: FCMdd i aglomeracyjnego, oraz tych samych miar odległości powtórzono badania. Celem jest porównanie zachowania algorytmu dla zmienionego zbioru danych przy
tych samych funkcjach porównywania obiektów. Z uwagi na obszerność materiału nie zamieszczono
macierz przypisań, trafność przedstawiono odpowiednio w tablicach 5.10 oraz 5.11.
Tabela 5.9. Grupowanie F CM dd dla różnych funkcji odległości dla bazy głosowań
A
B
C
D
E
funkcja odległości
jaccadr
cosine
KL dywergencja
L1 manhattan
L2 euklidesowa
przyrost informacji
1,0507
0,801
0,624
0,740
0,660
czas obliczeń
09:20:00
15:06:40
15:06:40
12:26:40
07:33:20
Badanie algorytmu algomeracyjnego potwierdziło dużą wrażliwość uzyskiwanych wyników na zastosowaną miarę podobieństwa. Wyniki uzyskiwanej trafności, przedstawione w tabeli 5.12 ukazują
dość dużą zbieżność w stosunku do wyników przedstawionych w tablicy 5.10, w szczególności jeżeli zostaną porównane względne zmiany pomiędzy wynikami dla poszczególnych miar podobieństwa.
Zgodnie z przypuszczeniami, najsłabsze wyniki uzyskała miara euklidesowa. Odległość geometryczna
stanowi dość słabe przybliżenie funkcji podobieństwa badanych obiektów z bazy głosowań. Zgodnie
z charakteryką przedstawioną w podrozdziale 2.2.4, na wynik porównania obiektów miarą euklidesową bardziej wpływają atrybuty różne. A zgodnie z przyjętą klasyfikacją w danym zastosowaniu,
5.3 Badanie wrażliwości algorytmów
119
Tabela 5.10. Trafność dla grupowania F CM dd dla różnych funkcji odległości dla bazy głosowań
A
B
C
D
E
funkcja odległości
TAK
jaccadr
cosine
KL dywergencja
L1 manhattan
L2 euklidesowa
demokraci
NIE
242
215
207
141
266
demokraci
TAN
25
52
60
126
1
republikanie
NIE
46
67
61
74
100
republikanie
%
222
197
207
148
166
trafność
86,21
71,61
61,61
53,57
41,15
bardziej „liczą” się atrybuty wspólne – czyli jednakowe decyzje w głosowaniach. Miara euklidesowan
natomiast dobrze przybliża obiekty opisywane atrybutami ilościowymi, takimi jak wymiary płatków
w zbiorze IRYS [56].
Tabela 5.11. Dla grupowania aglomeracyjnego dla bazy głosowań
A
B
C
D
E
funkcja odległości
jaccard
cosine
KL dywergencja
L1 manhattan
L2 euklidesowa
przyrost informacji
1,120
0,962
0,962
0,730
0,690
czas obliczeń
09:46:40
08:26:39
12:26:40
12:13:20
11:20:00
Tabela 5.12. Trafność dla dla grupowania aglomeracyjnego dla bazy głosowań
A
B
C
D
E
funkcja odległości
TAK
jaccard
cosine
KL dywergencja
L1 manhattan
L2 euklidesowa
demokraci
NIE
257
240
206
140
147
demokraci
TAN
10
27
61
127
120
republikanie
NIE
1
64
60
75
75
republikanie
%
267
203
207
147
147
trafność
81,49
75,61
61,61
49,61
51,03
Badanie algorytmów grupowania na danych symbolicznych
120
Wnioski
Dokonana analiza dowodzi dużej wrażliwości metod grupowania na rodzaj danych źródłowych.
W poszczególnych badaniach, w zależności od przetwarzanego zbioru danych różne funkcje okazywały się być optymalne. Np.: wskaźnik Jaccarda dla „bazy głosowań” dał najgorsze wyniki, gdy
dla „małej bazy” należał do najlepszych. Krytyczne dla prawidłowych wyników jest skonstruowanie właściwych funkcji odległości (podobieństwa), na których opierają się przedstawione metody.
Kolejnym problemem jest skłonność niektórych algorytmów (w szczególności algorytmów podziałowych) do znajdowania rozwiązań lokalnych. Z uwagi na brak ustaleń co do wymagań i ograniczeń
dotyczących charakterystyki danych symbolicznych, to należy się spodziewać źle uwarunkowanych
zadań, co może skutkować otrzymywaniem znacząco błędnych wyników. Podana właściwość znacząco utrudnia konstruowanie odpowiednich narzędzi grupowania. Z uwagi na brak wystarczającego
aparatu formalnego do opisu właściwości każdego rodzaju danych symbolicznych, dla wielu zastosowań wymagane jest doświadczalne dobranie odpowiedniech funkcji odwzorowujących podobieństwo
pomiędzy obiekami.
5.4
Badanie algorytmów nie wymagających funkcji odległości
Istnieje grupa algorytmów nie wymagających istnienia funkcji odległości pomiędzy grupowanymi
obiektami, wykorzystuje się w nich mianowicie funkcję oceny jakości grupowania, której wartość jest
testowana w toku kolejnych etapów przeszukiwania przestrzeni rozwiązań. Najczęściej stosowane
są miary oparte o teorię informacji jak przykładowo przyrost informacji. Ponieważ funkcja oceny
jakości grupowania całościowo ujmuje zagadnienie podziału to jest bardziej odporna na powstanie
dużego błędu systematycznego występującego w błędnie skonstruowanych funkcjach odległości.
Celem przeprowadzonego badania jest porównanie takich właśnie algorytmów grupowania nie
wymagających stosowania funkcji odległości w zastosowaniu do danych symbolicznych. Wśród porównywanych algorytmów umieszczono algorytmy zaproponowane przez autora w rozdziale 4 oparte
o listy decyzyjne. We wszystkich badanych algorytmach użyto tej samej funkcji jakości, a celem było
wybranie algorytmu znajdującego najlepsze rozwiązania z punktu widzenia wymienionej funkcji.
5.4.1
Cel i zakres badań
Celem przeprowadzonego badania jest weryfikacja przydatności do grupowania danych symbolicznych algorytmów nie wymagających stosowania funkcji odległości.
5.4 Badanie algorytmów nie wymagających funkcji odległości
121
Badane algorytmy
Do badania użyto baz danych opisanych w podrozdziale 5.2. W przypadku braku potrzeby definiowania funkcji odległości przestaje być również potrzebne przekształcanie danych symbolicznych
na atrybuty określone na skalach mocnych.
Badane algorytmy:
A algorytm hierarchiczny podziałowy,
B algorytm grupowania z zastosowaniem pełnego przeglądu,
C algorytm pełnego przeglądu oparty o listy decyzyjne,
D algorytm przeszukiwania heurystycznego oparty o listy decyzyjne.
E algorytm genetyczny prosty,
F algorytm genetyczny oparty o listy decyzyjne.
Algorytmy hierarchiczne z natury swej dobrze nadają się do grupowania danych symbolicznych.
Algorytm deglomeracyjny, opisany w podrozdziale 3.5, polega na przeszukiwaniu kolejnych podziałów i wyborze tych, które dają najlepsze wartości wskaźnika jakości. Podziału dokonuje się poprzez
ustalenie kryterium podziału, którym jest przyjmowanie określonych wartości przez określone atrybuty. Dla tak otrzymanych podzbiorów, jako rezultat podziału, dokonuje się kolejnego wyboru kryterium, odrębnie dla każdego podzbioru. W przyjętym rozwiązaniu zastosowano zasadę tworzenia
kryterium na podstawie wartości pojedynczego atrybutu. Ponieważ dokonuje się podziału na dwie
grupy wystarcza znalezienie jednego kryterium. Algorytm grupowania z zastosowaniem pełnego przeglądu, w niniejszym badaniu wyznacza poziom referencyjny dla pozostałych algorytmów. Algorytm
ten umożliwia znalezienie najlepszego istniejącego w danych warunkach rozwiązania. Pozostałe algorytmy co najwyżej osiągają taki sam rezultat. Algorytmy genetyczne posiadają znany mechanizm
poszukiwania rozwiązań. W niniejszym badaniu dokonano analizy dwóch wariantów zastosowania algorytmu genetycznego, które odróżniały formuły reprezentacji zadania przez chromosom. Algorytm
genetyczny prosty przedstawiono w podrozdziale 5.4.1, a oparty o listy decyzyjne, będący propozycją autora w podrozdziale 4.5. Algorytm przeszukiwania heurystycznego opary o listy decyzyjne jest
również propozycją autora zaprezentowaną w podrozdziale 4.4.
Adaptacja algorytmu grupowania genetycznego prostego
Najbardziej trywialna implementacja algorytmu genetycznego do grupowania jest następująca:
chromosom odpowiadający rozwiązaniu składa się z genów, które reprezentują poszczególne obiekty.
Wartość zapisana w każdym z genów odpowiada przypisaniu danego obiektu do odpowiedniej grupy.
Badanie algorytmów grupowania na danych symbolicznych
122
Długość chromosomu równa jest więc ilości grupowanych obiektów, a ilość wartości przyjmowanych
przez geny równa docelowej ilości grup. To również tłumaczy przyjęte określenie „grupowanie genetyczne poste”, gdyż przyjęto bezpośrednie przekształcenie zapisu grupowania na chromosom. Rolę
funkcji przystosowania pełni funkcja określająca jakość dokonanego podziału na grupy. Populację
początkową wybierano w sposób losowy. Stosowane zostały operatory mutacji i inwersji. Kryterium
zakończenia działania algorytmu genetycznego było następujące: jeżeli przez dłuższy czas nie dochodziło do odkrycia lepszego rozwiązania to zakończ działanie. Kryterium takie wynikało z przyjętego
założenia, że głównym zadaniem jest znalezienie optymalnego rozwiązania, bez względu na potrzebny do tego czas (w akceptowalnym, liczonych w godzinach, limicie czasowym). Z uwagi na brak
realnych limitów czasowych i brak potrzeby optymalizacji czasowej działania algorytmu badanie dla
różnych wartości parametrów (rozmiar populacji, prawdopodobieństwo zastosowania konkretnych
operatorów genetycznych) jest bezprzedmiotowe.
Adaptacja algorytmów grupowania opartych o listy decyzyjne
Algorytmy oparte o listy decyzyjne zostały zaprezentowane w rozdziale 4. Podczas badania zachowano te same warunki, jakie użyto do badania algorytmów deglomeracyjnego i genetycznego
prostego. W szczególności chodzi o zastosowaną funkcję kryterium oraz losowanie układu początkowego
Implementacja algorytmu wykorzystującego przeszukiwanie heurystyczne
Poniżej przedstawiono fragment implementacji algorytmu grupowania, obejmujący główną pętlę
przeszukiwania.
Algorytm 5.11. Grupowanie wykorzystujące przeszukiwanie heurystyczne
funct szukajP oziomS(pz : integer) : integer;
var
pzz,
j, k,
i, io : integer;
begin
pzz := poz;
maxJ := poz;
for i := maxJ to pz do
5.4 Badanie algorytmów nie wymagających funkcji odległości
tabS[i + 1] := tabS[i];
end
inc(maxJ);
inc(poz);
e2 := przyrostInf (nrb, kk);
yo := 0;
for j := 1 to slowaCount do
for k := 1 to kk do
tabS[pz] := (kshl16) + j;
if ustawU klad(nrb) = 0 then continue fi
e1 := przyrostInf (nrb, kk);
if e1 < e2 then
e2 := e1;
yo := tabS[pz];
fi
end
end
if yo <> 0 then
tabS[pz] := yo;
ustawU klad(nrb);
result := 1;
else
poz := pzz;
maxJ := pzz;
for i := pz to pzz do
tabS[i] := tabS[i + 1];
end
ustawU klad(nrb);
e1 := przyrostInf (nrb, kk);
if e2 = e1 then
result := −2
else
result := −1;
fi
fi
123
Badanie algorytmów grupowania na danych symbolicznych
124
end
begin
var j,
repeat
j := 0;
repeat
inc(j);
until szukajP oziomS(j) < 0;
jeżeli znaleziono lepsze rozwiązanie potwórz pętlę
until j = 1;
end.
Funkcja szukajPoziomS jest odpowiedzialna za przeszukiwanie przestrzeni rozwiązań. Polega
ono na sekwencyjnym dopisywaniu reguł do „głowy” listy. Jeżeli po takim dostawieniu nowej reguły
otrzymana lista daje lepszy wynik, to staje się ona podstawą do dalszego przeszukiwania.
Algorytm pełny przegląd
Procedura pełnego przeglądu polega na sprawdzeniu wszystkich permutacji listy decyzyjnej, składającej się ze wszystkich reguł. W tablicach 5.16 i 5.19 przedstawiono otrzymaną listę reguł dla małej
bazy.
Algorytm 5.12. Grupowanie dokonujące pełnego przeglądu
proc pelnyprzegladA;
var
wj,
l, j, i : integer;
a, b,
c1, c2 : integer;
ee : array[0..22]of double;
begin
result := f alse;
ee[1] := przyrostInf (nrw, kk);
ee[2] := ee[1];
5.4 Badanie algorytmów nie wymagających funkcji odległości
for i := 1 to nn do
wj := wyniki[i, nrw];
for j := 1 to kk do
if j = wj then continue fi
wyniki[i, nrw] := j;
ee[3] := przyrostInf (nrw, kk);
if ee[3] < ee[1] then
wj := wyniki[i, nrw];
ee[1] := ee[3];
fi
end
wyniki[i, nrw] := wj;
end
if ee[1] = ee[2] then result := true fi
end
125
Badanie algorytmów grupowania na danych symbolicznych
126
5.4.2
Otrzymane rezultaty
Badaniu poddano wymienione dwa algorytmy, stosując sześć funkcji odległości. Badanie przeprowadzono na dwóch zbiorach danych, „mała baza” i „baza głosowań w kongresie” opisanych w
podrozdziale 5.2. Badanie polegało na uzyskaniu podziału zadanych zbiorów danych dla każdego
wariantu wynikającego ze stosowanych algorytmów, funkcji odległości i zbioru danych. W trakcie
badania mierzono następujące rezultaty:
• trafność – liczona jako stosunek elementów prawidłowo przypisanych do wszystkich, zgodnie
ze wzorem (3.8.1),
• przyrost informacji – funkcja mierząca jakość podziału opisana wzorem (3.54).
• czas obliczeń – czas, jaki upływa od momentu startu do uzyskania podziału.
W tabelach (5.16) do (5.23) przedstawiono uzyskiwane macierze podziału dla poszczególnych
miar odległości. Następnie przedstawiono otrzymane listy reguł dla obliczeń metodą opartą o listy
decyzyjne, są to tablice 5.16, 5.17, 5.18. Reguły przedstawione są w postaci par {atrybut, grupa}. Dla
małej bazy atrybut reprezentuje pojedyncza litera, natomiast w przypadku bazy głosowań atrybut
jest zakodowany: obejmuje numer głosowania (liczbowo) oraz oddany głos (T lub N ), symbol S
dodany jest ze względów technicznych i nie ma znaczenia w procesie interpretacji wyników.
Tabela 5.13: Przyrost informacji dla różnych algorytmów grupowania bez użycia funkcji odległości
dla małej bazy
algorytm
genetyczny prosty
deglomeracyjny
proste szukanie heurystyczne
Decision List pełny przegląd
Decision List heurystyczne
Decision List genetyczny
przyrost informacji
0,3312
0,4815
0,3312
0,3312
0,3312
0,3312
czas obliczeń
04:26:40
16:40:00
00:00:00
20:26:40
13:06:40
18:00:00
Wyniki badań nad „małą bazą” służą przede wszystkim potwierdzeniu słuszności założenia, że
wybrane algorytmy grupowania bez użycia funkcji odległości nadają się grupowania danych symbolicznych. Potwierdzono prawidłowość konstrukcji algorytmów oraz prawidłowość ich implementacji.
Przedstawione algorytmy są na początkowym etapie badań i nie przeprowadzono bardziej zaawansowanych technik związanych z analizą algorytmów, takich jak dowód o poprawności algorytmu,
obliczenie złożoności itd. Badania w tym zakresie autor na tym etapie przeprowadził empirycznie,
poprzez sprawdzenie na wybranych przez siebie zbiorach danych.
W porównaniu do algorytmów wykorzystujących funkcję odległości widać wyraźnie znacznie lepsze wyniki. Prawie wszytkie metody (oprócz metody deglomeracyjnej) odgadły prawidłowy podział
5.4 Badanie algorytmów nie wymagających funkcji odległości
127
Tabela 5.14. Podział dla algorytmów grupowania bez użycia funkcji odległości dla małej bazy
atrybuty
obiektów
A
2
2
1
2
1
1
acdf
adec
awtv
befg
btzw
bvzu
ilość przypisań
dla algorytmu
B C D E
2 2 2 2
2 2 2 2
1 1 1 1
1 2 2 2
1 1 1 1
1 1 1 1
F
1
1
2
1
2
2
Tabela 5.15: Trafność uzyskanego grupowania dla różnych algorytmów grupowania bez użycia funkcji
odległości dla małej bazy
algorytm
genetyczny
deglomeracyjny
proste szukanie heurystyczne
Decision List pełny przegląd
Decision List heurystyczne
Decision List genetyczny
QQ
TAK
3
2
3
3
3
3
QQ
NIE
0
1
0
0
0
0
PP
TAN
3
3
3
3
3
3
PP
NIE
3
2
3
3
3
3
trafność
%
100,00
83,33
100,00
100,00
100,00
100,00
(patrz tabele 5.14 i 5.15). Jest to argument za tym, że dla niektórych baz danych, dla których trudno jest wskzać odpowiednią funkcję podobieństwa (odległości) lepiej do grupowania jest zastosowań
metodę opartą o wskaźnik porządku w danej strukturze (w tym przypadku jest nim wskaźnik przyrostu informacji). Sposób obliczenia i przedstawienia trafności jest analogiczny jak dla poprzedniego
badania.
128
Badanie algorytmów grupowania na danych symbolicznych
Tabela 5.16. Lista reguł decyzyjnych pełny przegląd dla małej bazy
jeżeli atrybut to grupa
V
1
C
2
W
1
B
2
Tabela 5.17. Lista reguł decyzyjnych algorytm heurystyczny dla małej bazy
jeżeli atrybut to grupa
C
2
F
2
C
1
F
1
T
1
Z
1
Tabela 5.18. Lista reguł decyzyjnych algorytm genetyczny dla małej bazy
jeżeli atrybut to grupa
Z
1
C
2
D
2
A
1
A
1
A
1
A
1
A
1
A
1
V
1
F
2
Tabela 5.19. Lista reguł decyzyjnych algorytm pełny przegląd dla bazy głosowań
jeżeli atrybut
S8N
S5N
S4T
S14N
S7T
S10N
S2N
S1N
S2T
to grupa
1
2
1
2
2
2
2
1
1
5.4 Badanie algorytmów nie wymagających funkcji odległości
Tabela 5.20. Lista reguł decyzyjnych algorytm heurystyczny dla bazy głosowań
jeżeli atrybut
S8N
S5N
S4T
S14N
S7T
S10N
S2N
S1N
S2T
to grupa
1
2
1
2
2
2
2
1
1
Tabela 5.21. lista reguł decyzyjnych algorytm genetyczny dla bazy głosowań
jeżeli atrybut
S8N
S8N
S8N
S8N
S8N
S8N
S8N
S8N
S8N
S8N
S8N
S8N
S8N
S8N
S8N
S8N
S8N
S8N
S8N
S8N
S8N
S5N
S14N
S3N
S6T
S6T
S7T
to grupa
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
1
1
2
2
129
Badanie algorytmów grupowania na danych symbolicznych
130
Tabela 5.22. Przyrost informacji dla algorytmów bez użycia funkcji odległości dla bazy głosowań
algorytm
genetyczny
deglomeracyjny
proste szukanie heurystyczne
Decision List pełny przegląd
Decision List heurystyczne
decision list genetyczny
przyrost informacji
1,4413
1,0383
1,0147
1,0237
1,0237
1,0252
czas obliczeń
01:46:40
00:00:00
19:59:59
21:46:40
15:06:40
18:13:20
Tabela 5.23: Trafność uzyskanego grupowania dla algorytmów bez użycia funkcji odległości dla bazy
głosowań
algorytm
genetyczny
deglomeracyjny
proste szukanie heurystyczne
Decision List pełny przegląd
Decision List heurystyczne
Decision List genetyczny
demokraci
TAK NIE
137
130
212
55
216
51
213
54
213
54
211
56
republikanie
TAK NIE
82
137
157
212
162
216
161
213
161
213
161
211
trafność
%
50,35
84,83
86,90
85,98
85,98
85,52
Dla badań w zakresie przetwarzania „bazy głosowań” ważnym wskaźnikiem jest trafność (na podstawie rozdziału 3.8.1). Porównywane zostaje podział otrzymany w wyniku grupowania i faktycznie
zapisany w bazie. Należy jednak pamiętać, że baza przedstawia rzeczywisty obraz głosowań, który
to daleki jest od podziału idealnego (np. zgodnego z liniami programowymi poszczególnych partii).
Aczkolwiek potwierdza się reguła o związku pomiędzy wartościami atrybutów (w tym przypadku
są to decyzje w poszczególnych głosowaniach) a przynależnością do partii. Trafność przedstawiono
w tabeli 5.23 natomiast czas obliczeń oraz wynikowy przyrost informacji w tabeli 5.22. W tabelach
5.19, 5.20 oraz 5.21 przedstawiono otrzymane podziały w postaci reguł. Dodatkowym argumentem
za taką postacią przedstawienia grupowania jest informacja o kluczowych atrybutach, skutkujących
przypisaniem do danej grupy. Pozostałe sposoby przedstawienia grupowania, w postaci podzbiorów
oraz elementów wzorcowych nie dają takiej możliwości.
Najlepszy wynik dało proste przeszukiwanie, ale zarazem najdłużej trwało. Podobne wyniki dał
algorytm oparty o listy decyzyjne i nieco gorsze algorytm hierarchiczny. Również metoda wykorzystująca algorytmy genetyczne w swej bezpośredniej, prostej postaci nie daje najlepszych wyników.
Należy zauważyć wskaźnik jakości, który odzwierciedla ilość popełnionych błędów w grupowaniu.
Omówienie wyników metody pełnego przeglądu
Metoda pełnego przeglądu dała najlepsze rezultaty (z punktu widzenia ninimalizacji funkcji kryterium). Jest to oczekiwane działanie tego algorytmu. Ponieważ sprawdza on każdy wariant podziału
5.4 Badanie algorytmów nie wymagających funkcji odległości
131
znajduje więc rozwiązanie optymalne. Wadą tej metody jest natomiast duży koszt obliczeniowy co
potwierdziły wyniki pomiaru czasu obliczeń.
Omówienie wyników metody deglomeracyjnej
Metoda grupowania algorytmem deglomeracyjnym jest najszybszą z testowanych metod. Wynika to z charakteru poszukiwanej formuły, dzięki której dokonywane jest grupowanie. W niniejszym
badaniu sprowadza się to do poszukiwania kryterium składającego się z testu wartości pojedynczego
atrybutu. Dla zbioru mała baza metoda deglomeracyjna uzyskała najgorszy wynik. Jest to spowodowane specyficzną charakterystyką danych: dwie najliczniej reprezentowane wartości atrybutów,
mimo dzielenia zbioru obiektów na dwa równoliczne podzbiory, wskazują na niewłaściwy rezultat podziału. Ponieważ przedstawiona metoda korzysta z kryteriów zawierających wartości pojedynczego
atrybutu, to zbiory wymagające kryteriów bardziej skomplikowanych dzielone są niewłaściwie.
Omówienie właściwości algorytmu genetycznego
Algorytmy genetyczne, mimo swych niewątpliwych zalet w ramach przeszukiwania dużych przestrzeni rozwiązań posiadają istotną ułomność prowadzącą do niemożności znalezienia rozwiązania
najlepszego. Czynności modyfikujące gen na kolejnych etapach, takie jak krzyżowanie czy mutacja, chociaż dobrze sprawdzają się w początkowych etapach poszukiwania rozwiązania, to jednak
prowadzą do znalezienia rozwiązań lokalnie optymalnych. Porównując otrzymane innymi metodami
rozwiązanie (wystarczy, że jest lepsze od uzyskanego algorytmem genetycznym) i rozwiązanie uzyskane algorytmem genetycznym można zauważyć następujący problem. Aby algorytm genetyczny
znalazł lepsze rozwiązanie musiałby w jednym etapie zmutować na wielu pozycjach, czyli zmienić
przypisanie wielu obiektów do grup jednocześnie. Nie można tego wykonać na „raty”, gdyż rozwiązania pośrednie są znacznie gorsze. Problem ten wynika z samej istoty obliczania wskaźnika
przyrostu informacji. Najlepszy wynik otrzymuje się, gdy dany atrybut albo w całości zawiera się
w jednej z grup albo nie występuje wcale. W rzeczywistości, w podanej klasie danych, takie rozłożenie obiektów aby wszystkie atrybuty były rozłożone optymalnie jest niemożliwe. Wiele atrybutów
ma rozkład wykluczający taką możliwość. Następuje więc próba znalezienia porządku w zbiorze
atrybutów. Zbiór obiektów grupuje się ze względu na niektóre atrybuty „kosztem” innych. Algorytm
genetyczny znajduje takie rozwiązania. W celu znalezienia kolejnego, lepszego rozwiązania należało
by wybrać i „przegrupować” pewną ilość obiektów wg jednego atrybutu kosztem innego. W tym celu
zaproponowano algorytm opisany w kolejnym punkcie.
Autor zaproponował w niniejszej pracy odpowiednią modyfikację metody ewolucyjnej tak aby
ominąć niepożądane właściwości. Propozycja polega na wykorzystaniu metod grupowania opartych
o listy decyzyjne w połączeniu z algorytmem genetycznym jako funkcją przeszukiwania (patrz 4.5).
Badanie algorytmów grupowania na danych symbolicznych
132
Atuty algorytmu decision list opartego o algorytm genetyczny
W porównaniu do algorytmu genetycznego z bezpośrednim przypisywaniem obiektów do grup
algorytm „Proste Decision List” ma następujące zalety:
• jest szybszy, wymaga mniejszej liczby iteracji w celu otrzymania tego samego wyniku,
• daje dokładniejsze rozwiązania, rzadziej zatrzymuje się na rozwiązaniach lokalnych.
Większa wydajność wynika z faktu, że pomimo iż całkowita długość listy reguł zazwyczaj jest
dłuższa od tablicy przypisań, to samo rozwiązanie w postaci części aktywnej listy reguł jest znacznie
krótsze od rozwiązania w postaci tablicy przypisań. Kolejnym aspektem jest to, że wiele reguł jest
od siebie niezależnych (całkowicie lub tylko w danym lokalnym zakresie), ich względny układ nie ma
wpływu na ostateczny wynik. Ostateczne więc rozwiązanie może występować w wielu permutacjach,
co ułatwia jego znalezienie.
Omówienie właściwości algorytmu heurystycznego
Algorytmy heurystyczne dokonują przeszukiwania zadanego obszaru zgodnie z pewnymi założonymi regułami. Przeszukiwania dokonuje się w pewnym ustalonym porządku, pomijając w procesie
przetwarzania pewne obszary, co skutkuje przyspieszeniem działania algorytmu w stosunku do algorytmu pełnego przeglądu. Przyjmuje się założenie, że w obrębie pomijanych obszarów nie znajduje
się szukane rozwiązanie. W przyjętym rozwiązaniu zastosowano następujące zasady przeszukiwania
heurystycznego opisanego algorytmem 4.10. Potwierdzono jego przydatność do grupowania metodą
opartą o listy decyzyjne. Uzyskane rezultaty potwierdziły jego mniejszą złożoność od metody pełnego
przeglądu przy porównywalnej skuteczności znajdowania rozwiązania optymalnego. Przewiduje się
możliwość zastosowania bardziej zaawansowanych technik heurystycznych w celu polepszenia wydajności algorytmu. Wymagane są również dalsze prace formalne nad określeniem obszaru stosowalności
przedstawionej metody (danych, dla których znajdowane jest rozwiązanie optymalne).
5.5
Wnioski
Grupowanie danych symbolicznych wymaga wielu adaptacji stosowanych metod, począwszy od
ustalenia sposobu interpretacji i normalizacji danych wejściowych po modyfikacje stosowanych algorytmów. W zależności od grupowanej dziedziny i oczekiwanych rezultatów należy dobrać odpowiednią metodę grupowania.
W niniejszym rozdziale autor zbadał własności kilku metod grupowania dla kilku wybranych
baz zawierających dane symboliczne. Potwierdziła się silna zależność jakości uzyskiwanych wyników
od użycia odpowiedniej metody w stosunku do analizowanego zbioru danych. Najbardziej wrażliwe
5.5 Wnioski
133
są metody wymagające stosowania miary odległości pomiędzy obiektami. Konieczność dobierania
funkcji odległości do rodzaju przetwarzanych danych w zakresie eksploracji stanowi istotną wadę
gdyż zmiana źródła danych wymaga dokonania testów, w celu doboru optymalnych warunków grupowania. Natomiast zaletą takich metod jest duża wydajność obliczeniowa.
Pod względem jakości uzyskiwanych wyników lepiej sprawują się algorytmy nie wymagające stosowania miary odległości. Jedyną metodą dającą wyraźnie gorsze wyniki pod względem jakości podziału, jest metoda deglomeracyjna, co wynika z prostoty metody – nie jest ona w stanie odwzorować
bardziej skomplikowanej struktury podziału. Natomiast dzięki swej prostocie jest to metoda bardzo
szybka, co również potwierdziły wyniki pomiarów. W zakresie grupowania bez udziału funkcji odległości autor dokonał badania własnej metody grupowania opartej o listy decyzyjne w postaci trzech
algorytmów grupowania. Otrzymane wyniki są poprawne oraz potwierdzają możliwość wykorzystania proponowanych metod do grupowania danych symbolicznych. Należy dodać, że przedstawione
metody są dopiero na początkowym etapie rozwoju, do skutkuje pewnymi niedoskonałościami. Przykładem jest wielokrotnie powtórzona reguła w liście reguł utworzonych przez algorytm genetyczny
(tabela 5.21), nie wpływa to na ostateczny podział i uzyskane wskaźniki trafności i przyrostu informacji, natomiast bardzo utrudnia dalszą interpretację wyniku.
Interesującym spostrzeżeniem z badań było odkrycie przyczyny słabości metody grupowania
opartego o algorytmy genetyczne wykorzystujące bezpośrednie zapis obiektów w genomie (podrozdział 3.7). Pomijając fakt słabej efektywności (czas znajdowania rozwiązania znacznie przewyższał
pozostałe z badanych metod), to również jakość pozyskanych wyników budziła wątpliwości. Wynikało to z faktu znajdowania przez tą metodę rozwiązań jedynie lokalnie optymalnych. Podczas badań
okazało się, że dla pewnych danych algorytm genetyczny nie znajduje rozwiązania optymalnego, bez
względu na przeznaczony czas. W trakcie przetwarzania algorytm „wpada” w lokalne optimum i w
zasadzie nie „potrafi” z niego wyjść. Dzieje się tak wówczas, gdy genom reprezentował wszystkie grupowane obiekty (każdy fragment odrębny obiekt). Dokładna analiza ujawniła przyczyny tego faktu.
Różnica pomiędzy rozwiązaniem podanym przez algorytm genetyczny, a optymalnym dotyczy kilku
(kilkunastu) obiektów, które mają zmienione przynależności do grup. Dla wszystkich rozwiązań pośrednich wartość funkcji kryterium jest większa, więc „przeniesienie” tylko kilku obiektów powoduje
uzyskanie gorszego wyniku, co jest eliminowane z populacji. Prawdopodobieństwo przejścia od rozwiązania lokalnego do rozwiązania optymalnego jest minimalne, gdyż operatory przeszukujące nie
potrafią dokonać takiego „przeskoku” w pojedynczym cyklu.
W podrozdziale 5.4.1 przedstawiono przykład, w jaki sposób prezentacja wyniku grupowania w
postaci reguł wpływa na dalsze możliwości wnioskowania. Dla przykładu grupowania „bazy głosowań” wynik zawiera informację o kluczowych atrybutach (w tym przypadku głosowaniach) skutkujących identyfikacją przypidania do danej grupy (partii politycznej).
134
Badanie algorytmów grupowania na danych symbolicznych
W trakcie prac nad tworzeniem programu komputerowego natknięto się na szereg problemów wymagających rozwiązania. Pojawiały się one we wszystkich tworzonych modułach. W module importu
i przygotowania danych należało skonstruować odpowiednie mechanizmy czytające dane o określonym formacie, a następnie, w szczególności dla danych symbolicznych, dostosowanie do wewnętrznych wymagań reprezentacyjnych. W zakresie implementacji poszczególnych algorytmów trudniejsze
prace dotyczyły zwiększenia wydajności algorytmu poprzez jego optymalny zapis, zmniejszenia wymagań na zasoby systemu takie jak pamięć operacyjne oraz zapewnieniu poprawnego działania dla
źle uwarunkowanych danych (w jednym przypadku oryginalny algorytm „zapętlał się”). Wymienione
zagadnienia rozwiązano w sposób doświadczalny. Wymagane są dalsze prace, szczególnie w zakresie formalnym, które dadzą pełniejszy obraz co do możliwości i zakresu stosowania poszczególnych
metod.
Rozdział 6
Selekcja i grupowanie danych
lingwistycznych
Dane lingwistyczne obejmują olbrzymi obszar informacji, które łączy forma gromadzenia, mianowicie wyrażone są przy użyciu języka naturalnego lub wykorzystują pewne elementy tego języka.
Aby mówić o eksploracji danych lingwistycznych należy wybrać takie bazy, które potencjalnie
zawierają interesujące informacje, a następnie dobrać odpowiednie metody analizy tych danych.
W tym rozdziale autor dokonuje analizy pewnego rodzaju danych lingwistycznych występujących w
bazach biznesowych, ze szczególnym uwzględnieniem rodzaju informacji w nich ukrytych, możliwości
odkrycia nowej wiedzy oraz wymagań i ograniczeń stawianych przed stosowanymi metodami analizy
[93].
Propozycja autora obejmuje zastosowanie grupowania katalogu towarów jako przedmiot eksploracji danych. Jak już wskazano w podrozdziale 1.9 grupowanie w katalogu towarów jest istotnym ogniwem w trakcie eksploracji bazy danych przedsiębiorstwa. Baza zawierająca katalog istnieje niemal
we wszystkich systemach informacyjnych przedsiębiorstw. Nazwy katalogowe towarów w naturalny
sposób odzwierciedlają podobieństwo poszczególnych towarów.
Na podstawie dotychczasowych doświadczeń z grupowaniem danych symbolicznych oraz przedstawionych założeń eksploracji danych autor dokonuje adaptacji niektórych metod do sformułowanego powyżej zagadnienia. Wstępnego omówienia problemu dokonano w podrozdziałach 1.9 i 6.1.3 oraz
publikacji własnej autora [92]. W niniejszym rozdziale autor analizuje strukturę informacji zawartych
w katalogu towarów, zarówno pod względem syntaktycznym jak i semantycznym, następnie przedstawia wyniki działania algorytmów grupowania na dwóch katalogach: sztucznie spreparowanym oraz
rzeczywistym. Badaniu zostaną poddane te same algorytmy, których przydatność do grupowania
danych symbolicznych stwierdzono w rozdziale 5.
135
Selekcja i grupowanie danych lingwistycznych
136
6.1
Zagadnienie uwzględniania dostępnej wiedzy procesie
grupowania
Podstawą konstrukcji systemów informatycznych „rozumiejących” język naturalny jest metoda
formalnej interpretacji jego znaczenia. Metoda taka musi obejmować dwa elementy: język sztuczny
o precyzyjnie zdefiniowanej semantyce oraz algorytm translacji pomiędzy wyrażeniami języka naturalnego i sztucznego. Siła ekspresji wyrażeń języka sztucznego wyznacza granice zjawisk językowych
możliwych do opisu.
W pracy [108] zaprezentowano przykłady warstw informacyjnych zawartych w zbiorach HTML
na stronach internetowych portali, możliwych do wykorzystania w procesie grupowania:
• treść tekstowa, na podstawie wektora częstości występowania poszczególnych słów,
• struktura hipertekstowa: liczba odsyłaczy do których prowadzi strona i liczba stron zawierających odsyłacze do strony badanej,
• miara popularności danej strony wyrażona w liczbie odwiedzin (wejść) danej strony.
Powyższe wyliczenie ukazuje różnorodność informacyjną zawartą w dokumencie. Dowodzi również potrzeby analizy dostępnych danych związanych z dokumentami i możliwego wykorzystania tych
danych w procesie eksploracji. Przykładem jest skojarzenie liczby wejść na stronę z miarą popularności, szczegółowa analiza korelacji liczby wejść z powiązaniami i treścią stron wykorzystywana jest w
wielu zagadnieniach, przykładowo analizie ergonomii serwisu czy też identyfikacji profilu internauty.
6.1.1
Wykorzystanie wiedzy zawartej w słowach
W poszczególnych słowach, które składają się na opis obiektu, zawarta jest pewna ilość informacji.
Ponieważ atrybuty lingwistyczne człowiek przypisuje do obiektów w celu opisania danego obiektu,
to opisują one wiernie charakter obiektu, w szczególności właściwości istotne z punktu widzenia
danego zastosowania. Wiedza o znaczeniu poszczególnych słów posłużyć może do skonstruowania
funkcji obliczającej podobieństwo poszczególnych obiektów.
Ogólnie rzecz ujmując każdy grupowany obiekt opisany jest szeregiem symboli w postaci słów
i liczb, których znaczenie wynika z kilku elementów. Po pierwsze znaczenie danego symbolu jest jakby
absolutne, gdy dane słowo istnieje w języku naturalnym i zastosowano go w takim samym znaczeniu. Takie słowa to przykładowo: „samochód”, „czerwony”. Kolejne symbole nabierają znaczenia,
gdy zostaną skojarzone ze znaczeniami jakie im przypisano. Znaczenia poszczególnych symboli definiowane są poprzez książkę kodową, słownik, treść normy itd. Wtedy znaczenia nabierają symbole
postaci „E40”, „V70”, „XT”, czy chociażby marki poszczególnych produktów, nie będące słowami
6.1 Zagadnienie uwzględniania dostępnej wiedzy procesie grupowania
137
języka naturalnego, ale dla znawców danej dziedziny stają się terminami o określonym znaczeniu.
Natomiast symbole postaci numerycznej tylko wtedy są nośnikami informacji, o ile znany jest ich
kontekst.
6.1.2
Słownik
Słownik jest zbiorem elementów (słów lub wyrażeń symbolicznych) wraz ze zbiorem relacji pomiędzy tymi elementami. W pewnych wypadkach słownik w systemach pozyskiwania wiedzy określa
się mianem bazy wiedzy. Ze słownikiem związane są następujące trzy aspekty. Pierwszy to sposób
konstruowania. Wyróżnia się sposoby ręczne, automatyczne oraz pozyskiwane z zewnątrz (np. bazy
typu WordNet dostępne w Internecie). Należy odróżnić słowniki pozyskiwane z zewnątrz, gdyż ich
właściwości znaczącą odbiegają od możliwych do uzyskania samodzielnie. Dzieje się tak z powodu
stosowania do ich konstruowania różnorakich metod i technik. Mimo ich niewątpliwej wartości ich
przydatność w danym zastosowaniu jest ograniczona z uwagi na nie pokrywanie się dziedziny słownika z dziedziną zastosowania. Drugim aspektem jest metoda korzystania, szczegółowy algorytm
umożliwiający uzyskiwanie odpowiedzi na zadane pytanie. Trzeci aspekt jest związany z jakością
słownika. Jak wspomniano powyżej zależy to od sposobu konstrukcji, lecz z uwagi na doniosłe
znaczenie słownika w dalszym procesie pozyskiwania wiedzy, dbanie o jego doskonalenie owocuje
lepszymi rezultatami.
Elementy, które może zawierać słownik (do każdego terminu w słowniku można przypisać) [73]:
— znaczenie, w zarówno w wąskim zakresie (ang. NT - Narrow Term) jak i szerokim (ang. BT Broader Term),
— relacje do innych słów (ang. RT - Related To): antonimy i synonimy,
— sposób użycia (ang. UF - Used For ),
— genezę słowa, pochodzenie.
Badania związane z zastosowaniem słownika do rozpoznawania znaczeń datują się od prac Spark
Jones nad automatycznym klasyfikowaniem słów [73], Saltona nad automatycznym konstruowaniem
słownika [114].
Zagadnienia, do rozwiązania których pomocny jest słownik :
— poszczególne części mowy mają różny wpływ na zawartość tematyczną danego dokumentu;
nawet rozpoznanie podstawowego podziału na rzeczowniki, przymiotniki, czasowniki itd. znakomicie ułatwia proces analizy,
— niektóre ze znaczeń wynikają z układu słów w zdaniu; słownik może zawierać wybrane wyrazy,
będące niejako węzłami struktury zdania, stanowiące o możliwości rozpoznania danego układu
i dalej rozpoznaniu znaczenia,
Selekcja i grupowanie danych lingwistycznych
138
— możliwość wyodrębnienia elementów relewantnych — tj. istotnych dla komunikacji językowej
od tych które nie mają takiego znaczenia,
— z uwagi na możliwość zastosowania różnych słów w danym kontekście, na opisanie tego samego znaczenia, wykrycie podobieństwa znaczeń na odstawie identyczności użytych słów, ma
ograniczona skuteczność; słownik umożliwia oszacowanie relacji pomiędzy słowami i dalej rozpoznanie jednakowego znaczenia w tekstach, w których użyto różnych słów.
6.1.3
Zasady grupowania nazw towarów
Wśród wielu danych opisujących daną pozycję towarową na potrzeby niniejszych rozważań istotny jest słowny zapis nazwy danej pozycji towarowej. Dzięki analizie tej nazwy można dokonać porównania nazw poszczególnych towarów i dalej dokonać grupowania. Grupowanie może zautomatyzować
bądź wspomóc tworzenie nowych i polepszanie starych klasyfikacji towarów.
Na podstawie konsultacji z ekspertami i potencjalnymi użytkownikami przyjęto następujące założenia grupowania:
— towary są łączone na podstawie posiadanych wspólnych wartości atrybutów,
— nie dokonuje się wstępnej kwantyzacji atrybutów symbolicznych,
— podobieństwo zależy od atrybutów porównywanych obiektów, ale również korelacji z innymi
obiektami,
— poszczególne atrybuty mają różną wagę, którą należy oszacować na podstawie dostępnych
danych,
— zakłada się istnienie dodatkowych, możliwych do wykorzystania informacji.
Propozycją autora jest, aby nazwy towarów traktować jako bardzo krótkie teksty, więc do ich analizy można zastosować mechanizmy opracowane na potrzeby pozyskiwania informacji z dokumentów.
Należy jednak wziąć pod uwagę pewne różnice, które stanowią o ich odrębności i wymagają zmiany
podejścia. W systemach grupowania dokumentów poszczególne dokumenty są reprezentowane jako
następujące wektory słów [115]:
x = x1 , . . . , xn
(6.1)
gdzie: n jest liczbą wszystkich słów i termów występujących w bazie dokumentów, a xi współczynnikiem zależnym od częstości i sposobu występowania danego słowa.
W postaci określonej wzorem (6.1) często odrzuca się informacje o wzajemnym ułożeniu słów,
pozostawiając jedynie informacje o częstości występowania. Takie uproszczenie jest stosowane do
wielu rodzajów tekstów i nie wpływa znacząco na pogorszenie jakości otrzymywanych wyników.
Wydaje się więc, że na potrzeby nazw towarów również można je wykorzystać. Ponieważ reguły
6.2 Badanie
139
gramatyczne i formalne stosowane podczas tworzenia nazw towarów są bardzo proste, same nazwy
są tak konstruowane, aby maksymalnie zminimalizować mogące wystąpić niejednoznaczności. Zazwyczaj znaczenie danego terminu nie jest zależne od jego położenia w nazwie, a w przypadkach
gdy jednak pozycja ma znaczenie, to jest to uwarunkowane ścisłymi regułami formalnymi, co można
wykorzystać do skonstruowania tzw. parsera tłumaczącego nazwy do postaci bezkontekstowej.
Podobieństwo dwóch tekstów zależy od każdego elementu w nich występującego. Zmiana tylko
jednego słowa bądź drobna zmiana kolejności może diametralnie wpłynąć na znaczenie (opisywane
pojęcia) danego tekstu, a tym samym na podobieństwo do innych dokumentów. Jednak szczegółowa
i kompletna analiza jest niemożliwa do zrealizowania z powodu niemożności uwzględnienia wszystkich aspektów wpływających na znaczenie tekstu. Aby jednak móc grupować dokumenty tekstowe
stosuje się pewne uproszczenia pozwalające na utworzenie funkcji porównującej teksty z pewnym
dopuszczalnym błędem. Zakłada się, że dokumenty są do siebie bardziej podobne, gdy więcej słów
powtarza się w obu dokumentach. Jednak dokładna analiza takiego podejścia ujawnia, że nie należy
jednakowo traktować wszystkich słów. W języku naturalnym wyróżnia się różnego typu słowa, które
spełniając różne funkcje. Przykładowo na potrzeby porównywania tekstów należy pomijać słowa, które mogą wystąpić w każdym kontekście takie jak łączniki „i”, „oraz”. Można również przeprowadzić
analizę statystyczną występowania poszczególnych słów i na tej podstawie ustalić wpływ występowania poszczególnych słów na znaczenie całego dokumentu. Salton w swej pracy [115] przeanalizował
kilka takich wskaźników i doszedł do wniosku, że najlepszym wskaźnikiem (oddającym najwierniej
podobieństwo dwóch tekstów) jest wskaźnik TF-IDF (ang. Term frequency inverse document frequency). W tym wskaźniku znaczenie słowa zwiększa się gdy słowo więcej razy występuje w danym
dokumencie a zmniejsza, gdy często występuje w całej analizowanej zbiorowości dokumentów.
Podczas przeprowadzania badań zauważono, że w przypadku katalogu towarów stosowanie wskaźnika TF-IDF prowadziłoby do błędnych wyników. W analizowanym przykładzie hipotetycznego katalogu wyrobów piekarniczych słowo „chleb” będzie występować w połowie nazw, a słowo „tostowy”
tylko w niewielkiej części. Wg wskaźnika TF-IDF słowo „chleb” miało by niższą wagę, co kłóci się
ze zdrowym rozsądkiem. Dzieje się tak, gdyż nazwy towarów są tworzone inaczej, w innym celu.
Katalog towarów gromadzi w sobie zbiór bardzo podobnych do siebie dokumentów tekstowych (sąsiadujące pozycje zazwyczaj niewiele się od siebie różnią). Dlatego też zupełnie inne są rozkłady
statystyczne występowania poszczególnych słów. Należy więc przyjąć inną zasadę przypisywania
wag poszczególnym słowom.
6.2
Badanie
Celem eksperymentu jest opracowanie metodologii grupowania rekordów w bazie danych zawierającej nazwy katalogowe produktów. Wychodząc z ogólnej definicji grupowania, w przypadku katalogu
Selekcja i grupowanie danych lingwistycznych
140
towarów celem jest więc znalezienie naturalnych grup gromadzących wybrane pozycje z katalogu.
Mimo że dla części istniejących katalogów została zdefiniowana klasyfikacja, to jednak wielokrotnie
obserwowano zjawisko nieadekwatności klasyfikacji katalogu towarów do dalszej analizy danych biznesowych. Przyczyny tego stanu mogą być różnorakie: klasyfikacja się zdezaktualizowała, stała się
niereprezentatywna, pomijała nowo powstałe kwestie itd. Przykładowo „samochód” i „benzyna” stoją w ściślejszej relacji niż para „samochód” i „rower”, chociaż ta ostatnia para jest bardziej do siebie
podobna [109]. Natomiast sama powszechność stosowania klasyfikacji towarów dowodzi potrzeby jej
stosowania.
6.2.1
Analiza danych wejściowych
Towarem nazywa się obiekt podlegający transakcji sprzedaży. W transakcyjnych bazach danych, rejestrujących przebieg procesów biznesowych w przedsiębiorstwie, rejestracja faktu dokonania
transakcji sprzedaży jest ważnym elementem. I z uwagi na istotę faktu dokonania sprzedaży różne
przedsiębiorstwa stosują wiele metod rejestracji, jednak można wyróżnić kilka elementów wspólnych.
Takim wspólnym elementem jest rejestracja sprzedawanego obiektu: towaru, produktu, usługi. W
niniejszym opracowaniu rozpatruje się tylko takie bazy danych, w których towary zgromadzone są
w postaci katalogu towarów.
Na potrzeby niniejszej analizy towarem nazywa się każdy obiekt będący przedmiotem transakcji,
niekoniecznie rzecz, może to być usługa, licencja bądź cokolwiek innego. Z tym identyfikatorem skojarzona jest baza zawierająca pewne katalogowe informacje dotyczące poszczególnych produktów.
Każdy identyfikator jednoznacznie wskazuje na daną pozycję katalogową, a podstawową informacją
zawartą w takiej bazie jest nazwa i opis produktu, zapisana w formie zrozumiałej dla człowieka. Każdy towar na swoje identyfikatory, których może być jeden lub więcej. Identyfikator może mieć postać
symboliczną, czy też sztucznie wygenerowaną na podstawie wewnętrznych ustaleń. Najczęściej jest
to ciąg znaków alfanumerycznych. Inna postać to nazwa, którą tworzy się w oparciu o wiedzę o
towarze, jego właściwościach, relacjach w stosunku do innych towarów w tym samym katalogu. W
nazwie tej zawarta jest informacja o położeniu danego towaru w pewnej, przyjętej do stosowania w
przedsiębiorstwie, systematyce. W nazwach stosuje się terminy i zwroty stosowane w języku naturalnym, stosowane w danej dziedzinie, dopuszcza się również stosowanie skrótów oraz symboli, których
znaczenie definiowane jest przez wewnętrzne ustalenia. W zależności od realizacji może zawierać
informacje opisowe (powszechnie stosowane określenia, czasami ich skróty), kodowe (symboliczny
zapis poszczególnych właściwości produktu na podstawie słownika i reguł stworzonych na potrzeby
danej realizacji) oraz liczbowe, reprezentujące określone wielkości danych parametrów.Rozróżnienie
rodzajów identyfikatorów nie jest przedmiotem rozważania, istotne natomiast jest wskazanie istnienia
pewnych faktów, które mogą być wykorzystane w trakcie przetwarzania danych.
6.2 Badanie
141
Analizując zbiór danych, składający się z nazw towarów, zauważono następujące właściwości:
— duża ilość powtórzeń poszczególnych słów,
— ograniczona liczebność występujących słów,
— możliwość występowania wyrazów i symboli istniejących i nieistniejących w języku naturalnym,
— nazwy można traktować jako dokumenty tekstowe,
— nazwy zawierają tylko kilka słów,
— występują szczególne przypadki, gdy nazwy różnią się tylko jednym słowem.
Podane właściwości należy uwzględnić w procesie grupowania. Część z nich wykorzystuje się w
celu polepszenia uzyskiwanych rezultatów, część w celu zwiększenia efektywności działania algorytmów.
6.2.2
Konstrukcja nazwy w katalogu towarów
Konstrukcja nazwy zazwyczaj jest następująca: nazwa towaru składa się z niewielkiego ciągu znaków, rzadko przekracza on długość kilkuset znaków, a zazwyczaj jest mniejszy niż 100. W strukturze
nazwy można wyróżnić słowa. Występuje jedno lub więcej słów, które ustalają rodzaj produktu, jego
podstawową klasyfikację. Często są to powszechnie znane słowa występujące w języku naturalnym.
Pozostałe terminy mogą odpowiadać za poszczególne właściwości towarów. Cechą charakterystyczną
katalogu towarów jest stosowanie ograniczonego zbioru słów i symboli stosowanych w zapisie nazw
towarów. Poszczególne elementy nazwy służą identyfikacji bądź do opisu właściwości towaru, więc
oczekuje się od takich symboli ustalonego znaczenia, określonego poprzez praktykę stosowania. W
typowym katalogu zaleca się stosowanie tych samych symboli dla oznaczenia tych samych właściwości. Należy jednak pamiętać, że katalogi tworzą ludzie, przy użyciu języka naturalnego, więc można
się spodziewać wszelkich utrudnień jakie towarzyszą przetwarzaniu języka naturalnego, takich jak
wieloznaczności, niedomówienia, synonimy, aczkolwiek w dość ograniczonym zakresie.
Analizując nazwy poszczególnych produktów można zauważyć następującą właściwość: jeżeli
potraktujemy nazwę produktu jako ciąg słów:
litera
= { „a” . . . „Z” },
słowo
= {letter,[litera]},
nazwa = {słowo,[słowo]}
to wiele par produktów posiada podobne nazwy, tzn. jedno lub więcej słów występuje w obu
nazwach produktów. Wykorzystując znajomość faktu, że człowiek tworząc nazwy dla nowych produktów stara się aby były one podobne do innych podobnych produktów i tylko zmienia lub dodaje
jedno lub więcej słów tak, aby nowa nazwa wystarczająco identyfikowała nowy produkt, można
przyjąć, że w pewnym zakresie i z pewną dokładnością badając stopień podobieństwa nazw produktów otrzymuje się współczynniki określające podobieństwo samych produktów. Z drugiej jednak
Selekcja i grupowanie danych lingwistycznych
142
strony istnieje tendencja do maksymalnego skracania poszczególnych nazw, jeżeli tylko da się uniknąć powstawania niejednoznaczności. Przykładowo w analizowanym katalogu wyrobów hipotetycznej
piekarni pomija się oznaczenie wyrobu jako „pieczywo”, pomimo iż nie wszystkie wyroby należą do
tej kategorii. Informacja że dany wyrób należy do kategorii „pieczywo” może wynikać z użycia terminu „chleb”. Jedną z wielu informacji, którą można odkryć analizując różne znaczenia ukryte pod
tym terminem, jest to że produkt „chleb” należy do kategorii pieczywo.
6.2.3
Metoda wykorzystania słownika do porównywania bardzo krótkich
tekstów
Porównywanie dokumentów tekstowym pod względem znaczeniowym opiera się o właściwość
wyznaczania podobieństwa na podstawie jednoczesnego występowania niektórych wyrazów w obu
tekstach. Metody stosujące tą właściwość bezpośrednio, do niemodyfikowanych tekstów dają dobre
rezultaty dla dokumentów dłuższych. W przypadku, gdy analizowane dokumenty są bardzo krótkie,
stosowany jest szeroki zasób słów i znaczenia nabiera każdy wyraz metoda ta jest zbyt ogólna, pomija
bowiem podobieństwo znaczeniowe różnych wyrazów. Szczególnie jest to widoczne w przypadku
grupowania tekstów jakimi są nazwy towarów (patrz 6.1.3).
Wykorzystanie funkcji porównywania tekstów opisanej w podrozdziale 6.1.3 wymaga dokonania pewnych modyfikacji. Autor zaproponował odpowiednio przekształcić napis nazwy produktu.
Przekształcenie to dokonuje się na podstawie uprzednio zgromadzonej wiedzy. Wiedza ta obejmuje
zbiór prostych formalnie reguł opisujących relacje pomiędzy niektórymi ze stosowanych terminów. W
szczególności chodzi o relacje zawierania się znaczeniowego, od terminów szczegółowych do bardziej
ogólnych. W niniejszej pracy zaproponowano następującą metodę zapisu i późniejszego wykorzystania reguł: zastosowano słownik, w którym występują „tłumaczone” terminy oraz skojarzone z nimi
inne terminy określające bardziej ogólną informację. Korzystając z już przytaczanego przykładu
słownik będzie przypisywał znaczenia zgodnie z przykładem pokazanym w tablicy 6.1.
Tabela 6.1. Przypisywanie znaczeń na podstawie słownika
słowo źródłowe
„chleb”
„bułka”
→
→
termin uzupełniający
„pieczywo”
„pieczywo”
Tłumaczone są terminy „chleb” i „pieczywo”, termin „pieczywo” stanowi bardziej ogólne objaśnienie. Funkcje porównujące dokumenty opierają się na przeliczeniu stosunku występowań danego
słowa w danych dwu tekstach. Korzystając z tu zaproponowanego słownika dopisuje się do nazwy
produktu szereg słów określających pewne ogólne właściwości danego produktu, które „wyprowadza” się z właściwości szczegółowych, wynikających ze znaczeń poszczególnych słów. Operację taką
6.2 Badanie
143
wykonuje się automatycznie na podstawie zgromadzonych reguł. Opierając się na tak „rozwiniętych”
nazwach dokonuje się porównania tekstów. Następuje tu wykorzystanie następującej właściwości: im
bardziej produkty do siebie są podobne, tym mają więcej cech wspólnych, co winno się objawiać
większą ilością powtórzeń w „rozwiniętych” nazwach produktów. Większa ilość słów jednocześnie
występująca w analizowanych nazwach skutkuje wyższym współczynnikiem podobieństwa otrzymanym z funkcji porównującej teksty.
Tworzenie funkcji porównującej teksty wymaga rozwiązania jeszcze jednego problemu. Znaczenie
i wpływ poszczególnych słów na końcowy wynik nie jest bowiem jednakowy dla wszystkich słów. Dla
dokumentów nie związanych ze sobą (np. artykuły, abstrakty itd.) zapisanych tekstem naturalnym
przyjmuje się następujące zasady przypisywania wag. Słowa, które występują tylko w pojedynczych
dokumentach otrzymują wagę zero z uwagi na znikomy wpływ na klasyfikację. Jednocześnie taką
samą wagę przypisuje się słowom, które występuję w dużej części dokumentów. Jest to spowodowane następującym faktem. W języku naturalnym istnieje wiele słów mających charakter pomocniczy,
przykładowo są nimi spójniki. Słowa te, mimo iż występują bardzo często nie wpływają na klasyfikację tekstu. W niniejszym opracowaniu dokument jaki powstaje z rozwinięcia nazwy towaru przy
pomocy słownika na inny charakter. Tutaj każde słowo ma istotne znaczenie dla klasyfikacji. Występują również te słowa, które zwyczajowo się pomija w z uwagi na pozostałe występujące słowa w
tekście. Korzystając z takiego sztucznego rozwijania nazw uzyskujemy następujący efekt. Niektóre
ze słów występują znacznie częściej niż inne, ale można zauważyć że częstość występowania zależy od
stopnia szczegółowości danego terminu, słowa będące bardzo ogólnymi terminami występują częściej
a te szczegółowe rzadziej. Wynika to ze sztuczności zabiegu rozwijania nazw. W mowie naturalnej
jeżeli użyje się terminu szczegółowego dotyczącego danej właściwości to terminy ogólne się pomija. W
niniejszej analizie, gdzie sztucznie uzupełniane są poszczególne opisy takie terminy ogólne są zawsze
obecne, albo były od początku, albo zostały dodane na podstawie analizy terminów bardziej szczegółowych. Wracając do przykładu: albo słowo „pieczywo” było w nazwie, albo zostanie dodane gdy
w nazwie znajdzie się słowo z grupy („chleb”, „bułka”). Człowiek intuicyjnie wie, że słowo „pieczywo” jest bardziej ogólnym określeniem niż słowo „chleb”, niestety komputer musi otrzymać liczbowe
dane na ten temat. Trudno jest wprowadzać takie dane ręcznie, np. zasięgając opinii eksperta gdyż
wiązało by się to ze znacznym kosztem przygotowania bazy słownika. Wystarczy jednak policzyć
ilość wystąpień danego słowa we wszystkich nazwach produktów. Zgodnie z zasadami tworzenia i
uzupełniania nazw dany termin pojawi się wszędzie tam, gdzie towar należy do grupy określanej
przez ten termin, tym samym stopień ogólności terminu jest proporcjonalny do ilości wystąpień.
Idąc dalej tym tokiem rozumowania można obliczyć stopień podobieństwa dwóch nazw produktów.
Selekcja i grupowanie danych lingwistycznych
144
6.2.4
Przebieg badania
Wzięto do analizy zestaw nazw 6 produktów, są to nazwy występujące w rzeczywistej bazie danych. Wybrano tylko 6 nazw, aby sprawdzić przydatność proponowanej metody grupowania. Dla tak
małej liczby elementów weryfikacja jest możliwa do przeprowadzenia przez człowieka. Wykorzystano
do tego wiedzę ekspertów z danej dziedziny, którzy przedstawili własne propozycje macierzy podziału oraz macierzy podobieństw. Nazwy obiektów przedstawiono w tablicy 6.2, łącznie z przykładem
rozwinięcia nazw i uzyskanymi współczynnikami podobieństwa.
Nie przeprowadzono badania bez uwzględniania znaczenia poszczególnych wyrazów z powodu
braku możliwości określania postępowania dla nazw towarów nie mających wspólnych elementów.
Dla obiektów „rogal” i „bułka kajzerka” stopień podobieństwa wyznaczony jedynie na podstawie
zakodowanych nazw powinien wynosić 0, co jest błędnym założeniem. Co więcej, obiekt „rogal” jest
równie niepodobny (zgodnie z przyjętymi założeniami) do wszystkich pozostałych obiektów. Więc
oczekiwany na tej podstawie podział na dwie grupy to: {„rogal”} – pierwsza grupa a w drugiej –
wszystkie pozostałe obiekty.
Tabela 6.2. Mały katalog towarów
nazwa w bazie
BUŁKA KAJZERKA
BUŁKA WIEJSKI
ROGAL
CHLEB RAZOWY
CHLEB WIEJSKI
CHLEB TOSTOWY
nazwa po
uzupełnieniu
Pieczywo, białe, małe
Pieczywo białe, małe
Pieczywo białe, małe
Pieczywo, podłużne
Pieczywo, podłużne
Pieczywo, podłużne
ROGAL
1.000
0.935
1.000
0.000
0.065
0.000
wzorzec
CHLEB RAZOWY
0.000
0.065
0.000
1.000
0.935
1.000
Wykonano podział na dwie grupy. Tak jak oczekiwano podział nastąpił pomiędzy bułki a chleby.
Na powyższym przykładzie można przeanalizować wpływ słownika na obliczanie funkcji podobieństwa. Atrybut „wiejski” ma stosunkowo niewielką wagę, dzieje się tak z następującego powodu.
Atrybuty „białe”, „bułka”, „chleb” występują w większej ilości nazw, tym samym wagi im przypisane są większe.
Dla większej ilości danych można oczekiwać że różnica występowania słów „chleb”, „bułka” a słów
„wiejski”, „tostowy” będzie jeszcze większa, co spowoduje przypisywanie odpowiednio większych
wag, co będzie zgodne z regułami panującymi w rzeczywistym świecie.
Kolejną serię pomiarów dokonano na bazie towarów, pozyskanej z rzeczywistego przedsiębiorstwa. Zawartość bazy przedstawiono w tabeli 6.7 przy okazji przedstawionych wyników grupowania.
Na takiej rzeczywistej bazie widocznych jest wiele wtrąceń, w postaci nazw towarów niezupełnie pasujących do zasadniczej części bazy. W świecie realnym takie zdarzenia mają miejsce nader często,
mówi się o szumie informacyjnym. Problem polega natomiast na tym, aby algorytmy eksploracji, a
6.2 Badanie
145
Tabela 6.3. Tablica wag
Słowo
CHLEB
PIECZYWO
JEDZENIE
PODŁUŻNE
DUŻE
BUŁKA
BIALE
MALE
WIEJSKI
Ilość wystąpień
3
6
6
3
3
3
3
3
2
Tabela 6.4. Lista reguł decyzyjnych heurystyczny dla bazy towarów
jeżeli atrybut to grupa
MALE
3
2421-22
2
2421-23
1
SREDNIE
1
CIASTKO
4
2421-21
2
RAZOWY
1
Z
4
CHALKA
3
SUROWIEC
4
GRAHAM
3
TOSTOWY
2
SNIADANIOWY
2
CHLEB
1
2421-41
4
w tym przypadku algorytmy grupowania, „poradziły” sobie z takimi danymi. Przedstawione poniżej
tabele pokazują, że jest to możliwe, przedstawione metody i algorytmy dały poprawne wyniki.
6.2.5
Badanie funkcji odległości dla danych lingwistycznych
Warunkiem koniecznym do zastosowania metod iteracyjnych, a w szczególności metody grupowania rozmytego opisanej w podrozdziale 3.3.3 jest skonstruowanie odpowiedniej miary odległości.
Funkcja odległości ma za zadanie odzwierciedlić stopień „niepodobieństwa” poszczególnych obiektów. Punktem wyjścia do eksperymentu jest katalog towarów, w którym nazwy zostały już „rozwinięte” przy pomocy słownika. Każda nazwa składa się więc z części oryginalnej oraz słów dopisanych na
podstawie przeprowadzonej analizy. Dla tak skonstruowanej bazy dokumentów należy dobrać odpowiednią funkcję określającą podobieństwo tekstów. Przeanalizowano kilka funkcji (szczegółowy opis
Selekcja i grupowanie danych lingwistycznych
146
w podrozdziale 2.2.2). W niniejszej pracy zaimplementowano i przetestowano 5 funkcji odległości,
możliwych do zbudowania dla badanego zbioru obiektów.
— Euklidesowa miara odległości L2 (wzór(2.9)).
— Odległość Manhattan L1 (wzór (2.14)).
— Miara kosinusowa (w tabeli 2.2).
— Wskaźnik Jaccarda (wzór (2.20)).
— KL dywergencja (w tabeli 2.2).
Funkcja odległości obliczana jest przy następujących założeniach: zbiór słów i termów występujących w nazwach towarów odwzorowany jest w zbiór [115]:
T = {t1 , . . . , tp }.
(6.2)
gdzie:
T - wektor słów reprezentujący nazwę towaru,
ti - liczba wystąpień słowa o indeksie i w reprezentowanej nazwie.
Następnie każdą nazwę towaru można odwzorować w wektor T o rozmiarze p, gdzie p jest liczbą
słów występujących we wszystkich nazwach, a poszczególne współczynniki odzwierciedlają występowanie odpowiadających słów. W niniejszej pracy poddano analizie następujące funkcje spełniające
kryteria wymagane przez algorytmy grupowania:
1. Funkcja oparta o wskaźnik Jaccarda 2.24
djac (T1 , T2 ) =
a00 + a11 + a01
− 1,
a11
(6.3)
gdzie:
Ti
- porównywany dokument(nazwa towaru) zapisany w postaci wektora słów,
a11
- oznacza liczbę słów jednocześnie występujących w obu towarach,
a10 , a01
- oznacza liczbę słów występujących tylko w jednej z nazw.
Wyniki otrzymywanie przy zastosowaniu tej funkcji do porównywania obiektów potwierdziły przewidywaną jej słabość. Ponieważ funkcja ta jednakowo traktuje wszystkie słowa i nie
rozróżnia ich pod względem ważności, to nie można się spodziewać aby wiernie odtwarzała
rzeczywiste relacje leżące pomiędzy poszczególnymi towarami.
2. Funkcja oparta o wskaźnik Jaccarda przy uwzględnieniu wag ważności poszczególnych słów.
Na podstawie: 3.29
T = (t1 , wt1 ; t2 , wt2 ; . . . ; tp , wtp ).
(6.4)
6.2 Badanie
147
Tabela 6.5. Jakość grupowania F CM dd dla różnych funkcji odległości dla bazy towarów
funkcja odległości
jaccadr
cosine
KL dywergencja
L1 manhattan
L2 euklidesowa
przyrost informacji
1,3129
4,4940
4,8897
5,0159
0,5633
a11 (TA , TB ) =
p
X
czas obliczeń
10:02:00
20:53:20
10:40:00
07:33:20
20:53:20
wA (i)wB (i)wti .
(6.5)
i=1
Użyte przykłady obliczania wartości wag słów:
(a) wti = |ti | – waga jest proporcjonalna do ilości wystąpień słowa ti ,
(b) wti = |ti | log1|ti | – funkcja analogiczna w współczynnika TF-IDF,
(c) wti =
|ti |
N
log
|ti |
N
– jak powyżej po dokonaniu normalizacji (N oznacza liczbę dokumentów,
a tym samym maksymalną ilość wystąpień słowa ti .
gdzie:
ti
słowo występujące w dokumentach,
wA (i)
przyjmuje wartość 1 jeżeli słowo ti występuje w TA , 0 w przeciwnym przypadku,
wti
waga przypisana do słowa ti .
Rezultaty badań poszczególnych funkcji odległości dla bazy towarów, przy użyciu algorytmu
F CM dd zostały przedstawione w tablicy 6.5.
6.2.6
Badanie skuteczności grupowania danych lingwistycznych
Do grupowania nazwa z katalogu towarów użyto tych samych algorytmów, które zostały poddane
badaniu w rozdziale 5:
1. algorytmu hierarchiczny deglomeracyjny,
2. algorytm genetyczny prosty,
3. algorytm genetyczny oparty o listy decyzyjne,
4. algorytm przeszukiwania heurystycznego oparty o listy decyzyjne.
5. algorytm grupowania rozmytego adaptowanego do przestrzeni argumentów symbolicznych,
Selekcja i grupowanie danych lingwistycznych
148
Tabela 6.6: Jakość grupowania a różnymi algorytmami bez użycia funkcji odległości dla bazy towarów
funkcja odległości
genetyczny
deglomeracyjny
proste szukanie heurystyczne
Decision List pełny przegląd
Decision List heurystyczne
decision list genetyczny
przyrost informacji
0,5956
0,3946
0,4105
0,3858
0,3861
0,3868
czas obliczeń
03:33:19
10:40:00
15:06:40
17:46:40
13:20:00
20:53:19
6. algorytm aglomeracyjnego z warunkiem minimalizacji odległości pomiędzy najodleglejszymi
obiektami.
Wszystkie algorytmy zostały porównane pod względem szybkości uzyskiwania wyników, powtarzalności rezultatów oraz uzyskiwanej wartości funkcji kryterium. Rezultaty grupowania, wraz z
czasem obliczeń przedstawiono w tablicy 6.6. Na uwagę zasługują słabe wyniki algorytmu genetycznego (wersja bezpośrednia).
W tabeli 6.7 przestawiono macierz przynależności do poszczególnych grup. Dla sześciu kolumn
z liczbami, które odpowiadają sześciu badaniom dla powyżej wymienionych algorytmów, zawarto
numery grup do których poszczególne obiekty zostały przypisane. Ponieważ w grupowaniu nie ma
wstępnie nazwanych grup, poszczególne algorytmy różnią się od siebie kolejnością „wykorzystywania”
kolejnych podzbiorów. Dopiero dokładniejsza analiza pomaga w porównaniu wyników: grupa 3 dla
algorytmu genetycznego prostego i grupa 4 dla algorytmu genetycznego opartego o listy decyzyjne
stanowią w zasadzie tą samą grupę. Dodatkowym celem przytoczenia tychże wyników, jest ukazanie
jak trudna w wykorzystaniu do eksploracji danych jest postać normalna grupowania, czyli macierz
podziału.
6.2 Badanie
149
Tabela 6.7. Otrzymany podział dla grupowania algorytmami z tabeli 6.6
nazwa towaru
CHLEB GRAHAM FOREMKOWY 2421-23
CHLEB TOSTOWY 2421-41
CHLEB STAROWIEJSKI 2421-22
CHLEB POWSZEDNI 2421-22
CHLEB TRZY ZIARNA 0.6KG 2421-23
CHLEB TOST-żYTNI 1/2 2421-23
CHLEB CEBULOWY 2421-21
CHLEB śNIADANIOWY 2421-41
CHLEB STAROPOLSKI 2421-22
CHLEB STAROWIEJSKI KROJONY 2421-22
BUłKA STAROPOLSKA 2421-23
BUłKA MAŚLANA 2421-41
CHLEB RAZOWY KROJONY 2421-24
CHLEB RAZOWY 2421-24
CHLEB RAZOWY Z SłONECZNIKIEM 2421-24
CHLEB DIETETYCZNY 2421-23
CHLEB ZDROWIA 2421-23
CHLEB SOJOWY 2421-22
CHLEB KRóLEWSKI 0.4KG 2421-23
CHLEB CHłOPSKI 2421-22
CHLEB KRóLEWSKI 0.5KG 2421-23
BUłKA GRAHAM żYTNIA PACZKOWANA 2421-23
BUłKA MINI GRAHAM PACZKOWANA 2421-23
PALUCH GRAHAM 2421-23
PALUCH HOT-DOG 2421-4
PALUCH LUXUS Z MAKIEM 2421-31
PALUCH LUXUS BEZ MAKU 2421-31
Pół PALUCH 2421-3
BATON LUXUS 2421-3
BATON LUXUS KROJONY 2421-3
BUłKA HAMBURGER 2421-4
BUłKA WIEJSKA Z SEZAMEM 2421-22
BUłKA GRAHAM 2421-23
BUłKA KAJZERKA 2421-31
BUłKA GRAHAM żYTNIA 2421-32
MINI GRAHAM żYTNIA 2421-32
CHLEB OKRĄGłY 2421-31
OBWARZANEK KRUCHY 2421-41
1
3
3
3
2
3
1
1
3
3
1
3
1
4
3
4
3
4
1
4
1
4
2
2
2
3
1
3
4
4
3
3
2
4
1
4
3
1
4
2
2
2
4
4
2
2
2
2
4
4
3
3
2
2
2
2
2
4
2
4
2
3
3
2
2
2
2
2
2
2
3
3
3
3
3
1
2
1
metoda
3 4
2 3
1 3
4 1
4 1
2 1
2 3
1 3
1 3
4 1
4 1
3 4
3 4
2 1
2 1
2 1
2 3
2 3
4 1
2 3
4 1
2 3
3 4
3 4
1 3
1 3
1 3
1 3
1 3
1 3
1 3
3 4
3 4
3 4
3 4
3 4
3 4
1 3
1 2
5
2
4
4
4
4
4
4
4
4
4
3
3
2
2
2
4
4
4
4
4
4
3
3
2
2
2
2
2
2
2
3
1
3
3
3
3
2
3
6
4
1
1
1
1
1
1
1
1
1
3
3
4
4
4
1
1
1
1
1
1
3
3
4
4
4
4
4
4
4
3
3
3
3
3
3
4
2
150
Selekcja i grupowanie danych lingwistycznych
Tabela 6.8. Otrzymany podział dla grupowania algorytmami z tabeli 6.6 cz.2
nazwa towaru
BAGIETKA FRANCUSKA 2422-31
PALUCH KORNSPITZ 2421-32
JAGODZIANKA 2422-1
CIASTKO 2422-2
ROżEK 2422-2
ROGAL 2422-2
BUŁKA Z CZEKOLADĄ 2422-1
BUŁKA FIRMOWA DUżA PACZKOWANA 2421-31
BUłKA FIRMOWA 5X0,09 2421-31
BUłKA FIRMOWA DUżA 2421-31
BUłKA FIRMOWA MAłA 2421-31
BUłKA MAX 2421-31
CHLEB ZWYKłY 0,50 2421-22
CHLEB KROJONY ZWYKłY 2421-22
CHLEB MIESZANY DUżY 2421-22
CHLEB MIESZANY śREDNI 2421-22
CHLEB MIESZANY ZWYKłY 2421-22
CHLEB KATOWICKI 2421-23
CHLEB KASZUBSKI 2421-22
CHLEB ZAKOPIAńSKI 2421-22
CHLEB WIEJSKI 2421-22
CHLEB KROJONY 0.6KG 2421-22
CHLEB KROJONY 0.9KG 2421-22
CHLEB WIEJSKI 0.6KG 2421-22
CHLEB ZWYKłY FOREMKA 0.85KG 2421-22
DROżDżóWKI PAKOWANE 2422-1
BUłKA DROżDżOWA Z SEREM 2422-1
BUłKA DROżDżOWA Z MARMOLADą 2422-1
BUłKA DROżDżOWA Z MAKIEM 2422-1
BUłKA DROżDżOWA Z BUDYNIEM 2422-1
CHAłKA DUżA MLECZNA 2421-41
CHAłKA MAłA MLECZNA 2421-41
ROGAL MLECZNY 2421-41
BUłKA MLECZNA 2421-41
CHAłKA MINI 2421-41
MINI ROGAL Z MAKIEM 2421-41
PąCZEK 2422-1
BUłKA DROżDżOWA 2422-1
CHLEB KOłODZIEJ 2421-23
CHLEB ZIARNISTY 0.35KG 2421-23
CHLEB KANAPKOWY 2421-21
CHLEB żYTNI RAZOWY 2421-23
CHLEB SIEDEM ZIAREN 2421-23
CHLEB ZIEMIACZANY 2421-22
1
4
4
2
4
1
2
4
2
1
1
3
2
3
3
2
2
4
4
1
4
4
1
3
3
4
2
4
2
2
3
2
4
1
4
1
4
4
3
1
4
2
4
4
2
2
2
2
1
1
3
3
3
3
3
3
3
3
4
4
4
4
4
2
4
4
4
4
4
4
4
1
3
3
3
3
3
3
3
3
3
3
1
3
2
2
2
2
2
4
metoda
3 4
1 3
1 3
2 2
2 2
3 4
3 4
3 4
3 4
3 4
3 4
3 4
3 4
4 1
4 1
4 1
4 1
4 1
2 3
4 1
4 1
4 1
4 1
4 1
4 1
4 1
2 2
3 4
3 4
3 4
3 4
3 4
3 4
3 4
3 4
3 4
3 4
2 2
3 4
2 3
2 3
1 3
2 1
2 3
4 1
5
2
2
1
1
3
3
1
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
1
1
1
1
1
3
3
3
3
3
1
1
1
4
4
4
2
4
4
6
4
4
2
2
3
3
3
3
3
3
3
3
1
1
1
1
1
1
1
1
1
1
1
1
1
2
3
3
3
3
3
3
3
3
3
3
2
3
1
1
1
4
1
1
6.2 Badanie
151
Tabela 6.9. Otrzymany podział dla grupowania algorytmami z tabeli 6.6 cz.3
nazwa towaru
CHLEB SZWAJCARSKI SEROWY 2421-21
CHLEB ZIOłOWY 0.3KG 2421-21
CHLEB OWSIANY 2421-22
CHLEB OMEGA 2421-23
BATON ZWYKłY 2421-31
BUłKA CEBULOWA 2421-21
CIASTO Z TRUSKAWKAMI 2422-7
CIASTO Z JABłKAMI 2422-7
CIASTO Z śLIWKAMI 2422-7
ROLADA Z MAKIEM 2422-7
BABKA DOMOWA Z LUKREM 2422-7
CHLEB KANAPKOWY 0.75KG 2421-21
BUłKA TARTA 2421-92
MAKA 750 2411-229
POJEMNIK PIEKARSKI
TOREBKI PAPIEROWE
CHLEB ZWYKłY 0.6KG 2421-22
BUłKA MAśLANA PACZKOWANA 2421-41
BUłKA SANDWICH 2421-32
1
3
1
3
2
1
2
3
1
2
1
1
1
3
3
2
3
3
2
1
2
2
2
4
2
2
3
1
1
1
1
1
2
3
1
1
1
4
3
3
metoda
3 4
1 3
1 3
4 1
2 3
1 3
3 4
3 2
3 2
3 2
3 2
2 2
1 3
3 4
4 2
4 2
4 2
4 1
3 4
3 4
5
4
4
4
4
2
3
1
1
1
1
1
4
1
1
1
1
4
3
3
6
1
1
1
1
4
3
2
2
2
2
2
1
3
2
2
2
1
3
3
Selekcja i grupowanie danych lingwistycznych
152
6.3
Wnioski
Mimo wielu analogii i podobieństw do grupowania dokumentów grupowanie w katalogu towarów jest istotnie różne. Po pierwsze wymagane jest skorzystanie z zewnętrznej wiedzy, gdyż dane
zawarte w bazie nie wystarczają do pogrupowania towarów. Po drugie wiele z przesłanek wykorzystywanych podczas grupowania dokumentów (np. wykrywania słów nieznaczących) musi być inaczej
interpretowanych. Po trzecie brak jest optymalnej funkcji oceny jakości podziału. Wydaje się jednak że funkcja entropii, stosowana jako kryterium, stanowi wystarczające przybliżenie funkcji oceny
jakości. Wniosek ten powstał w wyniku konsultacji uzyskiwanych podziałów z ekspertami i porównywaniem z wartością funkcji kryterium. Ważne natomiast jest aby algorytm znajdował najlepsze
rozwiązanie, zatrzymywanie się na minimum lokalnym dowodzi o jego niestabilności.
Podobieństwo dokumentów tekstowych wyznacza się na podstawie analizy statystycznej słów
występujących w dokumentach lub na podstawie analizy strukturalnej opartej na bazie odsyłaczy
oraz innych elementów łączących znaczeniowo dokumenty. Zaproponowana metoda uwzględniania
zewnętrznej wiedzy w procesie porównywania dokumentów wykorzystuje informację strukturalną
zawartą w nazwach towarów a ukrytą w znaczeniach poszczególnych słów. Terminy dopisane do
nazwy na podstawie słownika stają się łącznikami wiążącymi poszczególne nazwy. Dalszej analizy
podobieństwa dokonuje się poprzez porównanie podobieństwa strukturalnego bądź analizy statystycznej występujących słów. W procesie porównywania tekstów istotne znaczenie ma przypisanie
odpowiednich wag poszczególnym słowom. Według badań Saltona [115] najlepszym wskaźnikiem
do określania wag jest wskaźnik TD-IDF. Badanie dotyczyło jednak zwykłych tekstów prasowych.
W badanym przypadku analizie poddano teksty dość znacznie różniące się charakterem od tekstów prasowych. Dlatego też, na podstawie wstępnych oszacowań, zaproponowano zmianę sposobu
wyznaczania wag. Uzyskane wyniki potwierdziły przyjęte założenia, otrzymano lepsze wyniki. Do
wyznaczenia optymalnej funkcji naliczania wag dla słów należy bardziej szczegółowych testów.
Skorzystanie z zewnętrznej wiedzy o obiektach i ich właściwościach, daje lepsze wyniki. W niektórych przypadkach, wyniki uzyskiwane bez uwzględniania takiej wiedzy, mogą być całkowicie błędne
(z punktu widzenia możliwości pozyskania nowej wiedzy).
Badanie dokonane na rzeczywistej bazy danych, pozyskanej z działającego przedsiębiorstwa, uwypuklają wpływ stosowanych metod na uzyskiwane wyniki. Dobre wyniki dają metody oparte o listy
decyzyjne co potwierdza ich użyteczność. Metody wykorzystujące miarę odległości są bardzo „wrażliwe” na stosowaną funkcję. Autor przeprowadził konsultację z ekspertami w zakresie otrzymanych
wyników grupowania. Ekspertyza potwierdziła zgodność otrzymanego podziału z oczekiwaniami.
Również zauważono korelację pomiędzy wartościami stosowanej funkcji kryterium a jakością otrzymanego podziału.
6.3 Wnioski
153
Ciekawe spostrzeżenia wynikają z porównania działania algorytmu genetycznego zwykłego z algorytmem opartym na listach decyzyjnych. W badanych przykładach algorytm zwykły nie potrafił
znaleźć rozwiązania optymalnego, gdyż wpadał w lokalnie optymalne rozwiązanie. Zmiana sposobu
ujęcia danych, poprzez odwzorowanie listy decyzyjnej w postaci genu, spowodowania, że dla podanego przykładu uniknięto zagrożenia znalezienia rozwiązania nieoptymalnego. Dalsze badania formalne
natomiast są konieczne, dla wykazania, dla których rodzajów danych przedstawiona metoda daje
lepsze wyniki.
Badania potwierdziły skuteczność i przydatność metod opartych o listy decyzyjne. Poza algorytmem pełnego przeglądu, którego złożoność obliczeniowa nie pozwala na zastosowanie do większych
baz danych, pozostałe dwa (heurystyczny i genetyczny) dały dobre wyniki w akceptowalnym czasie.
W niektórych przypadkach (rzeczywista baza towarów), uzyskany wynik funkcji kryterium był lepszy
niż otrzymany metodami klasycznymi. Również przedstawiono ekspertom różne postacie otrzymywanych wyników, wynikające ze stosowanych metod. Zgodnie z przypuszczeniami, eksperci ocenili,
że potencjalnie lista decyzyjna nadaje się do analizy i wnioskowania, w szczególności do analizy
zmian i trendów
Rozdział 7
Podsumowanie
W niniejszej pracy autor dokonał szczegółowej analizy możliwości grupowania zbiorów zawierających dane symboliczne oraz możliwości zastosowania rezultatów grupowania do eksploracji danych.
Badania dotyczyły metod i algorytmów grupowania, technik porównywania i weryfikacji uzyskiwanych rezultatów rezultatów.
Szczegółowe wyniki rozprawy
Najważniejsze szczegółowe wyniki rozprawy są następujące:
1. Omówiono aspekty eksploracji danych, z uwzględnieniem jej usytuowania jako etapu w procesie
pozyskiwania wiedzy oraz formy jej realizacji na przykładzie grupowania danych (rozdział 1).
2. Zaprezentowano krytyczną dyskusję różnych metod analizy danych postaci symbolicznej, szczególnie w kontekście grupowania danych tej postaci ( rozdziały 2 i 3) oraz w zakresie przeprowadzonych badań (rozdziału 5 i 6). Wykazano szereg warunków (szczegółowo opisanych poniżej)
istotnych w procesie eksploracji danych.
3. Wprowadzono oryginalną metodę grupowania danych w oparciu o listy decyzyjne oraz zaproponowano 3 algorytmy w oparciu o tą metodę (rozdział 4). Metoda ta umożliwia grupowanie
obiektów opisanych atrybutami symbolicznymi oraz umożliwia prezentację wyników w postaci
reguł.
4. Dokonano adaptacji i implementacji wybranych metod do grupowania danych symbolicznych,
oraz porównano ich efektywności w zakresie przetwarzania przygotowanych zbiorów danych
(rozdział 5). Wskazano przypadki, dla których metody nie wymagające stosowania funkcji
odległości dają lepsze wyniki.
154
155
5. Przedstawiono metodę grupowania dokumentów tekstowych o nietypowej postaci, jakimi są
nazwy występujące w katalogu towarów (rozdział 6). Przedstawiono przykład, w którym dzięki
wykorzystaniu zewnętrznej wiedzy wyniki grupowania były lepsze.
Analiza praktycznych aspektów eksploracji danych wskazuje, że sukces rozwiązania danego problemu eksploracji danych zależy nie tylko od wyboru specyficznego algorytmu czy metody analizy,
ale także od właściwej realizacji innych etapów całego procesu, począwszy od poprawnego zrozumienia kontekstu i interpretacji zgromadzonych danych, doboru właściwych metod reprezentacji i
przetwarzania a skończywszy na odpowiednich, dla danego zagadnienia, formach prezentacji wyników.
Grupowanie danych symbolicznych stanowi istotną technikę eksploracji danych. Aby otrzymywane wyniki były wiarygodne, rzetelne, o dużych walorach poznawczych, winny być spełnione następujące warunki:
1. Źródło danych
Źródło, czyli przetwarzana baza danych, winno być wiarygodne, gdyż wnioski wysnute z nieprawdziwych, niepełnych, czy niepewnych danych mogą być błędne. Aby wyniki dokonanej
eksploracji danych były realne i wiarygodne, to musi zostać spełnionych kilka przesłanek:
— znana musi być rzeczywista interpretacja poszczególnych danych i ich miejsce w procesie
odwzorowywania rzeczywistości oraz zależności w stosunku do podejmowanych decyzji;
— zazwyczaj bazy danych reprezentują rzeczywiste obiekty w połączeniu z zewnętrznie określonymi regułami i zasadami, pomijanie tej zewnętrznej wiedzy może prowadzić do uzyskania nieadekwatnych wyników,
— źródło danych winno być wiarygodne, gdyż posługiwanie się niewiarygodnymi, niepewnymi czy niepełnymi informacjami może prowadzić do błędnego wnioskowania, i dalej do
błędnych decyzji.
Potwierdzeniem tezy o konieczności skorzystania z zewnętrznej wiedzy o obiektach i ich atrybutach jest badanie dotyczące grupowania nazw towarów przedstawione w rozdziale 6. Bez
uwzględnienia znaczenia poszczególnych słów nie jest możliwe dokonanie grupowania, z uwagi
na brak możliwości oznaczenia podobieństwa niektórych towarów.
2. Algorytmy
Analizowane zbiory danych posiadają formę symboliczną, więc niektóre z algorytmów należy
adaptować do takiej dziedziny. Dotyczy to w szczególności algorytmów iteracyjnych (autor
dokonał adaptacji algorytmu FCMdd). Dla tych algorytmów, które przeznaczone są do danych
określonych symbolicznie, jak na przykład algorytmów hierarchicznych, wymagana jest jedynie właściwa implementacja algorytmu w danym środowisku programistycznym. W zakresie
Podsumowanie
156
algorytmów autor zaproponował własną metodę grupowania opartą o listy decyzyjne (przedstawiona w rozdziale 4) wraz z trzema algorytmami ją wykorzystującymi: pełny przegląd,
algorytm heurystyczny metoda liniowa oraz genetyczny.
3. Funkcja kryterium
Praktycznie każdy algorytm grupowania wykorzystuje w toku swej pracy funkcje kryterium,
czy w postaci entropii czy jako suma odległości. Funkcja kryterium winna odzwierciedlać jakość
otrzymanego podziału z punktu widzenia jego oczekiwanych własności. Autor dokonał badań,
przyjmując jako funkcję kryterium miarę entropii, porównanie wyników z wiedzą ekspertów
potwierdziło przydatność takiego rozwiązania.
4. Funkcja odległości
Niektóre z algorytmów wymagają zdefiniowania odległości pomiędzy poszczególnymi obiektami, w przypadku danych symbolicznych zazwyczaj dokonuje się tego sztucznie, poprzez przyjęcie pewnych analogii do przestrzeni liczb rzeczywistych. Jak każde uproszczenie czy przybliżenie
może prowadzić otrzymania niewłaściwych wyników. Szczególnie gdy funkcja kryterium opiera
się na funkcji odległości, początkowy błąd może być zwielokrotniony i prowadzić do błędnych
rezultatów.
Zaobserwowano silne rozbieżności dla różnych funkcji, w zależności od badanych danych, z tego
wynika konieczność doboru funkcji kryterium dla badanej dziedziny. Innym rozwiązaniem jest
wykorzystanie metod grupowania nie wymagających stosowania takiej funkcji. Przykładowe
metody omówiono w podrozdziałach 3.5 i 3.7.
5. Ewaluacja wyników
Ostatni etap eksploracji danych, związany z krytyczną analizą uzyskanych rezultatów i możliwościami ich użycia do pozyskania nowej wiedzy. Kryteria oceny autor niniejszej pracy przedstawił w podrozdziale 1.3 zgodnie z którymi dokonano analizy przydatności. Część badań autor
wykonał w oparciu o rzeczywiste dane przedsiębiorstw, których wyniki porównano ze spostrzeżeniami i wnioskami ekspertów uprzednio badającymi dane testowe. Dodatkowym atutem metody grupowania opartej o listy decyzyjne jest sposób prezentacji rezultatów w postaci listy
reguł, co jak wiadomo przyczynia się do zwiększenia czytelności i przyswajalności wyników.
W trakcie badań zauważono pewne właściwości grupowania. Podczas przydzielania obiektów do
grup należy kierować się zasadą łączenia obiektów podobnych, czyli posiadających te same wartości
atrybutów, a rozdzielać (przypisywać do różnych grup) obiekty posiadające różne wartości atrybutów. Funkcja kryterium mierzy wewnętrzny porządek wynikający z powyżej opisanego „rozłożenia”
157
poszczególnych wartości atrybutów. Wartości atrybutów stają się kryterium podziału na grupy. Ponieważ podziały dokonywane wg różnych atrybutów, są różne to należy ustalić kolejność (hierarchię)
poszczególnych kryteriów. Przykładem metody wykorzystującej przedstawioną zasadę jest grupowanie podziałowe opisane w podrozdziale 3.5. Metoda ta nie nadaje się do grupowania niektórych
zbiorów danych, jak to przedstawiono w podrozdziale 5.4. Autor zaproponował własną metodę grupowania, wykorzystującą właściwości atrybutów jako kryterium podziału. Zaproponowana metoda
nadaje się do grupowania danych postaci symbolicznej i lingwistycznej, co wykazano w rozdziałach
5 i 6. Wykazano to poprzez porównanie do pozostałych metod, wskazując, że przedstawiona metoda
uzyskuje poprawne rezultaty dla każdej z analizowanych zbiorów danych. Uzyskane wyniki stanowią
przesłankę do dalszej pracy nad formalnym zbadaniem przedstawionej metody. Na uwagę zasługuje
nowa forma prezentacji wyniku grupowania poprzez listę reguł. Doświadczenie potwierdza przydatność takiej formy prezentacji w procesie eksploracji danych. Analiza wyników wykazała większą
elastyczność form grup w stosunku do tych uzyskiwanych metodami FCMdd oraz hierarchicznymi,
co przekłada się na uzyskaniu lepszych wartości funkcji kryterium.
Szczegółowa specyfikacja różnic pomiędzy proponowaną metodą grupowania a innymi metodami:
• od metod iteracyjnych i aglomeracyjnych różni się oparciem wyłącznie o funkcję kryterium
odwzorowującego jakość podziału, bez konieczności stosowania miary podobieństwa dla pojedynczych obiektów czy grup,
• brak konieczności definiowania funkcji jądra i zapewnienia spełnienia kryterium zbieżności, tak
jak jest to wymagane dla grupowania iteracyjnego,
• prezentacja wyników w postaci listy decyzyjnej, w miejsce dendogramu dla metody hierarchicznej oraz elementów wzorcowych dla metody iteracyjnej;
• algorytmy genetyczne są stosowane do grupowania poprzez adaptację różnych metod grupowania (np. iteracyjnych lub deglomeracyjnych), przedstawiono nowy sposób wykorzystania
algorytmu genetycznego w procesie grupowania, co dało polepszenie otrzymywanych wyników,
• przedstawiona metoda posiada wiele wspólnych cech w stosunku do metody deglomeracyjnej:
również jest oparta o funkcję kryterium, reprezentacja w postaci listy decyzyjnej jest szczególnym przypadkiem grafu; natomiast różnice to pewne ograniczenia metody deglomeracyjej: dla
wariantu opartego o selekcję pojedynczego atrybutu według którego dokonuje się podziału, co
stanowi duże ograniczenie w konstruowaniu grup; a w przypadku testowania każdego możliwego podziału złożoność obliczeniowa jest porównywalna z algorytmem pełnego przeglądu.
Przedstawione wyniki badań stanowią przesłankę do dalszych prac nad zaproponowanymi metodami. Doświadczalnie potwierdzono istnienie zbiorów danych, dla których przedstawiona metoda
158
Podsumowanie
daje lepsze wyniki niż inne znane metody grupowania. Oprócz doskonalenia samych metod grupowania, co zostało już zaznaczone we wnioskach z rozdziału 4 należy również odszukać dziedziny, dla
których podane metody będą efektywne.
Kierunki dalszych badań
Praca ta nie wyczerpuje całości prezentowanej problematyki. Kierunków do dalszych badań dostarczają wszystkie etapy prowadzonych prac. W każdym z nich można dokonać pogłębionych lub
zakrojonych na szerszą skalę badań, co sygnalizowano w treści poszczególnych rozdziałów. Główny
kierunek dalszych badań, które autor zamierza prowadzić, związane są z obszarami powiązanymi
z proponowaną metodą grupowania opartą o lisy decyzyjne. Istotne jest przeprowadzenie badań w
zakresie formalnych. Dotyczy to przede wszystkim badań weryfikacją poprawności metody, określeniem obszaru zastosowań oraz oszacowaniu złożoności obliczeniowej. Dalsze badania dotyczyć winny
poszukiwania nowych algorytmów wykorzystującymi przedstawioną metodę grupowania.
Drugi obszar badawczy obejmuje prace nad zwiększeniem właściwości użytkowych podanych
metod eksploracji, w tym nad możliwościami wdrożenia proponowanych rozwiązań w rzeczywistych
przedsiębiorstwach. Temu również służą prowadzone prace nad rozwojem programu do grupowania
danych w postaci symbolicznej. Kolejny obszar to badania nad doborem funkcji stosowanych w
algorytmach do porównywania danych symbolicznych, chodzi przede wszystkim o funkcje odległości
i funkcje oceny jakości grupowania. Jak już wspomniano we wnioskach, mają one krytyczny wpływ
na jakość uzyskiwanych wyników, właściwy dobór funkcji stanowi kluczowy punkt w dostosowaniu
metod grupowania do przetwarzania danych z danej dziedziny.
Podziękowania
Panu dr hab. inż. Janowi Kałuskiemu prof. Pol. Śl. promotorowi tej pracy składam serdeczne
podziękowania za wsparcie merytoryczne, nieocenioną pomoc, okazaną życzliwość, zachęcanie do
podejmowania kolejnych wysiłków oraz doprowadzenie do szczęśliwego zakończenia.
Specjalne podziękowania dla prof. dr hab. inż. Jacka Łęskiego za inspirację do pracy i wiele
cennych uwag.
Dziękuję swojej żonie za nieustanne dopingowanie do intensywniejszej pracy i podtrzymywanie
na duchu w chwilach zwątpienia.
Bibliografia
[1] R. Agrawal, T. Imielinski, A. N. Swami. Mining association rules between sets of items in
large databases. P. Buneman, S. Jajodia, redaktorzy, Proceedings of the 1993 ACM SIGMOD
International Conference on Management of Data, strony 207–216, Washington, 26–28 1993.
[2] R. Agrawal, H. Mannila, R. Srikant, H. Toivonen, A. Verkamo. Fast discovery of association
rules. Advances in Knowledge Discovery and Data Mining, strony 307–328, 1996.
[3] R. Agrawal, M. Mehta, J. C. Shafer, R. Srikant, A. Arning, T. Bollinger. The quest data
mining system. E. Simoudis, J. Han, U. M. Fayyad, redaktorzy, Proc. 2nd Int. Conf. Knowledge
Discovery and Data Mining, KDD, strony 244–249. AAAI Press, 2–4 1996.
[4] M. R. Andenberg. Cluster analysis for applications. Academic Press, 1973.
[5] C. Argyris. Reasoning, Learning and Action. Jonssey-Bass, San Francisco, CA, 1982.
[6] J. Bair, J. Fenn, R. Hunter, D. Bosik, E. Brethenoux. Foundations for enterprise knowledge
management. GARTNER, 1997.
[7] G. H. Ball, D. J. Hall. A clustering technique for summarizing multivariate data. Behavioral
Science, 12:153–155, 1967.
[8] A. Baraldi, L. Schenato. Soft-to-hard model transition in clustering: a review. Raport instytutowy TR-99-010, ICSI, Berkeley, CA, 1999.
[9] P. Berkhin. Survey of clustering data mining techniques. Raport instytutowy, Accrue Software,
San Jose, CA, 2002.
[10] A. Bernstein, S. Clearwater, S. Hill, C. Perlich, F. Provost. Discovering knowledge from
relational data extracted from business news. S. Džeroski, L. D. Raedt, S. Wrobel, redaktorzy,
MRDM 2002, strony 7–20. University of Alberta, Edmonton, Canada, July 2002.
[11] M. J. Berry, G. Linoff. Data Mining Techniques. John-Wiley, New York, 1997.
159
BIBLIOGRAFIA
160
[12] J. C. Bezdek. Pattern recognition with fuzzy objective algorithms. Plenum Press, 1981.
[13] J. C. Bezdek, N. R. Pal. Some new indexes of cluster validity. IEEE Transaction on Systems,
Man, and Cybernetics, 28:301–315, 1998.
[14] C. L. Blake, C. J. Merz. UCI repository of machine learning databases, 1998.
[15] L. Bolc, J. Cytowski. Metody przeszukiwania heurystycznego. PWN, Warszawa, 1989.
[16] T. Borys. Elementy teorii jakości. PWN, Warszawa, 1980.
[17] L. Breiman, J. H. Friedmann, R. Olshen, C. J. Stone. Classification and regresion trees. 1994.
[18] S. Brin, R. Motwani, C. Silverstein. Beyond market baskets: generalizing association rules
to correlations. ACM SIGMOD International Conference on Management of Data, strony
265–276, 1997.
[19] S. Brin, R. Motwani, J. D. Ullman, S. Tsur. Dynamic itemset counting and implication rules
for market basket data. ACM SIGMOD International Conference on Management of Data,
strony 255–264, 1997.
[20] I. Campbell. Supporting information needs by ostensive definition in an adaptive information
space, 1995.
[21] C. Cardie. Using decision trees to improve case–based learning. Proceedings of the Tenth
International Conference on Machine Learning, strony 25–32. Morgan Kaufmann Publishers,
Inc., 1993.
[22] L. D. Catledge, J. E. Pitkow. Characterizing browsing strategies in the World-Wide Web.
Computer Networks and ISDN Systems, 27(6):1065–1073, 1995.
[23] R. B. Cattell. The Scientific Use of Factor Analysis in the Behavioral and Life-Sciences.
Plenum Press, New York, 1978.
[24] V. D. Chase. Made to Order - IBM makes sense of unstructured data. IBM, 2002.
[25] M.-S. Chen, J. Han, P. S. Yu. Data mining: an overview from a database perspective. IEEE
Trans. On Knowledge And Data Engineering, 8:866–883, 1996.
[26] J. Cheng, R. Greiner, J. Kelly, D. Bell, W. Liu. Learning bayesian networks from data: an
information-theory based approach. Artif. Intell., 137(1-2):43–90, 2002.
[27] P. Cichosz. Systemy uczące się. WNT, Warszawa, 2000.
BIBLIOGRAFIA
161
[28] K. J. Cios, W. Pedrycz, R. Swiniarski. Data Mining Methods for Knowledge Discovery. Kluwer,
1998.
[29] P. Clark, T. Niblett. The CN2 induction algorithm. Machine Learning, 3:261–283, 1989.
[30] G. Das, H. Mannila, P. Ronkainen. Similarity of attributes by external probes. Knowledge
Discovery and Data Mining, strony 23–29, 1998.
[31] P. M. Dean. Molecular Similarity in Drug Design. Blackie Academic and Profesional, London,
1995.
[32] C. Delobel, M. Adiba. Relacyjne bazy danych. WNT, Warszawa, 1989.
[33] W. Duch, Y. Hayashi. Computational intelligence methods and data understanding. International Symposium on Computational Intelligence, 2000.
[34] R. O. Duda, P. E. Hart. Pattern Classification and Scene Analysis. Wiley, New York, 1973.
[35] H. Dyckhoff, W. Pedrycz. Generalized means as model of compensative connectives. Fuzzy
Sets and Systems, 14:143–154, 1984.
[36] R. Fagin, L. Stockmeyer. Relaxing the triangle inequality in pattern matching. IJCV: International Journal of Computer Vision, 30, 1998.
[37] D. Fasulo. An analysis of recent work on clustering algorithms. Raport instytutowy TR-0102-02, University of Washington, 1999.
[38] U. Fayyad, G. Piatetsky-Shapiro, P. Smyth. From data mining to knowledge discovery in
databases. Ai Magazine, 17:37–54, 1996.
[39] U. M. Fayyad, G. Piatetsky-Shapiro, P. Smyth, R. Uthurusamy. Advances in Knowledge
Discovery and Data Mining. AAAI/MIT Press, 1996.
[40] D. Fisher. Iterative optimization and simplification of hierarchical clusterings. Journal of
Artificial Intelligence Research, 4:147–180, 1996.
[41] W. J. Frawley, G. Piatetsky-Shapiro, C. J. Matheus. Knowledge discovery in databases - an
overview. Ai Magazine, 13:57–70, 1992.
[42] A. Freitas. A survey of evolutionary algorithms for data mining and knowledge discovery,
2001.
[43] B. Fritzke. Some competitive learning methods, 1997.
BIBLIOGRAFIA
162
[44] Z. Galil, E. Ukkonen. 6th Annual Symposium on Combinatorial Pattern Matching (CPM 95).
Springer, 1995.
[45] V. Ganti, J. Gehrke, R. Ramakrishnan. CACTUS - clustering categorical data using summaries. Knowledge Discovery and Data Mining, strony 73–83, 1999.
[46] L. Garbarski, I. Rutkowski, W. Wrzosek. Marketing. Polskie Wydawnictwo Ekonomiczne,
Warszawa, 2001.
[47] E. Gatnar. Symboliczne metody klasyfikacji danych. PWN, Warszawa, 1998.
[48] T. F. Gonzalez. Clustering to minimize the maximum intercluster distance. 38:293–306, 1985.
[49] J. Gołuchowski, S. Kędzierski. Zarządzanie wiedzą w zinformatyzowanej organizacji gospodarczej. Akademia Informatyczna, Katowice, 1998.
[50] J. Grabmeier, A. Rudolph. Techniques of cluster algorithms in data mining. Data Mining and
Knowledge Discovery, 6:303–360, 2002.
[51] S. Guha, R. Rastogi, K. Shim. Clustering algorithm for categorical attributes. Raport instytutowy, Bell Laboratories, Murray Hill, 1997.
[52] S. Guha, R. Rastogi, K. Shim. CURE: an efficient clustering algorithm for large databases.
strony 73–84, 1998.
[53] S. Guha, R. Rastogi, K. Shim. ROCK: A robust clustering algorithm for categorical attributes.
Information Systems, 25(5):345–366, 2000.
[54] P. Guidici, G. Passerone. Data mining of association structures to model consumer behaviour.
Computational statistic and data analysis, 2002.
[55] A. Gyenesei. Fuzzy partitioning of quantitative attribute domains by a cluster goodness index.
Raport instytutowy TR-00-368, TUCS, 2000.
[56] L. O. Hall, I. B. Özyurt, J. C. Bezdek. Clustering with a genetically optimized approach.
IEEE Trans. on Evolutionary Computation, 3(2):103–112, 1999.
[57] E. Han, G. Karypis, V. Kumar. Scalable parallel data mining for association rules. Proceedings
of ACM SIGMOD, 1997.
[58] E. Han, G. Karypis, V. Kumar, B. Mobasher. Clustering based on association rule hypergraphs.
Research Issues on Data Mining and Knowledge Discovery, 1997.
BIBLIOGRAFIA
163
[59] J. Han, Y. Fu. Dynamic generation and refinement of concept hierarchies for knowledge
discovery in databases. KDD Workshop, strony 157–168, 1994.
[60] J. Han, Y. Fu. Discovery of multiple-level association rules from large databases. Proc. of Int’l
Conf. on Very Large Data Bases (VLDB’95), Zürich, Switzerland, strony 420–431, 1995.
[61] R. J. Hathaway, J. C. Bezdek. Nefr c-means: Non-euclidean relational fuzzy clustering. Pattern
Recognition, 27:429–437, 1994.
[62] R. J. Hathaway, J. C. Bezdek, Y. K. Hu. Generalized fuzzy c-means clustering strategies using
lp norm distances. IEEE Trans. on Fuzzy Systems, 8:576–582, 2000.
[63] R. Hausser. Database semantics for natural language. Artifical Intelligence, 130:27–74, 2001.
[64] D. Heckerman. A tutorial on learning with bayesian networks, 1995.
[65] F. Herrera, E. Herrera-Viedma. Aggregation operators for linguistic weighted information.
IEEE Transactions on Systems, Man, and Cybernetics, 1997.
[66] K. Hirota. Industrial Applications of Fuzzy Technology. Springer Verlag, 1993.
[67] K. Hirota, W. Pedrycz. Fuzzy computing for data mining. Proc. of the IEEE, 87, 1999.
[68] J. H. Holland. Adaptation in natural and artificial systems. MIT Press, 1975.
[69] T. Hsu. An application of fuzzy clustering in group-positioning analysis. Proc. National Science
Council ROC(C), 10(2):157–167, 2000.
[70] A. K. Jain, R. Dubes. Algorithms for Clustering Data. Prentice Hall, New Jersey, 1988.
[71] A. K. Jain, M. N. Murty, P. J. Flynn. Data clustering: a review. ACM Computing Surveys,
31(3):264–323, 1999.
[72] R. Jakobson. W poszukiwaniu istoty języka. PIW Warszawa, 1989.
[73] K. S. Jones, R. M. Needham. Automatic term classification and retrieval. Information Processing and Management, 4:91–100, 1968.
[74] H. Kamp, U. Reyle. From Discourse to Logic: Introduction to Modeltheoretic Semantics of
Natural Language, Formal Logic and Discourse Representation Theory. Kluwer, Dordrecht,
1993.
[75] K. A. Kaufman, R. S. Michalski. A multistrategy conceptual analysis of economic data.
[76] R. R. Kerstein. The fuzzy median and fuzzy MAD. in Proc. ISUMA-NAFIPS, 1995.
BIBLIOGRAFIA
164
[77] J. Kleinberg, C. Papadimitriou, P. Raghavan. Segmentation problems. Proceedings of the
ACM Symposium on Theory of Computing, strony 473–482, 1998.
[78] R. E. Korf. Planning as search: a quantitative approach, 1987.
[79] P. Kotler. Marketing Management: Analysis, Planing, Implementation and Control. Prentice
Hall, New Jersey, 1997.
[80] R. Krishnapuram, J. Keller. A possibilistic approach to clustering. IEEE Transactions on
Fuzzy Systems, 1(2):98–110, 1993.
[81] B. Langefors. Information systems theory. Inf. Syst., 2(4):207–219, 1977.
[82] S. Lawrence, C. L. Giles, K. Bollacker. Digital libraries and Autonomous Citation Indexing.
IEEE Computer, 32(6):67–71, 1999.
[83] L. Lee. On the effectiveness of the skew divergence for statistical language analysis. Artificial
Intelligence and Statistics, strony 65–72, 2001.
[84] A. Leouski, W. Croft. An evaluation of techniques for clustering search results, 1996.
[85] C.-S. Li, P. S. Yu, V. Castelli. Hierarchyscan: A hierarchical similarity search algorithm for
databases of long sequences. S. Y. W. Su, redaktor, Proceedings of the Twelfth International
Conference on Data Engineering, February 26 - March 1, 1996, New Orleans, Louisiana, strony
546–553. IEEE Computer Society, 1996.
[86] K.-I. Lin, R. Kondadadi. A word-based soft clustering algorithm for documents. Proceedings
of 16th International Conference on Computers and Their Applications, 2001.
[87] B. Liu, W. Hsu. Post-analysis of learned rules. AAAI/IAAI, Vol. 1, strony 828–834, 1996.
[88] H. Luhn. A statistical approach to then mechanized encoding and searching of literatury
information. IBM Journal of Research and Development, 1:4:509–317, 1957.
[89] H. Mannila. Methods and problems in data mining. ICDT, strony 41–55, 1997.
[90] A. Mazur, D. Mazur. Dokumentacja techniczna Systemu Zintegrowanego MADAR. Zabrze,
2003. http://www.madar.com.pl.
[91] D. Mazur. Wiarygodność danych zawartych w systemach informatycznych przedsiębiorstw.
Elementy wspomagania decyzji w zintegrowanych systemach kierowania produkcją, strony 39–
52. Wydawnictwo Politechniki Śląskiej, Gliwice, 2000.
BIBLIOGRAFIA
165
[92] D. Mazur. Computing similarity measure based on names of goods for fuzzy clustering. Methods
of Artificial Intelligence, Gliwice, 2002.
[93] D. Mazur. Wykorzystywanie danych określonych lingwistycznie w systemach pozyskiwania
wiedzy. SWO, Ustroń, 2002.
[94] D. Mazur. Clustering algorithm based on a sequence of discriminant rules. Methods of Artificial
Intelligence, Gliwice, 2003.
[95] D. L. Medin, E. E. Smith. Categories and concepts. Jarvard University Press, Cambrige,
Mass., 1981.
[96] R. Michalski. Searching for knowledge in a world flooded with facts. Applied Stochastic Models
and Data Analysis, 1991.
[97] R. S. Michalski, R. Stepp. Automated construction of classifications: Conceptual clustering
versus numerical taxonomy. IEEE Transactions on PAMI, 5(4):396–410, 1983.
[98] B. Mobasher, N. Jain, E. Han, J. Srivastava. Web mining: Pattern discovery from world wide
web transactions, 1996.
[99] R. T. Ng, J. Han. Efficient and effective clustering methods for spatial data mining. J. Bocca,
M. Jarke, C. Zaniolo, redaktorzy, 20th International Conference on Very Large Data Bases,
strony 144–155, Los Altos, USA, 1994. Morgan Kaufmann Publishers.
[100] N. T. Nguyen. Metody wyboru consensusu i ich zastosowanie w rozwiązywaniu konfliktów w
systemach rozproszonych. Oficyna Wydawnicza Politechniki Wrocławskiej, 2002.
[101] I. Nonaka, H. Takeuchi. Then Knowledge-Creating Company. Oxford University Press, NY,
1995.
[102] Z. Pawlak. Data analysis - the rough sets perespective. Zbiory rozmyte i ich zastosowania,
Gliwice, 2001. Wydawnictwo Politechniki Śląskiej.
[103] M. J. Pazzani, D. F. Kibler. The utility of knowledge in inductive learning. Machine Learning,
9:57–94, 1992.
[104] J. M. Pe&#241;a, J. A. Lozano, P. Larra&#241;aga. An improved bayesian structural em
algorithm for learning bayesian networks for clustering. Pattern Recogn. Lett., 21(9):779–786,
2000.
[105] W. Pedrycz, A. V. Vasilakos. Linguistic models and linguistic modeling. IEEE Transaction
on Systems, Man and Cybernetics, strony 745–757, 1999.
BIBLIOGRAFIA
166
[106] G. Piatetsky-Shapiro, W. J. Frawley. Knowledge Discovery in Databases. AAAI Press/The
MIT Press, Menlo Park, California, 1991.
r Dictionary of the English Language. Ho[107] J. P. Pickett, redaktor. The American Heritage
ughton Mifflin, 2000.
[108] P. Pirolli, J. Pitkow, R. Rao. Silk from a sow’s ear: extracting usable structures from the
web. Proceedings of the SIGCHI conference on Human factors in computing systems, strony
118–125. ACM Press, 1996.
[109] P. Resnik. Semantic similarity in a taxonomy: An information-based measure and its application to problems of ambiguity in natural language. Journal of Artificial Intelligence Research,
11:95–130, 1999.
[110] C. J. V. Rijsbergen. Information Retrieval, 2nd edition. Dept. of Computer Science, University
of Glasgow, 1979.
[111] R. L. Rivest. Learning decision lists. Machine Learning, 2(3):229–246, 1987.
[112] E. Rosch. Principles of categorization. E. Rosch, B. Lloyd, redaktorzy, Cognition and Categorization, Connection Science. Erlbaum, 1978.
[113] E. H. Ruspini. A new approach to clustering. Information and Control, 15(1):22–32, 1969.
[114] G. Salton. Automatic term class construction using relevance - a summary of word in automatic
pseudoclassification. Information Processing and Management, 16(1):1–15, 1980.
[115] G. Salton, C. Buckley. Term weighting approaches in automatic text retrieval. Information
Processing and Management, 24(5):513–523, 1988.
[116] M. Setnes, U. Kaymak. Fuzzy modeling of client preference in data-rich marketing environments, 2000.
[117] D. A. Simovici, D. Cristofor, L. Cristofor. Generalized entropy and projection clustering of
categorical data. Proceedings of the 4th European Conference on Principles of Data Mining
and Knowledge Discovery, strony 619–625. Springer-Verlag, 2000.
[118] P. Smyth, R. M. Goodman. Rule induction using information theory. Piatetsky-Shapiro, G.
and Frawley, W.J. (Eds.),Knowledge Discovery in Databases, strony 159–176, 1991.
[119] P. L. Spirtes. Data mining tasks and methods: Probabilistic and casual networks: mining for
probabilistic networks. strony 403–409. Oxford University Press, Inc., 2002.
BIBLIOGRAFIA
167
[120] T. Starkweather, S. McDaniel, K. Mathias, D. Whitley, C. Whitley. A comparison of genetic
sequencing operators. R. Belew, L. Booker, redaktorzy, Proceedings of the Fourth International
Conference on Genetic Algorithms, strony 69–76, San Mateo, CA, 1991. Morgan Kaufman.
[121] R. E. Stepp, R. S. Michalski. Conceptual clustering: Inventing goal oriented classifications
of structured objects. J. G. Carbonell, R. S. Michalski, T. M. Mitchell, redaktorzy, Machine
Learning: An Artificial Intelligence Approach, Volume II, strony 471–498. Morgan Kaufmann,
Los Altos, CA, 1986.
[122] S. S. Stevens. Measurement, Psychophisics, and Utility. Wiley, New York, 1959.
[123] M. Valenti. Data mining – advances in decision support software and services. Frost & Sullivan,
2003.
[124] W. E. Winkler. The state of record linkage and current research problems, 1999.
[125] X. L. Xie, G. Beni. A validity measure for fuzzy clustering. TPAMI, 1991.
[126] R. R. Yager. Intelligent control of the hierarchical agglomerative clustering process. IEEE
Transactions on Systems, Man, Cybernetics – Part B: Cybernetics, 30(6):835–845, 2000.
[127] J. D. Yang. A fuzzy database model for supporting a concept-based query evaluation over
disjunctive fuzzy information, 1998.
[128] M. Yang. On a class of fuzzy classification maximum likelihood procedures. Fuzzy Sets and
Systems, 57(3):365–375, 1993.
[129] L. A. Zadeh. Fuzzy sets. Information and Control, 8:338–353, 1965.
[130] L. A. Zadeh. From computing with numbers to computing with words — from manipulation
of measurements to manipulations of perception. IEEE Trans. On Circuits and Systems,
45:105–119, 1999.
[131] L. A. Zadeh. From computing with numbers to computing with words-from manipulation
of measurements to manipulation of perceptions. IEEE Transactions on On Circuits and
Systems, strony 105–119, 1999.
[132] O. R. Zaiane, A. Foss, C.-H. Lee, W. Wang. On data clustering analysis: Scalability, constraints,
and validation. M.-S. Cheng, P. S. Yu, B. Liu, redaktorzy, Advances in Knowledge Discovery
and Data Mining, 6th Pacific-Asia Conference, PAKDD 2002, Taipei, Taiwan, May 6-8, 2002,
Proceedings, wolumen 2336 serii Lecture Notes in Computer Science, strony 28–39. Springer,
2002.
BIBLIOGRAFIA
168
[133] T. Zhang, R. Ramakrishnan, M. Livny. BIRCH: an efficient data clustering method for very
large databases. ACM SIGMOD International Conference on Management of Data, strony
103–114, 1996.
[134] W. Ziarko. The Discovery, Analysis, and Representation of Data Dependencies in databases, strony 195–209. MA. AAAI/MIT Press, wydanie Knowledge Discovery in Databases G.
Piatetsky-Shapiro and W. J. Frawley , eds. Cambridge, 1991.