Code Monkey home page Code Monkey logo

ml-6.86x's Introduction

ML-6.86x BCH compliance Open in Gitpod

Machine Learning Projects Repository

Projects

  1. Review Analyzer
  2. Digit Recognition (Non-Linear Classifier & Kernel)
  3. Digit Recognition (Neural Networks & Deep Learning)
  4. Collaborative Filtering via Gaussian Mixtures
  5. Home World Game (Autonomous Game Agent using RL)

Review Analyzer

The goal of this project is to design a classifier to use for sentiment analysis of product reviews. Our training set consists of reviews written by Amazon customers for various food products. The reviews, originally given on a 5 point scale, have been adjusted to a +1 or -1 scale, representing a positive or negative review, respectively.

Review label
Nasty No flavor. The candy is just red, No flavor. Just plan and chewy. I would never buy them again -1
YUMMY! You would never guess that they're sugar-free and it's so great that you can eat them pretty much guilt free! i was so impressed that i've ordered some for myself (w dark chocolate) to take to the office. These are just EXCELLENT! +1

Learning Algorithms

Project involves comparative performance study of three learning algorithms w.r.t sentiment analysis.

  1. Perceptron Algorithm
  2. Average Perceptron Algorithm
  3. Pegasos Algorithm

Results

Pegasos Algorithm performs best of all threee algorithms. for detailed results head to Review-Analyzer.

Digit Recognition (Non-Linear Classifier & Kernel)

Digit Recognition using the MNIST (Mixed National Institute of Standards and Technology) database.

MNIST Dataset Wiki

The MNIST database contains binary images of handwritten digits commonly used to train image processing systems. The digits were collected from among Census Bureau employees and high school students. The database contains 60,000 training digits and 10,000 testing digits, all of which have been size-normalized and centered in a fixed-size image of 28 × 28 pixels. Many methods have been tested with this data-set and in this project, classify these images into the correct digit.

Sample Digit Images:

Image of Digit 6 Image of Digit 8 Image of Digit 8 Image of Digit 6

Learning Algorithms

Linear Regression (Closed form solution)
  1. We can apply a linear regression model, as the labels are numbers from 0-9 .
  2. Function closed_form that computes this closed form solution given the features X , labels Y and the regularization parameter λ .
  3. Calculate test error of linear regression algorithm for different λ using function compute_test_error_linear(test_x, Y, theta) .
  4. Results: No matter what λ factor we try, the test error is large when we use Linear regression

Digit Recognition (Neural Networks & Deep Learning)

This project uses PyTorch for implementing neural networks & SciPy to handle Sparse Matrices

Collaborative Filtering via Gaussian Mixtures

Our task is to build a mixture model for collaborative filtering. Given a data matrix containing movie ratings made by users where the matrix is extracted from a much larger Netflix database. Any particular user has rated only a small fraction of the movies so the data matrix is only partially filled. The goal is to predict all the remaining entries of the matrix.

We will use mixtures of Gaussians to solve this problem. The model assumes that each user's rating profile is a sample from a mixture model. In other words, we have K possible types of users and, in the context of each user, we must sample a user type and then the rating profile from the Gaussian distribution associated with the type. We will use the Expectation Maximization (EM) algorithm to estimate such a mixture from a partially observed rating matrix. The EM algorithm proceeds by iteratively assigning (softly) users to types (E-step) and subsequently re-estimating the Gaussians associated with each type (M-step). Once we have the mixture, we can use it to predict values for all the missing entries in the data matrix.

ml-6.86x's People

Contributors

ashudva avatar imgbotapp avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

ml-6.86x's Issues

Q-learning algorithm

Implement the Q-learning algorithm with linear approximation architecture, using bag-of-words representation for textual state description.

Use the classifiers

Use the classifiers on the food review dataset, using some simple text features.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.