24
Knowledge Discovery Knowledge Discovery e Data Mining e Data Mining Sommario Sommario Introduzione Motivazioni ed applicazioni Processo di Knowledge Discovery in DBs Fasi e caratteristiche Task di Data Mining Classificazione e regressione Scoperta di regole associative Clustering La classificazione Definizione del problema Misure di qualità Tecniche di classificazione Contesto e motivazioni Contesto e motivazioni “data explosion” La disponibilità di tecnologie efficienti e poco costose favorisce l’accumulo di enormi quantità di dati DBs e altri tipi di repository Electronic data gathering: Internet, Satellite, Bar-code reader, … High perf. computers (PC-Cluster) e, in generale, cheaper & faster HW Esigenza: trarre vantaggio competitivo dai dati supportare i processi decisionali con nuova conoscenza inadeguatezza dei sistemi di analisi tradizionali: “We are drowning in data, but starving for knowledge!” La catena del valore dell La catena del valore dell informazione informazione Dati Dati • Dati demografici: “(Mario,Rossi,25/10/1960,…)”, “(Luigi,Bianchi,…,…)” • Dati geografici: “Rende”, “Cosenza”, “Lombardia”,… • Punti di vendita Informazioni Informazioni • La persona X vive nella città Z • La persona S ha Y anni Conoscenza Conoscenza Il prodotto P è usato per lo più da clienti giovani • Chi acquista il prodotto P tende ad acquistare Q I clienti possono essere suddivisi in classi omogenee (A,B,C,…) Decisioni Decisioni • Promuovere il prodotto A nei negozi della regione Z • Offrire dei servizi addizionali ai clienti di classe C • Progettare cataloghi di prodotti adatti ai vari profili di clienti

Knowledge Discovery Introduzione e Data Mining · Applicazione a varie tipologie di dati Algoritmi efficienti e scalabili Uso di strutture di memorizzazione e di accesso ... Analisi

  • Upload
    lycong

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

Knowledge Discovery Knowledge Discovery e Data Mininge Data Mining

SommarioSommario

IntroduzioneMotivazioni ed applicazioni

Processo di Knowledge Discovery in DBsFasi e caratteristiche

Task di Data MiningClassificazione e regressioneScoperta di regole associativeClustering

La classificazione Definizione del problema Misure di qualitàTecniche di classificazione

Contesto e motivazioniContesto e motivazioni

“data explosion”La disponibilità di tecnologie efficienti e poco costose favorisce l’accumulo di enormi quantità di dati

DBs e altri tipi di repositoryElectronic data gathering: Internet, Satellite, Bar-code reader, …High perf. computers (PC-Cluster) e, in generale, cheaper & faster HW

Esigenza: trarre vantaggio competitivo dai datisupportare i processi decisionali con nuova conoscenzainadeguatezza dei sistemi di analisi tradizionali:

“We are drowning in data, but starving for knowledge!”

La catena del valore dellLa catena del valore dell’’informazioneinformazione

DatiDati• Dati demografici: “(Mario,Rossi,25/10/1960,…)”, “(Luigi,Bianchi,…,…)”• Dati geografici: “Rende”, “Cosenza”, “Lombardia”,…• Punti di vendita

InformazioniInformazioni• La persona X vive nella città Z• La persona S ha Y anni

ConoscenzaConoscenza• Il prodotto P è usato per lo

più da clienti giovani• Chi acquista il prodotto Ptende ad acquistare Q

• I clienti possono essere suddivisi in classi omogenee (A,B,C,…)

DecisioniDecisioni• Promuovere il prodotto A nei

negozi della regione Z• Offrire dei servizi addizionali ai

clienti di classe C• Progettare cataloghi di

prodotti adatti ai vari profili di clienti

Business Intelligence: Business Intelligence: Data Warehouse e Data Mining Data Warehouse e Data Mining

Data Warehouse (DW)Archivio progettato in modo specifico per l’analisiDotato di strumenti efficienti e intuitivi per consultare, interrogare e visualizzare le informazioniData Warehousing: processo di costruzione/popolamento di un DW

Data Mining (DM) Estrazione automatica ed efficiente di pattern(“pepite” di conoscenza) da grosse collezioni di datiPattern: regolarità o proprietà valide nei dati di input

Business Intelligence Business Intelligence

Increasing potentialto supportbusiness decisions Manager

BusinessAnalyst

DataAnalyst

DBA

MakingDecisions

Knowledge PresentationVisualization Techniques

Data MiningKnowledge Discovery

Data Exploration

OLAP, MDA

Statistical Analysis, Querying and Reporting

Data Warehouses / Data Marts

Data SourcesPaper, Files, Information Providers, Database Systems, OLTP

Un poUn po’’ di storiadi storia

Data collectionData collection (1960’s, e prima):

- primitive file processing

Database management systems (1970’s): - network and relational database systems- data modeling tools, query languages- optimization methods

Advanced DB Systems Advanced DB Systems (1980’s-…):- nuovi tipi di dati e data model avanzati

- dati semi-strutturati, testuali, multimediali- extended-relational, OO, deductive,

- application-oriented DBMS (GIS, scientific, engineering, …)

- apertura verso le reti e il Web

Data Warehouse & Data Mining (1990’s-…)

- “data mining” usato dal 1983, con accezione negativa, nella comunitàstatistica

- KDD workshop iniziato nel 1989

- “Padri fondatori”: Fayyad, Piatetsky-Shapiro, Agrawal

New-generation Intelligent Information Systems

Principali aree di applicazionePrincipali aree di applicazione

Marketing: product targeting, cross selling, segmentazione della clientela, CRM e Customer Retention, ...

Finanza: supporto agli investimenti, gestione di portafoglio, scoperta frodi

Banche/Assicurazioni: concessione di prestiti, apertura di polizze

Sicurezza: scoperta di intrusioni, controllo degli accessi

Principali aree di applicazionePrincipali aree di applicazione

Scienze: progettazione di farmaci, studio di fattori genetici, scoperta di galassie e astri

Medicina: supporto a diagnosi/prognosi, valutazione cure, scoperta di relazioni fra malattie

Produzione: modellazione dei processi, controllo di qualità, allocazione delle risorse

