320 likes | 1.2k Views
ZBIORY PRZYBLIŻONE Redukty i Reguły. Redukcja atrybutów.
E N D
ZBIORY PRZYBLIŻONE Redukty i Reguły
Redukcja atrybutów Gdy na podstawie wiedzy zawartej w części warunkowej tablicy decyzyjnej tworzy się opisy klas decyzyjnych, może się okazać, że nie wszystkie atrybuty warunkowe są do tego celu potrzebne. Atrybuty nie wykorzystane w tworzeniu opisu klasy decyzyjnej nazywane są atrybutami zbędnymi. Innymi słowy, usuwając atrybuty zbędne z tablicy decyzyjnej otrzymamy dokładnie taki sam (tak samo dokładny) opis klasy decyzyjnej, jak w przypadku, gdyby atrybutów tych nie usuwać Po usunięciu z tablicy decyzyjnej DT=(U,A{d}) atrybutów zbędnych otrzymamy takie same pojęcia A-elementarne, jak przed ich usunięciem. Znaczy to, że po usunięciu atrybutów zbędnych {a1,..,ak}, pozostałe atrybuty ze zbioru A\{a1,..,ak} mają taką samą zdolność do rozróżniania obiektów z U, jaką miał cały zbiór A. Atrybuty, których nie można usunąć ze zbioru A bez straty zdolności rozróżniania obiektów z U, nazywa się atrybutami niezbędnymi. O istotności danego atrybutu aA decyduje to, jak dużą stratę w zdolności rozróżniania obiektów z U powoduje usunięcie tego atrybutu ze zbioru A.
Przykład: Redukcja atrybutów Wyznaczanie zbiorów atrybutów zbędnych i niezbędnych wiąże się z pojęciem reduktu zbioru atrybutów (w przypadku tablicy decyzyjnej reduktu relatywnego). Istotności danego atrybutu można określić obliczając tzw. współczynnik istotności atrybutu. W tym zbiorze nie ma atrybutów zbędnych (nie rozpatrujmy na razie atrybutu d, gdyż U\A={ {u1}, {u2},{u3},{u4},{u5},{u6} } U\IND(A-{Temperatura})={ {u1},{u2,u6},{u3},{u4},{u5}} - mniej szkody, jak go usunę U\IND(A-{Boli..})={ {u1}, {u2,u5}, {u3,u4}, {u6} } - więcej szkody, jak go usunę U\IND(A-{Ropa..})={ {u1,u5}, {u2}, {u3,u6}, {u4} )
Macierz odróżnialności Wykorzystując macierz odróżnialności, możemy sformułować rozwiązanie problemu wyznaczania reduktów Macierz M(A) jest macierzą symetryczną. Na głównej przekątnej macierzy znajdują się zbiory puste. W cij-tym elemencie macierzy znajdują się takie atrybuty ze zbioru A, że jeżeli znamy wartości przynajmniej jednego z nich dla obiektów xii yj, to już wystarcza, aby obiekt xiodróżnić od obiektu yj. „odróżnić” oznacza uznać obiekt yjza różnyod obiektu xi. Każdy i-ty wiersz (lub i-takolumna) macierzy rozróżnialności zawiera informację o tym, jakie atrybuty wystarczy znać (znać ich wartości), aby obiekt xi odróżnić od pozostałych obiektów ze zbioru U.
Załóżmy, że mamy następujący system informacyjny Macierz jest trójkątna Przykład
Macierz odróżnialności modulo d Gdy dwa obiekty xi, ,yj mają taką samą wartość atrybutu decyzyjnego, w komórce cijmacierzy odróżnialności modulo d znajduje się zbiór pusty, w przeciwnym przypadku komórki w macierzy Md(DT) są identyczne jak komórki macierzy M(DT). UWAGA: Idea macierzy modulo d jest taka, że w przypadku tworzenia opisów klas decyzyjnych nie zależy nam na rozróżnianiu obiektów należących do tej samej klasy. Chcemy dowiedzieć się, które atrybuty pozwolą nam odróżniać obiekty z różnych klas
d ) Funkcje odróżnialności Informacja o tym, które atrybuty wystarczy znać (ich wartości), aby obiekt xi odróżnić od pozostałych obiektów z innych niż xi klas decyzyjnych, zawarta jest w i-tym wierszu (kolumnie) macierzy odróżnialności. Informację tę można zawrzeć w funkcji Boolowskiej zwanej funkcją odróżnialności modulo d dla obiektu xi. Funkcja odróżnialności dla obiektu u4 (jeśli mamy system informacyjny, nie tablicę decyzyjną, to mówimy po prostu o funkcji odróżnialności) fu4(a,b,c,e)=(ace)(abe) (abce)(ae)
d Funkcje odróżnialności Przykład Funkcja odróżnialności dla systemu (jeśli mamy system informacyjny, nie tablicę decyzyjną, to mówimy po prostu o funkcji odróżnialności dla systemu) fA(a,b,c,e)=fu1fu2 fu3fu4fu5
Jak wyznaczyć redukty relatywne definicje pomocnicze Zauważmy, że funkcje Boolowskie (zmiennych Boolowskich odpowiadających atrybutom warunkowym) odróżnialności modulo d, są w koniunkcyjnej postaci normalnej (CNF). Jeśli x jest zmienną boolowską, to x równa się x, jeśli =1 oraz x, jeśli =0 Dla dowolnej funkcji boolowskiej f zbiór jej implikantów oznaczymy I(f). Implikant gI(f) jest implikantem pierwszym funkcji , jeśli jest implikantem minimalnym ze względu na liczbę czynników (składników koniunkcji)
Przykład: Aby oprzeć się o przytoczoną już macierz odróżnialności, załóżmy, że jest to macierz modulo d uzyskana z jakiejś tablicy decyzyjnej. Jak obliczyć redukty relatywne np. dla obiektu u4 oraz całego systemu ? Wiemy już jak wyglądają funkcje odróżnialności fu4(a,b,c,e)=(ace)(abe) (abce)(ae) fA(a,b,c,e)=fu1fu2 fu3fu4fu5 Przykład UWAGA: Dokonujemy uproszczenia postaci tych funkcji na podstawie własności (xy)x=x Następnie przekształcamy postać CNF na DNF. W efekcie otrzymujemy fu4(a,b,c,e)=ae oraz fDT(a,b,c,e)=(ab)(be), dla obiektu u4 istnieją zatem dwa redukty relatywne {a}, {e}. dla tablicy istnieją dwa redukty relatywne {a,b}, {b,e}.
Istotność atrybutu UWAGA: W praktycznych zastosowaniach stosuje się algorytmy heurystyczne pozwalające na wyznaczenie pewnego podzbioru reduktów (np. jeden najkrótszy redukt z każdego obiektu lub najkrótszy redukt dla tablicy) Często również oblicza się tzw. redukty aproksymacyjne, które lepiej niż redukty pozwalają opisywać rzeczywiste dane Więcej o tym problemie pogadamy na laboratorium
Reguły Formuły języka DL(A) traktowane są jako opisy zbioru obiektów należących do systemu A. O obiekcie xU opisywanym przez formułę mówi się, że spełnia on formułę . Zbiór wszystkich obiektów xU,spełniający formułę , nazywa się zakresem formuływ systemie Ai oznacza się go przez ||A. Formuła F(A) jest prawdziwa w systemie A=(U,A) wtedy i tylko wtedy, gdy ||A=U, w przeciwnym przypadku formuła jest fałszywa UWAGA: Reguła jest prawdziwa jeśli jej zakres jest całym zbiorem U
Reguły decyzyjne Jeżeli reguła decyzyjna jest formułą prawdziwą w tablicy DT,to taką regułę nazywa się regułądokładnąw tablicy DT, w przeciwnym przypadku regułę decyzyjną nazywa się regułąaproksymacyjną w tablicy DT. Zbiór wszystkich reguł decyzyjnych tablicy DT oznacza się RUL(DT). Dla reguły (decyzyjnej już nie będę pisał, ale zawsze to będę miał na myśli) postać , formułę nazywa się poprzednikiem lub częścią warunkową, formułę nazywa się następnikiem.
Przykład: Przykłady formuły (reguły) Przykład formuł poprawnie zbudowanych: (Temperatura, Tak) czyli Temperatura=Tak (Temperatura, Tak) czyli TemperaturaTak (Temperatura, Tak) (Boli gardło, Nie) (d-diagnoza, C-chory) (Temperatura, Nie) (Boli gardło, Nie) (d-diagnoza, C-chory) Przykład formuł zbudowanych niepoprawnie (Temperatura, (Tak,Nie)) czyli mogło by być Temperatura= Tak Nie (Temperatura, Tak) (d-diagnoza, C-chory)
Przykład: Przykłady zakresy formuł Zakresy formuł: Zawsze w odniesieniu do jakiegoś systemu informacyjnego | (Temperatura, Tak) | = { u1, u2, u5} |(Temperatura, Tak) (Boli gardło, Nie) (d-diagnoza, C-chory) | = (U-{u2}) {u1,u2,u5} = U * |(Temperatura, Nie) (Boli gardło, Nie) (d-diagnoza, C-chory)|= (U-{u3,u6}) { u1,u2,u5} = {u1, u2, u4, u5} ** Prawdziwość reguł: Reguła * jest prawdziwa w rozważanej DT (czyli jest dokładna) Reguła ** nie jest prawdziwa w rozważanej DT (czyli nie jest dokładna)
Rozpoznawanie i wspieranie • Można wskazać również zbiory obiektów opisywane przez: • - tylko poprzednik reguły decyzyjnej , • - równocześnie przez poprzednik i następnik reguły decyzyjnej . • Obiekt xU rozpoznaje regułę decyzyjną RUL(DT) wtedy i tylko wtedy, gdy x||DT, w przeciwnym przypadku obiekt x nie rozpoznaje reguły . Zbiór obiektów rozpoznających regułę decyzyjną oznacza się matchDT(). • Obiekt xUwspiera regułę decyzyjną RUL(DT) wtedy i tylko wtedy, gdy x||DTi x||DT, w przeciwnym przypadku obiekt x nie wspiera reguły decyzyjnej . Zbiór obiektów wspierających regułę decyzyjną oznacza się suppDT(). Jeśli matchDT()= suppDT() to reguła jest dokładna, wpp. reguła jest aproksymacyjna
gdzie REDREL(DT, x) jest zbiorem wszystkich reduktów relatywnych dla obiektu x wyznaczonych z tablicy DT Minimalne reguły decyzyjne Jak wyznaczyć reguły decyzyjne ? Na gruncie teorii zbiorów przybliżonych do otrzymania wszystkich minimalnych reguł decyzyjnych w tablicy decyzyjnej wykorzystuje się algorytm wyznaczający wszystkie redukty relatywne dla każdego obiektu należącego do uniwersum U. Reguły ze zbioru MRUL(DT,x)nazywa się regułami minimalnymi, dlatego że część warunkowa każdej reguły zbudowana jest z minimalnej liczby atrybutów koniecznych do rozróżnienia obiektu x od obiektów należących do innych niż x klas decyzyjnych. (to wynika z własność reduktu relatywnego).
Opis klasy decyzyjnej UWAGA: Z definicji opisu wynika że MRUL(DT, X) może być traktowany jako opis wszystkichklas decyzyjnych. Nie jest to jednak opis jedyny. W praktyce szuka się minimalnych (prawie minimalnych) opisów klas decyzyjnych. Minimalnych w sensie liczby reguł wchodzących w skład opisu.
Przykład: Przykład Wszystkie minimalne reguły decyzyjne – jedna reguła z każdego reduktu relatywnego dla każdego obiektu Np. dla obiektu u4 mamy dwa redukty relatywne {Temperatura}, {Ropa...} czyli dwie minimalne reguły decyzyjne wyznaczone z obj. u4 R1: IF Temperatura=Nie THEN d-diagnoza=Z-zdrowy R2: IF Ropa...=Nie THEN d-diagnoza=Z-zdrowy match(R1)={u3,u4,u6} supp(R1)={u3,u4,u6} match(R2)={u3,u4} supp(R2)={u3,u4} Która z nich jest lepsza ??
Algorytm decyzyjny – idea tworzenia Mamy wyznaczony zbiór reguł, chcemy za ich pomocą automatycznie klasyfikować obiekty (a – z tablicy decyzyjnej, którą analizowaliśmy; b – zupełnie nowe obiekty) do odpowiadających im klas decyzyjnych. Oczywiście nie znamy wartości atrybutu decyzyjnego testowanego obiektu Zakładamy, że dysponujemy regułowym opisem każdej klasy decyzyjnej RULX1, RULX2,..,RULXn w tablicy decyzyjnej DT=(U, A{d}) Chcemy zdefiniować funkcję decyzyjną f: W Vd UW W – zbiór wszystkich obiektów opisanych wektorem cech A Kiedy chcemy sklasyfikować obiekty testowe, to reguły, które były dokładne w tablicy treningowej, mogą teraz okazać się regułami aproksymacyjnymi. Fakt ten wynika z niepewności informacji zawartej w tablicy treningowej (zwłaszcza z niepełności informacji)
Na podstawie tablicy treningowej (tej, którą analizowaliśmy) możemy jednak określić stopnie zaufania do każdej reguły z opisów klas decyzyjnych. Stopnie zaufania do reguł
Problemy • Czy istnieją bardziej miarodajne sposoby obliczania stopnia zaufania do reguł ? • Istnieją • Co w przypadku, kiedy żadna z reguł nie rozpozna obiektu testowego ? • Zazwyczaj można obliczyć reguły najbliższe obiektowi testowemu. • Co w przypadku, kiedy stopnie zaufania do klas decyzyjnych są równe ? • Albo zmienić mechanizm klasyfikacji, albo losować, albo uznać, że • obiekt sklasyfikowano źle. • Czy koniecznie trzeba wyznaczać wszystkie minimalne reguły decyzyjne? • Nie, raczej pożądane jest, aby reguł był mało (metody heurystyczne). • Jak mierzyć efektywność algorytmu decyzyjnego? • Dokładnością (lub błędem) klasyfikacji.
Przykład: Inny sposób liczenia reguł Policzmy redukty dla tej tablicy decyzyjnej: {Temperatura} Można wyznaczyć z każdego obiektu jedną regułę: IF Temperatura=Tak THEN d-diagnoza=C-chory IF Temperatura=Nie THEN d-diagnoza=Z-zdrowy W tym przypadku są to również reguły wystarczające do pokrycia zbioru treningowego