Metodi Computazionali Elisabetta Fersini [email protected] A.A. 2009/2010 Catene di Markov Applicazioni: Fisica – dinamica dei sistemi Web – simulazione del comportamento utente Biologia – evoluzione delle cellule Musica – definizione di sw per la composizione musicale Finanza – credit risk 2 Web Mining Il web è una collezione di documenti eterogenei in continua evoluzione caratterizzato da: Vastità dell’informazione disponibile Difficoltà di “interessante” reperire facilmente conoscenza Nasce così una fertile area di ricerca con lo scopo di applicare metodi in grado “organizzare”, per quanto possibile, il contenuto del web. 3 Web Structure Mining Obiettivo: Analizzare la struttura topoligica di una rete di informazioni al fine di identificare comunità, relazioni nascoste, etc… Link Analysis Area del Web Structure Mining orientata alla Social Newtork Analysis Markov Chains: la gallina dalle uova d’ora di Google! 4 Google…le assunzioni Assunzioni: 1. Un Hyperlink è un riferimento di una pagine web i contenuto in una pagina web j un link da una pagina j verso una pagina i corrisponde ad una “raccomandazione” della pagina i da parte dell’autore della pagina j . se le pagine j e i sono connesse tramite un link, allora la probabilità che esse trattino dello stesso argomento è più alta in confronto al caso in cui esse non siano connesse. j i 5 Google…le assunzioni Assunzioni: 2. La visibilità di un sito si misura mediante il numero di siti che puntano ad esso 3. La luminosità di un sito rappresenta il numero di siti che esso punta 4. In generale la Link Analysis basa i suoi assunti sulla teoria dei grafi, in particolare: Un LINK GRAPH contiene un nodo per ogni pagina j ed assumono esista un arco diretto (j,i), se e solo se la pagina j contiene un hyperlink verso la pagina i. 6 PageRank - definizioni intuitive (1) Introdotto da Page e Brin nel 1998 L’importanza di una pagina i è influenzata dall’importanza delle pagine che puntano ad essa, in particolare: un link dalla pagina j alla pagina i viene interpretato come un voto di j per i e se a sua volta anche i ha un link verso j entrambe ricevono un voto ancora più alto (Feedback-Link). Se la pagina i ha un PageRank più alto, il valore di un suo link è ancora più elevato; se ha un valore più basso non esiste alcuna penalità. 7 PageRank - definizioni intuitive (2) L'importanza di una pagina è data dal voto che questa riceve "dalla Rete" nella sua globalità PageRank rappresenta l’intero web come un grafo diretto G = (V,E) contenente n pagine; il valore di PageRank associato ad una pagina i, denotato da P(i) è definito da: (1) Oj è il numero di out-link di j 8 Notazione Matriciale Sistema di n equazioni con n incognite Sia P il vettore colonna dei PageRank score, cioè P = (P(1), P(2), …, P(n))T. Sia A la matrice di adiacenza del grafo del web, dove (2) Possiamo scrivere le n equazioni come (3) 9 Risolvere il sistema di equazioni PageRank può essere calcolato da un semplice algoritmo iterativo La soluzione al sistema corrisponderà agli autovettori della matrice normalizzata rappresentante i link del web Problema: per ottenere la convergenza devono essere soddisfatte due condizioni 1 è il più grande autovalore P è il principale autovettore 10 …un passo indietro verso le Markov chain… Per introdurre le due condizioni la stessa equazione (3) dalla modellazione mediante catene di Markov: Ogni pagina web rappresenta uno stato. Ogni hyperlink è una transizione, che permette di passare da una pagina all’altra con una determinata probabilità. Tale framework permette di navigazione di un utente web. simulare la 11 Random surfing Oi denota il numero di out-links della pagina i. Ogni probabilità di transizione è 1/Oi se assumiamo che l’utente sceglierà di passare da una pagina all’altra in maniera random. 12 Matrice delle probabilità di transizione Sia A la matrice di probabilità di transizione Aij rappresenta la probabilità che un utente nello stato i (pagina i) passi allo stato j (pagina j). Aij è definita dall’equazione(2). 13 Let us start Data la distribuzione di probabilità iniziale che l’utente si trovi in un particolare stato o pagina p0 = (p0(1), p0(2), …, p0(n))T (vettore colonna) A : n×n matrice delle probabilità di transizione, Avremo: (4) (5) Se la matrice A soddisfa l’equazione (5), allora diremo che A è la matrice stocastica della catena di Markov. 14 Distribuzione di probabilità stazionaria Dal teorema delle Markov chain: Una catena di markov definita da una matrice stocastica A ha un’unica distribuzione di probabilità stazionaria se A è irriducible e aperiodica. Una distribuzione di probabilità stazionaria garantisce che dopo una serie di transizioni pk convergerà ad un vettore di probabilità π 15 …torniamo al grafo del web… Per verificare la convergenza dell’algoritmo verifichiamo le due condizioni A è una matrice stocastica A è irriducibile e aperiodica Nessuna di queste condizioni è verificata!!! 16 A non è una matrice stocastica A è la matrice di transizione del grafo del web Non soddisfa l’equazione (5) Perchè? Molte pagine web non hanno out-links, per cui in A potrebbero esserci delle righe uguali a 0. 17 Esempio 18 A non è una matrice stocastica: soluzione 1. 2. Rimuovere tutte le pagine che hanno non hanno out-links Aggiungere un set di out-links dalle pagine che non rispettano l’equazione (5) verso tutte le altre pagine del grafo. 19 A non è irriducibile Irriducibile significa che il grafo del web è fortemente connesso. Definizione: G = (V, E) è fortemente connesso se e solo se, per ogni coppia di nodi i,j ∈ V, esiste un percorso da i to j. Perchè il grafo del web rappresentato da A non è irriducibile? per alcune coppie di nodi i,j non è detto che esista un percorso 20 A non è aperiodica Uno stato i in una catena di Markov è periodico se esiste un ciclo che la catena deve attraversare. Se uno stato non è periodico si dice aperiodico. Una catena di Markov è definita aperiodica se tutti gli stati sono aperiodici. 21 Esempio di stato periodico Esempio: Catena di Markov di periodo 3. 22 Irriducibilità e aperiodicità: soluzione Aggiungere un link da ogni pagina verso tutte le altre e dare ad ogni link una probabilità di transizione molto bassa, controllata da un parametro d. 23 PageRank Il coefficiente di ranking della pagina pi si ottiene risolvendo il seguente sistema di eq. lineari: con il seguente vincolo: Vettore delle probabilità stazionarie a cui la catena di markov converge!!! 24