The main purpose of this code is to help people learning about Artificial Intelligence. Most of this code is not in form of functions ready to be attached to a project. You may neither find everything fully optimized to save a couple of operations to your >=i3 core. The main goal is to clarify and make easier to understand my entries explaining about the different topics through source code, since code is the proof that you understood something. Some of this files are not very recent and were never intended to be shared, so some comments may seem a bit obscure and difficult to understand.
I don’t care very much about licenses, so you can do whatever you want with the code (as I state). Finally, if you find something particularly interesting or helpful, or you simply want to comment me something regarding the code or AI, tweet me at @jmlipman!
eigenfaces.m: This is an implementation of the Eigenfaces algorithm. Training and testing set. Related post.
circleDetectorImpr.m: This is an implementation of the improved Circle Detector using Hough Transform after applying Space Reduction. Related post.
circleDetector.m: This is an implementation of a circle detection by Hough Transform. Related post.
einsteinMonroe.m: This code builds and performs a low and high pass filter to extract certain features from an image. Related post.
lineDetectorPolar.m: This script implements the Hough Transform to detect lines in a Polar coordinate system. Related post.
lineDetectorCartesianImp.m: This script implements the Hough Transform to detect lines in a Cartesian coordinate system (previous version lineDetectorCartesian.m). Related post.
removeBackground.m: This script removes the background from a certain figure captured by the webcam. It requires extractObject.m. Related post.
medianImages.m: Temporal Median implementation. Related post.
Laplacian.m: Laplacian operator example. It requires myConv.m and findZeroCrossings.m. Related post.
Marr_Hildreth.m: Marr-Hildreth operator example. It requires myConv.m, findZeroCrossings.m and secDerGauss.m. Related post.
cannyEdgeDetector.m: Canny Edge detector implementation. It requires myConv.m and sobelFilter.m. Related post.
sobelFilter.m: Sobel filter implementation. It requires myConv.m. Related post.
NN233.m: 2x3x3 MLP explained simply. It requires activation.m. Related post.
Noutput.m: Perceptron which may use as many output neurons as one wants, but it does not mean that the best result will be achieved. It requires activation.m. Related post.
3classes2outputN.m: Perceptron that tries to classify 3 classes using 2 output neurons. It requires activation.m. Related post.
AND_OR_XOR.m: Illustration of a perceptron and basic operations. It requires activation.m. Related post.
mazeSarsa.m: Simulation of a maze solved by Sarsa algorithm. It requires pickActionB.m, state2cells.m, colorCellsB.m, getNewState.m and calcReward.m. Related post.
mazeQlearning.m: Simulation of a maze solved by Q-learning algorithm. It requires pickAction.m, state2cells.m, colorCellsB.m, getNewState.m and calcReward.m. Related post.
mazeRlearning.m: Simulation of a maze solved by R-learning algorithm. It requires pickAction.m, state2cells.m, colorCellsB.m, getNewState.m and calcReward.m. Related post.
maze2fvmc.m (previously maze1fvmc.m): Simulation of a maze solved by First-Visit Monte Carlo algorithm. It requires pickActions.m, state2cells.m, colorCellsA.m and updateVfield.m. Related post.
goalkeeper.m: Simulation of an exploration algorithm based goalkeeper. It requires move.m. Related post.
svmImproved.m: Support Vector Machine implementation (improved version). It requires kernel.m and plotPoint.m. Related post.
svm.m: Support Vector Machine implementation. It requires kernel.m. Related post.