Web:smart search engine, web marketing, web site design

(Sommario)(Sommario)

IntroduzioneMotivazioni ed applicazioni

Processo di Knowledge Discovery in DBsFasi e caratteristiche

Task di Data MiningClassificazione e regressioneScoperta di regole associativeClustering

La classificazione Definizione del problema Misure di qualitàTecniche di classificazione

Estrazione della conoscenza:Estrazione della conoscenza:il processo di KDDil processo di KDD

Knowledge Discovery in Databases (KDD)Scoperta di conoscenza nelle basi di datiutile per comprendere/modellare i fenomeni del mondo reale corrispondenti ai dati

Processo non banale (semi-automatico) di estrazione di pattern

validinuovipotenzialmente utili comprensibili

INTERESSANTI

Il processo di KDDIl processo di KDD

Selezione ePre-elaborazione

Data Mining

Interpretazione e Valutazione

Integrazione e Consolidamento

Conoscenza

p(x)=0.02

Sorgenti

Pattern e/o Modelli

Dati trasformati

DatiConsolidati

CogNovaTechnologies

9

The KDD ProcessThe KDD Process

Selection and Preprocessing

Data Mining

Interpretation and Evaluation

Data Consolidation

Knowledge

p(x)=0.02

Warehouse

Data Sources

Patterns & Models

Prepared Data

ConsolidatedData

Identifica problema/

opportunità

Misura effettidelle azioni

Agisci sullabase della

conoscenza

conoscenza

risultatiStrategia

Problema

Processo di KDD:Processo di KDD:““ciclo virtuosociclo virtuoso”” della conoscenzadella conoscenza Architettura di un sistema KDDArchitettura di un sistema KDD

Graphical User Interface

DataConsolidation

Selectionand

Preprocessing

DataMining

Interpretationand Evaluation

Warehouse KnowledgeData Sources

Consolidamento dei DatiConsolidamento dei Dati

Garbage in Garbage out La qualità dei risultati dipende dalla qualità dei datiIl 50%-70% degli sforzi sul processo di KDD viene speso nella preparazione e il consolidamento dei dati

Operazioni:Determinazione un insieme preliminare di attributi Integrazione di dati da sorgenti interne ed esterneEliminazione e/o stima dei valori nulliRimozione di outlier (eccezioni ovvie, picchi)

Consolidamento dei DatiConsolidamento dei Dati

Da sorgenti eterogenee a un data warehouse

RDBMS

Legacy DBMS

Flat Files

DataConsolidationand Cleaning

Warehouse

ObjectObject/Relation DBMS /Relation DBMS MultidimensionalMultidimensional DBMS DBMS DeductiveDeductive Database Database FlatFlat filesfiles

External

Data Warehouse Data Warehouse nelnel KDDKDD

Selezione ePre-elaborazione

Data Mining

Interpretazione e Valutazione

Integrazione e Consolidamento

Conoscenza

p(x)=0.02

Sorgenti

Pattern e/o Modelli

Dati trasformati

DatiConsolidati

Selezione ePre-elaborazione

Data Mining

Interpretazione e Valutazione

Integrazione e Consolidamento

Conoscenza

p(x)=0.02

Sorgenti

Pattern e/o Modelli

Dati trasformati

DatiConsolidati

Data WarehouseData Warehouse

Il processo di KDDIl processo di KDD

Selezione ePre-elaborazione

Data Mining

Interpretazione e Valutazione

Integrazione e Consolidamento

Conoscenza

p(x)=0.02

Sorgenti

Pattern e/o Modelli

Dati trasformati

DatiConsolidati

Selezione & Selezione & PreprocessingPreprocessing

Generazione di un insieme di esempiscelta del metodo di samplinganalisi della complessità del campione

Riduzione delle dimensioni degli attributirimozione di attributi ridondanti e/o correlaticombinazione di attributi (somma, prodotto, differenza)

Riduzione dei range di valori di attributiraggruppamento di valori simbolici o discretidiscretizzazione dei valori continui

Il Processo di KDDIl Processo di KDD

Selezione ePre-elaborazione

Data Mining

Interpretazione e Valutazione

Integrazione e Consolidamento

Conoscenza

p(x)=0.02

Sorgenti

Pattern e/o Modelli

Dati trasformati

DatiConsolidati

Data MiningData Mining

Altri nomi: Data dredging, Data harvesting, Data archeology

Un settore interdisciplinare:

Tuttavia molta enfasi è posta su:Applicazione a varie tipologie di datiAlgoritmi efficienti e scalabiliUso di strutture di memorizzazione e di accesso

Data Mining: Data Mining: un approccio induttivo di analisiun approccio induttivo di analisi

Tecniche deduttive (“VerificationVerification--DrivenDriven”)TopTop--DownDown: : analisi “passivapassiva”, atta a verificare se un certo modello (ipotesi) è coerente con i dati a disposizione

L’ipotesi o il modello sono formulati dall’utente sulla base della sua esperienza

Strumenti: verifica di ipotesi (statistica), query language

Tecniche induttive (“DiscoveryDiscovery--DrivenDriven”)BottomBottom--UpUp: : analisi “attivaattiva”, in cui i dati stessi suggeriscono possibili ipotesi sul significato del loro contenuto

Individuazione di fatti, relazioni, tendenze, pattern, associazioni, eccezioni e anomalie, che sfuggono all’analisi manuale

Approccio deduttivoApproccio deduttivo

• “Query & Reporting”

• Foglio Elettronico

• Analisi multidimensionale

• Analisi statistica• Raccolta dei dati

• Generazione di una ipotesi• Formulazione di una domanda• Interpretazione dei risultati e revisione dell’ipotesi...... finchè non emerge un “pattern” interessante

Approccio induttivo (Data Mining)Approccio induttivo (Data Mining)

• Riconoscimento di Forme

• Intelligenza Artificiale

• Visualizzazione

Apprendimento Modello

Nuovi DatiDati

Storici

Conoscenza Conoscenza del dominiodel dominio

Apprendimento automatico simbolico

Reti neuraliAlgoritmi GeneticiReti Bayesiane

Categorie di algoritmi di Data MiningCategorie di algoritmi di Data Mining

