What can I do with Machine Learning?
Machine Learning (sometimes called more broadly as "Artificial Intelligence") has been in the news for the last few years and every product in our hands these days seems to have some sort of "AI" in it, but what can I really do with it?
What is Machine Learning good at?
Before we discuss real world applications of Machine Learning, first it might be good to discuss what kinds of problems, in general, Machine Learning can help us.
Machine Learning is great for
- Problems that require a lot of fine-tuning or long lists of rules, using current solutions.
- Complex problems for which we don't have a straightforward exact solution.
- Environments in which the data tends to change frequently.
- Getting insights from large amounts of data.
Machine Learning algorithms are great at finding patterns in the data you give them and automatically coming up with rules to solve the problem given.
Example of application
Here is a list of concrete examples of Machine Learning tasks, broken down in categories
Computer Vision (CV)
Computer vision is the field related to classifying images, identifying things in them and more recently generating new images based on existing ones.
- Classifying products automatically based on their images: This is an image classification problem and typically will use a special type of Neural Networks called Convolutional Neural Networks (CNN)
- Detecting tumors in brain scans: This is an image segmentation problem, where you identify which pixels of the image represent the tumor. This type of problem will also make use of CNNs. Another example is diagnosing pneumonia based on lung scans.
Natural Language Processing (NLP)
The field of NLP tries to create systems capable of understanding human language. It goes across many different fields like predicting your feelings from a tweet, automatic translation and chatbots.
- Classifying news articles into categories: This is a text classification problem where you want to identify common themes in between texts. Recurrent Neural Networks (RNNs), CNNs and more recently Transformers are widely used.
- Automatically flagging offensive comments: Another text classification problem of great importance these days when social networks influence so much of our lives and can even take governments down.
- Creating a chatbot: Most company sites these days provide some sort of automatic chat service where you can ask basic support questions and get an answer right away. Chatbots are actually advanced applications of NLP utilizing many different technologies like question and answering systems.
The applications below are very interdisciplinary, utilizing a different number of technologies
- Making an application that responds to voice commands: This application requires you to be able to do speech recognition. If you also need to understand the meaning of the words said you will need to apply NLP techniques to the obtained text.
- Detecting credit card fraud: From the millions of transactions happening every day the system needs to determine which ones are probable frauds. This is a special case of classification problems called anomaly detection.
- Recommending products to a client based on their profile and/or previous buying history: Every e-commerce site these days provides some sort of recommendation. These algorithms are training in thousands, millions or even billions of transactions trying to learn what the clients like and might want to buy, even if the customers don't realize it.
This list could go forever as so much in our life is supported by Machine Learning applications, some literally in our faces (Zoom and Instagram filters) as well as hidden from our eyes (improving energy efficiency of data centers) but I hope you are now able to contemplate how many possibilities will be at your hands by mastering Machine Learning techniques.