How did Vladimir Novakovski learn Machine Learning


Machine learning is playing an ever-larger role in many fields. From various disciplines in academic research to applied applications in industry. To become proficient at machine learning requires more than knowing R and Python packages or winning a few competitions. It means knowing how to map the algorithmic variety offered by machine learning to the real-world challenges that exist. Here are the 3 key areas I believe one should focus on to become good, or even great, at machine learning.

Concepts Stand the Test of Time

It is easy to get lost in all the languages and technologies that allow one to practice machine learning on real-world data. They allow us to execute our ideas and build our models. When integrated into real applications they engender software with the ability to learn and distill high-dimensional problems down to focused results. But languages and technology come and go. Knowing R or Python really well might amount to building a model faster or allow you to integrate it into software better, but it says nothing about your ability choose theright model, or build one that truly speaks to the challenge at hand. The art of being able to do machine learning well comes from seeing the core concepts inside the algorithms and how they overlap with the pain points trying to be addressed. Great practitioners start to see interesting overlaps before ever touching a keyboard.

Throughout your journey be sure to always revisit core concepts and see how they manifest themselves in real problem solving. Here is a resource for learning the conceptual ontology of data science. Data science and machine learning are not synonyms, but much of the core algorithmic variety used by data scientists comes from machine learning.

Interactive Learning Tool for the Core Concepts in Data Science 
Data Science Ontology

Failure is your Friend - Practice Practice Practice

Good training is now defined by one's ability to step outside their comfort zone by just the right amount to train the mind into learning and adapting to new concepts and situations. For example, practicing the same golf swing over and over is not real training...but trying a slightly different swing each time from slightly different angles keeps the mind guessing just enough to become better each time; this is true training. The concepts you learn from resources like the above ontology are truly powerful when seen in context. They are even more powerful when seen in changing contexts. This requires you to expose yourself to constant problem solving and constant failure.

In today's online world there is no lack of resources available for practicing machine learning. Here are a few books I have found to be good introductions. But the key point is to simply jump in and fail. Jumping in without knowing where to start is the whole point. It will force you to understand why certain languages and approaches are needed to solve the problem.

Practical Books
These books offer a practical yet well-rounded introduction to solving real problems with machine learning. Their foundations will serve you well as you later learn to become more sophisticated in your approaches (if needed)

And for a little inspiration, here is an article on learning to solve problems:

The Only Skill you Should be Concerned With

Listed below is the main machine learning competition site. Competing will force you to do whatever you can to squeeze that extra little bit of predictive accuracy from your models. Cleaning data, engineering features, and including domain knowledge are where the real results in machine learning come from. Just try to place in the top 10%

Theoretical Book
The book I list here is fast becoming one of the classics. I have had the pleasure of having lunch with the author on a few occasions and he is a brilliant man capable of explaining things very well. This book does go deeper and is laced with a fair amount of mathematics. But you must learn to not shy away from equations as they are the most concise way to showcase concepts to fellow scientists. What I like about this book is that it begins by discussing the feasibility of learning and extends later chapters from this core idea.

Think like a Researcher

You may have noticed that many machine learning jobs look for people that have a PhD in some quantitative discipline. The reason for this is that the PhD is the only degree that trains its students in the discipline of advanced research. Importantly, obtaining a PhD means you have solved something truly original and defended that in front of leaders in the field.

I don't say this to suggest a PhD is required but rather to stress the point that research skills are vital to doing machine learning well. Although many vendors would have you believe machine learning can be a "service" or something that is packaged, real machine learning takes real research. If it could be a packaged solution, everyone would do it and there would be no competitive advantage in either academia or enterprise.

Thinking like a researcher means working towards something truly original, regardless of how small that piece of originality might be. Don't look for obvious solutions; look for that thing that models the system in an original way and that offers you, your client, or your employer something truly competitive and interesting.

Bringing it all together
Revisit the core concepts regularly, practice solving problems relentlessly, and work towards trying to solve something original.

Jump in and have fun. Machine learning is an exciting field and will help solve many of today's most difficult challenges.