• Stars
    star
    796
  • Rank 57,222 (Top 2 %)
  • Language
    MATLAB
  • License
    MIT License
  • Created about 6 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

πŸ€– MatLab/Octave examples of popular machine learning algorithms with code examples and mathematics being explained

Machine Learning in MatLab/Octave

For Python/Jupyter version of this repository please check homemade-machine-learning project.

This repository contains MatLab/Octave examples of popular machine learning algorithms with code examples and mathematics behind them being explained.

The purpose of this repository was not to implement machine learning algorithms using 3rd party libraries or Octave/MatLab "one-liners" but rather to practice and to better understand the mathematics behind each algorithm. In most cases the explanations are based on this great machine learning course.

Supervised Learning

In supervised learning we have a set of training data as an input and a set of labels or "correct answers" for each training set as an output. Then we're training our model (machine learning algorithm parameters) to map the input to the output correctly (to do correct prediction). The ultimate purpose is to find such model parameters that will successfully continue correct input→output mapping (predictions) even for new input examples.

Regression

In regression problems we do real value predictions. Basically we try to draw a line/plane/n-dimensional plane along the training examples.

Usage examples: stock price forecast, sales analysis, dependency of any number, etc.

πŸ€– Linear Regression - example: house prices prediction.

Classification

In classification problems we split input examples by certain characteristic.

Usage examples: spam-filters, language detection, finding similar documents, handwritten letters recognition, etc.

πŸ€– Logistic Regression - examples: microchip fitness detection, handwritten digits recognitions using one-vs-all approach.

Unsupervised Learning

Unsupervised learning is a branch of machine learning that learns from test data that has not been labeled, classified or categorized. Instead of responding to feedback, unsupervised learning identifies commonalities in the data and reacts based on the presence or absence of such commonalities in each new piece of data.

Clustering

In clustering problems we split the training examples by unknown characteristics. The algorithm itself decides what characteristic to use for splitting.

Usage examples: market segmentation, social networks analysis, organize computing clusters, astronomical data analysis, image compression, etc.

πŸ€– K-means algorithm - example: split data into three clusters.

Anomaly Detection

Anomaly detection (also outlier detection) is the identification of rare items, events or observations which raise suspicions by differing significantly from the majority of the data.

Usage examples: intrusion detection, fraud detection, system health monitoring, removing anomalous data from the dataset etc.

πŸ€– Anomaly Detection using Gaussian distribution - example: detect overloaded server.

Neural Network (NN)

The neural network itself isn't an algorithm, but rather a framework for many different machine learning algorithms to work together and process complex data inputs.

Usage examples: as a substitute of all other algorithms in general, image recognition, voice recognition, image processing (applying specific style), language translation, etc.

πŸ€– Neural Network: Multilayer Perceptron (MLP) - example: handwritten digits recognition.

Machine Learning Map

Machine Learning Map

The source of the following machine learning topics map is this wonderful blog post

How to Use This Repository

Install Octave or MatLab

This repository contains *.m scripts that are intended to be run in Octave or MatLab. Thus in order to launch demos you need either Octave or MatLab to be installed on you local machine. In case of MatLab you may also use its web-version.

Run Demos

In order to run the demo of your choice you should move to the chosen folder (i.e. neural-network):

cd neural-network

Launch Octave console:

octave

Launch demo script from Octave console:

demo

To see all demo variables you may launch:

whos

To exit the demo you may launch:

exit

Also be aware that demo scripts opens additional window with charts and other graphical information that is related to the running algorithm. You may find screenshots of the window that each demo will render for you on the dedicated README files for each machine learning algorithm.

Demos

More Repositories

1

javascript-algorithms

πŸ“ Algorithms and data structures implemented in JavaScript with explanations and links to further readings
JavaScript
173,558
star
2

homemade-machine-learning

πŸ€– Python examples of popular machine learning algorithms with interactive Jupyter demos and math being explained
Jupyter Notebook
21,617
star
3

learn-python

πŸ“š Playground and cheatsheet for learning Python. Collection of Python scripts that are split by topics and contain code examples with explanations.
Python
14,972
star
4

state-of-the-art-shitcode

πŸ’©State-of-the-art shitcode principles your project should follow to call it a proper shitcode
4,789
star
5

nano-neuron

πŸ€– NanoNeuron is 7 simple JavaScript functions that will give you a feeling of how machines can actually "learn"
JavaScript
2,192
star
6

promote-your-next-startup

πŸš€ Free resources you may use to promote your next startup
2,000
star
7

js-image-carver

πŸŒ… Content-aware image resizer and object remover based on Seam Carving algorithm
TypeScript
1,504
star
8

machine-learning-experiments

πŸ€– Interactive Machine Learning experiments: πŸ‹οΈmodels training + 🎨models demo
Jupyter Notebook
1,461
star
9

self-parking-car-evolution

🧬 Training the car to do self-parking using a genetic algorithm
TypeScript
688
star
10

use-position

🌍 React hook usePosition() for fetching and following a browser geolocation
JavaScript
298
star
11

covid-19

πŸ“ˆ Coronavirus (COVID-19) dashboard to show the dynamics of Π‘oronavirus distribution per country
JavaScript
265
star
12

nodejs-master-class

πŸ›  This repository contains the homework assignment for Node.js Master Class that is focused on building a RESTful API, web app GUI, and a CLI in plain Node JS with no NPM or 3rd-party libraries
JavaScript
235
star
13

angular-library-seed

🌾 Seed project for Angular libraries that are AOT/JIT compatible and that use external SCSS-styles and HTML-templates
TypeScript
203
star
14

okso-app

✍🏻 The drawing app to express, grasp, and organize your thoughts and ideas. Draw to explain. Draw to grasp.
198
star
15

links-detector

πŸ“– πŸ‘†πŸ» Links Detector makes printed links clickable via your smartphone camera. No need to type a link in, just scan and click on it.
TypeScript
184
star
16

trekhleb.github.io

🧬 My personal website with a list of my projects that help people learn and blog posts about life, web-development, and machine-learning.
TypeScript
176
star
17

hello-docker

🐳 Example Docker project that is used as illustration for automated continuous delivery flow with DockerCloud and DigitalOcean
Python
48
star
18

micrograd-ts

πŸ€– A TypeScript version of karpathy/micrograd β€” a tiny scalar-valued autograd engine and a neural net on top of it
TypeScript
42
star
19

giphygram

πŸ”Ž Experimental React application for searching GIF images on GIPHY
JavaScript
24
star
20

vscode-search-tree

πŸ”Ž (Draft!) VSCode extension to show the search results in a tree view
TypeScript
21
star
21

trekhleb

πŸ‘¨πŸ»β€πŸ’» My GitHub profile intro
15
star