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

Wielkość: px
Rozpocząć pokaz od strony:

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

Transkrypt

1 INSTYTUT PODSTAW INFORMATYKI POLSKIEJ AKADEMII NAUK Szymon Chojnacki Analiza technicznych własności systemów rekomendujących za pomocą grafów losowych Rozprawa doktorska przygotowana pod kierunkiem Prof. dr. hab. inż. Mieczysława Alojzego Kłopotka WARSZAWA 2011

2

3 Podziękowania Chciałbym z całego serca podziękować mojej kochanej Martusi. Bez jej wsparcia niniejsza praca nie miałaby szansy powstać. Dziękuję również rodzicom i siostrze za motywację do rozwijania zainteresowań badawczych od najmłodszych lat. Ogromne wyrazy wdzięczności składam na ręce promotora niniejszej rozprawy Pana prof. dr. hab. inż. Mieczysława Alojzego Kłopotka za wszelką okazaną pomoc merytoryczną, inspirujące wskazówki i wnikliwe pytania. Dziękuję za stworzenie przyjaznego środowiska do pracy oraz możliwość połączenia badań własnych z zadaniami w grantach badawczych. Dziękuję Dyrekcji Instytutu Podstaw Informatyki Polskiej Akademii Nauk. Panu prof. dr. hab. inż. Jackowi Koronackiemu za opiekę na początkowych etapach kariery naukowej. Pani prof. dr. hab. Beacie Konikowskiej za zaufanie i życzliwość. Chciałbym podziękować prof. dr. hab. Józefowi Winkowskiemu i członkom Zespołu Teorii Gier i Decyzji za możliwość prezentacji prac nad rozprawą podczas seminariów w IPIPAN. Dziękuję również kolegom z Zespołu Podstaw Sztucznej Inteligencji za wiele cennych merytorycznych dyskusji w przyjacielskiej atmosferze mgr. Piotrowi Borkowskiemu, dr. Krzysztofowi Ciesielskiemu, dr. inż. Darkowi Czerskiemu, dr. Andrzejowi Matuszewskiemu, dr. Marcinowi Sydowowi oraz dr. hab. Krzysztofowi Trojanowskiemu. Dziękuję koleżankom i kolegom z Zespołu Inżynierii Lingwistycznej dr. Elżbiecie Hajnicz, mgr. Alinie Wróblewskiej, dr. hab. Adamowi Przepiórkowskiemu oraz dr. Marcinowi Wolińskiemu. Dziękuję za wsparcie kolegom z Zespołu Analizy i Modelowania Statystycznego dr. Łukaszowi Dębowskiemu i dr. inż. Michałowi Dramińskiemu. Dziękuję Panom mgr. Łukaszowi Szarawarze, mgr. Piotrowi Dubno i mgr. Arkadiuszowi Ziembie za otwartość na innowacyjne rozwiązania analityczne oraz możliwość wdrożenia algorytmów sztucznej inteligencji w firmach NOM, PKO TFI i StatConsulting. Dziękuję również firmie StatSoft za organizację konkursu na najlepszą pracę magisterską i doktorską z zakresu statystyki. Dziękuję promotorowi mojej pracy licencjackiej na Wydziale Matematyki Uniwersytetu Warszawskiego dr. Michałowi Ramszy oraz promotorowi pracy magisterskiej i opiekunowi koła naukowego w Szkole Głównej Handlowej prof. dr. hab. Tomaszowi Szapiro. Chciałbym również podziękować Pani prof. dr. hab. Ewie Frątczak za możliwość prowadzenia zajęć w ramach programu Certyfikat SAS Institute. Chciałbym także podziękować moim pierwszym nauczycielom matematyki, którzy organizowali liczne koła matematyczne i konkursy dla młodzieży Panom mgr. Zdzisławowi Bobińskiemu, mgr. Włodzisławowi Obremskiemu oraz mgr. Henrykowi Pawłowskiemu. Ponadto podziękowania składam na ręce mojego wieloletniego mentora prof. dr. hab. Włodzisława Ducha z Uniwersytetu Mikołaja Kopernika w Toruniu.

4

5 Autoreferat Zadaniem systemów rekomendujących (ang. recommender systems) jest generowanie list przedmiotów potencjalnie interesujących dla użytkowników. Rekomendacje tworzone są na podstawie analizy działań podejmowanych przez użytkowników w przeszłości. Systemy takie stosowane są z powodzeniem m.in. w księgarniach internetowych, portalach z wiadomościami lub serwisach społecznościowych. Przykładowo klientowi księgarni internetowej wyświetlane są po zalogowaniu książki zbliżone tematycznie do książek dotychczas zakupionych lub ocenianych. Rosnąca popularność platform rekomendujących przypisywana jest szeregowi funkcji, jakie pełnią one dla użytkowników serwisów internetowych. Pozwalają one nie tylko efektywnie wspomagać wyszukiwanie zdefiniowanego przedmiotu, ale również proponować przedmioty, o których istnieniu użytkownik wcześniej nie wiedział. Zaobserwowano, że silniki rekomendujące są użytkowane także ze względu na chęć wyrażenia własnych opinii, pomocy innym lub promowania własnych produktów [36]. W celu dostarczenia dobrych wyników systemy rekomendujące bazują na statystycznych modelach klasyfikacyjnych [4]. Korzysta się z takich technik uczenia maszynowego jak sztuczne sieci neuronowe [60], a także z metod opartych na sąsiedztwie [35] lub dekompozycji macierzy z preferencjami historycznymi [70]. Powyższe algorytmy wymagają dopasowania do warunków, w jakich korzysta się z systemów rekomendujących. Systemy rekomendujące wykorzystywane są do generowania predykcji w przestrzeni zawierającej więcej klas decyzyjnych niż w sytuacjach, w których stosowane są typowe metody uczenia statystycznego. Ważnym czynnikiem ograniczającym rozwój algorytmów rekomendujących jest trudność związana z oceną ich oczekiwanej złożoności czasowej i pamięciowej w warunkach rzeczywistych. Wynika to z poniższych faktów: środowisko podlega dynamicznym zmianom; nowe przedmioty, użytkownicy i rekomendacje pojawiają się na bieżąco, złożoność systemów zależy nie tylko od rozmiaru danych ale również od ich struktury, techniki formalnej analizy złożoności oparte są na założeniu o gęstej reprezentacji danych, podczas gdy do implementacji korzysta się ze struktur rzadkich, zakres danych rzeczywistych potencjalnie przydatnych do testów jest ograniczony. W rezultacie procedury oceny systemów rekomendujących ograniczone są do testowania własności statystycznych analizowanych algorytmów. W tym celu korzysta się z takich miar jak dokładność (ang. accuracy), zupełność

6 (ang. recall) lub błąd średniokwadratowy (ang. RMSE). Porównania wykonywane są na fragmencie danych rzeczywistych. Otwarte porównanie własności statystycznych systemów rekomendujących przeprowadzone było w latach w ramach konkursu Netflix Prize. Wyniki uzyskane podczas tej ewaluacji wywarły silny wpływ na środowisko naukowe. Utarło się przekonanie o wyższości niektórych metod nad innymi. Organizatorzy konkursu Netflix Prize przygotowali dane o niespotykanej wcześniej wielkości. Rozmiar danych dorównywał w skali danym występującym w dużych serwisach internetowych (ponad 100 milionów rankingów). Niestety, konfiguracja platformy porównawczej nie pozwalała dostrzec problemów, jakie są charakterystyczne dla dynamicznie zmieniającego się środowiska rzeczywistego. Pierwsze otwarte porównanie systemów rekomendujących w konfiguracji nie posiadającej laboratoryjnych ograniczeń było przeprowadzone podczas zadania trzeciego konkursu Discovery Challenge 2009 organizowanego jako część konferencji ECML/PKDD. Okazało się, że każdy z kilkunastu testowanych systemów rekomendujących miał problem z dostarczeniem rekomendacji do użytkowników w czasie rzeczywistym [18]. Obserwacja ta mogła zostać poczyniona dzięki testowaniu systemów w środowisku produkcyjnym. Niestety ze względu na potencjalnie wysoki koszt związany ze spadkiem satysfakcji użytkowników, taki sposób testowania algorytmów nie jest powszechną praktyką. Niezależnie pokazano, że korzystanie z szybkich skompilowanych modeli, które nie są aktualizowane w czasie rzeczywistym, prowadzi do stopniowego spadku jakości tworzonych rekomendacji [51, 25]. Dobry system rekomendujący powinien nie tylko generować poprawne rekomendacje, ale także dostarczać je w czasie akceptowanym przez użytkownika. Dodatkowo, aby zapobiec spadkowi jakości tworzonych rekomendacji wraz z upływem czasu, system powinien odświeżać swoje struktury danych i parametry na tyle szybko aby nie zakłócać czasu dostarczania rekomendacji. Powyższa obserwacja stanowi główną motywację do badań opisanych w niniejszej rozprawie. Wydaje się, że istnieje potrzeba testowania własności technicznych systemów rekomendujących z wykorzystaniem danych syntetycznych. Niestety okazuje się, że generowanie danych sztucznych dla systemów rekomendujących nie jest prostym zadaniem. Rozważmy sytuację, w której chcemy wypełnić rankingami macierz M U I zawierającą oceny przypisane przedmiotom i I przez użytkowników u U. Przeanalizujmy prosty niedeterministyczny mechanizm wypełnienia M. Dla każdego pola macierzy M podejmujemy niezależnie decyzję, czy zawiera ono preferencję. E U I, Jeśli przyjmiemy, że preferencja występuje z prawdopodobieństwem wówczas oczekiwaną liczbą wszystkich preferencji w macierzy M jest E. Przy prostym mechanizmie pojawiają się trzy problemy: nie otrzymujemy grup użytkowników oceniających podobne przedmioty, rozkład liczby przedmiotów ocenianych przez danego użytkownika jest dwumianowy, rozkład liczby użytkowników oceniających dany przedmiot jest dwumianowy. Ogląd danych rzeczywistych pokazuje, że powyższe dwa rozkłady nie są dwumianowe [22]. Jednocześnie prawdopodobieństwo, że użytkownicy, którzy

7 ocenili jeden wspólny przedmiot, będą oceniali inne wspólne przedmioty, jest zdecydowanie wyższe niż przy prostym wypełnieniu macierzy M. Dodatkowo jeżeli założymy, że dana jest macierz o pożądanych parametrach, pojawia się problem ze sposobem dodania nowych przedmiotów, użytkowników lub ocen. Powyższe zastrzeżenia zostały przedstawione językiem nieformalnym. Próba ich kwantyfikowania jest dodatkowym zadaniem. W pracy zaproponowano, aby zastąpić macierz M równoważnym jej ważonym nieskierowanym grafem dwudzielnym G = (V, E). W grafie G zbiór wierzchołków V = U I obejmuje rozłączne zbiory przedmiotów i użytkowników U I =. Zbiór krawędzi E (U I) zawiera tylko krawędzie pomiędzy wierzchołkami różnych typów. W naszych badaniach rozważamy krawędzie nieskierowane. Ocena przypisana przedmiotowi i I przez użytkownika u U wyrażona jest poprzez wagę krawędzi łączącej u z i. Zmiana perspektywy patrzenia na dane wykorzystywane w systemach rekomendujących powoduje, że możemy dokonać kwantyfikacji cech, jakie powinna posiadać macierz M z wykorzystaniem terminologii grafowej. Co więcej, przeniesienie wyników z ostatniej dekady w modelowaniu sieci społecznych pozwala nam uzyskać dane o strukturze zbliżonej do danych rzeczywistym przy uwzględnieniu mechanizmów odpowiadających za dynamikę danych. Powyższe postulaty zostały spełnione poprzez adaptację trzech modeli generowania klasycznych grafów na przypadek generowania grafów dwudzielnych. Są to model preferencyjnego dołączania (ang. preferential attachment) [6], model preferencyjny rozszerzony o dołączanie jednostajne [52], a także model surfowania po sieci [63]. W rozprawie zaproponowano nowy generator grafów dwudzielnych oparty na powyższych trzech modelach. Proponowany generator grafów dwudzielnych pozwala na budowę środowiska do testowania technicznych własności systemów rekomendujących. Umożliwia on dokonanie oceny oczekiwanych poziomów poniższych czterech własności: czas potrzebny na estymację parametrów algorytmu rekomendującego, zapotrzebowanie na pamięć nauczonego systemu, czas dostarczenia rekomendacji dla losowego użytkownika, czas potrzebny na odświeżenie parametrów po dodaniu nowych krawędzi lub wierzchołków. W pracy przeprowadzono badania eksperymentalne w celu wykazania przydatności proponowanej platformy analitycznej. Pokazano, że przy pomocy grafów losowych możemy porównywać systemy rekomendujące w sytuacjach wykraczających poza możliwości narzędzi formalnych lub dostępnych danych rzeczywistych. Jednocześnie proponowana metodologia pozwoliła na weryfikację części z dotychczas obowiązujących poglądów dotyczących złożoności systemów rekomendujących. Lepsze zrozumienie mechanizmów odpowiedzialnych za złożoność systemów rekomendujących zaowocowało budową dwóch nowych algorytmów rekomendujących o własnościach lepszych niż dotychczas stosowane modele.

8 Oznaczenia matematyczne G(V, E) klasyczny graf G obejmujący zbiór wierzchołków V oraz zbiór krawędzi E V V X liczba elementów zbioru X G(U I, E) graf dwudzielny ze zbiorem V podzielonym na użytkowników U oraz przedmioty I, U I =, w którym krawędzie E U I τ prawdopodobieństwo istnienia krawędzi między dwoma losowo wybranymi wierzchołkami i, j, n wierzchołek bez określonego typu u pojedynczy wierzchołek typu użytkownik u U v pojedynczy wierzchołek typu przedmiot v I K(i, j) minimalna odległość (liczba krawędzi) między wierzchołkami i oraz j N s (n) zbiór sąsiadów odległych od n V o s 1 kroków, N s (n) = {a V : K(n, a) = s} k n stopień wierzchołka n, k n = N 1 ({n}) k, k 2 pierwszy i drugi moment rozkładu stopni wierzchołków D 1 (n) średni stopień sąsiadów wierzchołka n, D 1 (n) = j N 1 (n) k j N 1 (n) f(x) średnia wartość statystyki f( ) policzonej dla pewnego zbiorów wierzchołków X V Oznaczenia związane z zaawansowanymi własnościami grafów LCC(n) współczynnik gronowania dla wierzchołka n LCC(X) średnia wartość współczynnika gronowania dla X V

9 BLCC(n) współczynnik gronowania dla wierzchołka n w grafie dwudzielnym BLCC(X) średnia wartość współczynnika gronowania dla X V w grafie dwudzielnym Parametry generatora grafów dwudzielnych m początkowa liczba krawędzi T liczba iteracji δ prawdopodobieństwo dodania użytkownika 1 δ prawdopodobieństwo dodania przedmiotu α prawdopodobieństwo preferencyjnego dołączania przedmiotów 1 α prawdopodobieństwo jednostajnego dołączania przedmiotów β prawdopodobieństwo preferencyjnego dołączania użytkowników 1 β prawdopodobieństwo jednostajnego dołączania użytkowników d u liczba krawędzi nowego użytkownika d v liczba krawędzi nowego przedmiotu π(j) prawdopodobieństwo wylosowania wierzchołka j η oczekiwana liczba krawędzi dodanych w jednej iteracji ψ wskaźnik odbijania 3

10 Spis treści Oznaczenia matematyczne Wstęp Zarys tematyki Cele i teza pracy Metodyka badań Układ pracy Systemy rekomendujące Klasyfikacja systemów rekomendujących Przykłady wykorzystania Ocena w warunkach rzeczywistych Klasyczne grafy losowe Miary opisujące grafy Własności danych rzeczywistych Modele grafów losowych Model Erdösa Model Barabásiego Model Liu Model Vázqueza Grafy losowe o złożonej strukturze Sytuacje wymagające złożonej reprezentacji Adaptacja klasycznych miar grafowych Wielkość sąsiedztwa Wskaźnik gronowania Własności grafów rzeczywistych Dwudzielny wskaźnik gronowania Wskaźnik gronowania w modelu konfiguracyjnym Rozkład stopni wierzchołków Dotychczasowe modele grafów dwudzielnych Trójdzielne grafy losowe Nowy generator grafów dwudzielnych Model podstawowy Model pełny Rozkład stopni wierzchołków Nasilenie efektu tranzytywności Wielkość sąsiedztwa drugiego i trzeciego rzędu Dane syntetyczne w analizie systemów rekomendujących Własności systemów rekomendujących Wielkość grafów Gęstość grafów Proporcja liczby użytkowników do liczby przedmiotów

11 Tranzytywność Rozkład stopni wierzchołków Własności algorytmów opartych na sąsiedztwie Złożoność pesymistyczna Wyniki dla danych rzeczywistych Charakterystyka danych syntetycznych Znaczenie gęstości grafu Znaczenie rozkładu stopni wierzchołków Skalowalność algorytmów Znaczenie wielkości sąsiedztwa Wpływ miary podobieństwa Podsumowanie Wnioski Kierunki dalszych prac Wykaz rysunków Wykaz tabel Wykaz algorytmów Bibliografia Skorowidz

12 1. Wstęp Systemy rekomendujące (lub rekomendacyjne 1 ) stosowane są do zbierania ocen wystawianych przedmiotom przez użytkowników i na tej podstawie budowania list z interesującymi przedmiotami. Oceny mogą być wyrażone wprost przez ilość gwiazdek lub kliknięcie kciuka, a także w sposób pośredni poprzez częstość odwiedzania opisu produktu lub fakt dokonania zakupu. Systemy takie stosowane są coraz częściej w internecie. Wśród serwisów internetowych, które jako pierwsze zaczęły korzystać z systemów rekomendujących są m.in. księgarnia Amazon, portal muzyczny Last.fm, wypożyczalnia filmów Netflix oraz portal z wiadomościami Google News. Modele rekomendujące można przypisać do statystycznych systemów uczących się pod nadzorem [43]. Na podstawie informacji o wartościach zmiennych objaśniających prognozowana jest wartość zmiennej decyzyjnej, bądź siła przynależności do każdej z klas decyzyjnych [69]. Sytuacje, w jakich stosuje się systemy rekomendujące, charakteryzują się bardzo dużą liczbą klas decyzyjnych (np. liczba książek w księgarni). Często liczba ta zbliżona jest do liczby atrybutów. Jednocześnie jedynie niewielka część atrybutów posiada niepustą wartość. Do oceny systemów rekomendujących korzysta się z koncepcji opartych na podziale zbioru obiektów na zbiór uczący i zbiór testujący. Jednak ze względu na bogactwo scenariuszy użytkowych stosowane są rozmaite warianty tej koncepcji. Ciekawym przykładem jest sposób oceny algorytmów biorących udział w konkursie Kdd-Cup 2011 Yahoo! Music 2. Systemom prezentowane były zarówno utwory muzyczne bardzo wysoko ocenione przez użytkownika, jak i utwory wybrane losowo z serwisu. Zadaniem systemów było wskazanie, które utwory były wysoko ocenione. Powyższe metody analityczne oraz techniki oceny algorytmów mogą zostać zastosowane do lepszego wypełniania funkcji, jakie przypisywane są systemom rekomendującym. Herlocker [36] wyróżnia dziesięć podstawowych funkcji użytkowych przypisywanych systemom rekomendującym: Anotacje w kontekście (ang. annotation in context) Pierwsze systemy rekomendujące budowane były w celu dodania anotacji do przedmiotów. Zadanie to polega na odpowiednim filtrowaniu wiadomości oraz linków wyświetlanych użytkownikom. Znajdowanie dobrych przedmiotów (ang. find good items) Głównym zadanie stojącym przed współczesnymi systemami rekomendującymi jest znajdowanie dobrych przedmiotów. Użytkownikowi wyświe- 1 W literaturze anglojęzycznej stosuje się przemiennie szereg nazw dla określenia systemów rekomendujących m.in. recommender systems, recommendation systems, recommendation engines, recommendation frameworks, recommendation platforms lub zwyczajnie recommender

13 tlana jest uporządkowana lista przedmiotów potencjalnie zbliżonych do jego obecnych potrzeb. Filtracja przedmiotów (ang. find all good items) Filtrowanie przedmiotów jest szczególnie przydatne, gdy chcemy zachować wszystkie potencjalnie przydatne przedmioty. Tę funkcję stosują przykładowo prawnicy do wygenerowania wszystkich historycznych spraw zbliżonych do obecnie analizowanej. Rekomendowanie sekwencji (ang. recommend sequence) W portalach muzycznych po wybraniu pierwszego utworu system przedstawia propozycję ścieżki przesłuchiwania kolejnych utworów o podobnym brzmieniu. Zwyczajne przeglądanie (ang. just browsing) Systemy rekomendujące wspierają przeglądanie informacji, co powoduje, że odwiedzanie kolejnych linków związane jest z większym poziomem zadowolenia niż czysto losowe przeglądanie stron bądź produktów. Wiarygodne rekomendacje (ang. find credible recommender) Jeden z modułów systemu rekomendującego może odpowiadać za sprawdzenie wiarygodności wystawianych rekomendacji. Zadanie to może być realizowane poprzez przypisanie wskaźnika rzetelności do użytkowników wystawiających rekomendacje na forach dyskusyjnych. Poprawa profilu (ang. improve profile) Liczni użytkownicy wierzą, że poprzez wystawianie rekomendacji ich konto lub profil będzie otrzymywał dodatkowe korzyści w przyszłości. Wyrażenie siebie (ang. express self ) Chęć wyrażenia swoich poglądów i opinii jest równie ważna dla użytkowników systemów rekomendujących jak otrzymanie dobrej rekomendacji. Pomoc innym (ang. help others) Popularność systemów rekomendujących wynika z faktu, że użytkownicy dostają narzędzie pozwalające pomagać innym, współpracować i dzielić się własnymi doświadczeniami. Wpływanie na innych (ang. influence others) Systemy rekomendujące mogą być użyte do wpływania na innych. Funkcja ta wykorzystywana jest często w kontekście promowania niechcianych treści lub ukrytego reklamowania produktów. Powyższe zestawienie ma na celu przedstawienie szerokiego spektrum kontekstów użycia systemów rekomendujących. W dalszej części rozprawy będziemy postrzegać systemy rekomendujące poprzez pryzmat drugiej z wymienionych funkcji tj. znajdowanie dobrych przedmiotów. Jednakże przeanalizowane relacje i mechanizmy są wspólne dla systemów rekomendujących wypełniających większość z powyższych dziesięciu funkcji Zarys tematyki Ze względu na szeroki obszar zastosowań systemów rekomendujących oraz na różnorodność stosowanych algorytmów szczególnego znaczenia nabiera proces oceny różnych podejść, a także metodologia wyboru optymalnego systemu. Głównym kryterium oceny systemu jest jakość dostarczanych re- 7

