Source: Deep Learning on Medium
Machine Learning — The Self-Starter Way!!!
Hello readers!!! Welcome to TheBoringStuffs.
You heard the word Machine Learning and you surf the internet and you got many many many guides that say, “Read this book, take this ML course, you’ll land a job”, “Follow this curriculum, you’ll become ML engineer”, “Watch my videos, you can build your own AI/ML startup” and this list goes on…
If you’re the one who got those types of answers then this article is for you!
In this article, we’re going to reveal how you can learn machine learning in the self-starter way!!!
Whether your goal is to become a data scientist, use ML algorithms as a developer, or add cutting-edge skills to your business analysis toolbox, you can pick up applied machine learning skills much faster than you might think.
Practically speaking, you don’t need a fancy Ph. D. in math. You don’t need to be the world’s best programmer. And you certainly don’t need to pay $15000 for an expensive “Bootcamp courses.”
The question isn’t about how do I get started?
The question is about are you a self-starter? Do you like to learn with hands-on projects? Are you driven and self-motivated? Can you commit to goals and see them through? And if so, you’ll love studying Machine learning. You’ll get to solve interesting challenges, a thinker with fascinating algorithms, and build an incredibly valuable career skill.
The Self-starter way of mastering ML is to learn by “doing shit.”
People will first spend months or even years on the theory and mathematics behind machine learning. They’ll get frustrated by arcane symbols and formulas or get discouraged by the sheer volume of textbooks and academic papers to read.
For most people, the self-starter approach is superior to the academic approach for mainly 3 reasons:
- You’ll have more fun. By cycling between theory, practice, and projects, you’ll arrive at real results faster.
- You’ll build practical skills the industry demands. Businesses don’t care if you can derive proofs. They care if you can turn their data into gold.
- You’ll build your portfolio along the way. With hands-on projects.
In a nutshell, the self-starter way is faster and more practical.
However, it puts more responsibility in your own hands to follow through. Hopefully, this article will help you to stay on stack!!!
Here are some key core steps to learning machine learning through self-study:
- Build a foundation of programming.
- Immerse yourself in the essential theory behind ML.
- Use ML packages to practice.
- Dive deeper into interesting domains with larger projects.
Step 1: Build a foundation of programming
You don’t need to be a professional programmer to learn machine learning, but you do need to have the core skills in those domains. Learn python by doing the project. Why choose python for machine learning is beyond the scope of this article. But python is the best for beginners and it is a widely-used programming language in Machine Learning, it has the best and bigger community when we talk in the context of machine learning.
Once you know the basics of python you can go with NumPy, pandas and Matplotlib libraries.
NumPy is a library for the Python programming language, adding support to large, multi-dimensional arrays and metrics, along with the large collection of high-level mathematical functions to operate on these arrays. Moreover, NumPy forms the foundation of the Machine Learning stack. You’ll see, if you want to build your own neural network without using any other library NumPy will help you the most.
Pandas is a high-performance library for data structures and exploratory data analysis. It’s built on top of NumPy.
Lastly, learn Matplotlib library which is a flexible plotting and visualization library.
Step 2: Immerse yourself in the essential theory behind ML.
The goal is to soak as much theory and knowledge as possible to give yourself a strong foundation.
Now, some people may be wondering: “If I don’t plan to perform original research, why would I learn the theory when I can just use existing ML packages?”
This is a reasonable question!!
However, learning the fundamentals is important for anyone who plans to apply machine learning in their work. Here are the 5 reasons for learning ML Theory:
- Planning & data collection: Data collection can be an expensive and time-consuming process. what types of data do I need to collect? How much data do I need?
- Data assumptions & preprocessing: Different algorithms have different assumptions about the input data. How should I preprocess my data? should I normalize it? Is my model is robust to missing data?
- Interpreting model results: The notion that ML is a “black box” is simply false. Yes, not all results are directly interpretable, but you need to be able to diagnose your models to improve them. How can I tell if my model is overfitting or underfitting? How do I explain these results to business stakeholders?
- Improving and fine tunning your models: You’ll rarely the best model on your first try. You need to understand the nuisance of different tunning parameters and regularization. If my model overfits, how can I remedy it? Should I spend more time on feature-engineering or on data collection? Can I ensemble my models?
- Driving to business value: ML is never done in a vacuum. If you don’t truly understand the tools in your arsenal, you can’t maximize their effectiveness. Which outcome metrics are most important to optimize? Are there other algorithms that work better here? When is ML not the answer?
Here’s the good news, you don’t need to have all the answers to these questions right from the start. In fact, the approach is to learn just enough theory to get started and not go astray. Then, you can build mastery over time by alternating between theory and practice.
We recommend a famous course thought by Andrew Ng, and it’s the gold standard when it comes to learning machine learning theory. (course)
Step 3: Use ML Packages to practice
There are many python libraries present over the internet, we recommend you to choose one of them listed below:
- Scikit-learn: Scikit-learn or sklearn, is the gold standard Python library for general-purpose machine learning. It does almost everything, and it has implementations of all the common algorithms. Scikit-learn docs.
- Theano: Theano is a Python library that allows us to evaluate mathematical operations including multi-dimensional arrays so efficiently. It knows how to take structures and convert them into very efficient code that uses numpy and some native libraries. Theano docs.
- PyTorch: PyTorch creators say that they have a philosophy — they want to be imperative. This means that we run our computation immediately. PyTorch is a Python-based library built to provide flexibility as a machine learning development platform. PyTorch is easy to use, has python support, dynamic computation graphs. PyTorch docs.
- Tensorflow: Currently, the most famous Machine Learning Library in the world. Tensorflow is a free and open-source software library for dataflow and differentiable programming across a range of tasks. Originally TensorFlow was build for only Google developers only, but then Google open-sourced it.
Step 4: Dive deeper into interesting domains with larger projects.
Alright, now comes the really fun part! Up to now, we’ve covered prerequisites and essential theory. We are now ready to get deeper bigger dive into some bigger projects.
The goal of this step is to practice integrating machine learning techniques into complete, end-to-end analyses.
You can try the Kaggle dataset, try to solve problems given on Kaggle, participate in the Kaggle competitions. Build your network with ML engineers like you.
Pick a fun project that excites you, or solve the real-world problem you’re interested in such as in Healthcare, in biomedical, in finance, in business, etc. This is honestly the best part of learning machine learning.
Last but not least, try to build an algorithm from scratch.
Upload all the projects, codes with well documented on GitHub. This will help you to build your resume too.
Great job! (So far….)
Congratulations on reaching the end of the self-study guide.
There’s still much more to learn! For example, deep learning, computer vision, and natural language processing are few of the fascinating, cutting edge subfields that await you.
The key to becoming the best Machine Learning engineer you can be is to never stop learning. Welcome to the start of your journey in this dynamic, exciting field.
Thank you 🙂
Unlock the potential of Machine Learning and Artificial Intelligence.