Fundamentos de Machine Learning
Modelos de Machine Learning: no supervisados
Universidad Privada Boliviana
Hugo Condori Quispe, Ph.D.
[Link]@[Link]
Tipos de modelos de
machine learning
Aprendizaje supervisado vs no supervisado
Tipo deproblema Descripción
Aprendizaje
Utilizado para predecir valores numéricos supervisado
Regresión
continuos.
El conjunto de datos contiene las etiquetas
Utilizado para asignar una categoría o correctas
Clasificación etiqueta a un conjunto de datos
Utilizado para identificar grupos o clusters
Agrupación naturales en un conjunto de datos
Utilizados para reducir la cantidad de Aprendizaje no
Reducción de dimensionalidad variables en un conjunto de datos sin
perder información importante supervisado
Utilizados para identificar patrones
Detección de anomalías inusuales o comportamientos atípicos en los El conjunto de datos no contiene etiquetas
datos
Aprendizaje supervisado vs no supervisado
Los datosse
proporcionan Aprendizaje supervisado Aprendizaje no supervisado
con las
etiquetas
correctas.
El modelo
aprende al Los datosse
observar proporcionan
estos Regresión Clasificación sin etiquetas.
ejemplos. (Cantidad) (Categoria) El modelo
K Means
encuentra
HCT
PCA
patrones en
los datos
Arboles
Logistic
Bagging
Linear
KNN
SVM
Aprendizaje supervisado
Aprendizaje supervisado
Aprendizaje supervisado
Price
Regresión Clasificación SqFootage
(Cantidad) (Categoría)
Label Features
Price Bedrooms SqFootage Age
280.000 3 3292 14
Arboles
Logistic
Bagging
Linear
KNN
SVM
210.030 2 2465 6
… … … …
Aprendizaje supervisado
Class 1 = star
Aprendizaje supervisado Class 0 = no star
Parámetro 2
Parámetro 1
Regresión
` Clasificación
(Cantidad) (Categoría)
Etiqueta Parámetros
Star Points Edges Size
1 5 <10 750
Arboles
Logistic
Bagging
Linear
KNN
SVM
0 0 >9 150
… … … …
Training – Validation – Test Sets
Entrenamiento
del modelo
TrainingSet
(used to trainthemodel) Entrene, ajuste y valide el modelo
Training
Set (varias veces)
ValidationSet
Dataset (used for unbiasedevaluationof the model) Testing
original
Test Set
Test Set (Final) Probarelmodelo
(used for final evaluation of the model)
El test-set no está disponible para el modelo para el proceso aprendizaje,solo se
usa para garantizar que el modelo generalice bien sobre nuevos datos "no
vistos".
Training – Validation – Test Sets
Entrenamiento
del modelo
TrainingSet
(used to trainthemodel) Entrene, ajuste y valide el modelo
Training
Set (varias veces)
ValidationSet
Dataset (used for unbiasedevaluationof the model) Testing
original
Test Set
Test Set (Final) Probarelmodelo
(used for final evaluation of the model)
Training Set Es una buena práctica mezclar
el conjunto de datos antes de
Validation Set
dividirlo para evitar sesgos en
los conjuntos resultantes.
Test Set
K-fold Cross Validation ( K =5)
K-fold Cross-Validation (CV) es una técnica de validación para
ver qué tan bien un modelo entrenado se generaliza a un
Training Training Training Training Validation
conjunto de validación independiente.
Training Set
Training Training Training Validation Training
Use K muestras reservadas diferentes para validar el
Training Training Validation Training Training modelo, entrenando cada vez con las muestras restantes:
Training Validation Training Training • Divida el conjunto de datos de entrenamiento en K
pliegues independientes.
Validation Training Training Training Training • Repita las siguientes K veces:
• Deje a un lado Kth pliegue de los datos para la
validación.
• Entrena al modelo en los otros pliegues. Training set
• Pruebe el modelo en el conjunto de validación.
Promediar o combinar métricas de rendimiento de validación • Promedie o combine las métricas de rendimiento del
modelo.
Evaluación del modelo: subajuste
Ajusteinsuficiente: el modelo no es lo suficientemente bueno para describir
la relación entre los datos de entrada (x1, x2) y la salida y:
{Clase 1, Clase 2}.
Class 1 Class 2
• El modelo es demasiado simple para
x2 capturar patrones importantes de
datos de entrenamiento.
• El modelo tendrá un desempeño
deficiente enel entrenamiento y la
x1 validación (y/o prueba).
Evaluación del modelo: sobreajuste
Sobreajuste:el modelo memoriza o imita los datos de entrenamiento y no
generaliza bien los nuevos datos "no vistos" (datos de prueba).
• El modelo es demasiadocomplejo.
Class 1 Class 2
• El modelo capta el ruido en lugar de la
x2 relación subyacente.
• El modelo funcionará bien enel
entrenamiento,pero mal en la
validación (y/o prueba).
x1
Evaluación del modelo: ajuste apropiado
Ajusteapropiado:el modelo captura la relación general entre los datos de
entrada (x1, x2)y la salida y:{Clase 1, Clase 2}.
• Modelo no demasiado simple, no
Class 1 Class 2
demasiado complejo.
x2 • El modelo capta la relación subyacente en
lugar del ruido en el entrenamiento.
• El modelo funcionará lo suficientemente bien
enel entrenamiento y la validación (y/o prueba).
x1
Métricas de regresión
Metrics Equations :Data values
:Predicted values
Mean Squared :Mean value of data values,
Error (MSE) :Number of data records
Root Mean
Squared Error
(RMSE)
Mean Absolute
Error (MAE)
R Squared (R2)
Métricas de clasificación
Prediction True Positive: Predicted ‘Positive’
when the actual is ‘Positive’
Positive Negative False Positive: Predicted ‘Positive’
when the actual is ‘Negative’
False Negative: Predicted ‘Negative’
Positive
when the actual is ‘Positive’
True Positive False Negative
True Negative: Predicted ‘Negative’
when the actual is ‘Negative’
True State
‘Positive’ =star
‘Negative’ =not star
Negative
False Positive True Negative
Métricas de clasificación
Prediction True Positive:Predicted ‘Positive’ when
the actual is ‘Positive’
Positive Negative FalsePositive:Predicted ‘Positive’
when the actual is ‘Negative’
FalseNegative:Predicted ‘Negative’ when
Positive
the actual is ‘Positive’
True Positive False Negative True Negative:Predicted ‘Negative’ when
18 3 the actual is ‘Negative’
True State
‘Positive’ =star
‘Negative’ =not star
Negative
False Positive True Negative
1 15
Métricas de clasificación: Accuracy
Prediction
Positive Negative Accuracy:El porcentaje (proporción)
de casos clasificados correctamente
Positive
True Positive False Negative
18 3
True State
Negative
False Positive True Negative
1 15
Métricas de clasificación: Precision
Prediction
Positive Negative Precision*: Exactitud de un
resultado positivo previsto
Positive
True Positive False Negative
2 8
True State
Negative
False Positive True Negative
2 88
Métricas de clasificación: Recall
Prediction
Positive Negative Recall*:mide la capacidad del modelo
para predecir un resultado positivo
Positive
True Positive False Negative
2 8
True State
Negative
False Positive True Negative
2 88
Métricas de clasificación: F1 score
F1Score*:una métrica combinada, la
media armónica de precisión y
recuperación.
Recal
F1 Score
l
Bajo cuando uno o ambos de Alto cuando tanto la Precisión
Precision Precisión y Recuperación son bajos como la Recuperación son altas
Aprendizaje no supervisado
Aprendizaje supervisado vs no supervisado
Los datosse
proporcionan Aprendizaje supervisado Aprendizaje no supervisado
con las
etiquetas
correctas.
El modelo
aprende al Los datosse
observar proporcionan
estos Regresión Clasificación sin etiquetas.
ejemplos. (Cantidad) (Categoria) El modelo
K Means
encuentra
HCT
PCA
patrones en
los datos
Arboles
Logistic
Bagging
Linear
KNN
SVM
Aprendizaje no supervisado
Parámetro 2
Aprendizaje no supervisado
Los datos se
Parámetro 1 proporciona
n sin
etiquetas. El
Parámetros modelo
K Means
HCT
encuentra
PCA
patrones en
los datos
Age Music Books
21 Classical Practical Magic
47 Jazz The Great Gatsby
… … …
Aprendizaje no supervisado
Parámetro 2
Aprendizaje no supervisado
Los datos se
Parámetro 1 proporciona
n sin
etiquetas. El
Parámetros modelo
K Means
HCT
encuentra
PCA
patrones en
los datos
Age Music Books
21 Classical Practical Magic
47 Jazz The Great Gatsby
… … …
Clustering- agrupamiento
• Clustering:Es una técnica utilizada para encontrar grupos de
similitud en los datos, llamados clústeres.
• Agrupa instancias de datos que son similares (cercanas) entre sí en un
clúster y separa instancias de datos muy diferentes (alejadas) en clústeres
distintos.
• El clustering se considera a menudo una tarea de aprendizaje no
supervisado, ya que no se proporcionan valores de clase que
indiquen una agrupación a priori de las instancias de datos, a
diferencia del aprendizaje supervisado.
Ilustración
El conjunto de datos tiene tres grupos naturales de puntos de datos, es
decir, 3 grupos naturales.
Ejemplos de aplicación
• Ejemplo: Agrupación de personas según su talla para la fabricación de
camisetas "pequeñas", "medianas" y "grandes".
• A la medida de cada persona: Si se fabrican camisetas personalizadas para
cada talla, puede resultar demasiado caro y complicado.
• Talla única: Si se fabrica una sola talla de camiseta, no servirá para todos los
individuos, ya que cada persona tiene una talla diferente.
• Ejemplo: Segmentación de clientes en marketing según sus
similitudes.
• Marketing dirigido: Al agrupar a los clientes en segmentos según sus
características y comportamientos similares, se puede crear estrategias de
marketing más efectivas y dirigidas.
Ejemplos de aplicación
• Ejemplo : Dada una colección de documentos de texto, queremos
organizarlos según sus similitudes de contenido.
• Para producir una jerarquía de temas: Al agrupar los documentos según las
similitudes en su contenido, podemos crear una estructura jerárquica de temas
que facilite la organización y búsqueda de la información.
• De hecho, el clustering es una de las técnicas de minería de datos más
utilizadas.
• En los últimos años, debido al rápido aumento de los documentos en línea, el
clustering de texto se ha vuelto especialmente importante.
Aspectos de clustering
• Algoritmos de clustering:
• Clustering particional: Es un tipo de algoritmo de clustering que divide el
conjunto de datos en grupos no superpuestos.
• Clustering jerárquico: Es un tipo de algoritmo de clustering que crea una
estructura jerárquica de clústeres.
• Una función de distancia (similitud o disimilitud): Es una medida utilizada
para calcular la similitud o la diferencia entre dos puntos de datos.
Aspectos de clustering
• Calidad del clustering: Se refiere a qué tan bueno es el resultado del
clustering.
• Distancia entre clústeres: Se busca maximizar la distancia entre los clústeres
para que sean lo más diferentes posible entre sí.
• Distancia dentro de los clústeres: Se busca minimizar la distancia dentro de cada
clúster para que los puntos de datos dentro de un mismo clúster sean similares.
• La calidad de un resultado de clustering depende del algoritmo
utilizado, la función de distancia y la aplicación específica.
Clustering particional
Modelo de K-means
Modelo K means
• Cuando tratamos con grandes
cantidades de datos, a menudo
queremos encontrar patrones y
estructuras ocultas en ellos.
• Una forma de hacerlo es agrupar
Parámetro 2
los datos en categorías basadas en
similitudes. Esto se conoce como
"agrupo de datos" o "clustering"
Parámetro 1
Modelo K means
• El algoritmo de K-means es
una técnica popular de
agrupamiento que se utiliza
para dividir un conjunto de
datos en K grupos o clústeres
Parámetro 2
distintos.
• Cada clúster está
representado por su
centroide, que es el punto
medio de todos los puntos
pertenecientes a ese clúster. Parámetro 1
Modelo K means, algoritmo
• Inicialización: El algoritmo comienza seleccionando K centroides
iniciales de manera aleatoria o basada en alguna estrategia específica.
• Asignación: Luego, cada punto de datos se asigna al centroide más
cercano en función de la distancia euclidiana.
• Actualización: Después de asignar todos los puntos, los centroides se
recalculan tomando el promedio de todos los puntos asignados a ese
centroide.
• Iteración: Los pasos de asignación y actualización se repiten hasta que
los centroides dejen de cambiar o hasta que se alcance un número
máximo de iteraciones.
Modelo K means, algoritmo
• Ejemplo de
implementación 8
• Implementar el algoritmo
6
K-means con los datos
mostrados
4
• Elija (2,2)y (2,4)como los
centroides iniciales 2
2 4 6 8
Inicialización: El algoritmo comienza seleccionando K
centroides iniciales de manera aleatoria o basada en alguna
estrategia específica.
Modelo K means, algoritmo
Asignación: Luego, cada punto de datos se 8
asigna al centroide más cercano en función de
la distancia euclidiana.
6
2 4 6 8
Modelo K means, algoritmo
Actualización: Después de asignar todos los 8
puntos, los centroides se recalculan tomando
el promedio de todos los puntos asignados a
ese centroide. 6
2 4 6 8
Modelo K means, algoritmo
Asignación: Luego, cada punto de datos se 8
asigna al centroide más cercano en función de
la distancia euclidiana.
6
2 4 6 8
Iteración:Los pasos de asignacióny actualizaciónse repiten
hasta que los centroides dejen de cambiar o hasta que se
alcance un número máximo de iteraciones.
Modelo K means, algoritmo
Actualización: Después de asignar todos los 8
puntos, los centroides se recalculan tomando
el promedio de todos los puntos asignados a
ese centroide. 6
2 4 6 8
Iteración:Los pasos de asignacióny actualizaciónse repiten
hasta que los centroides dejen de cambiar o hasta que se
alcance un número máximo de iteraciones.
Modelo K means, algoritmo
Asignación: Luego, cada punto de datos se 8
asigna al centroide más cercano en función de
la distancia euclidiana.
6
2 4 6 8
Iteración:Los pasos de asignacióny actualizaciónse repiten
hasta que los centroides dejen de cambiar o hasta que se
alcance un número máximo de iteraciones.
Modelo K means
• El algoritmo de K-means es
una técnica popular de
agrupamiento que se utiliza
para dividir un conjunto de
datos en K grupos o clústeres
Parámetro 2
distintos.
• Pero, como escogemos K?
Parámetro 1
Método del codo (Elbow method)
• Método del codo (Elbow method):
• Calcular la suma de los errores
cuadrados dentro de los clústeres
para diferentes valores de k.
• Buscar el punto en la gráfica donde la
disminución de WSS se estabiliza,
formando un "codo".
• Elegir el valor de k en el punto del codo,
que indica un equilibrio entre una
buena división de los datos y una
complejidad moderada.
Método de la silueta (Silhouette method)
• El coeficiente de silueta o puntaje de silueta en el algoritmo k-means es una
medida de qué tan similar es un punto de datos dentro de su clúster
(cohesión) en comparación con otros clústeres (separación).
• El coeficiente de silueta es una forma de evaluar qué tan bien se
agrupa un punto de datos con respecto a su propio clúster en
comparación con los clústeres vecinos.
• Es una medida de cuánto "encaja" un punto dentro de su clúster y
cuánto se diferencia de los otros clústeres.
Método de la silueta (Silhouette method)
• Un coeficiente de silueta alto indica que el punto de datos está bien
agrupado dentro de su clúster y está bastante separado de los otros
clústeres. Esto sugiere que el punto es muy representativo de su clúster y
que los clústeres están bien separados entre sí.
• Por otro lado, un coeficiente de silueta bajo indica que el punto de datos
no se ajusta bien a su clúster y/o se superpone significativamente con
otros clústeres. Esto puede indicar una estructura de clústeres deficiente
o una falta de separación entre los clústeres.
Método de la silueta (Silhouette method)
Implementación
• Calcular el coeficiente de silueta para diferentes valores de k.
• El coeficiente de silueta mide qué tan bien se agrupan los puntos
dentro de un clúster y qué tan separados están de los clústeres vecinos.
• Elegir el valor de k que maximice el coeficiente de silueta, lo que indica
una buena estructura de clústeres y una separación adecuada entre ellos.
Método de la silueta (Silhouette method)
• Si el coeficiente de silueta está cerca de 1, indica que el punto de datos está
bien ajustado a su clúster y se encuentra lejos de los otros clústeres. Esto es
deseable y representa una buena estructura de clustering.
• Si el coeficiente de silueta está cerca de 0, indica que el punto de datos se
superpone con los clústeres vecinos o se encuentra en una región
ambigua. Esto puede sugerir una estructura de clústeres deficiente o
una separación insuficiente entre ellos.
• Si el coeficiente de silueta es negativo, indica que el punto de datos se
asignó incorrectamente a su clúster y sería mejor ubicado en otro clúster.
Método de la silueta (Silhouette method)
Conocimiento del dominio y objetivos del problema
• Considerar el conocimiento previo sobre el dominio de los datos y los
objetivos del análisis.
• Determinar si un valor específico de k tiene sentido en el contexto del
problema.
• Por ejemplo, si se espera que los datos se dividan en tres categorías
distintas, se puede elegir k=3.