Está en la página 1de 139

Machine

Learning

Semana 11 : Exploración y Análisis Grafico de Datos


© Profesores del Curso – Machine Learning
1
Contenido

• Análisis exploratorio de datos


• Visualización de Datos

© Profesores del Curso – Machine Learning


2
Análisis Exploratorio de Datos

© Profesores del Curso – Machine Learning


3
Introducción al Análisis Exploratorio de Datos (EDA)

• El análisis exploratorio de datos se refiere al


proceso crítico de realizar investigaciones
iniciales sobre los datos para descubrir,
detectar anomalías, probar hipótesis y
verificar suposiciones con la ayuda de
estadísticas y representaciones gráficas.
• Es una buena práctica comprender los datos
primero y tratar de recopilar la mayor
cantidad de información posible a partir de
ellos.

© Profesores del Curso – Machine Learning


4
Importancia del EDA
• Identificar la mas importantes variables / Atributos del dataset.
• Probar una hipótesis o verifica asunciones relacionadas al
dataset.
• Verificar la calidad de datos además del procesamiento y
limpieza.
• Ofrecer información basada en datos a las partes interesadas
del negocio.
• Verificar que las relaciones esperadas realmente existen en los
datos.
• Para encontrar estructuras inesperadas o conocimientos en los
datos.

© Profesores del Curso – Machine Learning


5
Flujo de Proyecto de Ciencia de Datos

© Profesores del Curso – Machine Learning


6
Proceso de la Ciencia de Datos

© Profesores del Curso – Machine Learning


7
Proceso de la Ciencia de Datos

Hace Obtener los Explorar los


interesante datos datos
Preguntas
¿Cuál es el objetivo científico? ¿Cómo fue la muestra de datos? Graficar datos
¿Qué debería hacer si tienes todos los datos? ¿Qué datos son los mas relevantes? ¿Hay anomalías que descubrir?
¿Qué es lo que deseas predecir o estimar? ¿Los datos son temas privados? ¿Hay patrones que entender?

Modelo de Comunicar y 5 1
datos Visualizar
Resultados
Construir un modelo Repetir el
¿Qué aprendimos de ellos? proceso
Ajustar un modelo
¿Los resultados tienen sentido?
Validar un modelo
¿Puedo decir una historia de ellos?
© Profesores del Curso – Machine Learning
8
Dos Categorías de Datos
• Tipo de data estructurada
• Ejemplo: archivos CSV, archivos Excel,
archivos base de datos (SAP, ORACLE,
etc).

• Tipo de data No estructurada


• Ejemplo: imágenes, video, audio

© Profesores del Curso – Machine Learning


9
Tipos de datos
Ordinaria: Aquellos para Discreto: Aquellos que
los cuales existe una pueden tomar un numero
relación de orden entre las limitado de estudiantes.
categorías.
Ejem: Bajo, Mediano, Ejem: # de estudiantes de
Grande una clase.
Categórica Variables Numérica

Continua: Aquellos que se


cumple que para cualquier
Nominal: Aquellos para los cuales par de valores se puede
existe una asignación puramente encontrar un numero
arbitraria de números o símbolos intermedio.
para cada una de las categorías.
Ejem: Peso de una persona.
Ejem: Color de una prenda de
ropa.

© Profesores del Curso – Machine Learning


10
Paquetes de Python para EDA

© Profesores del Curso – Machine Learning


11
Gráficos en Python

Grafico de Barras Grafico de Pie

© Profesores del Curso – Machine Learning


12
Gráficos en Python

Histograma Grafico de Dispersión

© Profesores del Curso – Machine Learning


13
Gráficos en Python

Mapa de Calor Box Plot

© Profesores del Curso – Machine Learning


14
Gráficos en Python

Grafico Lineal Grafico de Violín

© Profesores del Curso – Machine Learning


15
Gráficos en Python

Grafico de Burbujas Grafico de Dispersión 3D

© Profesores del Curso – Machine Learning


16
Visualización de Datos

https://www.youtube.com/watch?v=pO6FL6aAJ9s

© Profesores del Curso – Machine Learning


17
Importancia de la Visualización
• Utilizar el sistema visual humano para
extraer la información a partir de los
datos.

• Proporcionar descripción de datos


complejos.

• Identificar las estructuras y los


patrones.

• Ejemplo: Mapa de Minard1861 de la


campaña rusa de Napoleón

