One of the best steps I’ve taken as a Software Engineer has been to get into Machine Learning.
If you are looking for what's next in your career, here are some pointers to get you started:
If you are looking for what's next in your career, here are some pointers to get you started:
I always answer “what would you recommend next?” with "Machine Learning."
Here is why:
Not only we are barely touching the surface of how Machine Learning will transform our lives in the next 10 years, but the need for qualified professionals will continue to rise.
Here is why:
Not only we are barely touching the surface of how Machine Learning will transform our lives in the next 10 years, but the need for qualified professionals will continue to rise.
As of today, Machine Learning is one of the fields that pay the most money, at least in the United States.
There's huge demand, but there aren't many people competing in the market which opens many opportunities.
There's huge demand, but there aren't many people competing in the market which opens many opportunities.
It's a fascinating field that requires different skills and a different way of approaching problems.
It helps solve problems that have been impossible to crack until now.
The field is still in its infancy, so there's a lot to discover and many advances to come.
It helps solve problems that have been impossible to crack until now.
The field is still in its infancy, so there's a lot to discover and many advances to come.
So, how do you get started? How can you start from the very beginning?
Learn Python .
Yes, I know you don't have to, but I'd recommend you do it.
Python is the motor behind most popular Machine Learning libraries so you don't want to ignore it.
Learn Python .
Yes, I know you don't have to, but I'd recommend you do it.
Python is the motor behind most popular Machine Learning libraries so you don't want to ignore it.
Get familiar with NumPy and pandas.
Both NumPy and pandas are popular Python libraries, and you'll have to use them constantly during your career.
These libraries aren't limited to ML applications, so you have nothing to lose by getting familiar with them.
Both NumPy and pandas are popular Python libraries, and you'll have to use them constantly during your career.
These libraries aren't limited to ML applications, so you have nothing to lose by getting familiar with them.
Get familiar with the process to approach Machine Learning Problems.
1. Define the Problem
2. Prepare Data
3. Spot Check Algorithms
4. Improve Results
5. Present Results
Check this article: https://machinelearningmastery.com/process-for-working-through-machine-learning-problems/ from @TeachTheMachine
1. Define the Problem
2. Prepare Data
3. Spot Check Algorithms
4. Improve Results
5. Present Results
Check this article: https://machinelearningmastery.com/process-for-working-through-machine-learning-problems/ from @TeachTheMachine
Start with Weka, the workbench for Machine Learning.
Weka will let you apply a lot of different algorithms to your data without writing a single line of code.
Even better: Weka will generate code for you!
Weka will let you apply a lot of different algorithms to your data without writing a single line of code.
Even better: Weka will generate code for you!
Get familiar with some popular Machine Learning algorithms and use Weka to try them out in your dataset.
Here is the list I started with:
1. Linear regression
2. Logistic regression
3. Decision Trees
4. Neural Networks
5. K-NN
6. SVM
Here is the list I started with:
1. Linear regression
2. Logistic regression
3. Decision Trees
4. Neural Networks
5. K-NN
6. SVM
After you are comfortable running different algorithms with Weka, go to Python.
Check out the following libraries (besides NumPy and pandas which you already know):
1. SciPy
2. Matplotlib
3. Scikit-learn
With these, you should be able to use all the algorithms in code.
Check out the following libraries (besides NumPy and pandas which you already know):
1. SciPy
2. Matplotlib
3. Scikit-learn
With these, you should be able to use all the algorithms in code.
At this point, you should be ready to do something real with these algorithms.
How can you apply some of this new knowledge to a real problem? It doesn't have to be innovative, but try to build an end to end solution using your new skills.
How can you apply some of this new knowledge to a real problem? It doesn't have to be innovative, but try to build an end to end solution using your new skills.
Only at this stage, I would recommend getting into Deep Learning.
Deep Learning is usually the backbone of most "cool" applications of Machine Learning you hear about.
Libraries like TensorFlow and PyTorch will be the foundation of everything you'll do here.
Deep Learning is usually the backbone of most "cool" applications of Machine Learning you hear about.
Libraries like TensorFlow and PyTorch will be the foundation of everything you'll do here.
Pick an area of specialization to focus on it.
There's a lot you can do, and although this is not necessary, I'd recommend you focus on an area and go all-in on it.
I focus on Computer Vision.
I have a lot of friends that focus on Natural Language Processing.
There's a lot you can do, and although this is not necessary, I'd recommend you focus on an area and go all-in on it.
I focus on Computer Vision.
I have a lot of friends that focus on Natural Language Processing.
Find a job and start getting paid.
If you get here, you probably want to ensure most of your time focuses on your new skillset.
Find a new job, or move to a position that exposes you to the field.
There will be many opportunities waiting for you.
If you get here, you probably want to ensure most of your time focuses on your new skillset.
Find a new job, or move to a position that exposes you to the field.
There will be many opportunities waiting for you.
Here are some courses I'd recommend you check out:
- Linear Algebra (MIT)
- Machine Learning ( @AndrewYNg - Coursera)
- Deep Learning ( @AndrewYNg - Coursera)
- TensorFlow In Practice (Coursera)
- Stanford Computer Vision ( @drfeifei - YouTube)
- Linear Algebra (MIT)
- Machine Learning ( @AndrewYNg - Coursera)
- Deep Learning ( @AndrewYNg - Coursera)
- TensorFlow In Practice (Coursera)
- Stanford Computer Vision ( @drfeifei - YouTube)
And here are three books:
1. Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow
2. Machine Learning and Deep Learning with Python
3. Deep Learning with Python
1. Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow
2. Machine Learning and Deep Learning with Python
3. Deep Learning with Python
If you are into podcasts, here are the ones I listen to:
1. Data Science Imposters
2. Data Skeptic
3. DataTalk
4. Linear Digressions
5. Machine Learning - Software Engineering Daily
1. Data Science Imposters
2. Data Skeptic
3. DataTalk
4. Linear Digressions
5. Machine Learning - Software Engineering Daily
And finally, here are some accounts here on Twitter that you should follow if you are in this field:
- @AndrewYNg
- @fchollet
- @chipro
- @karpathy
- @TeachTheMachine
- @kdnuggets
- @KirkDBorne
- @hmason
- @drfeifei
And my friends:
- @AlejandroPiad
- @haltakov
- @yudivian
- @AndrewYNg
- @fchollet
- @chipro
- @karpathy
- @TeachTheMachine
- @kdnuggets
- @KirkDBorne
- @hmason
- @drfeifei
And my friends:
- @AlejandroPiad
- @haltakov
- @yudivian