Machine learning is a huge field with a lot of potential applications. That said, it can be a little confusing. You may be wondering: what exactly is machine learning, and what can it do? It's simply not possible to explain all the ins and outs of machine learning in a short post like this, but you can get a sense of the basics of what machine learning is and what it's trying to do.
Types of Machine Learning
First of all, it's helpful to talk about the different types of machine learning. In very basic terms, there is supervised learning, where a machine is given inputs with desired outputs that are already known. Then there is unsupervised learning, where there are inputs but the desired outputs are unknown. There is also semi-supervised learning, which falls between those two, and many other approaches, like feature learning, anomaly detection and self learning. These approaches may work together to achieve the desired result. The goal is always similar: for machines to be able to perform tasks without needing explicit instructions from a human programmer. It's not exactly the same as artificial intelligence, but it does play a role in efforts to develop artificial intelligence.
Natural Language Processing
One of the desired results is the ability for machines to understand human communication. This has been a goal of machine learning and artificial intelligence since the very dawn of computing and the development of the Turing Test. Natural language processing should, ideally, allow computers to interpret and interact with humans in a more natural way. Obviously there are many barriers, but the good news is that there's also a ton of very natural human communication happening at all times on the internet. Hypothetically, with such a huge amount of data and the ability to learn, a machine should be able to learn natural language processing, but the reality is that it isn't so straightforward.
Closely related to natural language processing is sentiment analysis. The concept behind sentiment analysis is to allow machine algorithms to monitor the opinions of large groups of people. Obviously this is very useful for advertising campaigns since it could allow companies to quickly gauge the opinions of a huge consumer base, but there are also many complications. English, for example, is an incredibly difficult language even setting aside the human penchant for comedy and sarcasm. Still, the potential uses of natural language processing and sentiment analysis are boundless.
Data mining is actually a close cousin of machine learning, but there is a great deal of overlap between the two fields, which makes it worth talking about. Data mining is all about finding previously undiscovered correlations, whereas machine learning is more focused on enabling algorithms to learn and predict. They both demonstrate the essential advantage that machines have over humans: the ability to look at and process vast quantities of pure data very quickly. Human brains are impressive computers, but the data we process is often wrapped up in social cues and interpretation -- a skillset that machines do not naturally possess, as is shown by the difficulty in natural language processing and sentiment analysis.
While the essential purpose of data mining is to look at past data, the core of machine learning is the ability to forecast, to look at past patterns and predict future trends. This is the central goal of machine learning. It's never going to be flawless, of course. No one can predict the future, but there is something very tempting about computers. There is a sense that with enough data and the right tools, we can achieve anything. Maybe there is something to that.
In the past, machines have only been as smart as the humans who programmed them. The whole point of machine learning is to create a machine that could be smarter than the humans who programmed it, or at least develop a different kind of intelligence that would complement our own for the betterment of everyone.