Tecnicas de Clustering en Machine Learning

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 12

TECNICAS DE CLUSTERING EN

MACHINE LEARNING
F E R N A N E U GE N I O F O R T I C H C H E Q U E M A R C A C O D . 1 8 0 2 3 1 6
S AN T I A G O B E C E R R A C O D . 1 8 0 2 6 9 8
A N G I E D A N I E L A M A R TI N E Z C O D . 1 8 0 2 4 3 4

RESUMEN
Realizar clustering (agrupamiento) es otra de las actividades comunes en un pipeline que utiliza
machine learning para resolver problemas. Agrupar los datos puede entre otras, facilitar tareas de
clasificación, permite entender la estructura de los datos e identificar tendencias o patrones que de
otra forma no resultaría fácil. Existen múltiples estrategias para realizar clustering, es esta sección
se analizarán algunas de las más populares que son K-means / k-medians, DBSCAN, Gaussian
mixture models (EM-GMMs) y t-sne.

Este documento pretende ser de consulta teórico- práctica sobre las técnicas de Clustering en el área
del aprendizaje de maquina. Adicional a esto se mostrarán ejemplos correspondientes a los métodos
de clasificación más comunes para distintas aplicaciones.

TERMINOS INDEXADOS: Machine Learning, clasificación, patrones, algoritmos,clustering.

DEFINICION DE CLUSTERING
Clustering es una forma de aprendizaje automático no supervisado, en donde la máquina determina
automáticamente la agrupación de datos.

El objetivo del cluster es el de encontrar una estructura de datos (clusters) dentro de una cantidad de
datos finitos que no ha sido etiquetados aun. Hay dos formas principales de agrupamiento: plano y
jerárquico. La agrupación plana le permite al científico decirle a la máquina cuántos agrupamientos
se le ocurren, y la agrupación jerárquica permite que la máquina determine las agrupaciones.

El clustering es muy importante ya que determina la agrupación intrínseca entre los datos no
etiquetados presentes. No hay criterios para un buen agrupamiento. Depende del usuario, cuáles son
los criterios que pueden usar para satisfacer sus necesidades. Por ejemplo, podríamos estar interesados
en encontrar representantes para grupos homogéneos (reducción de datos), en encontrar "grupos
naturales" y describir sus propiedades desconocidas (tipos de datos "naturales"), en encontrar
agrupaciones útiles y adecuadas (clases de datos "útiles") o en la búsqueda de objetos de datos
inusuales (detección de valores atípicos). Este algoritmo debe hacer algunas suposiciones que
constituyen la similitud de puntos y cada suposición crea grupos diferentes e igualmente válidos.
ESTRATEGIAS DE CLUSTERING
Existen diversos metodos para solucionar los problemas de agrupamiento pero en esencia se puede
dividir en:

 Métodos basados en la densidad: Estos métodos consideran los grupos como la región
densa que tiene cierta similitud y es diferente de la región de menor densidad del espacio

 Métodos basados en la jerarquia: Los grupos formados en este método forman una
estructura de tipo árbol basada en la jerarquía. Se forman nuevos grupos utilizando el
previamente formado.

 Métodos de Partición: Estos métodos dividen los objetos en k grupos y cada partición
forma un grupo. Este método se utiliza para optimizar una función de similitud de criterios
objetivos, como cuando la distancia es un parámetro importante.

 Métodos basados en cuadrícula: En este método, el espacio de datos se formula en un


número finito de celdas que forman una estructura similar a una cuadrícula.

APLICACIONES DE CLUSTERING

 Marketing: se puede utilizar para caracterizar y descubrir segmentos de clientes con fines
de marketing.

 Biología: se puede utilizar para la clasificación entre diferentes especies de plantas y


animales.

 Bibliotecas: se utiliza para agrupar diferentes libros sobre la base de temas e información.

 Seguro: se utiliza para reconocer a los clientes, sus políticas e identificar los fraudes.

 Planificación de la ciudad: se utiliza para hacer grupos de casas y para estudiar sus valores
en función de su ubicación geográfica y otros factores presentes.

 Estudios de terremotos: Al conocer las áreas afectadas por el terremoto, podemos


determinar las zonas peligrosas.
ALGUNOS ALGORITMOS DE CLUSTERING

K-MEANS / K-MEDIANS

K-Means es un método de partición de datos y un problema de optimización combinatoria . Dados


los puntos y un entero k , el problema es dividir los puntos en k grupos, a menudo llamados grupos ,
para minimizar una determinada función. Consideramos la distancia de un punto al promedio de los
puntos de su grupo; La función a minimizar es la suma de los cuadrados de estas distancias.

Hay una heurística clásica para este problema, a menudo denominada métodos de promedio k , que
se utilizan para la mayoría de las aplicaciones. El problema también se estudia como un problema de
optimización clásico, con, por ejemplo, algoritmos de aproximación .

En el siguiente recuadro vemos algunas de sus ventajas y desventajas

Ventajas Desventajas
 Es bastante rápido, ya que todo lo que  Debe seleccionar cuántos grupos /
realmente hace este algoritmo es clases hay. Esto no siempre es trivial e
calcular las distancias entre puntos y idealmente con un algoritmo de
centros grupales;esto conlleva my agrupamiento nos gustaría que los
pocos calculos y por lo tanto, tiene una descubriera porque el objetivo es
complejidad lineal O ( n ). obtener una idea de los datos.

 K-means comienza con una elección


aleatoria de centros de agrupación y,
por lo tanto, puede producir diferentes
resultados de agrupación en diferentes
ejecuciones del algoritmo. Por lo tanto,
los resultados pueden no ser repetibles
y carecer de consistencia..
Tabla 1. Ventajas y Desventajas del K-Means

K-Medians es otro algoritmo de agrupamiento relacionado con K-Means, excepto que en lugar de
volver a calcular los puntos centrales del grupo usando la media, usamos el vector mediano del grupo.
Este método es menos sensible a los valores atípicos (debido al uso de la Mediana) pero es mucho
más lento para conjuntos de datos más grandes, ya que se requiere la clasificación en cada iteración
al calcular el vector Mediana.
DESCRIPCION DEL ALGORITMO

Figura 1. Ejemplo de Dataset y Solucion Algoritmo K-Means

Para comenzar, primero seleccionamos un número de clases / grupos para usar e inicializamos
aleatoriamente sus respectivos puntos centrales. Para determinar la cantidad de clases a utilizar, es
bueno echar un vistazo rápido a los datos e intentar identificar cualquier agrupación distinta. Los
puntos centrales son vectores de la misma longitud que cada vector de punto de datos y son las "X"
en el gráfico anterior.

Cada punto de datos se clasifica calculando la distancia entre ese punto y cada centro de grupo, y
luego clasificando el punto para estar en el grupo cuyo centro está más cerca de él.

En base a estos puntos clasificados, recalculamos el centro del grupo tomando la media de todos los
vectores en el grupo.
Repita estos pasos para un número determinado de iteraciones o hasta que los centros de grupo no
cambien mucho entre iteraciones. También puede optar por inicializar aleatoriamente los centros de
grupo varias veces y luego seleccionar la ejecución que parece que proporcionó los mejores
resultados.

EJEMPLO

AGRUPACIÓN ESPACIAL BASADA EN DENSIDAD DE APLICACIONES


CON RUIDO (DBSCAN)

DBSCAN ( densidad a base de la agrupación espacial de usos con el ruido ) es un algoritmo para la
partición de datos propuesto en 1996 por Martin Ester, Hans-Peter Kriegel, Jörg Sander y Xiaowei
Xu. Es un algoritmo basado en la densidad que se basa en la densidad estimada de clústeres para
realizar particiones.

El algoritmo DBSCAN usa 2 parámetros: la distancia epsilon y el número mínimo de puntos MinPts
debe estar en un radio epsilon para que estos puntos se consideren como un clúster. Los parámetros
de entrada son, por lo tanto, una estimación de la densidad de puntos de los grupos. La idea básica
del algoritmo es, para un punto dado, recuperar su epsilon -aldea y verifica que contenga MinPts bien
o más. Este punto se considera parte de un clúster. Luego pasamos por epsilon -por más cerca uno
del otro para encontrar todos los puntos del clúster.

