Artificial Intelligence and Machine Learning
Would you catch an apple if someone gently throws it to you? And if the answer is ”YES”, would it be difficult? Would it involve solving a complex equation describing the motion of an apple in your mind in a fraction of second? In this topic page, we guide you through the main concepts AI and ML.
What is artificial intelligence?
Would you catch an apple if someone gently throws one to you? Presumably, most of us would say: ”I just catch it, as simple as that”.
Yes, we can just catch an apple thrown at us, or a tennis ball, or a football, or any other type of ball quite easily. This happens because of prior experience of similar interactions with moderately sized flying objects. Moreover, we do not have to train specifically for catching apples. Throwing a ball with your friend for 20 minutes would provide you with all the knowledge and skills needed for catching apples, pears, plums, and even oranges.
In a nutshell, this example captures the foundation of what an Artificial Intelligence (AI) and Machine Learning (ML) really is: learn from experience and then apply that knowledge in various contexts. On this topic page, we discuss the main concepts of AI and ML, explore the different branches, and discuss some misconceptions.
Is Artificial Intelligence the same as Machine Learning?
How does a machine learn?
A development process of almost any ML system goes through 3 or 4 main stages:
- Exploratory Data Analysis (EDA) – optional but highly recommended step which build upon various visualisation techniques, efforts to better understand the meaning of data, and more.
- Design – type of algorithm and a particular implementation are chosen by the software developer at this stage.
- Training – this is the moment when we feed our data to the Machine and expect it to Learn
- Deployment – once we are happy with the performance of the ML algorithm, it can be used to solve the problem that it was trained for.
Machine learning example
Let us assume a task of sorting photos from the summer vacation into the following groups: portraits, city, nature, beach.
Before we dive into the design of the ML software, we need to ensure we have an appropriate data set. To actually enable learning, it is crucial to provide guidance, e.g. give examples of city photos, nature photos and so on. In short we need photos with labels, and good examples of each group that we want to recognise.
The training process is, in essence, pretty straight forward: we show our photo to the ML algorithm, based on the photo the algorithm tries to identify which group it belongs to, and we tell the algorithm if it was correct or not. If an image was classified correctly, our feedback would be positive. And otherwise – negative.
In the case of negative feedback, the algorithm is making small changes to itself to not to repeat the same mistake again. The sequence of showing photos and providing a feedback is repeated until a satisfactory performance is achieved, for example, on average 98% of pictures are correctly classified. Training is complete.
Time for deployment. There are many ways to deploy your newly born ML solution. The only requirement is that this model should receive photos and be able to send back the group to the photo owner. The fun part is that it is still possible to enable an algorithm to learn from the new photos. This way it improves automatically!