K-means: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
+Voci correlate |
m Bot: Fix tag <math> |
||
Riga 7:
==Descrizione formale==
Dati N oggetti con ''i'' attributi, modellizzati come vettori in uno spazio vettoriale i-dimensionale, definiamo <math>X={X_1,X_2,\ldots,X_N}
*<math>\bigcup_1^{K} P_i = X</math> : l'unione di tutti i cluster deve contenere tutti gli oggetti di partenza;
*<math>\bigcap_1^{K} P_i = \varnothing</math> : ogni oggetto può appartenere ad un solo cluster;
*<math>\varnothing \subset P_i \subset X</math> : almeno un oggetto deve appartenere ad un cluster e nessun cluster può contenere tutti gli oggetti.
Ovviamente deve valere anche che <math>1 < K < N
Una partizione viene rappresentata mediante una matrice <math>U \in \mathbb{N}^{K \times N}
Indichiamo quindi con <math>C={C_1,C_2,\ldots,C_K}
A questo punto definiamo la funzione obiettivo come:
::<math>V(U,C) = \sum_{i=1}^{K} \sum_{X_j \in P_i} ||X_j - C_i ||^2 </math>
e di questa calcoliamo il minimo seguendo la procedura iterativa vista sopra:
# Genera <math>U_v
# Calcola <math>U_n
# Calcola <math>C_n
# Se l'algoritmo converge ci si ferma, altrimenti <math>U_v = U_n , C_v=C_n
Tipici criteri di convergenza sono i seguenti:
|