Machine learning

Machine learning is the science of getting computers to perform a given task “without being explicitly programmed” (Arthur Samuel in 1959). In the last two decades, machine learning has imposed itself in our every-day life with self-driving cars, speech or face recognition, effective web search, spam detection and product recommendation systems. Machine learning is so ubiquitous today that you probably use it multiple times in a day without realizing it. Some researchers even believe that it will lead us towards human-level artificial intelligence.

Typical Machine Learning Problems

To use Machine Learning on a real problem, we need to cast it into one of the class of Machine Learning problem. For instance, “drive that car on the road” would become “given the input images of the different cameras, return the direction of the wheel”. In this special case, we will probably use a reinforcement-learning algorithm. We distinguish between three common classes of problem in Machine Learning.

  • Supervised learning: The computer is given an input of data and its desired output. The algorithm needs to learn from those in order to provide accurate output for new input data. Classification belongs to this area. For example, in spam detection, the two classes are spam/non-spam and from previous recorded email, the computer will classify the new arriving emails. Supervised learning algorithm also includes regression where the data is labeled with a real value (floating point) rather than belonging to a discrete set. In stock exchange, for instance, we are interested to predict the value of an auction in the future given its value in the past and other additional information. Supervised learning algorithms perform, to my point of view, the most amazing computer task arrived the last decade: speech recognition, text translation, image classification,...
  • Unsupervised learning: The computer is given as input some data without any output, leaving to algorithm the task to find the internal structure of the data. The most common example is clustering. The task is to divide different samples into groups based on their similarity or another measure.
  • Reinforcement learning: The computer interacts with a dynamic environment in which it has to perform a certain goal. For instance, we could ask the computer to detect faces in a video stream.

Deep learning

Deep learning has recently become one of the hottest topics in machine learning. Originally inspired by the brain, the first impressive deep learning algorithm had a multilayer neural network structure. In that case, the learning task consists of inferring the connectivity patterns between the neurons. The problem is written as a big non-convex optimization problem solved mainly using advanced gradient descent techniques. Deep learning has only become popular in the last few years because computers became powerful enough to solve those complex problems (researchers have also elaborated techniques to solve the vanishing gradient issue). Additionally, the apparition of GPU allows us to solve those big problems on a single computer quite efficiently. Although deep learning is not directly my field of research, I was lucky enough to receive a free Tesla GPU by NVIDIA, allowing me to play with deep learning.

Fun with Deep learning

In construction

Research contribution in machine Learning

  • Fast Robust PCA on graph: An efficient scalable robust low rank extractor using graphs. PDF Code
  • Compressive PCA on graph: A very efficient scalable robust low rank extractor working in a compressed domain. PDF