Sei sulla pagina 1di 30

Aplicaciones de Ciencia de la Computación

Aprendizaje de Máquina:
Clasificación con KNN

Prof. Dr. César A. Beltrán Castañón


cbeltran@pucp.pe
Clasificación

Dado un conjunto de puntos de las clases,


cuál es la clase de un nuevo punto ?
2
Clasificación
Aprender un método para predecir la clase de un
elemento a partir de instancias pre-definidas
(clasificadas)
Varios enfoques:
Regresión,
Árboles de Decisión,
Bayesiano,
Redes Neuronales,
...

Dado un conjunto de puntos de las clases,


cuál es la clase de un nuevo punto ?
3
Taxonomía de Técnicas de DM
PREDICTIVO: Aprendizaje supervisado (Clasificación).

• Técnicas:
Similarity-
• k-NN (Nearest Neighbor).
Based
• k-means (competitive learning).
• Perceptron Learning.
• Multilayer ANN methods (e.g. backpropagation).
• Radial Basis Functions. Fence
and
• Decision Tree Learning (e.g. ID3, C4.5, CART).
Fill
• Bayes Classifiers.
• Center Splitting Methods.
• Rules (CN2)
• Pseudo-relational: Supercharging, Pick-and-Mix.
• Relational: ILP, IFLP, SCIL.
4
Similitud/Distancia
Un concepto importante en el aprendizaje supervisado
(clasificación) y no supervisado (segmentación) es el
concepto de similitud:

• La razón de este uso es que, intuitivametne, datos similares


tendrán clases/grupos similares. ¿Cómo se mide la similitud?

• DISTANCIA inversa a SIMILITUD.

• Los métodos de similitud (o de distancia) se basan en almacenar


los ejemplos vistos, y calcular la similitud/distancia del nuevo
caso con el resto de ejemplos.

5
Similitud/Distancia
• Muchísimas formas de calcular la distancia:
• Distancia Euclídea:

• Distancia de Manhattan: Valores Continuos


(conveniente normalizar
entre 0-1 antes)
• Distancia de Chebychev:

• Distancia del coseno: Valores Continuos.


cada ejemplo es un vector y No es necesario
la distancia es el coseno del ángulo que forman normalizar

• Distancias por Diferencia:


ejemplo: if x=y then D=0 else D=1 Valores
• Distancia de Edición: Discretos
• Distancias Específicas: para los ejemplos complejos de CBR. 6
Enfoque de aprendizaje simple: kNN

[Wikipedia] In pattern recognition, the k-Nearest


Neighbors algorithm (or k-NN for short) is a
non-parametric method used for classification and
regression. In both cases, the input consists of the k
closest training examples in the feature space.

7
kNN
En la figura siguiente, los puntos representan un
conjunto de vectores de dimensión 2. Estos pertenecen
a dos clases denominadas A y B. El orden de selección
de los vectores está indicado por los índices situados
al lado de cada punto. Los puntos 1 al 4 ya han sido
clasificados (en rojo), por consiguiente, el interés es de
clasificar los puntos restantes (a partir del 5, en azul).
Aplicar el método kNN para k = 3.
8
kNN

9
kNN
Solución

5B – 6A – 7B – 8A – 9A – 10A – 11B – 12A – 13B –


14A

10
kNN

En la figura anterior (u otra), demuestre con un



ejemplo que el resultado de la clasificación
depende del orden de cómo son leídos los datos

¿Qué puede pasar si k es par? Muestre este



caso especial con un ejemplo en la figura
anterior (u otra)
11
kNN

12
kNN
Solución

En el gráfico anterior, si el vector lanzado en la


posición 10 hubiera sido lanzado en 8, entonces ́este
hubiera sido clasificado como B y no como A, puesto
que los 3 vecinos más próximos ya habrían sido
clasificados como 5(B), 6(A) y 7(B)
Si k = 2 y el punto 9 habría sido tirado en la posición
4, este tendría como vecinos a 4(A) y 3(B). ¿Cuál
13
kNN: Pros y contras
Almacenamiento: todos los ejemplos de
entrenamiento son guardados en memoria
Un árbol de decisión o un clasificador lineal son más
pequeños.
Tiempo: para clasificar x, se necesita realizar un
loop sobre todos los ejemplos de entrenamiento
(x’,y’) para calcular la distancia entre x y x’.
Si embargo, se tienen las predicciones para cada clase
y
KNN es bueno cuando se tienen muchas clases
Actualmente, existen algunos trucos para incrementar
la velocidad… especialmente cuando la información es
esparcida (ejm., texto)

14
Clasificación
Dado el siguiente conjunto de entrenamiento

15
Clasificación
Indique el error de clasificar los siguientes puntos,
usando kNN, con k=3:

Punto Clase
(3,3) A
(5,1) B
(6,1) B
(5,3) A
(5,5) B
(4,6) A

16
Criterios para medir el desempeño de
un clasificador
Eficacia de la predicción: capacidad del modelo para predecir
correctamente la etiqueta de una clase o de nuevos datos
Velocidad: esto se refiere a los gastos de cálculo
involucrados en la generación y uso del modelo
Robustez: capacidad del modelo para hacer predicciones
correctas sobre datos ruidosos o datos con valores perdidos
Escalabilidad: capacidad de construir un modelo eficiente
dada una gran cantidad de datos
Interpretabilidad: nivel de comprensión y conocimiento que
17
La matriz de confusión

18
La matriz de confusión

19
Accuracy

20
La eficacia no es siempre suficiente

21
Medidas sensibles al desbalance

22
Ejemplo
Distribución original

23
Ejemplo
Distribución clasificada con error

24
Cálculo de medidas

25
Otros métodos de clasificación

26
Clasificación: Regresión Lineal

▪ Regresión Lineal
w0 + w1 x + w2 y >= 0
▪ Regresión calcula los wi a
partir de los datos con el
fin de minimizar el error
cuadrático para “ajustar”
los datos
▪ No es lo suficiente flexible

27
Clasificación: Árboles de Decisión
if X > 5 then azul
else if Y > 3 then azul
Y else if X > 2 then verde
else azul

2 5 X

28
Clasificación: Redes Neuronales

▪ Pueden seleccionar
regiones más complejas
▪ Pueden ser más precisas
▪ También pueden
sobreespecializar el
modelo – encontrar
patrones en un conjunto
randómico

29
Aplicación en desastre del Titatic

https://www.kaggle.com/c/titanic
30

Potrebbero piacerti anche