I. End-to-end Machine Learning courses
II. How machine learning works
III. Using machine learning
IV. Using data
V. Statistics

VI. Professional Advice
VII. Artificial intelligence editorial
VIII. Becca, a robot brain project

Frequently asked questions
Contributing translations and adaptations


End-to-end Machine Learning courses
Hands-on, project-driven courses for machine learning students and data scientists, offered through Udemy.

Decision Trees: Build your own transit time predictor
Read More →

Reinforcement Learning
Reinforcement Learning is a type of Machine Learning. It allows machines and software agents to automatically determine the ideal behavior within a specific context, in order to maximize its performance. Simple reward feedback is required for the agent to learn its behavior; this is known as the reinforcement signal.
There are many different algorithms that Read More →

Reinforcement learning (RL) is a branch of machine learning that addresses problems where there is no explicit training data. Q-learning is an algorithm that can be used to solve some types of RL problems. In this article I demonstrate how Q-learning can solve a maze problem.
The best way to see where this article is headed Read More →

Code Source :
Smart security is the future, and with the help of the open source community and technology available today, an affordable intelligent video analytics system is within our reach. This application is a low-cost, adaptive and extensible surveillance system focused on identifying and alerting for potential home intruders. It can integrate into an Read More →

Neural Networks and Deep Learning is a free online book. The book will teach you about:

Neural networks, a beautiful biologically-inspired programming paradigm which enables a computer to learn from observational data
Deep learning, a powerful set of techniques for learning in neural networks

Neural networks and deep learning currently provide the best solutions to many problems in Read More →

What is a Neural Network ?
To get started, I'll explain a type of artificial neuron called a perceptron.
were developed in the 1950s and 1960s by the scientist Frank Rosenblatt, inspired by earlier work by Warren McCulloch and Walter Pitts. Today, it's more common to use other models of artificial neurons - in this book, and Read More →

Subset sum problem is to find subset of elements that are selected from a given set whose sum adds up to a given number K. We are considering the set contains non-negative values. It is assumed that the input set is unique (no duplicates are presented).
Exhaustive Search Algorithm for Subset Sum
One way to find subsets that sum Read More →

Recursion is a tool not often used by imperative language developers, because it is thought to be slow and to waste space, but as the author demonstrates, there are several techniques that can be used to minimize or eliminate these problems. He introduces the concept of recursion and tackle recursive programming patterns, examining how they Read More →

The N Queen is the problem of placing N chess queens on an N×N chessboard so that no two queens attack each other. For example, following is a solution for 4 Queen problem.

The expected output is a binary matrix which has 1s for the blocks where queens are placed. For example following is the output Read More →

It's a common requirement in programming challenges - such as Project Euler - to determine if a number is a prime number. Recently I was tasked with finding a nice method of finding the nth prime number.
Skip to my proposed solution, or the PHP implementation.
The obvious solution here is to iterate through the whole number Read More →

Each natural number that is divisible only by 1 and itself is prime.
Prime numbers appear to be more interesting to humans than other numbers.
Why is that and why prime numbers are more important than the numbers that are divisible by 2, for instance ?
Perhaps the answer is that prime numbers are largely used in Read More →

QuickSort is a Divide and Conquer algorithm. It picks an element as pivot and partitions the given array around the picked pivot. There are many different versions of quickSort that pick pivot in different ways.
1) Always pick first element as pivot.
2) Always pick last element as pivot (implemented below)
3) Pick a random element as pivot.
4) Read More →

You are not allowed to use loop constructs like while, for..etc, and you can only use the following ADT functions on Stack S:


The idea of the solution is to hold all values in Function Call Stack until the stack becomes empty. When the stack becomes empty, insert all held items one by one at the Read More →

In computer science, a B-tree is a tree data structure that keeps data sorted and allows searches, sequential access, insertions, and deletions in logarithmic time.
The B-tree is a generalization of a binary search tree in that a node can have more than two children. Unlike self-balancing binary search trees, the B-tree is Read More →