APRENDIZAJE AUTOMATIZADO
(MACHINE LEARNING)
1er Semestre 2006

Trabajo Final

Trabajos a realizar:

a) Implemente el método de clasificación de k-primeros-vecinos (k-nn). El algoritmo debe buscar en los datos de entrenamiento los k patrones más similares (según la métrica euclidea) al patrón que se quiere clasificar, y asignar una clase a dicho patrón en función de una votación simple entre los k-vecinos (qué decisión tomar en caso de empate queda a cargo del alumno). El número k de vecinos a utilizar es el único parámetro libre del algoritmo, y deberá ser optimizado utilizando un conjunto de validación. Las salidas deben ser los errores de clasificación sobre los conjuntos de entrenamiento, validación y test, y las predicciones sobre el conjunto de test. Se puede utilizar como base el código del naive-Bayes del trabajo 3.

b) Evalúe los 5 métodos utilizados durante el curso (árboles de decisión, redes neuronales, naive-bayes con normales, naive-bayes con histogramas y k-primeros-vecinos) en el dataset de CMC, usando una estimación en 10-Folds. Para ello divida el conjunto de entrenamiento en 10 subconjuntos, respetando la proporción original de puntos de cada clase, y utilice alternativamente 9 de ellos para ajustar los métodos y el restante para testear. Cuando sea necesario (por ejemplo, número de unidades en la capa oculta de la red neuronal), optimice los parametros del método utilizado sobre una partición cualquiera de las 10 generadas, y luego aplique para los demás casos los mismos valores. Especifique en el informe qué procedimiento realizó para optimizarlos, y el resultado obtenido. Genere un cuadro con las medias y desviaciones estándar de los resultados en test de cada método.

c) Realice un t-test con 95% de confidencia (sección 5.6, p.145 del Mitchell) entre el método que muestra el "mejor" resultado y el que muestra el "peor". Realice un segundo test entre el que muestra el "mejor" resultado y el "segundo mejor". ¿Hay resultado positivo en algún caso? ¿Qué conclusiones puede extraer?

Entregue un informe en papel con todos los detalles y explicaciones que considere necesarias y entregue por e-mail el programa que implementa k-nn. El examen final de teoría consistirá principalmente en la discusión de este informe.