© Profesores del Curso – Machine Learning


18
Mapa de Minard 1861-I

© Profesores del Curso – Machine Learning


19
Visión Moderna

© Profesores del Curso – Machine Learning


20
Comunicación en una empresa

Contenido Correcto
+ Momento Correcto
+ Lugar Correcto
+ Forma Correcta =
Decisión = Acción

© Profesores del Curso – Machine Learning


21
Visual Analytics
Información Analítica
Analítica Geoespacial
Interacción
Análisis Científico
Alcance del
Ciencia Perceptual y
Análisis Visual
Cognitiva
Análisis Estadístico

Presentación,
Descubrimiento del
Producción
Gestión Datos & Conocimiento
y Diseminación
Representación del
Conocimiento

Visual Analytics es la ciencia del razonamiento analítico soportado por interfaces visuales interactivas.

© Profesores del Curso – Machine Learning


22
Visual Analytics

Visualización

• Visualización de Información
• Recuperación de Información • Visualización Científica
• Recuperación Datos • Computación Grafica
• Minería de Datos

Data Análisis
Interacción
• Interacción Humano-Computadora
• Psicología Cognitiva
• Percepción

Visual Analytics puede verse como un enfoque integral que combina visualización,
factores humanos y análisis de datos.

© Profesores del Curso – Machine Learning


23
Visual Analytics
Exploración de Data Visual

Interacción a
Usuario
Visualización
Trazado de
Mapas
Transformación

Modelo
Data Construcción Conocimiento
Visualización
Modelo

Minería de
Datos Modelos
Parámetro de
Refinamiento
Análisis Datos Automatizado

Retroalimentación

El proceso de Visual Analytics combina métodos de análisis automáticos y visuales con un acoplamiento estricto a
través de la interacción humana para obtener conocimiento de los datos.
© Profesores del Curso – Machine Learning
24
Ejemplos de datos a integrar

© Profesores del Curso – Machine Learning


25
Business Intelligence e info Discovery

© Profesores del Curso – Machine Learning


26
Business Intelligence e info Discovery

“Probablemente
“Creciente relacionado con
Numero de los diferente datos
Reclamos registrados en un
Cliente…” hospital …”

© Profesores del Curso – Machine Learning


27
TALLER

© Profesores del Curso – Machine Learning


28
Machine
Learning

Semana 12 : Aprendizaje No Supervisado: Clustering


© Profesores del Curso – Machine Learning
1
Contenido

• Aprendizaje No supervisado
• Medidas de Similitud
• Métodos de Agrupamiento
• Clustering Jerárquico
• Taller

© Profesores del Curso – Machine Learning


2
Aprendizaje No Supervisado

© Profesores del Curso – Machine Learning


3
Introducción

• Objetivo
• Encontrar agrupamientos
de tal forma que los
objetos
• de un grupo sean
similares entre si y
diferentes de los
• objetos de otros grupos
[clusters].

© Profesores del Curso – Machine Learning


4
Introducción

• Aprendizaje no supervisado:
• No existen clases predefinidas.
• Los resultados obtenidos dependerán de:
• El algoritmo de agrupamiento seleccionado.
• El conjunto de datos disponible.
• La medida de similitud utilizada para comparar objetos
(usualmente, definida como medida de distancia).

© Profesores del Curso – Machine Learning


5
Clustering

© Profesores del Curso – Machine Learning


6
Medidas de Similitud

© Profesores del Curso – Machine Learning


7
Medidas de Similitud

© Profesores del Curso – Machine Learning


8
Medidas de Similitud

• A la hora de calcular la similitud entre 02 objetos:


• No tienen porque utilizarse todos los atributos disponibles en nuestro
conjunto de datos.
• Hay que tener cuidado con las magnitudes de cada variable.

© Profesores del Curso – Machine Learning


9
Medidas de Similitud

© Profesores del Curso – Machine Learning


10
Medidas de Similitud

© Profesores del Curso – Machine Learning


11
Medidas de Similitud

© Profesores del Curso – Machine Learning


12
Métodos de Agrupamiento

© Profesores del Curso – Machine Learning


13
Métodos de Agrupamiento

Tipos de algoritmos de clustering:


• Agrupamiento por particiones
• k-Means, CLARANS
• Metodos basados en densidad
• DBSCAN
• Clustering jerarquico
• BIRCH, ROCK, CHAMELEON

