Nowy generator grafów dwudzielnych



Podobne dokumenty
Grafy Alberta-Barabasiego

Spacery losowe generowanie realizacji procesu losowego

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

TEORIA GRAFÓW I SIECI

Wykładnicze grafy przypadkowe: teoria i przykłady zastosowań do analizy rzeczywistych sieci złożonych

Niezawodność diagnostyka systemów laboratorium. Ćwiczenie 2

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa. Diagnostyka i niezawodność robotów

Funkcje charakterystyczne zmiennych losowych, linie regresji 1-go i 2-go rodzaju

Biostatystyka, # 3 /Weterynaria I/

POISSONOWSKA APROKSYMACJA W SYSTEMACH NIEZAWODNOŚCIOWYCH

RACHUNEK PRAWDOPODOBIEŃSTWA WYKŁAD 3.

Sieci Mobilne i Bezprzewodowe laboratorium 2 Modelowanie zdarzeń dyskretnych

Prawdopodobieństwo i statystyka

Modelowanie sieci złożonych

Całki nieoznaczone. 1 Własności. 2 Wzory podstawowe. Adam Gregosiewicz 27 maja a) Jeżeli F (x) = f(x), to f(x)dx = F (x) + C,

Politechnika Wrocławska, Wydział Informatyki i Zarządzania. Modelowanie

Analiza technicznych własności systemów rekomendujących za pomocą grafów losowych

III. ZMIENNE LOSOWE JEDNOWYMIAROWE

Generowanie ciągów pseudolosowych o zadanych rozkładach przykładowy raport

IX. MECHANIKA (FIZYKA) KWANTOWA

Algorytm Grovera. Kwantowe przeszukiwanie zbiorów. Robert Nowotniak

Metody iteracyjne rozwiązywania układów równań liniowych (5.3) Normy wektorów i macierzy (5.3.1) Niech. x i. i =1

Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova

POLITECHNIKA ŚLĄSKA WYDZIAŁ GÓRNICTWA I GEOLOGII. Roman Kaula

Wykład z Technologii Informacyjnych. Piotr Mika

Matematyczne Podstawy Informatyki

Rozdział 2: Metoda największej wiarygodności i nieliniowa metoda najmniejszych kwadratów

Prognozowanie i Symulacje. Wykład I. Matematyczne metody prognozowania

Algorytmy mrówkowe w dynamicznych problemach transportowych

Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki

Rozwiązywanie układów równań liniowych metody dokładne Materiały pomocnicze do ćwiczeń z metod numerycznych

Wstęp do Rachunku Prawdopodobieństwa, IIr. WMS

Wykład 14. Testowanie hipotez statystycznych - test zgodności chi-kwadrat. Generowanie liczb losowych.

Proces Poissona. Proces {N(t), t 0} nazywamy procesem zliczającym jeśli N(t) oznacza całkowitą liczbę badanych zdarzeń zaobserwowanych do chwili t.

4. ZNACZENIE ROZKŁADU WYKŁADNICZEGO

Modelowanie zależności. Matematyczne podstawy teorii ryzyka i ich zastosowanie R. Łochowski

Równania różniczkowe. Notatki z wykładu.

PRZYKŁAD ZASTOSOWANIA DOKŁADNEGO NIEPARAMETRYCZNEGO PRZEDZIAŁU UFNOŚCI DLA VaR. Wojciech Zieliński

Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa

Weryfikacja hipotez statystycznych, parametryczne testy istotności w populacji

Lista zadania nr 7 Metody probabilistyczne i statystyka studia I stopnia informatyka (rok 2) Wydziału Ekonomiczno-Informatycznego Filia UwB w Wilnie

Kierunek: Matematyka Poziom studiów: Studia II stopnia Forma i tryb studiów: Stacjonarne

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

Środowisko R wprowadzenie c.d. Wykład R2; Struktury danych w R c.d.

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa. Diagnostyka i niezawodność robotów

ALHE. prof. Jarosław Arabas semestr 15Z

Załóżmy, że obserwujemy nie jedną lecz dwie cechy, które oznaczymy symbolami X i Y. Wyniki obserwacji obu cech w i-tym obiekcie oznaczymy parą liczb

XI Konferencja Metody Ilościowe w Badaniach Ekonomicznych

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

Politechnika Wrocławska, Katedra Inżynierii Biomedycznej Systemy Pomiarowo-Diagnostyczne, laboratorium

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

Metody systemowe i decyzyjne w informatyce

