Inżynieria Wiedzy i Systemy Ekspertowe Reguły asocjacyjne Dr inż. Michał Bereta p. 144 / 10, Instytut Modelowania Komputerowego mbereta@pk.edu.pl beretam@torus.uck.pk.edu.pl www.michalbereta.pl
Reguły asocjacyjne związane są z analizą podobieostw (ang. affinity analysis) i ich tworzenie (odkrywanie) jest badaniem atrybutów lub cech, które są powiązane ze sobą. Inna nazwa: analiza koszyka sklepowego (ang. market basket analysis). Odkryte reguły powinny przedstawiad nowe, nieznane wcześniej ilościowe relacje między dwoma lub więcej atrybutami.
Reguła asocjacyjna ma postad: JEŚLI POPRZEDNIK, TO NASTĘPNIK + Miara wsparcia + Miara dokładności
Przykład: W danym sklepie odkryto, że wśród 1000 klientów poprzedniego wieczoru, 200 kupiło pieluchy, a z tych 200, którzy kupili pieluch, 50 kupiło piwo. Reguła asocjacyjna wynikająca z tej obserwacji: Jeśli kupuje pieluchy, to kupuje piwo Wsparcie tej reguły: 200/1000 = 20% Ufność : 50 / 200 = 25%
Przykłady sytuacji, w których reguły asocjacyjne (RA) mogą byd przydatne: Badanie skuteczności akcji promocyjnych Badanie stosunku liczby dzieci, którym rodzice czytają, do liczby tych, które same później chętnie czytają Znajdowanie rzeczy w sklepie, które są często kupowane razem i tych, które rzadko są kupowane razem Określenie relacji między przyjmowanymi lekami, ich dawkami i efektami ubocznymi
Są to reguły innego typu niż reguły generowane przez algorytmy AQ oraz CN2. W tym przypadku nie mamy etykiety klas dla każdego przypadku Dysponujemy często ogromną bazą danych o bardzo dużej liczbie atrybutów (np. ile produktów sprzedawanych jest w typowym hipermarkecie? Ile transakcji dziennie) Przekleostwo wymiarowości: liczba możliwych reguł asocjacyjnych rośnie wykładniczo wraz ze wzrostem liczby atrybutów. Przykładowo: dla k atrybutów binarnych, uwzględniając jedynie pozytywne przypadki (np. kupił piwo = tak), liczba możliwych reguł wynosi k * 2 k-1 Dla k=100 : około 6.4 * 10 31 możliwych reguł
Algorytm A priori W celu redukcji stopnia trudności problemu stosuje się algorytm A priori
Przykład stragan z warzywami I zbiór kupowanych produktów I = {szparagi, fasola, brokuły, kukurydza, papryka, kabaczki, pomidory} Zakładamy, że interesuje nas tylko, które produkty są kupowane razem, a nie w jakiej ilości
Transakcja Kupione artykuły Przykładowe transakcje 1 Brokuły, papryka, kukurydza 2 Szparagi, kabaczki, kukurydza 3 Kukurydza, pomidory, fasola, kabaczki 4 Papryka, kukurydza, pomidory, fasola 5 Fasola, szparagi, brokuły 6 Kabaczki, szparagi, fasola, pomidory 7 Pomidory, kukurydza 8 Brokuły, pomidory, papryka 9 Kabaczki, szparagi, fasola 10 Fasola, kukurydza 11 Papryka, brokuły, fasola, kabaczki 12 Szparagi, fasola, kabaczki 13 Kabaczki, kukurydza, szparagi, fasola 14 Kukurydza, papryka, pomidory, fasola, brokuły
Dwie formy prezentowania tego typu danych Transakcyjny format danych posiada dwa pola Pole identyfikujące transakcję (ID) Pole zawartości każdy rekord zawiera jedynie pojedynczy artykuł Macierzowy format danych Każdy rekord reprezentuje osobną transakcję, z tyloma binarnymi polami, ile jest artykułów
Transakcyjny format danych Transakcja Kupione artykuły 1 Brokuły 1 Papryka 1 Kukurydza 2 Szparagi 2 Kabaczki 2 Kukurydza 3 Kukurydza 3 Pomidory
Macierzowy format danych Transakcja Szparagi Fasola Brokuły Kukurydza Papryka Kabaczki Pomidory 1 0 0 1 1 1 0 0 2 1 0 0 1 0 1 0
Załóżmy, że mamy zbiór artykułów A oraz zbiór artykułów B. RA to reguła typu: Jeśli A, to B, gdzie A i B to podzbiory właściwe zbioru I są wzajemnie rozłączne (by nie dostad reguł trywialnych typu: Jeśli papryka i fasola, to papryka)
Wsparcie (ang. support) s dla danej RA: A B to procent transakcji w D (D zbiór wszystkich transakcji), które zawierają A i B. wsparcie P( A B) liczba _ transakcji _ zawierajacych _ A_ i liczba _ wszystkich _ transakcji _ B
Ufnośd(ang. confidence) c dla danej RA: A B to miara pewności reguły określona jako procent transakcji zawierających A, które również zawierają B. P( A B) ufnosc P( B A) P( A) liczba _ transakcji _ zawierajacych _ A_ i _ liczba _ transakcji _ zawierajacych _ A B
Preferowane są reguły o dużych wartościach zarówno wsparcia jak i ufności Ale: Analityk wykrywający oszustwa lub zagrożenie antyterrorystyczne może byd zainteresowany regułami o wsparciu 1% (ponieważ jest stosunkowo mało transakcji oszukaoczych)
Zbiór zdarzeo to zbiór zawarty w zbiorze I. Przykład: {fasola, kabaczki} 2-elementowy zbiór zdarzeo,brokuły, papryka, kabaczki- 3-elementowy zbiór zdarzeo
Zbiór zdarzeo to zbiór zawarty w zbiorze I. Przykład: {fasola, kabaczki} dwu-elementowy zbiór zdarzeo,brokuły, papryka, kabaczki- 3-elementowy zbiór zdarzeo Częstośd zbioru zdarzeo liczba transakcji zawierająca dany zbiór zdarzeo
Zbiór zdarzeo to zbiór zawarty w zbiorze I. Przykład: {fasola, kabaczki} dwu-elementowy zbiór zdarzeo,brokuły, papryka, kabaczki- 3-elementowy zbiór zdarzeo Częstośd zbioru zdarzeo liczba transakcji zawierająca dany zbiór zdarzeo Zbiór częsty zbiór zdarzeo występujący przynajmniej pewną minimalną liczbę razy, czyli z częstością φ Przykładowo, przyjmijmy w naszym przykładzie φ 4
Zbiór zdarzeo to zbiór zawarty w zbiorze I. Przykład: {fasola, kabaczki} dwu-elementowy zbiór zdarzeo,brokuły, papryka, kabaczki- 3-elementowy zbiór zdarzeo Częstośd zbioru zdarzeo liczba transakcji zawierająca dany zbiór zdarzeo Zbiór częsty zbiór zdarzeo występujący przynajmniej pewną minimalną liczbę razy, czyli z częstością φ Przykładowo, przyjmijmy w naszym przykładzie φ 4 F k - zbiór częstych zbiorów zdarzeo o k elementach
Odkrywanie RA składa się z dwóch kroków: Znajdź wszystkie częste zbiory zdarzeo tzn. zbiory zdarzeo o częstości φ Na podstawie częstych zdarzeo utwórz reguły asocjacyjne, które spełniają warunek minimalnego wsparcia i poziomu ufności.
Algorytm A priori Korzysta z właściwości a priori w celu zmniejszenia przestrzeni poszukiwao. Właściwośd a priori Jeżeli dany zbiór zdarzeo Z nie jest częsty to dodanie dowolnego artykułu A do zbioru Z nie spowoduje, że zbiór ten będzie zbiorem częstym. Ogólnie, żaden nadzbiór Z, (tzn. zbiór zawierający Z) nie będzie zbiorem częstym.
Algorytm A priori Tworzenie częstych zbiorów zdarzeo Najpierw znajdujemy F 1, czyli jednoelementowe zbiory częste, które są w naszym przykładzie poszczególnymi warzywami W naszym przykładzie wszystkie warzywa są częste, zatem F 1 =,szparagi, fasola, brokuły, kukurydza, papryka, kabaczki, pomidory}
Algorytm A priori Tworzenie częstych zbiorów zdarzeo Następnie tworzymy częste zbiory dwuelementowe Ogólnie, aby stworzyd F k, algorytm najpierw tworzy zbiór kandydatów C k, poprzez połączenie zbiorów z F k-1. przycina C k za pomocą właściwości a priori
Algorytm A priori Tworzenie częstych zbiorów zdarzeo Przy założeniu φ 4 otrzymujemy F 2 = { {szparagi, fasola}, {szparagi, kabaczki}, {fasola, kukurydza}, {fasola, kabaczki}, {fasola, pomidory},,brokuły, papryka-, {kukurydza, pomidory} }
Algorytm A priori Tworzenie częstych zbiorów zdarzeo Aby utworzyd C 3, używamy zbioru F 2. Łączymy ze sobą zbiory z F 2, pod warunkiem, że mają one wspólnych pierwszych k-1 przodków Np.,szparagi, fasola- łączymy z,szparagi, kabaczki- C 3 ={ {szparagi, fasola, kabaczki}, {fasola, kukurydza, kabaczki}, {fasola, kukurydza, pomidory}, {fasola, kabaczki, pomidory} } C 3 jest przycinany za pomocą własności a priori. Dla każdego zbioru s z C 3 są tworzone i sprawdzane podzbiory o rozmiarze k-1 Jeżeli dowolny z tych podzbiorów nie jest częsty, wtedy s nie może byd częste i jest usuwane Nadal musimy sprawdzid licznośd pozostałych kandydatów, aby utworzyd F 3
Algorytm A priori Tworzenie częstych zbiorów zdarzeo Ostatecznie F 3 = { {szparagi, fasola, kabaczki} } Nie ma więcej zbiorów częstych.
Algorytm A priori Tworzenie reguł asocjacyjnych Dla każdego częstego zbioru s: Dla każdego ss, czyli niepustego podzbioru s: Rozważ regułę R: JEŚLI ss TO (s ss) Zwród regułę R, jeśli spełnia ona minimalne wymagania ufności.
Algorytm A priori Tworzenie reguł asocjacyjnych Np. dla s={szparagi, fasola, kabaczki} z F 3 mamy właściwe podzbiory: {szparagi} {fasola} {kabaczki} {szparagi, fasola} {szparagi, kabaczki} {fasola, kabaczki}
Algorytm A priori Tworzenie reguł asocjacyjnych JEŚLI kupuje szparagi i fasolę, TO kupuje kabaczki Wsparcie = 4 / 14 = 28.6% Ufnośd = 4 / 5 = 80% Mnożenie wsparcia i ufności pozwala ustawid reguły pod względem występowania i dokładności.
Ostatecznie, przyjmując minimalną ufnośd 80% JEŚLI poprzednik, TO następnik Wsparcie Ufnośd Wsparcie x Ufnośd JEŚLI kabaczki, TO fasola 6 / 14 = 42.9% 6 / 7 = 85.7% 0.3677 JEŚLI szparagi, TO fasola 5 / 14 = 35.7% 5 / 6 = 83.3% 0.2974 JEŚLI szparagi, TO kabaczki 5 / 14 = 35.7% 5 / 6 = 83.3% 0.2974 JEŚLI brokuły, TO papryka 4 / 14 = 28.6% 4 / 5 = 80% 0.2288 JEŚLI papryka, TO brokuły 4 / 14 = 28.6% 4 / 5 = 80% 0.2288 JEŚLI szparagi i fasola, TO kabaczki 4 / 14 = 28.6% 4 / 5 = 80% 0.2288 JEŚLI szparagi i kabaczki, TO fasola 4 / 14 = 28.6% 4 / 5 = 80% 0.2288
Jak wykorzystad tę wiedzę? Czy zmienid rozmieszczenie produktów? Czy obsługa powinna podpowiadad klientom, by nie zapomnieli o A jeśli kupili B?
Reguły asocjacyjne nie są ograniczone jedynie do danych typu binarnego Dla danych jakościowych algorytm zlicza występowanie danej wartości danego atrybutu (np. kolor włosów = czarny)
Dla zmiennych ilościowych Zmienne ilościowe można poddad dyskretyzacji Np. przedział *0, 100+ podzielid na jakościowe wartości mały, średni, duży Może to prowadzid do utraty informacji (różne wartości są traktowane np. jako małe, mimo, że różnią się od siebie) Można zastosowad uogólnioną indukcję reguł
Uogólniona indukcja reguł (ang. generalized rule induction, GRI) Może przyjmowad na wejściu zarówno zmienne ilościowe jak i jakościowe Nadal wymaga zmiennych jakościowych na wyjściu Zamiast używad częstych zbiorów zdarzeo stosowane jest podejście teorii informacji (ang. information-theoretic approach)
GRI stosuje J-miarę p(x) prawdopodobieostwo lub ufnośd obserwowanej wartości x. Jest to miara zakresu poprzednika, jak rozpowszechniona jest ta wartośd atrybutu poprzednika. Można obliczyd p(x) za pomocą rozkładu częstości dla zmiennych z poprzednika.
GRI stosuje J-miarę p(y) prawdopodobieostwo lub ufnośd wartości y, miara występowania następnika. Wartośd p(y) można obliczyd za pomocą rozkładu częstości następnika.
GRI stosuje J-miarę p(y x) prawdopodobieostwo warunkowe lub późniejsza ufnośd zmiennej y dla danego x, które następuje. Jest to miara prawdopodobieostwa zaobserwowania wartości y pod warunkiem, że występuje x. W terminologii reguł asocjacyjnych, p(y x) jest mierzone bezpośrednio jako ufnośd reguły.
GRI stosuje J-miarę Dla reguł z więcej niż jednym poprzednikiem, p(x) jest obliczane jako prawdopodobieostwo koniunkcji wartości zmiennych w poprzedniku.
GRI Użytkownik określa pożądany poziom ufności i wsparcia Określa również ile reguł chce wygenerowad Algorytm GRI generuje najpierw reguły z pojedynczymi poprzednikami i oblicza wartośd J Jeżeli nowa reguła ma większą wartośd niż minimum w tabeli reguł i mamy już maksymalną liczbę reguł, wtedy reguła z minimalną wartością J jest zastępowana przez nową regułę Następnie rozważane są reguły z większą liczba poprzedników
Miara J ma ciekawe własności: Dla dużych wartości p(x) rośnie wartośd J, zatem GRI faworyzuje reguły o częstych poprzednikach (lepsze pokrycie w zbiorze danych) Miara J osiąga większe wartości dla bardzo skrajnych (bliskich 0 lub 1) wartości p(y) oraz p(x y). Zatem GRI ma tendencję do faworyzowania reguł, dla których prawdopodobieostwo następnika, p(y), jest bardzo skrajne lub ufnośd reguły jest bardziej skrajna. Zatem miara J faworyzuje reguły z bardzo dużą lub bardzo małą ufnością
Miara J faworyzuje reguły z bardzo dużą lub bardzo małą ufnością Dlaczego możemy byd zainteresowani regułami o bardzo małej ufności? Przykładowo, mamy regułę: Jeśli kupuje piwo, to kupuje lakier do paznokci Ufnośd: 0.01% Analityk może wtedy rozważad przeciwną formę: Jeśli kupuje piwo, to NIE kupuje lakieru do paznokci Ufnośd: 99.99% Takie negatywne reguły są często interesujące (Może warto przenieśd lakier do paznokci ze stoiska z piwem gdzie indziej? )
Kiedy nie stosowad reguł asocjacyjnych? RA mogą byd czasami zwodnicze Przykład: Analityk chce wspierad kampanię wymierzoną w mężczyzn. Na podstawie bazy danych otrzymuje regułę: Jeśli rodzaj_pracy = praca_w_budżetówce, to płed = mężczyzna Ufnośd: 0.63 Może się wydawad, że wysyłając ofertę na adresy tylko placówek budżetówki, zwiększa szansę, że trafi ona do mężczyzn.
Jednak jeśli procent mężczyzn w bazie jest większy, np. 0.69, to stosowanie reguły w porównaniu do stosowania całkiem losowego wyboru, w gruncie rzeczy obniża prawdopodobieostwo trafienia z ofertą do mężczyzny. Do oceny reguł można zatem posłużyd się nie bezpośrednio wartością ufności, lecz raczej miarą wzrostu ufności (np. różnicą ufności, ang.confidence difference) i faworyzowad reguły zapewniające największy wzrost ufności.
Alternatywnie, można używad ilorazu ufności (ang. confidence ratio) iloraz _ ufnosci 1 min p( y x) p( y), p( y) p( y x)
Czy tworzenie RA to uczenie nadzorowane (jak np. algorytm AQ, CN2) czy nienadzorowane (jak metody grupowania, np. k-średnich)?
Tworzenie RA może byd użyte jako Uczenie nienadzorowane gdy nie wskazujemy z góry zmiennej celu, która ma wystąpid w następniku generowanych reguł (np. kogoś interesuje jakie produkty są kupowane razem ) Uczenie nadzorowane np. gdy ktoś jest zainteresowany odkryciem reguł, w których następnik jest ustalony, np. na kogo kto głosował, biorąc pod uwagę dowolne dostępne dane o tej osobie, jak wiek, majątek, wykształcenie, itd.)
Model vs Wzorzec Model to globalny opis lub wytłumaczenie całych danych, pozwalający uogólnid dostępne dane na całą populację. Model obejmuje i tłumaczy całośd danych. Wzorzec ma charakter lokalny, tzn. odnosi się jedynie do części dostępnych danych.
Model vs Wzorzec Reguły asocjacyjne dobrze nadają się do odkrywania lokalnych wzorców w danych.
KONIEC