The path of Machine Learning and Artificial Intelligence
If you are interested in pursuing the path of Machine Learning (ML) and Artificial Intelligence (AI), you may have run across certain objections, or have your own personal doubts, as to whether or not this is for you. Here are some you may run into:
- You do not have a Master’s Degree or PhD
- You do not have a Comp Sci degree
- You are not a math or statistics guru
I respectfully disagree.
Silence that Voice
“If you hear a voice within you say ‘you cannot paint,’ then by all means paint, and that voice will be silenced.”Vincent Van Gogh
To do this work effectively, as with many challenging and creative fields, you need a willingness to learn and experiment. And you must be persistent: unlike traditional coding, in ML you will often get different results, for various reasons. For example, data changes over time, impacting the efficacy of your model. Persistence is therefore key.
While you may see requirements for a Master’s Degree or PhD in many a job posting, these ignore the reality of the marketplace and the demand for real-world solutions. What matters is the ability to build working products. Having a code portfolio you can point to should answer any objections. In my opinion those who can code have an advantage, as these skills are in demand.
Many developers, without Comp Sci degrees, are self-taught and come from other fields. I have found domain knowledge gained elsewhere, and the objectivity it brings, to be a strength. The bottom line is the ability to write clean code that works. To leverage the impressive ML libraries available, you will need to develop in either Python or R. I use Python and have found it to be simple, powerful, and intuitive. It is also ideal for new coders. If I was learning programming from scratch today, I would most definitely start with Python. This is not a toy language, quite the opposite, and the amount of free open-source resources available is amazing.
You also do not need to be a math or statistics genius to do this. What is necessary is a grasp of the concepts, which you will pick up as part of your training. I strongly encourage you to, at some point hopefully in the near future, learn about Linear Algebra; more on this below. You do not need this on day one.
The most important thing is to take that first step. These are the resources I used personally when I began my ML/AI journey, and I strongly recommend them for those who want to get started now:
Python for Data Science and Machine Learning Bootcamp
by Jose Portilla – Udemy.com
This is the first course I used when I started my machine learning journey. It covers environment setup, Python coding, core libraries such as numpy, pandas and matplotlib, and ML libraries including Scikit-Learn and TensorFlow. I’m very grateful to Jose Portilla for putting together such an excellent course. Complete this from start to finish and you’ll be well on your way!
Python Crash Course
by Eric Matthes – No Starch Press
The more you know Python the better, and this is a great book for learning and reference. Both novice and experienced developers will find it useful. I have been coding for a while now, with solid experience in object oriented languages such as C# and Objective-C, and I found this book very helpful. Colleagues of mine with little to no programming experience consider it an essential learning tool.
The Manga Guide to Linear Algebra
by Shin Takahashi and Iroha Inoue – No Starch Press
This book is excellent. If ever there was an example of why you should not judge a book by its cover, this is it. A good grasp of the concepts of linear algebra, including vectors and matrices, will help you understand how large (in some cases VERY large) sets of numbers can be used to model the real world. Using matrix multiplication (via numpy) instead of for loops is how ML code is able to execute so efficiently. Don’t fear the maths!
You gotta believe!
Above all, you need to believe in yourself. Be confident that you can do this. Put in the time to study, and then build things. Showcase working solutions using machine learning.
Solving real-world problems using traditional code is amazing fun, and some days feels like having a super power.
Building ML-driven solutions that leverage statistical models, including neural networks, to learn from data… now that is taking it to a whole new level.
Rather than hand-code every rule and step to process data, your ML solutions will use the data itself to train the model, improve performance, flag outliers, identify commonalities, classify items, predict words and numbers, see, speak, and simulate understanding. You will build things that were once, not too long ago, the stuff of science fiction.
Get started, and keep at it.