Computers are no longer dumb. With advancement in artificial intelligence and more specific fields of studies, such as machine learning algorithms, programs are created that are sufficiently supporting a decision-making process in a complex environment. Using tools as expert systems, artificial neural networks, and genetic algorithms, computers are now able to perform tasks supporting vast range of human activities from petroleum play analysis to stock market forecasting.

What is Machine Learning?

The origins of machine learning algorithms date back to the time, when the very first computers were constructed. The idea of computers with an ability to learn without being explicitly programmed was first fulfilled by Arthur Samuel in 1952, who wrote a program that achieved to play checkers after gaining experience by playing tens of thousands games with itself. However a far better known computer program developed in 60s is ELIZA, a rule-based system able to perform a conversation with a human about his life. Although the overall performance of ELIZA was disappointing, some people actually mistook ELIZA for a human. After more than 50 years of research, machine learning evolved in the field of study with number of practical applications. Many of these we use on daily basis, such as filtering spam in our mailboxes.

How to Make a Self-learning Machine?

In order to enable a computer program to learn, we can use several approaches connected to artificial intelligence, such as expert systems, artificial neural networks, genetic algorithms and many others. All of these approaches work with the basic idea of constant evolution of the algorithm based on the computer’s previous experience, yet each is different.

Supplementing an Expert

Expert systems are the oldest application of machine learning. The key elements of an expert system (such as ELIZA for example) are a knowledge database, consisting of rules assigning a decision to various circumstances, and an inference mechanism for decision-making and learning. The purpose of such a system is to supplement an expert’s ability of decision-making in complex situations, such as diagnosing a disease. Usually it is also capable of interacting with the user, asking him questions to clarify the problem and to find the right solutions in its knowledge database. The fact that the program can adjust its knowledge according to new data from recent cases gives it the ability to learn. However, the learning algorithms are usually not quick enough in rapidly changing environments and requires human-driven improvements. Expert systems are nevertheless widely used in manufacturing and business in general.

Learning like How Humans Do

Artificial neural networks work on a similar principle to the human brain. The program consists of processing units interconnected, similar to neurons in a central nervous system. Each unit, “neuron” can produce one output based on many inputs. This means that it is capable of performing certain tasks, but the intelligence of the system is emergent from its complex structure and interaction between the neurons. This network does not have a pre-programmed base of knowledge similar to the expert system, but instead is based on a sub-symbolic low-level learning algorithm, which embodies the knowledge directly into the structure of the program. A neural network goes through a training phase, where it gains knowledge on a large sample of data. The learning of a neural network can be supervised or not. The advantage of such machine learning algorithms is its independence from human bias, which may lead to more accurate decision-making then the one performed by an expert. Neural networks are suitable for programs focused on pattern recognition and entity classification, such as face recognition on Facebook, which can now with 97.25% certainty tell whether two pictures show the same person.

Evolutionary Approach

Genetic algorithms are also inspired by the world of nature, but in a different way, they are based on the idea of evolution and natural selection. The program generates a set of possible solutions. For each solution the fitness is evaluated on given criterion and the “weak” solutions with low fitness are eliminated. New solutions are derived using mutation (which is rare, similarly to human genome mutations) and crossover, where offspring of two solutions is created based on exchanging pieces of it. This approach enables a development of algorithms that cannot be generated by usual processes and it is very advantageous for the simulation of a complex environment, such as ecosystems and markets. Genetic algorithms are powerful for multi-dimensional and non-continuous noisy problems, where standard deterministic algorithms fail. Common applications of this machine learning algorithms cover automated product design, evolvable hardware or traffic routing.

From Learning to Prediction

A significant number of machine learning algorithms applications are used for making predictions about the future. However, it is a very difficult task to ensure that the learning algorithm can generalize the analyzed situations to the more or less similar future states. The main problem known as overfitting is connected to the fact that the algorithm pays too much attention to the chaotic noise in the data. In order to detect overfitting, two sets of data are used during the learning process – a training set and a validation set. When the error over the validation set increases while the error over the training set keeps decreasing, the algorithm is overfitted and loses the ability to generalize and predict. The task to find the most suitable set of rules for the algorithm is therefore defined as a problem of finding the global minimum of the error function over the validation data set. To ensure this, a variety of statistical techniques can be used, such as cross-validation, early-stopping, regularization and Bayesian prior probabilities. However in situations when there is a very large amount of data available, like in continuous online learning, the problem of overfitting is less likely to occur.

Machine Learning in Practice

The use of machine learning algorithms spans from handwriting recognition and computer vision to queue modeling in emergency waiting rooms and customer profiling. It can be used for various applications in medicine, environmental protection, robotics, device design, pattern recognition, pipeline control, and systems simulations.

GEOPLAY – Making Play Analysis Easier

Let’s now talk about a specific expert system called GEOPLAY, targeted to support geologists in exploring petroleum plays and perform related play analysis. Exploring petroleum plays deals with lot of uncertainty, which is difficult to handle for human experts. GEOPLAY assigns a numeric value to every piece of data based on their likelihood to error and calculates with it in the analysis performed. Furthermore, it connects the data with a pre-defined system of rules and goals – a knowledge base. To find the most suitable solution for a problem, the inference mechanism works with the knowledge base of facts, goals and if-then rules as well as also leads dialogue with the user to get as much data as possible. The program can learn, adjusting its knowledge according to new data from recent cases.

I Know First – Intelligent Stock Market Predictions

Another specific example of use of machine learning algorithms is I Know First’s algorithm for stock market modeling and predicting designed by Dr. Lipa Roithman. The algorithm uses years of daily market data to identify patterns and create predictions of future situations unbiased by human beliefs and opinions. However, it is unique not only for its combination of genetic algorithms and neural networks, but also thanks to the implementation of principles of chaos theory and fractals. The output of the algorithm is a stock trend prediction (the signal) together with its confidence (the predictability indicator), which helps the trader to decide which direction to trade, at what point to enter the trade, and when to exit. As the algorithm is continuously evolving and improving it provides better and better predictions.

Machine Learning Algorithms Spreading Widely

Machine learning is a young field of study, yet it has already developed a large number of solutions for problems we were not previously able to address. Moreover, the number of applications is rapidly increasing and covers a bigger portion of human knowledge about the world around us. Therefore it is very likely that machine learning algorithms will play a crucial role in improving people’s daily lives and generally in the advancement of the society in the future.

I Know First Research is the analytic branch of I Know First, a financial startup company that specializes in quantitatively predicting the stock market. This article was written by Alice Pekova one of our interns. We did not receive compensation for this article, and we have no business relationship with any company whose stock is mentioned in this article.