9
Sep

How kNN algorithm works


Hello
My name is Thales Sehn Körting and I will present very breafly how the kNN algorithm
works kNN means k nearest neighbors
It’s a very simple algorithm, and given N training vectors, suppose we have all these
‘a’ and ‘o’ letters as training vectors in this bidimensional feature space, the kNN
algorithm identifies the k nearest neighbors of ‘c’
‘c’ is another feature vector that we want to estimate its class
In this case it identifies the nearest neighbors regardless of labels
So, suppose this example we have k equal to 3, and we have the classes ‘a’ and ‘o’
And the aim of the algorithm is to find the class for ‘c’
If k is 3 we have to find the 3 nearest neighbors of ‘c’
So, we can see that in this case the 3 nearest neighbors of ‘c’ are these 3 elements here
We have 1 nearest neighbor of class ‘a’, we have 2 elements of the class ‘o’ which are
near to ‘c’ We have 2 votes for ‘o’ and 1 vote for ‘a’
In this case, the class of the element ‘c’ is going to be ‘o’
This is very simple how the algorithm k nearest neighbors works
Now, this is a special case of the kNN algorithm, is that when k is equal to 1
So, we must try to find the nearest neighbor of the element that will define the class
And to represent this feature space, each training vector will define a region in this
feature space here And a property that we have is that each region
is defined by this equation We have a distance between each element x
and x_i, that have to be smaller than the same distance for each other element
In this case it will define a Voronoi partition of the space, and can be defined, for example,
this element ‘c’ and these elements ‘b’, ‘e’ and ‘a’ will define these regions, very specific
regions This is a property of the kNN algorithm when
k is equal to 1 We define regions 1, 2, 3 and 4, based on
the nearest neighbor rule Each element that is inside this area will
be classified as ‘a’, as well as each element inside this area will be classified as ‘c’
And the same for the region 2 and region 3, for classes ‘e’ and ‘b’ as well
Now I have just some remarks about the kNN We have to chose and odd value of k if you
have a 2-class problem This happens because when we have a 2-class
and if we set k equal to 2, for example, we can have a tie
What will be the class? The majority class inside the nearest neighbors?
So, we have always to set odd values for a 2-class problem
And also the value of k must not be a multiple of the number of classes, it is also to avoid
ties And we have to remember that the main drawback
of this algorithm is the complexity in searching the nearest neighbors for each sample
The complexity is a problem because we have lots of elements, in the case of a big dataset
we will have lots of elements And we will have to search the distance between
each element to the element that we want to classify
So, for a large dataset, this can be a problem Anyhow, this kNN algorithm produces good results
So, this is the reference I have used to prepare this presentation
Thanks for your attention, and this is very breafly how the kNN algorithm works

Tags: , , , , , , , , ,

100 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *