Call us today on

01782 752 369

Part 1 What is Machine Learning?

The following Blog Post is written by Brian Steele our Technical Development Lead.

These days, the terms “Machine Learning” and “Artificial Intelligence” are phrases that are bandied around a great deal when vendors talk about the features of the monitoring solutions. But “What is Machine Learning?” and “How does Machine Learning help Monitoring Tools?”

This is a two-part Blog that aims to answer these questions starting with “What is Machine Learning?”:

The Goal of Machine Learning

The goal of Machine Learning is to take some existing real-world data (like monitoring metrics for CPU, Memory, and Disc, etc…) along with a target metric (like device availability, application performance or user experience) then work out the following:

  • Which of the real-world data is important? So, for example… By examining the CPU, Memory and Disc utilisation of a server over a two-week period, I may be able to determine that only the CPU utilisation has any correlation to the observed server application performance. So, the Machine Learning has to work out that it needs to focus on the CPU utilisation, and can afford to ignore all other metrics if it wants to be able to predict the availability and performance of the server in question.
  • What is the relationship between the real-world data and the target metric? So, for example… By examining the CPU, Memory and Disc utilisation of a server over a two-week period, I should be able to develop a formula (function) that takes these metrics as parameters and then provides an answer which closely matches the observed availability and performance of the server in question.
  • Accept new, unseen, real work data and predict what the target metric is likely to be So, by monitoring the required metrics from (1) and feeding them into the formula developed in (2) I should be able to take any new unseen set of metrics for a given server and then calculate the expected availability and performance.

What does Machine Learning look like?

The graph below helps us to visualise what is going on inside Machine Learning in a scenario where it has worked out that it only needs to monitor the CPU percentage utilisation (Horizontal axis) to predict the server latency (Vertical axis). Remember, it has done this by observing real-life data, nobody had to sit down and program this understanding through the configuration of rules.

The Machine Learning has further observed that it is able to group servers together by their role which enables a more accurate prediction of expected latency for any given server as a function of its CPU utilisation and server role. The Machine Learning also develops a formula (function) which will draw a line through the data points to closely approximate the observed results. This line can then be used to predict the expected results from any intermediate point where we have previously had no data to guide us.

We don’t want to memorise results we want to calculate them

In the following example, we see that the “Web Servers” have results that don’t follow a straight line through the other server roles. In this case, the Machine Learning will develop a more complex formula (function) which will closely follow the observed results while still allowing us to predict the expected results for any intermediate point. During the development of the formula (function), the Machine Learning continually compares its predicted results with the real-world results to see how closely it is tracking. Once the formula (function) is within a close enough approximation it is considered to be “Right Fitting” and the development of the formula (function) stops.

By contrast… in the following example, the Machine Learning has overdeveloped the formula (function) so that the predicted results exactly match the real-life data. This is called “Over Fitting” and means that the Machine Learning has basically “Memorised” the results. This means that its effectiveness will be compromised when it comes to predicting the results for intermediate points.

In Conclusion

  • You don’t have to configure what data to monitor; Machine Learning will work that out.
  • You don’t have to configure rules and thresholds; Machine Learning will work that out.
  • Machine Learning will predict results even if the metrics have never occurred before.
  • The predictions improve over time as the Machine Learning observes more edge cases.

If you have found this introduction interesting then download our mini-presentation here to get more insights into Machine Learning including the fundamentals of Neural Networks.

Part-2 in this series will explore the topic “How Does Machine Learning Help Monitoring Tools?”

Follow by Email

Popular Posts

Blog Archive

Our Clients

  • Camden
  • Vodafone
  • SCC
  • timico
  • William Hill