#9 Hay vida mas allá de la clasificaciones.

  • Autor de la entrada:
En este momento estás viendo #9 Hay vida mas allá de la clasificaciones.
Imagen de Freer Law de Getty Images en Canva

Tiempo estimado de lectura: 9 minutos.

¡Buenos días y buenos datos!

Como dice el título, no todo en este mundo se reduce a clasificar cosas aunque tengo que reconocer que, por supervivencia, mi mente ordenada tiende a poner etiquetas a todo lo que conoce para simplificar mi día a día. Esto me permite tomar decisiones de la manera más automática posible porque si tuviera que estar redefiniendo las mismas cosas todos los días, no tendría tiempo para probar otras nuevas y qué aburrido sería esto ¿no?.

El caos es orden aún por descifrar

José Saramago

Es en los temas nuevos donde dejo espacio a la improvisación, a vivir durante un tiempo en el «caos» de aquello a lo que te enfrentas por primera vez, aunque con un orden interno que con tiempo sé que llegaré a entender y acabará teniendo su categoría y su clasificación.

Para mí es en esta segunda categoría donde estarían los algoritmos de los que voy a hablar hoy, los que tratan de poner orden a lo desconocido representando su organización implícita de manera que cobre sentido.

Sigo hablando de métodos matemáticos y hoy haré una introducción de los más representativos a la hora de resolver modelos de aprendizaje no supervisado y problemas típicos de búsqueda de categorías.

¿Empezamos?

Técnicas matemáticas para modelos no supervisados

K-means

Algoritmo k-means

K-means es un modelo específico para entrenamiento no supervisado, concretamente para búsqueda de categorías o clustering.

Es un algoritmo iterativo que funciona:

Primero, definimos el número de categorías o grupos que se quieren determinar (k) dentro del grupo de datos de entrenamiento que tenemos. Recuerda que es aprendizaje no supervisado, no tenemos etiquetas. Es justo esta asignación de categoría el problema que queremos resolver.

Después, se inicializa un valor central para cada categoría o centroide y se asignan los datos de entrada que tenemos para el entrenamiento al centroide más cercano. O lo que es lo mismo, calculamos el centroide más cercano para cada dato y ese es el grupo o categoría al que asignamos dicho dato.

Tras esta primera asignación de todos los datos, se recalcula el centroide (media de todos los datos cercanos) y se vuelven a asignar los datos al centroide más cercano.

Se sigue iterando hasta convergencia, es decir, hasta que los centroides no cambian o el número de datos que cambia de grupo en prácticamente nulo.

El principal parámetro a configurar es k o número de categorías.

Una pregunta típica sería ¿cómo establecer el valor de k? La selección de este valor se hace normalmente mediante el método del codo (Elbow Method). Siempre sin perder de vista el sentido de negocio del problema que se está resolviendo. Por ejemplo, si el área de marketing sólo puede lanzar cuatro campañas a cuatro grupos de clientes, k = 4.

Este método de búsqueda de agrupaciones es el más sencillo y rápido y no requiere mucha memoria, con lo que es recomendable probarlo siempre como como primera opción aunque tiene sus problemillas:

  • Funciona mal cuando tenemos grupos o clusters de distinto tamaño, densidades y formas ya que, por defecto, asume que los datos tienen una forma determinada siempre (esféricos).
  • Es muy sensible a la inicialización del valor de los centroides. Para resolverlo, deberíamos de seleccionar puntos aleatorios del conjunto de datos de entrenamiento como centroides.

Otros modelos

Otros modelos para resolver este tipo de problemas son: agrupación jerárquica, DBSCAN, OPTICs. En este caso, la decisión sobre qué algoritmo es mejor utilizar, dependerá de las características de los datos: homogeneidad en tamaño de los grupos y distancia entre grupos.

Reducción de dimensionalidad

Como su nombre indica, el objetivo que buscamos es reducir el número de variables quedándonos con aquellas que más información capturan. Esto lo haremos seleccionando los datos cuya varianza sea mayor.

Los principales objetivos de uso de esta técnicas son: evitar sobreajustes en las estimaciones y optimizar el rendimiento en la ejecución de los modelos. El sobreajuste (overfitting en inglés) es uno de los principales problemas de los modelos de analítica avanzada donde la solución funciona muy bien con los datos de entrenamiento o aprendizaje pero mal con los nuevos datos porque se ha ajustado mucho el resultado a los datos histórico.

Un ejemplo de uso común es en la compresión de imágenes para procesamiento de redes neuronales más eficiente.

Los métodos más típicos para resolver este tipo de problemas son: PCA, factorización de matrices, autoencoders. En este caso no me entretendré mucho porque hay mucha literatura en la web y he dejado alguna publicación en referencias.

Hasta aquí por el momento. Espero que hayas disfrutado y si te ha gustado, compártelo en redes y dímelo en comentarios.

Nos vemos en la siguiente entrega de «La época de la información» donde hablaré de un tipo de «superalgoritmo»: los sistemas de optimización.

Bibliografía y referencias

A continuación te dejo con mi selección particular de artículos y vídeos sobre este tema:

  • Vídeos sobre K-Means y PCA con Josh Starmer en Statquest.

Nota: recuerda que si el vídeo está en inglés, Youtube facilita la traducción simultanea a otro idioma. Para activar la traducción simultanea al español, sigue estos pasos: ¿Cómo activar la traducción simultanea en Youtube?