data miningbrescia/documents/astroinfoedu/brescia... · 2016. 11. 30. · in 1949, donald hebb...
TRANSCRIPT
Data Mining
Unsupervised Paradigm
M. Brescia - Data Mining 2
An unsupervised machine learning model will try to fit its parameters so as to best summarizeregularities found in the data.
supervised algorithms try tominimize the error in classifyingobservations or approximatinga non-linear function.
Unsupervised learning modelsdon't have such gain, becausethere are no outcomes or targetlabels.
Unsupervised algorithms try tocreate clusters of data that areinherently similar.
Unsupervised Process
3
Differently from supervised algorithms, which aim at minimizing the prediction error,unsupervised algorithms try to create groups or subsets of the data, in which points belongingto a cluster are as similar to each other as possible, by making the difference between theclusters as high as possible.Another main difference is that in an unsupervised problem, the concept of training set doesnot apply in the same way as with supervised learners. Typically we have a data set that isused to find the relationships in the data that buckets them in different clusters.
1. Pre-processing of data. As withsupervised learners, this step includesselection of features to feed into thealgorithm, by also scaling them to build asuitable training data set;
2. Execution of model training. We run theunsupervised algorithm on the scaled dataset to get groups of like observations;
3. Validation. After clustering the data, weneed to verify whether it cleanlyseparated the data in significant ways.This includes calculating a set of statisticson the resulting outcomes, as well asanalysis based on domain knowledge.
M. Brescia - Data Mining
The core business of unsupervised ML
4
From a ML perspective clusters correspond to hidden patterns, the search for clusters isunsupervised learning, and the resulting system could represent a data concept in the KDD(Knowledge Discovery in Databases).
From a practical perspective clustering plays an outstanding role in DM applications such asscientific data exploration, information retrieval and text mining, spatial databaseapplications, Web analysis, Customer Relationships Management (CRM), marketing, medicaldiagnostics, computational biology, and many others
Data mining on MDS adds to clustering the complications of very large data sets with verymany attributes of different types (high dimensionality). This imposes unique computationalrequirements on relevant clustering algorithms.What are the properties of clustering algorithms we are concerned with in DM?These properties include:
• Type of attributes that the algorithm canhandle;
• Scalability to large data sets;• Ability to work with high dimensional
data (multi-D parameter space, multi-wavelength, multi-epoch etc…);
• Ability to find clusters of irregular shape;• Handling outliers;• Time complexity (when there is no
confusion, we use the term complexity);• Data order dependency;
M. Brescia - Data Mining
Clustering general notation
5
To fix the context and to clarify prolific terminology, we consider a dataset X consisting of datapoints (or synonymously, objects, instances, cases, patterns, tuples, transactions):
(feature) attribute
N:1i
space parameter
,...,1
lil
idii
Ax
A
Axxx
Such point-by-attribute data format conceptually correspondsto a N x d matrix.
The ultimate goal of clustering is to assign points to a finite system of k subsets, clusters. Usuallysubsets do not intersect (this assumption is sometimes violated), and their union is equal to afull dataset with possible exception of outliers:
211 , jjoutliersk CCCCCX
M. Brescia - Data Mining
Unsupervised Methods (UM) are applied without any a priori knowledge…They cluster the data relying on their intrinsic statistical properties. The
understanding only takes place through labeling (very limited Knowledge Base).
“a blind man in a dark room - looking for a black cat - which may be not there”Charles Bowen
to be honest it is full of cats, the problem is to find the cat interesting us…
Unsupervised Methods: • need little or none a-priori knowledge; • do not reproduce biases present in the
KB;• require more complex error evaluation
(through complex statistics);• are computationally intensive;• are not user friendly (… more an art than
a science; i.e. lot of experience required)
Machine Learning - Unsupervised
M. Brescia - Data Mining
Train SetAnalysis of results
ClusteringClusters
Machine Learning - Unsupervised
The World
M. Brescia - Data Mining
Train Set
Clustering
New Knowledge
Clusters Analysis of results
Analysis of results Analysis of results
Machine Learning - Unsupervised
The World
M. Brescia - Data Mining
main clustering rules: COMPETITIVE
9
La regola primaria è l’apprendimento competitivo (Competitive Learning)
Architettura a strati con neuroni completamente connessi tra loro (strati input e output).
Ogni neurone compete con gli altri, cercando di guadagnarsi il diritto di «rappresentare» unatipologia di pattern e inviando segnali inibitori ai neuroni limitrofi (strategia Winner Takes All)
Alla fine del processo di training auto-organizzante, lo strato output avrà una serie di regioniintorno ai neuroni vincenti (Best Matching Units) corrispondenti ai clusters individuati nei datiinput.
La rete così formata è capace di catturare le regolarità statistiche della sequenza di patternpresentati : Kohonen Self Organizing Maps (T. Kohonen, 1990)
Prima del training Strato di Input
Strato di outputVicinato BMU
BMU
Dopo il training
M. Brescia - Data Mining
main clustering rules: HEBBIAN
10
In 1949, Donald Hebb proposed one of the key ideas in biological learning, commonly knownas Hebb’s Law. Hebb’s Law states that if neuron i is near enough to excite neuron j andrepeatedly participates in its activation, the synaptic connection between these two neuronsis strengthened and neuron j becomes more sensitive to stimuli from neuron i.
Hebb’s Law can be represented in the form of two rules:
1. If two neurons on either side of a connection are activated synchronously, then theweight of that connection is increased.
2. If two neurons on either side of a connection are activated asynchronously, then theweight of that connection is decreased.
Hebb’s Law provides the basis for learning without a teacher. Learning here is a localphenomenon occurring without feedback from the environment.
i j
I n
p u
t
S i
g n
a l
s
O u
t p
u t
S i
g n
a l
s
M. Brescia - Data Mining
Hebbian rule
11
we can represent Hebb’s Law as follows:
where p is an arbitrary learning iteration, a is the learning rate parameter. This equationis referred to as the activity product rule
)()()( pxpypw ijij a
Hebbian learning implies that weights can only increase. To resolve this problem, we mightimpose a limit on the growth of synaptic weights. It can be done by introducing a non-linearforgetting factor into Hebb’s Law:
where is the forgetting factor.
Forgetting factor usually falls in the interval between 0 and 1, typically between 0.01 and0.1, to allow only a little “forgetting” while limiting the weight growth.
)()()()()( pwpypxpypw ijjijij
M. Brescia - Data Mining
Hebbian Learning algorithm
12
Step 1: Initialisation.
Set initial synaptic weights and thresholds to small random values, in an interval [0, 1 ].
Step 2:Activation.
Compute the neuron output at iteration p
where n is the number of neuron inputs, and j is the threshold value of neuron j.
j
n
iijij pwpxpy
1
)()()(
Step 3: Learning.
Update the weights in the network:
where wij(p) is the weight correction at iteration p.
The weight correction is determined by the generalized activity product rule:
Step 4: Iteration.
Increase iteration p by one, go back to Step 2.
)()()1( pwpwpw ijijij
)()()()()( pwpypxpypw ijjijij
M. Brescia - Data Mining
Summary: Competitive vs Hebbian
13
In Hebbian learning, several output neurons can be activated simultaneously,
In competitive learning, only a single output neuron is active at any time. Neurons competeamong themselves to be activated. The output neuron that wins the “competition” is calledthe winner-takes-all neuron.
Input
layer
x1
x2
Output
layer
y
y2
1
y3 i jI
n p
u t
S i
g n
a l
s
O u
t p
u t
S i
g n
a l
s
HebbianCompetitive
)()()()()( pwpypxpypw ijjijij
)(,0
)(,)()(
][
pj
pjpwxpw
j
jijiij
M. Brescia - Data Mining
Full Taxonomy of Clustering models
14
• Hierarchical Methods• Agglomerative Algorithms• Divisive Algorithms
• Partitioning Methods• Relocation Algorithms• Probabilistic Clustering• K-medoids Methods• K-means Methods• Density-Based Algorithms
• Density-Based Connectivity Clustering• Density Functions Clustering
• Grid-Based Methods• Methods Based on Co-Occurrence of Categorical Data• Clustering Algorithms Used in Machine Learning
• Artificial Neural Networks, Fuzzy and Hybrid Systems• Evolutionary Methods• Constraint-Based Clustering
• Algorithms For High Dimensional and Scalable Data• Subspace Clustering• Projection Techniques• Co-Clustering Techniques
brescia_clusteringSurvey_DAME-NA-PRE-0031.pdf
In the following we willshortly discuss among them…
M. Brescia - Data Mining
Metriche per clustering
15
𝑑𝑛𝑛 𝑘 =σ𝑖min
𝑗𝑥𝑖 − 𝑥𝑗
𝑁𝑘, 𝑑𝑖𝑠𝑡𝑎𝑛𝑧𝑎 𝑖𝑛𝑡𝑟𝑎 − 𝑐𝑙𝑢𝑠𝑡𝑒𝑟 𝑏𝑎𝑠𝑎𝑡𝑎 𝑠𝑢𝑙 𝑣𝑖𝑐𝑖𝑛𝑜 𝑝𝑖ù 𝑝𝑟𝑜𝑠𝑠𝑖𝑚𝑜
𝐷𝑠𝑙 𝑝, 𝑡 = min𝑖,𝑗
𝑥𝑖 − 𝑥𝑗 , 𝑑𝑖𝑠𝑡𝑎𝑛𝑧𝑎 𝑖𝑛𝑡𝑒𝑟 − 𝑐𝑙𝑢𝑠𝑡𝑒𝑟 𝑏𝑎𝑠𝑎𝑡𝑎 𝑠𝑢𝑙 𝑐𝑟𝑖𝑡𝑒𝑟𝑖𝑜 𝑠𝑖𝑛𝑔𝑙𝑒 − 𝑙𝑖𝑛𝑘𝑎𝑔𝑒
𝐷𝑐𝑙 𝑝, 𝑡 = max𝑖.𝑗
𝑥𝑖 − 𝑥𝑗 , 𝑑𝑖𝑠𝑡𝑎𝑛𝑧𝑎 𝑖𝑛𝑡𝑒𝑟 − 𝑐𝑙𝑢𝑠𝑡𝑒𝑟 𝑏𝑎𝑠𝑎𝑡𝑎 𝑠𝑢𝑙 𝑐𝑟𝑖𝑡𝑒𝑟𝑖𝑜 𝑐𝑜𝑚𝑝𝑙𝑒𝑡𝑒 − 𝑙𝑖𝑛𝑘𝑎𝑔𝑒
Siano dati: 𝐶𝑝, 𝐶𝑡 𝑔𝑒𝑛𝑒𝑟𝑖𝑐𝑖 𝑐𝑙𝑢𝑠𝑡𝑒𝑟
∙ 𝑛𝑜𝑟𝑚𝑎 𝐸𝑢𝑐𝑙𝑖𝑑𝑒𝑎𝑑𝑚 𝑘 𝑑𝑖𝑠𝑡𝑎𝑛𝑧𝑎 𝑖𝑛𝑡𝑟𝑎 − 𝑐𝑙𝑢𝑠𝑡𝑒𝑟 𝑏𝑎𝑠𝑎𝑡𝑎 𝑠𝑢 𝑢𝑛 𝑐𝑟𝑖𝑡𝑒𝑟𝑖𝑜 𝑚
𝐷𝑚 𝑝, 𝑡 𝑑𝑖𝑠𝑡𝑎𝑛𝑧𝑎 𝑖𝑛𝑡𝑒𝑟 − 𝑐𝑙𝑢𝑠𝑡𝑒𝑟 𝑏𝑎𝑠𝑎𝑡𝑎 𝑠𝑢 𝑢𝑛 𝑐𝑟𝑖𝑡𝑒𝑟𝑖𝑜 𝑚𝑁𝑝, 𝑁𝑡 𝑛𝑢𝑚𝑒𝑟𝑜 𝑑𝑖 𝑝𝑎𝑡𝑡𝑒𝑟𝑛 𝑑𝑒𝑙 𝑟𝑒𝑙𝑎𝑡𝑖𝑣𝑜 𝑐𝑙𝑢𝑠𝑡𝑒𝑟
𝐶𝐸𝑘 = ൗ1 𝑁𝑘
𝑥𝑖∈𝐶𝑘
𝑥𝑖 , 𝑐𝑒𝑛𝑡𝑟𝑜𝑖𝑑𝑒 𝑑𝑒𝑙 𝑐𝑙𝑢𝑠𝑡𝑒𝑟 𝑘
ቐ𝑑𝑐𝑒 𝑘 =
σ𝑖 𝑥𝑖−𝐶𝐸𝑘
𝑁𝑘, 𝑑𝑖𝑠𝑡𝑎𝑛𝑧𝑎 𝑖𝑛𝑡𝑟𝑎 − 𝑐𝑙𝑢𝑠𝑡𝑒𝑟 𝑏𝑎𝑠𝑎𝑡𝑎 𝑠𝑢𝑖 𝑐𝑒𝑛𝑡𝑟𝑜𝑖𝑑𝑖
𝐷𝑐𝑒 𝑝, 𝑡 = 𝐶𝐸𝑝 − 𝐶𝐸𝑡 , 𝑑𝑖𝑠𝑡𝑎𝑛𝑧𝑎 𝑖𝑛𝑡𝑒𝑟 − 𝑐𝑙𝑢𝑠𝑡𝑒𝑟 𝑏𝑎𝑠𝑎𝑡𝑎 𝑠𝑢𝑖 𝑐𝑒𝑛𝑡𝑟𝑜𝑖𝑑𝑖
𝑑𝑎𝑣 𝑘 =σ𝑖,𝑗 𝑖≠𝑗 𝑥𝑖 − 𝑥𝑗
𝑁𝑘 𝑁𝑘 − 1, 𝑑𝑖𝑠𝑡𝑎𝑛𝑧𝑎 𝑖𝑛𝑡𝑟𝑎 − 𝑐𝑙𝑢𝑠𝑡𝑒𝑟 𝑏𝑎𝑠𝑎𝑡𝑎 𝑠𝑢𝑙𝑙𝑎 𝑚𝑒𝑑𝑖𝑎
𝐷𝑎𝑣 𝑝, 𝑡 =σ𝑖,𝑗 𝑖≠𝑗 𝑥𝑖 − 𝑥𝑗
𝑁𝑝𝑁𝑡, 𝑑𝑖𝑠𝑡𝑎𝑛𝑧𝑎 𝑖𝑛𝑡𝑒𝑟 − 𝑐𝑙𝑢𝑠𝑡𝑒𝑟 𝑏𝑎𝑠𝑎𝑡𝑎 𝑠𝑢𝑙𝑙𝑎 𝑚𝑒𝑑𝑖𝑎
M. Brescia - Data Mining
Metriche per clustering
16
La selezione di uno di questo metodi dipende dal campo di applicazione. Molti di questiinfatti risultano inadeguati in talune situazioni.
Le distanze basate invece sulla media sono computazionalmente costose da calcolare sudataset di grandi dimensioni.
La distanza basata sul criterio del complete-linkage (o massima distanza euclidea tra duecluster, basata sui due oggetti dei rispettivi cluster più lontani tra loro), sebbene utilizzata inmolti algoritmi di tipo agglomerativo, richiede, per agire in maniera ottimale, cluster moltocompatti e ben separati, condizione che raramente è riscontrabile nei casi reali.
Le distanze basate sul vicino più prossimo e sul criterio del single-linkage (o minima distanzaeuclidea tra due cluster, basata sui due oggetti dei rispettivi cluster più vicini tra loro), sonoeccessivamente sensibili al rumore ed agli outliers. Anche un solo punto è infatti in grado diinfluenzare notevolmente il calcolo.
𝑑𝑛𝑛 𝑘 =σ𝑖min
𝑗𝑥𝑖 − 𝑥𝑗
𝑁𝑘, 𝑑𝑖𝑠𝑡𝑎𝑛𝑧𝑎 𝑖𝑛𝑡𝑟𝑎 − 𝑐𝑙𝑢𝑠𝑡𝑒𝑟 𝑏𝑎𝑠𝑎𝑡𝑎 𝑠𝑢𝑙 𝑣𝑖𝑐𝑖𝑛𝑜 𝑝𝑖ù 𝑝𝑟𝑜𝑠𝑠𝑖𝑚𝑜
𝐷𝑠𝑙 𝑝, 𝑡 = min𝑖,𝑗
𝑥𝑖 − 𝑥𝑗 , 𝑑𝑖𝑠𝑡𝑎𝑛𝑧𝑎 𝑖𝑛𝑡𝑒𝑟 − 𝑐𝑙𝑢𝑠𝑡𝑒𝑟 𝑏𝑎𝑠𝑎𝑡𝑎 𝑠𝑢𝑙 𝑐𝑟𝑖𝑡𝑒𝑟𝑖𝑜 𝑠𝑖𝑛𝑔𝑙𝑒 − 𝑙𝑖𝑛𝑘𝑎𝑔𝑒
𝐷𝑐𝑙 𝑝, 𝑡 = max𝑖.𝑗
𝑥𝑖 − 𝑥𝑗 , 𝑑𝑖𝑠𝑡𝑎𝑛𝑧𝑎 𝑖𝑛𝑡𝑒𝑟 − 𝑐𝑙𝑢𝑠𝑡𝑒𝑟 𝑏𝑎𝑠𝑎𝑡𝑎 𝑠𝑢𝑙 𝑐𝑟𝑖𝑡𝑒𝑟𝑖𝑜 𝑐𝑜𝑚𝑝𝑙𝑒𝑡𝑒 − 𝑙𝑖𝑛𝑘𝑎𝑔𝑒
M. Brescia - Data Mining
Distances for Clustering
M. Brescia - Data Mining 17
Distanza Euclidea favorisce Cluster circolari
Distanza di Mahalanobis favorisce Cluster iperellissoidali
µ è il vettore delle medie dei vettori x e S la matrice di covarianza. Se S è la matrice identità, ladistanza di Mahalanobis si riduce a quella euclidea.
Distanza geodetica definita come il percorso di minor lunghezza che unisce due nodi di ungrafo, permette di estendere la distanza euclidea su superfici curve.
Nell’ immagine è mostrata una classica situazioneche scaturisce dall’uso della distanza diMahalanobis. In termini di distanza Euclidea, B ènettamente più vicino al punto (x,y), mentre inveceè l’opposto considerando la sopraccitata distanza.
Il modo più semplice per calcolare la distanzageodetica è trovare l’angolo tra due punti p1 ep2, moltiplicandolo per la circonferenza dellasuperficie.angle = arccos(p1 * p2)G_distance = angle * π * radius
Main Clustering Taxonomy
18
HierarchicalBuild clusters
gradually (as they grow up)
PartitioningLearn clusters directly
RelocationTry to discover clusters by iteratively relocating points between subsets
Density-basedTry to discover dense connected
components of data, which are flexible in terms of their shape
Probabilistic, K-meansConcentrate on how well points fit into
their clusters and tend to buildclusters of proper convex shapes
M. Brescia - Data Mining
Hierarchical Clustering
19
Il clustering gerarchico consiste in una sequenza di partizionamenti organizzati in unastruttura di tipo gerarchico nota come dendogramma. Questo tipo di clustering ha ilvantaggio di non dover specificare a priori il numero di cluster, tuttavia la complessità èmaggiore: tipicamente O(N2).A seconda dell’approccio seguito, gli algoritmi di clustering gerarchico possono essereclassificati in:Algoritmi agglomerativi: seguono una strategia bottom-up, operando come segue:
Assegnazione di ogni pattern al proprio cluster;Calcolo delle distanze tra tutti i cluster;Unione dei due cluster più vicini tra loro;Torna al passo 2 finché non è rimasto un solo clustero il minimo numero possibile di clusters.
Algoritmi divisivi: seguono una strategia top-down che opera analogamente a quantodescritto precedentemente, sebbene si parta da un unico cluster contenente tutti i punti,per poi dividerli finché ogni cluster non sia composto dal minimo numero di punti.
Gli algoritmi di clustering gerarchico non forniscono unclustering unico. Infatti, a seconda di dove venga “tagliato”il dendogramma, verrà prodotto un clustering differente.
M. Brescia - Data Mining
Hierarchical Clustering
20
Sequenza di partizionamenti organizzati in una struttura di tipo gerarchico(bottom-up o top-down)
Agglomerative Divisive
Complessità O( N2 )
Non può incorporare conoscenza a priori su forma e grandezza dei cluster
Non è permesso un approccio fuzzy, poiché non contempla intersezione fraclusters allo stesso livello di gerarchia
Esempio di Clustering gerarchico con approccio top-down
Dendogrammarelativo
Esempio di Clustering gerarchico
M. Brescia - Data Mining
Partitional Clustering
21
Appartengono a questa categoria tutti quegli algoritmi che partizionano i dati, operandonel seguente modo:
1 Calcolo del numero di cluster;2 Inizializzazione dei centri dei cluster;3 Partizionamento dei dati in base ai centri calcolati ed alle relative distanze;4 Aggiornamento dei centri dei cluster;5 Se il partizionamento è cambiato e non è stato raggiunto un criterio d’arresto, torna alpunto 3.
Risulta evidente che in questo tipo di approccio il numero di cluster deve essere specificatoa priori o selezionato dinamicamente cercando di minimizzare una qualche misura divalidità.Una soluzione ampiamente adottata è per esempio quella di minimizzare la distanza intra-cluster e contemporaneamente massimizzare quella inter-cluster.
Tipicamente la complessità degli algoritmi appartenenti a tale categoria è O(N), dove N è ilnumero di pattern input.
M. Brescia - Data Mining
Partitional Clustering
22
Suddivisione dei dati in partizioni con riassegnazione dinamica dei punti nei
cluster
Complessità O(N)
Ipotesi preventiva del numero di cluster
1 : Distanza intra-Cluster ( Compattezza )2 : Distanza inter-Cluster
Minimizzazione delle misure di validità dei
Cluster
Constructive Clustering
1
2
M. Brescia - Data Mining
K-Means
M. Brescia - Data Mining 23
Tecnica di partitional clustering più semplice e nota
Generazione casuale di K Cluster
Individuazione centroide di ogni Cluster
Assegnazione punti al Cluster con centroide più
vicino
STOPAggiornamento di almeno un centroide
Nessun aggiornamento di centroidi
ALGORITMO
1. Generazione Casuale Cluster
2. Assegnazione punti ai Cluster
3. Individuazione nuovi centroidi
4. Aggiornamento centroidi
Crisp/Fuzzy Partitional Clustering
24
Crisp Clustering: appartenenza totale o nulla
Fuzzy Clustering: Appartenenza di un pattern ad uncluster può variare in maniera continua tra 0 e 1
Matrice di Appartenenza U = {µji}, µji ϵ [0,1]
Vincolo :
Generazione di Cluster Sovrapposti(ammessi nel caso fuzzy)
M. Brescia - Data Mining
Density-based Clustering
25
Density-based methods are basically less sensitive to outliers and can discover clusters ofirregular shapes. They usually work with low-dimensional data of numerical attributes, knownas spatial data. Spatial objects could include not only points, but also extended objects.
Raggruppamenti in basea parametri di densità
Complessità O( N2 )
M. Brescia - Data Mining
Clustering with Machine Learning
26
Machine Learning for Clustering
topology-basedNeural Gas
Evolutionary Methodsgenetic algorithms
ANN, Fuzzy, Hybrid systemsK-means, ART, SOM, VQ etc…
Hybrid (Soft Computing)LVQ, MLC, NG-CHL, RBF-NDR
M. Brescia - Data Mining
Neural Gas
M. Brescia - Data Mining - lezione 6 27
Neuroni come particelle gassose : non fissi all’interno di una struttura ma liberi e attratti dazone ad alta densità di dati.
Funzione di vicinato non statica
Aggiornamento dei pesi in base alla vicinanza al pattern in input
Intero indicante la posizione nella classifica di vicinanza al pattern in input
I valori numerici indicano la posizione del neurone nella classifica di vicinanza al pattern in input
La gradazione di rosso indica la quantità di aggiornamento, ovvero di avvicinamento dei neuroni al pattern in input
η and ρ are respectively,the learning rate and theneighborhood rate, bothfunction of time (iterations)
Self Organizing Maps
28
Strato di Input
Strato di KohonenVicinato BMU
BMUFunzione a Mexican Hat
Struttura classica dell’ apprendimento competitivo
Funzione di vicinato determina range aggiornamento pesi
Attivazione decresce secondo la funzione a Mexican Hat
Legge di Kohonen per l’aggiornamento dei pesi:
M. Brescia - Data Mining
SOM Algorithm
29
1. 𝒘𝒊𝒋(𝟎)
= valori di inizializzazione piccoli e casuali ordinati sulla griglia
2. Seleziona pattern di neuroni di input 𝒙𝒏 = 𝒙𝟏𝒏, 𝒙𝟐
𝒏, … , 𝒙𝒅𝒏
3. 𝐷 = (𝐷1, … , 𝐷𝑙) vettore delle distanze tra il pattern in input ed i pesi dei neuroni dove
𝑫𝒊 = 𝒅𝒊𝒔𝒕(𝒙𝒏, 𝒘𝒊𝒕) 𝒅𝒊𝒔𝒕 𝒙𝒏, 𝒘𝒋
𝒕 = σ𝒋=𝟏𝒅 (𝒙𝒋
𝒏 −𝒘𝒊𝒋𝒕)𝟐
4. Seleziona il BMU index tale che 𝐃𝐁𝐌𝐔𝐢𝐧𝐝𝐞𝐱 = 𝒎𝒊𝒏(𝑫)
5. Aggiorna i pesi nel modo seguente: 𝒘𝒊𝒋𝒕+𝟏
= 𝒘𝒊𝒋𝒕+ ∆𝒘𝒊𝒋
𝒕
6. Torna al passo 2 finché non è raggiunto un criterio di arresto
𝒘𝒊𝒋𝒕+𝟏
= 𝒘𝒊𝒋𝒕+ ∆𝒘𝒊𝒋
𝒕 𝚫𝒘𝒊𝒋
(𝒕)= 𝜼𝒕𝚲
𝐭 𝐢, 𝐁𝐌𝐔𝐢𝐧𝐝𝐞𝐱 (𝐱𝐣𝐧 −𝐰𝐢𝐣
𝐭 )
𝜂𝑡 è il fattore di rapidità dell’algoritmo. In genere questo valore può essere costante in t, oppure assumerevalori che decrescono progressivamente. In generale valori elevati permettono un apprendimento elevatoma al tempo stesso rischioso a causa dell’elevata dimensione che caratterizza il passo dell’apprendimento.
Lineare;
Esponenziale: 𝜂𝑡 = 𝜂0exp(−𝑡
𝜏) decresce nel tempo, basandosi anche su 𝜏, un parametro che non
varia durante l’esecuzione dell’algoritmo, in genere dipendente dal massimo numero di iterazioniche si vuole eseguire;
M. Brescia - Data Mining
SOM Algorithm
30
Λ(𝑡) è la funzione di vicinanza. Dati due indici dei pesi dei neuroni 𝑖1 e 𝑖2 la funzione restituisce il fattore
vicinanza 0 ≤ Λ t i1, i2 ≤ 1. Il suo compito è quello di simulare la diffusione dell’apprendimento aineuroni vicini del BMU, simulando il comportamento già descritto. Il modello non specifica rigide direttiveper la sua realizzazione e le soluzioni sono dunque molteplici, a seconda del tipo di aggiornamento delvicinato richiesto. Le varianti più note sono:
𝒘𝒊𝒋𝒕+𝟏
= 𝒘𝒊𝒋𝒕+ ∆𝒘𝒊𝒋
𝒕 𝚫𝒘𝒊𝒋
(𝒕)= 𝜼𝒕𝚲
𝐭 𝐢, 𝐁𝐌𝐔𝐢𝐧𝐝𝐞𝐱 (𝐱𝐣𝐧 −𝐰𝐢𝐣
𝐭 )
Bubble: la funzione restituisce 1 o 0 a seconda se ci si trovi entro il raggio del BMU:
𝚲 𝒕 𝒊𝟏, 𝒊𝟐 = ቊ𝟏, 𝒊𝒇 𝒅𝒈𝒓𝒊𝒅 𝒊𝟏, 𝒊𝟐 < 𝒓
𝟎, 𝒆𝒍𝒔𝒆con 𝒅𝒈𝒓𝒊𝒅(𝒊𝟏, 𝒊𝟐) = distanza in step lungo la griglia;
Gaussian: la funzione restituisce valori compresi tra 0 e 1 che si distribuiscono intorno al BMU come unacomune gaussiana. Nel caso venga usata questa tipologia di soluzione, la funzione necessita di ulterioriparametri per la modellazione della forma della gaussiana. In tal caso potremmo calcolare:
𝚲 𝒕 𝒊𝟏, 𝒊𝟐 = 𝐞𝐱𝐩 −𝒅𝒈𝒓𝒊𝒅 𝒊𝟏,𝒊𝟐
𝟐𝝈𝒕𝟐 con 𝝈𝒕 = 𝝈𝟎𝐞𝐱𝐩(−
𝒕
𝝉) , funzione decrescente nel tempo con
andamento esponenziale. Come 𝜏, anche 𝜎0 è un parametro costante;
Cutted-Gaussian: un mix fra i due precedenti che, entro un certo raggio, restituisce un valore gaussiano;ma al di fuori del raggio restituisce valore zero.
M. Brescia - Data Mining
Example
31
Bubble
Gaussian
M. Brescia - Data Mining
Example: initial random weights
32
-0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1-1-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
W(2
,j)
W(1,j)
M. Brescia - Data Mining
Example: after 100 iterations
33
-0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8-1-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
1
W(2
,j)
W(1,j)
M. Brescia - Data Mining
Example: after 1000 iterations
34
-0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8-1-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
1
W(2
,j)
W(1,j)
M. Brescia - Data Mining
Example: after 10.000 iterations
35
-0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8-1-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
1
W(2
,j)
W(1,j)
M. Brescia - Data Mining
Example of SOM algorithm
36M. Brescia - Data Mining
Example of SOM algorithm
M. Brescia - Data Mining - lezione 5 37M. Brescia - Data Mining
SOM visualization: U-Matrix
38
La U-Matrix (Unified Distance Matrix) è un metodo per la valutazione e l’interpretazione diuna SOM. Durante l’addestramento della rete i pesi dei neuroni sono calcolati in maniera taleche elementi vicini tra loro sulla mappa siano anche vicini nello spazio dei pesi. In questomodo lo strato di Kohonen è in grado di rappresentare, rispettando la topologia, dati multi-dimensionali su una mappa di due o tre dimensioni.Siano
Ad ogni nodo dello strato di Kohonen verrà assegnato un valore secondo la seguenteformula:
𝑼𝒉𝒆𝒊𝒈𝒉𝒕 𝒏 = 𝒎∈𝑵𝑵(𝒏)
𝒘 𝒏 ,𝒘(𝒎)
𝑛, 𝑛𝑒𝑢𝑟𝑜𝑛𝑒 𝑑𝑒𝑙𝑙𝑎 𝑚𝑎𝑝𝑝𝑎𝑁𝑁 𝑛 , 𝑖𝑛𝑠𝑖𝑒𝑚𝑒 𝑑𝑒𝑖 𝑛𝑜𝑑𝑖 𝑎𝑑𝑖𝑎𝑐𝑒𝑛𝑡𝑖 𝑎𝑑 𝑛 𝑠𝑢𝑙𝑙𝑎 𝑚𝑎𝑝𝑝𝑎𝑤 𝑛 , 𝑣𝑒𝑡𝑡𝑜𝑟𝑒 𝑑𝑒𝑖 𝑝𝑒𝑠𝑖 𝑎𝑠𝑠𝑜𝑐𝑖𝑎𝑡𝑜 𝑎𝑙 𝑛𝑒𝑢𝑟𝑜𝑛𝑒 𝑛𝑤 𝑛 ,𝑤(𝑚) , 𝑑𝑖𝑠𝑡𝑎𝑛𝑧𝑎 𝑒𝑢𝑐𝑙𝑖𝑑𝑒𝑎 𝑡𝑟𝑎 𝑖 𝑣𝑒𝑡𝑡𝑜𝑟𝑖 𝑑𝑒𝑖 𝑝𝑒𝑠𝑖 𝑑𝑒𝑖 𝑛𝑒𝑢𝑟𝑜𝑛𝑖 𝑛 𝑒𝑑 𝑚𝑈ℎ𝑒𝑖𝑔ℎ𝑡(𝑛), 𝑣𝑎𝑙𝑜𝑟𝑒 (𝑝𝑒𝑠𝑜) 𝑎𝑠𝑠𝑜𝑐𝑖𝑎𝑡𝑜 𝑎𝑙 𝑛𝑜𝑑𝑜 𝑛
M. Brescia - Data Mining
SOM visualization: U-Matrix
39
Il valore così calcolato diventa identificativo della distanza di un nodo da tutti i suoi vicini piùprossimi ed è visualizzabile utilizzando una heat map in cui colori chiari rappresentanoneuroni vicini tra loro nello spazio dei pesi, viceversa colori scuri rappresentano neuronilontani tra loro.
Tipicamente si usa rappresentare la mappa con una scala di grigi. Per aumentareulteriormente il grado di interpretabilità della U-Matrix si sovrappone ad ogni nodo BMU diqualche pattern un colore che ne identifichi il cluster di appartenenza. Ovviamente, i nodi,su cui non è sovrapposto alcun quadratino colorato, non sono mai risultati BMU di qualchepattern input.
M. Brescia - Data Mining
Indici di qualità della SOM
40
Per valutare la qualità di una mappa ottenuta come primo stadio di un processo diclustering, ci si può domandare:
i. Qual è il grado di continuità della mappa topologica?ii. Qual è la risoluzione della mappa?iii. La topologia della mappa riflette la probabilità di distribuzione dello spazio dei dati?
Per quanto concerne il terzo punto, in letteratura sono presenti diversi esempi di SOM construttura incrementale in grado di preservare la topologia dello spazio dei dati (vedremo ilmodello E-SOM).
La quantificazione delle prime due proprietà può essere invece ottenuta tramite il calcolodell’errore di quantizzazione e dell’errore topografico.
I risultati di un clustering possono anche essere valutati tramite l’utilizzo dell’indice statisticodi Davies-Bouldin (DB), nonché di indici di valutazione facilmente derivabili avendo una basedi conoscenza a priori sul dataset, rispettivamente Indice di Accuratezza (ICA) e Completezza(ICC) di clustering
M. Brescia - Data Mining
Errore di quantizzazione
41M. Brescia - Data Mining
Premettiamo che la misura di quantità vettoriali d-dimensionali richiede l’introduzione diuna versione adattata della distanza euclidea fra singoli valori scalari.Nel caso di k punti d-dimensionali, la distanza euclidea viene di solito valutata rispetto ad uncentroide d-dimensionale:
𝜇 𝑥1, 𝑥2, … , 𝑥𝑘 =σ𝑖=1𝑘 𝑥1𝑖𝑘
,σ𝑖=1𝑘 𝑥2𝑖𝑘
, … ,σ𝑖=1𝑘 𝑥𝑑𝑖𝑘
Ad esempio, il centroide 2D di k=3 punti (4,7), (2, 3), (6, 8) è: 𝜇 =4+2+6
3,7+3+8
3= 4, 6
Generalizzando, l’idea del clustering è cercare P vettori µj per j=1…P. Una volta trovati, perclassificare un punto x, si dovrà trovare il vettore µj più vicino a x e, in tal caso, potremoaffermare che x appartiene al cluster j.
Ora, supponiamo che il dataset contenga N campioni xn, n=1…N e che la SOM abbia trovatoP BMU, BMUj, j=1…P.
L’errore di quantizzazione QE è dunque𝑄𝐸 =
1
2𝑁
𝑗=1
𝑃
𝑛∈𝐵𝑀𝑈𝑗
𝑥𝑛 − 𝐵𝑀𝑈𝑗2
L’errore di quantizzazione viene utilizzato per calcolare la similarità tra i pattern assegnati almedesimo BMU. Minimizzare QE significa trovare la minima distorsione o perditad’informazione ottenuta sostituendo i campioni del dataset con i loro rispettivi BMU.
Errore topografico
42
L’errore topografico viene utilizzato per calcolare la dissimilarità tra i pattern assegnati aBMU differenti.
𝑻𝑬 =𝟏
𝑵σ𝒊𝑵𝒖 𝒘𝒊
dove
𝑁 = 𝑛𝑢𝑚𝑒𝑟𝑜 𝑑𝑖 𝑝𝑎𝑡𝑡𝑒𝑟𝑛 𝑐ℎ𝑒 𝑐𝑜𝑚𝑝𝑜𝑛𝑔𝑜𝑛𝑜 𝑖𝑙 𝑑𝑎𝑡𝑎𝑠𝑒𝑡
𝑢 𝑥𝑖 = ቊ1, 𝑠𝑒 𝑖𝑙 𝑝𝑟𝑖𝑚𝑜 𝑒 𝑖𝑙 𝑠𝑒𝑐𝑜𝑛𝑑𝑜 𝐵𝑀𝑈 𝑑𝑒𝑙𝑙′𝑖𝑒𝑠𝑖𝑚𝑜 𝑝𝑎𝑡𝑡𝑒𝑟𝑛 𝑛𝑜𝑛 𝑠𝑜𝑛𝑜 𝑎𝑑𝑖𝑎𝑐𝑒𝑛𝑡𝑖
0, 𝑎𝑙𝑡𝑟𝑖𝑚𝑒𝑛𝑡𝑖
La formula corrisponde quindi alla media del numero di volte in cui, per uno stessopattern, primo e secondo BMU non sono adiacenti sulla griglia dello strato di Kohonen.
Per primo e secondo BMU si intende in termini di vicinato (vettore dei pesi) rispetto alpattern di riferimento nella mappa di Kohonen.
M. Brescia - Data Mining
Indice di Davies-Bouldin
43
Tale indice misura il rapporto tra la distribuzione intra-cluster e le distanze inter-cluster,misurate a partire dai centroidi.
La distribuzione interna del cluster Ci può essere espressa come segue:
𝑺𝒊,𝒒 =𝟏
𝑪𝒊(σ𝒙𝒊∈𝑪𝒊
𝒙𝒊 − 𝒛 𝒒 )𝟏/𝒒 , 𝒊 = 𝟏…𝑲
dove 𝐶𝑖 denota il numero di vettori in input assegnati al suddetto cluster; xi e zrappresentano rispettivamente un vettore di input del 𝑖𝑒𝑠𝑖𝑚𝑜 cluster e il centroide del clusterstesso; q è un valore assoluto; K rappresenta il numero totale di cluster.Successivamente la distanza tra due cluster Ci e Cj può essere scritta come:
𝒅𝒊𝒋,𝒕 = 𝒛𝒊 − 𝒛𝒋 𝒕= σ𝒔=𝟏
𝑫 𝒛𝒔𝒊 − 𝒛𝒔𝒋𝒕 𝟏/𝒕
dove zi e zj rappresentano rispettivamente i centroidi del 𝑖𝑒𝑠𝑖𝑚𝑜 e 𝑗𝑒𝑠𝑖𝑚𝑜 cluster; zsi e zsj
denotano il valore assoluto della differenza tra i vettori zi e zj , calcolata sulla dimensione s; Dè il numero di dimensioni dei vettori in input; t è un valore assoluto.
L’indice di Davies-Bouldin (DB) può quindi essere espresso dalla seguente equazione:
𝑫𝑩 =𝟏
𝒌σ𝒊=𝟏𝑲 𝐦𝐚𝐱
𝒋,𝒋≠𝒊
𝑺𝒊,𝒒+𝑺𝒋,𝒒
𝒅𝒊𝒋,𝒕
Dalla formula risulta evidente che ad un decremento del suddetto indice corrisponde unclustering migliore.
M. Brescia - Data Mining
Indici di Accuratezza e completezza
44
Si assuma di avere a disposizione le seguenti quantità:
𝑁𝐶𝑡 = 𝑛𝑢𝑚𝑒𝑟𝑜 𝑑𝑖 𝑐𝑙𝑢𝑠𝑡𝑒𝑟 𝑡𝑒𝑜𝑟𝑖𝑐𝑖𝑁𝐶𝑐 = 𝑛𝑢𝑚𝑒𝑟𝑜 𝑑𝑖 𝑐𝑙𝑢𝑠𝑡𝑒𝑟 𝑐𝑎𝑙𝑐𝑜𝑙𝑎𝑡𝑖𝑁𝐶𝑑 = 𝑛𝑢𝑚𝑒𝑟𝑜 𝑑𝑖 𝑐𝑙𝑢𝑠𝑡𝑒𝑟 𝑑𝑖𝑠𝑔𝑖𝑢𝑛𝑡𝑖
In particolare, definiremo due cluster teorici disgiunti se l’intersezione delle label attribuitedal clustering (cioè calcolate) nei due cluster risulta l’insieme vuoto.
Indice di Accuratezza di Clustering (ICA o Index of Clustering Accuracy):
𝑰𝑪𝑨 =𝑵𝑪𝒄−𝑵𝑪𝒕
𝑵𝑪𝒄+𝑵𝑪𝒕(best se ICA = 0)
Indice di Completezza di Clustering (ICC o Index of Clustering Completeness):
𝑰𝑪𝑪 = 𝟏 −𝑵𝑪𝒅
𝑵𝑪𝒕(best se ICC = 0)
M. Brescia - Data Mining
Indici di Accuratezza e completezza
45
Tali indici devono permettere di valutare il clustering in presenza di outliers, cioè di oggettipeculiari nello spazio dei parametri, così come in dati distribuiti in modo non lineare, per iquali gruppi di dati distanti, ma appartenenti alla stessa categoria, possono essereerroneamente attribuiti a categorie distinte (cluster disgiunti).
Naturalmente, per costruzione, il calcolo di tali indici presuppone che l’esito del training diun modello su un dataset possa essere confrontato con una base di conoscenza a priori sulnumero e attribuzione dei cluster teorici per il dataset.
Come si evince dalle equazioni precedenti, i due indici restituiscono valori compresi tra 0 e 1(ICA in [0, 1[ e ICC in [0, 1]).
La qualità di un esperimento di clustering ha un’elevata accuratezza quando l’indice ICA èpari a zero. In tal caso infatti il numero di cluster calcolati sul dataset corrisponde al numerodi cluster attesi. Quanto più il numero di cluster calcolati diverge, in più o in meno, dalnumero di cluster attesi, tanto più vicino a 1 tenderà l’indice ICA.
L’elevata completezza di clustering, ossia la congruenza tra numero di cluster attesi enumero di cluster disgiunti, è garantita quando l’indice ICC è pari a zero.
M. Brescia - Data Mining
Riepilogo indici di qualità clustering
46
Indice di Davies-Bouldin
Rapporto tra distanza intra-cluster ed inter-cluster
Errore di quantizzazione
Similarità degli input assegnati al medesimo BMU
Errore topografico
Dissimilarità degli input assegnati a BMU differenti
Indice di accuratezzaRapporto tra cluster attesi ed individuati
Indice di completezzaDisgiunzione dei cluster
Distanza intra-clusterDistanza inter-cluster
M. Brescia - Data Mining
𝑸𝑬 =𝟏
𝟐𝑵
𝒋=𝟏
𝑷
𝒏∈𝑩𝑴𝑼𝒋
𝒙𝒏 − 𝑩𝑴𝑼𝒋𝟐