Skip to content
Unsorted Playground for Machine Learning, Reinforcement Learning and other AI Experiments
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
maze
.gitignore
RBFSampler-Experiment.ipynb
README.md
requirements.txt
rl-q-rbf-cartpole.py

README.md

ai-playground

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, pip and python should now point to a Python 3 installation and you should be able to run the programs using python. You can activate the environment at any later moment in time using source ai-p-env/bin/activate 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. Go to the HWD-Perceptron Repository to learn more.

Solve Mazes

The programs maze_runner.py and maze_runner_q_mp.py in the folder Maze are using Reinforcement Learning to solve mazes of arbitrary sizes. Have a look at these Demos to get an idea.

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.

You can also try the experiment live and interactively on Kaggle using this Kaggle Kernel.

You can’t perform that action at this time.