En el siguiente recuadro presentamos algunas de sus ventajas y desventajas:

Ventajas Desventajas
 No requiere un número fijo de  No funciona tan bien como otros
clústeres en absoluto. cuando los grupos son de densidad
 Identifica los valores atípicos como variable. Esto se debe a que la
ruidos, a diferencia del cambio medio configuración del umbral de distancia ε
que simplemente los arroja a un clúster y minPoints para identificar los puntos
incluso si el punto de datos es muy vecinos variará de un grupo a otro
diferente. cuando la densidad varíe. Este
 Puede encontrar grupos de tamaño inconveniente también ocurre con datos
arbitrario y de forma arbitraria bastante de muy alta dimensión, ya que
bien. nuevamente el umbral de distancia ε se
vuelve difícil de estimar.

DESCRIPCION DEL ALGORITMO

DBSCAN comienza con un punto de datos de inicio arbitrario que no ha sido visitado. La vecindad
de este punto se extrae usando una distancia épsilon ε (Todos los puntos que están dentro de la
distancia ε son puntos de vecindad).
Si hay un número suficiente de puntos (de acuerdo con minPoints) dentro de esta vecindad, se inicia
el proceso de agrupación y el punto de datos actual se convierte en el primer punto en el nuevo clúster.
De lo contrario, el punto se etiquetará como ruido (más tarde este punto ruidoso podría convertirse
en parte del clúster). En ambos casos, ese punto está marcado como "visitado".

Para este primer punto en el nuevo grupo, los puntos dentro de su vecindario de distancia ε también
se vuelven parte del mismo grupo. Este procedimiento de hacer que todos los puntos de la vecindad
ε pertenezcan al mismo grupo se repite para todos los puntos nuevos que se acaban de agregar al
grupo de grupos.

Figura 2. Ejemplo Algoritmo DBSCAN

Este proceso de los pasos 2 y 3 se repite hasta que se determinan todos los puntos en el grupo, es
decir, todos los puntos dentro de la vecindad ε del grupo han sido visitados y etiquetados.

Una vez que hayamos terminado con el clúster actual, se recupera y procesa un nuevo punto no
visitado, lo que conduce al descubrimiento de un clúster o ruido adicional. Este proceso se repite
hasta que todos los puntos estén marcados como visitados. Dado que al final de esto todos los puntos
han sido visitados, cada punto habrá sido marcado como perteneciente a un grupo o como ruido.

Un ejemplo de pseudo codigo se muestra a continuacion:

DBSCAN (D, eps, MinPts)


C = 0
para cada punto P no visitado D datos
marcar P como visitado
PtsVoisins = epsilonVillage (D, P, eps)
si el tamaño (PtsVoisins) <MinPts
marcar P como RUIDO
por lo demás
C ++
expandCluster (D, P, PtsNests, C, eps, MinPts)

expandCluster (D, P, PtsNests, C, eps, MinPts)


