[PPT]Metody i algorytmy sieci bayesowskich w …klopotek/mak/current_research/BNreko... · Web...
Transcript of [PPT]Metody i algorytmy sieci bayesowskich w …klopotek/mak/current_research/BNreko... · Web...
{Klopotek,Stw}@ipipan.waw.plhttp://www.ipipan.waw.pl/~klopotekhttp://www.ipipan.waw.pl/~stw
Metody i algorytmy sieci bayesowskich w systemach
rekomendujących M.A..Kłopotek & S.T.Wierzchoń
Instytut Podstaw InformatykiPolskiej Akademii Nauk
w Warszawie
2
Plan• Sieci Bayesowskie• Systemy rekomendujące• Rodzaje systemów rekomendujących i
możliwości zastosowań sieci bayesowskich
3
Sieci bayesowskiePrzydatne do reprezentacji niepewności w AI Naturalna i związła reprezentacja rozkładów
prawdopodobieństwa w wielu zmiennych Efektywne metody odpowiadania na zapytania
(wnioskowania wstecz i w przód, uzasadnienia, wyjaśniania itp..)
Wiele zastosowań • Diagnostyka medyczna (PathFinder, QMR)• Diagnostyka techniczna (Microsoft troubleshooter,
NASA/Rockwell Vista project)• Wyszukiwanie informacji (Ricoh helpdesk)• Wykrywanie oszustw• Sterowanie itp..
4
Sieci bayesowskie• Efektywna obliczeniowo i przestrzennie metoda
reprezentacji łącznego rozkładu prawdopodobieństwa
• Niecykliczny graf skierowany – Węzły – zmienne losowe – Łuki – bezpośrednie powiązania przyczynowo-
skutkowe • Węzły statystycznie niezależne wzgłedem swych
rodziców
6
Sieci bayesowskie a dokumenty tekstowe
• są szczególnie atrakcyjne z uwagi na "rozmycie" pojęć oraz tworzenie asocjacji między dokumentami wykraczających poza obecność słów kwerendy.
• mogą pozwolić na oszacowanie liczby dokumentów spełniających kwerendę bez potrzeby odwoływania się do faktycznej bazy
• mogą być podstawą do określenia rozmytej siły związku między słowami/frazami, co może być podstawą do automatycznego wspomagania konstrukcji tezaurusów.
• mogą wspomagać rozmytą konstrukcję hierarchii pojęć i/lub dokumentów oraz rozmyte poszukiwanie odpowiedzi na kwerendy.
7
Sieci bayesowskie w IPI PAN• Opracowano szybkie i pamięciooszczędne algorytmy
konstrukcji sieci bayesowskich o strukturze drzewiastej z danych
• Sieci do 100,000 węzłów w ciągu 5-20 min. (implementacja w javie, PC Pentium II, zegar 500 MHz)
• Generalizują algorytm Chow/Liu• Wykorzystują szczególną postać drzew decyzyjnych• Działają przyrostowo (nowy węzeł nie wymaga
budowy drzewa od nowa)
8
System rekomendujący• Podpowiada kolejne akcje na bazie
dotychczasowych zdarzeń• Stosowany może być do rekomendacji
– Dla ludzi– Dla systemów wieloagentowych– Ogólnie w układach obiektów o ograniczonej
wiedzy n.t. otoczenia
System rekomendujący – mimika zachowań
społecznychCo mam przeczytać?
Rekomendacje przyjaciół Rekomendacje
systemów
Zastosowania systemów rekomendujących
• Rekomendacje książek (Amazon, Barnes&Noble)
• Rekomendacje filmów… (Reel, RatingZone, Amazon)
• Rekomendacja muzyki… (CDNow, Mubu, Gigabeat)
• Rekomendacja stron WWW (Alexa)
• Rekomendacja dowcipów (Jester)
• Rekomendacja randek (Yenta)
11
Komercyjne rekomendery
Firma Zastosowanie Technologia rekomendacjiAmazon.com Customers who Bought Korelacje obiektów, dane o sprzedaży
Eyes W oparciu o atrybutyAmazon.com Delivers W oparciu o atrybutyBook Matcher Korelacja (upodobań) ludzi, TekstCustomers Comments Agregacja rang, stopni podobania się
CDNOW Album Advisor Korelacje obiektów, dane o sprzedażyMy CDNOW Korelacja (upodobań) ludzi, Tekst
eBay Feedback Profile Agregacja rang, stopni podobania się
Levis Style Finder Korelacja (upodobań) ludzi, Tekst
Moviefinder.comMatch Maker Korelacje obiektów, wybór edytora We Predict Korelacja (upodobań) ludzi, zagregowane rangi
Reel.com Movie Matches Korelacje obiektów, wybór edytoraMovie Map Oparte o atrybuty, wybór edytora
12
Na czym działają rekomendery• Klient
– Stan (wektor atrybutów)– Cele (wektor atrybutów i/lub tekst swobodny)– Odpowiedzi na pytania systemu (rangowanie)– Historia „zakupów”
• Społeczność klientów– Historia zakupów klient-obiekt itp..– Historia rangowania klient-obiekt
• Obiekt na sprzedaż, (reprezentowane perzez „dokumenty”) – Opis za pomocą atrybutów– Opis za pomocą tekstu swobodnego
• Zbiorowisko obiektów na sprzedaż – Kolekcja opisów
13
Typy systemów rekomendujących
– Rekomendacje w oparciu o wyszukiwanie – Rekomendacje w oparciu o kategorie – Klasteryzacja – Reguły asocjacji – Klasyfikatory– Filtracja w oparciu o zawartość– Filtracja społeczna (kolektywna)
14
Rekomendacje oparte o wyszukiwanie
• Klient wpisuje kwerendę – « data mining customer »
• System wyszukuje obiekty – Np.. 6 książek
• System rekomenduje niektóre w oparciu o ogólny, nieosobowy ranking (ranking sprzedaży, popularność, „PageRank” itp..)
15
Rekomendacje oparte o wyszukiwanie
• Zalety:– Prosty w implementacji
• Wady – Zależny od trafności reguł rankingu– Brak personalizacji– Klient dostaje tylko to, o co pyta
16
Sieci Bayesowskie a rekomendacja przez wyszukiwanie
• Węzły – słowa (termy) i/lub atrybuty• Trenowanie – zbiór dokumentów• Wynik: ranking dokumentów jako
prawdopodobieństwo występowania dokumentów o danej zawartości.
17
Rekomendacje oparte o kategoryzację
• Obiekty przypisane do kategorii • Wybór kategorii implicite (historia, zapytanie) lub
explicite • Pewne obiekty z wybranej kategorii (bestsellery,
nowości) są rekomendowane
ZASTOSOWANIE SIECI BAYESOWSKICH:• Można nauczyć sieć asocjacji między kategorią a
cechami klienta, historii, zapytania
18
Klasteryzacja • Klasteryzacja klientów na bazie minionych
zakupów (wspólnych obiektów) • Każdy klaster opisany profilem preferencji jako
„średnia” preferencji członków klastru • Klienci otrzymują rekomendację obliczoną na
poziomie klastra • Nowy klient jest przypisywany do najbliższego
klastra (klastow) i rekomenuje mu się na bazie profilu klastra (ew. z ważeniem)
19
Klasteryzacja• Zalety:
– Szybkość (klasteryzacja agreguje dane) – Może być stosowana jako pierwszy krok do redukcji
danych w filtracji społecznej (kolektywnej)
• Wady:– Rekomendacje (na poziomie klastru) są mniej
relewantne niż w filtrowaniu kolektywnym (na poziomie indywiduum)
20
Zastosowanie sieci bayesowskich w klasteryzacji
• Drzewiaste sieci bayesowskie – Węzły – klienci– Trenowanie obiekty (kupił/nie kupił)
• Nowy klient – wstawiany do drzewa• klastry jako rozbicie drzewa w najsłabszych
miejscach
21
Reguły asocjacyjne • Reguły asocjacyjne działają na poziomie obiektów
sprzedawanych, w przeciwieństwie do• Klasteryzacji (na poziomie klastrów klientów) • Filtracji kolektywnej (na poziomie indywidualnych klientów)
• Reguły asocjacyjne mówią, które obiekty często są współkupowane (dla zadanego minimalnego wsparcia)
• Algorytm: np.. APRIORI• Rekomendacja: Klient kupuje obiekt A, więc rekomendujemy
mu często współkupowany obiekt B.
22
Reguły asocjacyjne• Zalety:
– Szybko można zaimplementować – Działają szybko– Niskie zapotrzebowanie na pamięć– Nie ajmują się indywidualnym klientem– Skuteczne w zastosowaniach dla dużych populacji klientów
• Wady – Nie nadają się, gdy preferencje zmieniają się szybko – Można ulec pokusie zaniżania poziomu wsparcia, co prowadzi do
bzdurnych rekomendacji
23
Sieci bayesowskie a reguły asocjacyjne
• Alternatywna Sieć „asocjacji”– Węzły – obiekty– Trenowanie – wektory kupujących lub nie
klientów• Wnioskowanie – określenie
prawdopodobieństwa zakupu dla klienta z konkretną historią
24
Klasyfikatory• Klasyfikatory: to szeroka klasa modeli obliczeniowych, np..
– Sieci neuronowe, – sieci bayesowskie, – alg.budowy drzew decyzyjnych itp..
• Mogą wykorzysta na wejściuć: – Wektor cech obiektów (akcji/przygodowy, Mikulski/Kloss)– Preferencje klientów (np.. Akcji/przygodowy)– Relacje między obiektami
• I dać na wyjściu – Klasyfuikację – Rangę – Ocenę preferencji
• Potrzebny jest zbiór uczący (relacja wejście/wyjście)
25
Klasyfikatory• Zalety:
– Wszechstronność – Mog ą poprawić działanie innych
rekomenderów w połaczeniu z nimi
• Wady:– Wymagany jest odpoiedni zbiór uczący
26
Fitracja informacyjna (oparta o zawartość dokumentu)
• filtracja wykorzystująca zawartość dokumentów (content-based approach): analizując zachowanie pojedynczego użytkownika system tworzy jego profil i wyszukuje dokumenty zgodne z tym profilem;
• Niektóre systemy opieraja swe rekomendacje o analizę zawartości obiektu, takie jak: – Strony Web
• FAB• NetMind• Personal Web Watcher
– Artykuły Newsgroup • Reference.com
27
Czyli Filtrowanie informacji • wyrasta z metod wyszukiwania informacji• stosowane jest w sytuacjach gdy system
przetwarza wyłącznie dane tekstowe. • System poszukuje informacji podobnych do tych,
które są preferowane przez użytkownika, w oparciu o ich zawartość i stosowne miary odległości
• Ilość informacji pochodzących od użytkownika może być ograniczona
28
Filtrowanie informacji - wady• Podstawowa trudność to uchwycenie wszystkich
merytorycznych aspektów zawartości dokumentu np. w takich dziedzinach jak– muzyka, – filmy, – oprogramowanie, – obsługa komputera itp.
• Nawet przy ograniczeniu się do dokumentów tekstowych większość reprezentacji może uchwycić jedynie pewne aspekty treści dokumentu, co skutkuje słabą jakością systemu.
29
Sieci Bayesowskie a filtrowanie informacyjne
• Węzły – słowa (termy) i/lub atrybuty• Trenowanie – zbiór dokumentów• Wynik: ranking dokumentów jako
prawdopodobieństwo przynależności dokumentu do kwerendy
30
Filtracja kolektywna• wykorzystanie reakcji innych
użytkowników na ten sam dokument (opis produktu, kurs, ścieżka edukacyjna itp.).
• System poszukuje użytkowników o podobnych zainteresowaniach, zdolnościach i rekomenduje im potrzebne informacje.
31
Filtracja kolektywna
Kurs Pascal
Java
C++
JavaScript
CGI
Administrator Oracle
Użytkownik Oracle
Użytkownik Unix
user_1
6 7 5 7 1 2 3 7
user_2
7 6 6 7 - 1 6 6
user_3
2 1 1 - 7 6 5 3
Większość rang przyznawanych przez user_1 i user_2 jest zgodna, czyli obaj użytkownicy należą do wspólnej grupy, zaś preferencje trzeciego użytkownika wskazują, że należy on do innej grupy.
32
Filtracja kolektywna• „pokaż mi informację, której nigdy dotychczas nie widziałem, a która
interesuje ludzi mojego pokroju”. • Personalizowane rekomendacje realizowane są w trakcie iteracyjnego procesu
gdzie przedstawia się informacje i prosi o ich szeregowanie, co pozwala ustalać profil użytkownika.
• Profil porównywany jest z profilami innych użytkowników systemu => wyłonienie grup o podobnych zainteresowaniach.
• Zamiast obliczać podobieństwo miedzy dokumentami, oblicza się tu stopień przynależności do grupy, ktory obliczany jest np. w oparciu o rangowania przyznawane przez użytkowników pozycjom kwestionariusza.
• nie dokonuje się analizy zawartości dokumentów, co oznacza, że dokument o dowolnej zawartości może być przedstawiony użytkownikowi z jednakowym sukcesem.
• Każdemu dokumentowi przypisywany jest identyfikator i stopień przynależności do grupy.
33
Filtracja kolektywnaPodejście to charakteryzują dwie cechy• Po pierwsze, relewantność dokumentów ustalana jest w
kontekście grupy, a nie pojedynczego użytkownika.• Po drugie, szacowanie wartości lub atrakcyjności
dokumentów ma charakter subiektywny. Umożliwia to operowanie złożonymi, heterogenicznymi, wzorcami ocen.
34
Filtracja kolektywna - wady• Niewielka, w stosunku do liczby dokumentów,
liczba użytkowników zazwyczaj pociąga za sobą nieznaczne pokrycie pozycji kwestionariusza.
• Pojawienie się nowego dokumentu wymaga zbierania informacji od różnych użytkowników.
• Jeżeli gusta (wymagania) użytkownika różnią się istotnie od wymagań innych użytkowników obniża to jakość systemu.
35
Filtracja kolektywna – walka z wadami
• tworzy się profile wirtualnych użytkowników o bardzo specyficznych zainteresowaniach (por. system Ringo).
• Tzn. można z góry utworzyć określone profile grup, które będą ewoluować w trakcie funkcjonowania systemu.
36
Przykład filtracji kolektywnej: Metoda Pearsona
))(,( ,.,,., ! jmjumu vvjuwnvp uj u oraz j – indeks użytkownika
m – indeks przedmiotu predykcji (dokumentu itp..)
p – predykcja
n – wielkość normalizująca
w – waga powiązania między użytkownikami, zwykle współczynnik korelacji między użytkowikami, liczony po wspólnych minionych przedmiotach predykcji
37
Metoda klasteryzacyjno-personowska
• Algorytmem k-means tworzymy k klastrów użytkowników• Centrum klastra jest użytkownik najlepiej skorelowany z
pozostałym• Tworzony jest profil klastra jako średni głos członków
klastra• Metoda predykcji z poprzedniego slajdu jest stosowana tak,
jakby to profile klastrów były sąsiadami j danego użytkownika u.
• KORZYŚĆ: redukcja obliczeń podczas predykcji• KOSZT: długi czas uczenia
38
Metody oparte o sieci bayesowskie pionowe
• Sieć, której węzłami są użytkownicy• Uczenie = tak, jakby przypadkami były
dokumenty (przedmioty predykcji)• Predykcja = wnioskowanie przy znajomości
głosów innych użytkowników• KORZYŚĆ: symulacja ciągłej klasteryzacji
39
Metody oparte o sieci bayesowskie poziome
• Wstępna klasteryzacja użytkowników (np.. Metodami rozmytymi)
• Sieć bayesowska dla każdej z grup oddzielnie• Sieć, której węzłami są dokumenty • Uczenie = tak, jakby przypadkami byli użytkownicy z
klastru • Predykcja = wnioskowanie przy znajomości głosów
użytkownika dla innych dokumentów • KORZYŚĆ: połączenie filtracji kolektywnej z opartą
o zawartość
40
Połączenie• Wstępna klasteryzacja użytkowników siecią
bayesowską A – każdy użytkownik rozmytą grupą• Sieć bayesowska B o wspólnej strukturze dla
każdego użytkownika, ale z innymi współcz. • Sieć B, której węzłami są dokumenty • • KORZYŚĆ: połączenie filtracji kolektywnej z
opartą o zawartość
41
Rekomendacje działań wg celów za pomocą sieci bayesowskich
• Dokument (kurs) opisywany nie treścią tekstową, lecz stopniem osiągnięcia przez użytkownika stawianego sobie celu np.– Wynik egzaminu, – stopień polepszenia wiedzy względem wiedzy
początkowej• Połączenie filtracji kolektywnej z zawartościową
poprzez zastąpienie zawartości wielowymiarowym stopniem satysfakcji