Algorytm GSP - GSP algorithm
Algorytm GSP (ang. Generalized Sequential Pattern Algorytm) to algorytm używany do eksploracji sekwencji . Algorytmy rozwiązywania problemów eksploracji sekwencji są w większości oparte na algorytmie apriori (poziomowym). Jednym ze sposobów wykorzystania paradygmatu opartego na poziomach jest odkrycie wszystkich częstych elementów w sposób uwzględniający poziomy. Oznacza to po prostu zliczanie wystąpień wszystkich pojedynczych elementów w bazie danych. Następnie transakcje są filtrowane poprzez usunięcie nieczęstych pozycji. Na końcu tego kroku każda transakcja składa się tylko z częstych elementów, które pierwotnie zawierała. Ta zmodyfikowana baza danych staje się danymi wejściowymi do algorytmu GSP. Ten proces wymaga jednego przejścia przez całą bazę danych .
Algorytm GSP wykonuje wiele przejść do bazy danych. W pierwszym przebiegu liczone są wszystkie pojedyncze pozycje (1-sekwencje). Z częstych pozycji tworzony jest zestaw kandydujących 2-sekwencji i wykonywana jest kolejna passa w celu określenia ich częstotliwości. Częste 2-sekwencje są wykorzystywane do generowania kandydujących 3-sekwencji i ten proces jest powtarzany, aż nie zostaną znalezione częstsze sekwencje. Algorytm składa się z dwóch głównych kroków.
- Pokolenie kandydatów. Mając zbiór częstych (k-1)-częstych sekwencji F k-1 , kandydaci do następnego przebiegu są generowane przez połączenie F(k-1) ze sobą. Faza przycinania eliminuje każdą sekwencję, przynajmniej jedna z podsekwencji nie występuje często.
- Liczenie wsparcia. Zwykle do wydajnego zliczania wsparcia stosuje się wyszukiwanie oparte na drzewie haszującym . Wreszcie niemaksymalnie częste sekwencje są usuwane.
Algorytm
F1 = the set of frequent 1-sequence k=2, do while Fk-1 != Null; Generate candidate sets Ck (set of candidate k-sequences); For all input sequences s in the database D do Increment count of all a in Ck if s supports a End do Fk = {a ∈ Ck such that its frequency exceeds the threshold} k = k+1; End do Result = Set of all frequent sequences is the union of all Fk's
Powyższy algorytm wygląda jak algorytm Apriori . Jedną z głównych różnic jest jednak generowanie zestawów kandydujących. Załóżmy, że:
- A → B i A → C
to dwie częste sekwencje 2 . Pozycje biorące udział w tych sekwencjach to odpowiednio (A, B) i (A, C). Pokolenie kandydatów w zwykłym stylu Apriori dałoby (A, B, C) jako zestaw 3-elementowy, ale w obecnym kontekście otrzymujemy następujące 3-sekwencje w wyniku połączenia powyższych 2-sekwencji
- A → B → C, A → C → B i A → BC
Uwzględnia to faza generowanie kandydatów. Algorytm GSP wykrywa częste sekwencje, pozwalając na ograniczenia czasowe, takie jak maksymalna przerwa i minimalna przerwa między elementami sekwencji. Co więcej, wspiera koncepcję przesuwającego się okna, tj. przedziału czasu, w którym przedmioty są obserwowane jako należące do tego samego zdarzenia, nawet jeśli pochodzą z różnych zdarzeń.
Zobacz też
Bibliografia
- R. Srikant i R. Agrawal. 1996. Górnictwo wzorców sekwencyjnych: uogólnienia i ulepszenia wydajności . W materiałach z V Międzynarodowej Konferencji Rozszerzanie Technologii Baz Danych: Postępy w Technologii Baz Danych (EDBT '96), Peter MG Apers, Mokrane Bouzeghoub i Georges Gardarin (red.). Springer-Verlag, Londyn, Wielka Brytania, Wielka Brytania, 3-17.
- Pujari, Arun K. (2001). Techniki eksploracji danych . Prasa uniwersytecka. Numer ISBN 81-7371-380-4.(s. 256-260) , s. 256, w Książkach Google
- Zaki, MJ Uczenie maszynowe (2001) 42: 31 .
Zewnętrzne linki
- SPMF zawiera implementację algorytmu GSP o otwartym kodzie źródłowym, a także PrefixSpan , SPADE, SPAM, ClaSP, CloSpan i BIDE.