© Profesores del Curso – Machine Learning


14
Métodos de Agrupamiento

© Profesores del Curso – Machine Learning


15
K-means (Algoritmo de agrupamiento por
particiones)

• Numero de clusters conocido (k).


• Cada cluster tiene asociado un centroide (centro geométrico del
cluster).
• Los puntos se asignan al cluster cuyo centroide este mas cerca
(utilizando cualquier métrica de distancia).
• Iterativamente, se van actualizando los centroides en función de
las asignaciones de puntos a clusters, hasta que los centroides
dejen de cambiar.

© Profesores del Curso – Machine Learning


16
K-means

© Profesores del Curso – Machine Learning


17
K-means

A1, A4 y A7

© Profesores del Curso – Machine Learning


18
K-means

© Profesores del Curso – Machine Learning


19
K-means

© Profesores del Curso – Machine Learning


20
Evaluación de Resultados

© Profesores del Curso – Machine Learning


21
Evaluación de Resultados

© Profesores del Curso – Machine Learning


22
Evaluación de Resultados

Cuando la distancia utilizada es la distancia euclidea:

1. El uso de centroides no influye al medir la cohesion:

2. Minimizar cohesión y maximizar separación son equivalentes.

© Profesores del Curso – Machine Learning


23
Evaluación de Resultados

• Así pues, cuando se usa la distancia euclidea, SSE es una


buena medida del grado de ajuste (cohesión y separación) de
los centroides hallados.

• Por otro lado, ya sabíamos que, en cada iteracion del algoritmo


de las k-medias, se maximizaba SSE al calcular los centroides
usando la media aritmética.
• .Garantiza lo anterior que los centroides finales sean los que
minimicen SSE globalmente? NO
© Profesores del Curso – Machine Learning
24
Evaluación de Resultados

• Cuando usamos la distancia euclídea, el centroide determinado


en cada iteración por el vector de medias garantiza la mejor
solución con respecto a SSE, pero considerando:
• un valor de k fijo, y
• los centroides dados por la iteración anterior.
• La solución final no sera la optima:
• El algoritmo de las k medias no garantiza que los centroides
finales obtenidos sean los que minimizan globalmente la
función objetivo SSE.

© Profesores del Curso – Machine Learning


25
Evaluación de Resultados

Matriz de similitud
• Ordenamos los datos en la matriz de similitud con respecto a los
clusters en los que quedan los datos e inspeccionamos
visualmente…

© Profesores del Curso – Machine Learning


26
Evaluación de Resultados

Problema
Incluso en datos aleatorios, si nos
empenamos, encontramos clusters:
DBSCAN (arriba) y k-Means (abajo)

© Profesores del Curso – Machine Learning


27
Clustering Jerárquico

© Profesores del Curso – Machine Learning


28
Clustering Jerárquico

© Profesores del Curso – Machine Learning


29
Clustering Jerárquico

© Profesores del Curso – Machine Learning


30
Clustering Jerárquico

© Profesores del Curso – Machine Learning


31
Clustering Jerárquico

Dos tipos de técnicas de clustering jerárquico


• Técnicas aglomerativas
• Comenzar con cada caso como cluster individual.
• En cada paso, combinar el par de clusters mas cercano hasta que
solo quede uno (o k).
• Técnicas divisivas
• Comenzar con un único cluster que englobe todos los casos de
nuestro conjunto de datos.
• En cada paso, partir un cluster hasta que cada cluster contenga un
unico caso (o queden k clusters).

© Profesores del Curso – Machine Learning


32
Clustering Jerárquico

El dendograma nos puede ayudar a determinar el numero adecuado de agrupamientos (aunque


normalmente no será tan facil).
© Profesores del Curso – Machine Learning
33
Clustering Jerárquico

© Profesores del Curso – Machine Learning


34
Clustering Jerárquico

© Profesores del Curso – Machine Learning


35
Clustering Jerárquico

© Profesores del Curso – Machine Learning


36
Clustering Jerárquico

© Profesores del Curso – Machine Learning


37
Clustering Jerárquico

© Profesores del Curso – Machine Learning


38
Clustering Jerárquico

© Profesores del Curso – Machine Learning


39
Clustering Jerárquico

© Profesores del Curso – Machine Learning


40
Clustering Jerárquico

© Profesores del Curso – Machine Learning


41
Clustering Jerárquico

