Machine learning is currently a hot topic, but the origins of the concept date back to the 1950s. In this blog, Ed explores the history behind machine learning and what it means for modern software development.
Machine learning has been the subject of much conversation in recent years. From Japanese robots that learn new skills on the job to image-recognition solutions that prevent trademark infringements, a quick glance at your favorite tech site will return all sorts of stories about new machine learning innovations.
Given the recent public fascination with machine learning, it may come as a surprise that machine learning is actually not a new concept at all! In fact, machine learning goes all the way back to the 1950s, when Alan Turing embarked on an effort to test a machine’s ability to exhibit intelligent behavior—the Turing test.
If you aren’t familiar, this test challenged a human subject to “interrogate” two other players via a computer interface in an effort to discern which was a robot and which was a human. The goal was to see whether the computer could exhibit intelligent behavior—or at least come close enough to trick the interrogator.
Just a few years later in 1956, The Dartmouth Summer Research Project on Artificial Intelligence began in full. This assembly of mathematicians and scientists set out to discover whether aspects of learning and intelligence could be defined so specifically that even a machine could be made to simulate it. This included tasks such as forming abstractions, using language and solving problems.
These two milestones formed the basis of what we now know as machine learning. Of course, there have been further advancements in the last half a century, but it wasn’t until very recently that we had the ability to truly begin pushing the boundaries of this concept. Since the days of the early pioneers, computing power has increased exponentially while the cost of technology and data storage has declined just as rapidly.
These days, almost everything produces data to some degree, and now we are better equipped than ever to store, analyze, process and cleanse this data. This enables enterprises to create better models and algorithms that improve machine learning, giving businesses new avenues to capitalize on unexplored opportunities. Businesses across all industries are tapping into machine learning to boost efficiency, reduce costs and improve insights and results.
What Does Machine Learning Mean for Software Development?
As software developers, our job is to design solutions and tools that are able to rise to the occasion and meet the needs of our customers and clients. Machine learning is a significant tool in that endeavor, helping us create more intelligent applications across the board.
For example, machine learning enables developers to create applications that can:
- Recognize and process pictures to categorize them, add meta information and filter content
- Interpret text to help audit information, recognize user sentiment and process feedback
- Identify and predict system performance and failure, preventing outages or breakdowns
Of course, getting to that point requires a lot of effort—training machines is no easy task. Developers must be able to collect the right information, prepare and process the data effectively, use this data to build a model to train the machine and then constantly evaluate and iterate on all of this to maximize predictions, insights and results.
We’ve come a long way since the Turing test back in 1950, and it’s exciting to see how machine learning continues to develop as we explore potential opportunities to get the most out of this ever-evolving technology.
Ed Charbeneau is a web enthusiast, speaker, writer, design admirer, and Developer Advocate for Telerik. He has designed and developed web based applications for business, manufacturing, systems integration as well as customer facing websites. Ed enjoys geeking out to cool new tech, brainstorming about future technology, and admiring great design. You can find out more at http://edcharbeneau.com.