Scarica APPUNTI LEZIONI INFORMATICA e più Appunti in PDF di Elementi di Informatica solo su Docsity!
Clustering
Apprendimento Supervisionato
- L’apprendimento supervisionato (Classificazione) è una^ filosofia che punta a realizzare algoritmi in grado di apprendere e di adattarsi, poi, alle mutazioni dell’ambiente.
- Questa tecnica si basa sul presupposto di potere ricevere, dopo aver addestrato un modello, degli stimoli dall’esterno a seconda delle scelte dell’algoritmo.
- Scopo della classificazione è trovare una regola di decisione f che, dato un punto x dello spazio di input X, associ l’etichetta a seconda della classe di appartenenza.
- Nell’apprendimento Non-Supervisionato, invece, non possediamo esempi noti su cui basarci
- La macchina impara qualcosa dalla struttura dei dati senza ricevere altro che i dati in se:
- Non abbiamo una colonna/attributo di classe come nella classificazione
- Obiettivo del Apprendimento non supervisionato è la ricerca di un aspetto strutturale.
Differenza tra Classificazione e Clustering
- La differenza tra Classificazione e Clustering è sottile e va chiarita:
- Nella classificazione tutti gli elementi venivano accomunati all’apparenza o meno a una classe descritta esplicitamente, ad esempio:
- clienti soddisfatti o insoddisfatti, oppure amanti del genere drammatico, fantascientifico o avventura.
- Nel caso del Clustering è l’algoritmo che ci restituisce un raggruppamento di elementi omogenei, rintracciando similarità e differenze strutturali tra i vari elementi.
- Riassumendo:
- Mentre nella classificazione il requisito che definisce l’apparenza ad una classe è^ fissato a priori, nel clustering tale requisito va ricercato nella caratteristiche intrinseche dell’insieme dei dati da parte dell’algoritmo in completa libertà con l’obiettivo finale di definire gruppi che mettano in evidenza le proprie e specifiche caratteristiche strutturali.
Riduzione della Dimensionalità
- La riduzione della dimensionalità di un insieme di dati, riguarda la possibilità di
ignorare alcuni attribuiti ritenuti superflui per le successive analisi.
- Quando dobbiamo analizzare dati con molti attributi (colonne) ( high-dimensionality )
ogni operazione analitica diventa onerosa in termini di potenza computazionale e di
spazio di memorizzazione.
- Quindi un metodo capace di comprimere i dati da analizzare consentirebbe di salvare
tempo e denaro, e migliorare le performance predittive degli algoritmi.
Clustering Analysis (Analisi di Raggruppamento)
- Un cluster (gruppo) è una collezione di istanze tali che:
- le istanze dello stesso cluster sono simili tra loro
- alta somiglianza intra-classe
- le istanze di cluster diversi sono dissimili
- bassa somiglianza inter-classe
- Analisi di raggruppamento (cluster analysis)
- il processo di raggruppamento delle istanze in cluster.
- si tratta di apprendimento non supervisionato
- le istanze di input utilizzate per creare il modello^ non^ hanno^ una classe nota a priori
- la qualità di una analisi di raggruppamento dipende:
- dal parametro scelto per misurare la somiglianza inter e intra-classe
- dall'algoritmo utilizzato per l'implementazione dell'analisi.
Applicazioni del Clustering
- Varie possibilità di utilizzo:
- analisi stand-alone,
- processo preliminare ad altre analisi di dati
- ad esempio, assegnare una etichetta ad ognuno, e poi utilizzare un algoritmo di classificazione.
- come componente integrante di algoritmi per altri tipi di analisi:
- ad esempio le regole associative quantitative "basate sulla distanza" (che si basano su algoritmi di raggruppamento)
- nella fase di pre-elaborazione dati
- eliminazione degli outlier
- riduzione della numerosità
- Gli algoritmi di Clustering rappresentano i dati mediante i seguenti modi: - Matrice dei Dati - xij = attributo^ i^ dell’istanza^ j - Matrice delle Distanze - d(i,j) = distanza tra l’istanza^ i^ e l’istanza^ j; - poiché d(j,i) = d(i,j) la matrice è simmetrica per cui si rappresenta solo metà matrice. Rappresentazione dei Dati
Distanze e tipi di dati
- d(i,j)^ misura la dissimilarita o distanza tra le istanze^ i^ e^ j. - La definizione di^ d()^ cambia molto a seconda del tipo di dato degli attributi - Intervallo - Nominali (in particolare binari) - Ordinali
- ovviamente si possono avere situazioni in cui attributi diversi hanno tipo diverso!