© Profesores del Curso – Machine Learning


42
Aplicaciones

• Aplicaciones • También se usa como paso previo a


• Reconocimiento de formas. otras técnicas de Minería de Datos:
• Mapas temáticos (GIS) • Exploración de datos
• Marketing: Segmentación de (segmentación & outliers)
clientes • Preprocesamiento (p.ej.
• Clasificación de documentos reducción de datos)
• Análisis de web logs
(patrones de acceso
similares)
• …

© Profesores del Curso – Machine Learning


43
TALLER

© Profesores del Curso – Machine Learning


44
Machine
Learning

Semana 13 : Bosque Aleatorio (Random Forest)


© Profesores del Curso – Machine Learning
1
Contenido

• Árbol de Decisión
• Curva ROC

© Profesores del Curso – Machine Learning


2
Bosque Aleatorio (Random Forest)

© Profesores del Curso – Machine Learning


3
Definición

• El bosque aleatorio (o bosques aleatorios) es un clasificador de


conjunto que consta de muchos árboles de decisión y genera la clase
que es el modo de salida de la clase por árboles individuales.
• El término proviene de bosques de decisión aleatoria que fue
propuesto por primera vez por Tin Kam Ho de Bell Labs en 1995.
• El método combina la idea de “Bagging" de Breiman y la selección
aleatoria de características.

© Profesores del Curso – Machine Learning


4
Ventajas y Desventajas de RANDOM FOREST
Ventajas: Desventajas:
• Desempeño competitivo. • A través de la precisión muchas veces no puede
• Produce un clasificador de alta precisión para competir con algoritmos avanzandos de Boosting.
muchos conjunto de datos. • Puede llegar a ser lentos en grande conjunto de
• Puede manejar miles de variables de entrada sin datos.
eliminarlas.

• Da estimaciones de qué variables son importantes en


la clasificación.

• Genera una estimación interna no sesgada del error


de generalización a medida que avanza la
construcción del bosque.

© Profesores del Curso – Machine Learning


5
Partición binaria

Objetivo: Minimizar la disimilitud de los Nodos terminales


© Profesores del Curso – Machine Learning
6
Partición binaria
Atributo Numérico: División numérica para
minimizar la función de pérdida.

Atributo Categórico: División categórica para


minimizar la función de pérdida.

Atributo Multiclase: Ordena las entidades de clases según la


variable objetivo media (regresión) o la proporción de clase
(clasificación) y elije dividir para minimizar la función de
pérdida.
© Profesores del Curso – Machine Learning
7
Tree Depth = 1 (Decision Stump)

© Profesores del Curso – Machine Learning


8
Tree Depth = 3

© Profesores del Curso – Machine Learning


9
Tree Depth = 20 (Complex Tree)

© Profesores del Curso – Machine Learning


10
Efectos de cambiar profundidad del Árbol

© Profesores del Curso – Machine Learning


11
¿Como funciona el Random Forest?
• Un Random Forest es un conjunto (ensamble)
de arboles de decisión combinados con
bagging.
• Al usar bagging, lo que en realidad está
pasando, es que distintos árboles ven distintas
porciones de los datos.
• Ningún árbol ve todos los datos de
entrenamiento.
• Esto hace que cada árbol se entrene con
distintas muestras de datos para un mismo
problema.
• De esta forma, al combinar sus resultados,
unos errores se compensan con otros y
tenemos una predicción que generaliza mejor.

© Profesores del Curso – Machine Learning


12
Bagging : Bootstrap Aggregating

1. Registros de muestra con reemplazo


("bootstrap" data entrenamiento)
Muestreo es el proceso de seleccionar un subconjunto de
elementos de una amplia colección de elementos.
Bootstrap = Muestreo con reemplazo. Significa que un punto
de datos en una muestra extraída también puede reaparecer
en futuras muestras extraídas.

2. Fit un arbol mas grande es reemplazado


en el data set

3. Average predicciones

© Profesores del Curso – Machine Learning


13
Bagging : Bootstrap Aggregating
A medida que agregamos más árboles Nuestro error de predicción promedio se reduce

© Profesores del Curso – Machine Learning


