Giter Site home page Giter Site logo

stratzilla / ai-ml-tutorials Goto Github PK

View Code? Open in Web Editor NEW
5.0 2.0 1.0 2.03 MB

A collection of artificial intelligence and machine learning tutorials

License: GNU General Public License v2.0

Python 9.49% Gnuplot 0.26% Jupyter Notebook 90.25%
tutorial collection machine-learning artificial-intelligence jupyter-notebook python neural-network particle-swarm-optimization genetic-algorithms k-means-clustering metaheuristics backpropagation

ai-ml-tutorials's Introduction

Tutorials

This is a collection of machine learning and artificial intelligence tutorials I've written using Jupyter Notebook. They may not be up to snuff with some other tutorials, and in many cases, I've written them after only one or two implementations. I'm keeping these here for posterity for myself and for those who might also be interested. I had a hard time finding tutorials online for some of these subjects, so I thought I'd make my own for those who find themselves in a similar position to what I was.

I try my best to only use Python standard libraries, although I do quite like numpy, pandas, and matplotlib. Some gnuplot is involved as well but only for illustrative purposes. All of these implementations are from scratch insofar I don't rely on external libraries to do any of the heavy work. External libraries might be used for things like IO or as visual tools instead.

Feel free to distribute, copy, edit, make changes to, etc. these tutorials to your hearts content. All I ask is if you publish any of them elsewhere, please let me know and link back.

A step-by-step implementation of a genetic algorithm to optimize the Styblinski-Tang function, generalized to any dimensionality. Includes one-point crossover and uniform mutation operators, tournament and elite selection strategies.

A step-by-step implementation of a particle swarm algorithm to optimize the Schwefel function, generalized to any dimensionality.

A step-by-step implementation of a K-Means clustering algorithm using K-Means++ initialization strategy. Includes Dunn Index calculation to determine merit in cluster count optimization.

A step-by-step implementation of a vanilla feedforward neural network trained via backpropagation to model a classifier for the Iris data set. Includes learning rate and momentum hyperparameters.

A step-by-step implementation of a feedforward neural network, but instead trained using a genetic algorithm to optimize network weights to model a classifier for the Wheat Seeds data set. It helps to have read the Neural Network using Backpropagation Training and Genetic Algorithms tutorials beforehand.

A step-by-step implementation of a feedforward neural network, but instead using a particle swarm algorithm to optimize neural weights to model a classifier for the Wine data set. It helps to have read the Neural Network using Backpropagation Training and Particle Swarm Optimization tutorials beforehand.

Stuff I'm Working On

Eventually I hope to add these tutorials at some point (in no particular order):

  • color organization using Self Organizing Maps (SOMs)
  • simulated annealing metaheuristic
  • differential evolution metaheuristic
  • training a neural network using differential evolution
  • bat algorithm metaheuristic
  • training a neural network using bat algorithm

ai-ml-tutorials's People

Contributors

stratzilla avatar

Stargazers

Martin Otamendi  avatar Saeed Najafi avatar Richmond  avatar Ya Song avatar Keenan Brab avatar

Watchers

 avatar  avatar

Forkers

pa-wan

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.