Machine learning
“Machine learning will automate jobs that most people thought could only be done by people.”
- Dave Waters
So, what exactly is machine learning? According to a definition given on the Web, machine learning is: “…an application of artificial intelligence (AI) that provides systems the ability to automatically learn and improve from experience without being explicitly programmed. Machine learning focuses on the development of computer programs that can access data and use it to learn for themselves.” In other words, machine learning is an AI technique that allows us to solve problems that cannot be solved with explicit programming or conventional mathematical techniques. It may, therefore, be no surprise that it effectively provides solutions to many of the problems outlined above that are consequences of a reductionist view of the world and a desire to reduce every problem to a few equations. The solutions of the vast majority of real-world problems are far too complicated for such a simple approach. As discussed, if we try to apply a closed-form mathematical solution to problems we wish to solve in, say, engineering, we quickly find the mathematics becomes hideously complex for the solution of all but the simplest of problems. In contrast to this, machine learning takes ideas from the fields of artificial intelligence, computer science, and computational statistics; it uses algorithms that can learn from data through a process of self-improvement. Not that machine learning always has to involve use of CNNs; other approaches that have been used for many years include ‘Local Binary Patterns’ and ‘Support Vector Machine’. Going into the details of how these work is beyond the scope of this book – suffice it to say that the former recognises patterns by analysing local ‘textures’ in the patterns, while the latter employs lines or planes for classification. The resulting models can then be used to make predictions on similar, domain-specific data – and by that we simply mean solving various useful tasks in a range of application areas. This is reasonably straightforward when we are talking indoor situations or ‘structured’ environments. However, when it comes to outdoor environments or ‘unstructured’ indoor situations, things get a bit more tricky. Here, dramatic changes in lighting often occur as well as relatively random variations in object position and/or orientation. Since such apparent disorder cannot be modelled explicitly, conventional machine learning methods can struggle to maintain good performance. This calls upon investigations and comparisons of different methods that can automatically obtain reliable features regardless of the complexity of data available. One such method is neural networks which, as mentioned above, is a class of machine learning algorithm/model based loosely on neuronal processes in the biological brain, where a number of neurons are connected together by ‘weights’ (where the model is stored) .