[PPT]Metody i algorytmy sieci bayesowskich w …klopotek/mak/current_research/BNreko... · Web...

42
{Klopotek,Stw}@ipipan.waw.pl http:// www . ipipan . waw . pl /~ klopotek http:// www . ipipan . waw . pl /~ stw Metody i algorytmy sieci bayesowskich w systemach rekomendujących M.A..Kłopotek & S.T.Wierzchoń Instytut Podstaw Informatyki Polskiej Akademii Nauk w Warszawie

Transcript of [PPT]Metody i algorytmy sieci bayesowskich w …klopotek/mak/current_research/BNreko... · Web...

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

5

Sieci bayesowskie

R

Z

T

Y

X

S

Pr(R,S,X,Z,Y)=

Pr(Z) . Pr(S|Z) . Pr(Y|Z)

. Pr(X|Y) . Pr(R|Y,S)

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

42

Wnioski• Sieci bayesowskie to niezwykle giętkie

narzędzie, które może znaleźć zastosowanie w systemach rekomendacji o różnorodnej filozofii

• Podstawową zaletą sieci baysowskich jest możliwość uchwycenia rozmycia pojęć w sytuacjach niepewnych danych.