Aprendizaje No-Supervisado Flashcards
Clustering NS?
Clustering es llamado aprendizaje no- supervizado, sin embargo, no es lo único que es llamado así.
• Clustering consiste en organizar los datos en grupos cuyos miembros son parecidos de alguna forma.
• Es decir, un clúster es un conjunto de datos que son similares de alguna forma, y a su vez son “disimiles” a los ejemplos contenidos en otros clústers.
• En la jerga de clustering, cada instancia en los datos es llamada objeto o data point.
Tipos de clustering
- Hay dos tipos de clustering: particional y jerárquico.
- La idea es agrupaciones intrínsecas de los datos de entradas mediante el uso de un algoritmo de clustering y una medida de distancia.
Clustering Particional: K-means
- Es simple y eficiente.
- Dado un número de k de clústers y un conjunto de datos, este algoritmo particiona iterativamente los datos en los k clústers de acuerdo a una medida de distancia.
- Cada clúster tiene un centro, llamado centroid, que representa al clúster.
- El centroid es la media de todos los puntos dentro del clúster.
- Al comienzo el algoritmo escoge k datos como los centroides semilla.
- Después, calcula la distancia de centroide semilla con cada dato. Cada dato es asignado al centroide que está más cerca.
• Después que todos los datos son asignados, el centroide de cada clúster es re-calculado utilizando los datos en cada clúster.
• El proceso se repite hasta una condición de término:
– No hay más, o muy pocas, re-asignaciones de datos a otros clústers. Es decir, no ha mucho movimiento.
– No hay más, o muy pequeño, cambio en los centroides.
– Muy poca disminución en la suma del error cuadrático (SSE).
Ventajas de KMEANS
- Las principales ventajas de K-means es que es simple y eficiente.
- Es fácil de entender y de implementar.
- Su complejidad es O(tkn), donde n es el número de datos, k el de clústers y t el número de iteraciones.
- Dado que k y t son pequeños, normalmente, se considera un algoritmo lineal con respecto al tamaño del conjunto de datos.
DESVENTAJAS de kmeans
– Es necesario tener definido el concepto de media. Por ende, hay un problema con atributos basados en categorías. Hay una variación llamada k-modes, que utiliza la moda en vez de la media. Entonces, cada componente es el valor más frecuente de cada atributo, y la distancia es el número de atributo-valor que coinciden.
– Muchas veces no se sabe el valor de k de ante- mano
– El algoritmo es sensible a outliers.
Outlier
es un punto que esta lejano a culquier cluster que ha formado.
Solución 1 Outlier
- Una forma de lidiar con los outliers es remover los puntos que están más lejos de los centroides que otros puntos.
- Es primordial esperar varias iteraciones antes de remover un punto, porque podría ser un clúster pequeño de puntos.
- Se puede utilizar una cota.
Solución 2 outlier
Otra forma de combatir los outliers es random sampling:
– Se escoge un pequeño subconjunto de los datos.
– Se hace aleatoriamente.
– Se utiliza este subconjunto para calcular los centroides.
– Después se añaden el resto de los puntos:
• Al centroide más cercano, o
• Utilizar los clústers para hacer aprendizaje supervisado y etiquetar el resto de los puntos.
• Usar los clústers como semillas para aprendizaje semi- supervisado.
aprendizaje semi-supervisado. (breve)
– Es un paradigma que aprende de un conjunto reducido de ejemplos etiquetados y de un conjunto grande de datos no etiquetados.
problema de K-means son las semillas iniciales:
– Diferentes semillas pueden terminar en diferentes centroides alcanzando un óptimo local.
• Hay varios métodos para escoger semillas iniciales:
– Calcular el centroide del conjunto completo de datos. Se escoge el punto más lejano al centroide, y después se escoge el punto más lejano al previamente escogido, así sucesivamente. Este método no funciona bien con outliers.
- En la práctica, frecuentemente resulta fácil para los humanos escoger las semillas. Por ejemplo, data points que son muy diferentes.
- K-means no funciona bien cuando hay que descubrir datos que no son hiper-esferas.
Clustering Jerárquico
- Produce un árbol, también llamado dendrogram (a), que consiste en un conjunto de clústers anidados.
- Los datapoint están en las hojas del árbol, y el árbol parte con un único nodo llamado raíz.
- Cada nodo del árbol tiene hijos, y cada hermano particiona los datos que tiene el padre
Clustering Jerárquico - Agglomerativos (bottom-up):
Construye el árbol mediante la amalgama de los clústers más cercanos. Así sube niveles en el árbol. Es el método más usado
Clustering Jerárquico - Divise (top-down):
Parte con todos los datos en un clúster, la raíz. Divide los nodos en hijos sucesivamente, hasta alcanzar clústers de puntos individuales.
Clustering Jerárquico - calculo distancia
• Para calcular la distancia entre dos clústers:
– Single-Link
– Complete-Link
– Average-Link
• Single-Link:
– La distancia entre dos clústers es la distancia de los dos puntos más cercanos.
– Bueno para encontrar clústers de forma no- eliptica.
– Es sensible a datos ruidoso.
– La complejidad es O(n2), con n el número de datos.