• Nie Znaleziono Wyników

UNIWERSYTET WARSZAWSKI

N/A
N/A
Protected

Academic year: 2021

Share "UNIWERSYTET WARSZAWSKI"

Copied!
1
0
0

Pełen tekst

(1)

UNIWERSYTET WARSZAWSKI

Wydział Matematyki, Informatyki i Mechaniki

Metody wnioskowania

aproksymacyjnego w wykrywaniu zależności przybliżonych

Piotr Synak

Praca dyplomowa

Promotor: prof. dr hab. A. Skowron

Warszawa, 1997 r.

(2)

Spis treści Strona 2

SPIS TREŚCI:

PODZIĘKOWANIA...

1. WSTĘP...

2. PODSTAWY TEORII ZBIORÓW PRZYBLIŻONYCH...

2.1 WPROWADZENIE...

2.2 PODSTAWOWE POJĘCIAI DEFINICJE...

Systemy informacyjne:...

Tablice decyzyjne:...

Klasy decyzyjne:...

Dolna i górna aproksymacja zbioru:...

Obszar pozytywny:...

Relacja nierozróznialności:...

Redukty:...

Decyzja uogólniona:...

Deskryptory:...

Reguły decyzyjne:...

2.3 WYZNACZANIE REDUKTÓW...

Macierz rozróznialności:...

2.4 REDUKTY DYNAMICZNE...

Definicja:...

3. Dekompozycja - kluczowe pojęcie metod wnioskowań w modelach

rzeczywistych...

3.1 WPROWADZENIE...

3.2 WZORCE...

Pojęcie wzorca:...

Jakość wzorca:...

Przykład:...

Złożoność wyznaczania wzorców:...

Zastosowanie wzorców:...

3.3 METODY GENEROWANIA WZORCÓW...

3.3.1 Metoda MAX...

3.3.2 Znajdowanie wzorców przy pomocy wag obiektów...

Wprowadzenie:...

Wagi obiektów:...

Algorytm:...

Przykładowe struktury danych:...

Przykład:...

3.3.3 Znajdowanie wzorców przy pomocy wag atrybutów...

Wprowadzenie:...

Wagi atrybutów:...

Algorytm:...

3.3.4 Znajdowanie wzorców przy pomocy algorytmu genetycznego...

Algorytmy genetyczne dla problemów optymalizacyjnych:...

Reprezentacja:...

Funkcja przystosowania fitness:...

Metody selekcji:...

Operator krzyzowania:...

(3)

Spis treści Strona 3

Operator mutacji:...

3.4 WZORCE DECYZYJNE...

3.4.1 Wprowadzenie...

3.4.2 Znajdowanie wzorców decyzyjnych przy pomocy algorytmu genetycznego...

3.5 WZORCE UOGÓLNIONE...

3.5.1 Wprowadzenie...

Definicja...

3.5.2 Znajdowanie wzorców uogólnionych...

3.6 APROKSYMACJA WZORCÓW...

3.7 PODEJŚCIE MEREOLOGII PRZYBLIŻONEJ DO SYNTEZY OBIEKTÓW ZŁOŻONYCH...

3.7.1 Synteza decyzji globalnej...

3.7.2 Zaawansowane techniki syntezy decyzji globalnej...

Tolerancja pomiędzy wzorcami:...

Wielopoziomowa synteza decyzji:...

3.8 DEKOMPOZYCJA...

3.9 KLASYFIKACJA NOWYCH OBIEKTÓW PO PROCESIE DEKOMPOZYCJI...

4. SYSTEM WYKRYWANIA ZALEŻNOŚCI PRZYBLIŻONYCH W

OPARCIU O METODY DEKOMPOZYCJI I ZBIORÓW PRZYBLIŻONYCH...

4.1 WPROWADZENIE...

4.2 DATA MINING WYRAŻONEW TERMINACH ZBIORÓW PRZYBLIŻONYCH...

4.3 SCHEMATSYSTEMU...

4.3.1 Interfejs danych...

4.3.2 Moduły Preprocesora Atrybutów i Dekompozytora Dużych Tablic...

Preprocesor Atrybutów:...

Dekompozytor Dużych Tablic:...

4.3.3 Interfejs Użytkownika...

Wybór atrybutów i operacji na atrybutach:...

Preferencje Użytkownika:...

4.3.4 Odkrywanie Wiedzy za Pomocą Metod Zbiorów Przybliżonych...

Tablice Wynikowe:...

Klasyfikacja Nowych Przypadków:...

5. WYNIKI EKSPERYMENTÓW KOMPUTEROWYCH NA MODELACH

RZECZYWISTYCH...

6. PODSUMOWANIE...

6.1 WNIOSKI...

6.2 DALSZE PRACE...

BIBLIOGRAFIA...

(4)

Podziękowania Strona 4

0PODZIĘKOWANIA

Przede wszystkim chciałbym gorąco podziękować mojemu opiekunowi naukowemu, prof. dr hab. Andrzejowi Skowronowi, kierownikowi Zakładu Logiki Matematycznej Uniwersytetu Warszawskiego, z którym mam zaszczyt współpracować prawie od początku moich studiów i bez którego pomocy praca ta by nie powstała. W szczególności, gdyby nie olbrzymi wkład prof. Skowrona w technologiczny rozwój Zakładu Logiki, nie miałbym szansy korzystania z najwyższej jakości sprzętu komputerowego.

Chciałbym bardzo podziękować dr hab. Leszkowi Polkowskiemu a także wszystkim Koleżankom i Kolegom, którzy brali udział w prowadzonych w Zakładzie Logiki projektach badawczych. Niezliczone dyskusje, prowadzone zarówno w Zakładzie jak i na seminariach zakładowych, miały olbrzymi wpływ na rozwój metod opisanych w pracy.

Bez wspólnego wysiłku wszystkich wymienionych osób nie powstałby system komputerowy RSES, który zawiera m.in. niektóre idee opisane w niniejszej pracy. W szczególności, dziękuję Janowi G. Bazanowi z Wyższej Szkoły Pedagogicznej w Rzeszowie za olbrzymi wkład w rozwój zarówno metod jak i implementacji systemu RSES.

(5)

1. Wstęp Strona 5

1.WSTĘP

Jednymi z bardziej ciekawych problemów, których rozwiazania maja duże zastosowanie zarówno w wielu dziedzinach nauk jak i w praktyce, sa tak zwane zagadnienia decyzyjne. Mozna by je krótko sformułować w sposób następujacy:

“Jaka podjać decyzję, w danej sytuacji, na podstawie posiadanej wiedzy o rozważanym problemie”. Na poczatku nie zauwaza się tutaj zadnej trudności, a nawet wydaje się, ze posiadanie wiedzy na dany temat od razu prowadzi do podjęcia właściwej decyzji. Gdy podjęta decyzja okazuje się błędna, zazwyczaj przyczyny szuka się w niereprezentatywności, badź niepełności posiadanej wiedzy. Po blizszym przyjrzeniu się problemom rzeczywistym (wziętym z zastosowań praktycznych) okaze się, ze wcale nie jest łatwo umiejętnie wykorzystać posiadaną wiedzę w procesie klasyfikacji (podejmowania decyzji), a jezeli nawet mamy juz jakaś metodę, to często, dla wielu rzeczywistych problemów, posiadana wiedza jest zbyt obszerna, by te metody zastosować skutecznie przy dostępnej ograniczonej mocy obliczeniowej komputerów.

Jednym z najczęstszych sposobów reprezentacji wiedzy jest traktowanie podmiotów wiedzy jako pewnych obiektów opisanych przez pewne cechy. Zatem najczęściej mamy do czynienia z tablicami wiedzy, gdzie, umownie, wiersze reprezentują obiekty, a kolumny opisujace je cechy. Poniewaz rozważamy problemy decyzyjne to wyszczególnia się w tablicach wiedzy pewna specjalna, dodatkową kolumnę, traktowana jako decyzję. Posiadana wiedza jest więc najczęściej zbiorem informacji o tym jaka została, badź powinna zostać, podjęta decyzja dla danego wektora wartości cech opisujacych dany obiekt. Na podstawie posiadanej wiedzy chcielibyśmy teraz móc podejmować decyzję dla nowych obiektów, tzn. takich, dla których znamy wartości cech je opisujacych, ale nie znamy wartości decyzji, jaka powinna być podjęta. Zatem głównym celem będzie wykrycie na podstawie posiadanej wiedzy pewnych zalezności pomiędzy cechami opisujacymi obiekty i decyzja. Zalezności te będa następnie wykorzystane przy klasyfikacji nowych obiektów, co w końcu umożliwi podjęcie decyzji.

