Análisis de Datos: Tarea #1 Entregar el 25 de marzo Dr. Wilfrido Gómez Flores Para realizar esta práctica se requiere primeramente programar las siguientes rutinas: • Escriba una rutina para calcular la función discriminante (dada en la Ecuación 39, Clase AD-03) para una distribución normal y probabilidad a priori P (ωi ). • Escriba una rutina para calcular la distancia Mahalanobis (dada en la Ecuación 38, Clase AD-03) entre la media µ y un patrón arbitrario x, dada una matriz de covarianza Σ. • Escriba una rutina para generar muestras aleatorias con distribución normal N (µ, Σ) en d dimensiones. Algunos lenguajes de programación ya cuentan con esta función. Práctica de programación #1 30 Puntos. Utilice el clasificador Bayesiano en la Ecuación 39 (Clase AD-03) para clasificar los patrones de la tabla de abajo que tiene 3 clases, 3 caracterı́sticas y 10 patrones por clase. a) Asuma que las probabilidades a priori para las primeras dos clases son iguales (P (ω1 ) = P (ω2 ) = 1/2 y P (ω3 ) = 0). Entrenar un clasificador Bayesiano para estas dos clases utilizando únicamente la caracterı́stica x1 . b) Determine el error de entrenamiento empı́rico de las muestras, esto es, el porcentaje de puntos clasificados incorrectamente. c) Determine el lı́mite de Bhattacharyya sobre el error que se obtendrı́a al clasificar nuevos patrones tomados de las distribuciones. d) Repita los incisos a, b y c ahora usando las caracterı́sticas x1 y x2 . e) Repita los incisos a, b y c ahora usando las tres caracterı́sticas x1 , x2 y x3 . 1 Análisis de Datos Tarea #1 f) Discuta los resultados. En particular, ¿es posible para un conjunto finito de datos que el error empı́rico pueda ser más grande para más dimensiones de los datos? Práctica de programación #2 20 Puntos. Repita el Ejercicio 1 ahora para las clases ω1 y ω3 y después para las clases ω2 y ω3 . Discuta los resultados. Práctica de programación #3 20 Puntos. Considere las tres clases en la tabla de arriba y asumir que P (ωi ) = 1/3. a) ¿Cuál es la distancia Mahalanobis entre cada uno de los siguientes patrones de prueba y cada una de las medias de las clases?: (1, 2, 1)T , (5, 3, 2)T , (0, 0, 0)T y (1, 0, 0)T . b) Clasifique estos puntos utilizando un clasificador Bayesiano entrenado con los datos en la tabla de arriba. c) Asuma que P (ω1 ) = 0.8 y P (ω2 ) = P (ω3 ) = 0.1 y clasifique los patrones de prueba nuevamente. d) Asuma que P (ω2 ) = 0.8 y P (ω1 ) = P (ω3 ) = 0.1 y clasifique los patrones de prueba nuevamente. e) Asuma que P (ω3 ) = 0.8 y P (ω1 ) = P (ω2 ) = 0.1 y clasifique los patrones de prueba nuevamente. f) Discuta los resultados. Especialmente, ¿cómo afectan las probabilidades a priori en la clasificación? Práctica de programación #4 30 Puntos. Explore cómo el error empı́rico puede o no aproximar el lı́mite de Bhattacharyya como sigue : a) Considere las distribuciones p(x|ω1 ) = N ( 10 , I) y p(x|ω2 ) = N ( −1 0 , I) con P (ω1 ) = P (ω2 ) = 1/2, donde I es la matriz identidad. Determine la frontera de decisión Bayesiana de manera analı́tica. b) Repita el siguiente proceso con los parámetros de las distribuciones normales dadas en el inciso a: generar n puntos (n/2 para ω1 y n/2 para ω2 ), 100 ≤ n ≤ 10000 en pasos de 100, y calcular el error empı́rico. Grafique los resultados del error empı́rico. c) Grafique el espacio de caracterı́sticas de las muestras generadas para n = 100, 1000, 10000 junto con la frontera de decisión calculada en el inciso a. d) Discuta los resultados. En particular, ¿es posible que el error empı́rico sea más grande que el lı́mite de Bhattacharyya? Página 2 de 2