Formato dei datiDB relazionali, Transactional DBs, Time-seriesDB Object-oriented, Spaziali o MultimedialiFlat file, Documenti testuali o ipertestuali

Tipi di pattern estratticlassificazione, clustering, associazioni, deviazioni,…Pattern ibridi, o a livelli multipli di aggregazione

Tecniche usateDatabase-oriented, modelli probabilistici, visualizzazione, reti neurali, alberi di decisione, programmi logici,..

Contesto applicativoDNA mining, Web mining, Weblog analysis, fraud analysis, …

Task/Task/funzionalitfunzionalitàà didi Data MiningData Mining

PredizioneClassificazioneRegressione

ClusteringLink Analysis

Scoperta di Regole AssociativeAnalisi di sequenze e di time-series

Summarization Deviation DetectionSimilarity matching

(Sommario)(Sommario)

IntroduzioneMotivazioni ed applicazioni

Processo di Knowledge Discovery in DBsFasi e caratteristiche

Task di Data MiningClassificazione e regressioneScoperta di regole associativeClustering

La classificazione Definizione del problema Misure di qualitàTecniche di classificazione

Predizione: Predizione: classificazione e regressioneclassificazione e regressione

Obiettivo: indurre un modello in grado di prevedere il valore di un attributo target in base agli altri attributi

Classificazione:il target assume valori discreti Tecniche: Alberi di decisione, Regole di classificazione, Classificazione Bayesiana, K-nearest neighbors, Case-basedreasoning, Genetic algorithms, Rough sets, Fuzzy logic, Association-based classification, …

Regressione: il target assume valori continuiTecniche: Alberi di regressione, Reti neurali, regressione lineare e multipla, regressione non-lineare, regressione logistica e di Poisson, regressione log-lineare

Classificazione e apprendimento Classificazione e apprendimento induttivoinduttivo

Framework di base per l’Apprendimento Induttivo:

Sistema diApprendimento

Ambiente

TrainingExamples

TestingExamples

ModelloIndotto

Output Classification(x, f(x))

(x, h(x))

h(x) = f(x)?

Un problema di rappresentazionee ricerca della migliore ipotesi, h(x).

~

Esempio (classificazione)Esempio (classificazione)ProblemaProblema: indurre un modello che separi le classi di forme (POS) e (NEG) :

AttributiAttributiColorColor = {Red, Blue, Green, White}ShadedShaded = {Yes, No}ShapeShape = {Square, Triangle, Circle, Oval}SizeSize = {Small, Large}

Esempi (training set):Esempi (training set):

(NEG)

a

b

c d e f

g h

i

(POS)

m

np

q rs

t

Esempio: modello indotto Esempio: modello indotto (albero di decisione )(albero di decisione )

Color

BlueRed Green

White

{ m-t} {a-i}

{ b,g}{ m,t}

{ d,e,f,h}{ n,q}

{ c }{ p,r,s }

{ a,i } Shape

-+ +{e}

TriangleSquare Oval

Circle

{f}{ q}

{d,h} { n}

• • • • • •

Size

SmallLarge

Shaded

{f} +

Yes No

- { q}

{f}{ q}

Nuovi EsempiNuovi Esempi

e1 -:

e2 +:

+

Regole di decisioneRegole di decisione

(forma = quadrato or triangolo) and (dimensione = piccolo) => POS(forma = triangolo) and (tratteggiato = SI) => NEG

Regole espresse in forma logicalogica: ((Calcolo Calcolo ProposizionaleProposizionale o Calcolo dei PredicatiCalcolo dei Predicati))

Classificazione

POS POS, NEG

e1 e2 e3

NEG

ClusteringClustering ClusteringClustering

Clustering: Partizionamento dei dati in un insieme di classi non note a-priori (cluster) Qualità della partizione:

Alta omogeneità intra-classeBassa omogeneità inter-classe

In genere si basa su una misura di similarità/distanzaEsempi di applicazione:

Customer segmentationcompressione dei datisuddivisione di corpora di documenti

Clustering: Clustering: algoritmialgoritmi

Partizionalidistance-based: K-means

GerarchiciAgglomerativi o divisivisingle link o complete link

Model-Based Approcci StatisticiNeural network

Altri metodi:Density-BasedGrid-Based

Clustering: Clustering: algoritmoalgoritmo KK--meansmeans

Input: Dati = tuple con attributi numerici

(esistono varianti per dati categorici)numero K di cluster desiderati

Criterio: minimizzare la somma dei quadrati delle distanze di ogni punto dal centro del suo cluster

Algoritmo:Fissa una partizione iniziale (random) in K clusterRipeti fino a che non si abbia nessuna variazione:

Assegna ogni punto al centro più vicinoGenera i nuovi centri

Clustering:Clustering: KK--MeansMeans

Esempio

0

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 100

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 10

0

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 100

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 10

Clustering Clustering GerarchicoGerarchico

Raggruppano/Separano I dati sulla base di una matrice di distanze (o similarità)

La distanza fra due cluster è calcolata in funzione delle distanze fra le istanze che rispettivamente contengono

Step 0 Step 1 Step 2 Step 3 Step 4

b

dc

e

a a b

d ec d e

a b c d e

Step 4 Step 3 Step 2 Step 1 Step 0

agglomerativo(AGNES)

divisivo(DIANA)

Regole associativeRegole associative Scoperta di Regole AssociativeScoperta di Regole Associative

Task di natura esplorativa:scoperta di associazioni tra fatti, proprietà o valori di variabili (“link analysis”)

Dati:insieme di transazioni

es. carrello della spesa di un clienteogni transazione é un insieme di item (itemset)

es.: prodotti nel carrello

Obiettivo:trovare tutte le regole che correlano la presenza di un insieme di item con un altro insieme di item

Es.: 98% delle persone che comprano {pannolini, cibo per bebè} comprano anche {birra}.

Regole associative: Regole associative: qualitqualitàà delle regoledelle regole

L’utente specifica soglie minimeche le regole estratte devono essere superare, per alcune misure di qualità (interestingness)

Supporto (indice di significatività)1 & 2 => 3 ha confidenza 5% se si applica nel 5% dei casi