Problemy decyzyjne pojawiaja się w wielu dziedzinach, zarówno nauk jak i zycia - ich przykładów jest więc bardzo wiele. Wśród nich znajduja się następujace:

n (Medycyna)

Jak na podstawie karty pacjenta i wyniku zestawu badań stwierdzić, czy jest on chory i na która z chorób?

Jak na podstawie wyników pomiarów EEG stwierdzić, czy dane dziecko ma szansę zachorowania lub jest chore na epilepsję i w jakim stopniu?

n (Ekonomia)

Jak na podstawie danych o obecnej sytuacji rynku papierów wartościowych i innych danych ekonomicznych przewidzieć zmianę ceny akcji danego waloru na giełdzie papierów wartościowych?

(6)

1. Wstęp Strona 6

n (Wojskowość)

Jak na podstawie zdjęć satelitarnych Ziemi określić automatycznie, jakie obiekty (typu las, rzeka, most, wieś, droga, itp.) znajduja się na danym zdjęciu?

n (Ubezpieczenia)

Jak na podstawie danych o kliencie podjać decyzję, czy przyjać jego wniosek o kartę kredytowa?

Oczywiste jest, ze nigdy nie będziemy posiadać pełnej wiedzy o danym problemie: po pierwsze nigdy nie mamy wszystkich cech, które maja wpływ na dany problem, po drugie nigdy nie mamy wszystkich mozliwych kombinacji wartości cech mogacych wystapić wraz z odpowiednia wartościa decyzji jaka dla nich powinna zostać podjęta.

Łatwo sobie wyobrazić, ze gdyby dany problem opisywało 60 cech (a często cech moze być kilkaset a nawet więcej) i kazda cecha przyjmowałaby tylko dwie wartości - prawdę i fałsz (a często cechy przyjmuja nawet tysiace wartości), to liczba mozliwych kombinacji byłaby równa 260, a zatem do przechowania tej informacji potrzeba by pamięci masowej rzędu 106 terabajtów. Pomijajac nawet trudności technologiczne z przechowaniem takiej wiedzy, wydaje się być w większości przypadków niemozliwościa rozpatrzenie wszystkich jej mozliwych wariantów.

Wobec powyższych trudności głównym problemem staje się wnioskowanie o nowych przypadkach na podstawie posiadanej wiedzy o pewnych przypadkach (obiektach).

Do tego celu często nie wystarczaja pełne zalezności pomiędzy cechami a decyzja, poniewaz moga być one zbyt mało ogólne, jako odnoszące się głównie do wiedzy posiadanej. Dlatego też często stosuje się tzw. zalezności przyblizone, czyli zalezności spełnione w pewnym stopniu.

Inna trudnościa sa coraz większe ilości danych gromadzonych o danym problemie.

Tablice danych dochodza wielkościami do gigabajtów danych i oczywiście wciaz zawieraja tylko drobna część wiedzy o danym problemie. W takich przypadkach niemozliwe jest zastosowanie dotychczas opracowanych algorytmicznych metod wykrywania zalezności (przyblizonych). Konieczne sa zatem nowe metody, pozwalajace najpierw na rozbicie duzych tablic na mniejsze fragmenty (co mozna rozumieć jako szukanie rodziny modeli, która aproksymowałaby w zadowalajacym stopniu model wyjściowy), a później, na podstawie znalezionych zalezności dla tych fragmentów, dokonać syntezy prowadzącej do wyznaczania zalezności globalnych, czy też decyzji.

W pracy zajmujemy się próba podejścia do problemów decyzyjnych, dla których tablice wiedzy sa duzych rozmiarów. Rozdział 2 zawiera podstawowe pojęcia teorii zbiorów przyblizonych, która z powodzeniem została uzyta do wykrywania zalezności, w tym zalezności przyblizonych, na wielu danych rzeczywistych. Zgodnie z nazewnictwem zbiorów przyblizonych tablice wiedzy (modele) będziemy nazywać tablicami decyzyjnymi, a zalezności będziemy wyrazać za pomoca tzw. reguł decyzyjnych. Większość idei przedstawionych w Rozdziale 2 została zaimplementowana m.in. przez autora, w systemie komputerowym RSES [26], [27], który powstał pod kierownictwem prof. dr hab. A. Skowrona w Zakładzie Logiki Matematycznej U.W.

(7)

1. Wstęp Strona 7

W rozdziale 3 została przedstawiona idea wzorców i przykłady heurystyk ich generowania. Wzorce moga zostać uzyte do procesu dekompozycji, który jest kluczowy w przypadku wnioskowań w duzych modelach. Metody generowania wzorców, oraz wzorców uogólnionych za pomocą wag obiektów i atrybutów, a także metoda dekompozycji i wnioskowania oparta na drzewie binarnym wzorców pochodzą od autora.

Rozdział 4 zawiera propozycje systemu komputerowego, który wykorzystuje metody zbiorów przyblizonych i pojęcie wzorca, oraz moze zostać wykorzystany do wykrywania zalezności przyblizonych w duzych modelach. Znaczna część tego systemu została zaimplementowana m.in. w programie RSES i uzyta do eksperymentów z danymi rzeczywistymi.

Rozdział 5 zawiera omówienie wyników przeprowadzonych eksperymentów oraz opis kilku modeli rzeczywistych.

W pracy zostały przedstawione problemy, które wciąż są otwarte. Głównym z nich jest wykazanie, że problem znajdowania optymalnych wzorców jest NP-trudny. W tym celu zostały zaproponowane przez autora dwa sformułowania powyższego problemu: w języku teorii grafów oraz macierzy.

(8)

2.Podstawy Teorii Zbiorów Przybliżonych Strona 8

2.PODSTAWY TEORII ZBIORÓW PRZYBLIŻONYCH

2.1WPROWADZENIE

Teoria zbiorów przyblizonych została wprowadzona [18] jako narzędzie analizy wiedzy niepewnej, niedokładnej, rozmytej w róznych zastosowaniach metod sztucznej inteligencji. Jednym z celów metod teorii zbiorów przyblizonych jest wygenerowanie dobrego, w jakimś sensie uniwersalnego zbioru reguł decyzyjnych t.j.

zdań postaci: “jezeli cechai1 = wartość1 Ù cechai2 = wartość2 Ù ... Ù cechain = wartośćn

to decyzja = wartośćd”.

Reguły decyzyjne odzwierciedlaja zalezności pomiędzy cechami opisujacymi obiekty a decyzja i moga być uzyte do klasyfikacji nowych obiektów n.p. w procesach analizy baz danych. Łatwo zauwazyć, ze dla dowolnego obiektu x ze zbioru treningowego mozna wygenerować regułę decyzyjna biorac koniunkcję wszystkich deskryptorów a = v, gdzie a jest cecha (atrybutem) opisujaca x, a v jest wartościa atrybutu a na x.

Taka reguła byłaby jednak bardzo mało ogólna i mogłaby być zastosowana tylko do obiektów identycznych z x. Przykład ten pokazuje, ze istnieje potrzeba generowania reguł, które miałyby mała liczbę deskryptorów tak, by mogły one być zastosowane do klasyfikacji wielu róznych obiektów. Jednocześnie oczekiwalibyśmy takich reguł, które w zadowalajacym stopniu klasyfikowałyby poprawnie obiekty. Właśnie teoria zbiorów przyblizonych oferuje metody generowania reguł decyzyjnych spełniajacych przedstawione wymogi.

2.2PODSTAWOWE POJĘCIA I DEFINICJE

1 Systemy informacyjne:

Jak wspomnieliśmy wcześniej, tablice wiedzy sa najczęściej reprezentowane w postaci 2-wymiarowych tablic, w których wiersze reprezentuja badane obiekty a kolumny opisujace je cechy. W teorii zbiorów przyblizonych takie tablice nazywamy systemami informacyjnymi.

