Trabajo Final KNN Marco Teorico & Casos
Trabajo Final KNN Marco Teorico & Casos
Trabajo Final KNN Marco Teorico & Casos
FACULTAD DE INGENIERÍA
INTELIGENCIA ARTIFICIAL
K Nearest Neighbor
(Algoritmo del vecino más cercano)
Integrantes
Delgado Ortiz, Héctor Harry (u201216133)
Ríos Díaz, Álvaro (u201401312)
Rodríguez López, Kimberley (u201401312)
PROFESOR:
SECCIÓN:
E81A
Febrero - 2018
INDICE
Contenido
1. INTRODUCCIÒN ...................................................................................................................... 3
2. ¿QUÉ ES KNN?........................................................................................................................ 3
3. FUNCIONAMIENTO: ............................................................................................................... 3
4. CARACTERÍSTICAS GENERALES ...................................................................................... 3
5. ALGORITMO K-NN .................................................................................................................. 5
6. CASO 1 DE PREDICCION (Compra y venta de autos)....... ¡Error! Marcador no definido.
7. CASO 2 DE PREDICCION (Proveedor de servicios de internet).................................... 11
8. CONCLUSIONES ................................................................................................................... 11
9. GLOSARIO: ............................................................................................................................. 18
10. BIBLIOGRAFIA ....................................................................................................................... 19
1. INTRODUCCIÒN
Dentro de la ciencia de la computación uno de los mayores desafíos radica en
brindar la capacidad de aprender a máquinas o programas de computadoras.
Facilitar la capacidad de aprendizaje permitiría una amplia gama de nuevas
aplicaciones, así mismo nos puede ayudar a entender las capacidades y limitaciones
humanas de aprendizaje durante todo este proceso de desarrollo y en general, se
busca construir programas que mejoren automáticamente con la experiencia y la
manera en que se va representando su aprendizaje.
Existen diversas tareas que se pueden hacer con sistemas de aprendizaje
establecidas mediante modelos que requieren de procesos de clasificación y
definición de tipos de aprendizaje como el aprendizaje inductivo que puede ser
supervisado y no supervisado.
Dentro del presente trabajo se desarrollara el algoritmo KNN como uno de los
aprendizajes inductivos supervisados.
2. ¿QUÉ ES KNN?
KNN es un método de aprendizaje para la clasificación de información obteniendo un
pronóstico en base al cálculo de distancia que se tiene de los elementos vecinos
alojados en una base de datos. Se considera a KNN un conjunto de datos de
preparación que cuando se requiere un pronóstico para una instancia de datos no
vista, el algoritmo kNN buscará en el conjunto de datos preparados las k instancias
más similares. El atributo de predicción de las instancias más similares se resume y
se devuelve como la predicción para la instancia no vista.
Por lo mencionado kNN toma la información que deseamos clasificar de la base de
datos y calcular las distancias de todos los miembros, tomando un número particular
de vecinos (K) con distancias menores, luego se visualiza la clase de los mismos, de
allí se determina que tipo es el dato que estamos buscando.
3. FUNCIONAMIENTO:
El algoritmo kNN pertenece a la familia de algoritmos de aprendizaje competitivo y
perezoso basados en instancias, que modelan el problema usando instancias de
datos (o filas) para tomar decisiones predictivas; internamente utiliza la competencia
entre los elementos del modelo (instancias de datos) para tomar una decisión
predictiva. La medida de similitud objetivo entre las instancias de datos hace que
cada instancia de datos compita para "ganar" o sea más similar a una instancia de
datos no vista dada y contribuya a una predicción.
El aprendizaje lento se refiere al hecho de que el algoritmo no crea un modelo hasta
el momento en que se requiere una predicción, funciona en el último segundo. Esto
tiene el beneficio de incluir solo datos relevantes para los datos no vistos, llamados
modelos localizados. Una desventaja es que puede ser computacionalmente costoso
repetir búsquedas iguales o similares en conjuntos de datos de entrenamiento más
grandes.
4. CARACTERÍSTICAS GENERALES
Las reglas de clasificación por vecindad están basadas en la búsqueda en un
conjunto de prototipos de los k prototipos más cercanos al patrón a clasificar.
No hay un modelo global asociado a los conceptos a aprender. Las predicciones se
realizan basándose en los ejemplos más parecidos al que hay que predecir.
Debemos especificar una métrica para poder medir la proximidad donde se suele
utilizar por razones computacionales la distancia Euclídea. En la figura 1 se tiene un
ejemplo del algoritmo donde con diversos elementos como cuadrados hexágonos se
intenta clasificar a un pentágono (marrón).
Figura 1: Ejemplo1 de clasificación kNN
Fuente: PITOL 2014
Se calcula las distancias de todos sus vecinos, observándose más cercanía con el
hexágono, por lo que kNN definiría que la nueva figura es un hexágono, o es
probable que lo sea.
Ahora teniendo la figura 2, si se busca los tres vecinos más cercanos (K = 3),
clasificaríamos a nuestra figura como un cuadrado, lo mismo ocurriría si K = 4 o K =
5, pero cuando K = 6 entonces tendríamos un empate (cuando esto ocurre he visto
que lo que se suele realizar es sumar las distancias y tomar la suma menor) y si K =
8, entonces KNN nos diría que es un hexágono.
5. ALGORITMO K-NN
A continuación se presenta un ejemplo básico aplicado del algoritmo según la figura
4:
D indica un fichero de N casos, cada uno de los cuales está caracterizado por n
variables predictoras, X1; : : : ;Xn y una variable a predecir, la clase C.
Los N casos se denotan por:
(x1; c1); : : : ; (xN; cN) donde
xi = (xi;1 : : : xi;n) para todo i = 1; : : : ;N
ci 2 fc1; : : : ; cmg para todo i = 1; : : : ;N
c1; : : : ; cm denotan los m posibles valores de la variable clase C.
En caso de que se produzca un empate entre dos o más clases, conviene tener una
regla heurística para su ruptura. Ejemplos de reglas heurísticas para la ruptura de
empates pueden ser: seleccionar la clase que contenta al vecino más próximo,
seleccionar la clase con distancia media menor, etc.
a. Situación actual
Una Compañía se dedica a la compra y venta de autos usados. Actualmente
cuenta con un récord de todos los autos que se han comprado en el último año
(2017), el precio por el que se han vendido y un par de características de estos
autos: Edad y Kilometraje, como se muestra en la figura 7.
Edad
Kilometraje Precio
(Meses)
20 17,300 S/17,200
40 36,566 S/11,990
60 37,111 S/10,950
50 39,706 S/13,500
38 46,327 S/14,990
68 62,292 S/9,750
55 69,813 S/9,500
80 71,500 S/7,500
64 114,846 S/9,950
70 124,743 S/8,450
Figura 7: Muestra de carros comprados
Fuente: DATAMININGINCAE 2013
c. Solución:
i. Si analizamos en el plano cartesiano la información proporcionada por el
nuevo cliente su auto se ubicaría en donde indica el asterisco.
Como se indica en la Grafica final del KNN (figura 16), el precio sugerido
para el auto está en función a la cercanía con otros autos evaluados.
1. Descripción de la empresa:
La empresa DRR_solution es un proveedor de servicios que ofrece entre sus
clientes conexión a internet de alta velocidad mediante dispositivos de
enrutamiento. Actualmente cuenta con 10 conexiones enrutadas mediante el
protocolo EIGRP el cual facilita el análisis de ruta en base a datos estáticos de
velocidad (ancho de banda) y retardo en cada conexión.
3. Problemática:
El problema principal es establecer un mecanismo que facilite la estimación de
costo de acuerdo a los requerimientos de nuevos clientes considerando
principalmente el ancho de banda y los servicios que se tienen mediante el
enlace:
4. Solución
Para la solución del caso se emplea el algoritmo KNN que permite analizar ambos
parámetros (ancho de banda y número de servicios) mediante la distancia
Euclidiana y teniendo como referencia base la información de los 10 enlaces.
Se tiene la fórmula:
=
Dónde:
Promedio =
Varianza = S2
Desviación estándar = S
Numero de variables = N
Variable = Xi
= 71.8
= 1,113,933
S2 = 9844662, 391 017.44
S = 3137620
Figura 22: Base de datos con cálculo del promedio y desviación estándar
(Elaboración propia)
v. Normalización para el valor del nº de servicios y ancho de banda, se
Normaliza (Z) empleando el valor de cada variable, el promedio y la
desviación estándar obtenidos, mediante la siguiente formula.
Formula:
Para el nº de servicios:
Figura 26: Base de datos con el ranking para la evaluación del cliente
(Elaboración propia)
Costo de ruta para el cliente; analizado los requerimientos del cliente como
son 10 servicios y un ancho de banda de 1000 Kbps, el costo de la ruta seria
de $30 dólares mensuales e iría por el nodo 10 que es por la vía de San Isidro
2.
8. CONCLUSIONES
La distancia más precisa para KNN depende de los datos, con atributos de
gastos o ingresos mensuales, deudas, otros ingresos, posiblemente una distancia
euclideana sería lo más correcto; si tenemos ingreso mensual, estatura, número
de hijos, peso, edad, una distancia de Mahalanobis seria adecuada.
9. GLOSARIO: