Loading AI tools
De Wikipedia, la enciclopedia libre
k-medoids es un algoritmo de agrupamiento (del inglés clustering) relacionado con los algoritmos k-means y medoidshift. Tanto el k-medoids como el k-means son algoritmos que trabajan con particiones (dividiendo el conjunto de datos en grupos) y ambos intentan minimizar la distancia entre puntos que se añadirían a un grupo y otro punto designado como el centro de ese grupo. En contraste con el algoritmo k-means, k-medoids escoge datapoints como centros y trabaja con una métrica arbitraria de distancias entre datapoints en vez de usar la norma . En 1987 se propuso este método para el trabajo con la norma y otras distancias.
K-medoid es una técnica clásica de particionado de grupos que divide los datos conformados por n objetos en k grupos (con k conocido de antemano).
Es más robusto ante el ruido y a partes aisladas que k-means porque minimiza una suma de disimilaridades (entre pares de puntos) en vez de una suma de distancias euclidianas cuadradas.
Un medoid puede ser definido como el objeto de un grupo cuya disimilaridad media a todos los objetos en el grupo es mínima. Es el punto ubicado más hacia el centro en todo el grupo.
La aplicación práctica más común de k-medoids es el algoritmo Partición Alrededor de Medoids (PAM). PAM utiliza una búsqueda golosa que puede no encontrar la solución óptima, pero es más rápido que la búsqueda exhaustiva.Trabaja como sigue:
Otros algoritmos han sido sugeridos en la literatura, incluyendo el siguiente método de Iteración Voronoi:
Agrupar el siguiente conjunto de datos de diez objetos en dos grupos (k = 2).
Considera el siguiente conjunto de datos:
X1 | 2 | 6 |
X2 | 3 | 4 |
X3 | 3 | 8 |
X4 | 4 | 7 |
X5 | 6 | 2 |
X6 | 6 | 4 |
X7 | 7 | 3 |
X8 | 7 | 4 |
X9 | 8 | 5 |
X10 | 7 | 6 |
Inicializar k centros.
Asumir x2 y x8 está marcados como medoids, así que los centros son c1 = (3,4) y c2 = (7,4).
Calcular distancias a cada centro para asociar cada objeto a su medoid más cercano. El costo está calculado utilizando distancia de Manhattan. Costos al medoid más cercano están mostrados en negrita en la tabla.
Costo (distancia) a c1 | |||||
i | c1 | Objetos (Xi) | Costo (distancia) | ||
1 | 3 | 4 | 2 | 6 | 3 |
3 | 3 | 4 | 3 | 8 | 4 |
4 | 3 | 4 | 4 | 7 | 4 |
5 | 3 | 4 | 6 | 2 | 5 |
6 | 3 | 4 | 6 | 4 | 3 |
7 | 3 | 4 | 7 | 3 | 5 |
9 | 3 | 4 | 8 | 5 | 6 |
10 | 3 | 4 | 7 | 6 | 6 |
Costo (distancia) a c2 | |||||
i | c2 | Objetos (Xi) | Costo (distancia) | ||
1 | 7 | 4 | 2 | 6 | 7 |
3 | 7 | 4 | 3 | 8 | 8 |
4 | 7 | 4 | 4 | 7 | 6 |
5 | 7 | 4 | 6 | 2 | 3 |
6 | 7 | 4 | 6 | 4 | 1 |
7 | 7 | 4 | 7 | 3 | 1 |
9 | 7 | 4 | 8 | 5 | 2 |
10 | 7 | 4 | 7 | 6 | 2 |
Entonces los grupos serían:
Cluster1 = {(3,4)(2,6)(3,8)(4,7)}
Cluster2 = {(7,4)(6,2)(6,4)(7,3)(8,5)(7,6)}
Dado que los puntos (2,6) (3,8) y (4,7) son más cercanos a c1, por ello forman un grupo, mientras que los demás puntos forman otro grupo.
Así que el costo total implicado es 20.
Donde el costo entre cualesquier dos puntos se ha calculado utilizando la fórmula:
donde x es cualquier objeto, c es el medoid, y d es la dimensión del objeto, en este caso 2.
El costo total es la suma de los costos de los objetos a su medoid en el grupo, siendo:
Selecciona uno de los no medoids O'.
Asumimos O′ = (7,3).
Ahora los medoids son c1(3,4) y O′(7,3).
Si c1 y O′ son nuevo medoids, calcular el coste total implicado.
Utilizando la fórmula del paso 1.
i | c1 | Objetos (Xi) | Costo (distancia) | ||
1 | 3 | 4 | 2 | 6 | 3 |
3 | 3 | 4 | 3 | 8 | 4 |
4 | 3 | 4 | 4 | 7 | 4 |
5 | 3 | 4 | 6 | 2 | 5 |
6 | 3 | 4 | 6 | 4 | 3 |
8 | 3 | 4 | 7 | 4 | 4 |
9 | 3 | 4 | 8 | 5 | 6 |
10 | 3 | 4 | 7 | 6 | 6 |
i | O′ | Objetos (Xi) | Costo (distancia) | ||
1 | 7 | 3 | 2 | 6 | 8 |
3 | 7 | 3 | 3 | 8 | 9 |
4 | 7 | 3 | 4 | 7 | 7 |
5 | 7 | 3 | 6 | 2 | 2 |
6 | 7 | 3 | 6 | 4 | 2 |
8 | 7 | 3 | 7 | 4 | 1 |
9 | 7 | 3 | 8 | 5 | 3 |
10 | 7 | 3 | 7 | 6 | 3 |
Siendo el costo del intercambio de medoids de c2 a O′:
De manera que cambiar a O′ sería una idea mala, así que la elección anterior estaba bien. Así que probamos con otros no-medoids y encontrados que nuestra primera elección era la mejor. Así que la configuración no cambia y el algoritmo termina aquí (ya que no hay ningún cambio en los medoids).
Puede pasar que algunos puntos de datos pueden cambiar de un grupo a otro en dependencia de su cercanía a los medoids.
En algunas situaciones estándares, k-medoids demuestra rendimiento mejor que k-means. Un ejemplo se presenta en la Fig. 2. La parte más costosa del algoritmo es el cálculo de las distancias entre los puntos u objetos. Si fuera aplicable un preprocesamiento cuadrático y el almacenamiento, la matriz de distancias puede ser precalculada para conseguir una mayor rapidez. Existen ejemplos, donde los autores también introducen una heurística para escoger los k medoids iniciales.[2]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.