Confidenza (indice di validità)1 & 2 => 3 ha confidenza 90% se quando viene acquistato 1 e 2, nel 90% dei casi viene acquistato anche 3.può essere sviante: non implica causalità, non riconosce correlazioni negative né indipendenza

Altre misure: Misura di correlazione (es.: lift, Interest)Soggettive: cercano di catturare novità e utilità delle regole

Regole Associative: EsempioRegole Associative: Esempio

Per un supporto minimo del 50%, e confidenza minima del 50%, troviamo le seguenti regole

1 => 3 con 50% supporto e 66% confidenza3 => 1 con 50% supporto e 100% confidenza

Transaction ID Purchased Items1 {1, 2, 3}2 {1, 4}3 {1, 3}4 {2, 5, 6}

Regole associative: ricercaRegole associative: ricerca

Algoritmo Apriori:Principio: ogni sottoinsieme di un itemset frequente è frequenteFase 1: Trova tutti gli itemset che hanno un supporto minimo

usa (k – 1)-itemset frequenti per generare k-itemset candidatidatabase scan and pattern matching per verificare frequenza

Fase2: Genera le regole a partire dagli itemset frequenti trovati… La fase1 è costosa: spazio di ricerca enorme!

Miglioramenti: Ottimizzare la ricerca degli itemset frequenti

Campionamento, Dynamic itemset counting (aggiunge un nuovo candidato solo quando tutti i suoi sottoinsiemi sono stimati come frequenti), Hash-based itemset counting, Transaction reduction

Evitare di generare tutti itemset candidati (es, algoritmo FP-tree)

Il Processo di KDDIl Processo di KDD

Selezione ePre-elaborazione

Data Mining

Interpretazione e Valutazione

Integrazione e Consolidamento

Conoscenza

p(x)=0.02

Sorgenti

Pattern e/o Modelli

Dati trasformati

DatiConsolidati

Interpretazione e valutazioneInterpretazione e valutazione

InterpretazioneAlberi e regole logiche possono essere interpretati facilmenteRisultati di clustering possono essere graficati/tabellatiIn generale, tool di visualizzazione possono essere molto utili per interpretare i risultati

ValutazioneValidazione statistica e test di significanzaAnalisi qualitativa da parte di esperti del dominio Test del modello su casi di esempio per valutarne la bontà (es., accuratezza)

Un sistema di mining può generare migliaia di pattern

Pattern interessanti:Facilmente comprensibili

Validi su nuovi dati di test con un certo grado di certezza

Potenzialmente utili per processi decisionali

Nuovi o confermano ipotesi che si cercava di validare

Misure Oggettive vs. SoggettiveOggettive: basate su statistiche e struttura dei pattern (e.g., supporto, confidenza, lunghezza della descrizione, etc.)

Soggettive: basate su conoscenza pregressa e aspettative degli utenti (e.g., novità, etc.)

Sono tutti interessanti i pattern Sono tutti interessanti i pattern scoperti?scoperti?

Completezza/Precisione di un Completezza/Precisione di un processo di data miningprocesso di data mining

Completezza: Trova tutti i pattern interessantiE’ possibile in un tempo ragionevole?

Correttezza: Trova solo pattern interessantiE’ possibile “non commettere errori” e trovare solo pattern interessanti?

Possibili approcci:Si generano tutti i pattern che potrebbero essere interessanti e poi si eliminano quelli che non lo sonoGenerare solo pattern interessanti (è possibile perdere in completezza)

(Sommario)(Sommario)

IntroduzioneMotivazioni ed applicazioni

Processo di Knowledge Discovery in DBsFasi e caratteristiche

Task di Data MiningClassificazione e regressioneScoperta di regole associativeClustering

La classificazione Definizione del problema Misure di qualitàTecniche di classificazione

Intuizioni sul concetto di Intuizioni sul concetto di classificazioneclassificazione Descrivete i vostri clienti migliori Descrivete i vostri clienti migliori ……

… in base ad età ed al numero di visite nell’ultimo periodo!

0

5

10

15

20

25

30

35

20 25 30 35 40 45 50

Eta'

Visi

te

Molti_Acquisti Pochi_Acquisti

…… ora provate a prevedere ora provate a prevedere ……

… la tipologia di due nuovi clienti, in base a età e numero visite

0

5

10

15

20

25

30

35

20 25 30 35 40 45 50

Eta'

Visi

te

Molti_Acquisti Pochi_Acquisti Nuovi

Una possibile soluzione Una possibile soluzione ……

…… rappresentata graficamenterappresentata graficamente

Età <= 26 Età >= 38

Visite > 20

0

5

10

15

20

25

30

35

20 25 30 35 40 45 50

Eta'

Visi

te

Molti_Acquisti Pochi_Acquisti Nuovi

Il processo seguitoIl processo seguitoIndividuazione di una caratteristica “interessante” dei clienti: attributo classe

Numero di acquisti (fare molti acquisti o pochi acquisti)

Individuazione di altri attributi “meno interessanti”, ma che possono influenzare la classe

Età, Numero di visite

Raccolta di dati storici di cui si conoscono TUTTI gli attributi: training set

19 clienti di cui si conoscono TUTTI gli attributi

Induzione di un modello di CLASSIFICAZIONE a partire dai dati storici:

descrive la dipendenza della classe dagli altri attributitale descrizione cerca di essere accurata, concisa, informativa

CLASSIFICAZIONE: uso del modello per prevedere il valore della classe per un nuovo caso (cliente)

outlook temperature humidity windy classesunny 85 85 false Don't Playsunny 80 90 true Don't Playovercast 83 78 false Playrain 70 96 false Playrain 68 80 false Playrain 65 70 true Don't Playovercast 64 65 true Playsunny 72 95 false Don't Playsunny 69 70 false Playrain 75 80 false Playsunny 75 70 true Playovercast 72 90 true Playovercast 81 75 false Playrain 71 80 true Don't Play

Classificazione e predizione: inputClassificazione e predizione: input

Un insieme di esempi (dette istanze o casi) che descrivono un concetto (detto classe) sulla base di attributi (detti anche features)

Classificazione e predizione: inputClassificazione e predizione: input

La classe e gli attributi possono assume valori :continui (es. numeri reali)

