The appeal and methods of machine learning have been around for quite some time. However, it is in the last ten years where its successful application in everyday life has taken off, even though it largely remains invisible – tucked away in the coding of the websites you visit and mobile devices you use.
Book and movie recommendations by Amazon and Netflix; face recognition by Picasa; web search by Google and Bing; voice recognition by Apple; credit scores by Equifax – machine learning is being used to improve the capabilities and expectations of what a computer can do.
For example, here are book recommendations on Amazon after purchasing The Intelligent Investor:
But what is machine learning?
Machine learning is a collaborative discipline that draws upon advances in computer science, statistics, cognitive psychology, and other fields. As such, machine learning goes by many other names, including statistical computing, data mining, optimization, and pattern recognition (to name a few). We like to use the term machine learning, however, because it is self-descriptive.
Machine learning is an attempt to get machines (i.e., computers) to learn how to do stuff in a similar way to how people learn.
This differs from how computers have traditionally been endowed with capabilities. That is, historically, computers have accomplished things by following instructions provided by software engineers who translate a task (like web-search) into a program that can perform it. A program is a recipe of sorts – a list of commands that can be performed by a computer to achieve a goal. Machine learning is an alternative to having an engineer program a computer by allowing the computer to program itself.
The motivation for machine learning is simple: there are many tasks that we want computers to perform that have proven very difficult for computers to actually do.
Some of the more surprising examples are tasks that people are able to do with thoughtless ease. For example, while it is not too difficult to program a computer to solve college level calculus problems or search for a term among a billion words in seconds, it is agonizingly hard to program a computer to do tasks like identify an object in a picture, turn hand-written text into typed text, recognize a person’s face, have a natural (not even intelligent) conversation, or walk. It is also hard to program a computer to do things like translate english into french or vice-versa. These tasks are hard because they are all difficult for a software engineer to decompose into a set of steps a computer can perform.
Take hand-written recognition as an example. People have incredibly diverse handwriting. Imagine describing each letter (A, B, C, etc.) in enough detail that it can accommodate every variation of people’s handwriting, in every type and weight of writing utensil, and in every lighting condition. Machine learning comes to the rescue in cases like this. A machine learning algorithm is a program that can analyze thousands of different people’s handwriting and automatically generalize the commonalities between different people’s A’s, B’s, and C’s. By doing this, the computer learns to read people’s handwriting such that, with practice and feedback, it can correctly translate any new, previously unseen page of handwritten text into typed text (and, maybe even the seemingly illegible handwritten text of your left-handed doctor!).
Solving Complex Problems
Machine learning techniques generally require a large amount of computing power and data. Therefore, in the early years of computing, many of the useful problems we wished to solve with machine learning required more data and processing power than was available at the time.
Recently, however, with the dramatic increase in what a $1,000 of computing power can buy (thanks to Moore’s Law), we are now at a point where machine learning is being successfully applied to all sorts of useful problems. This growth is being compounded by the aggregation of data inherent in web and mobile-based applications and commerce. So, not only is it much cheaper to buy a lot of computing power but, because of web and mobile-based commerce and applications, there is more likely to be a lot of data in a central location that cheap computing power can exploit to solve useful problems with machine learning.
Take Netflix as an example. Because Netflix provides a service to users through a web-based application, the company can analyze the movie preferences of millions of people to help predict which movies a new user might like. This wouldn’t be possible if user data wasn’t aggregated. Every day we are all experiencing more and more of the benefits of machine learning in our lives.
So, why did we think to apply machine learning to investing?
Imagine you know someone who has been a successful investor for many years. When he is presented with a new investment, how would you guess that he decides whether the opportunity is a good one or not? It has been our observation that great investors use their collective experience of making investments, sitting on boards, starting companies, and observing the successes and failures of others to inform their decisions. These experiences create principles that help them to distinguish good opportunities from bad opportunities. For example, a lot of experience with bad investments in companies who use a lot of debt to finance growth might inform a principle that highly leveraged companies do not have a good success rate.
Just as our hypothetical investor related previous experience to new situations, machine learning enables us to digest the available, quantifiable experience one could have obtained by investing in public companies over a long period of time.
The results are simply a quantitative basis for evaluating a current company’s operating history and market price in context of those investment opportunities of the past that it most closely resembles. New opportunities are favored if they resemble good investments of the past and they are frowned upon if they resemble bad investments from the past. Machine learning informs good decision making with a huge amount data – an analysis of data that would otherwise prove intractable.
This is why Euclidean uses Machine Learning to search for and apply history’s answers for how to evaluate individual companies as potential long-term investments.
Some other useful resources on machine learning:
- Machine Learning (C229) is one of the most popular courses at Stanford University. Watch the intro video for an excellent description of machine learning.
- One of the very best books on the basics of machine learning: Learning From Data
- Forbes article: Six Novel Machine Learning Applications (2014)
- A Brief History of Machine Learning, by Eren Golge. His blog has many resources for both beginners and experts.
Erin Golge illustrates his subjective ML timeline.
- GitHub's Machine Learning Showcase
- A paper that bridges the gap a little between machine learning and economics, by Hal Varian.
- Many of our quarterly investor letters also dive into greater detail on the ways that we apply machine learning to our investment process.