Generowanie liczb o zadanym rozkładzie. ln(1 F (y) λ

Matematyka ubezpieczeń majątkowych r.

WYKŁAD 2. Zdarzenia losowe i prawdopodobieństwo Zmienna losowa i jej rozkłady

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Kwantyle. Kwantyl rzędu p rozkładu prawdopodobieństwa to taka liczba x p. , że. Możemy go obliczyć z dystrybuanty: P(X x p.

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

Przykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych.

S O M SELF-ORGANIZING MAPS. Przemysław Szczepańczyk Łukasz Myszor

KURS MATEMATYKA DYSKRETNA

Statystyki teoriografowe grafów funkcjonalnych w sieciach neuronowych

Porównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki

Próbny egzamin z matematyki dla uczniów klas II LO i III Technikum. w roku szkolnym 2012/2013

Kierunek: Matematyka Poziom studiów: Studia II stopnia Forma i tryb studiów: Stacjonarne

AiSD zadanie trzecie

Programowanie celowe #1

Ważne rozkłady i twierdzenia

Zadanie Tworzenie próbki z rozkładu logarytmiczno normalnego LN(5, 2) Plot Probability Distributions

Ekonometryczne modele nieliniowe

Wykład Ćwiczeni a 15 30

Warsztaty metod fizyki teoretycznej

Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP

AKADEMIA GÓRNICZO-HUTNICZA Wydział Matematyki Stosowanej ROZKŁAD NORMALNY ROZKŁAD GAUSSA

Mikro- i makro-ewolucja sieci społecznych

Tydzień nr 9-10 (16 maja - 29 maja), Równania różniczkowe, wartości własne, funkcja wykładnicza od operatora - Matematyka II 2010/2011L

przy warunkach początkowych: 0 = 0, 0 = 0

18. Obliczyć. 9. Obliczyć iloczyn macierzy i. 10. Transponować macierz. 11. Transponować macierz. A następnie podać wymiar powstałej macierzy.

UPORZĄDKOWANIE STOCHASTYCZNE ESTYMATORÓW ŚREDNIEGO CZASU ŻYCIA. Piotr Nowak Uniwersytet Wrocławski

Ciągi liczbowe. Zbigniew Koza. Wydział Fizyki i Astronomii

Rachunek prawdopodobieństwa i statystyka

Modelowanie komputerowe

Prawdopodobieństwo i statystyka

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)

W celu obliczenia charakterystyki częstotliwościowej zastosujemy wzór 1. charakterystyka amplitudowa 0,

STATYSTYKA MATEMATYCZNA. rachunek prawdopodobieństwa

Matematyka dyskretna

Analiza składowych głównych. Wprowadzenie

Wykład 8. Drzewo rozpinające (minimum spanning tree)

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych

Czy istnieje zamknięta droga spaceru przechodząca przez wszystkie mosty w Królewcu dokładnie jeden raz?

Algorytmy mrówkowe. H. Bednarz. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne

Metoda określania pozycji wodnicy statków na podstawie pomiarów odległości statku od głowic laserowych

7. Estymacja parametrów w modelu normalnym( ) Pojęcie losowej próby prostej

Zadania domowe. Ćwiczenie 2. Rysowanie obiektów 2-D przy pomocy tworów pierwotnych biblioteki graficznej OpenGL

Obszary strukturalne i funkcyjne mózgu

W rachunku prawdopodobieństwa wyróżniamy dwie zasadnicze grupy rozkładów zmiennych losowych:

INSTRUKCJA DO ĆWICZENIA NR 7

Bładzenie przypadkowe i lokalizacja

Drgania poprzeczne belki numeryczna analiza modalna za pomocą Metody Elementów Skończonych dr inż. Piotr Lichota mgr inż.

Transkrypt:

Nowy generator grafów dwudzielnych w analizie systemów rekomendujących Szymon Chojnacki Instytut Podstaw Informatyki Polskiej Akademii Nauk 08 marca 2011 roku

Plan prezentacji 1 Wprowadzenie 2 Dane rzeczywiste 3 Generator grafów dwudzielnych 4 Własności generatora 5 Podsumowanie

Plan prezentacji 1 Wprowadzenie Systemy rekomendujące Własności techniczne Asymptotyczna analiza złożoności 2 Dane rzeczywiste 3 Generator grafów dwudzielnych 4 Własności generatora 5 Podsumowanie

Systemy rekomendujące Systemy rekomendujące operują na danych o strukturze grafu dwudzielnego. Wierzchołkami obu modalności są użytkownicy i przedmioty, a krawędzie reprezentują historyczne preferencje użytkowników względem przedmiotów.

Własności techniczne W środowisku produkcyjnym duże znaczenie ma możliwość szybkiej budowy modelu oraz krótki czas tworzenia rekomendacji w ramach dostępnej pamięci operacyjnej. czas budowy modelu zapotrzebowanie na pamięć czas tworzenia rekomendacji czas odświeżenia Powyższy mail został wysłany na listę dyskusyjną użytkowników systemu Mahout i obrazuje problemy techniczne typowe dla takich systemów.

Asymptotyczna analiza złożoności Analiza asymptotyczna oparta jest na zbyt silnych założeniach: wektory reprezentowane są jako struktury gęste środowisko jest statyczne i można większość obliczeń wykonać z wyprzedzeniem graf jest lokalnie drzewem Konstrukcja Newmana u - the first moment of the user degree distribution u 2 - the second moment of the user degree distribution u v2 1 v an average number of the second neighbors of a random user Users Items v - the first moment of the item degree distribution v 2 - the second moment of the item degree distribution u v2 1 u 2 1 v u an average number of the third neighbors of a random user u an average number of the first neighbors of a random user Istnieje potrzeba generowania danych sztucznych o własnościach zbliżonych do danych spotykanych w rzeczywistości.

Plan prezentacji 1 Wprowadzenie 2 Dane rzeczywiste Rozkład stopni wierzchołków Tranzytywność Wielkość sąsiedztwa 3 Generator grafów dwudzielnych 4 Własności generatora 5 Podsumowanie

FREQUENCY Fraction of nodes Rozkład stopni wierzchołków W danych rzeczywistych obserwowane są rozkłady skośne z różnym nasileniem własności szerokiego ogona. Charakterystyczną cechą rozkładu potęgowego jest układanie się punktów w linię prostą na wykresie (log-log). TAG - RESOURCE graph (BibSonomy) 100 000 10 000 1 000 tag resource Poisson Power-law Exponential 100 10 1 1 10 100 1 000 10 000 100 000 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 DEGREE Node degree Grafy losowe są w stanie generować szerokie spektrum rozkładów.

Klasyczny wskaźnik gronowania Natężenie tranzytywności może być mierzone przy pomocy lokalnego wskaźnika gronowania LCC. LCC(i) = (a, b) E : (a, i) E (b, i) E, k i (k i 1)/2 gdzie k i jest stopniem wierzchołka i. i WG i = 2 6 = 0.33 Wartość LCC dla grafów dwudzielnych jest zawsze równa 0.

Dwudzielny wskaźnik gronowania Wskaźnik gronowania dla grafów dwudzielnych BLCC: N 2 (u) BLCC(u) = 1 P w N 1 (u)(kw 1) gdzie N s (u) jest zbiorem sąsiadów oddalonych od u o s. number of linked neighbors = c mean number of the 1 st neighbors = k mean number of the 2 nd neighbors k = k 2 1 k mean degree of a neighboring node = k2 k Można pokazać że występuje zależność między LCC i BLCC.

Wielkość sąsiedztwa W danych rzeczywistych sąsiedztwo jest mniejsze niż wynika z formuły Newmana. Zrzutowane grafy Graf dwudzielny Wartość rzeczywista Wartość teoretyczna Losowa projekcja CiteULike 7 196 74 190 124 773 88 567 (6%) BibSonomy 253 366 1 810 132 23 797 094 2 682 723 (6%) Movie - IMDB 1 470 404 30 076 166 81 125 160 30 836 072 (1%) Tabela: Ilość krawędzi.

Plan prezentacji 1 Wprowadzenie 2 Dane rzeczywiste 3 Generator grafów dwudzielnych Porównanie z dotychczasowymi modelami Model podstawowy Model pełny 4 Własności generatora 5 Podsumowanie

Porównanie z dotychczasowymi modelami Obecnie istniejące generatory grafów dwudzielnych potrafią wygenerować grafy o ograniczonym zakresie pożądanych cech. Wynika to z faktu, że modelują one sieci afiliacyjne, w których nie występują koszty nawiązania nowego połączenia. Również przyjmuje się, że jedyny interesujący rozkład to rozkład potęgowy. Przykładowe modele: Jean-Loup Guillaume and Matthieu Latapy. Bipartite structure of all complex networks. Inf. Process. Lett., 90(5):215 221, 2004. Silvio Lattanzi and D. Sivakumar. Affiliation networks. In STOC 09: Proceedings of the 41st annual ACM symposium on Theory of computing, pages 427 434. ACM, 2009. Elena Zheleva, Hossam Sharara, and Lise Getoor. Co-evolution of social and affiliation networks. In KDD, pages 1007 1016. ACM, 2009. Etienne Birmele. A scale-free graph model based on bipartite graphs. Discrete Applied Mathematics, 157(10):2267 2284, 2009.

Parametry m liczba początkowych luźnych krawędzi T liczba iteracji δ prawdopodobieństwo, że nowy wierzchołek to użytkownik 1 δ prawdopodobieństwo, że nowy wierzchołek to przedmiot d u ilość krawędzi tworzonych przez nowego użytkownika d v ilość krawędzi tworzonych przez nowy przedmiot prawdopodobieństwo, że przedmiot jest wybierany α jako zakończenie krawędzi zgodnie z mechanizmem preferencyjnym prawdopodobieństwo, że przedmiot jest wybierany 1 α jako zakończenie krawędzi zgodnie z mechanizmem jednostajnym prawdopodobieństwo, że użytkownik jest wybierany α jako zakończenie krawędzi zgodnie z mechanizmem preferencyjnym prawdopodobieństwo, że użytkownik jest wybierany 1 α jako zakończenie krawędzi zgodnie z mechanizmem jednostajnym część krawędzi dołączanych w sposób preferencyjny b które zostały utworzone przy pomocy mechanizmu odbijania Tabela: Parametry wykorzystane w generatorze.

Procedura Initialize (m=2) Draw modality Choose each edge s attachment type Add a user Random attachment Users Items Add an item Preferential attachment Rysunek: Kolejne kroki generatora grafów dwudzielnych.

Applet java http://www.ipipan.eu/~sch/

Model pełny 1) A new user is created 2) An attachment type is drawn for each edge 3) Number of bounced nodes is set 4) Bouncing is performed Users Items u (1-p) b u (1-p) u u p Rysunek: Schemat działania mechanizmu odbijania.

