Machine Learning explained

Note: This was republished from Originally published on 11/12/2017

The target of this article is the non-technical reader, management or executives who might need to make decisions about investing in machine learning .

This article answers the following questions:

  • What is machine learning?
  • Why the hype?
  • Why should we care?
  • What should we do now?


Most people answer this question by saying “its software that can learn from data” and then get down to the nuts and bolts of various machine learning implementations. Sometimes they explain why its big now (there has been an explosion in the amount of data so the machines can learn better, and machines are faster due to cpu/gpu speed improvements).

My focus on the topic is about how its useful in building technology competency in a company or community.

It is useful to know that machine learning is an outgrowth of artificial intelligence computer science techniques, but I don’t think from a business perspective it’s worth exploring the topic of thinking machines that might become as intelligent as humans. Most celebrated AI successes over humans (e.g. Karsparov and Deep Blue, Lee Sedol and AlphaGo) have been by extremely stupid machines with one very narrow focus, massive brute force of energy and computation plus dozens of (handmaiden) scientist assistants. So while that side of AI is interesting, it’s not often useful in a business context.

Machine learning (ML) is software that learns from data. We can contrast that with the majority of software which is written like a recipe (take that data, do this to it and if this happens then do that).

As a side note the current Head of AI at Tesla – Andrej Karpathy wrote an article  on how Software 2.0 (ML based) was going to take over from normal software development . It was an interesting perspective – because from my perspective most software development is not actually about creating computation systems (unfortunately) – like simulations or analysis etc. Most software development is about increasing the efficiency of a very boring human lead process. In my experience – a very small amount of development goes into the actual computation part – and even if that is taken over by ML techniques it will have little impact on much of day to day software development. I’m not sure how you would train a system to create a UI that fits the requirements and predilections of a product owner (e.g. the usual interaction goes “I want the button to be green and at the bottom right”, and the reply “but no one will find it there and half of your users are colour blind”, followed by “I don’t care – thats where I want it” – even zero shot learning ( isn’t going to be particularly useful with “predicting” the best UI). The examples Andrej gives – with the exception of games – won’t be programmed by 99% of developers.  I think ML has got much bigger fish to fry than trying to replace the latest javascript front end – or replace the latest mobile operating system. “Give a man a hammer and everything is a nail” comes to mind. In my view we would better off concentrating on using ML to create things like power tools for experts or better analysis and modelling tools. These tools and their ongoing results can be then slotted them into the boring software infrastructure thats already there (operating systems, UIs etc)). Maybe at some point all development will be created via some sort of autonomous agent – but thats a way off (somewhere between Software 4.0 and the software singularity).

ML generally learns by trying to predict an outcome and it does this by using the data its been given. For example imagine a big list of medical records and the machine’s job is to learn which patients might become diabetic. As the learning process takes place,  it will make predictions, then check to see if it was right – and if it was wrong it will readjust its parameters to see if it can maker a better guess. At some point given enough data it will converge on some attributes like age, weight, blood pressure etc and make much more accurate predictions on data that it hasn’t seen before (perhaps predicting that the person is likely to become a diabetic).


ML is hyped because the big software incumbents and unicorns are using it on their massive data hoards – and because those companies believe it will provide some competitive differentiation.

It also has a lot of hype because it is linked to the ongoing conversation on AI dystopian futures, the loss of jobs because of automation (which is a real thing – but lets stop sitting here like turkeys and actually design our future jobs shall we?) and because of chat bots which are anything but intelligent.

AI and machine learning do seem to be currently improving at a rapid pace – in certain areas – which is why there are many speculative predictions about its impact. One recent advance is on speech recognition, which is getting very accurate. The key prediction here is that we won’t need to type any more (so says Ruhi Sarikaya, director of Amazon Alexa).

 By the way –  I’m having a hard time imagining that. Everyone everywhere, in offices, on the street, in cars, buses, planes – constantly nattering into their devices in order to get them to do stuff, thats going to be really noisy and really annoying.


We should care because ML is a very useful tool that we can add to our tool box and it CAN provide some competitive differentiation, if integrated properly with a domain speciality (which most of the time it’s not). It can also provide efficiency improvements (which I think for the most part is completely uninteresting – but probably is the majority use in transactional systems) or scale improvements (for those few companies who have large amounts of data it may not be possible for a person to find issues – but this issue is an extension of standard data mining and statistics).

Side note: Just because something is high tech doesn’t mean its automatically disruptive. Disruption is not a categorisation based on high tech. (Disruption is either more cheaply accessing over served customers or accessing new customers and then moving into an incumbents territory). I’m a bit sick of the over use of the word disruption and disruption innovation (the innovation word is often implicit) – it has a clear business meaning


Lets simplify things a bit.

Rather than categorising ML via implementation details (supervised vs unsupervised) or via the predictive job it is trying to do (recognise a cat), I like to categorise machine learning by the type of data it requires to learn. I probably am reinventing the wheel – but I’ve yet to come across this categorisation in the popular press.

I split it into two categories:

  • Does the machine need human transactional data to learn? For example bank records, customer purchases, search requests?
  • Or is it trying to analyse continuous environmental data – like images, videos, speech, weather or other sensory data? This second categorisation can appear as transactions (e.g. rainfall records) but I still like this categorisation because the data feels qualitatively different. It is i) almost infinite, and ii) purer or more raw. It hasn’t gone through some filtering mechanism like financial transactions might do, and iii) I think the analysis of the real world data will bring much more interesting technology than the incremental improvement in analysing financial or other human transactions, which we have been doing for ages.

Once we make this distinction we can quickly move to whether ML will help us:

Do we have human transactional data ? If so, do we have enough to try and intuit some patterns from it using ML (e.g. anomalous/criminal transactions) – in that case we need to have some ML competency based on the transaction data.


Do we deal with environmental data (e.g. a pipe crawler looking for defects, or autonomous car watching the road, or a weather balloon) then we build (very different) ML systems to analyse and react to that environmental data.


Machine Learning and AI are the future, it will impact our lives immensely, but I think its a mistake to think of it like a black box, or some sort of assistant/slave. I think we are better of trying to use it to augment ourselves, to make ourselves better at what we do, rather than remove ourselves from the loop. Thats one of my focuses – using new technologies to make us (as individuals and as a society) better.

Leave a Reply