Improving a Recommender System Through Integration of User Profiles: a Semant...
KNN K-Nearest Neighbors Algorithm Explained
1. Introdu¸˜o
ca
Algoritmo
Pontos Importantes
UFAL - Universidade Federal de Alagoas
UFAL - Instituto de Computa¸˜o
ca
K-Vizinhos Mais Pr´ximos
o
Jonathas Magalh˜es a
jonathas@ic.ufal.br
Magalh˜es, J.J.
a IA – 2013 1
2. Introdu¸˜o
ca
Algoritmo
Pontos Importantes
K-Vizinhos mais Pr´ximos
o
Aprendizado baseado em instˆncias:
a
Aprendizado: armazenar todos as instˆncias de treinamento;
a
Classifica¸˜o: descobrir a qual classe uma nova instˆncia pertence.
ca a
T´cnica simples e intuitiva.
e
Magalh˜es, J.J.
a IA – 2013 2
3. Introdu¸˜o
ca
Algoritmo
Pontos Importantes
K-Vizinhos Mais Pr´ximos – Exemplo
o
Table: Base de dados contendo informa¸˜es de alunos.
co
x1 : Tempo de utiliza¸˜o
ca x2 : N´mero postagens
u y : Passou na disciplina
2 4 N˜o
a
3 6 N˜o
a
4 8 N˜o
a
4 4 N˜o
a
5 7 N˜o
a
6 5 N˜o
a
6 6 Sim
6 5 Sim
7 7 Sim
8 5 Sim
8 6 Sim
10 10 Sim
Magalh˜es, J.J.
a IA – 2013 3
4. Introdu¸˜o
ca
Algoritmo
Pontos Importantes
K-Vizinhos Mais Pr´ximos
o
Dados dos alunos dispostos graficamente (em azul, os alunos que
passaram, em vermelho, os alunos que n˜o passaram).
a
Magalh˜es, J.J.
a IA – 2013 4
5. Introdu¸˜o
ca
Algoritmo
Pontos Importantes
K-Vizinhos Mais Pr´ximos
o
Como classificar um novo registro (em verde)? (postagens = 6 e
tempo = 7, R(6, 7))
Magalh˜es, J.J.
a IA – 2013 5
6. Introdu¸˜o
ca
Algoritmo
Pontos Importantes
K-Vizinhos Mais Pr´ximos
o
Passo 1: Calcular a distˆncia do novo registro a cada um dos registros
a
existentes.
A A B B
Dados dois pontos, A(x1 ...xn ) e B(x1 ...xn );
Distˆncia euclidiana quadrada: d(A, B) = n (xiA − xiB )2 .
a i=1
x1 : utiliza¸˜o
ca x2 : postagens Distˆncia para o (6, 7)
a
2 4 (2 − 6)2 + (4 − 7)2 = 25
3 6 10
4 8 5
4 4 13
5 7 1
6 5 4
6 6 1
6 5 4
7 7 1
8 5 8
8 6 5
10 10 25
Magalh˜es, J.J.
a IA – 2013 6
7. Introdu¸˜o
ca
Algoritmo
Pontos Importantes
K-Vizinhos Mais Pr´ximos
o
Passo 2: Identifica¸˜o dos k registros da base de referˆncia que
ca e
apresentaram menor distˆncia em rela¸˜o ao novo registro. (Para
a ca
k = 3)
x1 : utiliza¸˜o
ca x2 : postagens Distˆncia para o (6, 7)
a KNN
2 4 25
3 6 10
4 8 5
4 4 13
5 7 1
6 5 4
6 6 1
6 5 4
7 7 1
8 5 8
8 6 5
10 10 25
Magalh˜es, J.J.
a IA – 2013 7
8. Introdu¸˜o
ca
Algoritmo
Pontos Importantes
K-Vizinhos Mais Pr´ximos
o
Magalh˜es, J.J.
a IA – 2013 8
9. Introdu¸˜o
ca
Algoritmo
Pontos Importantes
K-Vizinhos Mais Pr´ximos
o
Logo, a nova instˆncia ´ classificada como sendo um aluno que
a e
passou/passar´ na disciplina.
a
Magalh˜es, J.J.
a IA – 2013 9
10. Introdu¸˜o
ca
Algoritmo
Pontos Importantes
K-Vizinhos mais Pr´ximos
o
Normaliza¸˜o dos dados;
ca
Tratando empates;
Qual valor para k utilizar?
Fuzzy KNN.
Magalh˜es, J.J.
a IA – 2013 10
11. Introdu¸˜o
ca
Algoritmo
Pontos Importantes
Perguntas?
Magalh˜es, J.J.
a IA – 2013 11