Emacs Artificial General Intelligence Algorithmic Game Theory: Prediction Markets (po polsku) Systemy Inteligentnych Agentów
|
Potężnym narzędziem znajdowania i wykorzystywania struktury zależności w danych są tzw. modele graficzne, albo sieci Bayesowskie (w szerokim sensie). Jest to niestety podejście bardzo kosztowne obliczeniowo. Proste i nadające się do ogromnych zbiorów danych podejście to reguły asocjacyjne. Modelują one zależności współwystępowania w danych szczególnej postaci: krotek binarych, czyli (w zwartej reprezentacji) zbiorów. (Zagadnienie tego rodzaju nazywa się “koszykiem rynkowym” — “market basket”.) Klasyczne ujęcie “koszyka rynkowego” musi brać każdy przedmiot jako osobną zmienną binarną; zbiory-krotki w terminologii “koszyka rynkowego” nazywane są tranzakcjami. Uczenie reguł asocjacyjnych działa poprzez najpierw wybranie podzbiorów przedmiotów o dużym nośniku (ang. “support”), tzn. podzbiorów zawartych w wielu tranzakcjach, następnie utworzeniu wśród nich reguł postaci A \Rightarrow B o dużej pewności (ang. “confidence”), tzn. jeśli tranzakcja zawiera podzbiór A, to bardzo często zawiera też podzbiór B, czyli P(B|A)=\frac{P(A \cap B)}{P(A)} jest duże. Bardziej zaawansowane techniki selekcji reguł wykorzystują zależności statystyczne, uwzględniające też “przykłady negatywne” i częstości obu podzbiorów przedmiotów, np. “lift” \frac{P(A \cap B)}{P(A)*P(B)}, “conviction” \frac{P(A)*P(\neg B)}{P(A \cap \neg B)}, test chi-kwadrat. Zapoznaj się z modelami graficznymi na podstawie np.
Sugerowane narzędzia:
W wariancie podstawowym robimy tylko punkty 1 i 3, w całości w R. Punkt 1 wzorujemy na rozdziale 7 artykułu http://www.ci.tuwien.ac.at/Conferences/DSC-2003/Proceedings/BottcherDethlefsen.pdf, ale dobieramy inne dane (np. z innego pakietu do R). Punkt 3 robimy w pakietach “deal” lub “bnlearn” (“bnlearn” może lepiej radzić sobie z dużą ilością zmiennych), oraz w pakiecie “arules”. W części dotyczącej reguł asocjacyjnych można wzorować się na przykładach do pakietu “arules” (rozdział 5 winiety “arules.pdf”), można nawet użyć jednego z przeanalizowanych tam zbiorów danych. Podstawową treścią punktu 3 jest oczywiście porównanie wyników sieci bayesowskiej i reguł asocjacyjnych. Znalezienie sieci bayesowskiej jest kosztowne dla dużej ilości zmiennych, można ograniczyć ilość zmiennych do rozsądnej wybierając zmienne o dużym “supporcie”. Wariant rozszerzony polega na zrobieniu dodatkowo punktu 2 w pakiecie BNT do Matlaba, oraz zrobieniu sieci z punktu 1 w BNT w celu policzenia przykładowych prawdopodobieństw warunkowych, tzn. np. wyznaczyć “wiem X i Y, policz prawdopodobieństwo Z”, jeśli jest wiele zmiennych i Z zależy bezpośrednio np. od A,B,C, A zależy X, etc. Można użyć innego narzędzia niż BNT, ale nie znalazłem takiegoż pod R… |