14 komendacji. Muszą one być atrakcyjne dla użytkownika i przekładać się na działania posiadające wymierną wartość ekonomiczną. Wybór systemu rekomendującego zbliżony jest koncepcyjnie do zadania optymalizacji wielokryteriowej. Z jednej strony oczekuje się maksymalizacji kryteriów o charakterze statystycznym (tj. dokładność rekomendacji lub różnorodność). Z drugiej strony ograniczenia o charakterze technicznym stanowią analogię do ograniczeń brzegowych. Rekomendacje o dobrych parametrach statystycznych powinny być nie tylko zbliżone do gustów użytkownika, ale dodatkowo oczekuje się, że będą optymalizowały liczne kryteria. W szczególności typowa ocena systemów rekomendujących [62] obejmuje badanie następujących czternastu własności: Akceptacja użytkownika (ang. user preference) W celu sprawdzenia ogólnych odczuć użytkownika związanych z weryfikowanym systemem wymagane jest przeprowadzenie badań kontrolnych, w których realni użytkownicy realizują zdefiniowane scenariusze i następnie przedstawiają subiektywną ocenę systemu. Dokładność prognoz (ang. prediction accuracy) Dokładność prognozy szacowana jest na podstawie porównania historycznych rankingów wystawianych przedmiotom przez użytkowników z rankingami, jakie wystawia system. W tym obszarze mieszczą się miary stosowane w statystycznych systemach uczących się. Zakres rekomendacji (ang. coverage) Z punktu widzenia dostawcy usług często ważne jest, aby generowane rekomendacje pokrywały jak największą część aktualnej oferty. Przekonanie o poprawności (ang. confidence) Systemy rekomendujące działają w oparciu o zgromadzone dane. Jeżeli dostępność i jakość danych jest ograniczona, wówczas generowane rekomendacje związane są z niskim poziomem wiarygodności. W konsekwencji ocena systemu będzie zaniżona z powodów niealgorytmicznych. Budowanie zaufania (ang. trust) Przykładem systemu bazującego na zaufaniu jest doradca nieruchomości. Aby rekomendacje przełożyły się na działania klienta, musi on ufać systemowi. Sam fakt przedstawiania rekomendacji zbliżonych do profilu użytkownika może nie być wystarczający. Prezentowanie nowości (ang. novelty) System powinien umożliwiać nowym produktom przebicie się w rywalizacji z produktami o ustabilizowanej pozycji i licznych historycznych opiniach użytkowników. Umiejętność zaskakiwania (ang. serendipity) W ostatnich latach pojawiło się wymaganie, aby systemy rekomendujące zaskakiwały użytkowników. Różnorodność (ang. diversity) Różnorodność prezentowanych przedmiotów jest szczególnie ważna dla osób korzystających z systemu w celu swobodnego przeglądania oferty. Użyteczność (ang. utility) Postuluje się, aby rekomendować nie tylko produkty interesujące dla użyt- 8

15 kownika, ale także takie, których nabycie przełoży się na poprawę wyników finansowych dostawcy. Ograniczone ryzyko (ang. risk) W zastosowaniach medycznych i finansowych ryzyko złej rekomendacji nabiera szczególnego znaczenia. Z tego powodu ocena jego poziomu należy do najważniejszych kryterium stosowanych w takich okolicznościach. Spójność (ang. robustness) Spójność rozumiana jest jako powtarzalność wyników przy niewielkich zmianach profilu użytkownika, treści zapytania lub okoliczności zewnętrznych. Pomimo założeń o różnorodności rekomendacji, użytkownik powinien mieć możliwość ponownego zapoznania się z przedmiotami, które system mu wcześniej rekomendował. Zachowanie prywatności (ang. privacy) Z jednej strony użytkownicy oczekują, aby system potrafił wytłumaczyć, dlaczego przedstawił daną rekomendację. Z drugiej strony użytkownicy mogą obawiać się, że nawet anonimowe przedstawienie ich historii zakupowej może prowadzić do odkrycia tożsamości. System powinien godzić oba przeciwstawne kierunki. Łatwość adaptacji (ang. adaptability) Umiejętność adaptacji jest istotna w zmieniającym się środowisku. Przykładem sytuacji wymagającej adaptacji jest okres świąteczny lub zmiana trendów użytkowych. Skalowalność (ang. scalability) Ostatnim zagadnieniem omawianym w [62] jest najbliżej związana z kryteriami technicznymi. Wymaga się, aby systemy dostarczały rekomendacje w akceptowalnym czasie także, gdy nastąpi wzrost obsługiwanej bazy danych. Przytoczone własności mają na celu umiejscowienie naszych badań w szerszym kontekście. Pomimo, że techniczne własności systemów rekomendujących są dla nas szczególnie interesujące, to ocenę jaką przypiszemy konkretnym metodom należy postrzegać jako składową całego procesu decyzyjnego. Poprzez kryteria techniczne rozumiemy: czas potrzebny na estymację parametrów algorytmu rekomendującego, zapotrzebowanie na pamięć nauczonego systemu, czas dostarczenia rekomendacji dla losowego użytkownika, czas potrzebny na odświeżenie parametrów systemu, gdy dodane są nowe obserwacje. Waga przypisywana różnym kryteriom zależy w dużej mierze od kontekstu zastosowania. Jeżeli system rekomendujący uruchamiany jest co pewien czas w trybie offline, wówczas uwagę skupia się na wskaźnikach oceniających jakość statystyczną rekomendacji. Taka sytuacja ma miejsce przykładowo przy wysyłaniu rekomendacji poprzez lub gdy zakres oferowanych przedmiotów nie podlega dynamicznym zmianom (np. utwory muzyczne). Są jednak scenariusze, w których większą wagę przypisuje się kryteriom technicznym. Przykładem takich sytuacji są portale o dynamicznie zmieniającej 9

16 się zawartości [2], wyświetlanie reklam kontekstowych [10] bądź filtrowanie interesujących wiadomości [27]. Sposób postrzegania ograniczeń infrastrukturalnych uległ znacznemu przeformułowaniu w ostatnich latach za sprawą pojawienia się komercyjnych platform do przetwarzania w chmurze (ang. cloud computing). Usługi takie oferowane są przez Amazon Web Services 3 bądź Azure Windows Platform 4. W konsekwencji nowego znaczenia nabiera problem szacowania technicznych wymagań systemu rekomendującego. Dotychczas optymalizowano system rekomendujący przy założeniu, że zasoby infrastrukturalne są stałe i ograniczone. Korzystając z przetwarzania w chmurze sytuacja jest bardziej skomplikowana. Możemy wynająć jednostki obliczeniowe o praktycznie nieograniczonych możliwościach na określony okres czasu i opłatę ponosimy jedynie za czas przetwarzania danych. Z jednej strony zanikają ograniczenia infrastrukturalne, z drugiej strony koszty funkcjonowania systemu rekomendującego stają się zmienne i wymagają dokładniejszej kontroli Cele i teza pracy Celem pracy jest opisanie i pokazanie przydatności nowatorskiej metody służącej do testowania własności technicznych systemów rekomendujących. Metoda opiera się na generowaniu syntetycznych danych o parametrach zbliżonych do danych rzeczywistych. Dane sztuczne otrzymywane są przy pomocy nowego algorytmu służącego do budowania losowych grafów dwudzielnych. W pracy przedstawiona jest argumentacja świadcząca o prawdziwości trzech poniższych tez: 1. Dane syntetyczne otrzymane z dwudzielnych grafów losowych pozwalają w szerszym zakresie badać techniczne własności systemów rekomendujących niż dotychczas stosowane metody. 2. Grafy losowe pozwalają zweryfikować i wzbogacić dotychczasową wiedzę na temat technicznych własności systemów rekomendujących. 3. Wyniki analizy technicznej przeprowadzonej przy pomocy grafów losowych można zastosować do budowy nowych systemów rekomendujących. charakteryzujących się lepszymi parametrami niż obserwowane w dotychczasowych systemach rekomendujących. W dalszej części rozdziału opisana zostanie metodyka badań oraz w formie skrótowej zawartość całej rozprawy Metodyka badań Potrzeba testowania własności technicznych systemów rekomendujących z wykorzystaniem danych syntetycznych wynika z dwóch powodów. Pierwszym powodem jest złożoność zagadnienia, która powoduje, że narzędzia formalne nie pozwalają dokładnie oszacować oczekiwanej złożoności systemów

17 rekomendujących. Drugim powodem jest ograniczony zakres dostępnych danych rzeczywistych. Okazuje się, że generowanie danych sztucznych dla systemów rekomendujących nie jest prostym zadaniem. Próba wypełnienia macierzy M U I przy pomocy E preferencji przypisanych przedmiotom ze zbioru I przez użytkowników ze zbioru U pokazana jest na rysunku 1.1. Przyjmijmy, że dla każdego pola macierzy M podejmujemy niezależną decyzję o wypełnieniu go preferencją. Z prawdopodobieństwem E U I decyzja jest pozytywna, z prawdopodobieństwem 1 E decyzja jest negatywna. Zauważmy, że przy U I takim prostym mechanizmie, prawdopodobieństwo P uk ocenienia dokładnie k przedmiotów przez losowego użytkownika u, zadane jest przez: P uk = ( ) ( ) k ( I E 1 E ) I k. (1.1) k U I U I Pierwszy człon w formule 1.1 zlicza ilość sposobów wybrania k przedmiotów spośród I dostępnych przedmiotów. Drugi człon odpowiada prawdopodobieństwu wypełnienia k komórek w kolumnie użytkownika u. Prawdopodobieństwo, że jedna losowo wybrana komórka jest wypełniona, równe jest ilorazowi oczekiwanej liczby wszystkich preferencji E przez liczbę wszystkich E U I komórek w macierzy M, czyli. Ostatni trzeci człon oznacza prawdopodobieństwo, że pozostałe I k komórek w kolumnie użytkownika u jest puste. P uk opisuje rozkład dwumianowy. Taka konstrukcja macierzy M prowadzi również do dwumianowego rozkładu liczby użytkowników oceniających losowy przedmiot. Dla liczny zbiorów danych rzeczywistych rozkłady te nie są dwumianowe [22]. Kolejnym problemem z losowym wypełnieniem macierzy M jest fakt, że w ten sposób nie możemy kontrolować natężenia własności tranzytywności pomiędzy użytkownikami i przedmiotami. Własność ta zostanie zdefiniowana w rozdziale 4.2 przy pomocy wskaźnika gronowania i związana jest z występowaniem grup użytkowników oceniających podobne przedmioty. W pracy zaproponowano, aby zastąpić macierz M równoważnym jej ważonym nieskierowanym grafem dwudzielnym G = (V, E). W grafie G zbiór wierzchołków V = U I obejmuje rozłączne zbiory przedmiotów i użytkowników U I =. Zbiór krawędzi E (U I) zawiera tylko krawędzie pomiędzy wierzchołkami różnych typów (bądź modalności 5 ). Ocena przypisana przedmiotowi i I przez użytkownika u U wyrażona jest poprzez wagę krawędzi łączącej u z i. Zmiana perspektywy patrzenia na dane wykorzystywane w systemach rekomendujących powoduje, że możemy wykorzystać wyniki z ostatniej dekady w modelowaniu grafów losowych. Poprzez graf losowy rozumiemy graf konstruowany przy pomocy mechanizmu zawierającego co najmniej jeden krok niedeterministyczny [31]. Zbudowany graf losowy zawiera już konkretne wierzchołki i konkretne krawędzie pomiędzy 5 W pracy używamy terminu modalność wierzchołka do wskazania, iż wierzchołek należy do jednej z możliwych klas (typów, kategorii lub grup). W literaturze anglojęzycznej używa się terminu modality w takim znaczeniu w kontekście sieci społecznych [34]. Jednocześnie zgodnie z [1] modalność jest jedynym tłumaczeniem słowa modality na język polski. 11

18 PRZEDMIOTY (items I) UŻYTKOWNICY (users - U) PREFERENCJE (edges - E) Rysunek 1.1. Macierz preferencji M. wierzchołkami. W celu definicji nowego generatora grafów losowych przenieśliśmy trzy modele tworzące grafy klasyczne na grunt grafów dwudzielnych. Są to model preferencyjnego dołączania (ang. preferential attachment) [6], model preferencyjny rozszerzony o dołączanie jednostajne [52], a także model surfowania po sieci [63]. Proponowany generator grafów dwudzielnych pozwala na budowę środowiska do testowania technicznych własności systemów rekomendujących. W szczególności umożliwia ocenę oczekiwanych poziomów czterech poniższych własności: czas potrzebny na estymację parametrów algorytmu rekomendującego, zapotrzebowanie na pamięć nauczonego systemu, czas dostarczenia rekomendacji dla losowego użytkownika, czas potrzebny na odświeżenie parametrów systemu, gdy dodane są nowe krawędzie lub wierzchołki do grafu. Nowy generator grafów dwudzielnych został wykorzystany do budowy platformy ewaluacyjnej dla systemów rekomendujących. W pracy przeprowadzono badania eksperymentalne w celu wykazania przydatności proponowanej platformy. W celu oceny szerokiej gamy algorytmów skorzystaliśmy z otwartej biblioteki Mahout 6. Wszystkie wyniki eksperymentalne zawarte w rozprawie mogą dzięki temu zostać łatwo odtworzone i poddane dalszym analizom

19 1.4. Układ pracy Niniejsza rozprawa składa się z siedmiu rozdziałów. Pierwszy rozdział zawiera wprowadzenie do omawianych problemów. W rozdziale drugim dokonano przeglądu istniejących systemów rekomendujących oraz wskazano problemy związane z oceną ich parametrów technicznych. Rozdziały trzeci, czwarty i piąty mają na celu przedstawienie modeli stosowanych do budowy grafów losowych. W rozdziale trzecim opisano klasyczne generatory wykorzystywane do modelowania sieci społecznych o wierzchołkach jednej modalności. W rozdziale czwartym opisano generatory służące do budowy grafów o złożonych strukturach. W tym rozdziale wskazano również na ograniczenia istniejących generatorów. Rozdział piąty zawiera opis nowego modelu służącego do tworzenia dwudzielnych grafów losowych. Generator opisany w tym rozdziale posiada szereg własności przydatnych do tworzenia danych dla systemów rekomendujących i stanowi uogólnienie koncepcji przyświecających konstrukcji modeli z rozdziału trzeciego. W rozdziale szóstym przedstawiono wyniki badań eksperymentalnych dotyczących własności wybranych znanych algorytmów rekomendujących z wykorzystaniem generatora omówionego w rozdziale piątym oraz zaproponowano dwa nowe algorytmy rekomendujące. Ostatni siódmy rozdział zawiera podsumowanie prowadzonych prac oraz kierunki dalszych badań. 13

20 2. Systemy rekomendujące W niniejszym rozdziale przedstawiona zostanie klasyfikacja systemów rekomendujących ze względu na zakres przetwarzanych danych oraz rodzaj użytych algorytmów. Opisane zostaną przykładowe przedsięwzięcia internetowe, w których wykorzystuje się systemy rekomendujące. Dodatkowo przedstawione zostaną wyniki uzyskane podczas otwartych ewaluacji systemów rekomendujących na danych rzeczywistych. Celem rozdziału jest uwypuklenie znaczenia systemów rekomendujących w rzeczywistych zastosowaniach, a także przedstawienie argumentacji świadczącej o realnych trudnościach w ocenie technicznych własności tychże Klasyfikacja systemów rekomendujących Podział systemów rekomendujących ze względu na funkcje użytkowe został opisany we wstępie do rozprawy. Na Rysunku 2.1 naszkicowany jest podział ze względu na zakres dostępnych danych oraz typ wykorzystanych modeli. Przedstawiona klasyfikacja jest wspólna dla systemów realizujących różne funkcje użytkowe. Jednocześnie ma ona charakter poglądowy, gdyż w zastosowaniach rzeczywistych korzysta się z synergii różnych modeli. Systemy rekomendujące (ang. recommender systems) Bazujące na zawartości (ang. content based) Filtracja społeczna (ang. collaborative filtering) Oparte na sąsiedztwie (ang. neighborhood based) Korzystające z modeli (ang. model based) Rysunek 2.1. Klasyfikacja systemów rekomendujących. Głównym kryterium różnicującym systemy rekomendujące jest rodzaj wykorzystanych danych. Jeżeli dostępne są informacje opisujące przedmioty 14

21 lub użytkowników, wówczas korzysta się z modeli bazujących na zawartości (ang. content based). Takimi informacjami mogą być wiek, płeć, wykształcenie użytkownika oraz cena, kategoria lub inna charakterystyka opisująca przedmioty oceniane przez użytkownika w przeszłości. Jeżeli jedyną dostępną informacją w procesie modelowania są dane transakcyjne lub logi z serwerów z historycznymi relacjami między użytkownikami i produktami, wówczas stosuje się podejścia oparte na filtrowaniu społecznym (ang. collaborative filtering). W kolejnym kroku dokonuje się podziału systemów rekomendujących ze względu na sposób przetwarzania danych transakcyjnych. Jeżeli budowa rekomendacji bazuje na lokalnym wędrowaniu po grafie użytkownik-przedmiot, to mamy do czynienia z algorytmami opartymi na sąsiedztwie (ang. neighborhood based). Jeżeli próbuje się zbudować profil użytkownika i przedmiotu uwzględniający jednocześnie wszystkie globalne oddziaływania, wówczas mówi się o podejściu opartym na modelach (ang. model based). Przykładami systemów rekomendujących bazujących na sąsiedztwie są knnitem (bądź ItemBased) [61] oraz knnuser (bądź UserBased) [35]. Przykładem podejścia modelowego jest system oparty na rozkładzie macierzy przy pomocy SVD (ang. singular value decomposition) [70]. Systemy rekomendujące o najlepszych własnościach statystycznych tworzone są jako kombinacja wielu różnych podejść [41] Przykłady wykorzystania Poniżej przedstawiamy cztery przykłady użycia systemów rekomendujących. Przykłady zostały zamieszczone w kolejności odzwierciedlającej poziom zaawansowania systemu. Na rysunku 2.2 pokazany jest fragment wiadomości rozsyłanej do klientów banku mbank 1. Produkty zamieszczone w tej wiadomości nie są związane z preferencjami klienta banku. Wydaje się, iż celem przekazu jest wskazanie różnorodności oferowanych produktów. Rysunek 2.3 zawiera widok powitalny sklepu internetowego oferującego materiały stolarskie. Po prawej stronie widoczna jest lista polecanych produktów. System rekomendujący, który wygenerował tę listę również nie posiada mechanizmów personalizacji (lista produktów jest statyczna). Nie mniej, w porównaniu z wcześniejszym przykładem, została dodana logika do wyboru rekomendowanych produktów, zgodnie z którą wyświetlane są produkty najczęściej kupowane. Obecnie większość platform do budowy sklepów internetowych posiada podstawowe mechanizmy rekomendujące. Przykładem jest platforma Magento 2, w której standardowy schemat sklepu zawiera ramki do wyświetlania produktów podobnych do oglądanego produktu lub przedmioty często kupowane razem z danym przedmiotem. Przykład trzeci umieszczony na rysunku 2.4 zawiera widok internetowego serwisu muzycznego. Oparty jest on na podstawowym mechanizmie personalizującym. Osoba korzystająca ze strony tuba.fm 3 podaje nazwę wykonawcy, a system przedstawia podobnych artystów oraz proponowaną listę utworów. W sytuacji znajdującej się na ry

22 sunku poproszono o zagranie utworu piosenkarki Adele, system wskazał jedenastu podobnych artystów (m.in. Ingrid, Duffy) oraz zaproponował listę piosenek do odsłuchania w podobnej tonacji (kolejno Noisette, Corinne Bailey Rae). Pomimo jedynie podstawowego mechanizmu personalizacji, powyższa strona muzyczna cieszy się dużą popularnością. Na ostatnim czwartym widoku 2.5 pokazana jest strona witająca użytkownika księgarni Amazon.de zaraz po zalogowaniu. Jest to przykład kompletnego systemu rekomendującego. Wyświetlane książki są wygenerowane na podstawie historycznych działań użytkownika. System proponuje, aby użytkownik ocenił jedną z książek już zakupionych. Pozwoli to generować w przyszłości jeszcze lepsze rekomendacje. Rysunek 2.2. Wiadomość dla klientów mbank.pl Ocena w warunkach rzeczywistych Cztery przykłady przytoczone w poprzedniej sekcji opisują typowe wykorzystanie systemów rekomendujących w stabilnych środowiskach. W takich warunkach główny nacisk przy ocenie systemów kładziony jest na atrakcyjność proponowanych produktów. W rezultacie procedury oceny systemów rekomendujących ograniczone są do testowania poprawności statystycznej analizowanych algorytmów. Otwarte porównanie własności statystycznych systemów rekomendujących przeprowadzone było w latach w ramach konkursu Netflix Prize. Wyniki uzyskane podczas tej ewaluacji wywarły silny wpływ na środowisko naukowe. W szczególności utarło się przekonanie o wyższości metod opartych na rozkładzie macierzy preferencji nad metodami 16

23 Rysunek 2.3. Ekran powitalny sklepu DrewnoDrewno.pl. Rysunek 2.4. Portal muzyczny Tuba.fm. 17

24 Rysunek 2.5. Księgarnia internetowa Amazon.de. opartymi na sąsiedztwie. Organizatorzy konkursu Netflix Prize przygotowali dane o niespotykanej wcześniej wielkości zbliżonej do danych rzeczywistych (100, 480, 507 rankingów). Niestety, konfiguracja platformy porównawczej nie pozwalała dostrzec problemów, jakie są charakterystyczne dla dynamicznie zmieniającego się środowiska rzeczywistego. Pierwsze otwarte porównanie systemów rekomendujących w konfiguracji nie posiadającej laboratoryjnych ograniczeń było przeprowadzone podczas zadania trzeciego konkursu Discovery Challenge 2009 organizowanego jako część konferencji ECML/PKDD. W dalszej części omówimy szczegółowo zadanie trzecie. Zadania pierwsze i drugie zostaną pominięte, gdyż polegały wyłącznie na ocenie parametrów statystycznych w porównywanych systemach. Warto nadmienić, iż w pierwszym zadaniu wystawiliśmy system rekomendujący oparty na silniku grupującym dokumenty Beatca [26]. Podejście to zostało opisane w [16] i należało do kilkunastu najwyżej ocenionych rozwiązań. Jednocześnie ze względu na ograniczenia techniczne tego podejścia, w zadaniu trzecim wystawiony został całkowicie nowy system rekomendujący [18]. Portal do zarządzania wiedzą Bibsonomy.org udostępnił swoje interfejsy dla zespołów biorących udział w konkursie. Zadanie polegało na generowaniu w czasie rzeczywistym propozycji słów kluczowych etykietujących zasoby cyfrowe zapisywane przez użytkownika. Zasobami mogły być zarówno publikacje jak i strony internetowe. Przykładowo na rysunku 2.6 użytkownik zapisuje stronę internetową i system sugeruje, jakie metadane powinien użytkownik użyć, aby w przyszłości można było tę stronę szybko odnaleźć. Dla strony konferencji ACM RecSys system proponuje użyć pięć etykiet: conference, 2007, 2009, rs, systems. Do wykonania rekomendacji system może wykorzystać historyczną informację o etykietach stosowanych przez użytkow- 18

25 nika, o etykietach przypisanych do tej strony przez innych użytkowników oraz o zawartości pól z tytułem i opisem strony. Rysunek 2.6. Proces zapisywania strony w portalu Bibsonomy.org. Do testowania systemów biorących udział w konkursie Discovery Challenge zbudowano specjalną platformę ewaluacyjną [38]. Schemat przepływu danych w platformie umieszczony jest na rysunku 2.7. Gdy użytkownik wchodzi na stronę służącą do zapisu ulubionego zasobu cyfrowego, następuje przesłanie metainformacji o zasobie do wszystkich systemów biorących udział w porównaniu. Spośród systemów, które odeślą rekomendację w przeciągu milisekund, wybierana jest odpowiedź jednego systemu. Zestaw słów kluczowych zawarty w tej odpowiedzi prezentowany jest użytkownikowi. Wyświetlanie słów kluczowych (lub etykiet) możliwe jest bez odświeżenia strony dzięki wykorzystaniu mechanizmów AJAX. Bez względu na to, który system zostanie wylosowany, ocena statystyczna obejmuje wszystkie odpowiedzi, które zostały dostarczone w zdefiniowanym przedziale czasu. Ocena statystyczna liczona jest poprzez porównanie zbioru etykiet przypisanych zasobowi przez użytkownika ze zbiorami rekomendowanymi. Request Request = (user_id + url + title + description +... ) User Tags Web App User events Multiplexer Post = (request + tags) Internet Recommender Recommender... Clicklog Database Tags Recommender Rysunek 2.7. Schemat platformy oceniającej systemy rekomendujące. Platforma ewaluacyjna umieszczona jest na serwerach Bibsonomy.org. Wyniki uzyskane przez oceniane systemy mogą być obserwowane poprzez 19

26 interfejs sieciowy. Zestawienie obejmujące trzytygodniowy okres oficjalnego konkursu dostępne jest na stronie de/ws/dc09/results/online/. Z tej strony został wykonany zrzut ekranu, który umieszczony jest na rysunku 2.8 Okazuje się, że każdy z kilkunastu testowanych systemów rekomendujących miał w tym okresie problem z dostarczeniem rekomendacji do użytkowników w czasie rzeczywistym. Problem ten został szczegółowo opisany w [18]. Z tego powodu przedłużono możliwość testowania systemów rekomendujących na okres ok. 100 dni po konkursie. Wyniki uzyskane w tym okresie dostępne są na stronie Na rysunku 2.9 umieszczono czasy dostarczania rekomendacji dla okresu pokonkursowego. W obu okresach latencja mierzona była identycznie i obejmowała okres od wysłania zapytania przez serwer BibSonomy do momentu otrzymania odpowiedzi od webserwisów z systemami rekomendującymi. Oceniane algorytmy mogły być umieszczone na serwerze organizatorów podczas obu ewaluacji. Jednak na podstawie dostępnej nam wiedzy wszystkie zespoły utrzymywały swoje systemy na wydzielonych serwerach Tomcat. Rysunek 2.8. Latencja podczas konkursu Discovery Challenge. Rysunki 2.8 oraz 2.9 pokazują, jaka część rekomendacji generowanych przez dany system była dostarczana z określonym opóźnieniem (ang. latency). Przykładowo nasz system z numerem 13 dostarczył w ciągu konkursu odpowiedź na blisko 90% zapytań, jednak jedynie 80% spośród nich dotarło do BibSonomy w ciągu 1 sekundy. Najszybsza spośród naszych odpowiedzi dotarła w ciągu około 300 milisekund. W okresie pokonkursowym nasz system generował 90% rekomendacji w przedziale czasu milisekund, natomiast najwolniejsza spośród naszych rekomendacji potrzebowała 700 milisekund. 20

27 Rysunek 2.9. Latencja podczas porównania pokonkursowego. Rysunek Wskaźnik klikania przez użytkowników. 21

28 Rysunek Porównanie statystycznej jakości tworzonych rekomendacji. Rysunek 2.10 zawiera zestawienie systemów ze względu na wskaźnik opisujący, jaka część spośród poprawnych etykiet została rzeczywiście kliknięta przez użytkownika, gdy system został wylosowany. Wskaźnik ten pokazuje, że czasem system był wylosowany, wyświetlał poprawną rekomendację, ale użytkownik wprowadził tę etykietę ręcznie. Na rysunku 2.11 umieszczone są systemy rekomendujące z uwzględnieniem poprawności statystycznej generowanych wyników. Jakość statystyczna rekomendacji była mierzona przy pomocy przeformułowanej f-miary. Przeformułowanie klasycznego wskaźnika polega na uwzględnieniu faktu, że przy proponowaniu etykiet mamy do czynienia z problemem klasyfikacji wieloetykietowej (ang. multilabel classification). Szczegółowy opis liczenia przeformułowanej f-miary można znaleźć w pracy [37]. Podczas konkursu Discovery Challenge 2009 oraz w trakcie pokonkursowej ewaluacji okazało się, że szybkie dostarczenie rekomendacji jest problematyczne dla wszystkich testowanych systemów. Co więcej, na podstawie analizy rysunków 2.10 oraz 2.9 można dojść do wniosku, że zmniejszenie czasu oczekiwania na odpowiedź z 600 milisekund do 400 milisekund jest istotne dla użytkowników i skutkuje częstszym klikaniem na propozycje szybszego systemu. Ciekawe jest, że algorytmy zbliżone koncepcyjnie do metod osiągających najwyższe wyniki w porównaniu Netflix Prize były bezradne w porównaniu na danych rzeczywistych. Dla tych metod stworzono oddzielną rozgrywkę ze specjalnie oczyszczonymi danymi. W pracach, które ukazały się po zakończeniu obu części ewaluacji pokazano, że korzystanie z szybkich skompilowanych modeli, które nie są aktualizowane w czasie rzeczywistym, prowadzi do stopniowego spadku jakości statystycznej tworzonych rekomen- 22

29 dacji [51, 25]. A zatem wyzwaniem jest budowa modeli, które optymalizują jakość statystyczną rekomendacji przy zachowaniu ograniczeń czasowych. Powyższe obserwacje mogły zostać poczynione dzięki testowaniu systemów w środowisku produkcyjnym. Takie testy są najbardziej wiarygodne. Jednak ze względu na potencjalnie wysoki koszt związany ze spadkiem satysfakcji użytkowników nie mogą być uznane jako powszechna praktyka. Z tego powodu istnieje potrzeba testowania szybkości działania systemów przy pomocy danych sztucznych. Dane te powinny odzwierciedlać rozmaite rzeczywiste własności. Przytoczony przykład otwartej ewaluacji systemów rekomendujących bazuje na danych o strukturze trójdzielnej. Przykład ten stanowi silną motywację dla podjętych badań. W rozprawie uwaga skupiona jest jednak na grafach dwudzielnych. W ostatnich paragrafach niniejszego rozdziału postaramy się uzasadnić, dlaczego podjęto decyzję o takim rozłożeniu akcentów w naszej pracy badawczej. Głównym powodem szczegółowego omówienia ewaluacji ECML/PKDD 2011 Discovery Challenge jest fakt, że według naszej wiedzy jest jedyną otwartą ewaluacją systemów rekomendujących, w której ograniczenia techniczne miały istotny wpływ na ocenę systemów. Zazwyczaj podczas takich konkursów analizowane są dane o strukturze dwudzielnej, jednak parametry techniczne nie są ani oceniane ani nie stanowią warunków dopuszczenia systemu do rywalizacji. Dla przykładu, konkursy takie organizowane są w roku 2011 podczas konferencji ECML/PKDD oraz KDD. Drugim powodem dokonania takiego wyboru jest fakt, że system, który został najlepiej oceniony podczas konkursu Discovery Challenge bazuje na statystykach wyekstrahowanych z trzech grafów dwudzielnych tj. etykieta-zasób, etykieta-użytkownik i zasób-użytkownik. Oznacza to, że problem osadzony w strukturze trójdzielnej rozwiązany został poprzez zrzutowanie go na trzy grafy dwudzielne i odpowiednią synergię wyliczonych wskaźników. Jednocześnie warto nadmienić, że istnieją inne źródła niż konkursy przykonferencyjne wskazujące na trudność oceny parametrów technicznych, gdy użyte są dane dwudzielne. O problemach napotykanych przez osoby wdrażające systemy rekomendujące w warunkach rzeczywistych świadczą liczne dyskusje na specjalistycznych grupach dyskusyjnych. Przykładem zapytania obrazującego typowe problemy jest umieszczony na rysunku Programista wdrożył algorytm rekomendujący oparty na sąsiedztwie przedmiotów i obserwuje, że latencja systemu jest wyższa niż oczekiwał. W rozdziale 4 opisaliśmy prosty model do generowania grafów trójdzielnych. Ścieżka ta nie została rozwinięta w rozprawie. W naszej ocenie problemy charakterystyczne dla takich struktur bliższe są grafom wielomodalnym niż grafom dwumodalnym. Problemy te wymagają dodatkowych badań i zostały wskazane w ostatnim rozdziale rozprawy obejmującym kierunki dalszych prac. Ostatnim powodem, dla którego skupiliśmy się na generowaniu grafów dwudzielnych jest fakt, że nie jest nam znany otwarty system rekomendujący bazujący na danych trójdzielnych. W pracy korzystaliśmy z otwartej biblio- 23

30 Rysunek Zapytanie o złożoność systemu rekomendującego. teki Mahout, która zawiera algorytmy rekomendujące zaimplementowane dla danych o strukturze dwudzielnej. 24

31 3. Klasyczne grafy losowe Graf klasyczny G = (V, E) składa się ze zbioru wierzchołków V oraz zbioru krawędzi łączących nieuporządkowane pary wierzchołków E V V. Grafy klasyczne nazywane są też grafami prostymi [31]. Grafy wykorzystywane są do reprezentowania zbiorów danych o strukturze sieciowej. Taka struktura występuje w naturalny sposób w sieciach technologicznych (sieci telekomunikacyjne, transportowe lub energetyczne), sieciach społecznych (portale społecznościowe, grupy znajomych), sieciach informacyjnych (graf cytowań lub hiperlinków między stronami w internecie), a także sieciach biologicznych (sieci neuronowe, związki między białkami). Rozwój technologii przechowywania i analizowania dużych zbiorów danych sprzyjał w ostatnich 15 latach badaniom struktury grafów reprezentujących rozmaite aspekty rzeczywistości. W monografii [55] zdefiniowano liczne miary grafowe wykorzystywane przy badaniu struktury sieci złożonych (ang. complex networks). Znakomite opracowanie tej dziedziny w języku polskim dostępne jest w [31] Miary opisujące grafy Podstawowa charakterystyka grafu nieskierowanego obejmuje liczbę wierzchołków V oraz liczbę krawędzi E. Stopień lub rząd k i wierzchołka i informuje o liczbie bezpośrednich sąsiadów tego wierzchołka. Średni stopień wierzchołka zadany jest przez 2 E / V. Bardziej złożone miary definiowane są na potrzeby badanych zagadnień. Przykładowo, w celu identyfikacji skupień korzysta się z miar lokalnych do oceny stopnia wzajemności lub modularności wierzchołków (ang. betweenness, modularity). Podczas analizy tempa rozpowszechniania się innowacji lub rozprzestrzeniania się chorób duże znaczenie może mieć liczba spójnych składowych oraz średnia odległość między wierzchołkami w grafie. W rozprawie uwagę skupiliśmy na dwóch charakterystykach, które w naszej ocenie są silnie związane ze złożonością systemów rekomendujących. Pierwszą cechą jest rozkład stopni wierzchołków, drugą własnością jest średnia wartość lokalnego wskaźnika gronowania (ang. local clustering coefficient). Charakterystyczną cechą sieci społecznych jest istnienie małej liczby wierzchołków o dużej liczbie połączeń oraz dużej liczby wierzchołków z małą liczbą bezpośrednich sąsiadów. W sieciach społecznych mogą występować skupienia wzajemnie połączonych wierzchołków. Zjawisko takie określane jest tranzytywnością (ang. transitivity) i opisuje sytuację, w której fakt posiadania wspólnego znajomego przez wierzchołki a i b wpływa dodatnio na prawdopodobieństwo istnienia krawędzi między a i b. Decyzja o skupieniu naszej uwagi na dwóch powyższych własnościach wynika z faktu, iż przypisywana jest im szczególna rola w literaturze zajmującej się badaniem sieci złożonych. Istnieją formalne wyniki pokazujące, że wskazane 25

32 dwie miary silnie wpływają na globalne własności grafów [64]. Jednocześnie o znaczeniu tych własności świadczy fakt, że są to pierwsze dwie własności, którym poświęcono oddzielne sekcje w monografii [31]. i LCC(i) = 2 6 = 0.33 Rysunek 3.1. Wskaźnik gronowania i rozkład stopni wierzchołków w grafie. Wskaźnik gronowania LCC(i) dla wierzchołka i informuje nas, jaka część spośród bezpośrednich sąsiadów i połączona jest krawędzią [31]. Formalnie LCC(i) możemy zapisać jako: (a, b) E : (a, i) E (b, i) E LCC(i) =, (3.1) k i (k i 1)/2 gdzie k i jest stopniem wierzchołka i, natomiast a i b są wierzchołkami (a, b V ). Dla wierzchołka zacienionego z rysunku 3.1 mamy LCC(i) = Tylko dwie krawędzie łączą sąsiadów tego wierzchołka, podczas gdy pomiędzy czterema wierzchołkami można narysować 4(4 1)/2 = 6 nieskierowanych krawędzi. Wskaźnik gronowania dla całego grafu: LCC(G) = i V LCC(i) V (3.2) jest średnią wartością wskaźnika policzoną po wszystkich wierzchołkach. Rozkład stopni wierzchołków dla przykładowego grafu zawarty jest na rysunku 3.1. Na osi rzędnych znajdują się posortowane stopnie wierzchołków w grafie, natomiast na osi odciętych mamy informacje, jaka część wierzchołków ma dany stopień. Wyznaczenie rozkładu stopni wierzchołków nie nastręcza trudności, jednak analiza samego rozkładu wymaga bardziej zaawansowanych narzędzi. Trzy podstawowe kształty, jakie rozważa się przy 26

33 Liczba wierzchołków badaniu rozkładów stopni wierzchołków opisane są rozkładem potęgowym (ang. power-law), rozkładem wykładniczym (ang. exponential) oraz rozkładem Poissona. Warto nadmienić, że rozkład Poissona jest rozkładem granicznym [42] rozkładu dwumianowego, który został wprowadzony w sekcji 1.3. Poisson Potęgowy Wykładniczy Stopień wierzchołka Rysunek 3.2. Trzy podstawowe rozkłady stopni wierzchołków. Różnice między tymi rozkładami uwidocznione zostały na rysunku 3.2. Ważną cechą rozkładu Poissona jest bliskość mody i wartości średniej. W pozostałych rozkładach moda jest zbliżona do lewej granicy dziedziny. Dodatkowo rozkład Poissona nie ma własności długiego ogona. Własność ta opisuje szybkość zanikania funkcji gęstości. Przyjmuje się, iż własność długiego ogona mają rozkłady, których funkcje gęstości nie są wykładniczo ograniczone [5]. Rozkład potęgowy nie zanika tak szybko dla wysokich stopni wierzchołków, jak rozkład wykładniczy. Funkcja gęstości 1 (ang. probability density function - pdf ) rozkładu wykładniczego [42] zadana jest przez: pdf EX (x; λ) = λe λx, (3.3) gdzie λ > 0 jest parametrem. Funkcja gęstości rozkładu potęgowego [31] przyjmuje postać: pdf P L (x; ϑ, κ) = ϑx κ, (3.4) 1 Analizowane rozkłady są w rzeczywistości dyskretne. W celu uproszczenia rozważań w literaturze stosuje się rozkłady ciągłe. Tę konwencję stosujemy także w niniejszej pracy. 27

34 gdzie ϑ > 0 i κ > 0 są parametrami. Mówi się, że kształt rozkładu potęgowego jest bezskalowy (ang. scale-free). Wynika to z faktu, że dla dowolnego ξ mamy: pdf P L (ξx) = ϑ(ξx) κ = ξ κ pdf P L (x). Ze względu na dużą rozpiętość dziedziny korzysta się z przedstawienia obu rozkładów na skalach zlogarytmizowanych. Ciekawą własnością rozkładu potęgowego jest układanie się punktów w linię prostą w takim przedstawieniu. Wynika to z faktu, że: log(pdf P L (x)) = κ log(x) + log(ϑ). Łatwo można zauważyć, że powyższa zależność równoważna jest równaniu liniowemu Y = ax + b, w którym Y = log(pdf P L (x)) oraz X = log(x) Własności danych rzeczywistych W tabeli 3.2 przedstawione są parametry grafów nieskierowanych występujących w różnych dziedzinach. Tabela została opracowana jako podzbiór grafów dostępnych w [55] wzbogacony o ostatnią kolumnę. W zestawieniu V oznacza liczbę wierzchołków, E jest liczbą krawędzi, 2 E / V jest średnim stopniem wierzchołka. Współczynnik skalowania κ (por. wzór 3.4) podany jest tylko dla rozkładów potęgowych. LCC oznacza wskaźnik gronowania. Formuła z ostatniej kolumny reprezentuje prawdopodobieństwo istnienia krawędzi między dwoma losowo wybranymi wierzchołkami. Formuła wyznaczona jest jako iloraz liczby krawędzi E przez liczbę możliwych krawędzi nieskierowanych pomiędzy V wierzchołkami (tj. V ( V 1)/2). V E 2 E / V κ LCC 2 E V ( V 1) Student dating Internet Power grid Train routes Electronic circuits Peer-to-peer network Metabolic network Protein interaction Tabela 3.1. Statystyki opisowe dla grafów z różnych dziedzin. Powyższe grafy opisują sieci występujące w ośmiu różnych dziedzinach: randki studenckie (ang. student dating), sieć połączeń między serwerami (ang. internet), sieć energetyczna (ang. power grid), połączenia kolejowe (ang. train routes), obwody elektroniczne (ang. electronic circuits), sieć między użytkownikami internetu (ang. peer-to-peer), połączenia metaboliczne (ang. metabolic network) oraz interakcje między białkami (ang. protein interaction). Wybrane grafy dotyczą nie tylko różnych dziedzin, ale posiadają zróżnicowane parametry związane z wielkością bądź zagęszczeniem sieci. 28

35 Zwróćmy uwagę na dwie własności przedstawionych grafów. W pięciu spośród przedstawionych sieci stopnie wierzchołków posiadają rozkład potęgowy. Dla siedmiu przypadków wartość wskaźnika gronowania jest wyższa niż prawdopodobieństwo istnienia krawędzi pomiędzy losowo wybranymi wierzchołkami. Wyniki te wskazują, jakie cechy powinien spełniać generator grafów losowych, jeżeli chcielibyśmy użyć go do modelowania danych rzeczywistych. W sekcji 3.3 pokażemy, że najprostsze koncepcyjnie modele grafów losowych nie są w stanie wygenerować danych syntetycznych z powyższymi cechami. Wskażemy też grafy losowe, które pozwalają na otrzymanie rozkładu stopni wierzchołków o własności długiego ogona oraz na budowę grafów charakteryzujących się wyższym wskaźnikiem gronowania niż 2 E /[ V ( V 1)]. W rozprawie skupiamy się na dwóch cechach danych rzeczywistych tj. rozkładzie stopni wierzchołków oraz wartości wskaźnika gronowania. Wybór ten wynika powodów przytoczonych we wstępie do sekcji 3.1 oraz naszego subiektywnego przekonania o ich wpływie na techniczne własności systemów rekomendujących. Należy jednak nadmienić, że w ostatnich latach zidentyfikowano wiele interesujących własności grafów rzeczywistych. Próba zrozumienia tych własności doprowadziła do budowy nowych modeli teoretycznych. Przykładami takich własności są: współwystępowanie wysokiego wskaźnika gronowania oraz niewielkiej odległości miedzy dowolnymi dwoma wierzchołkami, zagęszczanie się sieci wraz z jej wzrostem, występowanie w sieci jednej dużej spójnej składowej oraz licznych satelickich skupień. Pierwsza z powyższych własności określana jest mianem małego świata [31]. Model służący do odtworzenia takiej sytuacji polega na transformacji sieci zawierającej tylko gęste lokalne połączenia w sieć wypełnioną odległymi połączeniami pomostowymi [66]. Druga własność została zaobserwowana w [50]. Model służący do generowania zagęszczających się sieci oparty jest na obserwacji, że węzły w grafach rzeczywistych układają się w hierarchiczną strukturę. W celu odtworzenia trzeciej własności zaproponowano generator, w którym każdy wierzchołek może pełnić jedną z trzech funkcji: pasywną (ang. passive), łączącą (ang. linker) lub zapraszającą (ang. inviter) [46] Modele grafów losowych W niniejszej sekcji opisany zostanie klasyczny model grafów losowych zaproponowany przez wybitnego węgierskiego matematyka Paula Erdösa. Prostota tego modelu pozwala na matematyczną analizę licznych złożonych własności grafów losowych. Jednak otrzymane rozkłady stopni wierzchołków oraz wskaźniki gronowania nie są zbliżone do poziomów rzeczywistych. Trzy kolejne modele zbudowane są w oparciu o koncepcje pozwalające odtworzyć te własności. Model preferencyjnego dołączania zaproponowany przez Barabásiego prowadzi do potęgowego rozkładu stopni wierzchołków. Modyfikacja tego modelu wprowadzona przez Liu daje możliwość osłabienia własności długiego ogona i skutkuje rozkładem będącym mieszaniną rozkładów 29

