Skip to content

My personal machine learning projects with minimalistic use of frameworks for educational purposes

Notifications You must be signed in to change notification settings

varun1309/machine-learning-algorithms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Machine Learning Algorithms

My personal machine learning projects without using machine learning libraries for educational purposes

IMDB Review sentiment analysis

  • Implemented Naive Bayes Classification by first cleaning the data of common english stop words and then creating a bag of words matrix.
  • In training phase, computed partial probability of each word and stored it into a matrix
  • In the testing phase, fetched the probability of each testing word, applied laplace smoothing and generated the output as either positive review or negative review.
  • Accuracy of 71% [not so impressive :)]

MNIST Image Classifier Using Logistic Regression

  • First flattened the input 60000 x 28 x 28 matrix into 60000 x 784 matrix
  • Initialized W matrix as 60000 x 10 as there are 60K input rows and 10 class labels
  • Used softmax function to compute posterior probability of image based on class label and input 1 x 784 matrix
  • Based on the posterior probability, calculated the gradient dw as X[l]*(Y-P(Y|X,W). For this step, we create a sparse matrix of Y to be of same shape as P(Y|X) which is the posterior probability.
  • For gradient ascent, multiplied this dw with tolerance (also called learning rate) and added to the previous value of w.
  • Accuracy of 91%

MNIST Image Classifier using K-Nearest Neighbor

  • First flattened the input 60000 x 28 x 28 matrix in a 60000 x 784 matrix
  • In the next step, I calculated the L2 distance (Euclidean distance) between one test sample and all training sample and store the distance in a matrix
  • Created a list of several K [1,10,100] and classified the test sample based on the closest training samples and plotted a graph between K and accuracy. Accuracy ranged between 94-96% which is pretty impressive!

About

My personal machine learning projects with minimalistic use of frameworks for educational purposes

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages