Unsorted Playground for Machine Learning, Reinforcement Learning and other AI Experiments.
Install the dependencies
requirements.txt contains the dependencies of all ai-playground programs. You might
want to create a virtual environment for sparing your local Python installation. Switch
to the root folder of
ai-playgound and enter the following commands:
python3 -m venv ai-p-env source ai-p-env/bin/activate pip install -r requirements.txt
When the virtual environment is activated,
python should now point to
a Python 3 installation and you should be able to run the programs using
can activate the environment at any later moment in time using
from the project's root folder.
Handwritten Digits Recognizer using a Perceptron Network
The HWD-Perceptron project was my first attempt to learn how a Perceptron works by implementing it from scratch. I used the very well known MIST dataset to do handwritten digits recognition.
The project is a ready-to-go Python app that lets you learn more about Neural Networks and Machine Learning in general and more about simple Perceptron based handwritten digits recognition in particular.
Go to the HWD-Perceptron Repository to learn more.
OpenAI Gym's CartPole
OpenAI Gym is a fantastic place to practice Reinforment Learning. The classical CartPole balancing challenge has kind of a "Hello World" status. Here is an animation of how the challenge looks like. My solution rl-q-rbf-cartpole.py uses a Radial Basis Function network to transform the four features of the Cart (Cart Position, Cart Velocity, Pole Angle and Pole Velocity At Tip) into a large amount of distances from the centers of RBF "Exemplars" and then use Linear Regression to learn the Value Function using Q-Learning.
RBFSampler actually is not using any Radial Basis Functions (RBFs)
As a naive beginner, I thought that scikit-learn's RBFSampler is basically a convenient way to create a collection (or "network") of multiple Radial Basis Functions with random centers. Well, I was wrong as RBFSampler-Experiment.ipynb shows, but in the end, everything is still kind of as you would expect from the name RBFSampler.
ANALOG-CARTPOLE - A hybrid analog/digital computing experiment
This is a hybrid computing experiment: Use the analog computer "Model-1" by Analog Paradigm (http://analogparadigm.com) to simulate an inverse pendulum. In parallel, use a digital computer to execute a digital Reinforcement Learning algorithm that controls the analog computer.