Skip to main content

K Nearest Neighbors

K Nearest Neighbors

Hello! In this post, we will be exploring a very simple classification algorithm called 'K Nearest Neighbors'.

How K Nearest Neighbors work:







The green point above is the testing data and the blue and red points are training data in different classes.

The way KNN works is by taking the Euclidean distance from your test data(green point) to each of your training data and classify your test data by the class of the nearest point to the testing data.

Euclidean Distance:

The Euclidean distance is basically the distance between two points on the Euclidean space. To put simply, the distance between two points. 

Formula:





K

K: Parameter that takes a certain number of nearest points to use for the classification process. 

K basically takes 'k' number of nearest points(training data) and classifies the test data by the class that has the highest vote. For example, if you set K=3 and you take 3 closest training data from your test data and get 2 points in class blue and 1 in class red, then you would classify the test data blue.  

Comments

Popular posts from this blog

Overfitting vs Underfitting

Overfitting vs Underfitting Hello! In this post, we will be exploring the concepts of Overfitting and Underfitting. Overfitting: Overfitting is a modelling error that occurs when the model fits the training data too well.  As you can see above, the overfitted model is fit almost perfectly to the training data. The overall cost of the model to the training data be near 0, however, the accuracy of this model would be poor when used on testing data. Underfitting: Underfitting is when the model fits to the training data too simply; when the model isn't complex enough to adequately understand the trend/pattern of the training data.   As you can see from the image above, the model is just a linear line and does not fit to the training data very well; the model does not accurately understand the trend of the data and is fit too simply.

Support Vector Machine

Support Vector Machine How the algorithm works: As you can see from the image above, SVM works by dividing different classes with a hyperplane. For the explanation of how this algorithm works, I will be using a 2D graph to simplify how this essentially works. ← 2D case SVM works by finding the optimal weights and bias that separates two different classes. The linear line (when looking at 2D graph) has the equation: w*x - b =0 . When w*x - b  ≥  0 it would predict class 1 and if w*x -b < 0 it would predict class 2. What the SVM model tries to do is to maximize the margin between the support vectors(blue and green points on w*x - b =1 and w*x -b = -1; points that are on the boundary). Hyperplane Definition w*x - b  ≥ +1 ( y i  = +1) {where +1 = class 1} w*x - b  ≤ -1 ( y i  = -1) {where -1 = class 2} The two could be combined to form:  y i   ( w*x - b )  ≥ 1 Finding the Separation of the Margin: We k...

Linear Regression

                                                       Linear Regression   As you can see from the image above, a line of best fit is drawn on a scatter plot. The line of best fit is essentially the Linear Regression model and the blue data points is the training data.   What we need to do in order to implement the linear regression model to the data points/training data is to calculate the line of best fit. Linear Regression Model : output = weight * input + b   (where "weight" and "input" are vectors) When looking at how the linear regression model works, you need to have an understanding of what the terms "weight" and "bias" mean. You can think of the "weight" vector and "bias" as terms that optimize the line to be a line of best fit on the training data points (like a gradient the y-intercept in ...