Los algoritmos jerárquicos se basan en la idea central de que los objetos están más relacionados con objetos cercanos que con objetos más alejados. Estos algoritmos conectan objetos para formar clústeres en función de su distancia. Hay dos enfoques para abordar este problema de agrupamiento:
- Aglomerativo (de abajo arriba): cada elemento comienza en su propio clúster. Iterativamente, los clústeres más similares se fusionan para finalizar con un gran clúster que contiene todos los elementos.
- Divisivo (de arriba hacia abajo): todos los elementos pertenecen al mismo grupo. Este clúster se divide iterativamente hasta que todos los clústeres tengan solo un elemento.
División de los algoritmos jerárquicos
La fusión o división de clústeres se realiza con base en diferentes métodos y algoritmos jerárquicos para medir estas similitudes de clústeres. Entre esas opciones están:
- Single – linkage (SLCA): la distancia entre dos clústeres es la distancia mínima que existe entre dos elementos que pertenecen a diferentes clústeres.
El single – linkage suele ser poco estable. No es muy buena opción, porque a lo mejor tienes ruido entre clústeres y/o las fronteras son muy difusas, de modo que este modelo puede hacer que, por puro azar, un punto esté más cerca o más lejos de otro.
Entonces, se suele presentar más ruido cuando se presentan este tipo de algoritmos jerárquicos.
- Complete – linkage (CLCA): la distancia entre dos clústeres es la distancia máxima que existe entre dos elementos que pertenecen a diferentes clústeres.
Por el contrario, entre los algoritmos jerárquicos, este método suele ser más estable, más robusto. No obstante, presenta un problema y es que suele ser bastante pesimista.
- Average – linkage (unweighted pair group method with arithmetic mean, UPGMA): la distancia entre dos clústeres es la distancia promedio que existe desde cualquier elemento en el primer clúster a cualquier elemento en el segundo clúster.
Si no te decides entre el Complete – linkage y el single – linkage, esta es la opción adecuada para ti, ya que aquí no tendrás que escoger uno u otro, porque este método es una mezcla de los dos anteriores.
De este modo, puedes medir la media de la distancia de todos los grupos, que vendría siendo la media de las distancias de todos con todos. En este caso, sería la media de las distancias entre los puntos naranjas y los azules, y viceversa.
- Centroid – linkage: (Unweighted pair group method with centroid, UPGMC): la distancia entre dos clústeres es la distancia que existe entre los centroides de cada clúster.
De forma intuitiva puede parecer que este algoritmo es igual al de la media, sin embargo, no son iguales. En este último calculas un solo centroide en cada clúster y con esto mides las distancias; esto te da como resultado la media.
Estos son, pues, cuatro ejemplos que tenemos para calcular la distancia entre clústeres o grupos, es decir, cuatro algoritmos jerárquicos.
Distancias entre clústeres
La distancia entre elementos es un paso previo a esta actividad, por ello, vamos a recordar algunas generalidades. Antes de poder agrupar los elementos por su similitud y formar algoritmos jerárquicos, tenemos que definir la similitud. Para ello vamos a crear una media de la diferencia, de cómo de separados están dos elementos del grupo.
Algunos ejemplos de distancia son:
- Distancia euclídea:
- Distancia Manhattan:
- Distancia Minkowsky:
Distancia con textos
- Distancia Hamming: la distancia de Hamming entre dos cadenas de igual longitud es el número de posiciones en las cuales los símbolos son diferentes.
- Distancia Levenshtein: la distancia Levenshtein entre dos palabras es el mínimo número de ediciones de un solo carácter (inserción, eliminación o sustitución) para que las dos palabras sean iguales.
Estas se refieren a las distancias entre grupos. Si un grupo tiene 2, 3 o más elementos, se debe realizar el clustering por medio de la división de los algoritmos jerárquicos. Este último método es más versátil, ya que se deja a decisión del usuario las diferentes caracterizaciones y agrupamientos.
Con este artículo te habrá quedado claro que son el clustering y los algoritmos jerárquicos. Para continuar formándote, échale un ojo a nuestro Bootcamp Big Data, la formación con la que podrás pulir todos tus conocimientos y adquirir los que te falten para incursionar en el mercado laboral más prolífico del momento. Recuerda que estarás acompañado de los mejores profesionales que te guiarán en tu camino al éxito y te ayudarán a convertirte en el mejor profesional. ¡Solicita ya más información!