Choosing the right algorithms for your Artificial Intelligence Platform
We thought we would return this week to our ongoing series looking at creating an Artificial Platform. So far we have discussed understanding the problem to be addressed and the data required. Now, we’ll turn our attention to choosing the right algorithms for your Artificial Intelligence platform.
The type of algorithms you can opt to use are based on the type of learning you decide to choose. You can either go for Supervised, Unsupervised or Reinforced Learning – so let’s look at the common algorithms grouped under each.
This approach is used when you want to classify data or predict outcomes accurately through training the algorithm with labelled datasets. In effect you are helping the platform to learn by giving it data already containing the desired output. The algorithm can then get busy processing data and comparing the outcome to the labelled data, making adjustments until it achieves the same results.
Within Supervised learning you have two approaches:
- Classification, where the information can be separated into two or more groups, such as spotting whether your inbound emails are safe or spam
- Regression, where the information is used to predict variables, such as stock market prices
As you might guess, Unsupervised learning is where you use artificial intelligence algorithms to identify patterns in data sets which are not labelled. Using this approach you will be allowing the algorithms to process data without any guidance. The platform will group, or label, or classify data as it sees fit. It will find patterns or similarities in unsorted data. You use Unsupervised learning for more difficult tasks, such as facial recognition.
Similar to Supervised learning, there are a number of approaches you can adopt:
- Clustering, which takes unlabeled data and groups it based on similarities or differences. You would use Clustering algorithms when you want to process raw, uncategorised data objects into groups represented by patterns in the information. Clustering algorithms are split into 4 types; Exclusive, Overlapping, Probabilistic and Hierarchical.
- Association Rules, for when you want to discover relationships between variables in data. This approach is popular in market analysis, when organisations are looking to find links between different products being purchased.
- Dimensionality Reduction, which only uses a proportion of the data available to undertake the required task. If you are in the fortunate position to have a huge amount of data, Dimensionality Reduction will help mitigate against reduced performance of the algorithms while keeping the overall integrity of the dataset.
With Reinforced learning we take matters a step further. Unlike Supervised and Unsupervised learning, which aim to make a single output from the data provided. Reinforced learning looks to make a string of decisions to reach a goal. The AI platform will achieve this through trial and error, testing different scenarios to arrive at a result. Reinforced learning would be used to play a tactical game – chess is an obvious example here – or determining how a robot can best perform tasks within a production line in the most efficient manner.
And yes, there are also different approaches to Reinforced learning, including:
- Associative reinforcement learning, where the learning system interacts in a closed loop with its environment.
- Deep reinforcement learning, which uses a deep neural network and without explicitly designing the state space.
- Inverse reinforcement learning, which looks to observe and then mimic behaviour from an expert
- Safe Reinforcement Learning, which is defined as the process of learning policies that maximize the expectation of the return in problems in which it is important to ensure reasonable system performance and/or respect safety constraints during the learning and/or deployment processes.
That’s it for Part 3 in our series looking at choosing the right algorithms for your Artificial Intelligence Platform. Next time we’ll look at how you get your algorithms in shape to do the task in hand.