In the last 2 or 3 years, you may have heard that "data is the new currency." Or perhaps you've read news about the increased usage of artificial intelligence to create self-driving cars, supplement customer support, and improve product recommendation systems based on the last purchased item or the customer's shopping profile.
Machine learning has found its way into the market, and many companies are using it to improve or develop new products. But one topic that we don't hear much about is, "How do I get started in a machine learning career?" "Are there pre-requirements, or can I just jump in and base my ML studies on documentation?" If you have asked yourself these questions, then keep reading! Today we're going to talk about how to break into the vast field of machine learning.
Machine learning was born as a study branch within artificial intelligence so researchers didn't have to tell a machine the rules on how to behave. Instead, a machine would learn from the data itself by identifying patterns and determining its own behavior. Even though this field started as an applied subject within artificial intelligence, it proved to be very effective and promising, so researchers started applying it to many different problems. Beyond identifying and extracting information based on a researcher's ideas drawn from visible data and the relationships between them, researchers could also develop algorithms that could identify hidden patterns and use them to gain insights from the data.
Following this movement, researchers from many universities started to collect data from different domains, from flower characteristics to car models to illnesses such as brain cancer, in order to develop and create new models. (A model is a math function that states how a piece of information relates to other information.) As a result, we now have many frameworks that abstract these functions (algorithms) and can be applied to any collection of data. These frameworks include Scikit-learn and TensorFlow.
An Academic Approach
As you can see from this context, machine learning by nature has a strong academic root, hence all its concepts are based on academics. Because of this, people interested in learning about this field and pursuing it as a career path usually assume that they need solid academic knowledge based in math and/or a deep understanding of research methods. Most articles would set a study guideline as follows:
- Linear Algebra and Multivariate Calculus
- Machine Learning concepts (includes frameworks and mindsets)
To be honest, this knowledge would make your life easier, but it is not required since you can study and acquire this knowledge as you go through each topic. Many people faced with the program above might just give up, perhaps because they don't love math enough to pursue each subject deeply or because the concepts might seem too abstract. Some people like me learn better when seeing all of the concepts in action. In this case, I recommend learning through hands-on examples.
A Hands-On Approach
I would like to suggest a different guideline to get started with machine learning and remain motivated each step of the way:
- Focus on the theory and concepts that support machine learning. Even more than understanding complicated calculus concepts, understanding the theory behind ML is fundamental to understanding why we use it and what we want to accomplish.
- Understand the relationships between big data, machine learning, and data science. In the beginning, they will all seem very similar, but they are distinct.
- Learn the domain terminology - Feature, Target/Label, Model, etc. When you read an ML book or article, the authors will usually assume you know these terms.
- When you start reading/watching videos about machine learning, it is important to know the types of learning: Supervised Learning, Unsupervised Learning, Semi-Supervised Learning, and Reinforcement Learning. Be sure to dive into these to learn when to apply each one, why one type will perform better/more accurately, and the trade offs between each model.
- Just as in software development, in machine learning we follow steps to logically apply a process, for example: collect the data, apply an extract, transform, load (ETL), review and understand your goals, choose a model and run it, and finally validate the results.
- Practice with real life data and problems. Competitions like Kaggle are a great way to do this.
All that is stated above is my point of view, and the path presented shows how I got into machine learning and started to understand how to solve ML problems. But I want to encourage everyone to define their own best method.
My guideline is just a small push, given that when you start reading about a topic, you will be led to other topics you'll need to study. Online courses and/or technical books are good resources to rely on because the authors present the content with a fluid and pragmatic methodology, building basic knowledge first before addressing advanced topics.
I hope this article helps develop your interest in exploring this promising and amazing field. And if you have already started studying, I hope this article motivates you to continue your journey!
João Moráveis is a Java Engineer at Avenue Code. He loves reading and studying, and he is enthusiastic about computer vision, image processing, and artificial intelligence.