Systemem informacyjnym nazywamy parę A = (U, A), gdzie U jest niepustym, skończonym zbiorem, zwanym uniwersum i A jest niepustym, skończonym zbiorem atrybutów (cech), tj. jezeli a Î A, to

a: U ® Va, gdzie Va jest zbiorem wartości atrybutu a. Przez

V = U{Va: a Î A}

oznaczamy zbiór wszystkich wartości występujących w A, a elementy zbioru U nazywamy obiektami.

Kazdy system informacyjny A i niepusty zbiór B Í A wyznaczaja funkcję B- informacji:

(9)

2.Podstawy Teorii Zbiorów Przybliżonych Strona 9

Inf B Va

BA : U ® ( a B )

Î

P

U

zdefiniowana przez

Inf BA(x) = {(a, a(x)): a Î B}.

Gdy nie prowadzi to do nieporozumień, piszemy InfB zamiast Inf BA. Zbiór {InfB(x): x Î U} nazywamy zbiorem B-informacji i oznaczamy przez INF(A)|B. Zbiór INF(A)|A będzie oznaczany przez INF(A). Przez INF(A, V) oznaczamy zbiór wszystkich funkcji a:U ® Va, spełniajacych warunek

" xÎU " aÎA (a(x) Î Va).

2 Tablice decyzyjne:

W przypadku problemów decyzyjnych, przez decyzję rozumiemy najczęściej dodatkowy atrybut, którego wartość chcielibyśmy móc przewidywać. Tablice decyzyjne sa specjalnym przypadkiem systemów informacyjnych z wyróżnionym atrybutem decyzyjnym.

Tablica decyzyjna nazywamy system informacyjny postaci A = (U, A È {d}), gdzie d Ï A jest wyróznionym atrybutem zwanym decyzja (atrybutem decyzyjnym).

Elementy zbioru A nazywamy atrybutami warunkowymi. Przez Vd oznaczamy zbiór wartości atrybutu decyzyjnego i przyjmujemy, ze jest równy {1, ..., r(d)}.

3 Klasy decyzyjne:

Łatwo zauwazyć, ze decyzja d wyznacza podział uniwersum U na {X1, ..., Xr(d)}, gdzie Xk = {x Î U: d(x) = k} dla 1 £ k £ r(d). Zbiór Xi nazywamy i-ta klasa decyzyjna A.

4 Dolna i górna aproksymacja zbioru:

Niech A = (U, A) będzie systemem informacyjnym, B Í A zbiorem atrybutów i niech X Í U będzie zbiorem obiektów. Zbiory:

{s Î U: [s]IND(B) Í X}

oraz

{s Î U: [s]IND(B) Ç X ¹ Æ}

nazywamy odpowiednio B-dolna i B-górna aproksymacja zbioru X w A i oznaczamy, odpowiednio, przez BX i BX . Zbiór

BNB(x) = BX - BX nazywamy B-brzegiem zbioru X.

Zbiory będące suma pewnych klas abstrakcji relacji nierozróznialności nazywamy definiowalnymi przez B lub B-definiowalnymi. Zbiór X jest B-definiowalny wtedy i tylko wtedy, gdy BX = BX.

5 Obszar pozytywny:

Niech X1, ..., Xr(d) będa klasami decyzyjnymi tablicy decyzyjnej A. Przez B-obszar pozytywny A rozumiemy zbiór

(10)

2.Podstawy Teorii Zbiorów Przybliżonych Strona 10

BX1 È ... È BXr(d)= POSB(d).

Innymi słowy, obszar pozytywny jest zbiorem wszystkich obiektów, o których, w oparciu o dostępną wiedzę wyrażoną przez atrybuty z B, można z pewnością powiedzieć do jakiej klasy decyzyjnej należą.

6 Relacja nierozróznialności:

Niech A = (U, A) będzie systemem informacyjnym. Dla kazdego podzbioru B zbioru atrybutów A mozna wprowadzić relację równowazności INDA(B) (lub IND(B)) zwana relacja B-nierozróznialności, zdefiniowana następujaco:

IND(B) = {(x, x’) Î U2: " a Î B, a(x) = a(x’)}.

Obiekty x i x’ będace w relacji IND(B) sa nierozróznialne przez atrybuty z B.

Mozemy rozwazać rózne warianty relacji nierozróznialności [2], [19]. Na przykład dla tablic decyzyjnych może to być relacja rozrózniajaca tylko obiekty z róznych klas decyzyjnych.

7 Redukty:

Kluczowym pojęciem w procesie wyszukiwania zalezności w systemach informacyjnych jest pojęcie reduktu.

Przez RED(A) oznaczamy zbiór wszystkich reduktów A, t.j. zbiór wszystkich minimalnych (ze względu na inkluzję) podzbiorów B Í A takich, ze IND(B) = IND(A). W zalezności od typu relacji nierozróznialności IND mozemy otrzymać rózne rodzaje reduktów [2]. Na przykład dla tablicy decyzjnej A = (U, A È {d}) reduktem nazwiemy minimalny podzbiór B Í A taki, ze POSA(d) = POSB(d).

Zbiór wszystkich takich reduktów oznaczymy przez RED(A, d).

Redukty będa słuzyły do minimalizacji wiedzy potrzebnej do klasyfikacji obiektów (w przypadku problemów decyzyjnych). Intuicyjnie przez redukt mozna rozumieć minimalny zbiór cech (atrybutów) opisujacych obiekty w tablicy decyzyjnej w stopniu zapewniającym poprawną klasyfikację obiektów.

8 Decyzja uogólniona:

Niech A = (U, A È {d}) będzie tablica decyzyjna. Funkcję

A: U ® P({1, ..., r(d)})

nazywamy decyzja uogólniona w A, jeśli, dla dowolnego x ÎU,

A(x) = {i: $ x’ Î U, x’IND(A)x Ù d(x) = i}

Tablicę decyzyjna A nazywamy spójna (deterministyczna, niesprzeczna) jezeli |

A(x)| = 1 dla kazdego x Î U. W przeciwnym wypadku A nazywamy niespójna (sprzeczna, niedeterministyczna).

9 Deskryptory:

Niech A = (U, A È {d}) będzie tablica decyzyjna i niech V = U{Va: a Î A} È Vd. Deskryptorem nad B Í A È {d} i V nazwiemy kazde wyrazenie postaci a = v, gdzie a Î B i v Î V. Niech t będzie boolowska kombinacja deskryptorów. Wtedy przez tA

(11)

2.Podstawy Teorii Zbiorów Przybliżonych Strona 11

rozumiemy zbiór obiektów wspierających t w tablicy decyzyjnej A, zdefiniowany indukcyjnie:

1. Jezeli t jest postaci a = v, to tA = {x Î U: a(x) = v}

2. (t Ù t’)A = tA Ç tA3. (t Ú t’)A = tA È tA’ 4. (Øt)A = U - tA

10 Reguły decyzyjne:

Zalezności pomiędzy atrybutami warunkowymi a atrybutem decyzyjnym mozna dość czytelnie wyrazić za pomoca reguł decyzyjnych.

Reguła decyzyjna tablicy A nazywamy dowolne wyrazenie postaci t Þ d = v, gdzie t jest boolowska kombinacja deskryptorów zbudowanych z atrybutów warunkowych A zaś v Î Vd.

Reguła decyzyjna t Þ d = v tablicy A jest prawdziwa w A (ozn. t ÞA d = v lub A |= t Þ d = v) wtedy i tylko wtedy, gdy tA Í (d = v)A. Jeżeli tA = (d = v)A, to mówimy, ze reguła jest A-dokładna. Przez A oznaczamy tablicę decyzyjna (U, A È {¶}), gdzie

¶ = ¶A. Kazda regułę decyzyjna t Þ ¶A = q, prawdziwa w A dla |q| > 1, nazwiemy niedeterministyczna, a w przeciwnym przypadku deterministyczna. Reguła niedeterministyczna jest to zatem taka reguła, która po prawej stronie implikacji zawiera dyzjunkcję co najmniej dwóch deskryptorów decyzyjnych. Reguły takie wyrażają zatem zależności przybliżone czyli spełnione w pewnym stopniu. Niech

t Þ d = vi1 Ú … Ú d = vik

będzie regułą niedeterministyczną. Wtedy t Þ d = vij będzie regułą przybliżoną spełnioną w danej tablicy decyzyjnej A w stopniu

rank d v rank

ij A

A

( )

( )

Ù  ,

gdzie rankA(f) oznacza liczbę obiektów z A wspierających formułę f. W szczególności, każda reguła deterministyczna jest spełniona w stopniu 1.

Główna uwagę skupimy na regułach decyzyjnych generowanych na bazie reduktów i reduktów dynamicznych [2]. Zastosowane metody opieraja się głównie na wnioskowaniach boolowskich dla syntezy reguł decyzyjnych [23], [4].

2.3WYZNACZANIE REDUKTÓW

1 Macierz rozróznialności:

Niech A = (U, A) będzie systemem informacyjnym i |U| = n. Przez M(A) oznaczymy macierz (cij) rozmiaru n  n, gdzie cij = {a Î A: a(xi) ¹ a(xj)} dla i, j = 1, ..., n.

Macierz M(A) nazwiemy macierza rozróznialności.

Funkcja rozróznialności fA dla systemu informacyjnego A nazwiemy funkcję boolowska m zmiennych a1*, ..., am*, odpowiadajacych odpowiednio atrybutom a1, ..., am, zdefiniowana następujaco:

(12)

2.Podstawy Teorii Zbiorów Przybliżonych Strona 12

fA(a1*, ..., am*) =

Ù

{

Ú

cij*: 1 £ j £ i £ n, cij ¹ Æ}, gdzie cij* = {a*: a Î cij}.

Twierdzenie [23]

Zbiór wszystkich implikantów pierwszych fA wyznacza zbiór RED(A) wszystkich reduktów A, tzn. ai1 aik

* Ù Ù... * jest implikantem pierwszym fA wtedy i tylko wtedy,

gdy

{ ,..., } ( ) a a RED i i

k

1

Î A

.

2.4REDUKTY DYNAMICZNE

Metody wyznaczania wszystkich reduktów, dla danej tablicy decyzyjnej A, daja mozliwość opisu wszystkich klas decyzyjnych A w postaci reguł decyzyjnych dokładnych w A, które sa minimalne ze względu na liczbę deskryptorów. Niestety reguły liczone powyzszymi metodami nie zawsze daja dobre rezultaty w procesie klasyfikacji nowych obiektów. Głównym powodem tego jest to, ze odzwierciedlaja one tylko aktualna sytuację w tablicy i nie biora pod uwagę tego, ze pewne redukty moga być chaotyczne i w jakimś sensie przypadkowe. Natomiast wydaje się, ze mozna by wykorzystać wiedzę o tzw. “dynamice” reduktów czyli informację o tym jak zbiór reduktów zmienia się dla róznych próbek tablicy decyzyjnej. Redukty dynamiczne sa właśnie narzędziem pozwalajacym wykorzystać dynamikę zmian zbioru reduktów dla róznych próbek tablicy decyzyjnej w procesie decyzyjnym.

1 Definicja:

Niech A = (U, A È {d}) będzie tablica decyzyjna. Wtedy kazdy system B = (U’, A È {d}) taki, ze U’ Í U nazwiemy podtablica A. Niech F będzie pewną rodzina podtablic A. Wtedy przez DR(A, F) oznaczymy zbiór

RED(A, d) Ç

B

ÎF RED(B, d)

Elementy zbioru DR(A, F) nazywamy F-dynamicznymi reduktami tablicy A.

Bezpośrednio z definicji wynika, ze redukt tablicy A jest F-reduktem dynamicznym jeśli jest reduktem kazdej podtablicy z rodziny F. Takie pojęcie reduktu dynamicznego często moze być jednak zbyt restrykcyjne i dlatego wprowadzimy pojęcie (F, e)-dynamicznego reduktu, gdzie e ³ 0. Przez DRe(A, F) oznaczymy zbiór wszystkich (F, e)-dynamicznych reduktów, zdefiniowanych następujaco:

{ ( , ): { : ( , )}

}

C RED d C RED d

Î Î Î

³ 

A B F B

F 1 

Twierdzenie [2]

1. Jezeli F = {A} to DR(A, F) = RED(A, d).

2. Dla dwóch rodzin F, F’ podtablic tablicy A, jezeli F Í F’ to DRe(A, F’) Í DRe(A, F).

(13)

2.Podstawy Teorii Zbiorów Przybliżonych Strona 13

3. Jezeli e £ e’ to DRe(A, F) Í DRe’(A, F).

4. DR(A, F) Í DRe(A, F), dla dowolnego e ³ 0.

5. DR0(A, F) = DR(A, F).

Jezeli C Î RED(B, d) to liczbę

1 - inf{e ³ 0: C Î DRe(A, F)}

nazwiemy współczynnikiem stabilności reduktu C względem F.

(14)

3. Dekompozycja - kluczowe pojęcie metod wnioskowań w modelach rzeczywistych Strona 14

3.Dekompozycja - kluczowe pojęcie metod wnioskowań w modelach rzeczywistych

3.1WPROWADZENIE

Jedna z podstawowych barier na jakie napotyka się podczas analizy danych rzeczywistych jest ich rozmiar. Wiele dobrych algorytmów, opartych na takich dziedzinach jak sztuczna inteligencja czy maszynowe uczenie (ang. Machine Learning), przy zetknięciu z danymi o duzych rozmiarach (gigabajty czy nawet terabajty danych), okazuje się nieprzydatnych ze względu na zbyt długi czas obliczeń i zbyt duze wymagania pamięciowe. Przykładem sa tu równiez algorytmy teorii zbiorów przyblizonych, które sprawdzaja się bardzo dobrze na danych do pewnego rozmiaru i nawet wspomagane róznymi heurystykami takimi jak algorytmy genetyczne czy inne, okazuja się nieprzydatne przy wielu problemach rzeczywistych o dużych rozmiarach danych. W zwiazku z potrzebami “inteligentnej” analizy duzych tablic wiedzy od paru lat zaczęły gwałtownie rozwijać się takie dziedziny jak Data Mining czy Knowledge Discovery in Data Bases. Postęp tych dziedzin istotnie zalezy od rozwoju wydajnych metod generujacych reguły decyzyjne dla duzych tablic danych. Wydaje się, ze znalezienie metod dobrego opisu klas decyzyjnych odgrywałoby tutaj istotna rolę. W tym celu proponujemy uzycie pojęcia wzorca, które będzie słuzyło zarówno do wyznaczania aproksymacyjnego opisu klas decyzyjnych, jak i równiez będzie narzędziem w procesie dekompozycji duzych tablic na poddziedziny. W pierwszym przypadku wzorzec będzie bezposrednio wyrazal zaleznosci przyblizone, natomiast w drugim będzie posrednim narzędziem do wykrywania takich zaleznosci.

W dalszej części pracy zaproponujemy kilka metod pozwalajacych generować

“dobre” w jakimś sensie wzorce dla duzych baz danych oraz pokazemy jak moga być one wykorzystane w procesie dekompozycji i generowania reguł decyzyjnych.

3.2WZORCE

1 Pojęcie wzorca:

Niech A = (U, A) będzie systemem informacyjnym. Wzorcem T tablicy A nazwiemy dowolna formułę postaci

Ù

piÎI, gdzie pi są deskryptorami postaci a = v, dla pewnego a Î A będącego atrybutem tablicy A, oraz v Î Va będącego jakaś wartościa atrybutu a, przy założeniu, że dla dowolnych dwóch deskryptorów a = v i b = w mamy a ¹ b.

Zakładajac, ze A = {a1, ..., am} wzorzec

T ai vi ai vi

k k

(  ) ... (Ù Ù  )

1 1

(15)

3. Dekompozycja - kluczowe pojęcie metod wnioskowań w modelach rzeczywistych Strona 15

mozna traktować jako ciag x1, ..., xm, gdzie na pozycji p mamy wartość vp, dla p = i1,...,ik, a na pozostałych pozycjach występuje gwiazdka ‘*’ symbolizujaca dowolna wartość.

Powiemy, ze obiekt x Î U spełnia deskryptor a = v, gdy a(x) = v. Obiekt x Î U spełnia (pasuje do wzorca) wzorzec T, jezeli spełnia wszystkie deskryptory z T.

Przez długość l(T) wzorca T rozumiemy liczbę róznych deskryptorów w T. Przez nA(a, v) (lub w skrócie n(a, v)) będziemy oznaczać liczbę obiektów z A spełniajacych deskryptor a = v.

2 Jakość wzorca:

Przez fitnessA(T) oznaczamy liczbę obiektów z systemu informacyjnego A pasujacych do T, natomiast przez jakość wzorca T rozumiemy najczęściej iloczyn fitnessA(T) × l(T). Niech s będzie liczba naturalna. Przez TemplateA(s) oznaczymy zbiór wszystkich wzorców T tablicy A takich, ze fitnessA(T) ³ s.

3 Przykład:

Niech A = (U, A È {d}) będzie tablica decyzyjna jak w Tabeli 1. Niech T = {a1 = 5, a3 = 0, a5 = black}

będzie wzorcem dla A (T mozna wyrazić równiez jako ciag <5,*,0,*,black>). Wtedy obiekty x1 i x4 pasuja do wzorca T.

Atrybuty warunkowe: Decyzja:

Obiekty: a1 a2 a3 a4 a5 d

x1 5 1 0 1.16 black 1

x2 4 0 0 8.33 red 0

x3 5 1 0 3.13 red 1

x4 5 0 0 3.22 black 1

x5 1 0 1 3.24 red 0

Tabela 1

4 Złożoność wyznaczania wzorców:

Problemy związane z wyznaczaniem wzorców można sformułować następująco:

Dane: System informacyjny A = (U, A), k Î N

Zadanie: Czy istnieje wzorzec dla A o jakości większej lub równej k?

Tak postawiony problem wydaje się być NP-zupełny aczkolwiek jest on wciąż otwarty [7], [5]. Analogicznie, problem:

Dane: System informacyjny A = (U, A)

Zadanie: Znajdź wzorzec dla A o najlepszej jakości

(16)

3. Dekompozycja - kluczowe pojęcie metod wnioskowań w modelach rzeczywistych Strona 16

wydaje się być NP-trudny.

Poniżej przedstawimy dwa inne sformułowania tego problemu, które mogą ułatwić udowodnienie NP-trudności problemu wyznaczania wzorca o najlepszej jakości.

Dane: Graf pełny G = (V, E) etykietowany podzbiorami pewnego zbioru A mającymi własność przechodniości, tj.

1. u v VU, Îe u v( , ) A

2. " u, v Î V e(u, v) Í A, gdzie e jest etykietą krawędzi łączącej u z v 3. " u, v, w Î V zachodzi e(u, v) Ç e(v, w) Í e(u, w)

Zadanie: Wyznaczyć takie V’ Í V, że liczba |V'| |× u v,ÎVe u v'( , )| jest maksymalna.

Fakt: Powyższy problem jest wielomianowo równoważny problemowi wyznaczania najlepszego wzorca.

Dowód: Dla danego grafu pełnego G = (V, E), którego krawędzie są etykietowane podzbiorami jakiegoś zbioru X, spełniającego warunki 1-3 możemy skonstruować system informacyjny A = (U, A) w następujący sposób: Niech A = X oraz niech każdemu wierzchołkowi v Î V odpowiada jeden obiekt xv Î U. Wartości atrybutów tablicy A mogą być obliczone wg poniższego algorytmu:

FOR EACH u, v Î V BEGIN

FOR EACH a Î e(u, v) BEGIN

IF a(xu) AND a(xv) jest niewypełnione THEN

a(xu)=a(xv)=nowa_wartość, gdzie nowa_wartość Ï Va

ELSE IF a(xu) jest niewypełnione THEN a(xu)=a(xv)

ELSE

a(xv)=a(xu) END

END

FOR EACH a(x) niewypełnionego BEGIN

a(x)= nowa_wartość, gdzie nowa_wartość Ï Va

END

Przykład: Niech A = {a, b, c} oraz G = (V, E) będzie grafem pełnym jak na rysunku:

(17)

3. Dekompozycja - kluczowe pojęcie metod wnioskowań w modelach rzeczywistych Strona 17

Wtedy stosując powyższy algorytm otrzymamy następujący system informacyjny:

Złożoność tego algorytmu jest wielomianowa i wynosi O(n2×m), gdzie n = |V| i m = | X|. Każdy podbiór V’ Í V wierzchołków grafu G będzie teraz odpowiadał jakiemuś wzorcowi T dla A, a liczba |V'| |× u v,ÎVe u v'( , )| jest odpowiednikiem fitnessA(T)×l(T).

Odwrotnie, dla danego systemu informacyjnego A = (U, A), skonstruujmy graf pełny G = (V, E), gdzie każdemu obiektowi z U będzie odpowiadał jeden wierzchołek z V.

Następnie, dla każdych dwóch wierzchołków u, v przypiszmy etykietę krawędzi e(u, v) w następujący sposób:

e(u, v) = {aÎA: a(x) = a(y)},

gdzie x, y Î U odpowiadają wierzchołkom u i v. Analogicznie, każdy wzorzec T dla A będzie odpowiadał pewnemu podzbiorowi zbioru wierzchołków grafu G, a liczba fitnessA(T)×l(T) jest odpowiednikiem |V'| |×u v,ÎVe u v'( , )|.

Inne sformułowanie problemu wyznaczania najlepszego wzorca jest następujące:

Dane: Macierz C o rozmiarach mn

Zadanie: Znaleźć taką permutację wierszy i kolumn macierzy C by zawierała ona największy blok jednorodny tzn. blok, którego każda kolumna zawiera tylko jedną wartość. Przez rozmiar bloku rozumiemy tutaj iloczyn liczby jego wierszy i kolumn.

Jeżeli teraz dla danego systemu informacyjnego A = (U, A) utworzymy macierz C = (cij), gdzie ci,j = ai(xj) i odwrotnie dla danej macierzy C utworzymy system informacyjny A = (U, A), gdzie ai(xj) = ci,j to znalezienie bloku dla C odpowiada znalezieniu wzorca dla A.

A a b c

x 0 0 1

y 0 0 0

z 1 0 0

v 1 0 1

ab

bc ab

bc b

b x

y

z

v

(18)

3. Dekompozycja - kluczowe pojęcie metod wnioskowań w modelach rzeczywistych Strona 18

5 Zastosowanie wzorców:

Będziemy rozwazać dwa rodzaje wzorców:

(i) wzorce, które moga być traktowane jako przyblizone reguły decyzyjne tj. prawie wszystkie obiekty pasujace do wzorca będa pochodziły z tej samej klasy decyzyjnej.

(ii) wzorce, które moga być uzyte do dekompozycji danej tablicy na mniejsze.

Wzorce pierwszego rodzaju (i) powinny być mozliwie najkrótsze, o duzej wartości funkcji fitness, a zarazem zbiór wszystkich obiektów pasujacych do takiego wzorca powinien prawie całkowicie zawierać się w jednej klasie decyzyjnej. Takie wzorce mogłyby zostać uzyte do konstrukcji aproksymacyjnego pokrycia klas decyzyjnych.

Wzorce drugiego rodzaju (ii) powinny być jak najdłuzsze i zarazem wartość ich funkcji fitness powinna być możliwie duza. Takie wzorce pozwalaja zgrupować relatywnie duza liczbę obiektów do poddziedzin. Mozna oczekiwać, ze zbiory reguł decyzyjnych dla takich poddziedzin staja się mocniejsze i maja lepsza jakość klasyfikacji nowych obiektów. Jednocześnie, krótszy jest czas generowania takich zbiorów reguł, poniewaz tablice dla których je liczymy sa mniejsze i bardziej regularne. Wzorce te moga zostać uzyte do dekompozycji tablic na mniejszye podtablice (poddziedziny).

W pracy będziemy rozwazać rózne metody programów ewolucyjnych pozwalajacych szukać (poprzez drzewa dekompozycyjne dla danej tablicy decyzyjnej) np. drzew generujacych zbiór reguł decyzyjnych o jakości większej niz z góry zadany próg.

Zaproponujemy równiez kilka heurystyk pozwalajacych poszukiwać wzorców oraz podamy wyniki komputerowych eksperymentów przeprowadzonych z zastosowaniem tych heurystyk.

3.3METODY GENEROWANIA WZORCÓW

3.3.1Metoda MAX

Celem tej metody jest znalezienie jak najdłuzszych (w sensie funkcji l) wzorców o wartości funkcji fitness nie mniejszej niz zadany próg s. Proponujemy tutaj uzycie heurystyki, która będziemy nazywali “Metoda Max” [14], [15], [17]. Algorytm zaczyna działanie od wzorca pustego tzn. od wzorca T o długości 0. Wzorzec T jest rozszerzany przez kolejne dodawanie deskryptorów postaci a = v, dopóki wartość funkcji fitness(T) nie spadnie ponizej progu s. Jezeli wzorzec T składa się z i - 1 deskryptorów, to i-ty deskryptor jest wybierany w następujacy sposób: Wśród atrybutów nie występujacych jeszcze w deskryptorach T szukamy takiego atrybutu a i, odpowiednio, wartości v Î Va, ze funkcja fitness wzorca T Ù (a = v) przyjmuje maksymalna wartość. Konstrukcja algorytmu szukajacego wzorca moze być w sposób wydajny zrealizowana następujaco:

Niech T będzie wzorcem posiadajacym i - 1 deskryptorów i niech Ai-1 = (Ui-1, Ai-1), gdzie Ui-1 jest zbiorem obiektów pasujacych do T, zaś Ai-1 składa się z atrybutów

(19)

3. Dekompozycja - kluczowe pojęcie metod wnioskowań w modelach rzeczywistych Strona 19

zbioru A nie pojawiajacych się wśród deskryptorów T. Sortujemy obiekty z Ui-1

względem wartości kazdego atrybutu. Następnie wybieramy atrybut a wraz z wartościa v tak, ze fitnessAi a v

-1(  ) jest maksymalny.

Algorytm Max, wersja 1. (Max1):

WEJŚCIE: System informacyjny A = (U, A), |U| = n, |A| = m oraz próg s (liczba naturalna).

WYJŚCIE: Wzorzec T Î TemplateA(s) o “prawie” maksymalnej długości (tj. l(T) jest “blisko”

max{l(T): T Î TemplateA(s)}).

1.T = Æ;

2.WHILE l(T) < m i fitnessA(T) >s DO 3.BEGIN

3.1 Dla kazdego atrybutu a Ï T posortuj obiekty z U względem wartości a w celu znalezienia v Î Va

pojawiajacego się w tablicy A najczęściej, tj.

takiego, że nA(a, v) = max{nA(a, w): w Î Va}.

3.2 Wybierz deskryptor a = v o największej wartości funkcji fitness spośród deskryptorów

skonstruowanych w poprzednim kroku, tj.

odpowiadający nA(a, v) = max{nA(b, w): b Î A-A(T)}, gdzie A(T) jest zbiorem wszystkich atrybutów należących do deskryptorów T.

3.3 U := zbiór tych obiektów x Î U, że x spełnia deskryptor a = v;

3.4 A := A - {a};

3.5 T := T È {a = v);

4.END

PRZEDSTAWIONY POWYŻEJ ALGORYTM POZWALA ZNAJDOWAĆ JEDEN DŁUGI WZORZEC DLA DANEJ TABLICY DECYZYJNEJ. ALGORYTM TEN MOŻNA NIECO ZMODYFIKOWAĆ TAK, BY POZWALAŁ GENEROWAĆ WIĘCEJ RÓŻNYCH WZORCÓW. MIANOWICIE, ZAMIAST WYBIERAĆ DESKRYPTOR O NAJWIĘKSZEJ WARTOŚCI FUNKCJI fitness, ROZWAZMY WSZYSTKIE DESKRYPTORY SKONSTRUOWANE W KROKU 3.1 ALGORYTMU I WYBIERZMY LOSOWO JEDEN Z NICH.

PRAWDOPODOBIEŃSTWO WYBORU DESKRYPTORA a = v OKREŚLAMY PONIŻSZYM WZOREM:

P a v n a v

n a vi i

i

( ) ( , )

( , )

 

AA

Zatem algorytm Max1 moze być zmodyfikowany następujaco:

(20)

3. Dekompozycja - kluczowe pojęcie metod wnioskowań w modelach rzeczywistych Strona 20

Algorytm Max, wersja 2. (Max2):

WEJŚCIE: System informacyjny A = (U, A), |U| = n, |A| = m oraz próg s (liczba naturalna).

WYJŚCIE: Wzorzec T Î TemplateA(s) o “prawie” maksymalnej długości (tj. takie, że l(T) jest “blisko”

max{l(T): T Î TemplateA(s)}).

1.T = Æ;

2.WHILE l(T) < m i fitnessA(T) >s DO 3.BEGIN

3.1 Dla kazdego atrybutu a Ï T posortuj obiekty z U względem wartości a w celu znalezienia v Î Va

pojawiajacego się w tablicy A najczęściej tj.

nA(a, v) = max{nA(a, w): w Î Va}.

3.2 Wybierz losowo deskryptor a = v, spośród tych znalezionych w kroku 3.1, względem

prawdopodobieństwa danego wzorem:

P a v n a v

n a vi i

i

( ) ( , )

( , )

 

AA

.

3.3 U := zbiór tych obiektów x Î U, że x spełnia deskryptor a = v;

3.4 A := A - {a};

3.5 T := T È {a = v);

4.END

Oba przedstawione algorytmy maja złozoność czasowa rzędu O(m2 n logn).

3.3.2Znajdowanie wzorców przy pomocy wag obiektów

1 Wprowadzenie:

Główna idea tej metody znajdowania wzorców polega na przypisaniu pewnych wag, wszystkim obiektom tablicy decyzyjnej. Wagi te powinny odzwierciedlać potencjalna szansę obiektu na to, by pasował do dobrego (w jakimś sensie) wzorca. Nalezy tutaj zauwazyć, ze dowolny zbiór obiektów generuje wzorzec (być może pusty). Po przypisaniu odpowiednich wag obiektom rozpoczyna się proces ich selekcji z tablicy.

Obiekty wybierane sa losowo, według prawdopodobieństwa zadanego przez nadane wcześniej wagi. Za kazdym razem gdy nowy obiekt został wylosowany, liczona jest jakość otrzymanego wzorca. Jezeli jest ona większa od poprzedniej (z poprzedniego kroku), to kontynuujemy algorytm, zaś w przeciwnym wypadku odrzucamy nowo

(21)

3. Dekompozycja - kluczowe pojęcie metod wnioskowań w modelach rzeczywistych Strona 21

wybrany obiekt, o ile pozwala na to specjalna zmienna sterujaca. Algorytm ten uzywa ponadto mechanizmu tzw. “mutacji” - co pewną liczbę kroków algorytmu losowo wybrane obiekty sa usuwane z wzorca. Mutacja zwiększa szansę na omijanie lokalnych ekstremów funkcji jakości.

2 Wagi obiektów:

1 Wagi obiektów odzwierciedlające podobieństwo między obiektami [7]

Niech A = (U, A) i niech x Î U. Dla kazdego y Î U liczymy gx,y = |{a: a(x) = a(y)}|, tzn. liczbę tych atrybutów, które przyjmuja równe wartości na obiektach x i y. Liczba ta odzwierciedla, na ile obiekty x i y sa blisko siebie. Następnie, dla kazdego atrybutu a Î A, liczymy

wa(x) = gx y

y a x a y, : ( )

( )

i w końcu

w(x) = w xa

a A

( )

Î .

Łatwo zauwazyć, ze

w(x) = gx y

y ,

2 .

2 Wagi obi ektów odzwierciedlające częstość występowania wartości atrybutów

Niech A = (U, A) i x Î U. Dla kazdego a Î A połóżmy wa(x) = nA(a, a(x)).

Wtedy

w(x) = w xa

a A

( )

Î .

3 Algorytm:

Pierwszym krokiem algorytmu jest obliczenie wag wszystkich obiektów. Jest to zadanie najbardziej złozone obliczeniowo w całym procesie. W przypadku duzych tablic danych mozna losowo wybrać jakiś podzbiór obiektów i tylko dla nich liczyć wagi. Następnie stosujemy metodę tzw. “koła ruletki” do losowego wyboru obiektów względem ich wag. Metoda ta zapewnia to, że im większa wagę ma dany obiekt, tym większa ma on szansę zostać wybranym. Losujemy kolejno jeden obiekt i uaktualniamy odpowiednie struktury danych (patrz ponizej), a następnie jakość wzorca otrzymanego z wylosowanych obiektów. Obliczenie jakości jest bardzo szybkie dla struktur zaproponowanych ponizej. Jezeli jakość otrzymanego wzorca jest lepsza niz otrzymanego w kroku poprzednim, to kontynuujemy algorytm, zaś w przeciwnym przypadku odrzucamy ostatnio wylosowany obiekt wg pewnego prawdopodobieństwa, kontrolowanego przez specjalna zmienna, która zmienia swoja wartość wraz z postępem algorytmu. Im dłuzej algorytm juz działa, tym mniejsze powinno być prawdopodobieństwo zachowania gorszego wzorca. Ponadto, z pewna

(22)

3. Dekompozycja - kluczowe pojęcie metod wnioskowań w modelach rzeczywistych Strona 22

częstotliwościa wyrzucamy losowo jeden obiekt ze zbioru dotychczas wylosowanych wzorców.

Warunek stopu powyższego algorytmu moze być zdefiniowany w różny sposób.

Może na przykład oznaczać moment, w którym dobieranie nowych obiektów nie poprawia jakości otrzymanego wzorca przez kilka kolejnych kroków albo gdy zmienna kontrolujaca prawdopodobieństwo pozostania przy gorszym wzorcu osiagnie pewien próg. W trakcie działania algorytmu zapamiętujemy najlepsze dotychczas znalezione wzorce.

4 Przykładowe struktury danych:

Następujace struktury danych moga zostać uzyte do przechowywania informacji o wylosowanych obiektach. Niech A = (U, A), |A| = n. Konstruujemy tablicę długości n wskaźników do listy struktur zawierajacych dwa pola: wartość atrybutu odpowiadajacego danej liście oraz liczbę wystapień tej wartości. Jezeli wybraliśmy teraz, powiedzmy, obiekt x, to dla kazdego atrybutu a zwiększamy liczbę wystapień wartości a(x). Jezeli wartość a(x) nie istniała jeszcze na liście, to dodajemy ja do listy i ustawiamy liczbę jej wystapień na 1. Jezeli usuwamy jakiś obiekt ze zbioru wylosowanych obiektów wtedy odpowiednie wartości sa zmniejszane. Jezeli jakaś wartość ma liczbę wystapień równa 0, to usuwamy z listy strukturę odpowiadajaca tej wartości. Listy moga być sortowane w trakcie doboru nowych obiektów w odniesieniu do liczby wystapień danej wartości. Pozwala to na szybsze wyszukiwanie odpowiednich wartości z list, poniewaz wartości najczęściej występujace w tablicy sa na poczatku listy. Dodatkowo moze zostać stworzona tablica długości n, która dla kazdego atrybutu a przechowuje liczbę róznych jego wartości wśród wylosowanych obiektów. Wtedy policzenie funkcji l sprowadza się do policzenia liczby jedynek w tej tablicy.

5 Przykład:

Rozważmy następujący zbiór obiektów:

x1: 1 5 0 0 1 x2: 3 3 0 1 1 x3: 1 2 0 3 1

Wówczas moga zostać uzyte następujace struktury danych:

(I) (II)

2 3 1 3 1

1;2 5;1 0;3 0;1 1;3

3;1 3;1 1;1

2;1 3;1

(23)

3. Dekompozycja - kluczowe pojęcie metod wnioskowań w modelach rzeczywistych Strona 23

i jakość moze zostać policzona w następujacy sposób:

· liczba wartości ‘1’ w tablicy (I) = 2

· liczba wybranych obiektów = 3

· zatem jakość = 2 * 3 = 6

3.3.3Znajdowanie wzorców przy pomocy wag atrybutów

1 Wprowadzenie:

Ta metoda bazuje na idei podobnej do przedstawionej wyzej metody generowania wzorców za pomoca wag obiektów. Tym razem przypisujemy pewne wagi zarówno wszystkim atrybutom w tablicy jak i wszystkim wartościom atrybutów. W procesie szukania wzorców wybieramy losowo najpierw atrybuty a następnie wartości atrybutów według prawdopodobieństwa zadanego przez wagi, tworzac zbiór deskryptorów, które wyznacza wzorzec. Za kazdym razem, gdy wybierzemy jakiś nowy atrybut a i wartość tego atrybutu va, liczymy jakość wzorca dla zbioru dotychczas dobranych deskryptorów, wraz z nowym deskryptorem. Jezeli wzorzec wyznaczony przez nowy zbiór deskryptorów jest lepszy ze względu na jakość, to kontynuujemy algorytm, zaś w przeciwnym wypadku postępujemy w zalezności od pewnej zmiennej kontrolnej, która zmienia swoja wartość wraz z postępem obliczeń algorytmu. Podobnie jak w przypadku metody wag dla obiektów, stosujemy mechanizm mutacji, tzn., z pewna częstościa, wyrzucamy losowo wybrany deskryptor ze zbioru dotychczas wybranych. Pozwala to unikać lokalnych ekstremów.

2 Wagi atrybutów:

Niech A = (U, A), |U| = m, |A| = n. Dla kazdego atrybutu a Î A mozemy uporzadkować jego wartości względem nA(a, v), gdzie v Î Va. Wtedy przez via oznaczymy i-ta wartość atrybutu a w powyzszym porzadku. Jezeli nA(a, v) = nA(a, u) dla u ¹ v, to losowo wybieramy, która wartość jest większa w tym porzadku. Niech

wA(a) =

m i n a vi

a

a i

V

×

A( , )

1

.

Jak łatwo teraz zauwazyć wA(a) Î [2/(m+1), 1]. Dla dowolnej wartości u atrybutu a mozemy zdefiniować wagę u jako

w u n a u

m

a A

( ) A( , )

 .

Podobnie, w uAa( )Î [1/m, 1] i dla dowolnego a Î A w va

v Va A

Î ( ) 1 . 3 Algorytm:

Algorytm znajdowania wzorców za pomoca wag atrybutów.

(24)

3. Dekompozycja - kluczowe pojęcie metod wnioskowań w modelach rzeczywistych Strona 24

1.zainicjalizuj wzorzec T 2.i = 1, k = 1, jakość = 0 3.WHILE NOT STOP DO BEGIN

3.1 wybierz losowo r Î [2/(m+1),1) 3.2 IF r < wA(ai) i T(i) = ‘*’ THEN

3.2.1 wybierz liczbę naturalna l Î {1, ..., |Va

i |}

taka, ze w va r w v

k

l a a

k

l a

i k

i i

k i

A A

£ £

1

1

1

( ) ( )

3.2.2 T(i) =

v

lai

3.2.3 policz nowa_jakość dla T

3.2.4 IF nowy_jakość £ jakość * fitness_coeff THEN T(i) =

‘*’ ELSE jakość = nowy_ jakość; zapisz(T) 3.3 IF k = mutation_coeff THEN usuń losowo wybrany

deskryptor T; k = 0;

3.4 i = i + 1; k = k + 1;

3.5 IF i = n THEN i = 1;

4.END

Czasami możemy być zainteresowani znajdowaniem wzorców relatywnie długich, mniej zwracajac uwagę na liczbę pasujących do niego obiektów. W takim przypadku należałoby odpowiednio zainicjować wzorzec początkowy (krok 1 algorytmu), np.poprzez zastosowanie kroków 3.1 do 3.2.4. W innych przypadkach możemy być zainteresowani wzorcami o duzej wartości funkcji fitness nie zwazajac na ich długość.

Wtedy początkowy wzorzec moze być np. pusty. Wartości zmiennych kontrolnych fitness_coeff i mutation_coeff powinny zostać wyznaczone eksperymentalnie. Zmiana wartości tych zmiennych możemy kontrolować długość otrzymywanych wzorców.

3.3.4Znajdowanie wzorców przy pomocy algorytmu genetycznego

1 Algorytmy genetyczne dla problemów optymalizacyjnych:

Niech S będzie daną skończoną przestrzenią stanów i niech f: S ® R+. Celem będzie znalezienie takiego x0 Î S, że f(x0) = max{f(x): x Î S}. Elementy zbioru S nazwiemy teraz zwyczajowo osobnikami (indywiduami). Główna idea klasycznego algorytmu genetycznego bazuje na teorii Darwina doboru naturalnego. Traktujemy wartość funkcji f jako stopień przystosowania danego osobnika do danego środowiska i symulujemy proces ewolucji według następujących reguł: (i) wybieramy sposób kodowania osobników (najczęściej jest to ciąg bitów reprezentujący chromosom danego osobnika). Losowo wybieramy zbiór chromosomów jako populację początkową. (ii) liczymy wartość funkcji fitness F(c) dla każdego chromosomu c jako wartość funkcji f(s(c)), gdzie s(c) jest osobnikiem o kodzie c. Następnie tworzymy nową populację zamieniając w pewnym procesie losowym chromosomy o małej wartości funkcji fitness tymi o większej wartości funkcji fitness. (iii) Dokonujemy wyboru nowej populacji stosując operatory genetyczne takie jak mutacja i

(25)

3. Dekompozycja - kluczowe pojęcie metod wnioskowań w modelach rzeczywistych Strona 25

krzyżowanie (wymiana części kodu genetycznego pomiędzy dwoma osobnikami).

(iv) powtarzamy punkty (ii) - (iii) dla nowej populacji. W wyniku procesu ewolucji chcielibyśmy otrzymać jak najlepszego osobnika xmax, który jest jak najbliżej osobnika optymalnego x0.

2 Reprezentacja:

Łatwo zauważyć, że każdy wzorzec T może być reprezentowany przez (1) binarny ciąg długości n - każda pozycja ciągu odpowiada jednemu atrybutowi i ma wartość 1 gdy dany atrybut występuje wśród deskryptorów T oraz 0 w przeciwnym przypadku;

(2) dowolny obiekt pasujący do T (zwany dalej obiektem bazowym). Taka reprezentacja jest naturalna w przypadku gdy formułujemy problem np. “Znajdź największy wzorzec pasujący do obiektu x”. Równiez przypadek pytania typu

“Znajdź najlepszy globalny wzorzec w danym systemie informacyjnym” może być przeformułowany na przypadek znalezienia najlepszego wzorca pasującego do jednego konkretnego obiektu. Algorytm opisany poniżej znajduje wzorce dla jednego obiektu bazowego.

Niech A = (U, A), |U| = m, |A| = n. Niech xb będzie obiektem bazowym. Będziemy teraz szukać najlepszego wzorca do którego pasuje xb. W tym celu zastosujmy następujacą procedurę:

1.i = 1, T = {*,*, ..., *}, oraz niech (b1...bn) = t(a1...an) będzie uporzadkowana lista atrybutów - porzadek zadany jest przez permutację t.

2.Policz długość wzorca T

3.Dodaj deskryptor bi = xb; i = i + 1 4.Powtarzaj punkty 2, 3 dopóki i £ n

5.Wybierz najlepszy wzorzec znaleziony w punkcie 2.

Każdy wzorzec maksymalny lokalnie może zostać znaleziony za pomoca powyższego algorytmu - wynik zależy tylko od porządku atrybutów. Złożoność czasowa tego algorytmu jest rzędu O(n2  m), aczkolwiek istnieje jeszcze wiele sposobów optymalizacji tego algorytmu np. obiekty, które na żadnym atrybucie nie pasuja do obiektu bazowego mogą zostać pominięte. Głównym celem jest znalezienie właściwego porządku na zbiorze atrybutów i do tego może zostać użyty algorytm genetyczny. Chromosomem będzie permutacja t długości n.

W zasadzie nie ma prostej i szybkiej metody wygenerowania wzorca optymalnego globalnie poprzez ten algorytm - generowanie najlepszego wzorca dla dowolnego obiektu jest raczej nie do zaakceptowania w przypadku duzych baz danych. Z drugiej strony do wzorca optymalnego globalnie powinno pasować wiele obiektów. Jezeli teraz uda nam się wybrać jako obiekt bazowy obiekt pasujacy do wzorca globalnie optymalnego mozemy znalezć optimum globalne. Zatem w procesie szukania wzorca mozemy wybrać losowo pewien podzbiór obiektów, którego elementy będziemy traktować jako obiekty bazowe.

(26)

3. Dekompozycja - kluczowe pojęcie metod wnioskowań w modelach rzeczywistych Strona 26

3 Funkcja przystosowania fitness:

Wartość funkcji fitness F(T) zalezy od dwóch parametrów: (1) liczby OT obiektów w tablicy pasujacych do wzorca T (z wyłaczeniem obiektu bazowego) i (2) liczby AT

będacej liczba deskryptorów wzorca T. Zatem F(T) zdefiniujemy jako:

F(T) = OT  AT

Liczenie wartości funkcji fitness F(T) jest operacja najbardziej kosztowna z punktu widzenia całego algorytmu, ale mozna uzyć pewnych technik do przyśpieszenia tej operacji.

4 Metody selekcji:

Gdy policzymy juz wartość funkcji fitness dla kazdego chromosomu, wtedy mozemy zaczać proces selekcji. Wpierw znormalizujemy funkcję fitness w następujacy sposób:

FN(x) =

F x F y

y

( )

( )

Następnie będziemy traktować FN jako rozkład probabilistyczny i wybierzemy nowa populację osobników losowo, uzywajac tego rozkładu (stosujac np. algorytm “koła ruletki” [8]). Dodatkowo mozna zastosować strategię elitarności, tzn.przenoszenia najlepszych osobników do nowej populacji bez dokonywania jakichkolwiek zmian w ich chromosomach. Eksperymenty komputerowe pokazały, ze zastosowanie tej strategii podwyzszyło w pewnym stopniu końcowe rezultaty.

5 Operator krzyzowania:

Jednym z podstawowych operatorów genetycznych jest operator krzyzowania. Jest on stoswany z prawdopodobieństwem Pc = 0.7 na chromosomach wybranych do procesu reprodukcji. Uzywamy tutaj metody zwanej PMX (Partially Matched Crossover [8]):

permutacje rodzicielskie sa przecięte w dwóch losowo wybranych punktach.

Otrzymane środkowe fragmenty chromosomów sa zamienione a następnie uzyte jako lista transpozycji chromosomów rodzicielskich.

6 Operator mutacji:

Prawdopodobieństwo zajścia mutacji na pojedynczym bicie chromosomów zostało wybrane jako 0.1. Mutacja permutacji oznacza transpozycję dwóch elementów jak pokazano na przykładzie: { 1 2 3 4 5 } ® { 1 3 2 4 5 }.

3.4WZORCE DECYZYJNE

3.4.1Wprowadzenie

Wzorce znalezione za pomoca opisanych powyzej algorytmów moga zostać wykorzystane np. do znajdowania pewnych regularności (klastrów) w bazach danych.

Jednak w wielu przypadkach moze nas interesować równiez znalezienie algorytmu

Cytaty

Powiązane dokumenty

W pracy posłużyłem się metodą dogmatycznoprawną, polegającą na analizie stanu prawnego oraz orzecznictwa Trybunału Konstytucyjnego, Sądu Najwyższego oraz sądów

Pismo każde opiera się na dwóch czynnikach:. na wysiłku wydawnictwa i redakcji oraz na życzliwym i ofiarnym poparciu

[r]

Zasadnicze zmiany gospodarki mają charakter strukturalno-systemowy i dotyczą przede wszystkim form i struktur produkcji. \Vynika to z roli produkcji w rozwoju

Spas which have moved from being a form of elite tourism to becoming a more mass tourism experience, including spas of the Beskid Sądecki (e.g. Krynica) and the eastern part of

Po zapoznaniu sie z treścią rozprawy habilit acyjnej widać, że Habilitantka kontynuuje i rozwija tematykę badawczą , zapoczątkowa ną na starcie swej kariery

Po rozliczenia należy zgłaszać się osobiście (wymagany jest dowód osobisty lub legitymacja studencka) lub z upoważnieniem wystawionym przez studenta/słuchacza na

Pappert stellt hierbei fest, dass für diktato- rische Systeme die Dominanz des regulativen Sprachspiels anzunehmen ist, was den Niederschlag in der Sprache findet – das