Plan prezentacji 1 Wprowadzenie 2 Dane rzeczywiste 3 Generator grafów dwudzielnych 4 Własności generatora Rozkład stopni wierzchołków Wskaźnik BLCC Wielkość sąsiedztwa Analiza formalna 5 Podsumowanie

FREQUENCY FREQUENCY Rozkład stopni wierzchołków 1000 ITEM node degree distributions 1000 ITEM node degree distributions alpha = 0.5 alpha = 1 100 alpha = 0 100 alpha = 0 10 10 1 1 10 DEGREE 100 1000 1 1 10 DEGREE 100 1000 Rysunek: Rozkłady stopni wierzchołków w grafach syntetycznych.

BLCC BLCC Wskaźnik BLCC BLCC for USER nodes BLCC for ITEM nodes 0,16 alpha, beta = 1.00 0,16 alpha, beta = 1.00 0,14 alpha, beta = 0.75 0,14 alpha, beta = 0.75 0,12 alpha, beta = 0.50 0,12 alpha, beta = 0.50 0,1 alpha, beta = 0.25 alpha, beta = 0.00 0,1 alpha, beta = 0.25 alpha, beta = 0.00 0,08 0,08 0,06 0,06 0,04 0,04 0,02 0,02 0 0 0.0 0.2 0.4 0.6 0.8 1.0 0,0 0,2 0,4 0,6 0,8 1,0 bouncing bouncing Rysunek: Wpływ parametru odbijania b an tranzytywność grafów.

Wielkość sąsiedztwa Rysunek: Wpływ parametrów α i β na wielkość sąsiedztwa.

Krok 1/6 W dalszej części wyprowadzony zostanie rozkład stopni wierzchołków typu użytkownik. Rozumowanie może naturalnie zostać zaadaptowane dla wierzchołków typu przedmiot. Zauważmy, że jeżeli w danej iteracji do grafu jest dodawany użytkownik, to nie ulegają zmianie stopnie już istniejących użytkowników. Mogą one ulec zmianie tylko, gdy do grafu dodawany jest nowy przedmiot. Dzieje się to z prawdopodobieństwem 1 δ. Jeżeli sąsiedzi nowego przedmiotu byliby wybierani zgodnie z mechanizmem jednostajnym, wówczas prawdopodobieństwo, że użytkownik o stopniu k u zostanie wylosowany jako zakończenie jednej krawędzi nowego przedmiotu wynosi Π UNI (k u) = 1 U(t) = 1 δt. Jeżeli zastosowany by był mechanizm preferencyjny, wówczas odpowiednie prawdopodobieństwo zadane jest formułą Możemy łatwo sprawdzić że X Π PREF (k u) = u U Π UNI (k u) = X u U ku E(t) = ku ηt. Π PREF (k u) = 1.

Krok 2/6 W naszym modelu decyzja o tym czy łączenie nowego przedmiotu z użytkownikami będzie zgodna z mechanizmem preferencyjnym bądź jednostajnym zależy od parametru β. A zatem prawdopodobieństwo, że użytkownik zostanie wybrany przez jedną z krawędzi nowego przedmiotu wynosi Π(k u) = β 1 δt + (1 β) ku ηt. (1) Każdy nowy przedmiot tworzy v krawędzi. A zatem przyjmując że tempo zmian stopni użytkowników o k u krawędziach zadane jest następujące równanie różniczkowe k u t = (1 δ)dvπ(ku). (2)

Krok 3/6 a zatem Z k u t = (1 δ)dvπ(ku) = (1 δ)d v β δt + (1 β)ku ηt Z 1 δη 1 dk u = dt. (3) (1 δ)d v βη + δ(1 β)k u t Warunek początkowy dany jest przez k u(t u) = d u, gdzie t u jest iteracją w której powstał użytkownik u. Korzystamy z faktu, że R c ax+b dx = c ln ax + b + C: a δη ([ln (βη + δ(1 β)ku)] [ln (βη + δ(1 β)u)]) = [ln t] [ln tu]. (1 δ)d vδ(1 β) (4) Po uporządkowaniu dostajemy 0 1 t k u(t) = δ(1 β) @(βη + δ(1 β)d u) t u ««(1 δ)(1 β)dv η 1 βηa. (5)

Krok 4/6 Teraz możemy przygotować się do drugiego ważnego kroku. W tym celu zapisujemy prawdopodobieństwo, że stopień wierzchołka u jest mniejszy niż wartość progowa k. 8 9 (1 δ)(1 β)dv >< (βη + δ(1 β)d t η u) βη >= t u Φ {k u(t) < k} = Φ < k, (6) δ(1 β) >: >; co można przedstawić w następujący sposób 8 < βη + δ(1 β)k Φ {k u(t) < k} = Φ : tu > t βη + δ(1 β)d u «η (1 δ)(1 β)dv 9 = ;. (7)

Krok 5/6 W tym miejscu korzystamy z założenia, że wierzchołki dodawane są w równych odstępach czasu. A zatem prawdopodobieństwo, że użytkownik u został dodany do grafu później niż w iteracji S (S t) wynosi 1 Φ(t u S) = 1 S 1 t. Wprowadzenie tej obserwacji do równania 7 prowadzi do 8 < βη + δ(1 β)k Φ {k u(t) < k} = 1 Φ : tu t βη + δ(1 β)d u «η βη + δ(1 β)k (1 δ)(1 β)dv = 1. βη + δ(1 β)d u «η (1 δ)(1 β)dv 9 = ;

Krok 6/6 W tym miejscu wykonuje się ostatni ważny trzeci krok. Funkcję gęstości rozkładu zmiennej losowej k można otrzymać przez różniczkowanie jej dystrybuanty P(k) = Φ{k j (t) < k}/ k. Stąd P(k) = «η η βη + δ(1 β)k (1 δ)(1 β)dv 1 δ(1 β), (8) (1 δ)(1 β)v βη + δ(1 β)d u w rezultacie otrzymujemy formułę na funkcję gęstości rozkładu stopni wierzchołków typu użytkownik «η βη + δ(1 β)k (1 δ)(1 β)dv 1 P(k). (9) βη + δ(1 β)d u

Plan prezentacji 1 Wprowadzenie 2 Dane rzeczywiste 3 Generator grafów dwudzielnych 4 Własności generatora 5 Podsumowanie

Podsumowanie zaobserwowaliśmy związek między grafami dwudzielnymi i macierzą użytkownik-przedmiot w systemach rekomendujących dotychczasowe modele grafów dwudzielnych nie mają wszystkich pożądanych własności zaproponowaliśmy nowy generator grafów dwudzielnych zaproponowaliśmy nowy wskaźnik do mierzenia tranzytywności przeprowadzono formalną analizę wariantu podstawowego generatora

Dziękuję za uwagę Dziękuję za uwagę