36 wykładniczego i potęgowego. Ostatnim omawianym modelem jest generator Vázqueza, który wykorzystuje mechanizmy chodzenia losowego do kontroli poziomu wskaźnika gronowania Model Erdösa Analiza grafów losowych Erdösa przeprowadzana jest przy pomocy jednej z dwóch równoważnych konstrukcji teoretycznych [64]. W pierwszym podejściu bada się średnią wartość analizowanych własności w rodzinie grafów o dokładnie V wierzchołkach i E krawędziach. W drugim wariancie studiuje się graf zawierający V wierzchołków, w którym prawdopodobieństwo istnienia krawędzi między dowolnymi dwoma wierzchołkami τ jest stałe. Druga konstrukcja jest wygodniejsza analitycznie i pozostaniemy przy niej. Liczba krawędzi jest zmienną losową. Oznaczając przez E (X) wartością oczekiwaną zmiennej losowej X, możemy zapisać wartość oczekiwaną liczby krawędzi w grafie Erdösa jako: V ( V 1) E ( E ) = τ. (3.5) 2 Zgodnie z definicją grafu losowego przytoczoną w sekcji 1.3 przyjmujemy, że jest to graf z konkretnymi wierzchołkami i konkretnymi krawędziami. Tak też jest dla grafów losowych utworzonych zgodnie z konstrukcja Erdösa. Decyzja o tym, które wierzchołki ze zbioru V są połączone podejmowana jest niezależnie dla każdej pary wierzchołków, czyli V ( V 1)/2 razy. Prawdopodobieństwo umieszczenia krawędzi między dwoma wierzchołkami wynosi τ. Zauważmy, że w tak skonstruowanym grafie prawdopodobieństwo, że losowy wierzchołek ma dokładnie k sąsiadów zadane jest przez: ( ) V 1 f(k; V, τ) = τ k (1 τ) V k 1. (3.6) k Równanie 3.6 odpowiada sytuacji, w której dla analizowanego wierzchołka wybrano k spośród V 1 możliwych sąsiadów. Prawdopodobieństwo, że każdy z k węzłów jest sąsiadem wynosi τ k, natomiast prawdopodobieństwo, że każdy z pozostałych V 1 k węzłów nie jest sąsiadem wynosi (1 τ) V k 1. Powyższa formuła opisuje rozkład dwumianowy. Rozkład Poissona jest rozkładem granicznym rozkładu dwumianowego. Z tego powodu grafy te nazywane są grafami Poissona. Stąd wynika, że klasyczne grafy losowe nie są w stanie wygenerować potęgowego lub wykładniczego rozkład stopni wierzchołków. Zauważmy, że oczekiwana wartość współczynnika gronowania (por. równanie 3.2) dla grafów Erdösa jest równa τ. Wynika to z faktu, że w tych grafach nie występują skupienia lub korelacje między wierzchołkami. Zatem fakt posiadania wspólnego sąsiada przez wierzchołki a i b nie zmienia prawdopodobieństwa istnienia krawędzi łączącej a z b, które jest równe τ. Jeżeli przyjęlibyśmy, że grafy z tabeli 3.2 powstały za pomocą konstrukcji Erdösa z pewnym τ, wówczas formuła w ostatniej kolumnie może być postrzegana jako estymator τ oraz estymator wskaźnika gronowania. Widzimy, że dla sześciu spośród ośmiu grafów wartość rzeczywista wskaźnika gronowania (przedostatnia kolumna) jest znacznie wyższa niż wartość estymowana. Roz- 30

37 bieżność ta może być przypisana błędnemu założeniu o tym, w jaki sposób powstały te grafy. A tym samym wskazuje drugą istotną słabość konstrukcji Erdösa. Jeżeli przyjmiemy, że iloraz oczekiwanej liczby krawędzi przez liczbę wierzchołków jest stały, wówczas po przekształceniu równania 3.5 otrzymujemy: LCC Erdös V 1, (3.7) czyli wskaźnik gronowania dla grafów Erdösa maleje wraz ze wzrostem liczby wierzchołków V. Prostota konstrukcji grafów Erdösa skutkuje z jednej strony powyższymi ograniczeniami. Z drugiej strony grafy te dobrze poddają się matematycznej analizie. Można na ich przykładzie udowodnić własności, które są poza zasięgiem narzędzi formalnych dla innych konstrukcji grafów losowych [64]. Można przykładowo pokazać, że średnia odległość między losowymi wierzchołkami rośnie wraz ze wzrostem grafu. Badania empiryczne pokazują, że jest to kolejna własność nieobserwowana w rzeczywistości [50] Model Barabásiego Barabási zaproponował model [6], który prowadzi do potęgowego rozkładu stopni wierzchołków. Dodatkowo poziom wskaźnika gronowania jest wyższy niż dla grafów Erdösa. Model opiera się na połączeniu dwóch mechanizmów. Pierwszym mechanizmem jest iteracyjny wzrost sieci. Drugim mechanizmem jest preferencyjne dołączanie. Warto nadmienić, że żaden z tych mechanizmów użyty osobno nie prowadzi do potęgowego rozkładu stopni wierzchołków. Graf inicjowany jest z m wierzchołkami, z których każdy posiada co najmniej jedną krawędź. W kolejnych krokach do grafu dodawane są nowe wierzchołki. Każdy nowy wierzchołek posiada η krawędzi i poszukuje w grafie wierzchołków, z którymi się połączy. Przyjmuje się, że prawdopodobieństwo zostania wylosowanym dla istniejącego wierzchołka jest proporcjonalne do stopnia wierzchołka. Można pokazać, że rozkład stopni wierzchołków w tak generowanym grafie zbiega do rozkładu potęgowego z wykładnikiem równym 3. Barabási pokazał eksperymentalnie, że wskaźnik gronowania w jego grafach zanika wolniej niż w grafach Erdösa: LCC Barabási V 3/4. (3.8) Oszacowanie Barabásiego zostało skorygowane przy pomocy narzędzi formalnych przez Bollobása [9]: log( V )2 LCC Bollobás. (3.9) V Porównanie zależności pomiędzy kształtem wskaźnika gronowania z równań 3.7, 3.8 i 3.9 oraz liczbą wierzchołków umieszczone jest na rysunku 3.3. Rysunek ten pokazuje kształt, a nie wartości bezwzględne wskaźnika. Reasumując, model preferencyjnego dołączania pozwala wygenerować grafy o własnościach bliższych rzeczywistym niż model Erdösa. Model Barabásiego posiada jednak ograniczenia, których nie posiadają dwa kolejne 31

38 wskaźnik gronowania (LCC) Erdos Barabasi Bolobas liczba wierzchołków Rysunek 3.3. Kształt wskaźnika gronowania a liczba wierzchołków. modele. Pierwszym ograniczeniem jest fakt, że wygenerowane rozkłady stopni wierzchołków zawsze mają rozkład potęgowy o wykładniku 3. Drugim ograniczeniem jest fakt, że pomimo wzrostu wartości wskaźnika gronowania nie posiadamy mechanizmu do kontroli jego natężenia. W literaturze zaproponowano modele [3], w których siłę natężenia własności długiego ogona można kontrolować poprzez budowę grafów z wykładnikami rozkładu potęgowego różnymi od 3. Również analizowano modele, w których uzyskuje się rozkład potęgowy bez jawnego korzystania z zasady preferencyjnego dołączania [40]. W rozprawie przedstawimy szczegółowo model, który nie modyfikuje kształtu rozkładu potęgowego, ale osłabia własność długiego ogona poprzez zmieszanie rozkładu potęgowego z rozkładem wykładniczym. Skorzystamy z mechanizmu występującego w tym modelu przy budowie naszego generatora grafów dwudzielnych Model Liu Według naszej wiedzy model Liu [52] był jednym z pierwszych modeli uwzględniających jednocześnie elementy preferencyjnego i jednostajnego dołączania. Niezależnie podobne modele studiowano w [58, 45]. Mechanizm iteracyjnej konstrukcji grafu jest analogiczny do podstawowego modelu Barabásiego. W modelu preferencyjnego dołączania prawdopodobieństwo, że istniejący węzeł zostanie wylosowany jako sąsiad nowego węzła wynosi: π P REF (j) = k j i V k, (3.10) i gdzie k j jest stopniem wierzchołka j. Jeżeli przyjmiemy, że prawdopodobieństwo bycia wylosowanym nie zależy od stopnia wierzchołka, wówczas formuła analogiczna do równania 3.10 przyjmuje postać: 32

39 π UNI (j) = 1 V. (3.11) Liu wprowadził parametr ϱ do regulowania natężenia obu reguł: π(j) = (1 ϱ)k j + ϱ j V [(1 ϱ)k j + ϱ]. (3.12) Kształt rozkładu stopni wierzchołków uwzględniający oba mechanizmy ma postać [52]: P (k) ( k + ς ) (3+ς) η, gdzie ς = 1 + ς ϱ η(1 ϱ). (3.13) W powyższej formule η oznacza liczbę krawędzi dodawanych do grafu w każdej iteracji. Można sprawdzić, że gdy ϱ = 0, wówczas P (k) staje się rozkładem potęgowym o wykładniku równym 3. Na podstawie własności: ( e c = lim 1 + c ) N, (3.14) N N można z kolei wykazać, że gdy ϱ 1, wówczas P (k) zbliża się kształtem do rozkładu wykładniczego: Model Vázqueza P (k) e k/η. (3.15) Model zaproponowany przez Vázqueza [63] pozwala generować sieci, w których wartość współczynnika gronowania zależy od parametrów generatora. Modyfikacja modelu pozwalająca uprościć jego analizę formalną została przedstawiona w [64]. Niezależnie podobny mechanizm tworzenia sieci został zaproponowany przez White a w [68]. W przeciwieństwie do koncepcji zawartej w modelach preferencyjnego dołączania, model Vázqueza nie wymaga posiadania wiedzy globalnej o strukturze całej sieci. Vázquez podaje przykład sieci cytowań. Według niego naukowcy trafiają w sposób losowy na interesujący artykuł, a następnie zgłębiają strukturę połączeń między artykułami zawartymi w bibliografii. Na rysunku 3.4 znajduje się zarys postępowania w modelu Vázqueza. Oryginalny model Vázqueza wykorzystywany jest do budowy sieci skierowanych. Na samym początku tworzony jest mały skierowany graf w celu inicjalizacji procesu. W każdej iteracji dodawany jest jeden wierzchołek. Wybiera on w sposób losowy sąsiada spośród wierzchołków już istniejących. Nowy wierzchołek łączy się z wylosowanym sąsiadem. Następnie wykonuje określoną liczba kroków od tego sąsiada (wierzchołek surfuje). W każdym kroku podejmowana jest decyzja, czy utworzyć krawędź do odwiedzonego wierzchołka. Po przejściu wszystkich kroków dodawany jest nowy wierzchołek i proces chodzenia jest powtarzany. Mechanizm penetrowania sąsiedztwa wylosowanych wierzchołków skutkuje powstawaniem lokalnych skupień i wzrostem wartości wskaźnika gronowania. 33

40 Rysunek 3.4. Mechanizm chodzenia po sieci w modelu Vázqueza. 34

41 4. Grafy losowe o złożonej strukturze Niniejszy rozdział poświęcony jest grafom o złożonej strukturze. Grafy takie stanowią naturalną reprezentację danych w licznych rzeczywistych sytuacjach. Uwagę skupimy na grafach dwudzielnych. Opisane zostaną metody adaptacji klasycznych miar grafowych. Przedstawione zostaną przykładowe grafy dwudzielne. Dokonamy również przeglądu istniejących algorytmów służących do generowania takich grafów. Dodatkowo przedstawione zostaną przykłady obejmujące grafy trójdzielne. Na koniec rozdziału zebrane zostaną ograniczenia dotychczasowych modeli służących do generowania grafów dwudzielnych. Ograniczenia te posłużą do konstrukcji nowego generatora grafów dwudzielnych w kolejnym rozdziale Sytuacje wymagające złożonej reprezentacji Przy pomocy grafów można przedstawiać struktury zawierające liczne typy obiektów oraz rozmaite relacje między nimi. Można wyobrazić sobie sytuację, w której relacyjną bazę danych lub wyekstrahowaną z niej ontologię wizualizujemy przy pomocy grafu. W naszych badaniach nie modelowaliśmy struktur grafowych o tak złożonej strukturze. Jednakże jest to naturalny kierunek do uogólnienia wyników opisanych w rozprawie. W niniejszym rozdziale rozważamy dwie klasy grafów złożonych. Pierwszą klasą są grafy dwudzielne, drugą trójdzielne hipergrafy. Grafy dwudzielne różnią się od grafów klasycznych tym, że zbiór wierzchołków można podzielić na dwie rozłączne grupy. Natomiast krawędzie występują tylko pomiędzy wierzchołkami z różnych grup [31]. Drugą klasą są hipergrafy trójdzielne. Posiadają one również więcej niż jeden typ wierzchołków - dokładnie trzy. Dodatkowo, w odróżnieniu od grafów klasycznych, krawędzie nie łączą dwóch wierzchołków, lecz trzy wierzchołki [37]. Grafy dwudzielne stanowią optymalną reprezentację dla danych zawartych w rzadkich macierzach prostokątnych. Macierze takie występują powszechnie w sieciach społecznych. Przykładowe dane o strukturze dwudzielnej podane są w tabeli 4.1. W zbiorze CEO wierzchołkami jednej modalności są kierownicy przedsiębiorstw, drugą modalność stanowią kluby, natomiast krawędzie oznaczają przynależność kierownika do danego klubu. W zbiorach CiteULike 1, YouTube 2, Flickr 3, LiveJournal 4 oraz Orkut 5 jedna modalność obejmuje użytkowników portali, a drugą modalnością są grupy tematyczne,

42 w których użytkownicy są zapisani. Baza IMDB 6 zawiera aktorów oraz filmy, w których aktorzy grali. użytkownicy (1) przedmioty (2) krawędzie (3) CEO [65] YouTube [53] Flickr [53] LiveJournal [53] Orkut [53] CiteULike IMDB cooking-comments cooking-tags game-development-comments game-development-tags gaming-comments gaming-tags photography-comments photography-tags server-fault-comments server-fault-tags stack-apps-comments stack-apps-tags statistical-analysis-comments statistical-analysis-tags super-user-comments super-user-tags ubuntu-comments ubuntu-tags web-applications-comments web-applications-tags webmasters-comments webmasters-tags Tabela 4.1. Statystyki opisowe rzeczywistych grafów dwudzielnych. Pozostałe grafy pobrano z repozytorium Clear-Bits 7. Zawierają one informacje o aktywności użytkowników forów dyskusyjnych. W zbiorach opatrzonych sufiksem -comments przedmiotami są wątki wiadomości w których użytkownicy uczestniczyli. W zbiorach zakończonych sufiksem -tags wątki postrzegane są jako użytkownicy, natomiast słowa kluczowe przypisane do wątków są przedmiotami. Często przy badaniu danych o strukturze dwudzielnej dokonuje się rzutowania wierzchołków na jedną z modalności. W ten sposób powstaje graf klasyczny zawierający jedynie krawędzie pomiędzy wierzchołkami jednego

43 typu. Z sytuacją taką mamy do czynienia, gdy indukuje się istnienie relacji między aktorami, którzy zagrali w jednym filmie lub między managerami zasiadającymi w zarządach tych samych firm. W pracy [54] zaproponowano interesujący sposób rzutowania grafu sprzedawca-kupujący w portalach aukcyjnych. Sposób ten rozszerza typową procedurę polegającą na kreśleniu krawędzi w zrzutowanym grafie między wierzchołkami, które są połączone ścieżką o długości dwa w grafie dwudzielnym. Wprowadzono dwa parametry, które pozwalają dopasować sposób rzutowania do konkretnych zastosowań. Struktura zrzutowanego grafu pozwala na adaptację mechanizmów chodzenia losowego i konstrukcję nowych wskaźników mierzących poziom zaufania i braku zaufania do sprzedawców w portalach aukcyjnych. Większość badań opisanych w rozprawie dotyczy grafów dwudzielnych. Warto jednak przyjrzeć się hipergrafom trójdzielnym. Występują one coraz częściej w sieciach społecznych i problemy związane z ich modelowaniem pokrywają się w dużej mierze z problemami, jakie napotykamy przy modelowaniu grafów dwudzielnych. Hipergrafy trójdzielne stanowią naturalną reprezentację danych gromadzonych w personalizowanych serwisach do zapamiętywania zasobów cyfrowych (ang. bookmarking portal). W takim kontekście nazywa się je folksonomiami (ang. folksonomy). Formalnie poprzez folksonomię [14] rozumie się czwórkę F := {U, T, R, Y }. U, T i R są skończonymi zbiorami reprezentującymi użytkowników, etykiety (ang. tags) i zasoby (ang. resource). Y jest relacją trójwartościową Y U T R oznaczającą fakt przypisania etykiety danemu zasobowi przez danego użytkownika. Dane o strukturze folksonomii zidentyfikowano również w innych dziedzinach. W pracy [44] strukturę taką rozważa się w kontekście łączenia użytkowników wyszukiwarek internetowych ze stronami i słowami użytymi w zapytaniu. Na wydruku 4.1 umieszczone zostały dane rzeczywiste stanowiące fragment folksonomii portalu CiteULike 8. Powyższy wydruk zawiera dane rzeczywiste w postaci, w jakiej są one przekazywane do badań. Na wydruku znajdują się cztery kolumny oddzielone znakami belki " ". W pierwszej kolumnie znajduje się identyfikator użytkownika, w drugiej mamy wartość funkcji haszującej dla zapisanego zasobu. Następnie pojawia się znacznik czasu i w ostatniej kolumnie występuje pojedyncza etykieta. Na przykład użytkownik 127 użył trzy etykiety - search, networks i local, aby oznaczyć publikację z wartością funkcji haszującej zaczynającą się od 61baae. Zauważmy, że użytkownik 124 użył tylko dwa wyrażenia networks i datasets do oznaczenia tego samego zasobu (ta sama wartość funkcji haszującej w drugiej kolumnie) Adaptacja klasycznych miar grafowych Większość miar zdefiniowanych dla grafów klasycznych można bez modyfikacji przenieść na grafy dwudzielne. Z naszego punktu widzenia istotne są dwie miary, które wymagają modyfikacji. Pierwszą miarą jest średnia wielkość sąsiedztwa w grafie. Drugą miarą jest wskaźnik gronowania. Omówiony 8 Pełne dane można uzyskać do celów badawczych postępując zgodnie z instrukcją na stronie 37

44 101 61baaeba8de136d9c1aa9c18ec3860e :27: motifs baaeba8de136d9c1aa9c18ec3860e :27: networks baaeba8de136d9c1aa9c18ec3860e :27: original baaeba8de136d9c1aa9c18ec3860e :13: citeulike baaeba8de136d9c1aa9c18ec3860e :13: search baaeba8de136d9c1aa9c18ec3860e :13: networks baaeba8de136d9c1aa9c18ec3860e :12: search baaeba8de136d9c1aa9c18ec3860e :12: networks baaeba8de136d9c1aa9c18ec3860e :43: networks baaeba8de136d9c1aa9c18ec3860e :43: datasets 125 0c3ce174dae aca f :54: concepts baaeba8de136d9c1aa9c18ec3860e :12: search baaeba8de136d9c1aa9c18ec3860e :12: networks baaeba8de136d9c1aa9c18ec3860e :12: local Rysunek 4.1. Fragment folksonomii z portalu CiteULike. sposób szacowania wielkości sąsiedztwa oparty jest na koncepcji i założeniach tzw. modelu konfiguracyjnego [56]. Wskaźnik gronowania liczony zgodnie z klasyczną definicją [31] wymaga adaptacji do grafów dwudzielnych i taką adaptację zaproponujemy Wielkość sąsiedztwa Liczba sąsiadów pierwszego rzędu dla wierzchołka n (lub wielkość sąsiedztwa pierwszego rzędu) w grafie klasycznym G(V, E) oznaczana jest przez N 1 (n). Wielkość ta informuje nas z iloma wierzchołkami połączony jest krawędzią wierzchołek n. Średnia wartość tej statystyki po wszystkich wierzchołkach w grafie równa jest 2 E / V. Jeżeli założymy, że graf ma lokalnie strukturę drzewiastą (ang. locally tree-like), to możemy oszacować liczbę drugich sąsiadów N 2 (n) (oddalonych o dwie krawędzie) jako iloczyn liczby pierwszych sąsiadów i średniego stopnia sąsiada wierzchołka n (rys. 4.2). W celu wyprowadzenia średniego stopnia losowego wierzchołka korzysta się z założenia, że graf powstał przy pomocy modelu konfiguracyjnego [55]. W modelu konfiguracyjnym mamy określony zbiór wierzchołków V i w pierwszym kroku losujemy dla każdego wierzchołka liczbę krawędzi, która od niego wychodzi. Liczby krawędzi wychodzących losowane są z zadanego rozkładu prawdopodobieństwa. Oznaczmy przez k i k 2 pierwszy i drugi moment rozkładu, z którego losujemy stopnie wierzchołków. Dla wystarczająco dużego grafu możemy przyjąć, że pierwszy i drugi moment rozkładu stopni wierzchołków w próbie jest równy wartościom k i k 2. Przejście to powoduje, że wyprowadzane formuły mają charakter asymptotyczny. Drugim i zarazem ostatnim krokiem konstrukcji grafu jest łączenie końcówek krawędzi. Dla każdej końcówki losuje się zakończenie. Prawdopodobieństwo, że końcówka zostanie wylosowana jako zakończenie jest równe dla wszystkich końcówek. Dla tak skonstruowanego grafu można wyznaczyć formułę asymptotyczną na średni stopień sąsiada losowego wierzchołka. Niestety konstrukcja 38

45 GRAF losowy wierzchołek średni stopień losowego wierzchołka = k sąsiedni wierzchołek średni stopień sąsiedniego wierzchołka k 2 k Rysunek 4.2. Średni stopień sąsiedniego wierzchołka. ta ma pewne ograniczenia. Przykładowo niektóre końcówki krawędzi mogą nie znaleźć pary. Szczegółowa analiza problemów związanych z modelem konfiguracyjnym zawarta jest w [55]. Dla wierzchołka n średni stopień jego sąsiadów liczony jest jako: D 1 (n) = j N 1 (n) k j N 1 (n), (4.1) gdzie k j jest stopniem wierzchołka j, będącego sąsiadem n. Średni stopień sąsiedniego wierzchołka w całym grafie rozumiemy jako średni stopień sąsiadów zadanych równaniem 4.1 policzony po wszystkich wierzchołkach w grafie, tj. n V. Średni stopień sąsiedniego wierzchołka w grafie zadany jest przez poniższą formułę [55]: D 1 (V ) = k2 k, (4.2) gdzie k 2 jest drugim momentem rozkładu stopni wierzchołków. A zatem średnia liczba drugich sąsiadów losowo wybranego wierzchołka wynosi: ( ) k 2 N 2 (V ) = k k 1. (4.3) W celu wyprowadzenia formuły 4.2 wybierzemy losowy wierzchołek n (każdy wierzchołek ma równe prawdopodobieństwo bycia wylosowanym). Średnio n będzie miał k bezpośrednich sąsiadów. Dla wystarczająco dużego grafu każda z k krawędzi łączy n z innym wierzchołkiem. Zgodnie z definicją modelu konfiguracyjnego, prawdopodobieństwo, że losowa krawędź w grafie G jest zakończona w pewnym wierzchołku jest proporcjonalne do liczby wszystkich krawędzi które wchodzą do wierzchołka. A zatem prawdopodobieństwo, że 39