Due valori sono confrontabili ed esiste una nozione di distanzaEsempi: età, reddito, costo, temperatura, ecc.

ordinali (elementi di insiemi finiti ed ordinati)Due valori sono confrontabili, ma non esiste una distanzaEsempi: { freddo, tiepido, caldo }, {insufficiente, buono, ottimo }

discreti (elementi di insiemi finiti e non ordinati)Due valori non sono tra loro confrontabiliEsempi: { nuvoloso, soleggiato, ventoso }, { alimentari, elettrodom., abbigliamento }

Discretizzazione: trasformazione di valori continui in ordinali o discreti

Classificazione e predizioneClassificazione e predizioneA partire dagli esempi viene costruito un modello in grado di descrivere il valore della classe in base a quello degli altri attributi

Quando la classe assume valori discreti, si parla di classificazione:

Alberi di decisione, Regole di classificazione, Classificazione Bayesiana, K-nearest neighbors, Case-based reasoning, Genetic algorithms, Rough sets, Fuzzy logic, Association-basedclassification

Quando la classe assume valori continui, si parla di predizione numerica

Alberi di regressione, Reti neurali, regressione lineare e multipla, regressione non-lineare, regressione logistica e di Poisson, regressione log-lineare

Classificazione come Classificazione come apprendimento induttivoapprendimento induttivo

Classificazione Classificazione -- DefinizioniDefinizioni

La classificazione è un processo di apprendimento supervisionato

le classi sono note a priori e si dispone di esempi giàclassificati

Ipotesi dell’apprendimento induttivo:<< Se un modello, indotto da un insieme di esempi “abbastanza rappresentativo”, ne riconosce le classi in modo accurato, sarà accurato anche nel riconoscere la classe degli altri oggetti del dominio >>

Denominazioni alternative (più appropriate) per il processo di classificazione:

Apprendimento di Concetti (classi) Induzione di Classificatori

Sistemi di apprendimento induttivoSistemi di apprendimento induttivo

Framework di base per l’Apprendimento Induttivo

Sistema diApprendimento

Ambiente

Trainingset

Testset

ModelloIndotto

Predizione su un nuovo caso(x, f(x))

(q, h(q))

h(x) = f(x)?

Un problema di rappresentazionee ricerca della migliore ipotesi, h(x).

~

Valutazione di un modello di Valutazione di un modello di classificazione (classificatore)classificazione (classificatore)Capacità descrittiva: comprensibilità della conoscenza rappresentata dal modello

numero di nodi dell’albero di decisione, numero di regole, …

Capacità predittiva: capacità di classificare correttamente oggetti del dominio

accuratezza: numero di oggetti classificati correttamente sul numero totale di oggetti classificatierrore di classificazione: 1 – accuratezza

L’accuratezza teorica (sul dominio) può essere stimata:su un test-set (indipendente dal training set), cioè un insieme di oggetti del dominio di cui è nota la classesullo stesso training set, inducendo vari modelli su campioni diesso: Cross-Validation

EErrorrrore di e di ClassificaClassificazionezione

Example Space X(x,c(x))

Where c and h disagree

ch

+ --

-

-

+

Il true error di una ipotesi h è la probabilità cheh classificherà male una istanza selezionata a caso da X,

err(h) = P[c(x) ≠ h(x)]

x = attributi di input c = classe effettivah = ipotesi (modello)

Accuratezza del modello di Accuratezza del modello di classificazioneclassificazione

Cerchiamo una misura della bontà di un modelloaccuratezza

percentuale di esempi la cui classe predetta coincide con la classe reale

% di misclassificazionepercentuale di esempi la cui classe predetta NON coincide con la classe reale

… di quali esempi?Di esempi di cui si conosce la classe reale!L’accuratezza sugli esempi del training set è ottimisticaÈ facile costruire un modello accurato al 100% sul training set

Accuratezza: metodo Accuratezza: metodo ““holdoutholdout””

Test setinsieme di esempi indipendenti dal training setdi ciascun esempio si conoscono gli attributi e la classe reale

Metodo “holdout”valutare l’accuratezza del modello sul test setdato un insieme di esempi lo si divide (casualmente) in una percentuale per il training ed una per il test set (in genere 2/3 per il training e 1/3 per il test set)

AccuratezzaAccuratezza: : ““stratified crossstratified cross--validationvalidation””

Metodo “stratified n-fold cross-validation”Si dividono gli esempi in n insiemi S1, …, Sn dellestesse dimensioni e con stessa distribuzione delleclassiPer ciascuno insieme Si

Si costruisce un classificatore sugli altri n-1 insiemiSi usa l’insieme Si come insieme di test del classificatore

L’accuratezza finale è data dalla media delleaccuratezze degli n classificatoriMetodo standard: n = 10, stratified 10-fold cross validation

Accuratezza: limiti inferioriAccuratezza: limiti inferiori

Accuratezza di un classificatore casualeclassificatore che in modo casuale classifica in una delle k possibili classiaccuratezza = 1 / k * 100 esempio: per k = 2 l’accuratezza è del 50%

Qualsiasi classificatore deve fare almeno meglio del classificatore casuale!Accuratezza di un classificatore a maggioranza

classificatore che classifica sempre come la classe di maggioranza nel training set(supponendo la stessa percentuale nella popolazione) accuratezza >= 1 / k * 100esempio: con due classi rappresentate al 98% e al 2% nel training set, l’accuratezza è del 98%

Matrice di confusioneMatrice di confusione

Name Gender Height Output1 Output2 Kristina F 1.6m Short Medium Jim M 2m Tall Medium Maggie F 1.9m Medium Tall Martha F 1.88m Medium Tall Stephanie F 1.7m Short Medium Bob M 1.85m Medium Medium Kathy F 1.6m Short Medium Dave M 1.7m Short Medium Worth M 2.2m Tall Tall Steven M 2.1m Tall Tall Debbie F 1.8m Medium Medium Todd M 1.95m Medium Medium Kim F 1.9m Medium Tall Amy F 1.8m Medium Medium Wynette F 1.75m Medium Medium

