Concepts Around Artificial Intelligence
There are many concepts around the wide field of Artificial Intelligence (A.I.). This article provides some details about Artificial Intelligence and the following related fields :
1. Artificial Intelligence
Here are the usual definitions of Artificial Intelligence as there is no formal definition accepted by all !
- Wikipedia suggests that Artificial Intelligence (AI) is intelligence demonstrated by machines, as opposed to natural intelligence displayed by animals including humans. It’s the study of “intelligent agents” which are any system that perceives its environment and takes actions that maximize its chance of achieving its goals.
- For Britannica, Artificial Intelligence is the ability of a digital computer or computer-controlled robot to perform tasks commonly associated with intelligent beings.
- This term is also frequently applied to the project of developing systems that mimic “cognitive” functions that humans associate with the human mind, such as the ability to reason, discover meaning, generalize, learn from past experience and problem solving.
Alan turing is usualy considered as the father of the modern approach of Artificial Intelligence with the creation of the Turing test in 1950 to try to answer the following question : Can machines think ?
This test is based on an interrogator who blindly ask questions to a machine and an other person and try to determine who is the machine and the other person.
The number of Artificial Intelligence applications is increasing quickly. Here are some examples of applications where Artificial Intelligence can be used :
2. Machine learning
Machine learning (ML) is a branch of artificial intelligence. It is the study of computer algorithms that can give the ability to systems to learn and improve automatically through experience and data analysis without being explicitly programmed.
Classical Machine learning models are based on the following models :
- Supervised learning models: Related algorithms use labeled training data to train themselves to find the correct answers by comparing the results with the provided labels.
- Unsupervised learning models: Data are’nt labeled. Algorithms have to find on their own the correct answer by finding patterns and structures in data
- Semi-supervised learning models: It combines a small amount of labeled data with a vast amount of unlabeled data. It’s a way to help the training of the related algorithms when the cost is too high to label all the data.
There are now many additional types of machine learning models :
- Reinforcement learning: Algorithms use trials and errors to learn which actions provide the greatest rewards
- Ensemble methods: It’s a combinaison of machine learning algorithms to boost the results
- Anomaly detection learning: It’s related to algorithms which are dedicated to find the outliers of a dataset
- Neural Networks: Artificial Neural networks mimic the neurons of a human brain. Neural algorithms need more data than classical algorithms to train themselves but they are able to manage more complex situations
- Deep Learning: Deep learning is referring to the high number of layers of neurons used. They need Big Data and can handle complex and unstructured data like text, images or audio.
Here are some examples of machine learning algorithms :
Example of machine learning algorithm
For those who are not familiar with machine learning, K-nearest algorithm (K-NN) is one of the most simple algorithm with low calculation time. It’s principle is to classify data points based on their proximity. For that, K-NN calculates the distance from all points in the proximity of the unknown data and filters out the K ones with the shortest distances to it:
- If you want to classify the unknown data between different categories, you just need to count the number of the k nearest data points in each category and assign it in the category for which the number of neighbors is maximum.
- if you want to detect anomalies, you just need to select the data points which are far from their k nearest neighbors (average distance to their k neighbors > to a predefined treshold value).
The following picture shows how KNN will assign the new data (purple point) into Category B (red points) :
Choice of the best data mining algorithm
The choice of the algorithm depends on many factors, including :
- The size, quality and nature of data
- The available computational time
- The training time
- The prediction time
- The interpretability of the results
- The The accuracy of the results
- The linearity of Data
- The memory requirements
- The number of parameters
- The number of features
Here is a sheet cheat from Microsoft Azure which gives some tips to select the best ML algorithm :
There is a theorem named “The No Free Lunch Theorem” which states that that all optimization algorithms perform equally well when their performance is averaged across all possible problems. It’s implies that there is no single best machine learning algorithm for predictive modeling problems such as classification and regression. So it is recommended to test and compare the results of different algorithms.
Methodology for Data Mining projects
CRISP-DM (Cross-Industry Standard Process for Data-Mining) is the most widely-used method to manage Data Mining projects. It was conceived in 1996 and is an open standard. The following diagram presents the different phases of this method :
The following table shows the detailed tasks of this method and the outcomes in italic.
3. Neural Network
An artificial neural network is inspired by the human brain, mimicking the way that biological neurons works. The simplest model of a neural network is named “perceptron” which is a mathematical model of the biological neuron.
Multiple Neurons are organized in layers. A layer is a group of neurons which are connected to neurons from another group. The classic Neural Network is based on the following layers : input, hidden and output layers :
There are many additional ways to organize neural networks which are summarize in the following chart :
4. Deep learning
Deep learning is a subset of machine learning based on artificial neural networks which learn from a big amount of data. The word “deep” in “deep learning” refers to the number of layers (>3) of the neural network.
5. Computer Science
Computer science is needed to develop and optimize machine learning algorithms. Knowledge in computer architecture such as memory, clusters and bandwidth is also required to manage vast amounts of data. The following picture outlines the needed skills for Data Science :
6. Mathematics, Statistics and Probability
Machine Learning is an interdisciplinary field that uses mathematics, statistics and probability in their algorithms to analyse and learn from data. The following picture shows which topics are mostly used in Data Science :
7. Big Data
Big Data is the raw input of Artificial Intelligence. Data need to be cleaned and structured before it can be used by Machine Learning algorithms. The three main characteristics of Big data are the following (named “3 Vs”):
- Volume: The quantity of generated and stored data. The size of big data is usually larger than terabytes and petabytes
- Variety: The type and nature of the data. A.I can handle structured, semi-structured or unstructured data (ex: video)
- Velocity: The speed at which the data is generated and processed to meet the demands. Big data is often available in real-time
Some other characteristics of big data are :
- Veracity: The truthfulness of the data which reflects it’s quality.
- Value: It represents the profitability of the information that is retrieved from the data
- Variability: The changing format or structure of the sources of data
8. Data Science
Data Science is a field of study that combines statistics and maths, programming skills and domain expertise to extract meaningful insights from vast amount of data whereas Artificial Intelligence makes use of computer algorithms.
The following picture shows the interactions between Data Science and other related fields included Artificial Intelligence.
I hope that all the above concepts related to Artificial Intelligence are clearer for you.
If you need to add some more details or correct some points, please feel free to comment this article !