financial recommender system

Download Financial Recommender System

Post on 12-Feb-2017

80 views

Category:

Science

0 download

Embed Size (px)

TRANSCRIPT

  • Un Sistema di RaccomandazionePersonalizzato per il Dominio

    Finanziario

    Relatore

    prof.ssa Francesca Rossi LaureandoCo-relatore Simone TisoCristina Cornelio

    12-02-2015

  • Introduzione: sistemi di raccomandazione

    Nati per guidare lutentedurante un acquistoRiducono lo sforzodellutenteNecessit dipersonalizzazione

    2 of 32

  • Introduzione: sistemi di raccomandazione

    Dominio finanziario:risultati complessi

    difficolt nella comprensione

    Obiettivi:supporto utente e consulenti

    sistema intuitivo!

    3 of 32

  • Approcci esistenti

    Sistemi stocastici:previsioni e correlazioni tra i dati

    Neighborhood model (United States Patent 03/2014):dato un prodotto p, il modello individua i sei prodotti pi vicinia p sulla base del loro trends

    Collaborative filtering:similarit tra prodotti (trends)

    Vogliamo migliorare i risultati:

    Profilando lutente con CP-treesUsando il collaborative filtering

    4 of 32

  • Collaborative filtering

    Similarit (utente o prodotto): usando valutazioni degli utenti

    5 of 32

  • Collaborative filtering

    Matrice user-item: valutazioni (ratings) degli utenti

    P1 P2 Pj PnU1 0.1 0.6 0 0.9

    U2 0.1 0 0.1 0...

    ......

    ... ...

    Ui 0 0.5 0.4 0.7...

    ......

    ... ...

    Um 0.1 0.2 0.5 0.4

    User-User collaborative filtering: suggerisce prodottiacquistati da utenti simili a UiItem-Item collaborative filtering: suggerisce prodotti simili aprodotti acquistati da Ui (+ scalabile, + qualit nelleraccomandazioni) 6 of 32

  • Item-Item CF: Similarit

    Calcolo della similarit tra i prodotti

    Dati due vettori contenenti i ratings dei prodotti Pi e Pj :similarit del coseno (vettori)

    7 of 32

  • Item-Item CF: Predizioni

    Calcolo delle predizioni

    Pu,i =all similar items,N(si ,NRu,N)all similar items,N(|si ,N |)

    8 of 32

  • The cold start problem

    Problema: per nuovi utenti otteniamo righe vuote !

    P1 P2 Pj PmU1 0.1 0.6 0 0.9

    U2 0.1 0 0.1 0...

    ......

    ... ...

    Ui 0 0 0 0...

    ......

    ... ...

    Un 0.1 0.2 0.5 0.4

    Non riusciamo a calcolare la predizione per Ui

    9 of 32

  • Sistemi di raccomandazione: Conversational

    Estrazione delle preferenze dalla barra di ricercaQuery = uno o pi valori delle caratteristiche (features)dei prodotti

    Esempio: giacca nera t-shirt rossa per descrivere un abitoA Framework for Preference Dominance

    Figure 4.3: Interaction model of the user with the recommender.

    4.3 A Framework for Preference DominanceOne major purpose of IR is to reduce irrelevant content and provide users with more

    pertinent information or product, in an attempt to o set information overload. One

    key operation is dominance : comparison between pairs of available options to nd

    out which options are dominated and consequently eliminated by the system. An

    option q is said to be dominated if there exist at least another option q that is pre-

    ferred over q for all the orderings that satisfy the set of preferences that are collected

    from the user during the dialogue with the system.

    RSs can be subtle and delicate to understand and control (Massa & Bhattacharjee

    2004). Users often see RSs as a black box and are not aware of their working model

    (Denker et al. 2003). In fact, with current RSs it is tricky for the user to control the

    recommendation process so that if the RS starts to give poor quality recommenda-

    tions, usually the user just stops using it (Zaslow 2002).

    This section presents a framework for preference reasoning within RSs. This can

    be considered as a modest step towards bringing a kind of a comprehensive picture

    of the preference dominance engine which represents the core of item selection in

    RSs. Figure 4.6 summarizes the framework. All the details are analytically discussed

    through this section and also the following sections. The case study in this work

    (a particular kind of conversational RS described in section 4.2), implements this

    framework.

    4.3.1 Ultimate goal: inference

    Given a set of possible con gurations (as de ned in Section 4.2.2), the system

    needs to know which con gurations would be closer to what the user really wants.

    Allowing the user to focus only on recommended queries requires the system to

    90

    Prodotto = assegnamento di tutte le features (outcome)

    10 of 32

  • Preferenze utente

    Vogliamo una rappresentazione delle preferenze dellutente che:gestisca le dipendenze tra features

    Esempio: preferisco la t-shirt rossa se ho giacca nera epantaloni neri

    sia compatta, permetta inferenza efficiente

    Tra i vari modi di rappresentare le preferenzeabbiamo studiato i CP-trees

    11 of 32

  • CP-trees

    CP-tree: albero orientato dove ogni nodo rappresenta unavariabile (feature):

    ogni arco identifica un assegnamento della variabile ed

    orientato dal nodo genitore al nodo figlio

    Features binarie (es: s feature t-shirt rossa presente, sfeature t-shirt rossa non presente)

    Jj j (feature pi importante)

    Pp p

    Ss s Ss sSs sSs s

    Pp p

    jj

    p p pp

    jps jps jps jps jps jps jps jps

    importanza delle variabili e inducono ordinamenti totali suglioutcomes

    12 of 32

  • Inferenza CP-trees

    Consideriamo la seguente query: giacca nera (Outcome: jps)Query proposte dal sistema:

    giacca nera pantaloni neri (jps) (accettata)giacca nera t-shirt rossa (jps) (rifiutata)

    CP-tree risultante Jj j

    Pp p

    Ss s

    j

    p

    jps jps (ordinamento indotto dal CP-tree)

    13 of 32

  • Distanza tra CP-trees

    Una volta capito come rappresentare lutenteCalcoliamo la distanza per ogni coppia di utentiAbbiamo definito tre tipi di distanze tra 2 utenti lavorando suordinamenti indotti dai loro CP-trees

    COD

    Variante distanza di Hamming per ogni outcome

    negli ordinamenti + importanza features

    SWAPD

    Swap tra outcomes adiacenti per passare da un

    ordinamento allaltro

    MATD

    Associamo una matrice ad ogni ordinamento,

    poi calcoliamo la distanza matriciale

    Grafo delle distanze

    U1

    U2 U3

    d1,2 d1,3

    d2,3

    14 of 32

  • Distanza tra utenti: modello COD

    Variante della distanza di Hamming + gerarchia featuresDati due CP-trees CPs e CPt :

    dist(CPs ,CPt) =1

    mn

    m

    i=1

    n

    j=1

    oCPs ij oCPt ij

    +p(oCPsij)oCPsijp(oCPtij)oCPtij

    oCPsijoCPtijdove p(oij) il peso applicato alla feature oij

    15 of 32

  • Modello COD: esempio

    Utente U1

    Xx x

    Yy y Yy y

    x x

    Utente U2

    Yy y

    Xx x Xx x

    y y

    ord(U1) = xy xy xy xy

    ord(U2) = xy xy xy xy

    xy

    2

    xy

    +

    xy

    2

    xy

    +

    xy

    1

    xy

    +

    xy

    1

    xy

    68 = 0,75

    16 of 32

  • Distanza tra utenti: modello SWAPD

    Numero di scambi per passare da un ordinamento ad un altro

    ord(U1) = xy xy xy xy , ord(U2) = xy xy xy xy

    swap(3,4) xy xy xy xy

    swap(2,3) xy xy xy xy

    SWAPD(ord(U1),ord(U2)) = 2

    17 of 32

  • Distanza tra utenti: modello MATD

    Calcoliamo una matrice per ogni utente

    mij =

    1 se i preferito a j ,1 se j preferito a i ,0 altrimenti.

    MU1 =

    0 1 1 11 0 1 11 1 0 11 1 1 0

    MU2 =

    0 1 1 11 0 1 11 1 0 11 1 1 0

    d(MU1 ,MU2) =12

    4

    i=1

    4

    j=1

    mU1ij mU2ij=

    12(0+2+1+1) = 2

    18 of 32

  • Calcolo delle predizioni

    Us

    r(U1,Pj) r(U2,Pj) . . . r(Uk1,Pj) r(Uk ,Pj)

    d1 d2 dk1

    dk

    U1

    U2 U3

    d2 d3

    Calcoliamo la predizione come somma dei ratings, pesatasullinverso della distanza tra utenti

    r(Us ,Pj) =ki=1 r(Ui ,Pj)1/di

    1/d1+1/d2+ . . .+1/dk

    19 of 32

  • Architettura del sistema

    Sviluppo modulare e basato sulle responsabilitSeparazione tra vista, controllo e datiSviluppo top-down del prototipo

    Individuazione di problemi

    Scomposizione in sottoproblemi

    20 of 32

  • Rappresentazione dei dati

    Utenti rappresentati con una struttura ad albero binario(Graph library)Prodotti rappresentati in una struttura XML

    21 of 32

  • Linguaggi utilizzati

    HTMLAJAX per caricamento asincrono dei dati dal serverFramework JQuery per gestire gli eventi della viewPHP lato server per la gestione della parte computazionale

    22 of 32

  • Scenario: dominio finanziario

    Un utente deve scegliere dove investireIdea generale il suo investimentoVogliamo raccomandargli il miglior prodotto, secondo le suepreferenze!

    23 of 32

  • Dialogo user-system

    Lutente inserisce una query nella barra di ricercaIl sistema elabora la queryIl sistema propone altre due query allutente

    24 of 32

  • Analisi sperimentale

    COD SWAPD MATD vs ITEM-ITEM

    Quanto sono migliori rispetto allitem-itemQuale dei 3 modelli miglioreIdentifichiamo tre parametri:

    nUser: numero di utenti;nFeatures: numero di features binarie considerate;spars: indice di sparsit della matrice user-item.

    Domini dei parametri:D(nUser) = {10,20, . . . ,100};D(nFeatures) = {2,3, . . . ,7};D(spars) = {0.1,0.2, . . . ,0.9}.

    25 of 32

  • Metodo di valutazione

    P1 P2 P3 P4UA 0.1 0.6 0 0.9UB 0.3 0.1 0.6 0.1UC 0 0.5 0.8 0.7UD 0.1 0.2 0 0.4

    Vettore dei prodotti, ordin

Recommended

View more >