Machine Learning: What is it Good For?
Machine learning is really neat, and has a number of cool applications. See what uses machine learning is perfect for, besides Skynet.
Join the DZone community and get the full member experience.Join For Free
Machine learning is a type of artificial intelligence that provides computer programs with the ability to learn. This is done not by giving the program explicit instructions but by teaching the program to recognize features and patterns. Features and patterns exist in a huge variety. Features are individually measurable properties within the data that indicate a pattern.
Algorithms and models are created and used to identify a subset of target features and patterns within datasets. Datasets are then fed into the program to train the algorithm. Generally, training starts with data that has been validated by humans. This training allows the algorithm to be tested and refined.
Although these concepts may be difficult to grasp, we see and encounter them every day. Each time you use a search engine, you are training a machine learning algorithm with you search result selection. When you scroll through your Netflix suggestion, you’re browsing the output of a machine learning algorithm training from your previous movie and TV choices. And when your email server filters SPAM, it’s doing that based on a machine learning algorithm.
What are the benefits of machine learning?
Machine learning will have a significant impact on many human performed tasks and jobs. The tasks that will feel the impact first will be mundane, repetitive, and single purpose. Machine learning programs will be much better at accomplishing these tasks because:
- Machines don’t suffer from fatigue and are well suited for repetitive tasks.
- These programs can provide accurate analysis across very large data sets. Imagine trying to ingest the information from 10,000 technical manuals in a single day.
- The programs lack bias unrelated to the task and are able to provide non-obvious answers.
- Vast amounts of information and learning can be accumulated with time within a single system. Instead of specialized doctors, think of a single doctor being knowledgeable on all known ailments.
Why is machine learning growing in popularity?
Machine learning programs are developed and used more because the infrastructure needed to run and maintain them is now readily available.
The expansion of Cloud computing has made applications of all types easier to scale. This includes machine learning programs which typically require large datasets and a lot of processing power. Additionally, providers are building ecosystems specifically for machine learning: Google Prediction API and Microsoft Azure Machine Learning
We’re collecting more data from more applications and objects. The Internet of Things is driving this collection and is resulting in bigger datasets. These bigger datasets allow machine learning programs to be better trained because they have more examples and trials. Big data also provides information at a magnitude which allow machine learning programs to create a network effect. This effect then connects data points based on similarities, provides more context, and can improve the accuracy of algorithms.
Unlike humans who need rest, machine learning program can run without stopping while also getting more accurate. And unlike typically business intelligence tools which take data from the past and batch process the analysis, machine learning programs can learn patterns from previous data, then identify those patterns in new data, and provide analysis in near real-time. This will eventually lead to predictive analytics but right now is being used for things like: helping municipalities to deploy their resources (police, emergency responders, road crews, etc.) to address problems as they occur and not after they occur.
Where can machine learning programs be found?
As I mentioned earlier, we encounter machine learning programs every day and usually don’t even notice. These encounters tend to be around language processing programs but can also be image processing programs.
Language Processing is the identification of patters within our speech and writing. These programs are used to provide search results online, filter SPAM from your email, place online advertisements based on keywords and content, and much more. All of these programs continue to improve because they interact with humans regularly. We are constantly looking things up and telling the program if they’ve found the information we’re looking for or not based on our reaction to results. YOU are training the machine!
Another commonly encountered machine learning program is image processing. These programs include Optical Character Recognition (OCR) and Captcha. OCR is the conversion of images with printed, handwritten, or typed text into machine-encoded text. It allows for text from different sources to be digitized, then edited, stored, and searched. It can be used for translation, text mining, and text-to-speech programs. All of which is done through pattern recognition and machine learning.
As machine learning programs become more sophisticated we will see more applications of their predictive analytics. The programs could be used a source for predictive analytics which allow for limited resources to be deployed more precisely. Until then expect machine learning to remain ‘Artificially Stupid’ and focused on a single pattern recognition task.
Published at DZone with permission of John Basso, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.