46 losowa krawędź jest połączona z wierzchołkiem i o stopniu k i wynosi Stąd średni stopień sąsiedniego wierzchołka zadany jest przez: k i i V k2 i D 1 (V ) = i V k i j V k j = j V k j k i P j V k j. = k2 k. (4.4) Możemy pokazać, że powyższa wartość jest nie mniejsza niż k, czyli średni stopień sąsiedniego wierzchołka jest nie mniejszy niż średni stopień wierzchołka w grafie. W tym celu przywołajmy nierówność Cauchy-Schwartz: ( N ) 2 ( N x w y w w=1 w=1 x 2 w Kładąc x w = 1 dla w = 1,..., N otrzymujemy: a zatem: N w=1 y w N ( N ) 2 ( N y w N w=1 ( N w=1 y2 w ( N w=1 y w ) ( N w=1 ) /N ) /N y 2 w w=1 ) y 2 w ). (4.5), (4.6) y y2 y. (4.7) W celu wyrobienia dodatkowej intuicji o tym, od czego zależy wielkość k 2, możemy skorzystać z równania opisującego zależność między wariancją zmiennej losowej X oraz pierwszym i drugim momentem rozkładu tej k zmiennej: V ar(x) = X 2 X 2. (4.8) Zależność 4.8 pokazuje, że przy stałym pierwszym momencie rozkładu stopni wierzchołków, wraz ze wzrostem wariancji tego rozkładu wzrasta średni stopień sąsiedniego wierzchołka. A tym samym wzrasta średnia wielkość sąsiedztwa drugiego rzędu. Średnia liczba sąsiadów drugiego i kolejnych rzędów może być wyznaczona w sposób rekurencyjny. Dla grafów dwudzielnych G(U I, E) formuła 4.3 musi uwzględniać fakt, że wierzchołki obu modalności mogą posiadać różne rozkłady. Adaptacja miary 4.3 na przypadek grafów dwudzielnych została opisana przez Newmana [56]. Średnia liczba drugich sąsiadów losowego użytkownika u U wynosi: ( ) v 2 N 2 (U) = u v 1, (4.9) gdzie u jest średnim stopniem wierzchołka pierwszej modalności u U (użytkownik). Natomiast v 2 i v są drugim i pierwszym momentem rozkładu stopni wierzchołków drugiej modalności v I (przedmiot). Średnia liczba sąsiadów odległych o trzy kroki od losowego użytkownika u zadana jest przez: 40

47 Użytkownicy u - pierwszy moment rozkładu stopni wierzchołków typu użytkownik u 2 - drugi moment rozkładu stopni wierzchołków typu użytkownik u v2 v 1 Średnia liczba drugich sąsiadów losowego użytkownika Przedmioty v - pierwszy moment rozkładu stopni wierzchołków typu przedmiot v 2 - drugi moment rozkładu stopni wierzchołków typu przedmiot u v2 v 1 u 2 u 1 średnia liczba trzecich sąsiadów losowego użytkownika u średnia liczba pierwszych sąsiadów losowego użytkownika Rysunek 4.3. liczba drugich sąsiadów losowego wierzchołka w grafie dwudzielnym. ( ) ( ) v 2 u 2 N 3 (U) = u v 1 u 1, (4.10) gdzie u 2 jest drugim momentem rozkładu stopni wierzchołków typu użytkownik. Będziemy używać określenia formuła Newmana do wskazania na równania 4.9 i Wskaźnik gronowania Wskaźnik gronowania zdefiniowany równaniem 3.1 przyjmuje wartości z przedziału [0, 1] dla wierzchołków w grafach klasycznych. Problem pojawia się, gdy chcemy obliczyć wartość wskaźnika gronowanania dla grafów dwudzielnych. Licząc LCC( ) dla grafu dwudzielnego zawsze otrzymamy zero. Wynika to z faktu, że w grafie dwudzielnym istnieją tylko krawędzie między wierzchołkami przeciwnych modalności. Próbę definicji wskaźnika gronowania dla grafów dwudzielnych podjęto w [47]. Zaproponowano dwie definicje wskaźnika gronowania dla grafów dwudzielnych. Ograniczeniem pierwszej definicji jest fakt, iż wskaźnik liczony jest dla pary wierzchołków, a nie dla pojedynczego wierzchołka. Druga definicja jest wprawdzie liczona dla pojedynczego wierzchołka, lecz bazuje na pierwszej definicji. Pomimo faktu, że wskaźniki te mierzą pewne własności grafów, to nie pokazano związku między nimi, a wskaźnikiem gronowania dla grafów klasycznych. W tym miejscu warto przytoczyć prace prowadzone w celu konstrukcji wskaźnika gronowania dla grafów zawierających wierzchołki wielu ty- 41

48 pów. Strategia opisana w [39, 11] polega na budowie grafu składającego się z warstw semantycznych. Każda warstwa odpowiada relacjom indukowanym z dwudzielnych podzbiorów grafu oryginalnego. Następnie definiuje się wielowarstwowy wskaźnik gronowania. Wskaźnik wykorzystywany jest w procedurze znajdowania skupień w sieci wielowarstwowej [11]. Wskaźnik ten nie może zostać użyty dla grafów dwudzielnych, gdyż zdefiniowany jest dla grafu zawierającego wierzchołki jednego typu [39]. W niniejszym rozdziale pokażemy, że logikę przyświecającą konstrukcji LCC( ) można przenieść na przypadek grafów dwudzielnych. Zdefiniujemy dwudzielny wskaźnik gronowania BLCC( ) (ang. bipartite local clustering coefficient). Wskaźnik BLCC( ) posiada analogiczną interpretację do LCC( ) i mierzy siłę zjawiska przechodniości w grafie. Nasz pomysł polega na zbudowaniu takiego wskaźnika, który będzie liczył liczbę drugich sąsiadów danego wierzchołka i porównywał ją z potencjalną liczbą drugich sąsiadów. Intuicyjnie, im mniej jest sąsiadów drugiego stopnia w stosunku do potencjalnie możliwych, tym gęściej muszą oni być między sobą połączeni. Różnicę tę będziemy normalizować poprzez podzielenie empirycznej wielkości drugiego sąsiedztwa przez liczbę potencjalnych sąsiadów. W ten sposób uzyskamy wskaźnik o wartościach w przedziale [0, 1]. Zaproponujemy dwa sposoby wyznaczenia potencjalnej liczby drugich sąsiadów. W empirycznych grafach klasycznych liczba drugich sąsiadów jest zwykle niższa od potencjalnej liczby drugich sąsiadów policzonych zgodnie z formułą Newmana 4.9 (por. tabela 4.2). Dlatego naszym pierwszym pomysłem na współczynnik gronowania dla grafów dwudzielnych jest wzór Jeżeli analizowany wierzchołek jest typu użytkownik u U, wówczas odległość między rozmiarem drugiego sąsiedztwa pewnego wierzchołka u, a potencjalną liczbą drugich sąsiadów można mierzyć przy pomocy poniższego wyrażenia: N 2 (u) 1 ( ). (4.11) u v 2 1 v Wadą miary 4.11 jest fakt, że może ona przyjmować wartości ujemne. W celu uniknięcia problemów z ujemnymi wartościami wskaźnika gronowania, w dalszej części rozprawy będziemy posługiwać się następującą definicją: BLCC(u) = 1 N 2 (u) v N 1 (u) (k v 1). (4.12) Wskaźnik 4.12 różni się od miary 4.11 sposobem obliczania wielkości potencjalnego sąsiedztwa. W obu wariantach wielkość potencjalnego sąsiedztwa liczona jest przy założeniu o lokalnie drzewiastej strukturze. Jednak dla miary 4.12 poruszamy się w przedziale [0, 1]. Dodatkowo możemy wykazać związki z klasycznym wskaźnikiem gronowania LCC. Zależności miedzy wartością LCC oraz BLCC przeanalizujemy w sytuacji, gdy obie miary zastosowane są dla grafu klasycznego. Porównywanie obu miar dla grafu dwudzielnego jest bezpodstawne, gdyż LCC 0 w takiej sytuacji. Oznaczmy przez f(c) (równanie 4.13) wartość LCC(n c ) policzoną dla losowego wierzchołka n c, charakteryzującego się tym, że wśród jego sąsiadów występuje c połączonych par. Użyjmy g(c) (równanie 4.14) do oszacowa- 42

49 nia BLCC(n c ). Zauważmy, że zgodnie z powyższą konstrukcją do licznika formuły 3.1 możemy wstawić c. Natomiast mianownik przyjmie dla typowego wierzchołka wartość k ( k 1) /2. Dla uproszczenia przyjęliśmy, że liczba sąsiadów losowego wierzchołka z c połączonymi sąsiadami nie zależy od c i wynosi k. Stąd wynika równanie W celu policzenia BLCC(n c ) przyjmujemy, że poza c parami sąsiadów graf posiada strukturę lokalnie drzewiastą. Przy takim założeniu możemy w definicji 4.12 zastąpić k v przez k2 (. k Zatem w mianowniku możemy wstawić k k 2 ). 1 W liczniku w miejsce k N 2 (n c ) podstawiamy: liczbę krawędzi wychodzących od wszystkich sąsiadów typowego wierzchołka k k2, pomniejszona o krawędzie skierowane do k n c i krawędzie wychodzące do pierwszych sąsiadów, czyli k + 2c. Krawędzie między pierwszymi sąsiadami oznaczone są na rysunku 4.4 za pomocą przerywanej linii. Ponieważ krawędzi przerywanych jest c, więc każdą należy policzyć dwukrotnie jako krawędź wychodzącą. Na rysunku 4.4 mamy c = 2. f(c) = 2c k ( k 1) = 2c k 2 k (4.13) ( k 2 ) k 1 2c k 2c g(c) = 1 ( ) = k k 2 1 k 2 k k (4.14) średnia liczba drugich sąsiadów = k k 2 k 1 liczba połączonych par sąsiadów = c średnia liczba pierwszych sąsiadów = k średni stopień sąsiedniego wierzchołka = k2 k Rysunek 4.4. Sposób wyprowadzania zależności między LCC i BLCC. Wyprowadzenie formuły 4.14 oparte jest na bardzo silnych założeniach. Głównym celem tego wyprowadzenia nie jest dokładna estymacja g(c), lecz wskazanie, że dla typowego wierzchołka g(c) zależy w sposób monotoniczny od c. A ponieważ LCC policzone dla wierzchołka o określonym stopniu też rośnie wraz z liczbą połączonych sąsiadów (zmienna c), więc wnioskujemy, iż istnieje zależność między LCC i BLCC. Zależność BLCC od c można dostrzec też w danych rzeczywistych. Na rysunku 4.5 pokazana jest zależność dla sieci Enron. Sieć Enron została zbudowana na podstawie komunikacji elektronicznej między pracownikami firmy Enron i pobrana z repozytorium Stanford Large Network Dataset Collection 9. Graf zawiera

50 wierzchołków i krawędzi, a średni stopień wierzchołka wynosi / = Widzimy, że dla typowych wierzchołków (o stopniu dziesięć) BLCC rośnie wraz ze wzrostem c. LCC również rośnie wraz ze wzrostem c dla wierzchołków o zadanym stopniu (w szczególności o stopniu dziesięć). Wynika to z faktu, iż w formule 3.1 licznik zależy w sposób liniowy jedynie od c, a mianownik zależy jedynie od stopnia wierzchołka. W przeciwieństwie do BLCC, zależność między LCC i c dla wierzchołków danego stopnia nie zależy od struktury analizowanego grafu. BLCC dla wierzchołków o stopniu BLCC liczba połączonych par wśród pierwszych sąsiadów Rysunek 4.5. BLCC dla wierzchołków o stopniu 10 w grafie Enron Własności grafów rzeczywistych W niniejszej sekcji skupimy uwagę na analizie rzeczywistych grafów dwudzielnych pod kątem dwóch własności. Pierwszą własnością jest wskaźnik gronowania. Drugą własnością jest rozkład stopni wierzchołków. Podamy średnią wartość dwudzielnego wskaźnika gronowania w ośmiu grafach dwudzielnych. Dodatkowo pokażemy, że wartość wskaźnika gronowania otrzymana z prostego generatora grafów dwudzielnych (inspirowanego modelem konfiguracyjnym [31]) jest niższa niż w rzeczywistości. Z kolei wynikiem analizy rozkładów stopni wierzchołków będzie obserwacja, że rozkłady są skośne, jednak natężenie własności długiego ogona jest różne dla różnych danych Dwudzielny wskaźnik gronowania W tabeli 4.2 podane są trzy kolumny. Pierwsza kolumna zawiera średnią wielkość rzeczywistego drugiego sąsiedztwa po wszystkich wierzchołkach w grafie. Druga kolumna zawiera średnią wielkość potencjalnego drugiego sąsiedztwa policzoną zgodnie z mianownikiem formuły Ostatnia kolumna zawiera średnią wartość dwudzielnego wskaźnika gronowania obliczonego zgodnie ze wzorem

51 sąsiedztwo rzeczywiste sąsiedztwo potencjalne średni dwudzielny wskaźnik gronowania CEO CiteULike BibSonomy YouTube IMDB Flickr LiveJournal Orkut Tabela 4.2. Wartość wskaźnika gronowania dla danych rzeczywistych. Wartości BLCC zbliżone do jedności świadczą o wysokim natężeniu tranzytywności w grafie. Wartości zbliżone do zera wskazują na strukturę grafu zbliżoną do struktury drzewiastej. Powyższe dane pokazują, że wartość BLCC jest zróżnicowana dla zbiorów danych o różnej wielkości Wskaźnik gronowania w modelu konfiguracyjnym W rozprawie studiujemy modele konstrukcji grafów oparte na mechanizmie iteracyjnego wzrostu. Wybór ten wynika z przeświadczenia o podobieństwie z mechanizmami odpowiedzialnymi za powstawanie danych używanych w systemach rekomendujących. Dodatkowo mechanizm wzrostu pozwala badać jak skalują i odświeżają się oceniane algorytmy. Jeżeli zrezygnujemy z mechanizmu wzrostu, wówczas potencjalnie przydatna może być koncepcja tworzenia grafów o zadanej liczbie wierzchołków z wykorzystaniem modeli konfiguracyjnych. Celem tej sekcji jest uzasadnienie, że ta koncepcja nie jest dobra dla naszych zastosowań. Pokażemy, że w grafach tworzonych w sposób konfiguracyjny zaniżana jest wartość dwudzielnego wskaźnika gronowania. Porównanie wielkości rzeczywistego sąsiedztwa i oraz potencjalnego sąsiedztwa, szacowanego przy pomocy asymptotycznej formuły Newmana, podane jest dla ośmiu grafów w tabeli 4.2. Różnica miedzy tymi dwiema wartościami pokazuje, że w modelu konfiguracyjnym zaniżona jest tranzytywność grafów. Odpowiedzialne za to jest założenie o lokalnie drzewiastej strukturze. Struktura taka występuje w grafach utworzonych za pomocą modelu konfiguracyjnego, gdy liczba wierzchołków jest nieskończenie duża. Gdy liczba wierzchołków jest skończona, wówczas struktura nie musi być lokalnie drzewiasta. W dalszej części zbadamy wartość BLCC dla grafów konfiguracyjnych ze skończona liczbą wierzchołków. W pracy [17] zaproponowaliśmy algorytm losowego rzutowania grafu. Algorytm inspirowany jest modelem konfiguracyjnym dla grafów dwudzielnych [56]. Różnica między modelem konfiguracyjnym dla grafów klasycznych i grafów dwudzielnych polega na tym, że w drugim przypadku krawędzie poszukują swoich zakończeń wśród końcówek wychodzących od wierzchołków przeciwnej modalności. W pracy [33] wskazano, że konstrukcja nie zawiera jednoznacznej informacji jak należy rozwiązywać konflikty pojawiające się podczas łączenia wierzchołków. Przykładem konfliktu jest sytuacja w któ- 45

52 rej suma wylosowanych stopni wierzchołków jednej modalności jest inna niż suma stopni wierzchołków drugiej modalności. Nasza metoda pozwala oszacować BLCC w modelu konfiguracyjnym i nie wymaga globalnego łączenia wszystkich wierzchołków. Łączenie odbywa się lokalnie. Pozwala to zapobiec potencjalnym konfliktom, a jednocześnie obliczyć BLCC. Proponowana procedura składa się z trzech kroków: 1. Estymacja parametrów rozkładów na podstawie danych rzeczywistych. 2. Generowanie otoczenia każdego wierzchołka. 3. Zmierzenie BLCC dla każdego wierzchołka z niezależnie wygenerowanym sąsiedztwem. W procedurze przyjęto, że rozkłady stopni wierzchołków są mieszaniną rozkładu potęgowego i wykładniczego. Rozkład wykładniczy i potęgowy są rozkładami ciągłymi. Do analizy numerycznej skorzystamy z ich dyskretnych odpowiedników tj. rozkładu Zipf a [67] oraz rozkładu geometrycznego [42]. Ponieważ generowanie liczb pseudolosowych wymaga podania przedziału, w jakim działamy, będziemy korzystać z wersji obciętych obu rozkładów. Częstość wierzchołków o stopniu k w obciętym rozkładzie geometrycznym z parametrem q (0, 1) i maksymalnym stopniem K max jest dana przez: pdf GEO (k; q, K max ) = q(1 q) k 1. (4.15) 1 (1 q) Kmax 1 Wartość średnia zmiennej losowej X o powyższym rozkładzie wynosi: E (X) = E GEO (q, K max ) = 1 K max(1 q) Kmax 1 + (K max 1)(1 q) Kmax. (4.16) q(1 (1 q) Kmax 1 ) Można sprawdzić, że obcięcie rozkładu jest realizowane poprzez dzielenie funkcji gęstości rozkładu geometrycznego poprzez wartość dystrybuanty w K max. Powyższą wartość oczekiwaną można wyliczyć poprzez sumowanie elementów szeregu geometrycznego. Częstość wierzchołków o stopniu k w rozkładzie Zipfa z wykładnikiem skalującym κ > 1 oraz maksymalnym stopniem K max dana jest przez: pdf ZIP F (k; κ, K max ) = k κ Kmax w=1 w κ. (4.17) Wartość średnia zmiennej losowej Y o powyższym rozkładzie zadana jest przez: Kmax w=1 E (Y ) = E ZIP F (κ, K max ) = w (κ 1) Kmax. (4.18) w=1 w κ Mieszaninę pdf GEO oraz pdf ZIP F z parametrem φ definiujemy jako: pdf MIX (k; φ, q, κ, K max ) = φ pdf GEO (k; q, K max ) + (1 φ) pdf ZIP F (k; κ, K max ). (4.19) 46

53 W dalszej części będzie nas interesowała mieszanina rozkładów, które mają takie same wartości oczekiwane. Przyjmijmy, że analizujemy graf dwudzielny G = (U I, E) z empiryczną funkcją gęstości rozkładu stopni użytkowników zadaną przez pdf U (k) oraz empiryczną funkcją gęstości rozkładu stopni przedmiotów pdf I (k). Największy empiryczny stopień wierzchołka w obu modalnościach oznaczmy odpowiednio przez K max (U) oraz K max (I). Estymację parametrów rozkładów w obu modalnościach wykonujemy następująco. Największe stopnie wierzchołków w obu estymowanych rozkładach ustawiamy na K max (U) oraz K max (I). Parametr q oraz wykładnik skalujący κ są otrzymane poprzez numeryczne rozwiązanie równań 4.16 i Parametry estymujemy niezależnie dla modalności U i modalności I (równania 4.20). Subskrypt w zmiennych ˆq U, ˆκ U, ˆq I i ˆκ I informuje, dla której modalności przeprowadzono estymację: E GEO (ˆq U, K max (U)) = E U E ZIP F (ˆκ U, K max (U)) = E U E GEO (ˆq I, K max (I)) = E I (4.20) E ZIP F (ˆκ I, K max (I)) = E I Estymowane poziomy parametrów φ U oraz φ I są z kolei wyznaczane przy pomocy metody sympleks. Metoda ta minimalizuje odległość kwadratową między punktami rozkładów empirycznych i teoretycznych (równania 4.21) przy warunkach brzegowych 0 φ U 1 i 0 φ I 1. ˆφ U = argmin φ ˆφ I = argmin φ (pdf MIX (k; φ, ˆq U, ˆκ U, K max (U)) pdf U (k)) 2 k (4.21) (pdf MIX (k; φ, ˆq I, ˆκ I, K max (I)) pdf I (k)) 2 k Wartości sześciu wyestymowanych parametrów ˆφ U, ˆφ I, ˆq U, ˆq I, ˆκ U, ˆκ I są przekazywane do etapu, w którym budujemy sąsiedztwo dla każdego wierzchołka. Opisujemy generowanie sąsiedztw dla wierzchołków modalności użytkownik U. Dla modalności przedmiot I postępowanie jest analogiczne. Graf inicjowany jest z liczbą węzłów typu użytkownik oraz przedmiot równą poziomom rzeczywistym tj. U oraz I odpowiednio. Dla każdego wierzchołka losowany jest jego stopień z mieszaniny rozkładów opisujących odpowiednią modalność. Następnie iterujemy po wszystkich użytkownikach i dla każdej krawędzi wybieramy bez zwracania przedmiot. Prawdopodobieństwo wyboru przedmiotu jest proporcjonalne do stopnia wierzchołka. Dla każdego wylosowanego przedmiotu losujemy niezależnie użytkowników połączonych z tym przedmiotem. Każdy przedmiot zostaje połączony z dokładnie tyloma nowymi użytkownikami, ile wynosi jego stopień pomniejszony o jeden. Dla różnych przedmiotów zbiory wylosowanych użytkowników mogą się 47

