sistemi di supporto alle decisioni ing. leonardo rigutini, ph.d. dipartimento di ingegneria...
TRANSCRIPT
Sistemi di supporto alle decisioniSistemi di supporto alle decisioniSistemi di supporto alle decisioniSistemi di supporto alle decisioni
Ing. Leonardo Rigutini, Ph.D.
Dipartimento di Ingegneria dell’Informazione
Università di Siena
http://www.dii.unisi.it/~rigutini/
Ing. Leonardo Rigutini, Ph.D.
Dipartimento di Ingegneria dell’Informazione
Università di Siena
http://www.dii.unisi.it/~rigutini/
Sistemi di supporto alle decisioni - Leonado Rigutini
IntroduzioneIntroduzione
L’informazione è un bene a valore crescente, necessario per pianificare e controllare le attività produttive:
costituisce la materia prima che viene trasformata dai sistemi informativi
Come è noto ai Web navigator l’equazione dati = informazionedati = informazione non è sempre corretta:
spesso la disponibilità di troppi dati rende arduo, se non impossibile, estrarre informazioni significative
Sistemi per l’estrazione, l’analisi e l’organizzazione automatica di queste enormi moli di dati possono fornire un supporto nei processi decisionali umani:
sistemi di supporto alle Decisioni (DSS)
Sistemi di supporto alle decisioni - Leonado Rigutini
Introduzione - 2Introduzione - 2
In particolare, i DSS nascono a seguito dell’enorme accumulo di dati registrato nell’ultimo ventennio in forma elettronica, e dalla pressante richiesta di utilizzo di tali dati per scopi che superano quelli legati all’elaborazione giornaliera
Tali sistemi aiutano il decisore umano sia nelle decisioni operative, che nelle decisioni strategiche, a più lungo termine ed a più ampio respiro
Sistemi di supporto alle decisioni - Leonado Rigutini
Introduzione - 3Introduzione - 3
ApplicazioniCommercioCommercio analisi delle vendite e dei reclami, controllo di spedizioni ed inventari, cura del rapporto con i clientiManifatturaManifattura controllo dei costi di produzione, supporto fornitori e ordiniServizi finanziariServizi finanziari analisi del rischio, analisi utilizzo delle carte di credito, rilevamento di frodiTrasportiTrasporti gestione parco mezzi, gestione carico e distribuzioneTelecomunicazioniTelecomunicazioni analisi del flusso delle chiamate e del profilo dei clientiSanitàSanità analisi di ricoveri e dimissioni, contabilità per centri di costo
Sistemi di supporto alle decisioni - Leonado Rigutini
Introduzione - 4Introduzione - 4
L’utilizzo dei DSS non è ristretto in ambito aziendale e d’impresa:
spazia dall’area medicoepidemiologica a quella demografica, dalle scienze naturali alla didattica
Caratteristica comune ai diversi ambiti è la necessità di strumenti di archiviazione e di interrogazione, per ottenere, dall’enorme quantità di dati contenuti nei database o resi disponibili da Internet...
informazioni di sintesi che permettano la valutazione di un fenomeno
la scoperta di correlazioni significative
l’acquisizione di conoscenza utile a stabilire una strategia decisionale
Sistemi di supporto alle decisioni - Leonado Rigutini
Sistemi di supporto alle decisioni - 1Sistemi di supporto alle decisioni - 1
La funzione svolta dalle basi di dati in ambito aziendale è stata, fino a tempi recenti, quella di memorizzare dati operazionali, ossia dati generati da operazioni, in genere di carattere amministrativo, svolte all’interno dei processi gestionali (gestione acquisti, gestione vendite, fatturazione)
Tuttavia, per ogni azienda, è fondamentale poter disporre in maniera rapida e completa delle informazioni necessarie al processo decisionale:
le indicazioni strategiche sono estrapolate dalla mole dei dati operazionali, attraverso un procedimento di selezione e sintesi progressiva
Sistemi di supporto alle decisioni - Leonado Rigutini
Sistemi di supporto alle decisioni - 2Sistemi di supporto alle decisioni - 2
L’aumento esponenziale del volume dei dati operazionali ha reso il calcolatore l’unico supporto adatto al processo decisionale
Il ruolo delle basi di dati è sensibilmente cambiato, dalla fine degli anni `80, con la nascita dei DSS
Nasce il data warehousedata warehouse: una raccolta di dati integrataintegrata, subject orientedsubject oriented, variabile nel tempovariabile nel tempo e non volatilenon volatile di supporto ai processi decisionali
Sistemi di supporto alle decisioni - Leonado Rigutini
Sistemi di supporto alle decisioni - 3Sistemi di supporto alle decisioni - 3
Un sistema informativosistema informativo “converte dati in informazioni”, ed ha lo scopo precipuo di collezionare, trasformare e distribuire informazione:
Es. search engine
Un sistema di supporto alle decisionisistema di supporto alle decisioni è un sistema informativo “intelligente” che aiuta l’utente a prendere decisioni, senza sostituirsi ad esso
Sistemi di supporto alle decisioni - Leonado Rigutini
Sistemi di supporto alle decisioni - 4Sistemi di supporto alle decisioni - 4
Il DSS, attraverso procedure interattive, fornisce al decisore:la disponibilità di tutte le informazioni necessarie per la comprensione del problema
la possibilità di esplorare i dati secondo diversi punti di vista, in base alle esigenze dello stesso utente
la possibilità di valutare gli scenari conseguenti alle scelte compiute
I DSS si adattano al trattamento di problemi strutturati o semistrutturati, per i quali non è possibile fornire una soluzione algoritmica
Sistemi di supporto alle decisioni - Leonado Rigutini
Sistemi di supporto alle decisioni - 5Sistemi di supporto alle decisioni - 5
Tra le problematiche da affrontare per la realizzazione di un sistema di supporto alle decisioni ricordiamo la necessità di...
…gestire grandi moli di dati
…accedere a diverse fonti di dati su piattaforme eterogenee
…garantire l’accesso a più utenti con compiti differenziati per interrogazioni, analisi in tempo reale e simulazioni
…gestire versioni storiche dei dati
Sistemi di supporto alle decisioni - Leonado Rigutini
Obiettivi di un DSSObiettivi di un DSS
Permettere l’estrazione di informazione da grandi database, in tempi brevi ed in modo flessibile, per supportare e migliorare il processo decisionale
Necessità di separare i dati generati dalle operazioni di gestione (operational databaseoperational database) dai dati utili ai processi decisionali (data warehousedata warehouse)Data warehouse Data warehouse contiene un sottoinsieme dei dati mantenuti nell’operational database, ottimizzato per analisi focalizzate ai processi decisionaliNell’operational database e nel data warehouse i dati sono memorizzati a livelli diversi di aggregazione
Capacità di analisi dei dati contenuti nel data warehouse in tempo reale e da diversi punti di vista
Data WarehousData WarehousData WarehousData Warehous
Sistemi di supporto alle decisioni - Leonado Rigutini
Data warehouse - 1Data warehouse - 1
IntegrazioneIntegrazioneNel data warehouse confluiscono dati provenienti da più sistemi transazionali e da fonti esterneL’obiettivo dell’integrazione viene raggiunto mediante l’utilizzo di metodi di codifica uniformi
Orientamento al soggettoOrientamento al soggettoI dati vengono archiviati per poter essere facilmente reperiti ed analizzati dagli utentiNon si mira a minimizzare la ridondanza, ma piuttosto a fornire dati che abbiano una struttura in grado di favorire la produzione di informazioni
Sistemi di supporto alle decisioni - Leonado Rigutini
Data warehouse - 2Data warehouse - 2
Variabilità nel tempoVariabilità nel tempoNel DW sono contenute informazioni relative alle aree di interesse che colgono la situazione relativa ad un dato fenomeno in un determinato intervallo temporale (generalmente antecedente all’interrogazione)
Non volatilitàNon volatilitàNon modificabilità dei dati contenuti nel DW, che consente accessi in sola lettura Semplicità di progettazione: non si ricorre a strumenti complessi per gestire l’integrità referenziale o per bloccare record cui possono accedere più utenti in fase di aggiornamento
Sistemi di supporto alle decisioni - Leonado Rigutini
Data warehouse - 3Data warehouse - 3
Pertanto, il DW contiene i dati necessari ai processi decisionali
L’operational database è aggiornato costantemente: deve “fotografare” l’istante correnteIl DW contiene i dati aggregati in particolari istanti di tempo (es. dati settimanali, mensili, trimestrali)Nel DW, i dati che provengono dall’operational database devono essere integrati con i dati relativi all’ambiente esterno (che condizionano il processo decisionale)
Il DW è una sorta di storico che raccoglie istantanee significative dell’operational database, o meglio…
…è una collezione di metodi, tecnologie e strumenti di ausilio al knowledge knowledge workerworker (amministratore, gestore, analista, dirigente) per condurre analisi dei dati finalizzate all’attuazione di processi decisionali e al miglioramento del patrimonio informativo
Sistemi di supporto alle decisioni - Leonado Rigutini
Data warehouse - 4Data warehouse - 4
Operational Operational DatabaseDatabase
WeWebb
Mario Rossi5000€Mario Rossi
15000€Mario Rossi10000€
Mario Rossi Via Diotisalvi, 2 Pisa 10.000
Data WarehouseData Warehouse
Data miningData miningData miningData mining
Sistemi di supporto alle decisioni - Leonado Rigutini
Knowledge Data Discovery - 1 Knowledge Data Discovery - 1
Gli stadi che caratterizzano un processo KDD sono stati identificati da Fayyad, PiatetskyShapiro, Smyth e Uthurusamy (1996)
Nell’elencare e descrivere le fasi del KDD, tale ricerca ha posto particolare accento sulla fase di Data MiningData Mining (DM), cioè sulle tecniche per l’esplorazione e lo studio dei dati
Il DM è ritenuta la fase più importante dell’intero processo KDD e tale importanza rende sempre più difficile, soprattutto in termini pratici, distinguere il processo KDD dal DM
Sistemi di supporto alle decisioni - Leonado Rigutini
Knowledge Data Discovery - 2Knowledge Data Discovery - 2
Il processo KDD prevede in input “dati grezzi” e fornisce in output informazioni utili ottenute attraverso le fasi di:
Selezione
Preprocessing
Trasformazione dei dati
Data miningData mining
Interpretazione e valutazione
Sistemi di supporto alle decisioni - Leonado Rigutini
Knowledge Data Discovery - 3Knowledge Data Discovery - 3datidati
dati selezionatidati selezionati
dati elaboratidati elaborati
dati trasformatidati trasformati
patternpattern
conoscenzaconoscenza
Interpretazioni Interpretazioni e valutazionie valutazioni
SelezionSelezionee
DATA MININGDATA MINING
TrasformazioTrasformazione dei datine dei dati
PreprocessiPreprocessingng
Sistemi di supporto alle decisioni - Leonado Rigutini
Knowledge Data Discovery - 4Knowledge Data Discovery - 4
SelezioneSelezioneI dati raw vengono segmentati e selezionati secondo criteri predefiniti, per pervenire ad un sottoinsieme di dati che rappresentano i target datatarget data o dati obiettivo; il database operazionale può contenere informazioni inutili per il problema specifico
EsempioEsempio: se l’obiettivo è lo studio delle associazioni tra i prodotti di una catena di supermercati, non ha senso conservare i dati relativi alla professione dei clienti; tali dati potrebbero invece fornire informazioni d’interesse relative al comportamento di determinate fasce di clienti, per effettuare un’analisi discriminante
Sistemi di supporto alle decisioni - Leonado Rigutini
Knowledge Data Discovery - 5Knowledge Data Discovery - 5
PreprocessingPreprocessing
Spesso, pur avendo a disposizione i dati obiettivo non è conveniente, né necessario, analizzarne l’intero contenuto; occorre prima campionare le tabelle e, successivamente, effettuare un’analisi su base campionaria
Fa inoltre parte dello stadio di preprocessing la fase di pulizia dei dati, o data cleaningdata cleaning, che prevede l’eliminazione dei possibili errori e la definizione dei meccanismi di comportamento in caso di dati mancanti
Sistemi di supporto alle decisioni - Leonado Rigutini
Knowledge Data Discovery - 6Knowledge Data Discovery - 6
Trasformazione dei datiTrasformazione dei dati
Dopo il preprocessing, i dati, per essere utilizzabili, devono essere trasformatiSi possono effettuare conversioni di tipo o definizioni di
nuovi dati ottenuti attraverso l’uso di operazioni matematiche e logiche sulle variabili
Inoltre, quando i dati provengono da fonti diverse, è necessario codificarli omogeneamente, per garantirne la consistenza
Sistemi di supporto alle decisioni - Leonado Rigutini
Knowledge Data Discovery - 7Knowledge Data Discovery - 7
Data miningData miningAi dati trasformati vengono applicate tecniche per l’estrazione di informazione non banale: i tipi di dati a disposizione e gli obiettivi da raggiungere indicano implicitamente il tipo di algoritmo DM da scegliere
Il processo KDD è: interattivointerattivo, presuppone infatti un “dialogo” costante tra l’utente e il
software utilizzato iterativoiterativo, nel senso che la fase di DM può prevedere un’ulteriore
trasformazione dei dati originali o un’ulteriore pulizia dei dati, ovvero una riesecuzione delle fasi preliminari
Sistemi di supporto alle decisioni - Leonado Rigutini
Knowledge Data Discovery - 8Knowledge Data Discovery - 8
Interpretazione e valutazioneInterpretazione e valutazione
Il DM crea dei pattern, ovvero dei modelli, che possono costituire un valido supporto alle decisioni
Non è sufficiente, tuttavia, interpretare i risultati ottenuti, ma occorre utilizzarli per validare i modelli (dati e algoritmi)
È dunque possibile, alla luce di risultati non perfettamente soddisfacenti, intervenire (in maniera sia adattiva che perfettiva) su una o più fasi del processo KDD
Sistemi di supporto alle decisioni - Leonado Rigutini
Data mining - 1Data mining - 1
Con Data MiningData Mining si indica l’attività di individuazione automatica ed estrazione di informazioni, quali relazioni ed associazioni tra i dati, precedentemente sconosciute all’utente
Principali tecniche per il data mining:
Sistemi a regole
Algoritmi di clustering
Algoritmi genetici
Reti neurali e Support Vector Machine (SVM)
Sistemi di supporto alle decisioni - Leonado Rigutini
Data mining - 2Data mining - 2
Il data mining è l’estrazione non banale di informazione implicita, precedentemente sconosciuta e potenzialmente utile, attraverso l’utilizzo di differenti approcci tecnici (Frawley, PiatetskyShapiro e Matheus, 1991)
Il data mining è una combinazione di tecniche potenti che aiutano a ridurre i costi e i rischi e ad aumentare le entrate, estraendo informazione dai dati disponibili (T. Fahmy)
Il data mining consiste nell’uso di tecniche statistiche da utilizzare con i database aziendali per scoprire modelli e relazioni che possono essere impiegati in un contesto di business (Trajecta lexicon)
Sistemi di supporto alle decisioni - Leonado Rigutini
Data mining - 3Data mining - 3
Il data mining è l’esplorazione e l’analisi, attraverso mezzi automatici e semiautomatici, di grosse quantità di dati allo scopo di scoprire modelli e regole significative (Berry e Linoff, 1997)
Il data mining è la ricerca di relazioni e modelli globali che sono presenti in grandi database, ma che sono nascosti nell’immenso ammontare di dati. Tali relazioni rappresentano una preziosa conoscenza del database e, se il database è uno specchio fedele, del mondo reale che esso descrive (Holshemiere e Siebes, 1994)
Sistemi di supporto alle decisioni - Leonado Rigutini
Data mining - 4Data mining - 4
Il termine Knowledge Data DiscoveryKnowledge Data Discovery (KDD) si riferisce all’intero processo, interattivo ed iterativo, di scoperta della conoscenza, che consiste nella identificazione di relazioni tra datirelazioni tra dati che siano validevalide, nuovenuove, potenzialmente utiliutili e comprensibilicomprensibili
I datidati sono una collezione di fatti F (per esempio tuple di una tabella di un database relazionale)
Una relazionerelazione, o modello, o patternpattern, è un’espressione E in un linguaggio L che descrive fatti in un sottoinsieme FE di F; una relazione deve essere più semplice, rispetto ad un dato criterio di semplicità, dell’enumerazione di tutti i fatti in FE
Sistemi di supporto alle decisioni - Leonado Rigutini
Data mining - 5Data mining - 5
Un processo di scoperta della conoscenza è un insieme di attività che coinvolgono la preparazione dei dati, la ricerca di relazioni, la valutazione e il raffinamento della conoscenza estratta
Si assume che il processo sia non banale, cioè che le relazioni scoperte non siano già note
Le relazioni scoperte sono validevalide se valgono, con un grado di certezza prefissato, anche su dati diversi da quelli usati per la scoperta delle stesse
Individuare un “grado di certezza” è essenziale per stabilire quanta fiducia si può riporre nel sistema e nella relazione estratta
Sistemi di supporto alle decisioni - Leonado Rigutini
Data mining - 6Data mining - 6
Le relazioni scoperte devono essere nuovenuove almeno per il sistema, devono cioè aumentare la conoscenza necessaria ad affrontare il problema decisionale
Le relazioni dovrebbero potenzialmente condurre a delle azioni utiliutili ; per esempio, la scoperta di una dipendenza fra articoli acquistati da uno stesso cliente in un supermercato potrebbe attivare opportune strategie di marketing
I pattern devono essere comprensibilicomprensibili agli utenti per facilitare una migliore conoscenza dei fatti coinvolti
Poiché è difficile misurare “la comprensibilità di un pattern” spesso si ricorre a misure surrogate di semplicità sintattica/semantica
Sistemi di supporto alle decisioni - Leonado Rigutini
Data mining - EsempioData mining - Esempio
xx
x
x
x
xx
x
x
x
xx
x
x
ooo
oo
o
oo
o
ooo
o
o
o
o
x
StipendioStipendio
Pre
stit
iPre
stit
i
Persone che hanno ricevuto un prestito dalla banca:Persone che hanno ricevuto un prestito dalla banca:x: persone che hanno mancato la restituzione di ratex: persone che hanno mancato la restituzione di rateo: persone che hanno rispettato le scadenzeo: persone che hanno rispettato le scadenze
Sistemi di supporto alle decisioni - Leonado Rigutini
Data mining - EsempioData mining - Esempio
xx
x
x
x
xx
x
x
x
xx
x
x
ooo oo
o
oo
o
ooo
o
o
o
o
x
StipendioStipendio
Pre
stit
iPre
stit
i
IF stipendio < k THEN mancati pagamentiIF stipendio < k THEN mancati pagamenti
kk
Sistemi di supporto alle decisioni - Leonado Rigutini
Data mining - esempioData mining - esempio
ValiditàValidità I pattern scoperti devono essere validi su nuovi dati con un grado di certezza prestabilito: lo spostamento a destra del valore di k porta riduzione del grado di certezza
UtilitàUtilità
Aumento di profitto atteso dalla banca associato alla regola estratta
Sistemi di supporto alle decisioni - Leonado Rigutini
Data mining: tecniche di analisi - 1Data mining: tecniche di analisi - 1
La scelta del particolare algoritmo di data mining dipende dall’obiettivo da raggiungere e dal tipo di dati da analizzare
1)1) Regole di associazioneRegole di associazione
2)2) Classificazione Classificazione
3)3) ClusteringClustering
4)4) Similarity searchSimilarity search
Sistemi di supporto alle decisioni - Leonado Rigutini
Data mining: tecniche di analisi - 2Data mining: tecniche di analisi - 2
Le tecniche di clustering e le reti neurali non supervisionate consentono il “raggruppamento di dati”, cioè l’individuazione di gruppi omogenei, che presentano delle regolarità al loro interno, in grado di caratterizzarli e differenziarli dagli altri gruppi
Le reti neurali supervisionate, le support vector machine e gli alberi di decisione consentono di effettuare operazioni di classificazione, fanno cioè uso della conoscenza acquisita in fase di addestramento per classificare nuovi oggetti o prevedere nuovi eventi
Le tecniche di analisi delle associazioni consentono di individuare regole nelle occorrenze concomitanti di due o più eventi
Sistemi di supporto alle decisioni - Leonado Rigutini
Applicazione del DM - 1Applicazione del DM - 1
Indagini di mercatoIndagini di mercato (Database Marketing) applicazione di tecniche di clustering per individuare gruppi omogenei in termini di comportamento d’acquisto e di caratteristiche sociodemografiche; l’individuazione delle diverse tipologie di clienti...
...permette di effettuare campagne di marketing mirate e di valutarne gli effetti...permette di ottenere indicazioni su come modificare la propria offerta...rende possibile monitorare nel tempo l’evoluzione della propria clientela e l’emergenza di nuove tipologie
Analisi testualeAnalisi testuale (Text Mining) applicazione di tecniche di clustering per individuare gruppi omogenei di documenti in termini di argomento trattato; consente di accedere più velocemente all’argomento di interesse e di individuarne i legami con argomenti correlati
Sistemi di supporto alle decisioni - Leonado Rigutini
Applicazione del DM - 2Applicazione del DM - 2
Analisi del “paniere”Analisi del “paniere” (Basket Analysis) applicazione di tecniche di individuazione di associazioni a dati di vendita per conoscere quali prodotti vengono acquistati congiuntamente
Consente di migliorare l’offerta dei prodotti (disposizione sugli scaffali) e di incrementare le vendite di particolari prodotti tramite offerte su generi associati
Technology WatchTechnology Watch (Competitive Intelligence) applicazione di tecniche di clustering a banche dati di tipo tecnicoscientifico al fine di individuare i gruppi tematici principali, le loro relazioni, l’evoluzione temporale, le persone o le aziende coinvolte
Regole di associazioneRegole di associazioneRegole di associazioneRegole di associazione
Sistemi di supporto alle decisioni - Leonado Rigutini
Regole di associazione - 1Regole di associazione - 1
Dati del problema:Dati del problema:
II insieme di itemEsempio:Esempio: prodotti venduti da un supermercato
transazione Ttransazione T insieme di item t.c. T I Esempio:Esempio: oggetti acquistati nella stessa transazione di
cassa al supermercato
base di dati Dbase di dati D insieme di transazioni
Sistemi di supporto alle decisioni - Leonado Rigutini
Regole di associazione - 2Regole di associazione - 2
Regola di associazione:
Supporto - rilevanza statistica:
Confidenza - importanza dell’implicazione:
notare che:€
S(X,Y ) =# (X ∧Y )
# I≈ ˆ P (X,Y )
€
C(X,Y ) =# (X ∧Y )
# X≈ ˆ P (Y | X)
€
X ⇒ Y dove X,Y ⊆ I
€
C(X,Y ) =S(X,Y )
S(X)
Sistemi di supporto alle decisioni - Leonado Rigutini
Regole di associazione - esempio 2Regole di associazione - esempio 2
Transazioni:Transazioni:Acquisto 1: A,B,CAcquisto 1: A,B,CAcquisto 2: A,CAcquisto 2: A,CAcquisto 3: A,DAcquisto 3: A,DAcquisto 4: B,E,FAcquisto 4: B,E,F
Regole ottenute:A C
supporto 50% e confidenza 66.6%
C A supporto 50% e confidenza 100%
Sistemi di supporto alle decisioni - Leonado Rigutini
Esempi di applicazioneEsempi di applicazione
Analisi market basket
Uovacosa si deve promuovere per aumentare le vendite di uova?
Latte quali altri prodotti devono essere venduti da un supermercato che
vende latte?
Dimensione del problema:
oggetti: 105, transazioni: > 106
base di dati: 10100 GB
Sistemi di supporto alle decisioni - Leonado Rigutini
Regole di associazione - Esempio 1Regole di associazione - Esempio 1
Latte Uova
Supporto: il 2% delle transazioni contiene entrambi gli elementi (latte e uova)
Confidenza: il 30% delle transazioni che contengono latte contiene anche uova
Sistemi di supporto alle decisioni - Leonado Rigutini
Decomposizione del problemaDecomposizione del problema
Passo1:Trovare tutti gli insiemi di item che hanno supporto maggiore di una soglia pefissata frequent itemsetfrequent itemset
Passso 2:Generazione delle regole a partire dai frequent itemset
Algoritmo fondamentale: APRIORIAPRIORI (Agrawal et al., 1994)
Sistemi di supporto alle decisioni - Leonado Rigutini
Esempio decomposizione - 1Esempio decomposizione - 1
Passo 1Passo 1: estrazione frequent itemset
Frequent itemset Supporto
{A} 75%
{B} 50%
{C} 50%
{A,C} 50%
Transazioni
Acquisto 1: A,B,C
Acquisto 2: A,C
Acquisto 3: A,D
Acquisto 4: B,C,D
Sistemi di supporto alle decisioni - Leonado Rigutini
Esempio decomposizione - 2Esempio decomposizione - 2
Passo 2Passo 2 estrazione regole
confidenza minima 50%
Esempio:Esempio: regola A C
supporto {A,C} = 50%confidenza = supporto{A,C}/supporto{A} = 66.6%
regole estratteA C supporto 50%, confidenza 66.6%
C A supporto 50%, confidenza 100%
Sistemi di supporto alle decisioni - Leonado Rigutini
Importanza delle regole estratte - 1Importanza delle regole estratte - 1
Non tutte le regole con supporto e confidenza superiori ad una soglia prestabilita sono interessanti
Esempio:Esempio:
scuola con 5000 studenti
60% (3000) gioca a pallacanestro
75% (3750) mangia fiocchi di mais a colazione
40% (2000) gioca a pallacanestro e mangia fiocchi di mais a colazione
Sistemi di supporto alle decisioni - Leonado Rigutini
Importanza delle regole estratte - 2Importanza delle regole estratte - 2
Con supporto min. 40% e confidenza min. 60%:
gioca a pallacanestro mangia fiocchi di mais
supporto = 2000/5000 = 0.4
confidenza = 2000/3000 = 0.66 > 0.6
regola fuorviante perché il 75% degli studenti mangia fiocchi di mais !
Nuova “misura”:
€
M =S(A,B)
S(A)− S(B)
ClusteringClusteringClusteringClustering
Sistemi di supporto alle decisioni - Leonado Rigutini
ClusteringClustering
Data una bData una base di dati di oggetti: : Suddividere gli oggetti in gruppi, in modo che…...oggetti appartenenti allo stesso gruppo siano molto simili
...oggetti in gruppi diversi siano molto diversi
I gruppi possono essere disgiunti (hard clustering), parzialmente sovrapposti (soft clustering) oppure organizzati gerarchicamente (hierarchical clustering)
Sistemi di supporto alle decisioni - Leonado Rigutini
Esempi di applicazioniEsempi di applicazioni
Identificazione di popolazioni omogenee di clienti in basi di dati di marketing
Valutazione dei risultati di esperimenti clinici
Monitoraggio dell’attività di aziende concorrenti
Identificazione di geni con funzionalità simili
Nel WWW…
Classificazione di documenti
Identificazione di gruppi di utenti (in base ai file di log) con caratteristiche
di “navigazione” simili
Sistemi di supporto alle decisioni - Leonado Rigutini
Esempi di applicazioniEsempi di applicazioni
La tecniche di clustering vengono utilizzate generalmente quando si hanno dati eterogenei e si è alla ricerca di elementi anomali: le compagnie telefoniche utilizzano il clustering per individuare in anticipo gli utenti che diventeranno morosi
Normalmente, tali utenti hanno un comportamento nettamente diverso rispetto alla maggioranza degli utenti telefonici e le tecniche di clustering riescono sovente ad individuarli o, comunque, definiscono un cluster dove vengono concentrati tutti gli utenti che hanno un’elevata probabilità di diventare morosi
Sistemi di supporto alle decisioni - Leonado Rigutini
Case study: k-Means - 1Case study: k-Means - 1
Caratteristiche:
Appartiene ai metodi di tipo partitioningpartitioning Dato un intero k, si calcola un partizionamento dei dati in
ingresso in k clustercluster, che ottimizza il criterio di partizionamento scelto
Kmeans (MacQueen, 1967): ogni cluster è rappresentato dal centro (media) del cluster
La scelta iniziale dei k centroidi viene effettuata in maniera casuale
Sistemi di supporto alle decisioni - Leonado Rigutini
Case study: k-Means - 2Case study: k-Means - 2
1. Scegli i k centri iniziali2.2. RepeatRepeat
1. Assegna ciascun oggetto al cluster più vicino (il cui centro risulta il più vicino all’oggetto dato)
2. Calcola i centroidi (punti medi) dei cluster
untiluntil gli assegnamenti non cambiano (o cambiano poco)
Viene minimizzato Viene minimizzato l’errore quadratico l’errore quadratico mediomedio
E x mK k c xk
k= −∑ ( )
2
Sistemi di supporto alle decisioni - Leonado Rigutini
Case study: k-Means - 3Case study: k-Means - 3
Limiti di Kmeans:Può essere applicato solo se il tipo di dato permette di definire la mediaOccorre specificare in anticipo il numero k di clusterSebbene sia possibile dimostrare che il procedimento termina sempre, non è detto che venga raggiunto il minimo globale (il risultato è influenzato dalla scelta dei centri iniziali)Non garantisce la connessione dei cluster trovati e l’assenza di punti isolatiPuò produrre risultati scadenti quando… …i cluster hanno differenti dimensioni, densità, forma non globulare…i dati contengono outlier
Sistemi di supporto alle decisioni - Leonado Rigutini
Case study: k-Means - 4Case study: k-Means - 4
Soluzione:Soluzione: usare molti cluster
In questo caso…
…i cluster calcolati sono partizioni dei cluster effettivamente presenti
…è necessario fondere i cluster calcolati
Sistemi di supporto alle decisioni - Leonado Rigutini
Case study: k-Means - 5Case study: k-Means - 5
Tuttavia... il mondo reale non è “crisp”
Effettuando il clustering non è sempre possibile definire in maniera precisa se un punto appartiene ad un cluster oppure ad un altro
Sistemi di supporto alle decisioni - Leonado Rigutini
Case study: SOM - 1Case study: SOM - 1
Il clustering può anche essere interpretato come una forma di classificazione non supervisionata
Come tale, può essere realizzato mediante un particolare tipo di architettura neurale, chiamata SelfSelfOrganizing MapOrganizing Map (SOM), che viene addestrata in modalità non supervisionata, cioè non conoscendo l’output atteso per ciascun dato in input
Sistemi di supporto alle decisioni - Leonado Rigutini
Case study: SOM - 2Case study: SOM - 2
La SOM sarà comunque in grado, al termine della fase di apprendimento, di raggruppare i dati in cluster, ovvero di produrre output simili per input “vicini”, secondo una qualche metrica nello spazio degli ingressi
Sistemi di supporto alle decisioni - Leonado Rigutini
Similarity searchSimilarity search
Data un base Data un base di dati di sequenze temporali o oggetti, determinare:
Sequenze/oggetti simili ad una sequenza/oggetto data/o
Tutte le coppie di sequenze/oggetti simili
Due tipi di interrogazione:
Matching completoMatching completo la sequenza cercata e le sequenze della base di dati hanno la stessa lunghezza
Matching parzialeMatching parziale la sequenza cercata può essere sottosequenza di quelle recuperate dalla base di dati
Sistemi di supporto alle decisioni - Leonado Rigutini
Esempi di applicazioniEsempi di applicazioni
Identificazione delle società con comportamento simile di crescita
Determinazione di prodotti con profilo simile di vendita
Identificazione di azioni con andamento simile
Individuazione porzioni di onde sismiche non simili per determinare irregolarità geologiche
Ricerca in database visuali
Allineamento di sequenze di acidi nucleici e proteine
Sistemi di supporto alle decisioni - Leonado Rigutini
Metriche di similaritàMetriche di similarità
Definita la modalità di descrizione di sequenze/ oggetti da ricercare, è necessario definire una metrica da usare per valutarne la similarità, in base alla distanza tra i rispettivi descrittori
La metrica dovrebbe rispettare la “percezione” del concetto di similarità: descrittori “vicini” corrispondono a sequenze/oggetti simili
Una metrica d(x,y), definita su uno spazio S, è una funzione che associa uno scalare a coppie di elementi in S, con le seguenti proprietà:
Non negatività: d(x,y) 0Riflessività: d(x,y) = 0 sse x=ySimmetria: d(x,y) = d(y,x)Disuguaglianza triangolare: d(x,y)+d(y,z) d(x,z)
Sistemi di supporto alle decisioni - Leonado Rigutini
Metriche vettorialiMetriche vettoriali
In generale, una metrica di similarità per pattern in n è la metrica di Minkowsky, nota anche come metrica Lk:
Per k=1 si ha la distanza di Manhattan o cityblock
Per k=2 si ha la distanza Euclidea€
d(x,y) = (x i − y i)k
i=1
n
∑k , x,y ∈ ℜ n
Sistemi di supporto alle decisioni - Leonado Rigutini
Metriche per dati strutturatiMetriche per dati strutturati
Per il confronto tra grafi si definisce una distanza tra nodi del grafo ed una distanza tra gli archi
Generalmente, infatti, all’interno dei nodi del grafo si rappresentano caratteristiche locali delle singole regioni mentre con gli archi si descrivono le relazioni spaziali
Per calcolare una distanza si dovranno tenere presenti sia le relazioni spaziali che le caratteristiche locali delle regioni
Il problema è complicato perché spesso i grafi da confrontare hanno un diverso numero di nodi (subgraph matching – NP hard)
Le reti neurali ricorsivereti neurali ricorsive possono essere addestrate per apprendere la similarità tra grafi
Sistemi di supporto alle decisioni - Leonado Rigutini
Esempio: classificazione di immaginiEsempio: classificazione di immagini
TrasformazioTrasformazione da RAG a ne da RAG a grafo grafo orientato orientato
SegmentazioSegmentazionene
Estrazione del Estrazione del grafo di adiacenza grafo di adiacenza (RAG)(RAG)