Machine
Learning
Semana 09 : Red Neuronal Artificial (RNA)
© Profesores del Curso – Machine Learning
1
Contenido
• Red Neuronal Artificial
• Arquitectura de Perceptrón Multicapa
• Arquitectura Base Radial
© Profesores del Curso – Machine Learning
2
Red Neuronal Artificial
© Profesores del Curso – Machine Learning
3
Neurona Biológica vs Neurona Artificial
© Profesores del Curso – Machine Learning
4
Perceptrón
© Profesores del Curso – Machine Learning
5
Perceptrón - McCulloch y Pits (1943)
Función de Activación
Función de Activación Bias
No-Lineal
Salida
Ejemplo: Función Sigmoide
Entradas Peso Suma No-Lineal Salida
© Profesores del Curso – Machine Learning
6
Rosenblatt (1956) Algoritmo de Entrenamiento de
Perceptrón
© Profesores del Curso – Machine Learning
7
Perceptrón: Simplificado
Entradas Peso Suma No-Lineal Salida
© Profesores del Curso – Machine Learning
8
Perceptrón: Ejemplo
© Profesores del Curso – Machine Learning
9
Perceptrón: Ejemplo
© Profesores del Curso – Machine Learning
10
Otras funciones de activación del
Perceptrón
© Profesores del Curso – Machine Learning
11
Importancia de la Función de Activación
El propósito de la función de activación es para introducir No- Linealidad dentro del Red Neuronal
¿Qué pasa si queremos construir una red neuronal para distinguir
los puntos verdes de los rojos?
© Profesores del Curso – Machine Learning
12
Importancia de la Función de Activación
El propósito de la función de activación es para introducir No- Linealidad dentro del Red Neuronal
La función de activación produce decisiones La No-Linealidad nos permite ajustar
lineales no importando el tamaño de la Red. funciones complejas arbitrariamente.
© Profesores del Curso – Machine Learning
13
Construyendo Redes Neuronales con Perceptrones
© Profesores del Curso – Machine Learning
14
Red Neuronal de una Capa Oculta o Base Radial
© Profesores del Curso – Machine Learning
15
Redes Perceptron Multicapas
© Profesores del Curso – Machine Learning
16
Algoritmo de Aprendizaje Profundo
• La profundidad en la red incrementa su flexibilidad.
• Pueden usarse redes con millones de parámetros.
• La profundidad evita el overfitting
© Profesores del Curso – Machine Learning
17
Gradiente Descendente
© Profesores del Curso – Machine Learning
18
Optimización de Perdidas
Queremos encontrar los pesos de la Red Neuronal que alcance la perdida mas baja.
1. Se elige al azar un peso inicial (Wo, Wi)
2. Se calcula el gradiente Recordar: Las perdidas es una
3. Toma un pequeño paso en dirección opuesta al
función de los pesos de la Red
gradiente.
4. Se repite hasta que converge Neuronal.
+
++
++
+
+
+
© Profesores del Curso – Machine Learning
19
Gradiente Descendente
Algoritmos
1. Inicializar aleatoriamente los Pesos
2. Hacer un Loop hasta que converge
3. Calcular el gradiente
4. Actualizar los pesos
5. Retorna el peso y actualizar
© Profesores del Curso – Machine Learning
20
Algoritmos de Gradiente Descendente
Algoritmos Implementación TF Referencias
© Profesores del Curso – Machine Learning
21
Red Neuronal en la Practica.
Overfitting
© Profesores del Curso – Machine Learning
22
Entrenamiento de Redes Neuronales
• Elección del conjunto inicial de pesos
• Detención del proceso de aprendizaje (¿cuántas épocas entrenar?)
• Evitar sobreajuste (Overfitting): cross-validation
• Escalamiento de los inputs
• Topología: Número de unidades (neuronas) en la capa oculta
• Trade off entre precisión y capacidad de generalizar
• Mínimo múltiple
© Profesores del Curso – Machine Learning
23
Overfitting
• Modelos con demasiados parámetros consigue un perfecto ajuste intra-
muestral pero poca capacidad predictiva.
• Criterios de información en la bondad de ajuste
• Cross-validation: validar el modelo en un conjunto de datos diferente del que se
ha entrenado.
© Profesores del Curso – Machine Learning
24
No Seleccionar el mejor Modelo sobre los datos de
Entrenamiento
• Dividir la base de datos en tres subconjuntos
• Conjunto de entrenamiento:
• Ajustar todos los modelos
• Conjunto de validación:
• Seleccionar el mejor de modelo
• Conjunto test
• Error real cometido del modelo seleccionado
© Profesores del Curso – Machine Learning
25
Cross-Validation: Remedio Eficaz contra Overfitting
• El comportamiento de la verosimilitud en el conjunto de
entrenamiento no es un buen indicador.
• Usar conjunto de validación de datos independientes para valorar el
comportamiento de un modelo.
• Validación cruzada: dividir los datos en S grupos; usar S-1 para
entrenamiento.
• Aproximar la verosimilitud
1 S
(
CV ( ) = i =1 L yi , fˆ − Si ( xi , )
S
)
1 S
(yi − yˆ ( xi , ) )
− Si 2
i =1
S
© Profesores del Curso – Machine Learning
26
BIAS Variance Trade-off - Otra visión del Overfitting
• Los estimadores polinomiales de alto grado ajustan mejor los datos
pero fluctúan extramuestralmente
© Profesores del Curso – Machine Learning
27
BIAS Variance Trade-Off
• La curva verde representa la
función real, los polinomios de
estimación están en azul.
• Los estimadores polinomiales
con grado mayor ajustan mejor
y presentan menor sesgo, pero
fluctúan mucho de acuerdo a
los datos de entrada.
• Es decir a mayor complejidad
mayor varianza.
© Profesores del Curso – Machine Learning
28
BIAS Variance Trade-Off
© Profesores del Curso – Machine Learning
29
BIAS Variance Trade-Off
• Generación de datos con una función desconocida
y = f ( x ) + , E ( ) = 0 , Var ( ) = 2
• Aproximación de f(x) con 𝑓መ 𝑥 minimizando el ECM
( )
n
yi − fˆ ( xi )
2
i =1
• Esperanza cuadrado del error=𝐬𝐞𝐬𝐠𝐨𝟐 +varianza
(
E y − fˆ ( x ) ) ( )
= Sesgo fˆ x 2 + Var fˆ x + 2
( ) ( ) ( )
2
(
Sesgo fˆ ( x ) ) = E f ( x ) − fˆ ( x )
( ) ( )
2
Var fˆ ( x ) = E fˆ ( x ) − E fˆ ( x ) = E fˆ ( x ) − E fˆ ( x )
2 2
© Profesores del Curso – Machine Learning
Fernando Fernández 30Rodríguez (ULPGC) 30
La Maldición de la Dimensionalidad
• Cuando aumenta el número de variables se requiere un aumento exponencial del
número de observaciones para conseguir significatividad estadística.
© Profesores del Curso – Machine Learning
31
La Maldición de la Dimensionalidad
• Los datos disponibles se vuelven dispersos al aumentar el número de
variables (dimensión).
• Número medio de objetos en un hipercubo de lado 5
• Intervalo: 20/4, Cuadrado: D=20/4^2=1.25
• Cubo : 20/4^3=0.3125
© Profesores del Curso – Machine Learning
32
La Maldición de la Dimensionalidad
• Capturar fracción V% de volumen de un hipercubo
• Longitud del lado esperado en dimensión 10
L10 (V = 0.01) = 0.63 → 63%
V = Lado p Lado = V 1/ p
L10 (V = 0.1) = 0.80 → 80%
© Profesores del Curso – Machine Learning
33
Multicolinealidad
• Con muchas observaciones aumenta la potencia de los contrastes de
significación de los parámetros.
• Demasiadas variables explicativas con información redundante conduce a
la multicolinealidad.
Y = 0 + 1 X 1 + ... + p X p +
= ( X´X ) X´y , var ( ) = 2 ( X´X )
−1 −1
• Multicolinealidad se traduce en varianzas muy grandes de los parámetros.
• Pequeñas variaciones en los datos pueden conducir a grandes variaciones
de los coeficientes MCO.
© Profesores del Curso – Machine Learning
34
Evitar la Multicolinealidad
• Reducción del Número de Variables
• Componente Principal
• STEPWISE
• Regularización
© Profesores del Curso – Machine Learning
Fernando Fernández 35Rodríguez (ULPGC) 35
Regularización
• ¿Qué es esto?
• Son técnicas que restringen nuestro problema de optimización
para desalentar modelos complejos.
• ¿Por qué necesitamos de ello?.
• Mejora la generalización de nuestro modelo en datos no
visibles.
© Profesores del Curso – Machine Learning
36
Regularización 1: Dropout (Deserción)
Durante el entrenamiento, establezca aleatoriamente algunas activaciones en 0.
• Por lo general, cae el 50 % de las activaciones en la capa.
• Obliga a la red a no depender de ningún nodo I
© Profesores del Curso – Machine Learning
37
Regularización 2: Early Stopping
Dejar de entrenar antes de que tengamos la oportunidad de sobreajustar
Underfitting Overfitting
Para el
Leyenda:
entrenamiento
Perdidas aquí Testing
Entrenamiento
Iteraciones de Entrenamiento
© Profesores del Curso – Machine Learning
38
Calculo de Capas Ocultas para determinar Neuronios
1 CAPA OCULTA 𝐶𝑎𝑝𝑎 𝑂𝑐𝑢𝑙𝑡𝑎 = 𝑁𝑒𝑢𝑟𝑜𝑛𝑖𝑜𝑠 𝐶𝑎𝑝𝑎 𝑒𝑛𝑡𝑟𝑎𝑑𝑎 𝑥 𝑁𝑒𝑢𝑟𝑜𝑛𝑖𝑜𝑠 𝐶𝑎𝑝𝑎 𝑠𝑎𝑙𝑖𝑑𝑎
3 𝑁𝑒𝑢𝑟𝑜𝑛𝑖𝑜𝑠 𝐶𝑎𝑝𝑎 𝑒𝑛𝑡𝑟𝑎𝑑𝑎
2 CAPAS OCULTA 𝑟𝑎𝑧𝑜𝑛 = 𝑟 =
𝑁𝑒𝑢𝑟𝑜𝑛𝑖𝑜𝑠 𝐶𝑎𝑝𝑎 𝑠𝑎𝑙𝑖𝑑𝑎
𝐶𝑎𝑝𝑎 𝑂𝑐𝑢𝑙𝑡𝑎 1 = 𝑁𝑒𝑢𝑟𝑜𝑛𝑖𝑜𝑠 𝐶𝑎𝑝𝑎 𝑠𝑎𝑙𝑖𝑑𝑎 𝑥 𝑟 2
𝐶𝑎𝑝𝑎 𝑂𝑐𝑢𝑙𝑡𝑎 2 = 𝑁𝑒𝑢𝑟𝑜𝑛𝑖𝑜𝑠 𝐶𝑎𝑝𝑎 𝑠𝑎𝑙𝑖𝑑𝑎 𝑥 𝑟
© Profesores del Curso – Machine Learning
39
Aplicaciones
• Análisis y Procesado de señales
• Reconocimiento de Imágenes
• Control de Procesos
• Filtrado de ruido
• Robótica
• Procesado del Lenguaje
• Diagnósticos médicos
• Otros
© Profesores del Curso – Machine Learning
40
Revisión Final
Practicas de
El Perceptrón Red Neuronal
Entrenamiento
• Construye estructuralmente los • Agrupamiento de • Aprendizaje Adaptativo
Blocks. Perceptrones para formar una • Batches
• Funciones de Activación No red neuronal. • Regularización
Lineal. • Optimización a través de
Backpropagation.
© Profesores del Curso – Machine Learning
41
TALLER
© Profesores del Curso – Machine Learning
42
Machine
Learning
Semana 10 : Arboles de Decisión (Decision Tree)
© Profesores del Curso – Machine Learning
1
Contenido
• Árbol de Decisión
• Curva ROC
© Profesores del Curso – Machine Learning
2
Árbol de Decisión
© Profesores del Curso – Machine Learning
3
¿Qué es un árbol de decisión?
Temperatura
del Cuerpo
• Un árbol de decisión es un árbol Sangre Sangre
en el cual cada nodo representa Caliente Fría
una elección entre un número de
alternativas, y cada nodo de hoja No
Dan a Luz
representa una decisión. Mamíferos
• Es un tipo de algoritmo de
Sí No
aprendizaje supervisado.
No
4 Patas
Mamíferos
No
Mamíferos Mamíferos
© Profesores del Curso – Machine Learning
4
Problemas apropiados de Árbol de Decisión
• Instancias son representadas por pares
atributo-valor.
• La función objetivo tiene valores
atributos discretos.
• Los datos de entrenamiento pueden
contener errores.
• El entrenamiento de datos puede tener
valores de atributos ausentes.
© Profesores del Curso – Machine Learning
5
¿Cómo seleccionar el nodo de decisión?
¿Cuál es le mejor clasificador?
© Profesores del Curso – Machine Learning
6
Construyendo el Árbol de Decisión
Nodo Intermedio:
Atributo
Borde: Valor
Atributo
Valor Valor
Atributo Valor Atributo
Atributo
Valor
Salida
Valor Valor Valor Valor
Atributo Atributo Atributo Atributo
Valor Valor Valor Valor
Salida Salida Salida Salida
Nodo Salida:
Atributo Salida
© Profesores del Curso – Machine Learning
7
Representación del Árbol de Decisión
Conjunción
Disyunción
© Profesores del Curso – Machine Learning
8
Impureza en los Nodos
Podemos concluir:
• Nodos impuros requieren menos información para ser descritos.
• Nodos mas impuros requieren mas información.
La teoría de la información es una métrica para definir este grado de
desorganización en un sistema conocido como teoría de la ENTROPIA.
© Profesores del Curso – Machine Learning
9
Entropía – Es una métrica que homogeneidad de un conjunto de
aprendizaje.
• Entropía es una métrica de incertidumbre acerca de una fuente de
mensajes.
• Dada una colección S, que contiene ejemplos positivos y negativos de
algún concepto objetivo, la entropía de S relativa a esta clasificación
booleana (yes/no) es:
© Profesores del Curso – Machine Learning
10
Entropía
Ganancia de información = Entropía (nodo padre) – [Promedio Entropía(nodo hijo)]
La función entropía relativa para una
clasificación booleana como la proporción
p(+) de varios ejemplos positivos entre 0 y 1.
• Entropía es 0 si todos los miembros de S
pertenecen a la misma clase.
• Entropía es 1 si un igual de números de
ejemplos en la proporción de p(+) y p(-).
• Entropía es entre 0 y 1 si la colección
contiene un desigual de números de
ejemplos en la proporción de p(+) y p(-).
© Profesores del Curso – Machine Learning
11
Principios de División de Nodos
• El nodo raíz se divide para obtener la máxima ganancia de
información.
• El aumento de nodos en el árbol puede provocar un sobreajuste.
• La división continúa hasta que cada una de las hojas alcance la pureza
(en uno de los posibles resultados).
• También se puede realizar la poda, lo que significa la eliminación de
ramas que utilizan características de poca importancia.
• Índice de Gini = Entropía
• Si la distribución es uniforme, la entropía es 1.
© Profesores del Curso – Machine Learning
12
Ejemplo: Árbol de Decisión
• Se clasifican las instancias desde la raíz hacia las hojas, las cuales proveen la
clasificación.
• Cada nodo especifica el test de algún atributo.
• Ejemplo: Si
(Cielo = Soleado, Temperatura = Caliente, Humedad = Alta, Viento = Fuerte)
¿Puedo jugar al tenis?
© Profesores del Curso – Machine Learning
13
Juego Tenis
Cielo
Soleado Nublado Lluvioso
Si
Humedad Viento
Alto Normal Fuerte Débil
No Si No Si No Si No Si
© Profesores del Curso – Machine Learning
14
Juego Tenis
• Disyunción de conjunciones:
(Panorama = Soleado And Humedad = Normal)
Or (Panorama = Nublado)
Or (Panorama = Lluvioso And Viento = Fuerte)
© Profesores del Curso – Machine Learning
15
Juego Tenis
Dia Cielo Temperatura Humedad Viento Juego Tenis
D1 Soleado Caliente Alta Débil No
D2 Soleado Caliente Alta Fuerte No
D3 Nublado Caliente Alta Débil Si
D4 Lluvioso Templado Alta Débil Si
D5 Lluvioso Frio Normal Débil Si
D6 Lluvioso Frio Normal Fuerte No
D7 Nublado Frio Normal Fuerte Si
D8 Soleado Templado Alta Débil No
D9 Soleado Frio Normal Débil Si
D10 Lluvioso Templado Normal Débil Si
D11 Soleado Templado Normal Fuerte Si
D12 Nublado Templado Alta Fuerte Si
D13 Nublado Caliente Normal Débil Si
D14 Lluvioso Templado Alta Fuerte No
© Profesores del Curso – Machine Learning
16
Algoritmos: ID3 (Interactive Dichotomizer Vers. 3)
• Entropía
En general: Entropía(S) = - i=1,c pi log2 pi
Entropía(S) - p log2 p - pQ log2 pQ
p = proporción de ejemplos positivos - (Si).
pQ = proporción de ejemplos negativos - (No).
S: conjunto de datos actual.
Por ejemplo, en el conjunto de datos Play Tennis: p = 9/14, pQ = 5/14
E(S) = -9/14*Log2(9/14) - 5/14*Log2(5/14) =
E(S) = -0.6429*(-0.6374) – 0.3571*(-1.4584) =
E(S) = 0.9403
© Profesores del Curso – Machine Learning
17
Algoritmos: ID3 (Interactive Dichotomizer Vers. 3)
• Humedad Alta (7)
• Humedad Normal (7)
Si : S1 es el subconjunto de S en el cual
Si : S1 es el subconjunto de S en el cual
Humedad = Alta Humedad = Normal
Entonces: Entonces:
• p = 3/7 (Hay 3 [Si] de 7 [Humedad Alta] ) • p = 6/7 (Hay 6 [Si] de 7 [Humedad Normal] )
• pQ = 4/7 (Hay 4 [No] de 7 [Humedad Alta]) • pQ = 1/7 (Hay 1[No] de 7 [Humedad Normal])
• Entropía(S1) = -3/7 log2 3/7 - 4/7 log2 4/7 = • Entropía(S1) = -6/7 log2 6/7 - 1/7 log2 2/7 =
• Entropía (S1) = 0.9852 • Entropía (S1) = 0.592
© Profesores del Curso – Machine Learning
18
Ganancia de Información
• Mide la reducción esperada de entropía sabiendo el valor del atributo A
Gain(S,A)
Entropía(S) - vValores(A) (|Sv|/|S|)*Entropía(Sv)
Valores(A): Conjunto de posibles valores del atributo A
Sv: Subconjunto de S en el cual el atributo A tiene el valor v
Ej: Gain(S, Humedad) = 0.9403 - (7/14)*0.985 - (7/14)*0.592
Proporción de Proporción de
humedad alta humedad normal
© Profesores del Curso – Machine Learning
19
Ganancia de Información
S: [9+,5-] S: [9+,5-]
E= 0.9403 E= 0.9403
Humedad Alta Viento Débil
Humedad Normal Viento Fuerte
[3+,4-] [6+,1-] [6+,2-] [3+,3-]
E= 0.985 E= 0.592 E= 0.811 E= 1.0
Gain (S, Humedad) = Gain (S, Viento) =
= 0.9403 - (7/14)*0.985 - (7/14)*0.592 = 0.9403 - (8/14)*0.811 - (6/14)*1.0
= 1.51 = 0.048
© Profesores del Curso – Machine Learning
20
Ganancia de Información
➢ Gain(S, Cielo) = 0.246
➢ Gain(S, Humedad) = 0.151
➢ Gain(S, Viento) = 0.048
➢ Gain(S, Temperatura) = 0.029
Panorama es el atributo del nodo raíz.
© Profesores del Curso – Machine Learning
21
Árbol Final de Decisión
Cielo
Soleado Nublado Lluvioso
[D3,D7,D12,D13]
[D1,D2,D8,D9,D11] [4+,0-] [D4,D5,D6,D10,D14]
[2+,3-] [3+,2-]
? Si ?
¿Cuál es el atributo que debería ser probado aquí?
Ssoleado =[D1,D2,D8,D9,D11]
Gain[Soleado, Humedad]= 0.970 – (3/5)*0.0 –(2/5) *0.0 =0.970
Gain[Soleado, Temperatura]= 0.970 – (2/5)*0.0 –(2/5) *1.0 –(1/5)*0.0=0.970
Gain[Soleado, Viento]= 0.970 – (2/5)*1.0 –(3/5) *0.918 =0.019
© Profesores del Curso – Machine Learning
22
Aplicaciones
• Administración de Empresas.
• Gestión de Relación con los Clientes.
• Detección de Fraudes.
• Ingeniería.
• Consumo de Energía.
• Diagnostico de Fallas.
• Gestión de Cuidado de la Salud.
© Profesores del Curso – Machine Learning
23
TALLER
© Profesores del Curso – Machine Learning
24
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
[Link]
© 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 ([Link].
• 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
t0
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