Actual Pred.Name Gender Height Output1 Output2 Kristina F 1.6m Short Medium Jim M 2m Tall Medium Maggie F 1.9m Medium Tall Martha F 1.88m Medium Tall Stephanie F 1.7m Short Medium Bob M 1.85m Medium Medium Kathy F 1.6m Short Medium Dave M 1.7m Short Medium Worth M 2.2m Tall Tall Steven M 2.1m Tall Tall Debbie F 1.8m Medium Medium Todd M 1.95m Medium Medium Kim F 1.9m Medium Tall Amy F 1.8m Medium Medium Wynette F 1.75m Medium Medium

Actual Pred.

Actual AssignmentMembership Short Medium TallShort 0 4 0Medium 0 5 3Tall 0 1 2

Actual AssignmentMembership Short Medium TallShort 0 4 0Medium 0 5 3Tall 0 1 2

Confusion matrix:colonne: classi predetterighe: classi effettivecella (i,j): istanze della classe i che il modello assegna alla classe jLe predizioni corrette sono sulla diagonaleFuori dalla diagonale: predizionisbagliate (misclassifications)

AccuraAccuratezzatezza rispettorispetto aad una data d una data classeclasseIl modello riconosce la classe C(e.g., play) ?

True Positives (TP): istanze di C assegnate a C

True Negatives (TN): istanze dialtre classi non assegnate a C

False Positives (FP): istanze di altreclassi assegnate a C (errore!)

False Negatives (FN): istanze di C assegnate ad un’altra classe (errore!)

Precisione: TP/(TP+FP)% di istanze assegnate a C che effettivamente

appartengono a C (correctness measure)

Recall: TP/(TP+FN)% di istanze di C che sono assegnate

a C (completeness measure)

F-measure: (2*recall*precision) / (recall+precision)

True Positive

True Negative

False Positive

False Negative

Actual AssignmentMembership Short Medium TallShort 0 4 0Medium 0 5 3Tall 0 1 2

Actual AssignmentMembership Short Medium TallShort 0 4 0Medium 0 5 3Tall 0 1 2 (TP)

(FP)(FP)

(FN)(FN)

Actual AssignmentMembership Short Medium TallShort 0 4 0Medium 0 5 3Tall 0 1 2

Actual AssignmentMembership Short Medium TallShort 0 4 0Medium 0 5 3Tall 0 1 2

Actual AssignmentMembership Short Medium TallShort 0 4 0Medium 0 5 3Tall 0 1 2

Actual AssignmentMembership Short Medium TallShort 0 4 0Medium 0 5 3Tall 0 1 2 (TP)

(FP)(FP)

(FN)(FN)

Tecniche di classificazioneTecniche di classificazione Classificazione Classificazione –– Tipi di modelliTipi di modelli

Vari tipi di modelli di classificazione Differiscono per il formalismo utilizzato per rappresentare la funzione di classificazione (Linguaggio delle ipotesi)

Alcuni tipi di modelli (classificatori):Basati sugli esempi (es. Nearest neighbor)

memorizzano tutti gli esempi del training set ed assegnano la classe ad un oggetto valutando la “somiglianza” con gli esempi memorizzati (la cui classe è nota)

Matematici (es. Reti Neurali Artificiali, SVM)la funzione di classificazione è una funzione matematica, di cui si memorizzano i vari parametri

Classificazione Classificazione –– Tipi di modelli Tipi di modelli

… alcuni tipi di modelli (classificatori):

Statisticimemorizzano i parametri delle varie distribuzioni di probabilità relative alle classi ed agli attributi

→ per classificare un generico oggetto si possono stimare le probabilità di appartenenza alle varie classi

es.: Naive Bayes

Logicila funzione di classificazione è espressa mediante condizioni logiche sui valori degli attributies.: Alberi e Regole di Decisione

Algoritmi di induzione di alberi di Algoritmi di induzione di alberi di decisionedecisione

••

Classificazione: Un esempio Classificazione: Un esempio

Dominio: possibili giornate,descritte dai 4 attributi (Tempo, Temperatura, Umidità, Vento) 2 classi:

Si = {giornate in cui è opportuno giocare}No= {giornate in cui non è opportuno giocare}

Si vuole indurre un modello di classificazionePer prevedere se in una generica giornata si può giocare o no in base ai valori degli attributi

Classificazione: Un esempioClassificazione: Un esempio

training set: 14 giornate di cui è nota la classe

Tempo Tempo TemperTemper.(.(°°F)F) UmiditUmiditàà VentoVento ClasseClasse

SoleggiatoSoleggiato 8585 8585 NoNo Non si giocaNon si giocaSoleggiatoSoleggiato 8080 9090 SiSi Non si giocaNon si giocaNuvolosoNuvoloso 8383 7878 NoNo Si giocaSi giocaPiovosoPiovoso 7070 9696 NoNo Si giocaSi giocaPiovosoPiovoso 6868 8080 NoNo Si Si giocagiocaPiovosoPiovoso 6565 7070 SiSi Non si giocaNon si gioca

NuvolosoNuvoloso 6464 6565 SiSi Si giocaSi giocaSoleggiatoSoleggiato 7272 9595 NoNo Non si giocaNon si giocaSoleggiatoSoleggiato 6969 7070 NoNo Si giocaSi gioca

PiovosoPiovoso 7575 8080 NoNo Si giocaSi giocaSoleggiatoSoleggiato 7575 7070 SiSi Si giocaSi giocaNuvolosoNuvoloso 7272 9090 SiSi Si giocaSi giocaNuvolosoNuvoloso 8181 7575 NoNo Si giocaSi giocaPiovosoPiovoso 7171 8800 SiSi Non si giocaNon si gioca

Alberi di decisione Alberi di decisione

ogni nodo interno n è associato ad un attributo A(n)ogni arco uscente dal nodo n è associato ad un insieme di valori di Aogni foglia è etichettata con il valore atteso della classe per gli oggetti descritti dal cammino che collega la foglia alla radice

SE (Tempo=piovoso E Vento=no) ALLORA (Classe=Si Gioca)

Si gioca

tempo

umidità vento

soleggiatosoleggiato nuvolosonuvoloso piovosopiovoso

<=75<=75 >75>75 ssìì nonoSi gioca

Si giocaNon si gioca

Non si gioca

