¿Que es el Clustering?


El Clustering es una tarea que consiste en agrupar un conjunto de objetos (no etiquetados) en subconjuntos de objetos llamados Clusters. Cada Cluster está formado por una colección de objetos que son similares (o se consideran similares) entre sí, pero que son distintos respecto a los objetos de otros Clusters.

Cluster: Conjunto de objetos que son similares entre sí.
Clustering: Tarea de dividir un conjunto de objetos en subconjuntos de objetos (Clusters) similares entre sí.

En el campo del ML, el Clustering se enmarca dentro del aprendizaje no supervisado; es decir, que para esta técnica solo disponemos de un conjunto de datos de entrada, sobre los que debemos obtener información sobre la estructura del dominio de salida, que es una información de la cual no se dispone.

Es importante no confundir el Clustering con los problemas de Clasificación. Las técnicas de Clasificación se enmarcan dentro del aprendizaje supervisado porque para cada dato tenemos información sobre sus variables de entrada y de salida; es decir, cada dato u objeto esta etiquetado. Sin embargo para aquellos casos en los que no disponemos de la salida de cada dato y queramos agrupar estos objetos en grupos similares, debemos de aplicar alguna de las técnicas de Clustering para saber la procedencia de estos datos.

Supongamos el siguiente caso de ejemplo: Tenemos un data set (DS1) con el color de pelo de un conjunto de personas. Como entrada tenemos el color en RGB del pelo de cada persona y como salida un conjunto finito de etiquetas {Moreno, Rubio, Castaño, Canoso}. Por otro lado tenemos otro data set (DS2) con el color del pelo en RBG de otro conjunto de personas, pero en este caso no tenemos como salida una etiqueta que nos diga si el individuo es Moreno, Rubio, Castaño o Canoso. Para ambos casos queremos generar un modelo que nos permita etiquetar a nuevas personas en Morenos, Rubios, etc. ¿Cómo abordaríamos este problema para el DS1 y DS2?.

  • DS1: El primer caso se trata de un problema de clasificación, ya que para cada individuo tenemos su color de pelo en RGB y su clasificación correspondiente {Moreno, Rubio, Castaño, Canoso}. Para este caso debemos de obtener una función (o hipótesis) en base a los datos de entrenamiento para que a cada nueva entrada (color del pelo en RGB) lo etiquete de forma correcta:

f(x=color)={Moreno,Rubio,Castaño,Canoso}

  • DS2: El segundo caso se trata de un ejemplo claro de Clusterización, ya que tenemos que obtener información sobre su estructura o dominio de salida en base a los datos del color de pelo que tenemos en el data set. Para ello debemos de utilizar alguna de las técnicas de Clustering e indicarle que nos agrupe todos los datos en 4 Clusters. Una vez hecha esta Clusterización podremos identificar que individuos son Morenos, Rubios, Castaños o Canosos viendo solamente el valor medio (o Centroide) de cada Cluster. Un ejemplo de Clusterización de este data set visto en 2D sería el siguiente:

Ejemplo_clustering

En este ejemplo podemos apreciar como nos divide los individuos en 4 grupos, en función de su color de pelo y como podemos ser capaces posteriormente de identificar y etiquetar a cada grupo de personas.

Este ejemplo propuesto, es un ejemplo muy sencillo y didáctico para ver la diferencia entre las tareas de Clasificación y de Clustering; para dejar muy claro, que la primera se enmarca dentro del aprendizaje supervisado y la segunda en el aprendizaje no supervisado. Para los casos prácticos en los que hay que aplicar técnicas de Clustering no solemos tener información a priori sobre los datos a analizar ni información sobre los modelos que han generado estos datos. En el ejemplo propuesto hemos asumido que solo tendríamos personas con estos cuatro tipos de pelo y no sabemos si habría personas con el pelo teñido de color azul, verde, etc. lo que supondría haber realizado una tarea de Clustering poco acertada ya que posiblemente agruparía en Clusters diferentes a personas consideradas Morenas o asumiría que las personas Castañas y Rubias pertenecerían al mismo Cluster.

         En resumen, las técnicas de Clustering son apropiadas para los casos de aprendizaje no supervisado en los que se quiere agrupar y tener conocimiento a un alto nivel de cómo se han generado los datos y como están organizados, sin tener conocimiento a priori de estos.

Comparte esta entrada en:
Safe Creative #1401310112503
¿Que es el Clustering? por "www.jarroba.com" esta bajo una licencia Creative Commons
Reconocimiento-NoComercial-CompartirIgual 3.0 Unported License.
Creado a partir de la obra en www.jarroba.com

2 thoughts on “¿Que es el Clustering?”

  1. La diferencia entre clasificación y agrupamiento está, como dices, en el hecho de que en la clasificación conocemos la respuesta correcta. Por tanto se convierte en aprendizaje supervisado. Así, las técnicas de machine learning de clasificación pueden aprender qué atributos son relevantes.
    En el caso del clustering, como no hay ninguna respuesta correcta, la responsabilidad de elegir atributos que tengan sentido para agruparlos recae sobre nosotros.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies

ACEPTAR
Aviso de cookies