1 / 57

Apprendimento Automatico: Apprendimento Non Supervisionato

Apprendimento Automatico: Apprendimento Non Supervisionato. Roberto Navigli. colore. (arancio, rotondo, classe= ). (giallo, lungo, classe= ). forma. (giallo, rotondo, classe= ). (giallo, lungo, classe= ). . colore. (arancio, rotondo). . . .

Renfred
Download Presentation

Apprendimento Automatico: Apprendimento Non Supervisionato

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Apprendimento Automatico:Apprendimento Non Supervisionato Roberto Navigli

  2. colore (arancio, rotondo, classe= ) (giallo, lungo, classe= ) forma (giallo, rotondo, classe= ) (giallo, lungo, classe= ) . colore (arancio, rotondo) . . . (giallo, rotondo) (giallo, rotondo) (giallo, lungo) forma Supervisione nell’Apprendimento algoritmo di apprendimento supervisionato algoritmo di apprendimento nonsupervisionato

  3. Clustering • Suddivide esempi non etichettati in sottoinsiemi disgiunti (cluster), tali che: • Gli esempi in uno stesso gruppo sono “molto” simili • Gli esempi in gruppi diversi sono “molto” differenti • Scopre nuove categorie in modo non supervisionato (a priori non vengono fornite etichette per le categorie)

  4. Clustering: un esempio

  5. Clustering: un esempio

  6. Clustering: un esempio

  7. Clustering: un esempio

  8. Tipi di Clustering • Clustering gerarchico(hierarchical clustering) • Formano cluster iterativamente utilizzando cluster precedentemente costituiti • Clustering partitivo (partitional clustering) • Crea una sola partizione degli esempi in cluster minimizzando una certa funzione di costo

  9. animale vertebrato invertebrato pescerettileanfibiomammif. vermeinsettocrostaceo Clustering Gerarchico • Costruisce una tassonomia gerarchica ad albero a partire da un insieme di esempi non etichettati • L’applicazione ricorsiva di un algoritmo di clustering può produrre un clustering gerarchico • Distinguiamo due tipi di clustering gerarchico: • Agglomerativo (bottom-up) • Divisivo (top-down)

  10. Clustering Partitivo • I metodi di clustering partitivoottengono una singola partizione dei dati, invece di una struttura di clustering (es. albero di clustering) • Richiedono di specificare il numero di cluster k desiderati • Il numero di cluster k può essere determinato automaticamente generando esplicitamente clustering per diversi valori di k e scegliendo il miglior risultato secondo la funzione di valutazione del clustering

  11. Clustering Gerarchico Agglomerativo • Assume l’esistenza di una funzione di similarità per determinare la similarità di due istanze • Algoritmo: Parti con un cluster per ogni istanza Finché non c’è un solo cluster: Determina i due cluster ci e cj più simili Sostituisci cie cj con un singolo cluster cicj • La “storia” di fusione costituisce un albero binario o gerarchia di clustering (dendrogramma)

  12. Metriche per determinare la distanza • Nota: se la distanza è normalizzata tra 0 e 1, la similarità sim(x, y) è data da 1-d(x, y) • Distanza euclidea (norma L2): • Norma L1 (o distanza di Manhattan):

  13. Cosine Similarity • Esempio: similarità del coseno di due vettori di documenti:

  14. Coefficiente di Jaccard • Esempio: similarità del coseno di due vettori di documenti:

  15. Misurare la Similarità tra Cluster • Nel clustering gerarchico agglomerativo, utilizziamo una funzione di similarità che determina la similarità tra due istanze: sim(x, y) • Come calcolare la similarità di due cluster ci e cj sapendo come calcolare la similarità tra due istanze nei due cluster? • Single Link: Similarità dei due membri più simili • Complete Link: Similarità dei due membri meno simili • Group Average: Similarità media tra i membri

  16. Single Link Agglomerative Clustering • Utilizziamo la similarità massima tra coppie di istanze: • A causa di un effetto concatenamento, può restituire cluster “lunghi e fini” • Adeguato in certi domini, come il raggruppamento di isole

  17. Esempio di Single Link

  18. Complete Link Agglomerative Clustering • Basato sulla minima similarità tra coppie di istanze: • Crea cluster più sferici, normalmente preferibili

  19. Esempio di Complete Link

  20. Calcolare la Similarità tra Cluster • Dopo aver fuso i cluster ci e cj, la similarità del clustering ottenuto rispetto a un altro cluster arbitrario ck può essere calcolata come segue: • Single Link: • Complete Link:

  21. Group Average Agglomerative Clustering • Per determinare la similarità tra ci e cj usa la similarità media su tutte le coppie nell’unione di ci e cj. • Compromesso tra single e complete link. • Se si vogliono cluster più sferici e netti, si deve determinare la similarità media tra coppie ordinate di istanze nei due cluster (invece che tra coppie di istanze nell’unione):

  22. Clustering Partitivo • Si deve fornire il numero desiderato di cluster k • Si scelgono k istanze a caso, una per cluster, chiamate semi (seeds) • Si formano i k cluster iniziali sulla base dei semi • Itera, riallocando tutte le istanze sui diversi cluster per migliorare il clustering complessivo • Ci si ferma quando il clustering converge o dopo un numero prefissato di iterazioni

  23. K-means • Assume istanze a valori reali • I cluster sono basati su centroidio media dei punti in un cluster c: • Le istanze vengono riassegnate ai cluster sulla base della distanza rispetto ai centroidi dei cluster attuali

  24. Algoritmo K-means K-means(distanza d, insieme delle istanze X) Seleziona k istanze a caso {s1, s2, …, sk} X come semi. Finché clustering non converge o si raggiunge criterio di stop: Per ogni istanza x X: Assegnax al cluster cjtale che d(x, sj) è minimale Aggiorna i semi al centroide di ogni cluster, ovvero per ogni cluster cj: sj= (cj)

  25. Scegli i semi Riassegna i cluster Calcola i centroidi Riassegna i cluster x x x Calcola i centroidi x x x K-means: Esempio (k=2) Riassegna i cluster Convergenza!

  26. Obiettivo di K-means • L’obiettivo di k-means è di minimizzare la somma del quadrato della distanza di ciascun punto in X rispetto al centroide del cluster cui è assegnato: • Così come per gli algoritmi genetici, trovare il minimo globale è un problema NP-hard • E’ garantito che l’algoritmo k-means converga a un minimo locale

  27. Ad ogni passo, K-means cerca il clustering ottimale • Dimostrazione (assumiamo x a una sola dimensione per semplicità):

  28. Scelta dei Semi • I risultati possono variare notevolmente sulla base della selezione dei semi • Alcuni semi possono portare a un basso tasso di convergenza o a convergere su clustering sub-ottimali • Si possono selezionare buoni semi usando euristiche o come risultato di un altro metodo

  29. Scelta di semi ottimale

  30. Scelta di semi non ottimale

  31. Text Clustering • I metodi di clustering possono essere applicati a documenti di testo in modo semplice • Tipicamente, si rappresenta un documento mediante vettori TF*IDF (term frequency*inverse document frequency) normalizzati e si utilizza la similarità del coseno • Applicazioni: • Durante la fase di recupero dei documenti di un sistema di Information Retrieval (IR), si possono fornire documenti nello stesso cluster di quello inizialmente recuperato per aumentare la recall del sistema • I risultati di un sistema di IR possono essere presentati per gruppi • Produzione automatizzata di tassonomie gerarchiche di documenti per scopi di nagiazione (stile Yahoo & DMOZ).

  32. Clustering basato su grafi • Basati su una rappresentazione dei dati sotto forma di grafo di prossimità: • Un nodo è un’istanza • Un arco rappresenta la prossimità tra due istanze (es. distanza) • Eventuale passo di pre-processing: sparsificazione del grafo • Per ogni nodo, mantieni solo i k vicini più simili o i vicini la cui similarità è > di una certa soglia 0.5 f2 0.5 f1 0.2 0.1 0.3 f5 0.3 f4 f3 0.2 0.4 f6

  33. Esempi di clustering di grafi a vari livelli di granularità Da: G Karypis, V Kumar (1999). "A Fast and High Quality Multilevel Scheme for Partitioning Irregular Graphs". Siam Journal on Scientific Computing.

  34. MST (Minimum Spanning Tree) Clustering • Clustering basato sul concetto di albero ricoprente • Un albero ricoprente minimo è un sottografo che 1) non ha cicli, 2) contiene tutti i nodi del grafo, 3) ha il minimo peso totale tra tutti gli alberi ricoprenti • E’ un algoritmo di tipo gerarchico divisivo MST-Clustering(G) • Calcola il MST per il grafo di dissimilarità • Finché non rimangono solo cluster singoletti • Crea un nuovo cluster eliminando un arco corrispondente alla maggiore dissimilarità

  35. Esempio 0.5 f2 0.5 f1 0.2 0.1 0.3 f5 0.3 f4 f3 0.2 0.4 f6

  36. Esempio 0.5 f2 0.5 f1 0.2 0.1 0.3 f5 0.3 f4 f3 0.2 0.4 f6

  37. Esempio f2 f1 0.2 0.1 0.3 f5 0.3 f4 f3 0.2 f6

  38. Esempio f2 f1 0.2 0.1 0.3 f5 0.3 f4 f3 0.2 f6

  39. Esempio f2 f1 0.2 0.1 f5 0.3 f4 f3 0.2 f6

  40. Esempio f2 f1 0.2 0.1 f5 0.3 f4 f3 0.2 f6

  41. Esempio f2 f1 0.2 0.1 f5 f4 f3 0.2 f6

  42. Esempio f2 f1 0.2 0.1 f5 f4 f3 0.2 f6

  43. Esempio f2 f1 0.2 0.1 f5 f4 f3 f6

  44. Esempio f2 f1 f5 f4 f3 f6

  45. Hard vs. Soft Clustering • Tipicamente il clustering assume che ogni istanza sia assegnata a un solo cluster • Questo non permette di esprimere l’incertezza riguardo l’appartenenza di un’istanza a più cluster • Ilsoft clustering fornisce una distribuzione di probabilità per ogni istanza rispetto all’appartenenza a ciascun cluster • Le probabilità di appartenenza di ogni istanza su tutti i cluster devono sommare a 1

  46. Problemi nell’Apprendimento Non Supervisionato • Come valutare il clustering? • Valutazione interna: • Separazione netta dei cluster (ad es., l’obiettivo di K-means) • Corrispondenza con un modello probabilistico dei dati • Valutazione esterna • Confronta i cluster con etichette di classe note su dati di benchmark • Pseudowords • Clustering sovrapponibili • Collo di bottiglia della conoscenza

  47. Valutazione esterna del clustering • Supponiamo di avere un insieme di dati annotati con classi scelte a mano • Applichiamo il nostro algoritmo di clustering • Valutiamo misure di aderenza del clustering rispetto al dataset • Entropia: • Purezza: • dove: • mij è il numero di istanze nel cluster j di classe i • mj è il numero di istanze nel cluster j • m è il numero complessivo di istanze

  48. Esempio di valutazione esterna con entropia e purezza • Ho un dataset di 10 istanze (m=10) • Supponiamo di ottenere il seguente clustering: • Classi associate a mano alle istanze: (1) , (2) • m1=6, m2=4 • m1(1)=4, m1(2)=2, m2(1)=1, m2(2)=3 c2 c1

  49. Collo di bottiglia della conoscenza • Spesso si pone un problema di disponibilità e creazione di dataset annotati • Metodi debolmente supervisionati o semi-supervisionati • Es. Metodi di Bootstrapping • Si utilizzano pochi esempi annotati a mano A (semi) e moltissimi esempi non annotati U • Si addestra un classificatore su A e si classificano gli esempi in U; i “migliori” esempi in U vengono aggiunti ad A. Si ripete il processo finché U non è vuoto o si raggiunge una certa soglia

  50. Collo di bottiglia della conoscenza • Spesso si pone un problema di disponibilità e creazione di dataset annotati • Metodi debolmente supervisionati o semi-supervisionati • Es. Active learning • Si addestra un classificatore con un insieme di addestramento A • Si annotano automaticamente i dati in un insieme non etichettato U • Si selezionano quelle istanze per le quali il classificatore ha avuto un basso grado di confidenza (istanze incerte) • Si chiede l’intervento umano nel validare quelle istanze • Si aggiungono le istanze validate all’insieme di addestramento A • Si ripete il processo finché non si raggiunge una condizione di terminazione (es. una soglia fissata di confidenza)

More Related