Un albero di decisione equivale ad un insieme di regole Un albero di decisione equivale ad un insieme di regole logiche mutuamente esclusive (logiche mutuamente esclusive (una regola per ogni foglia)una regola per ogni foglia)

tempo

umidità vento

soleggiato nuvoloso piovoso

<=75 >75 sì noSi gioca

Si gioca Si giocaNon si gioca

Non si gioca

giornata G

Tempo = Piovoso Tempo = Piovoso Temperatura = 79 Temperatura = 79 UmiditUmiditàà = 85 = 85 Vento = noVento = no

Alberi di decisione Alberi di decisione

Predizione : applicazione della funzione di classificazione ad un nuovo oggetto Es.: l’albero assegna la classe Si Gioca alla giornata G (Tempo=Piovoso,Temperatura=79,Umidità=85, Vento=no)

Algoritmi di induzione di alberi di Algoritmi di induzione di alberi di decisione: storiadecisione: storia

Algoritmi sviluppati indipendentemente negli anni 60 e 70 da ricercatori di:

Statistica: L. Breiman & J. Friedman - CART (Classification and Regression Trees)

Pattern Recognition: Univ. Michigan - AID G.V. Kass - CHAID (Chi-squared Automated Interaction Detection)

Intelligenza Artificiale e Teoria dell’Informazione: R. Quinlan - ID3 (Iterative Dichotomizer)R. Quinlan - C4.5

Indurre un albero di decisioneIndurre un albero di decisione

Dati: Un insieme di esempi con classi negative e positive

Problema: Generare un modello ad albero di decisione per classificare un insieme separato di esempi con un errore minimale

Approccio: (Occam’s Razor) produrre il modello più semplice che sia consistente con gli esempi di trainingFormalmente: Trovare l’albero più semplice in assoluto è un problema intrattabile

Come produrre un albero ottimale?Come produrre un albero ottimale?

Strategia (euristica): sviluppa l’albero in maniera top-down piazza la variabile di test più importante alla radice di ogni sottoalbero successivo

La variabile più importante:La variabile che ha la maggiore attendibilità nel distinguere l’insieme degli esempi di trainingla variabile che ha la relazione più significativa con l’attributo targetalla quale il risultato sia dipendente più che per le altre (o meno indipendente)

Schema per lSchema per l’’induzione di alberi induzione di alberi (usato, e.g., in (usato, e.g., in ID3ID3 e e J48J48))

Costruzione top-down dell’albero, per partizionamentisuccessivi:1. Crea il nodo radice e assegnagli tutto il training-set2. Per il nodo corrente:

• se tutti gli esempi del nodo corrente hanno la stessa classe C, etichetta tale nodo (foglia) con C e stop

• per ogni possibile test di partizionamento (test di splitting) valuta una misura di “rilevanza” (indice di splitting)

• sui gruppi ottenuti partizionando l’insieme di esempi del nodo sulla base del test

• associa al nodo l’attributo che massimizza l’indice di splitting• per ogni valore del test di splitting crea un nodo figlio

etichetta l’arco corrispondente con la condizione di split ed assegna al nodo figlio gli esempi che verificano tale condizione

3. Per ogni nuovo nodo creato ripeti il passo 2

CriteriCriteri per trovare lo splitper trovare lo split miglioremigliore

Quantificare la separabilitàDefinire l’ impurità di un insieme S che consiste di K classi

Information entropyuna popolare misura di impurità

Zero quando consiste di una sola classe, uno quando tutte le classi sono in uguale numero

∑=

−=k

iii ppSEntropy

1log)(

Indice di Indice di splittingsplitting

Misura la qualità di una partizione (splitting), sulla base della omogeneità dei gruppi rispetto alle classi

Esempio di indice di splitting: Guadagno Informativo Dato un insieme S, p classi ed un attributo A con K valori il Guadagno Informativo della partizione {S1, … , SK} di S, ottenuta in base ai valori di A è pari alla corrispondente diminuzione dell’entropia:

Gain (S,A) = Entropia (S) –Σi =1..K ( |Si| / |S| ) * Entropia (Si)

Entropia (S) = - ΣC=1..p |S (c)| / |S| X log2( |S (c)| / |S| )dove S (c) indica l’insieme degli elementi di S con classe cindica l’Entropia Informativa dell’insieme S e rappresenta una misura della disomogeneità di S rispetto alle classi è massima quando le classi sono distribuite uniformemente in S

Training set T : 14 esempi [9 Si, 5 No]Come partizionarlo? quale attributo scegliere per la radice? →

Induzione di alberi : esempioInduzione di alberi : esempio

Tempo Tempo TempTemp. . UmidUmid. Vento Classe. Vento Classe

Sol.Sol. AltaAlta AltaAlta NoNo NoNoSol. Alta Alta Sol. Alta Alta SiSi NoNoNuvNuv. Alta Alta. Alta Alta NoNo SiSiPiovPiov. Media Alta. Media Alta NoNo SiSiPiovPiov. Bassa . Bassa NormNorm.. NoNo Si Si PiovPiov. Bassa . Bassa NormNorm.. SiSi NoNoNuvNuv. Bassa . Bassa NormNorm.. SiSi SiSiSol. Media AltaSol. Media Alta NoNo NoNoSol. Bassa Sol. Bassa NormNorm.. NoNo SiSiPiovPiov. Media . Media NormNorm.. NoNo SiSiSol. Media Sol. Media NormNorm.. SiSi SiSiNuvNuv. Media Alta. Media Alta SiSi SiSiNuvNuv. Alta . Alta NormNorm.. NoNo SiSiPiovPiov. Media Alta. Media Alta SiSi NoNo

S : [S : [9 Si, Si, 5 No]No]

Entropia = 0.94Entropia = 0.94

Sull’intero training set T Umidità permette di discriminare le classi “meglio”diVento : Gain (T,Umidità)=0.151 > Gain (T,Vento)=0.048

umidità

Alta NormaleS: [S: [3 Si, Si, 4 No]No]

EntrEntr. = 0.985. = 0.985S: [S: [6 Si, Si, 1 No]No]

EntrEntr. = 0.592. = 0.592

Gain (S,Umidità) = 0.94 – (7/14) * 0.985 – (7/14) * 0.592

= 0.151

1. Umidit1. Umiditàà??

vento

No SiS: [S: [6 Si, Si, 2 No]No]

Entropia = 0.94Entropia = 0.94

S: [S: [3 Si, Si, 3 No]No]

Entropia = 0.94Entropia = 0.94

Gain (S,Vento)= 0.94 – (8/14) * 0.811 – (6/14) * 1.000

= 0.048

2. Vento?2. Vento?

Modifiche dellModifiche dell’’indice di indice di splittingsplitting

Il guadagno informativo come indice di qualità dello splitting tende a favorire attributi con molti valori

se un attributo K ha un valore distinto per ogni oggetto dell’insieme S, la partizione di S mediante i valori di K ha entropiainformativa nulla; infatti, ogni sottoinsieme Si della partizione è costituito da oggetti di una sola classe (contiene un unico elemento)

Per compensare questo fenomeno si usa il Gain Ratio:GainRatio (S,A) = Gain (S,A) / SplitInfo (S,A)

SplitInfo(S,A) misura l’informazione dovuta alla partizione di S sulla base dei valori di A:

SplitInfo (S,A) = - Σi =1..K |Si |/|S| X log2( |Si |/|S| )

OverfittingOverfitting

Overfitting: sovradattamento al training setIl modello classifica bene gli esempi da cui è stato indotto ma non è capace di classificare correttamente altri oggetti del dominio (è troppo adattato agli esempi usati)

Alberi troppo grandi sono:poco comprensibili spesso soffrono di overfitting

Fondamento “filosofico” → Rasoio di Ockham:

“Ipotesi troppo complicate sono poco probabili”

(le spiegazioni più semplici sono spesso quelle esatte)

Ricerca dellRicerca dell’’albero della albero della ““giusta tagliagiusta taglia””

Arresto della crescita dell’albero durante la fase di costruzione (pre-pruning)

sulla base di un criterio di significatività degli splitting: soglia minima per il numero di oggetti dei nodi generati soglia minima per il valore dell’indice di splitting (riduzione del disordine)

Pruning (potatura): dopo aver costruito l’albero si eliminano i sotto-alberi che non contribuiscono all’accuratezza sul dominio,

sostituendoli con una foglia (subtree replacement) oppure con un loro sotto-albero (subtree racing).

L’accuratezza sul dominio degli alberi considerati nella fase di pruning può essere stimata

mediante cross-validationoppure riservando una porzione del training set per il test (es:reduced error pruning)

Altre tecniche di apprendimentoAltre tecniche di apprendimento

Instance-base learning

Support Vector Machines

Reti neurali

Algoritmi genetici

InstanceInstance--BasedBased LearningLearning

Idea: Il processo di apprendimento si riduce alla memorizzazione degli esempi (Lazy learning)La generalizzazione viene ottenuta a tempo di classificazione (regressione) interpolando secondo una “qualche regola”Algoritmi: K-NN, RBFN, Locally weighted regression, …

k-Nearest Neighbor (k-NN)E’ definito in termini di una funzione di (dis)similaritàIl valore della funzione target è assegnato sulla base dei valori dei K esempi più vicini

Per funzioni reali (regressione), il valore medio nel vicinatoPer funzioni discrete (classificazione), il valore più frequente

kk--NN: NN: EsempioEsempio

Date 8 instanze di esempioP1 (4, 2) =>RedP2 (0.5, 2.5) =>RedP3 (2.5, 2.5) =>RedP4 (3, 3.5) =>RedP5 (5.5, 3.5)=>RedP6 (2, 4) =>BlackP7 (4, 5) =>BlackP8 (2.5, 5.5) =>Black

nuova instanza:Pn (4, 4) => quale classe?

Calcola le distanze:d(P1, Pn) = d(P2, Pn) = 3.80d(P3, Pn) = 2.12d(P4, Pn) = 1.12d(P5, Pn) = 1.58d(P6, Pn) = 2d(P7, Pn) = 1d(P8, Pn) = 2.12

1-NN = P7Pn(4, 4) => Black

3-NN = P7, P4, P5Pn(4, 4) => Red

2)42()44( 22 =−+−

kk--NN: NN: EsempioEsempio

1-Nearest Neighbor 3-Nearest Neighbor

P1P2 P3

P4 P5P6

P7P8

Pn

P1P2 P3

P4 P5

P6

P7P8

Pn

Support vector machinesSupport vector machines

Trova l’iperpiano di separazione con margine massimoTecniche di ottimizzazione matematica (quadratica)Efficace se estesa con metodi kernel -> superfici non lineari

RetiReti neuralineurali artificialiartificiali

Grafo orientato e pesato sugli archi, e con una funzione associata ad ogni nodo (neurone)

ApprendimentoPropaga I valori di input nel grafoConfronta l’output con quello attesoModifica i pesi di conseguenza

Hidden nodes

Output nodes

x1

x2

x3

RetiReti neuralineurali artificialiartificiali

Contro:

- Bisogna indicare la giusta topologiadela rete

- Lunghi tempi di apprendimento

- Difficile interpretazione (black-box)

- Overfitting

Pro:

+ “complesse” superfici diseparazione (non lineari)

+ predizione veloce

+ possono gestire molti attributi

Migliorare lMigliorare l’’accuratezzaaccuratezza

Come si può migliorare Come si può migliorare ll’’accuratezza di accuratezza di classificaclassificazzionionee??Cambiare schema/parametriModificare l’ input (Data processing) :

Attribute selectionData cleaning

Sostituire i valori mancanti, rimuovere gli outliers, correggere errori,…

Data transformationNormalizzare i valori, discretizzare gli attributi numerici, transformare gli attributi nominali/numerici in boolean, …

Modificare l’output:Meta-classificazione

MetaMeta--classificazioneclassificazione

Genera un insieme di classificatori, (M1,…, MT) e ne combina le funzioni di classificazione (m1,…, mT) per definire una funzione di classificazione complessiva mF

E’ uno schema di meta-learning: utilizza un altro algoritmo di induzione (base learner) per costruire i classificatori componenti

m1(x)M1

M2

MT

xm2(x)

mT(x)mF (x)