54 przecinać. Wybór nowych użytkowników jest również oparty na zasadzie, że większe prawdopodobieństwo wylosowania dotyczy użytkowników z większym stopniem. W ten sposób dostajemy liczbę drugich sąsiadów każdego użytkownika. Dzięki temu możemy obliczyć BLCC. Pseudokod zawarty jest w ramce z algorytmem 1. Powyższą procedurę przeprowadziliśmy dla trzech zbiorów danych tj. CiteULike, BibSonomy oraz IMDB. Wyestymowane wartości parametrów podane są w tabeli 4.3. Dla tych parametrów przeprowadziliśmy 20-krotne szacowanie BLCC. Wyniki podane w tabeli 4.4 pokazują, że dla prezentowanych zbiorów estymowana średnia wartość wskaźnika BLCC jest niższa niż rzeczywista. Wynik ten obrazuje słabość modeli konfiguracyjnych Rozkład stopni wierzchołków Zazwyczaj przyjmuje się, że rozkłady stopni wierzchołków w grafach reprezentujących struktury społeczne są potęgowe. Na podstawie danych z rysunku 4.6 widzimy, że czasem rozkład stopni wierzchołków jest zbliżony do rozkładu wykładniczego. Obserwacja ta stanowi motywację do konstrukcji takiego generatora, w którym można tworzyć rozkłady będące mieszaniną rozkładów potęgowego i wykładniczego Dotychczasowe modele grafów dwudzielnych W ostatnich latach zaproponowano kilka modeli służących do generowania grafów dwudzielnych [8, 48, 33, 72]. Zgodnie z naszą wiedzą pierwszy raz losowe grafy dwudzielne zostały wykorzystane do analizy złożoności systemów rekomendujących w [23]. Wcześniejsze prace dotyczyły modelowania sieci afiliacyjnych i powiązanych z nimi sieci społecznych. Poprzez sieć afiliacyjną rozumie się graf dwudzielny z relacjami użytkownik-przedmiot. Natomiast sieć społeczna oznacza graf klasyczny zawierający jedynie połączenia między użytkownikami [72]. Jednocześnie w tych pracach nacisk kładziony jest na modelowanie struktury sieci społecznej i jej relacji z siecią afiliacyjną. Struktura sieci afiliacyjnej ma mniejsze znaczenie. W rezultacie dotychczasowe modele charakteryzują się dwiema cechami, które stanowią ograniczenie przy ich zastosowaniu w naszym kontekście: wcześniejsze generatory tworzą grafy dwudzielne o ograniczonym zakresie własności, łączne modelowanie dwóch struktur grafowych związane jest ze zbędną (w naszych zastosowaniach) komplikacją generatora. Przykładowo model [33] został zainspirowany obserwowaniem sieci zawierającej połączenia między aktorami i filmami. Zgodnie z tym modelem nowe filmy dodawane są do grafu w każdej iteracji. Liczba aktorów, która zagra w filmie, losowana jest z wcześniej ustalonego rozkładu. Dla każdej krawędzi wychodzącej od nowego filmu podejmowana jest decyzja, czy zakończyć ją u istniejącego aktora, czy zatrudnić do filmu nowego aktora. Model ten był jednym z pierwszych zaproponowanych w literaturze. 48

55 Algorytm 1: Szacowanie BLCC w modelu konfiguracyjnym. input : U - liczba użytkowników, I - liczba przedmiotów, pdf MIX U (k; ˆφ U, ˆq U, ˆκ U, K max (U)) - funkcja gęstości rozkładu stopni wierzchołków typu użytkownik, pdf MIX I (k; ˆφ I, ˆq I, ˆκ I, K max (I)) - funkcja gęstości rozkładu stopni wierzchołków typu przedmiot output: BLCC - średnia wartość BLCC dla użytkowników Zainicjuj stopnie wierzchołków; Users {u 1... u U } - zbiór użytkowników; Items {v 1... v I } - zbiór przedmiotów; BLCC 0 ; for u Users do u DrawDegree(pdf MIX (k; ˆφ U, ˆq U, ˆκ U, K max (U))); for g Items do g DrawDegree(pdf MIX (k; ˆφ I, ˆq I, ˆκ I, K max (I))); Policz BLCC dla jednego wierzchołka; for u Users do NeighborsAll ; SelectedItems ; PotentialItems 0 ; for i 1 to u do GroupNeighbors {u}; g SelectItem(Items \ SelectedItems) ; SelectedItems SelectedItems g ; // wylosuj przedmiot bez zwracania PotentialItems PotentialItems + ( g 1) for j 1 to g do Neighbor SelectUser(Users \GroupNeighbors) ; GroupNeighbors GroupNeighbors Neighbor; // dla danego przedmiotu wylosuj użytkowników bez zwracania // jeden użytkownik może być wylosowany przez wiele przedmiotów if NeighborsAll Neighbor = then NeighborsAll NeighborsAll Neighbor ; // oblicz BLCC dla użytkownika ze wzoru 4.12 BLCC(u) 1 NeighborsAll ; PotentialItems BLCC BLCC + BLCC(u) ; BLCC BLCC/ U ; 49

56 Częstość Częstość Częstość GRAF Etykieta - Zasób (BibSonomy) etykiety zasoby stopień wierzchołka GRAF Film - Aktor aktorzy filmy stopień wierzchołka GRAF Użytkownik - Grupa (CiteULike) użytkownicy 100 grupy stopień wierzchołka Rysunek 4.6. Rozkład stopni wierzchołków w rzeczywistych grafach dwudzielnych. 50

57 przedmioty użytkownicy ˆq I ˆκ I ˆφI ˆq U ˆκ U ˆφU CiteULike BibSonomy Movie - IMDB Tabela 4.3. Wyestymowane wartości parametrów modelu konfiguracyjnego. rzeczywiste BLCC szacowane BLCC CiteULike BibSonomy Movie - IMDB Tabela 4.4. Porównanie rzeczywistego i estymowanego BLCC. Wszystkie cztery generatory oparte są na mechanizmie iteracyjnego wzrostu. Wspólnym ograniczeniem tych modeli jest fakt, że tworzą one grafy dwudzielne z potęgowym lub wykładniczym rozkładem stopni wierzchołków. Dodatkowo żaden z tych modeli nie zawiera parametru odpowiedzialnego za kontrolowanie nasilenia efektu tranzytywności. Model zaproponowany w rozdziale 5 pozwala generować szersze spektrum rozkładów stopni wierzchołków i posiada parametr odpowiedzialny za kontrolę nasilenia efektu tranzytywności Trójdzielne grafy losowe Przy generacji sztucznych grafów trójdzielnych musimy zmierzyć się z podobnymi problemami jak przy grafach klasycznych lub dwudzielnych. Adaptacja wskaźnika gronowania dla hipergrafów trójdzielnych została zaproponowana w [14]. Wskaźnik liczony jest dla wierzchołka pewnej modalności. Na przykład wierzchołek modalności użytkownik u U połączony jest z u r wierzchołkami drugiej modalności (tj. zasoby R) oraz u t wierzchołkami trzeciej modalności (tj. etykiety T ). Pomiędzy tymi sąsiadami istnieje pewna liczba krawędzi. Wskaźnik mierzy proporcję liczby istniejących krawędzi względem potencjalnej liczby krawędzi (tj. u r u t ). Dwa algorytmy służące do budowania folksonomii zostały opisane we wspomnianej publikacji. Pierwszy generator nazywany jest dwumianowy (ang. binomial), drugi to permutacyjny (ang. permuted). Modele te nie były w stanie odtworzyć wysokiego poziomu wskaźnika gronowania. W pracy [21] zaproponowano rozszerzenie generatora grafów dwudzielnych Guillaume [33] do modelowania folksonomii. Rozszerzenie to pozwala utworzyć sztuczne folksonomie z wyższym wskaźnikiem gronowania niż w modelach dwumianowym i permutacyjny. W dalszej części niniejszej sekcji opiszemy to rozszerzenie. Generator grafów trójdzielnych zilustrowany na rysunku 4.7 polega na dwukrotnym uruchomieniu mechanizmu zaproponowanego w [33]. Każda ite- 51

58 Wskaźnik gronowania Użytkownicy Etykiety Użytkownicy Etykiety Użytkownicy Etykiety Zasoby Zasoby Zasoby Rysunek 4.7. Proces generowania grafów trójdzielnych. racja podzielona jest na dwa etapy. W pierwszym etapie do grafu dodawany jest nowy użytkownik i analogicznie jak w modelu [33] losowana jest liczba krawędzi wychodzących od tego wierzchołka. Funkcję drugiej modalności pełnią na typ etapie zasoby cyfrowe. Użytkownik łączy się krawędzią z istniejącym lub nowym zasobem. W drugim etapie powtarzany jest mechanizm [33]. Krawędź łączącą użytkownika i zasób traktujemy jak wirtualny wierzchołek. Dla takiego wirtualnego wierzchołka losujemy liczbę krawędzi wychodzących, które będą prowadzić do etykiet. Połączenie następuje albo z istniejącą etykietą albo z nowo utworzoną etykietą. Konstrukcja daje grafy trójdzielne o wyższym wskaźniku gronowania niż generatory dwumianowy i permutacyjny. Ograniczeniem tej konstrukcji jest fakt, że podobnie jak w modelu bazowym [33] otrzymujemy rozkład potęgowy dla stopni wierzchołków drugiej i trzeciej modalności (tj. zasobów i etykiet). 100% 80% 60% 40% 20% 0% Użytkownicy Zasoby Etykiety Wszystkie wierzchołki Rysunek 4.8. Wskaźnik gronowania w rzeczywistym grafie trójdzielnym. Na rysunku 4.8 podana jest wartość wskaźnika gronowania obliczona dla danych z serwisu BibSonomy. Przedstawiono jak zmieniała się ta wartość w kolejnych okresach czasu. Na rysunku 4.9 umieszczone są wartości wskaźnika gronowania otrzymanych dla 20 sztucznych grafów zbudowanych zgodnie 52

59 Wskaźnik gronowania z algorytmem [21]. Parametry konkretnych grafów oznaczone są punktami, linie pokazują poziomy średnie dla 20 konkretnych grafów. Generator ten posiada własności bliższe danym rzeczywistym niż generatory rozważane w [14]. Szczegółowe porównanie trzech wspomnianych modeli można znaleźć w [21]. Matematyczne podejście do analizy topologicznej struktury folksonomii zostało zaproponowane w ostatnim czasie w pracy [32]. Niezależnie ciekawy model do generowania takich grafów został opisany w [71]. Dla tego modelu pokazano formalnie szereg istotnych własności, jednak jego głównym ograniczeniem jest przypisanie tylko jednej etykiety do zasobu. Model [21] nie posiada takiego ograniczenia. Badaniu struktur folksonomii poświęcone są również prace [13] oraz [73]. 100% 80% 60% 40% 20% 0% Liczba iteracji * Zasoby (resources) Użytkownicy (users) Etykiety (tags) Wszystkie wierzchołki średnia - użytkownicy średnia - etykiety Rysunek 4.9. Wskaźnik gronowania dla sztucznych folksonomii. 53

60 5. Nowy generator grafów dwudzielnych Część wyników opisanych w niniejszym rozdziale została opublikowana w pracach [20, 24, 22]. Proponowana procedura generująca syntetyczne grafy dwudzielne składa się z trzech kroków: (1) dodanie do grafu nowego wierzchołka, (2) wybór sposobu dołączania sąsiadów do tego wierzchołka, (3) uruchomienie procesu odbijania (ang. bouncing). Procedura wymaga określenia wartości ośmiu parametrów z tabeli 5.1. Przykład działania generatora umieszczony jest na rysunku 5.1. W tym przykładzie graf jest zainicjowany z trzema krawędziami, trzema użytkownikami (czerwone wierzchołki) i trzema przedmiotami (białe wierzchołki). Po pierwszej iteracji do grafu został dodany jeden nowy użytkownik. Po drugiej iteracji dodany został nowy przedmiot. Po 41 iteracjach graf zawiera 24 użytkowników, 20 przedmioty oraz 62 krawędzie. Model podstawowy obejmujący kroki (1) oraz (2) omówiony jest w sekcji 5.1. Model pełny opisany jest w sekcji 5.2. Dla modelu podstawowego przeprowadzimy formalne wyprowadzenie funkcji gęstości rozkładu stopni wierzchołków. Dla modelu pełnego własności grafowe zostaną zbadane metodami eksperymentalnymi. 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 liczba krawędzi tworzonych przez nowego użytkownika d v liczba 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, ψ które zostały utworzone przy pomocy mechanizmu odbijania Tabela 5.1. Parametry wykorzystane w generatorze. 54

61 Rysunek 5.1. Graf sztuczny po iteracjach 0, 1, 2,

62 5.1. Model podstawowy Rysunek 5.2 ilustruje logikę działania generatora w wariancie podstawowym. Na początku inicjujemy graf przy pomocy m luźnych krawędzi. Każda krawędź łączy jednego użytkownika z jednym przedmiotem. Podczas każdej iteracji wykonywane są dwie czynności. Najpierw losowana jest modalność nowo dodanego wierzchołka. Następnie osobno dla każdej krawędzi wychodzącej z tego wierzchołka (d u lub d v ) określa się, czy będzie ona wybierać swoje zakończenie zgodnie z mechanizmem preferencyjnym bądź jednostajnym (na rysunku określone przez losowe dołączanie). W modelu podstawowym nie jest użyty parametr ψ. Parametr ten określa, ile spośród nowych połączeń powstaje w wyniku mechanizmu odbijania. Inicjalizuj (m=4) Losuj modalnośd Określ sposób dołaczania każdej krawędzi Dodaj użytkownika Losowe dołączanie Użytkownicy Przedmioty Dodaj przedmiot Preferencyjne dołączanie Rysunek 5.2. Kolejne kroki generatora grafów dwudzielnych. Zauważmy, że po t iteracjach graf zawiera średnio U(t) = m + δt użytkowników, I(t) = m + (1 δ)t przedmiotów oraz liczba krawędzi zadana jest przez E(t) = m + t(δd u + (1 δ)d v ). Oznaczmy przez η średnią liczbę krawędzi dodawaną do grafu w jednej iteracji η = (δd u + (1 δ)d v ). Po wystarczająco wielu iteracjach (t >> m) możemy pominąć m. Średni stopień wierzchołka typu użytkownik po t iteracjach zadany jest przez: E(t) U(t) = m + t(δd u + (1 δ)d v ) m + δt analogicznie średni stopień przedmiotu wynosi: η δ, E(t) I(t) 56 η (1 δ).

63 A zatem wartości te nie zależą od czasu, a zależą od δ, d u i d v. 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 dodawany jest nowy użytkownik, to stopnie już istniejących użytkowników nie ulegają zmianie. 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 jest mechanizm preferencyjny, wówczas odpowiednie prawdopodobieństwo zadane jest formułą: Możemy łatwo sprawdzić, że: oraz: u U Π P REF (k u ) = k u E(t) k u ηt. 1 Π UNI (k u ) = U(t) U(t) = 1 u U Π UNI (k u ) = 1 E(t) u U k u = 1 E(t) = 1. E(t) W naszym modelu decyzja o tym, czy łączenie nowego przedmiotu z użytkownikami będzie zgodne 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 β)k u ηt. (5.1) Każdy nowy przedmiot tworzy d v krawędzi. Tempo zmian stopni użytkowników o k u krawędziach zadane jest następującym równaniem różniczkowym: k u t = (1 δ)d vπ(k u ). (5.2) Pierwszy człon po prawej stronie odpowiada prawdopodobieństwu wylosowania przedmiotu. Tylko w takiej sytuacji może wzrosnąć stopień użytkownika. Drugi człon d v odpowiada liczbie krawędzi nowego przedmiotu. Ostatni człon reprezentuje prawdopodobieństwo, że wierzchołek o k u krawędziach zostanie wylosowany przez nowy przedmiot. W dalszej części przyjmujemy, że odstępy czasu między kolejnymi iteracjami są równe i nieskończenie małe. Dodatkowo zakładamy, że stopień wierzchołka jest liczbą rzeczywistą i ewoluuje w takim samym tempie dla wszystkich wierzchołków, które mają określony stopień. 57

64 Oczywiście, założenia te nie są spełnione w rzeczywistym generatorze, w którym stopnie wierzchołków są liczbami całkowitymi. Również stopień każdego wierzchołka zmienia się niezależnie od stopni innych wierzchołków o tej samej liczbie sąsiadów. Założenia te są jednak konieczne do przeprowadzenia analizy formalnej. W celu wyprowadzenia funkcji gęstości rozkładu prawdopodobieństwa stopni wierzchołków dokonaliśmy adaptacji metody zaproponowanej przez Barabásiego [6]. Metoda ta nazywana jest w literaturze angielskojęzycznej continuum approach. Wywód składa się z trzech kroków. Najpierw przekształćmy równanie (5.2): k u t = (1 δ)d vπ(k u ) ( β = (1 δ)d v δt + (1 β)k ) u ηt ( ) 1 βη + δ(1 β)ku = (1 δ)d v, t δη umieszczając wyrażenia związane z k u po lewej stronie, a z t po prawej i przeprowadzając całkowanie dostajemy: 1 (1 δ)d v δη βη + δ(1 β)k u dk u = 1 dt. (5.3) t Przed znak całki możemy wyciągnąć wyrażenia nie zawierające k u : δη 1 1 dk u = dt. (5.4) (1 δ)d v βη + δ(1 β)k u t Rozwiązanie ogólne powyższego równania można otrzymać za pomocą tożsamości c dx = c ln ax + b + C. W naszym przypadku c = 1. Do wyznaczenia rozwiązania szczególnego musimy znać krańce przedziałów całkowa- ax+b a nia. Krańce wynikają z mechanizmu konstrukcji grafu i przyjętych założeń. Przyjrzyjmy się konkretnemu wierzchołkowi u o k u krawędziach w czasie t. Wartości k u i t stanowią górne przedziały całkowania dla lewej i prawej strony równania 5.4. Wydzielenie konkretnego wierzchołka u spośród wszystkich wierzchołków o stopniu k u jest możliwe dzięki założeniu, że dla wierzchołków o tym samym stopniu tempo dołączania nowych krawędzi jest takie samo. Warunek początkowy dostaniemy poprzez definicję czasu t u, kiedy do grafu został dodany wierzchołek u. Wartość t u jest lewym krańcem przedziału całkowania dla prawej całki. W iteracji t u stopień wierzchołka u równy był d u (tyle krawędzi ma nowy użytkownik). A zatem d u jest lewym krańcem całkowania dla całki po lewej stronie równania 5.4. Rozwiązanie szczególne przyjmuje postać: δη (1 δ)d v δ(1 β) ([ln (βη + δ(1 β)k u)] [ln (βη + δ(1 β)d u )]) 58 = [ln t] [ln t u ]. (5.5)

65 W lewym ilorazie możemy skrócić δ. Podnosimy teraz liczbę e do potęgi będącej lewą i prawą stroną równania 5.5. Korzystamy z trzech elementarnych własności: a bc = (a b ) c, a (b c) = a b /a c oraz e ln a = a i otrzymujemy: ( βη + δ(1 β)ku βη + δ(1 β)d u ) η (1 δ)(1 β)dv ( ) t =. (5.6) t u Wydzielmy k u z powyższego równania i wprowadźmy jawną zależność k u od czasu t: k u (t) = ( ( ) (1 δ)(1 β)dv 1 t δ(1 β) η (βη + δ(1 β)d u ) t u βη ). (5.7) 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: ( (βη + δ(1 β)d u ) Φ {k u (t) < k} = Φ δ(1 β) ) (1 δ)(1 β)dv t η t u βη < k, (5.8) wydzielając t u z nierówności w prawej dystrybuancie dostajemy: { ( ) η } βη + δ(1 β)k (1 δ)(1 β)dv Φ {k u (t) < k} = Φ t u > t. (5.9) βη + δ(1 β)d u W tym miejscu korzystamy z założenia, że wierzchołki dodawane są do grafu 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), można obliczyć jako Φ(t u > S) = 1 Φ(t u S) = 1 S 1. Wprowadzenie tej obserwacji do t równania 5.9 prowadzi do: { ( ) η } βη + δ(1 β)k (1 δ)(1 β)dv Φ {k u (t) < k} = 1 Φ t u t βη + δ(1 β)d u ( ) η βη + δ(1 β)k (1 δ)(1 β)dv = 1. βη + δ(1 β)d u Wykonujemy 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 β), (5.10) (1 δ)(1 β)v βη + δ(1 β)d u 59

66 czyli: ( ) η βη + δ(1 β)k (1 δ)(1 β)dv 1 P (k). (5.11) βη + δ(1 β)d u Jeżeli podstawimy β = 0, wówczas: ( k P (k) d u ) η (1 δ)dv 1, (5.12) czyli otrzymujemy rozkład potęgowy. Jeśli dodatkowo przyjmiemy, że δ = 0.5 oraz d u = d v to wykładnik skalowania równy jest 3 (P (k) k 3 ). Jest to zgodne z wykładnikiem w modelu Barabásiego [6]. Jeżeli przyjmiemy, że β 1, wówczas na mocy równości 3.14 prawdopodobieństwo P (k) e k Model pełny W pełnym modelu generator wzbogacony jest o mechanizm odbijania. Mechanizm ten wprowadziliśmy jako adaptację mechanizmu surfowania po sieci dla grafów klasycznych [63]. Pozwala on generować sieci o podwyższonej wartość wskaźnika gronowania BLCC. Mechanizm odbijania stosujemy jedynie do krawędzi, które mają być utworzone zgodnie z mechanizmem preferencyjnym. Wynika to z faktu, że przy losowym chodzeniu po grafie prawdopodobieństwo trafienia do wierzchołka jest większe dla wierzchołków o wyższym stopniu [12]. Odbijanie wykonujemy w trzech małych krokach. Najpierw wybierany jest losowo wierzchołek spośród wierzchołków już wylosowanych do połączenia (są to wierzchołki przeciwnej modalności niż dołączany wierzchołek). Następnie wybierany jest losowy sąsiad tego wierzchołka. W końcu tworzona jest krawędź pomiędzy losowym sąsiadem wylosowanego sąsiada (rysunek 5.3). W przykładzie narysowanym poniżej nowy użytkownik u jest dodawany do grafu. Średnio d u α krawędzi jest tworzonych zgodnie z mechanizmem preferencyjnym. Spośród nich d u α ψ będzie utworzonych przy pomocy odbijania. Inicjalizacja Jedna iteracja generatora ( ilośd wszystkich iteracji określa parametr T ) (m=4) 1) Dodaj użytkownika lub przedmiot (delta) Użytkownicy Przedmioty 2) Losuj sposób łączenia krawędzi d u α losowy d u (1-α) d u preferencyjny 3) Wybierz wierzchołki tworzone przez odbijanie d u α ψ 4) Odbijaj się od już wylosowanych sąsiadów Rysunek 5.3. Schemat działania mechanizmu odbijania. W internecie został umieszczony graficzny analizator tworzonych grafów. Dostępny jest on jako aplet Java na stronie ~sch/software/applet.html. Przykład użycia analizatora umieszczony został na rysunku 5.4. Widok zawiera zrzut ekranu z grafem wygenerowanym 60

67 po T = 30 iteracjach. Białe wierzchołki oznaczają użytkowników, czerwone wierzchołki to przedmioty. Wartości wszystkich prawdopodobieństw były ustawione na 1/2, tj. δ = α = β = ψ = 0.5. Początkowa liczba luźnych krawędzi wynosiła m = 10. Natomiast ilości krawędzi dokładanych przez każdy nowy wierzchołek były równe d u = d v = 3. Analizator graficzny pozwala śledzić dynamikę statystyk opisujących graf. Aplet zawiera pięć wykresów. Dwa wykresy pod suwakami zawierają rozkłady BLCC i stopni wierzchołków dla obu modalności. Trzy wykresy w stopce obrazują jak kształtują się w czasie trzy statystyki: średnia wielkość drugiego sąsiedztwa, średnia wielkość trzeciego sąsiedztwa i średni BLCC. Wyświetlany stan grafu zawiera 24 użytkowników, 26 przedmioty i 100 krawędzi. Łączna liczba wierzchołków pomniejszona o 2m informuje nas, ile iteracji upłynęło. Z wykresów możemy odczytać, że najwyższy stopień (= 12) ma jeden użytkownik. Natomiast najwyższy stopień przedmiotu wynosi 10. Siedem przedmiotów ma stopień 3, a pięciu użytkowników ma stopień 6. Zerową wartość wskaźnika gronowania mają po cztery wierzchołki obu modalności. Średnia liczba sąsiadów oddalonych o dwa kroki od losowego użytkownika przekracza 7.5. Średnia liczba przedmiotów należących do tych użytkowników jest większa niż 15. Rysunek 5.4. Graficzny analizator sztucznych sieci dwudzielnych. W dalszej części przyjrzymy się trzem własnościom generowanych grafów. Pierwszą własnością jest rozkład stopni wierzchołków. Drugą własnością jest dwudzielny wskaźnik gronowania. Ostatnią trzecią własnością jest wielkość sąsiedztwa. 61

Jak ustawić cele kampanii?

Jak ustawić cele kampanii? Jak ustawić cele kampanii? Czym są cele? Jest to funkcjonalność pozwalająca w łatwy sposób śledzić konwersje wygenerowane na Twojej stronie www poprzez wiadomości email wysłane z systemu GetResponse. Mierzenie

Bardziej szczegółowo

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

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle Paweł Szołtysek 12 czerwca 2008 Streszczenie Planowanie produkcji jest jednym z problemów optymalizacji dyskretnej,

Bardziej szczegółowo

METODY CHEMOMETRYCZNE W IDENTYFIKACJI ŹRÓDEŁ POCHODZENIA

METODY CHEMOMETRYCZNE W IDENTYFIKACJI ŹRÓDEŁ POCHODZENIA METODY CHEMOMETRYCZNE W IDENTYFIKACJI ŹRÓDEŁ POCHODZENIA AMFETAMINY Waldemar S. Krawczyk Centralne Laboratorium Kryminalistyczne Komendy Głównej Policji, Warszawa (praca obroniona na Wydziale Chemii Uniwersytetu

Bardziej szczegółowo

Internetowy system e-crm do obsługi biura podróży. Marek Bytnar, Paweł Kraiński

Internetowy system e-crm do obsługi biura podróży. Marek Bytnar, Paweł Kraiński Internetowy system e-crm do obsługi biura podróży Marek Bytnar, Paweł Kraiński Cele pracy utworzenie nowoczesnego systemu CRM dla biura podróży, które oferuje swoje usługi przez Internet zaproponowanie

Bardziej szczegółowo

Nowy generator grafów dwudzielnych

Nowy generator grafów dwudzielnych 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

Bardziej szczegółowo

Informacje i materiały dotyczące wykładu będą publikowane na stronie internetowej wykładowcy, m.in. prezentacje z wykładów

Informacje i materiały dotyczące wykładu będą publikowane na stronie internetowej wykładowcy, m.in. prezentacje z wykładów Eksploracja danych Piotr Lipiński Informacje ogólne Informacje i materiały dotyczące wykładu będą publikowane na stronie internetowej wykładowcy, m.in. prezentacje z wykładów UWAGA: prezentacja to nie

Bardziej szczegółowo

AiSD zadanie trzecie

AiSD zadanie trzecie AiSD zadanie trzecie Gliwiński Jarosław Marek Kruczyński Konrad Marek Grupa dziekańska I5 5 czerwca 2008 1 Wstęp Celem postawionym przez zadanie trzecie było tzw. sortowanie topologiczne. Jest to typ sortowania

Bardziej szczegółowo

Analiza korespondencji

Analiza korespondencji Analiza korespondencji Kiedy stosujemy? 2 W wielu badaniach mamy do czynienia ze zmiennymi jakościowymi (nominalne i porządkowe) typu np.: płeć, wykształcenie, status palenia. Punktem wyjścia do analizy

Bardziej szczegółowo

EvalCOMIX Przewodnik wprowadzajćy María Soledad Ibarra-Sáiz - Susana Olmos-Migueláñez - Gregorio Rodríguez-Gómez Luty

EvalCOMIX Przewodnik wprowadzajćy María Soledad Ibarra-Sáiz - Susana Olmos-Migueláñez - Gregorio Rodríguez-Gómez Luty EvalCOMIX Przewodnik wprowadzajćy María Soledad Ibarra-Sáiz - Susana Olmos-Migueláñez - Gregorio Rodríguez-Gómez Luty - 2017 Ten projekt został zrealizowany przy wsparciu finansowym Komisji Europejskiej.

Bardziej szczegółowo

Summary in Polish. Fatimah Mohammed Furaiji. Application of Multi-Agent Based Simulation in Consumer Behaviour Modeling

Summary in Polish. Fatimah Mohammed Furaiji. Application of Multi-Agent Based Simulation in Consumer Behaviour Modeling Summary in Polish Fatimah Mohammed Furaiji Application of Multi-Agent Based Simulation in Consumer Behaviour Modeling Zastosowanie symulacji wieloagentowej w modelowaniu zachowania konsumentów Streszczenie

Bardziej szczegółowo

Inteligentne systemy informacyjne

Inteligentne systemy informacyjne Filip Graliński Inteligentne systemy informacyjne Rekomendacje założenia n użytkowników (widzów, czytelników, słuchaczy etc.) m obiektów (filmów, książek, piosenek etc.) opinie wyrażone za pomocą liczb

Bardziej szczegółowo

Zastosowanie rozmytych map kognitywnych do badania scenariuszy rozwoju jednostek naukowo-dydaktycznych

Zastosowanie rozmytych map kognitywnych do badania scenariuszy rozwoju jednostek naukowo-dydaktycznych Konferencja Systemy Czasu Rzeczywistego 2012 Kraków, 10-12 września 2012 Zastosowanie rozmytych map kognitywnych do badania scenariuszy rozwoju jednostek naukowo-dydaktycznych Piotr Szwed AGH University

Bardziej szczegółowo

Lingwistyczny system definicyjny wykorzystujący korpusy tekstów oraz zasoby internetowe.

Lingwistyczny system definicyjny wykorzystujący korpusy tekstów oraz zasoby internetowe. Lingwistyczny system definicyjny wykorzystujący korpusy tekstów oraz zasoby internetowe. Autor: Mariusz Sasko Promotor: dr Adrian Horzyk Plan prezentacji 1. Wstęp 2. Cele pracy 3. Rozwiązanie 3.1. Robot

Bardziej szczegółowo

Strategie VIP. Opis produktu. Tworzymy strategie oparte o systemy transakcyjne wyłącznie dla Ciebie. Strategia stworzona wyłącznie dla Ciebie

Strategie VIP. Opis produktu. Tworzymy strategie oparte o systemy transakcyjne wyłącznie dla Ciebie. Strategia stworzona wyłącznie dla Ciebie Tworzymy strategie oparte o systemy transakcyjne wyłącznie dla Ciebie Strategie VIP Strategia stworzona wyłącznie dla Ciebie Codziennie sygnał inwestycyjny na adres e-mail Konsultacje ze specjalistą Opis

Bardziej szczegółowo

SCENARIUSZ LEKCJI. TEMAT LEKCJI: Zastosowanie średnich w statystyce i matematyce. Podstawowe pojęcia statystyczne. Streszczenie.

SCENARIUSZ LEKCJI. TEMAT LEKCJI: Zastosowanie średnich w statystyce i matematyce. Podstawowe pojęcia statystyczne. Streszczenie. SCENARIUSZ LEKCJI OPRACOWANY W RAMACH PROJEKTU: INFORMATYKA MÓJ SPOSÓB NA POZNANIE I OPISANIE ŚWIATA. PROGRAM NAUCZANIA INFORMATYKI Z ELEMENTAMI PRZEDMIOTÓW MATEMATYCZNO-PRZYRODNICZYCH Autorzy scenariusza:

Bardziej szczegółowo

Dwie szkoły oceny 360 stopni. Sprawdź różnicę pomiędzy klasycznym a nowoczesnym podejściem

Dwie szkoły oceny 360 stopni. Sprawdź różnicę pomiędzy klasycznym a nowoczesnym podejściem Sprawdź różnicę pomiędzy klasycznym a nowoczesnym podejściem Czy stosowanie tradycyjnego podejścia do metody 360 stopni jest jedynym rozwiązaniem? Poznaj dwa podejścia do przeprowadzania procesu oceny

Bardziej szczegółowo

1.7. Eksploracja danych: pogłębianie, przeszukiwanie i wyławianie

1.7. Eksploracja danych: pogłębianie, przeszukiwanie i wyławianie Wykaz tabel Wykaz rysunków Przedmowa 1. Wprowadzenie 1.1. Wprowadzenie do eksploracji danych 1.2. Natura zbiorów danych 1.3. Rodzaje struktur: modele i wzorce 1.4. Zadania eksploracji danych 1.5. Komponenty

Bardziej szczegółowo

Sterowanie wielkością zamówienia w Excelu - cz. 3

Sterowanie wielkością zamówienia w Excelu - cz. 3 Sterowanie wielkością zamówienia w Excelu - cz. 3 21.06.2005 r. 4. Planowanie eksperymentów symulacyjnych Podczas tego etapu ważne jest określenie typu rozkładu badanej charakterystyki. Dzięki tej informacji

Bardziej szczegółowo

6 kroków do skutecznego planowania na postawie wskaźników KPI

6 kroków do skutecznego planowania na postawie wskaźników KPI 6 kroków do skutecznego planowania na postawie wskaźników KPI Urzeczywistnianie celów biznesowych w praktyce Planowanie i optymalizacja łańcucha dostaw Odkryj brakujące połączenie pomiędzy celami biznesowymi

Bardziej szczegółowo

Platforma Cognos. Agata Tyma CMMS Department Marketing & Sales Specialist atyma@aiut.com.pl. 2011 AIUT Sp. z o. o.

Platforma Cognos. Agata Tyma CMMS Department Marketing & Sales Specialist atyma@aiut.com.pl. 2011 AIUT Sp. z o. o. Platforma Cognos Agata Tyma CMMS Department Marketing & Sales Specialist atyma@aiut.com.pl Business Intelligence - Fakty Kierownicy tracą około 2 godzin dziennie na szukanie istotnych informacji. Prawie

Bardziej szczegółowo

STRESZCZENIE. rozprawy doktorskiej pt. Zmienne jakościowe w procesie wyceny wartości rynkowej nieruchomości. Ujęcie statystyczne.

STRESZCZENIE. rozprawy doktorskiej pt. Zmienne jakościowe w procesie wyceny wartości rynkowej nieruchomości. Ujęcie statystyczne. STRESZCZENIE rozprawy doktorskiej pt. Zmienne jakościowe w procesie wyceny wartości rynkowej nieruchomości. Ujęcie statystyczne. Zasadniczym czynnikiem stanowiącym motywację dla podjętych w pracy rozważań

Bardziej szczegółowo

Przewodnik korzystania z Biblioteki kursów na platformach e-learningowych RON

Przewodnik korzystania z Biblioteki kursów na platformach e-learningowych RON RCI KRAKÓW Przewodnik korzystania z Biblioteki kursów na platformach e-learningowych RON WERSJA 1.1 Szarłowicz Piotr 10.2018 Spis treści 1. Wprowadzenie... 2 2. Wyszukiwanie kursów w bibliotece.... 3 3.

Bardziej szczegółowo

Nowy PekaoBIZNES 24. Przewodnik po zmianach w systemie. Departament Bankowości Transakcyjnej

Nowy PekaoBIZNES 24. Przewodnik po zmianach w systemie. Departament Bankowości Transakcyjnej Nowy PekaoBIZNES 24 Przewodnik po zmianach w systemie Departament Bankowości Transakcyjnej Grudzień 2012 DLACZEGO PekaoBIZNES 24 SIĘ ZMIENIA? Platforma transakcyjna PekaoBIZNES 24 usprawnia codzienne operacje

Bardziej szczegółowo

Proces i narzędzia analizy potencjału wybranych obszarów rynku farmaceutycznego

Proces i narzędzia analizy potencjału wybranych obszarów rynku farmaceutycznego Proces i narzędzia analizy potencjału wybranych obszarów rynku farmaceutycznego Przyglądając się rynkowi farmaceutycznemu w Polsce możemy zauważyć, że jest to jedna z lepiej zwymiarowanych i opisanych

Bardziej szczegółowo

Tom 6 Opis oprogramowania

Tom 6 Opis oprogramowania Część 9 Narzędzie do wyliczania wskaźników statystycznych Diagnostyka Stanu Nawierzchni - DSN Generalna Dyrekcja Dróg Krajowych i Autostrad Warszawa, 31 maja 2012 Historia dokumentu Nazwa dokumentu Nazwa

Bardziej szczegółowo

OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI

OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI Autoreferat do rozprawy doktorskiej OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI Michał Mazur Gliwice 2016 1 2 Montaż samochodów na linii w

Bardziej szczegółowo

EFIX Explorer wersja podstawowa

EFIX Explorer wersja podstawowa EFIX Explorer wersja podstawowa Spis treści: 1. Informacje ogólne 2. Jak uzyskać dostęp 3. Moduły platformy a) Moduł informacyjny b) Notowania i wykresy c) Rekomendacje d) Zlecenia dotyczące jednostek

Bardziej szczegółowo

REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja serwisu ogłoszeń z inteligentną wyszukiwarką

REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja serwisu ogłoszeń z inteligentną wyszukiwarką REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja serwisu ogłoszeń z inteligentną wyszukiwarką Autor: Paweł Konieczny Promotor: dr Jadwigi Bakonyi Kategorie: aplikacja www Słowa kluczowe: Serwis

Bardziej szczegółowo

Systemy uczące się Lab 4

Systemy uczące się Lab 4 Systemy uczące się Lab 4 dr Przemysław Juszczuk Katedra Inżynierii Wiedzy, Uniwersytet Ekonomiczny 26 X 2018 Projekt zaliczeniowy Podstawą zaliczenia ćwiczeń jest indywidualne wykonanie projektu uwzględniającego

Bardziej szczegółowo

SILNIK REKOMENDACJI CZĘŚĆ 1 WPROWADZENIE

SILNIK REKOMENDACJI CZĘŚĆ 1 WPROWADZENIE $ SILNIK REKOMENDACJI CZĘŚĆ 1 WPROWADZENIE SILNIK REKOMENDACJI CZĘŚĆ 1 WPROWADZENIE Jak funkcjonuje silnik rekomendacji? Czy wszystkie silniki rekomendacji działają tak samo? Jakie cechy powinien posiadać

Bardziej szczegółowo

!!!!!!!!!!! PORTFOLIO: Analiza zachowań użytkowników serwisów internetowych. Autorzy: Marek Zachara

!!!!!!!!!!! PORTFOLIO: Analiza zachowań użytkowników serwisów internetowych. Autorzy: Marek Zachara PORTFOLIO: Analiza zachowań użytkowników serwisów internetowych Autorzy: Marek Zachara Opis merytoryczny Cel naukowy (jaki problem wnioskodawca podejmuje się rozwiązać, co jest jego istotą, co uzasadnia

Bardziej szczegółowo

Zawartość. Wstęp. Moduł Rozbiórki. Wstęp Instalacja Konfiguracja Uruchomienie i praca z raportem... 6

Zawartość. Wstęp. Moduł Rozbiórki. Wstęp Instalacja Konfiguracja Uruchomienie i praca z raportem... 6 Zawartość Wstęp... 1 Instalacja... 2 Konfiguracja... 2 Uruchomienie i praca z raportem... 6 Wstęp Rozwiązanie przygotowane z myślą o użytkownikach którzy potrzebują narzędzie do podziału, rozkładu, rozbiórki

Bardziej szczegółowo

Spis treści. Analiza i modelowanie_nowicki, Chomiak_Księga1.indb :03:08

Spis treści. Analiza i modelowanie_nowicki, Chomiak_Księga1.indb :03:08 Spis treści Wstęp.............................................................. 7 Część I Podstawy analizy i modelowania systemów 1. Charakterystyka systemów informacyjnych....................... 13 1.1.

Bardziej szczegółowo

Specyfika i zasady przyznawania punktów w ramach kryteriów merytorycznych fakultatywnych

Specyfika i zasady przyznawania punktów w ramach kryteriów merytorycznych fakultatywnych Program Operacyjny Innowacyjna Gospodarka Działanie 8.1 Wspieranie działalności gospodarczej w dziedzinie gospodarki elektronicznej Specyfika i zasady przyznawania punktów w ramach kryteriów merytorycznych

Bardziej szczegółowo

Architektura bezpieczeństwa informacji w ochronie zdrowia. Warszawa, 29 listopada 2011

Architektura bezpieczeństwa informacji w ochronie zdrowia. Warszawa, 29 listopada 2011 Architektura informacji w ochronie zdrowia Warszawa, 29 listopada 2011 Potrzeba Pomiędzy 17 a 19 kwietnia 2011 roku zostały wykradzione dane z 77 milionów kont Sony PlayStation Network. 2 tygodnie 25 milionów

Bardziej szczegółowo

X SPOTKANIE EKSPERCKIE. System ocen pracowniczych metodą 360 stopni

X SPOTKANIE EKSPERCKIE. System ocen pracowniczych metodą 360 stopni X SPOTKANIE EKSPERCKIE System ocen pracowniczych metodą 360 stopni Warszawa, 16.09.2011 Ocena wieloźródłowa od koncepcji do rezultatów badania dr Anna Bugalska Najlepsze praktyki Instytutu Rozwoju Biznesu

Bardziej szczegółowo

Recenzja rozprawy doktorskiej mgr Bartosza Rymkiewicza pt. Społeczna odpowiedzialność biznesu a dokonania przedsiębiorstwa

Recenzja rozprawy doktorskiej mgr Bartosza Rymkiewicza pt. Społeczna odpowiedzialność biznesu a dokonania przedsiębiorstwa Prof. dr hab. Edward Nowak Uniwersytet Ekonomiczny we Wrocławiu Katedra Rachunku Kosztów, Rachunkowości Zarządczej i Controllingu Recenzja rozprawy doktorskiej mgr Bartosza Rymkiewicza pt. Społeczna odpowiedzialność

Bardziej szczegółowo

Instrukcja obsługi Zaplecza epk w zakresie zarządzania tłumaczeniami opisów procedur, publikacji oraz poradników przedsiębiorcy

Instrukcja obsługi Zaplecza epk w zakresie zarządzania tłumaczeniami opisów procedur, publikacji oraz poradników przedsiębiorcy Instrukcja obsługi Zaplecza epk w zakresie zarządzania tłumaczeniami opisów procedur, publikacji oraz poradników przedsiębiorcy Spis treści: 1 WSTĘP... 3 2 DOSTĘP DO SYSTEMU... 3 3 OPIS OGÓLNY SEKCJI TŁUMACZENIA...

Bardziej szczegółowo

Testy użyteczności w praktyce

Testy użyteczności w praktyce Testy użyteczności w praktyce PAWEŁ GUZ IMPAQ Sp. z o.o. Wiśniowy Business Park, ul. 1-go Sierpnia 6A, 02-134 Warszawa Wstęp Grupa Kompetencyjna Software Usability Group (SUG) powstała w 2004 roku w celu

Bardziej szczegółowo

Konfiguracja i obsługa modułu Service Desk

Konfiguracja i obsługa modułu Service Desk Konfiguracja i obsługa modułu Service Desk wersja 07.03.2017 1. Wstęp Moduł Service Desk w BeeOffice pozwala na obsługę zgłoszeń serwisowych w ramach pojedynczej organizacji (np. użytkownicy IT i helpdesk

Bardziej szczegółowo

> funkcjonalność aplikacji

> funkcjonalność aplikacji Oferowane przez Bankier.pl narzędzie umożliwia pracownikom Banku porównanie jakości i istotnych cech swoich produktów z podobnymi oferowanymi przez inne Banki. Bazy danych o produktach finansowych aktualizowane

Bardziej szczegółowo

DigiSkills D3.5 Instrukcja korzystania z zasobów DigiSkills

DigiSkills D3.5 Instrukcja korzystania z zasobów DigiSkills Nr 531300-LLP-1-2012-1-GR-KA3-KA3NW DigiSkills: Network for the enhancement of digital competence skills DigiSkills D3.5 Instrukcja korzystania z zasobów DigiSkills Spis treści 1. Zakres dokumentu... 3

Bardziej szczegółowo

TOUCAN Team Evaluator OPIS FUNKCJONALNOŚCI

TOUCAN Team Evaluator OPIS FUNKCJONALNOŚCI TOUCAN Team Evaluator OPIS FUNKCJONALNOŚCI SPIS TREŚCI Funkcje... 4 Ocena celów... 4 Definicja celów... 4 Procesowy model akceptacji -... 5 Ocena stopnia realizacji celu... 5 Ocena kompetencji... 5 Definicja

Bardziej szczegółowo

E-book: Automatyzacja powiadomień SMS. CASE STUDY

E-book: Automatyzacja powiadomień SMS. CASE STUDY E-book: Automatyzacja powiadomień SMS. CASE STUDY CASE STUDY PRZEWODNIK JAK SKONFIGUROWAĆ FUNKCJĘ AUTOMATYZACJI na wybranym przykładzie Po zalogowaniu się do systemu (panel.serwersms.pl) pierwszym etapem

Bardziej szczegółowo

Scoring kredytowy w pigułce

Scoring kredytowy w pigułce Analiza danych Data mining Sterowanie jakością Analityka przez Internet Scoring kredytowy w pigułce Mariola Kapla Biuro Informacji Kredytowej S.A. StatSoft Polska Sp. z o.o. ul. Kraszewskiego 36 30-110

Bardziej szczegółowo

1. REJESTRACJA W INTERIM24.PL... 2 2. PANEL UŻYTKOWNIKA ZAWARTOŚĆ... 8 3. UZUPEŁNIENIE PROFILU... 9

1. REJESTRACJA W INTERIM24.PL... 2 2. PANEL UŻYTKOWNIKA ZAWARTOŚĆ... 8 3. UZUPEŁNIENIE PROFILU... 9 Strona1 Platforma Interim24.pl została stworzona w ramach projektu Interim management nowość w zarządzaniu wiekiem i firmą współfinansowanego przez Unię Europejską w ramach Europejski Funduszu Społecznego.

Bardziej szczegółowo

Specjalistyczna obsługa klienta

Specjalistyczna obsługa klienta Specjalistyczna obsługa klienta boschsecurity.com/instoreanalytics In-Store Analytics Moduł obsługowy Wysoki poziom obsługi klienta może mieć kluczowe znaczenie w budowaniu lojalności i podnoszeniu wyników

Bardziej szczegółowo

Jak nie tylko być zgodnym z regulacją, ale wyciągnąć korzyści biznesowe z lepszego dopasowania oferty

Jak nie tylko być zgodnym z regulacją, ale wyciągnąć korzyści biznesowe z lepszego dopasowania oferty Jak nie tylko być zgodnym z regulacją, ale wyciągnąć korzyści biznesowe z lepszego dopasowania oferty 5.10.2017 Copyright Sollers Consulting 2017 Jak być zgodnym z regulacją? Ale nie o tym jest ta prezentacja

Bardziej szczegółowo

Co zrobić aby dołączyć do Programu Partnerskiego Ceneo.pl?

Co zrobić aby dołączyć do Programu Partnerskiego Ceneo.pl? OFERTA Spis treści: 1) Jak zacząć? - str.2 2) Dostępne kreacje - str.4 3) Dodawanie kreacji - str.6 4) Kampanie dedykowane - str.16 5) System poleceń - str.17 str. 1 Co zrobić aby dołączyć do Programu

