Recent Changes · Search:

Functional Programming

Type Inference

Toss

  • (incorporates former Speagram)

Emacs

Kurs Pascala

Artificial General Intelligence

AI:

Algorithmic Game Theory: Prediction Markets (po polsku)

Programming in Java

kurs pracy w systemie Linux

Evolutionary Algorithms

Animation

Data Stores and Data Mining

Language Understanding

Systemy Inteligentnych Agentów

Przetwarzanie Języka Naturalnego

Programowanie Funkcjonalne

PmWiki

pmwiki.org

add user

edit SideBar

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.

  1. Wydobądź z danych strukturę sieci Bayesowskiej z węzłami dyskretnymi (kategorialnymi) i ciągłymi (liczbowymi)
  2. Skonstruuj model graficzny z ukrytym węzłem dyskretnym, tzn. ze nieobserwowalną zmienną kategorialną, i wykorzystaj go do przeprowadzenia grupowania danych. (Jeśli zmienne są ciągłe i modelowane węzłami gaussowskimi, podejście to przypomina tzw. mikstury gaussowskie.)
  3. Porównaj zależności odkryte przez indukcję sieci Bayesowskiej z tymi odkrytymi przez reguły asocjacyjne.
    1. Znajdź zbiór danych odpowiadający modelowi koszyka rynkowego.
    2. Zbuduj dla niego sieć bayesowską.
      • Jeśli danych jest dużo, do budowy sieci Bayesowskiej wylosuj odpowiednio mniejszy podzbiór krotek - próbkę; eksperyment przeprowadź na dwóch różnych próbkach żeby sprawdzić zależność struktury od przypadkowości zbioru uczącego.
    3. Odkryj reguły asocjacyjne obowiązujące w danych.
    4. Opisz, jak rozlokowane względem siebie w sieci Bayesowskiej są przedmioty, które zostały wybrane do reguł asocjacyjnych.

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…

Edit · History · Print · Recent Changes · Search · Links
Page last modified on June 20, 2008, at 01:48 PM