14
Random Forest
• El bosque aleatorio se identifica como una
colección de árboles de decisión. Cada árbol
estima una clasificación, y esto se llama un “voto”.
Idealmente, consideramos cada voto de cada
árbol y elegimos la clasificación más votada
(Mayoría-Votación).
• Random Forest sigue el mismo proceso de bagging
que los árboles de decisión, pero cada vez que se
realiza una división, la búsqueda de la variable
dividida se limita a un subconjunto aleatorio de
“m” de los “p” atributos (variables o atributos),
también conocida como aleatorización de
atributos divididos:
• Classification trees: m = √p
• Regression trees: m = p/3
• m se conoce comúnmente como mtry
• Los bosques aleatorios producen muchos árboles
únicos.
© Profesores del Curso – Machine Learning
15
Bagging vs Random Forest

• El Bagging introduce aleatoriedad en las


filas de los datos.
• El bosque aleatorio introduce aleatoriedad
en las filas y columnas de los datos.
• Combinado, esto proporciona un conjunto
más diverso de árboles que casi siempre
reduce nuestro error de predicción.

Aleatorización de atributo dividido: error de


predicción.
© Profesores del Curso – Machine Learning
16
Random Forest : Observaciones Out-of-Bag (OOB
• Para un “N” lo suficientemente grande,
en promedio el 63,21% de los registros
originales terminan en cualquier
muestra de “arranque” (Bootstrap).
• Aproximadamente el 36,79% de las
observaciones no se utilizan en la
construcción de un árbol en particular.
• Estas observaciones se consideran out-
of-bag (OBB) y se pueden usar para una
evaluación eficiente del rendimiento
del modelo (validación cruzada no
estructurada, pero gratuita).

© Profesores del Curso – Machine Learning


17
Bagging
• Bagging o Bootstrap es una técnica usada para reducir la varianza de las predicciones a
través de la combinación de los resultados de varios clasificadores, cada uno de ellos
modelados con diferentes subconjuntos tomados de la misma población.

© Profesores del Curso – Machine Learning


18
Bias – Compensación Varianza

© Profesores del Curso – Machine Learning


19
Bagging
Crear la muestra de bootstrap
Desde la data de entrenamiento

M Atributos
N Ejemplos

....…

© Profesores del Curso – Machine Learning


20
Random Forest Clasificación
Construct a decision tree

M features
N examples

....…

© Profesores del Curso – Machine Learning


21
Random Forest Clasificación

M Atributos
N ejemplos

Toma la
Mayoria
de los

....…
....…
Votos

© Profesores del Curso – Machine Learning


22
Out of bag de la muestra y out of bag del error
• El proceso de muestreo de los datos con reemplazo se denomina bootstrap.
• Un tercio de los datos no se usan para el entrenamiento y pueden ser usados para test.
• Este conjunto se denomina out of bag (OOB )samples.

• El error estimado en estos out of bag samples se conoce como out of bag error (OOB error)
• Usar este conjunto de test (OOB) es tan preciso como si se usara un conjunto de test del mismo tamaño
que el de entrenamiento.
• Sería posible no usar un conjunto de test adicional.
© Profesores del Curso – Machine Learning
23
Entrena y Valida
Random Forest

© Profesores del Curso – Machine Learning


24
TALLER

© Profesores del Curso – Machine Learning


25
Machine
Learning

Semana 14 : Algoritmos Genéticos


© Profesores del Curso – Machine Learning
1
Contenido

• Introducción
• Problema

© Profesores del Curso – Machine Learning


2
Introducción

© Profesores del Curso – Machine Learning


3
Introducción

• Propuestos por Holland, mediados 70,


computación evolutiva.
• Popularizados por Goldberg, mediados
80, solución de problemas del mundo
real.
• Inspirados en el modelo de evolución
biológica sexual
• Aplicables a problemas de búsqueda y
optimización complejos

© Profesores del Curso – Machine Learning


4
Aproximación a la evolución biológica

• Método de búsqueda y
optimización inspirados en la
evolución biológica.
• Posibles soluciones: población.
• Selección de los individuos más
aptos.
• Generación de nuevos
candidatos: reproducción sexual.
• Recombinación (cruce)
• Mutación
© Profesores del Curso – Machine Learning
5
Esquema básico Estrategias Optimizadora
función ALGORITMO-GENÉTICO(poblaciónInicial) de la Naturaleza
returns una población
entrada: poblaciónInicial, una población o SELECCIÓN NATURAL: supervivencia de los fuertes (Darwin)
static: población(.), un array de población
begin o REPRODUCCIÓN SEXUAL: genética Mendeliana
t0
o DIVERSIDAD: recombinación al azar y mutación
población(t)  poblaciónInicial
EVALUAR(población(t))
➢ ALGORITMOS GENÉTICOS: Técnica de optimización basada en
while (not condiciónTerminación) do
la selección natural y la adaptación de los seres vivos al medio
t  t +1
ambiente
población1  SELECCIONAR(población(t-1))
• HOLLAND (1975) : “Adaptation in Natural and Artificial
población2  CRUZAR(población1) Systems”
población3  MUTAR(población2)
• KOZA (1992) : “Genetic Programing. On the programming
población(t)  REMPLAZAR(población3) of computers by means of Natural Selection”.
end
return(población(t))
end
© Profesores del Curso – Machine Learning
6
Codificación

• Individuo: cromosoma o Cromosomas : representan posibles soluciones

• Cromosoma: cadena de o Genes: representan las variables a optimizar


caracteres • Opt F(x,y,z)
• En principio, cualquier • 0≤x≤6 , 0≤y≤17 , 0≤z≤30
representación es válida
• Codificación óptima: alfabeto • Ejemplo de solución en código binario: ( 5 , 9 , 18)
binario (teorema de los • 5=1·(22) + 0 ·(21) + 1 ·(20)
esquemas) • 9=1·(23 ) + 0 ·(22 ) + 0 ·(21 ) + 1 ·(20 )
• 18=1·(24 ) + 0 ·(23 ) + 0 ·(22 ) + 1 ·(21 ) + 0 ·(20 )
• Codificación habitual: cadena • 1 0 1 || 1 0 0 1 || 1 0 0 1 0
de bits

© Profesores del Curso – Machine Learning


7
Selección Natural

• Partimos de una población inicial de cromosomas elegidos al azar.


• Eliminamos los peor dotados

© Profesores del Curso – Machine Learning


8
Diversidad Genética
1
1
1
0
0
0
1 0
1 0
1 0

1 0 0
1 0 0
1 0 0

1
1
1

RECOMBINACIÓN
• Intercambio de información que permite:
• Diversidad genética.
• Intercambio de información.
• Adaptación al medio ambiente.

© Profesores del Curso – Machine Learning


9
Mutación

o Introduce shocks aleatorios en los cromosomas


o Garantiza la diversidad de la Población.
• Explora cada zona del espacio de búsqueda
• Evita convergencia hacia óptimos locales

Gen 1 Gen 2 1010101 …. Gen k

• Mutación en el GEN3 : 1 0 1 0 1 0 1 1010001

• Puede dañar las buenas estructuras


• Considerar una probabilidad de mutación baja.
© Profesores del Curso – Machine Learning
10
Algoritmos Genéticos con Parámetros continuos

cromosoma =  p1 , p2 ,......, pN  pi , i = 1....N decimal

Recombinación:
padre =  p p1 , p p 2 ,..... p p ....., p pN  

madre =  pm1 , pm 2 ,..... pm ....., pmN 
pnew 1 =  p p + (1 −  ) pm 
 (    0,1)
pnew 2 = (1 −  ) p p +  pm 

descendiente1 =  p p1 , p p 2 ,..... pnew1 ....., p pN 


descendiente2 =  pm1 , pm 2 ,..... pnew2 ....., pmN 

© Profesores del Curso – Machine Learning


11
Definir
parámetros

Población inicial

Estructura
de cromosomas

Secuencial de Formar ranking cromosomas

un Algoritmo Seleccionar parejas de

Genético los mejores cromosomas

Recombinar

Mutaciones

Nueva población de los


mejores y sus
descendientes

Criterio convergencia

STOP

© Profesores del Curso – Machine Learning


12
Diferencias entre Algoritmos Genéticos y los
métodos tradicionales de búsqueda

1. Trabajan con la codificación del conjunto de parámetros, no con los


parámetros.

2. Buscan a partir de una población de puntos, no un punto único.

3. Usan información de una función objetivo (o más), no derivadas u


otro conocimiento adicional.

4. Usan reglas de transición probabilísticas, no reglas determinísticas.

© Profesores del Curso – Machine Learning


13
Problema

© Profesores del Curso – Machine Learning


14
Problema
Usar un algoritmo genético para maximizar la función f(x) = x2 en el
rango x ={0, ..., 31}. (Supongamos que x es entero). La función se
muestra a continuación:

© Profesores del Curso – Machine Learning


15
Generación de la población inicial
Para usar un algoritmo genético primero debemos
codificar las variables de decisión de nuestro CADENA
POBLACION
VALOR
INICIAL
NUMERO DE X
problema en un conjunto de cadenas de longitud (GENERADA
AL AZAR)

finita. Hacemos esto codificando la variable ‘x’ en


un conjunto de 5 bits. 01101
11000
01000
Ejemplo de solución en código binario: 10011
13=0·(24 ) + 1 ·(23 ) + 1 ·(22 ) + 0 ·(21 ) + 1 ·(20 )
24=1·(24 ) + 1 ·(23 ) + 0 ·(22 ) + 0 ·(21 ) + 0 ·(20 )
8=0·(24 ) + 1 ·(23 ) + 0 ·(22 ) + 0 ·(21 ) + 0 ·(20 )
19=1·(24 ) + 0 ·(23 ) + 0 ·(22 ) + 1 ·(21 ) + 1 ·(20 )
01101 || 11000 || 01000 || 10011
© Profesores del Curso – Machine Learning
16
Cálculo de f(x)

POBLACION
CADENA INICIAL VALOR f(x)=x2
NUMERO (GENERADA DE X
AL AZAR)
1 01101 13 169
2 11000 24 576
3 01000 8 64
4 10011 19 361
VALORES DE
APTITUD O
ADAPTACION

SUMA = 1170

© Profesores del Curso – Machine Learning


17
Cálculo del valor de ajuste

Luego debemos maximizar f(x).


Definimos: valor de aptitud = f(x) = x2
El valor de aptitud, también llamado función objetivo, en este caso es uno
solo. En la realidad, normalmente optimizamos una función multiobjetivo, o
un vector de funciones objetivo.
Para poder realizar la reproducción debemos calcular los valores de
probabilidad de selección.

Probabilidad selección =

© Profesores del Curso – Machine Learning


18
Cálculos resultantes

POBLACION VALORES CANTIDAD REAL


CADENA INICIAL VALOR DE PROBAB. CANTIDAD
(usando Roulette
SELECC. ESPERADA
NUMERO (GENERADA DE X APTITUD fi/f fi /fMEDIO Wheel)
AL AZAR) f(x)=x2

1 01101 13 169 0.14 0.58 1


2 11000 24 576 0.49 1.97 2
3 01000 8 64 0.06 0.22 0
4 10011 19 361 0.31 1.23 1
1170 1 4 4
Σf =
fMedio = 293 0.25 1 1
MAXIMO = 576 0.49 1.97 2

© Profesores del Curso – Machine Learning


19
Reproducción

La siguiente generación de cadenas se produce aplicando primeramente


el operador reproducción.
Seleccionamos las cadenas de la generación actual que habrán de ser
copiadas en el pool de la generación próxima, usando reproducción como
proceso de multiplicación. Esto producirá un pool de cadenas con altos
valores de aptitud.
Seleccionamos el pool de la próxima generación haciendo girar cuatro
veces la rueda de ruleta con zonas asignadas en proporción a la aptitud de
cada cadena.
© Profesores del Curso – Machine Learning
20
Entrecruzamiento
Las cadenas del pool de apareamiento se aparearán al aplicar este
operador.
Un procedimiento posible es:
▪ Las cadenas se aparean al azar.
▪ Las parejas de cadenas apareadas se entrecruzan produciendo
generalmente nuevas cadenas.
Usando un método al azar de selección de parejas seleccionamos: cadena
4 entrecruza con cadena 2 y cadena 2 entrecruza con cadena 4.
Ahora debemos seleccionar la posición de bit k donde tendrá lugar el
entrecruzamiento. k se obtiene al azar.
© Profesores del Curso – Machine Learning
21
Tabla de pares y entrecruzamiento

VALORES DE
POOL DE PAREJA POSICION DEL VALOR
NUEVA APTITUD
APAREAMIENTO SELECCIONADA ENTRECRUZAM. DE X
POBLACION
LUEGO DEL AL AZAR (ELEGIDO AL
ENTRECRUZAM. AZAR) f(x)=x2

0110Z1 2 4 01100 12 144


1100Z0 2 4 11001 25 625
11Z000 4 2 11011 27 729
10Z011 4 2 10000 16 256
Z = posición. Suma = 1754
de entrecruz.
Max = 729

© Profesores del Curso – Machine Learning


22
Nota

Ya podemos ver que luego de una iteración parcial o en medio del camino
en la producción de una generación hemos incrementado la suma de las
funciones objetivo de 1170 a 1754, y el valor máximo se ha incrementado
de 576 a 729.

Hemos seleccionado un mejor conjunto de valores x, que provee una


aptitud maximizada f(x) = x2 mayor que nuestras 4 selecciones iniciales.

© Profesores del Curso – Machine Learning


23
Mutación

El último operador, MUTACION, se aplica bit a bit. Asumamos que la


probabilidad de mutación en esta prueba es

P(mut) = 0.001.

Con 20 bits en las cuatro cadenas esperamos que muten:

20 * 0.001 = 0.02 bits

© Profesores del Curso – Machine Learning


24
Mutación

Durante una generación se espera entonces que 0.02 bits sufran


mutación.

La simulación de este proceso indica que ningún bit sufre mutación con
este valor de probabilidad, por lo menos en esta prueba. Normalmente,
esto se hubiera llevado a cabo en un programa que usa un generador de
números al azar, y puede haber una posibilidad.

Como resultado no habrá cambio de bits de 0 a 1 o vice versa durante


esta generación.
© Profesores del Curso – Machine Learning
25
Mutación

Nota: Una vez que todo el proceso:

• Reproducción
• Entrecruzamiento
• Mutación

se ha completado para producir una nueva generación, podemos


calcular nuestros nuevos valores objetivo como se mostró
previamente en la tabla de entrecruzamiento.

© Profesores del Curso – Machine Learning


26
Principales Ventajas de los Algoritmos Genéticos

• No requieren ni continuidad ni derivabilidad de la función objetivo.


• Optimizan tanto funciones de variable continuas o discretas.
• Es posible optimizar funciones de un gran número de variables.
• Al tratarse de un proceso de optimización aleatorio (recombinación y mutación). El
algoritmo puede salir de los óptimos locales.
• Pueden optimizar funciones muy complejas.
• Los algoritmos genéticos pueden trabajar con datos generados numéricamente,
datos experimentales o funciones analíticas.
• En el peor caso proporciona una colección de soluciones sub-óptimas.
• Permite el tratamiento multiobjetivo con facilidad.
© Profesores del Curso – Machine Learning
27
TALLER

© Profesores del Curso – Machine Learning


28
Machine
Learning

Semana 15 : Procesamiento de Lenguaje Natural


© Profesores del Curso – Machine Learning
1
Contenido

• Árbol de Decisión
• Curva ROC

© Profesores del Curso – Machine Learning


2
Métodos de Agrupamiento

© Profesores del Curso – Machine Learning


3
Introducción

• Disciplina de la inteligencia artificial que se ocupa de la formulación e


investigación de mecanismos computacionales para comunicación
entre personas y maquinas mediante el uso de lenguajes naturales.
• Los lenguajes naturales son utilizados en la comunicación humana, ya
sean escritos, hablados o signados.

© Profesores del Curso – Machine Learning


4
Aplicación del Procesamiento Lenguaje
Natural
• Comprensión del lenguaje
• Recuperación de la información
• Extracción de la información
• Búsqueda de respuestas
• Generación de discurso
• Traducción automática
• Reconstrucción del discurso

© Profesores del Curso – Machine Learning


5
Análisis del Lenguaje

Análisis de palabras para


Extracción del significado o Análisis extraer raíces, rasgos flexivos,
posibles significado de las Morfológico unidades léxicas compuestas y
frases.
otros fenómenos

Análisis Análisis
Pragmatico
LENGUAJE Sintatico

© Profesores del Curso – Machine Learning


6
Técnicas de Análisis de Lenguaje

• Las distintas frases del análisis del lenguaje se afrontan con las
siguientes técnicas:
• Técnicas Lingüísticas formales: Se basan en el desarrollo de reglas
estructurales que se aplican a la frase de análisis del lenguaje.
• Técnicas probabilísticas: Se basan en el estudio en base a un conjunto
de textos de referencia (CORPUS) de característica de tipo
probabilístico asociadas a distintas fases del análisis del lenguaje.

© Profesores del Curso – Machine Learning


7
Ejemplo: Gramática de Contexto

© Profesores del Curso – Machine Learning


8
TALLER

© Profesores del Curso – Machine Learning


9

También podría gustarte