Bardziej szczegółowo

Procesowa specyfikacja systemów IT

Procesowa specyfikacja systemów IT Procesowa specyfikacja systemów IT BOC Group BOC Information Technologies Consulting Sp. z o.o. e-mail: boc@boc-pl.com Tel.: (+48 22) 628 00 15, 696 69 26 Fax: (+48 22) 621 66 88 BOC Management Office

Bardziej szczegółowo

Eksploracja Danych. wykład 4. Sebastian Zając. 10 maja 2017 WMP.SNŚ UKSW. Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja / 18

Eksploracja Danych. wykład 4. Sebastian Zając. 10 maja 2017 WMP.SNŚ UKSW. Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja / 18 Eksploracja Danych wykład 4 Sebastian Zając WMP.SNŚ UKSW 10 maja 2017 Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja 2017 1 / 18 Klasyfikacja danych Klasyfikacja Najczęściej stosowana (najstarsza)

Bardziej szczegółowo

Test inteligencji emocjonalnej. Katarzyna Thomas

Test inteligencji emocjonalnej. Katarzyna Thomas Test inteligencji emocjonalnej Wykresy i liczby 2013-08-01 Poufne Normy: Poland 2010 Niniejszy raport zawiera informacje i wskazówki pomocne przy rozwijaniu wiedzy i świadomości dotyczącej inteligencji

Bardziej szczegółowo

Elementy modelowania matematycznego

Elementy modelowania matematycznego Elementy modelowania matematycznego Modelowanie algorytmów klasyfikujących. Podejście probabilistyczne. Naiwny klasyfikator bayesowski. Modelowanie danych metodą najbliższych sąsiadów. Jakub Wróblewski

Bardziej szczegółowo

Omówienie specyfiki i zasad przyznawania punktów w ramach kryteriów merytorycznych fakultatywnych

Omówienie specyfiki i zasad przyznawania punktów w ramach kryteriów merytorycznych fakultatywnych Program Operacyjny Innowacyjna Gospodarka Działanie 8.1 Wspieranie działalności gospodarczej w dziedzinie gospodarki elektronicznej Omówienie specyfiki i zasad przyznawania punktów w ramach kryteriów merytorycznych

Bardziej szczegółowo

Optymalizacja ciągła

Optymalizacja ciągła Optymalizacja ciągła 5. Metoda stochastycznego spadku wzdłuż gradientu Wojciech Kotłowski Instytut Informatyki PP http://www.cs.put.poznan.pl/wkotlowski/ 04.04.2019 1 / 20 Wprowadzenie Minimalizacja różniczkowalnej

Bardziej szczegółowo

Transformacja wiedzy w budowie i eksploatacji maszyn

Transformacja wiedzy w budowie i eksploatacji maszyn Uniwersytet Technologiczno Przyrodniczy im. Jana i Jędrzeja Śniadeckich w Bydgoszczy Wydział Mechaniczny Transformacja wiedzy w budowie i eksploatacji maszyn Bogdan ŻÓŁTOWSKI W pracy przedstawiono proces

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: PROGNOZOWANIE Z WYKORZYSTANIEM SYSTEMÓW INFORMATYCZNYCH Kierunek: Informatyka Rodzaj przedmiotu: obowiązkowy w ramach treści kierunkowych Rodzaj zajęć: wykład, laboratorium I KARTA PRZEDMIOTU

Bardziej szczegółowo

Badania eksperymentalne

Badania eksperymentalne Badania eksperymentalne Analiza CONJOINT mgr Agnieszka Zięba Zakład Badań Marketingowych Instytut Statystyki i Demografii Szkoła Główna Handlowa Najpopularniejsze sposoby oceny wyników eksperymentu w schematach

Bardziej szczegółowo

Analiza danych. http://zajecia.jakubw.pl/ TEMATYKA PRZEDMIOTU

Analiza danych. http://zajecia.jakubw.pl/ TEMATYKA PRZEDMIOTU Analiza danych Wstęp Jakub Wróblewski jakubw@pjwstk.edu.pl http://zajecia.jakubw.pl/ TEMATYKA PRZEDMIOTU Różne aspekty analizy danych Reprezentacja graficzna danych Metody statystyczne: estymacja parametrów

Bardziej szczegółowo

Modelowanie sieci złożonych

Modelowanie sieci złożonych Modelowanie sieci złożonych B. Wacław Instytut Fizyki UJ Czym są sieci złożone? wiele układów ma strukturę sieci: Internet, WWW, sieć cytowań, sieci komunikacyjne, społeczne itd. sieć = graf: węzły połączone

Bardziej szczegółowo

Metodyka zarządzania ryzykiem w obszarze bezpieczeństwa informacji

Metodyka zarządzania ryzykiem w obszarze bezpieczeństwa informacji 2012 Metodyka zarządzania ryzykiem w obszarze bezpieczeństwa informacji Niniejszy przewodnik dostarcza praktycznych informacji związanych z wdrożeniem metodyki zarządzania ryzykiem w obszarze bezpieczeństwa

Bardziej szczegółowo

INSTRUKCJA OBSŁUGI PLATFORMY E-LEARNINGOWEJ

INSTRUKCJA OBSŁUGI PLATFORMY E-LEARNINGOWEJ E-LEARNINGOWEJ 1 Spis treści Wprowadzenie... 3 1. Zakładanie konta na platformie... 3 2. Logowanie... 5 3. Przypomnienie zapomnianego hasła... 5 4. Zmiana profilu... 5 5. Zapisy na szkolenie...6 6. Proces

Bardziej szczegółowo

Monitoring procesów z wykorzystaniem systemu ADONIS

Monitoring procesów z wykorzystaniem systemu ADONIS Monitoring procesów z wykorzystaniem systemu ADONIS BOC Information Technologies Consulting Sp. z o.o. e-mail: boc@boc-pl.com Tel.: (+48 22) 628 00 15, 696 69 26 Fax: (+48 22) 621 66 88 BOC Management

Bardziej szczegółowo

Wykaz tematów prac magisterskich w roku akademickim 2018/2019 kierunek: informatyka

Wykaz tematów prac magisterskich w roku akademickim 2018/2019 kierunek: informatyka Wykaz tematów prac magisterskich w roku akademickim 2018/2019 kierunek: informatyka L.p. Nazwisko i imię studenta Promotor Temat pracy magisterskiej 1. Wojciech Kłopocki dr Bartosz Ziemkiewicz Automatyczne

Bardziej szczegółowo

Metody Ilościowe w Socjologii

Metody Ilościowe w Socjologii Metody Ilościowe w Socjologii wykład 2 i 3 EKONOMETRIA dr inż. Maciej Wolny AGENDA I. Ekonometria podstawowe definicje II. Etapy budowy modelu ekonometrycznego III. Wybrane metody doboru zmiennych do modelu

Bardziej szczegółowo

Porównanie generatorów liczb losowych wykorzystywanych w arkuszach kalkulacyjnych

Porównanie generatorów liczb losowych wykorzystywanych w arkuszach kalkulacyjnych dr Piotr Sulewski POMORSKA AKADEMIA PEDAGOGICZNA W SŁUPSKU KATEDRA INFORMATYKI I STATYSTYKI Porównanie generatorów liczb losowych wykorzystywanych w arkuszach kalkulacyjnych Wprowadzenie Obecnie bardzo

Bardziej szczegółowo

Instrukcja modułu BKD - Wykonawca

Instrukcja modułu BKD - Wykonawca Instrukcja modułu BKD - Wykonawca 1 Autor Izabela Kaniewska Projekt Platforma zakupowa GPP Manager Wioleta Tymorek Data utworzony 2014-04-28 Data modyfikacji 2014-12-03 19:34:00 Wersja 1.0 Ilość stron

Bardziej szczegółowo

SPRAWOZDANIE ROCZNE z pracy sieci współpracy i samokształcenia "Nowoczesne technologie w edukacji" za rok szkolny 2014/2015

SPRAWOZDANIE ROCZNE z pracy sieci współpracy i samokształcenia Nowoczesne technologie w edukacji za rok szkolny 2014/2015 SPRAWOZDANIE ROCZNE z pracy sieci współpracy i samokształcenia "Nowoczesne technologie w edukacji" za rok szkolny 2014/2015 W ramach pracy sieci nauczycieli szkół powiatu lipnowskiego Nowoczesne Technologie

Bardziej szczegółowo

O ISTOTNYCH OGRANICZENIACH METODY

O ISTOTNYCH OGRANICZENIACH METODY O ISTOTNYCH OGRANICZENIACH METODY ALGORYTMICZNEJ Dwa pojęcia algorytmu (w informatyce) W sensie wąskim Algorytmem nazywa się każdy ogólny schemat procedury możliwej do wykonania przez uniwersalną maszynę

Bardziej szczegółowo

Zasady Wykorzystywania Plików Cookies

Zasady Wykorzystywania Plików Cookies Zasady Wykorzystywania Plików Cookies Definicje i objaśnienia używanych pojęć Ilekroć w niniejszym zbiorze Zasad wykorzystywania plików Cookies pojawia się któreś z poniższych określeń, należy rozumieć

Bardziej szczegółowo

OPIEKUN DORADCY: KONTO FIRMY ZARZĄDZANIE KLIENTAMI

OPIEKUN DORADCY: KONTO FIRMY ZARZĄDZANIE KLIENTAMI Portalami Opiekun Doradcy / Opiekun Zysku zarządza firma Opiekun Inwestora z siedzibą w Poznaniu, NIP: 972 117 04 29 KONTAKT W SPRAWIE WSPÓŁPRACY W RAMACH PROJEKTU OPIEKUN DORADCY pomoc@opiekundoradcy.pl,

Bardziej szczegółowo

Innowacyjne narzędzia do zarządzania kompetencjami i ich rozwoju

Innowacyjne narzędzia do zarządzania kompetencjami i ich rozwoju Innowacyjne narzędzia do zarządzania kompetencjami i ich rozwoju Od aspiracji... do realnych potrzeb naszych klientów Od aspiracji Przy planowaniu prac nad rozwojem autorskiej platformy MN Portal zapytaliśmy

Bardziej szczegółowo

Zdalne monitorowanie i zarządzanie urządzeniami sieciowymi

Zdalne monitorowanie i zarządzanie urządzeniami sieciowymi Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Infomatyki Stosowanej Piotr Benetkiewicz Nr albumu: 168455 Praca magisterska na kierunku Informatyka

Bardziej szczegółowo

REFERAT O PRACY DYPLOMOWEJ

REFERAT O PRACY DYPLOMOWEJ REFERAT O PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja elektronicznego dziennika ocen ucznia Autor: Grzegorz Dudek wykonanego w technologii ASP.NET We współczesnym modelu edukacji, coraz powszechniejsze

Bardziej szczegółowo

POLITYKA DOTYCZĄCA PLIKÓW COOKIE

POLITYKA DOTYCZĄCA PLIKÓW COOKIE POLITYKA DOTYCZĄCA PLIKÓW COOKIE Niniejsza Polityka dotycząca plików cookie ma zastosowanie do globalnej grupy podmiotów Sodexo (zwanej dalej Sodexo ) w zakresie wszystkich czynności i działalności takich

Bardziej szczegółowo

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) 16.01.2003 Algorytmy i Struktury Danych PIŁA ALGORYTMY ZACHŁANNE czas [ms] Porównanie Algorytmów Rozwiązyjących problem TSP 100 000 000 000,000 10 000 000

Bardziej szczegółowo

Eksploracja danych a serwisy internetowe Przemysław KAZIENKO

Eksploracja danych a serwisy internetowe Przemysław KAZIENKO Eksploracja danych a serwisy internetowe Przemysław KAZIENKO Wydział Informatyki i Zarządzania Politechnika Wrocławska kazienko@pwr.wroc.pl Dlaczego eksploracja danych w serwisach internetowych? Kanały

Bardziej szczegółowo

Prezentacja aplikacji

Prezentacja aplikacji Prezentacja aplikacji Kto tworzy Navigatora? Doświadczeni doradcy inwestycyjni i analitycy od 8 lat oceniający rynki funduszy inwestycyjnych w Polsce i na świecie, Niezależna finansowo i kapitałowo firma,

Bardziej szczegółowo

Symfonia Mała Księgowość 2013 Specyfikacja zmian

Symfonia Mała Księgowość 2013 Specyfikacja zmian Symfonia Mała Księgowość 2013 Specyfikacja zmian Odświeżony interfejs użytkownika 2 Rozwój wizerunkowy programu obejmuje odświeżenie interfejsu użytkownika. Wymieniona została ikona desktopowa programu,

Bardziej szczegółowo

System zarządzający grami programistycznymi Meridius

System zarządzający grami programistycznymi Meridius System zarządzający grami programistycznymi Meridius Instytut Informatyki, Uniwersytet Wrocławski 20 września 2011 Promotor: prof. Krzysztof Loryś Gry komputerowe a programistyczne Gry komputerowe Z punktu

Bardziej szczegółowo

PLATFORMA ACTIVE FORMS. Kreator Formularzy Internetowych ze wsparciem dla RWD

PLATFORMA ACTIVE FORMS. Kreator Formularzy Internetowych ze wsparciem dla RWD PLATFORMA ACTIVE FORMS Kreator Formularzy Internetowych ze wsparciem dla RWD ACTIVE FORMS 2 Spis treści WPROWADZENIE 3 Dowolnie złożone formularze 3 Niski czas i koszt zbudowania formularza 4 TOP 10 WŁAŚCIWOŚCI

Bardziej szczegółowo

Dopasowywanie modelu do danych

Dopasowywanie modelu do danych Tematyka wykładu dopasowanie modelu trendu do danych; wybrane rodzaje modeli trendu i ich właściwości; dopasowanie modeli do danych za pomocą narzędzi wykresów liniowych (wykresów rozrzutu) programu STATISTICA;

Bardziej szczegółowo

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

S O M SELF-ORGANIZING MAPS. Przemysław Szczepańczyk Łukasz Myszor S O M SELF-ORGANIZING MAPS Przemysław Szczepańczyk Łukasz Myszor Podstawy teoretyczne Map Samoorganizujących się stworzył prof. Teuvo Kohonen (1982 r.). SOM wywodzi się ze sztucznych sieci neuronowych.

Bardziej szczegółowo

Audyt SEO. sklep-budowalny.pl. +531 525 600 biuro@semtec.pl www.semtec.pl. Biuro obsługi: al. Grunwaldzka 2/5 80-236 Gdańsk

Audyt SEO. sklep-budowalny.pl. +531 525 600 biuro@semtec.pl www.semtec.pl. Biuro obsługi: al. Grunwaldzka 2/5 80-236 Gdańsk Audyt SEO sklep-budowalny.pl Spis treści 1 WSTĘP... 3 2 ZALECENIA OGÓLNE... 5 2.1 OPTYMALIZACJA NAGŁÓWKÓW NA WSZYSTKICH PODSTRONACH... 5 2.2 KONFIGURACJA PARAMETRÓW W GOOGLE WEBMASTER TOOLS... 6 2.3 USUNIĘCIE

Bardziej szczegółowo

Podsumowanie wyników ankiety

Podsumowanie wyników ankiety SPRAWOZDANIE Kierunkowego Zespołu ds. Programów Kształcenia dla kierunku Informatyka dotyczące ankiet samooceny osiągnięcia przez absolwentów kierunkowych efektów kształcenia po ukończeniu studiów w roku

Bardziej szczegółowo

Założenia monitoringu innowacyjności województwa mazowieckiego

Założenia monitoringu innowacyjności województwa mazowieckiego Założenia monitoringu innowacyjności województwa mazowieckiego Wojciech Dziemianowicz prezentacja składa się z materiałów przygotowanych przez firmy GEOPROFIT i ECORYS Polska sp. z o.o. na zlecenie Urzędu

Bardziej szczegółowo

KARTA PRZEDMIOTU. Algorytmy i struktury danych, C4

KARTA PRZEDMIOTU. Algorytmy i struktury danych, C4 KARTA PRZEDMIOTU 1. Informacje ogólne Nazwa przedmiotu i kod (wg planu studiów): Nazwa przedmiotu (j. ang.): Kierunek studiów: Specjalność/specjalizacja: Poziom kształcenia: Profil kształcenia: Forma studiów:

Bardziej szczegółowo

Zacznij zarabiać z programem partnerskim iparts.pl!

Zacznij zarabiać z programem partnerskim iparts.pl! Zacznij zarabiać z programem partnerskim iparts.pl! Dołącz do Programu Partnerskiego iparts.pl! Polecaj sklep internetowy iparts.pl swoim klientom i zarabiaj na ich transakcjach! iparts Program Partnerski

Bardziej szczegółowo

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

Wykładnicze grafy przypadkowe: teoria i przykłady zastosowań do analizy rzeczywistych sieci złożonych Gdańsk, Warsztaty pt. Układy Złożone (8 10 maja 2014) Agata Fronczak Zakład Fizyki Układów Złożonych Wydział Fizyki Politechniki Warszawskiej Wykładnicze grafy przypadkowe: teoria i przykłady zastosowań

Bardziej szczegółowo

Budowa argumentacji bezpieczeństwa z użyciem NOR-STA Instrukcja krok po kroku

Budowa argumentacji bezpieczeństwa z użyciem NOR-STA Instrukcja krok po kroku Budowa argumentacji bezpieczeństwa z użyciem NOR-STA Instrukcja krok po kroku NOR-STA jest narzędziem wspierającym budowę, ocenę oraz zarządzanie strukturą argumentacji wiarygodności (assurance case),

Bardziej szczegółowo

Model referencyjny doboru narzędzi Open Source dla zarządzania wymaganiami

Model referencyjny doboru narzędzi Open Source dla zarządzania wymaganiami Politechnika Gdańska Wydział Zarządzania i Ekonomii Katedra Zastosowań Informatyki w Zarządzaniu Zakład Zarządzania Technologiami Informatycznymi Model referencyjny Open Source dla dr hab. inż. Cezary

Bardziej szczegółowo

Maciej Oleksy Zenon Matuszyk

Maciej Oleksy Zenon Matuszyk Maciej Oleksy Zenon Matuszyk Jest to proces związany z wytwarzaniem oprogramowania. Jest on jednym z procesów kontroli jakości oprogramowania. Weryfikacja oprogramowania - testowanie zgodności systemu

Bardziej szczegółowo

1. CEL BADAŃ 2. METODYKA BADAŃ 2.1. ORGANIZACJA BADAŃ

1. CEL BADAŃ 2. METODYKA BADAŃ 2.1. ORGANIZACJA BADAŃ 1. CEL BADAŃ Celem głównym ewaluacji jakości kształcenia jest diagnoza i ocena jakości procesu dydaktycznego realizowanego przez nauczycieli akademickich, wspieranego przez pracowników wszystkich komórek

Bardziej szczegółowo

Przedmowa... 7 1. System zarządzania jakością w przygotowaniu projektów informatycznych...11

Przedmowa... 7 1. System zarządzania jakością w przygotowaniu projektów informatycznych...11 Spis treści Przedmowa... 7 1. System zarządzania jakością w przygotowaniu projektów informatycznych...11 1.1. Wprowadzenie...11 1.2. System zarządzania jakością...11 1.3. Standardy jakości w projekcie

Bardziej szczegółowo

OBIEG INFORMACJI I WSPOMAGANIE DECYZJI W SYTUACJACH KRYZYSOWYCH

OBIEG INFORMACJI I WSPOMAGANIE DECYZJI W SYTUACJACH KRYZYSOWYCH OBIEG INFORMACJI I WSPOMAGANIE DECYZJI W SYTUACJACH KRYZYSOWYCH AGENDA Prezentacja firmy Tecna Informacja i jej przepływ Workflow i BPM Centralny portal informacyjny Wprowadzanie danych do systemu Interfejsy

Bardziej szczegółowo

Webowy generator wykresów wykorzystujący program gnuplot

Webowy generator wykresów wykorzystujący program gnuplot Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Marcin Nowak nr albumu: 254118 Praca inżynierska na kierunku informatyka stosowana Webowy generator wykresów wykorzystujący

Bardziej szczegółowo

6.4. Efekty specjalne

6.4. Efekty specjalne 6.4. Efekty specjalne Ile wart byłby porządny film bez efektów specjalnych. Przecież to właśnie one nadają charakter dla filmu i przykuwają uwagę widza. Dlaczego nie wykorzystać by tego w prezentacjach?

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH Modeling and analysis of computer systems Kierunek: Informatyka Forma studiów: Stacjonarne Rodzaj przedmiotu: Poziom kwalifikacji: obowiązkowy

Bardziej szczegółowo