agregue P al clúster C
para cada punto P 'de PtsVoisins
si P 'no ha sido visitado
para marcar P 'como visitado
PtsVoisins '= epsilonNetwork (D, P', eps)
if size (PtsVoisins ')> = MinPts
Vecinos Pts = Vecinos
si P 'no es miembro de ningún clúster
agregue P 'al grupo C

Barrio epsilon (D, P, eps)


devolver todos los puntos de D que están a una distancia menor
que épsilon de P

EJEMPLO

GAUSSIAN MIXTURE MODELS (EM-GMMS)

Supongamos que hay K grupos (por simplicidad aquí se supone que se conoce el número de grupos
y es K). Entonces \ muy \Sigmatambién se estima para cada k. Si hubiera sido solo una distribución,
se habrían estimado mediante el método de máxima verosimilitud .

El algoritmo Expectation-Maximization (EM) es una forma iterativa de encontrar estimaciones de


máxima verosimilitud para los parámetros del modelo cuando los datos están incompletos o faltan
algunos puntos de datos o tienen algunas variables ocultas. EM elige algunos valores aleatorios para
los puntos de datos faltantes y estima un nuevo conjunto de datos. Estos nuevos valores se utilizan de
forma recursiva para estimar un primer dato mejor, completando los puntos faltantes, hasta que los
valores se arreglen.

Enla siguiente tabal podemos ver las principales ventajas y desventajas del algoritmo EM-GMMS

Ventajas Desventajas
 Los GMM son mucho más flexibles en  Alto coste computacional
términos de covarianza de
conglomerados que K-Means; Debido
al parámetro de desviación estándar, los
grupos pueden adoptar cualquier forma
de elipse, en lugar de estar restringidos
a círculos. K-Means es en realidad un
caso especial de GMM en el que la
covarianza de cada grupo a lo largo de
todas las dimensiones se aproxima a 0.

 Los GMM usan probabilidades, pueden


tener múltiples grupos por punto de
datos. Entonces, si un punto de datos se
encuentra en el medio de dos grupos
superpuestos, simplemente podemos
definir su clase diciendo que pertenece
al X-percent a la clase 1 y al Y-percent
a la clase 2. Es decir, los GMM admiten
membresía mixta .

ALGORITMO

Estos son los dos pasos básicos del algoritmo EM, a saber, el Paso E o el Paso de Expectativa o el
Paso de Estimación y el Paso M o el Paso de Maximización .

Paso de estimación:

inicializar mu_k, Sigma_ky, pi_k por algunos valores aleatorios, o por K significa resultados de
agrupación o por resultados de agrupación jerárquica.

Luego, para esos valores de parámetros dados, calcule el valor de las variables latentes (es decir
gamma_k)

Paso de maximización:

Actualice el valor de los parámetros (es decir mu_k, Sigma_ky, pi_k) calculados usando el método
ML.

En el siguiente recuadro podemos ver el pseudocodigo del algortimo.


EJEMPLO

en este ejemplo, se toma el conjunto de datos IRIS . En Python hay una clase GaussianMixture para
implementar GMM.

Cargue el conjunto de datos de iris del paquete de conjuntos de datos. Para simplificar las cosas,
tome solo las dos primeras columnas (es decir, longitud y ancho de sepal respectivamente).

1. Ahora trace el conjunto de datos.

import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

from pandas import DataFrame

from sklearn import datasets

from sklearn.mixture import GaussianMixture

# load the iris dataset

iris = datasets.load_iris()
# select first two columns

X = iris.data[:, :2]

# turn it into a dataframe

d = pd.DataFrame(X)

# plot the data

plt.scatter(d[0], d[1])

2. Ahora ajuste los datos como una mezcla de 3 gaussianos.

3. Luego haga el agrupamiento, es decir, asigne una etiqueta a cada observación. También
encuentre el número de iteraciones necesarias para que converja la función log-
verosimilitud y el valor convergente de verosimilitud.

filter_none

brillo_4

gmm = GaussianMixture(n_components = 3)

# Fit the GMM model for the dataset

# which expresses the dataset as a

# mixture of 3 Gaussian Distribution

gmm.fit(d)
# Assign a label to each sample

labels = gmm.predict(d)

d['labels']= labels

d0 = d[d['labels']== 0]

d1 = d[d['labels']== 1]

d2 = d[d['labels']== 2]

# plot three clusters in same plot

plt.scatter(d0[0], d0[1], c ='r')

plt.scatter(d1[0], d1[1], c ='yellow')

plt.scatter(d2[0], d2[1], c ='g')

4. Imprima el valor de probabilidad de registro convergente y no. de iteraciones necesarias


para que el modelo converja

# print the converged log-likelihood value

print(gmm.lower_bound_)

# print the number of iterations needed

# for the log-likelihood value to converge


print(gmm.n_iter_)</div>

5. Por lo tanto, necesitaba 7 iteraciones para que convergiera la probabilidad logarítmica. Si


se realizan más iteraciones, no se puede observar un cambio apreciable en el valor de log-
verosimilitud.

T-SNE

ALGORITMO

EJEMPLO

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy