La maledizione della dimensionalità !! !! Quando la dimensionalità aumenta, i dati divengono sparsi nello spazio occupato Le definizioni di densità e distanza tra punti, critiche per clustering e individuazione di outlier, diventano meno •!Generare a caso 500 punti significative •!Calcolare la differenza tra distanza massima e distanza minima tra qualunque coppia punti I Dati: parte 1 - DEIS, Universitàdi di Bologna 36 Riduzione di dimensionalità !! obiettivo: !! !! !! !! !! Evitare la “maledizione della dimensionalità” Ridurre tempo e memoria richiesti dagli algoritmi di data mining Permettere una più facile visualizzazione Tentare la riduzione del rumore e l’eliminazione di aspetti irrilevanti Tecniche !! !! !! Analisi dei componenti principali Decomposizione di valori singolari Altre tecniche supervisionate e non lineari I Dati: parte 1 - DEIS, Università di Bologna 37 Riduzione di dimensionalità: PCA (principal components analysis) !! !! !! nuova proiezione in uno spazio cartesiano con meno dimensioni che catturi la massima variazione dei dati il primo asse è la variabile con la maggiore varianza, il secondo asse con la seconda var. a maggiore varianza etc. metodo non supervisionato !!x2 !!e I Dati: parte 1 - DEIS, Università di Bologna !!x1 38 Riduzione di dimensionalità: ISOMAP !! Tenenbaum, de Silva, Langford (2000) !! !! !! Costruire un grafo di vicinanza Per ogni coppia di punti nel grafo, calcolare le distanze minime Ridefinire le distanze come somme di percorsi tra vicini I Dati: parte 1 - DEIS, Università di Bologna 39 Selezione di un sottoinsieme di attributi !! Attributi ridondanti !! !! !! Duplicano gran parte delle informazioni contenute in uno o più degli altri attributi Esempio: prezzo di acquisto e importo dell’iva Attributi irrilevanti !! !! attributi ad elevata o bassa variabilità non contengono informazioni utili per il data mining Esempio: codici fiscali, partita iva, codici di prodotto etc. I Dati: parte 1 - DEIS, Università di Bologna 40 Selezione di un sottoinsieme di attributi (ii) !! Tecniche: !! Forza bruta: !! !! Approcci “embedded”: !! !! La selezione è intrinseca all’algoritmo di data mining Filtraggio: !! !! Provare tutti i possibili sottoinsiemi di attributi Selezione a monte dell’algoritmo di data mining Approcci “Wrapper”: !! Uso dell’algoritmo di data mining come una scatola nera per trovare il migliore sottoinsieme di attributi I Dati: parte 1 - DEIS, Università di Bologna 41 Creazione di attributi !! !! I nuovi attributi possono catturare le informazioni importanti del data set in modo più efficiente di quelli originali Tre metodologie generali: !! Estrazione di “features” !! a)! b)! "! !! Mappare i dati in un nuovo spazio !! !! esempio: riconoscere se un’immagine contiene un viso Analizzare i pixel Analizzare la presenza di linee caratteristiche della presenza di un viso Fortemente legato al dominio Esempio: trasformate di Fourier per mettere in evidenza aspetti temporali Costruzione di attributi !! Esempio: sostituire massa e volume di oggetti con la densità I Dati: parte 1 - DEIS, Università di Bologna 42 Mappare dati in un nuovo spazio !! Fourier !! Wavelet !!Due sinusoidi !!Due sinusoidi con rumore I Dati: parte 1 - DEIS, Università di Bologna !!Analisi nel dominio delle frequenze 43 Discretizzazione !! Trasformare dati continui in categorici !! Ridurre il numero di categorie se eccessivo !! Certi algoritmi lavorano meglio con dati categorici !! Trasformare dati discreti in attributi binari (binarizzazione) !! Necessario trovare la discretizzazione migliore I Dati: parte 1 - DEIS, Università di Bologna 44 Discretizzazione non supervisionata !!Dati originali Equi-ampiezza !!Equi-frequenza I Dati: parte 1 - DEIS, Università di Bologna !!K-means 45 Discretizzazione supervisionata !! !! !! Su più dimensioni contemporaneamente Quando sono disponibili informazioni supplementari sulle “classi” degli oggetti Ottenere la massima “purezza” delle partizioni !! !! In generale crea overfitting !! !! !! # minimizzare entropia il test set non può essere discretizzato in questo modo poiché i valori dell’attibuto target/classe si suppongono ignoti Metodo valido: filtro (e.g. discretizzazione) supervisionata solo del training set e applicazione del risultato al test set in WEKA: usare un Metalearner che combina l’algoritmo di learning con il filtro (e.g. discretizzazione) !! usare FilteredClassifier dalla sezione Meta del panel Classify (pulsante Choose) per scegliere un classificatore ed un filtro I Dati: parte 1 - DEIS, Università di Bologna 46 Discretizzazione supervisionata (ii) !!3 categorie per x e y !!5 categorie per x e y I Dati: parte 1 - DEIS, Università di Bologna 47 ancora sulla riduzione degli attributi !! !! gli attributi irrilevanti deteriorano l’efficacia e l’efficienza della gran parte degli algoritmi di data mining due metodi: !! !! !! Esempi con uso di machine learning: !! !! !! !! applicare al data set un decision tree (cross-validation) selezionare dal data set solo gli attributi usati nell’albero calcolato applicare al data set un algoritmo diverso dai decision tree Altro esempio: !! !! riduzione a partire dalle caratteristiche dei dati (non automatica) impiego di algoritmi di machine learning individuare un sottoinsieme di attributi che individualmente si correlano bene con l’attributo classe/target ma con bassa intercorrelazione tra loro Metodi iterativi più sofisticati basati sul ranking degli attributi I Dati: parte 1 - DEIS, Università di Bologna 48 riduzione attributi con metodi di ricerca !! !! !! !! obiettivo: individuare il sottoinsieme degli attributi che più probabilmente predice meglio l’attributo target/classe la ricerca in questo spazio è esponenziale rispetto al numero degli attributi riduzione della complessità cercando in modo greedy in una o due direzioni, forward selection & backword elimination forward selection !! !! !! backward elimination !! !! aggiunta di un attributo a turno e test con cross-validation per stimare l’efficacia del nuovo sottoinsieme la ricerca termina quando nessun attributo produce un miglioramento procede in modo analogo ma al contrario partendo dall’intero data set ed eliminando un attributo alla volta metodi più sofisticati (forward & backword, best-first search, beam, I Dati: parte 1 - DEIS, Università di Bologna algoritmi genetici) 49 Trasformazione di attributi !! Valori di un attributo #nuovo insieme di valori con corrispondenza biunivoca !! !! !! xk, log(x), ex Standardizzazione e Normalizzazione Esempio: !! !! !! !! Persone descritte con età e reddito differenze di reddito >> differenze di età # analisi dominate dal reddito Standardizzazione !! X’ = (X – media(X)) / devStandard(X) I Dati: parte 1 - DEIS, Università di Bologna 50 Similarità e Dissimilarità !! Similarità !! !! !! !! Dissimilarità !! !! !! !! !! Misura numerica riferita a due oggetti Aumenta con la somiglianza Generalmente [0,1] Misura numerica riferita a due oggetti Diminuisce con l’aumentare della somiglianza Minimo generalmente 0 Massimo può variare Prossimità I Dati: parte 1 - DEIS, Università di Bologna 51 similarità/Dissimilarità per attributi semplici Tipo di attributo Dissimilarità #0 se d=$ %1 se Nominale p=q p"q n Valori mappati in interi [0,n-1] Ordinale p"q d= ! n "1 ! Similarità #0 se d=$ %1 se p"q s = 1" n "1 s = "d s= 1 1+ d s = e"d d = p"q Intervallo o rapporto d " min(d) max(d) " min(d) In generale, la conversione s/d si può fare con qualunque funzione monotona decrescente ! !! p"q p=q ! ! s = 1" I Dati: parte 1 - DEIS, Università di Bologna ! 52 Distanza euclidea !! !! !! n = numero di dimensioni (attributi ) pk e qk = k-esimi componenti di p e q Se le scale differiscono occorre standardizzare I Dati: parte 1 - DEIS, Università di Bologna 53 Distanza euclidea (ii) !!Matrice delle distanze I Dati: parte 1 - DEIS, Università di Bologna 54 Distanza di Minkowski !! Generalizzazione della distanza euclidea !! r è un parametro I Dati: parte 1 - DEIS, Università di Bologna 55 Distanza di Minkowski: esempi !! r = 1. City block (Manhattan, taxicab, L1 norm) !! Esempio: distanza di Hamming, numero di bit diversi in due vettori binari !! r = 2. distanza euclidea !! r ! ". “supremum” (Lmax norm, L" norm) !! !! Massima differenza tra componenti dei vettori Tutte queste distanze sono definite per qualsiasi numero di dimensioni I Dati: parte 1 - DEIS, Università di Bologna 56 Distanza di Minkowski !!Matrici delle distanze I Dati: parte 1 - DEIS, Università di Bologna 57 Matrice delle covarianze !! !! !! !! Variazione di coppie di variabili aleatorie Sommatoria, estesa al numero di osservazioni n, dei quadrati delle differenze tra una componente di un’osservazione e le medie di tutte le altre componenti I valori della diagonale principale sono le varianze !ij > 0 se i valori delle componenti i e j tendono a crescere insieme nelle osservazioni 1 n " ij = $ (x hi # µ j ) 2 n h=1 I Dati: parte 1 - DEIS, Università di Bologna 58 ! Distanza di Mahalanobis !!# è la matrice di covarianza dei dati di input X !!per i punti rossi la distanza euclidea è 14.7, la distanza di Mahalanobis è 6. I Dati: parte 1 - DEIS, Università di Bologna 59 Distanza di Mahalanobis (ii) !!La congiungente A e C è “in direzione” della correlazione ! la distanza “vale meno” di quella tra A e B !!Matrice di covarianza: !! C !!A: (0.5, 0.5) !! B !!B: (0, 1) !! A !!C: (1.5, 1.5) !!Mahal(A,B) = 5 !!Mahal(A,C) = 4 I Dati: parte 1 - DEIS, Università di Bologna 60 Proprietà comuni di una distanza !! !! !! d(p, q) $ 0 per ogni p e q e d(p, q) = 0 solo se p = q (positività) d(p, q) = d(q, p) per ogni p e q (simmetria) d(p, r) % d(p, q) + d(q, r) per ogni punto p, q, e r (disuguaglianza triangolare) !! !! d(p, q) è la distanza (dissimilarità) tra punti (oggetti dati), p e q. Una distanza che soddisfa le proprietà sopra è definta una “metrica” I Dati: parte 1 - DEIS, Università di Bologna 61 Esempi di distanze non metriche !! Differenza di insiemi !! d(A,B) = |A-B| !! !! !! !! Non soddisfa la seconda parte della positività (vale zero anche se B contiene più elementi di A, quindi per B diverso da A) Non soddisfa la simmetria D(A,B) = |A-B| + |B-A| è una metrica Differenza tra orari del giorno !! !! Se un evento si verifica alle 13 di ogni giorno e sono le 14, fra quanto tempo si verificherà? d(13,14) = 1 d(14,13) = 23 I Dati: parte 1 - DEIS, Università di Bologna 62 Proprietà comuni di una similarità !! s(p, q) = 1 (massima similarità) solo se p = q. !! s(p, q) = s(q, p) per ogni p e q. (simmetria) !! s(p, q) è la similarità tra punti (oggetti dati), p e q. I Dati: parte 1 - DEIS, Università di Bologna 63 Similarità tra vettori binari !! !! !! !! !! !! !! M01 = numero di attributi in cui p è 0 e q è 1 M10 = numero di attributi in cui p è 1 e q è 0 M00 = numero di attributi in cui p è 0 e q è 0 M11 = numero di attributi in cui p è 1 e q è 1 Coefficienti Simple Matching (SMC) e Jaccard (J) SMC = numero di concordanze / numero di attributi = (M11 + M00) / (M01 + M10 + M11 + M00) J = numero di concordanze 11 / numero di valori “non entrambi zero” = (M11) / (M01 + M10 + M11) I Dati: parte 1 - DEIS, Università di Bologna 64 SMC versus Jaccard: esempio !! !! !! !! !! !! !! !! p= 1000000000 q= 0000001001 M01 = 2 M10 = 1 M00 = 7 M11 = 0 (numero di attributi in cui p è 0 e q è 1) (numero di attributi in cui p è 1 e q è 0) (numero di attributi in cui p è 0 e q è 0) (numero di attributi in cui p è 1 e q è 1) SMC = (M11 + M00)/(M01 + M10 + M11 + M00) = (0+7) / (2+1+0+7) = 0.7 J = (M11) / (M01 + M10 + M11) = 0 / (2 + 1 + 0) = 0 I Dati: parte 1 - DEIS, Università di Bologna 65 Similarità coseno !! se d1 e d2 sono due vettori ”documento”, allora cos( d1, d2 ) = (d1 • d2) / ||d1|| ||d2|| , dove • il prodotto scalare || d || è la norma del vettore d. !! esempio: !! !! !! !! d1 = 3 2 0 5 0 0 0 2 0 0 d2 = 1 0 0 0 0 0 0 1 0 2 !! d1 • d2= 3*1 + 2*0 + 0*0 + 5*0 + 0*0 + 0*0 + 0*0 + 2*1 + 0*0 + 0*2 = 5 ||d1|| = (3*3+2*2+0*0+5*5+0*0+0*0+0*0+2*2+0*0+0*0)0.5 = (42) 0.5 = 6.481 ||d2|| = (1*1+0*0+0*0+0*0+0*0+0*0+0*0+1*1+0*0+2*2) 0.5 = (6) 0.5 = 2.245 !! cos( d1, d2 ) = .3150 !! !! I Dati: parte 1 - DEIS, Università di Bologna 66 Coefficiente di Jaccard esteso (Tanimoto) !! Variazione di Jaccard per attributi continui o conteggio !! Si riduce a Jaccard per attributi binari I Dati: parte 1 - DEIS, Università di Bologna 67 Correlazione !! !! Misura la relazione lineare tra oggetti Standardizza gli oggetti e le esegue il prodotto vettoriale I Dati: parte 1 - DEIS, Università di Bologna 68 Valutazione visuale della correlazione !!Diagrammi di dispersione per similarità da –1 a 1. I Dati: parte 1 - DEIS, Università di Bologna 69 Scegliere la giusta misura di prossimità !! !! Dipende dai dati Densi, continui "! !! Dati sparsi, asimmetrici !! !! !! Misure metriche come la distanza euclidea Coseno, Jaccard, Jaccard esteso Trasformazioni e normalizzazioni Tenere conto delle eventuali trasformazioni di uso comune nel dominio sotto considerazione I Dati: parte 1 - DEIS, Università di Bologna 70 Combinare più modelli -> più accuratezza !! !! !! combinare le decisioni di più modelli per ottenere una decisione finale più accurata motivazione: diversi training set presi nello stesso dominio producono modelli anche molto diversi Bagging !! !! !! !! !! meccanismo del voto a maggioranza (dati nominali) valore medio (dati numerici) tutti i voti (dei modelli) pesano allo stesso modo esiste in weka Boosting !! !! !! come Bagging, ma i voti pesano in modo diverso a seconda dell’accuratezza individuale in weka AdaBoost.M1 metodi Isimili Additive ClassificationViaRegression Dati: parte 1 - DEIS,regression, Università di Bologna 71 Usare i dati non etichettati !! !! spesso i dati etichettati/classificati sono pochi perché il costo per produrli può essere elevato co-training !! !! !! !! !! due data set con lo stesso obiettivo di learning (e.g. contenuto di pagine web e pagine web con link entranti nelle precedenti) apprendere i due modelli separatamente dal data set etichettato applicare il modello ai data set non etichettati rimuovere dai data set non etichettati le due osservazioni con predizioni positive e negative migliori aggiungere le due osservazioni ai data set etichettati e ripetere il procedimento fino ad esaurire i dati non etichettati I Dati: parte 1 - DEIS, Università di Bologna 72