When making a start in a new field it is common to feel overwhelmed.
You may lack confidence or feel as though you are not good enough or that you are lacking some prerequisite.
You will explore these issues in this post and learn that such feelings can lead to actions that can consume a lot of time and resources and leave you feeling disappointed in yourself.
You will learn that there are many paths through the field of machine learning and that like programming, it is a meritocracy.
- Update Feb/2019: See the discussion on hacker news.
Feeling like you are not good enough or that you are lacking some skill that you think you must have before you can make a start in machine learning is dangerous thinking.
I think it is dangerous because it can lead you down paths that consume a lot of time, money and resources that may not be required.
For example, you may feel like you need to have a grounding in mathematics or or computer science or some other subject that you are not really passionate about. You may decide that you simply must:
- Get a Degree: An undergraduate or postgraduate degree giving you a formal education in machine learning including any prerequisites defined by the institution.
- Take a Mathematics Course: A course, free or otherwise that will teach you linear algebra or calculus.
- Read a Textbook: A post graduate level textbook on machine learning that presupposes a level of prior training in probability theory and linear algebra.
The risk is that you feel like you need to achieve some minimum skill level before you can get started.
You defer getting started in machine learning to start learning that skill that you think is required, it is difficult. Really difficult.
Because it is hard and you are not passionate about it, you are more likely to throw in the towel, meaning you continue to deny yourself the permission to start in machine learning.
This path can work for some, but it’s exceedingly difficult.
There is a place for the degree, the maths course and the textbook, they might be further along the path for you, or on a different path.
Machine learning is a multidisciplinary field, meaning that you have people coming to it with backgrounds all across the fields of science and engineering.
It also means that there is no archetype for the “machine learning practitioner“, although I do think programmers have an extraordinary opportunity in the field.
It is a relatively new field and much of the documentation is in the form of research papers and textbooks produced by academics. As such this colors the perception of the field as highly academic. This is the reason why there is a focus on theory over application and the perceived need for training required by academics like research methods and higher degrees.
The technicians path is applied and to start with experimentation and process, and maybe some programming. Be confident in this approach, it is valid, effective and a path followed by countless fellow programmers. Know your limitations and play to your strengths and the skills you have already acquired.
Like the field of software development, the application of machine learning is a meritocracy. A meritocracy is a structure under which participants are valued based on their contributions or demonstrated achievement (merit).
Business, clients and employers care about your credentials, but only in as much as the results you have demonstrated you can achieve and that you can achieve for them. Degrees, other awards and working for fortune 500 companies are a symbols that can be used by others to short cut this determination, but that is all.
As a meritocracy, you must demonstrate you have merit. If you are looking for your skill to be recognized by others, then you must demonstrate and promote it. You can do that by participating in projects, competitions and completing small open projects and using outputs from such efforts as advertisements of your capability to your self and others.
In this post you learned that feeling overwhelmed in a natural feeling when starting a new technical discipline. You learned that these feelings of inadequacy can lead to dangers thoughts such as expending large time and resource costs pursuing a degree or education you think you need to have before you can get started.
You learned that there are many paths through the field of machine learning and that the empirical path of the programmer as the technician is valued. You also learned that machine learning like programming is a meritocracy and that if you persist and do good work, it will can be recognized and acknowledged.
So what is the next step?
Perhaps this path of machine learning practitioner is for you: