Getting Started in Machine Learning

When I started to plan for my three-month study, I was a bit overwhelmed by the amount of resources available. There are classic textbooks, detailed tutorials, experts’ recommendations, intuitive blog posts, online lecture videos, published papers, code repositories, and a lot more. Within each category, there are different sources written in different time periods that all have value. What should I focus on? How can I select an optimal collection of information and pick the right order to go through, subject to time constraint?

Well, my answer is to abandon this approach. Instead of consolidating all useful materials, aggregating experts’ recommendations according to some priority, and returning a list of things to go through in order, I find it useful to shifting the perspective a bit.

Focus on learning abilities

If the cake [not exactly the LeCun cake] is all the knowledge and skills you would want to consume and you are just at the tip of the cheery stem, then you may feel anxious, especially when the cake is growing and morphing all the time. If instead we focus on cake-eating ability, then we would feel invincible, whether it’s tiramisu or strawberry shortcake, we can do this.

The key ingredients

The list is incomplete, but to feel comfortable doing machine learning, you would probably need:

  • basic linear algebra and probability
  • coding ability enough to run/implement algorithms
  • machine learning concepts
    • architectures
    • algorithms
    • more?

So the question now becomes how to get better at eating cakes? First we need to know what I’m already good at, what I need to work on, and what kind of cakes I prefer eating.

Think about your strengths, weaknesses, and tastes.

It’s not hard to list our strengths and weaknesses (in terms of the key ingredients needed to get started), but it’s tricker to articulate taste. Taste awareness builds on sufficient exploration. Exploration can be general in terms of life experiences, or specific in terms of wikipedia/paper reading.

[Personal ramble, skippable] For example, in the general case, one point I enjoyed physics as it uncovers how things work, but it doesn’t explain all of nature including humans. I was then intrigued by how various interpretations of law lead to different games the societies are playing. It’s fun to see how minor changes in one rule lead to various long-term consequences and changes overall efficiency. However, it’s hard to quantify the changes, and almost impossible to control and experiment. So I looked into other disciplines that deals with causal relations such as economics. Then I discovered things that disillusioned me. I explored more, and ended up with math and now computer science. I think I will settle here. The point is that these explorations through schools and internships, give me feedbacks on the paths that I would enjoy treading the most, and equip me with more perspectives on the problem I’d like to solve.

Fill in the gap that will severely limit any learning (if any)

For example, if I can’t read code at all, or I don’t know what a function is, I should probably work on that.

Work on the weakest skill in an area that you think you would enjoy the most, as defined by your taste.

For example, my weakest skill is coding in machine learning framework. I find the idea of reinforcement learning (RL) enticing. So I will start implementing simple RL algorithms in TensorFlow to improve my skill. Interest in the domain counter balances the difficulty in gaining new skills. When we tackle our limitations, it’s equally important to update our perception towards the skills.

Stay hungry

There are many good cakes out there. Can’t explain more.

Learning is personal

Ultimately learning is personal. All the good resources are merely tools to reference from when you have gaps in your understanding. The key is still your own grasp of the world.

comments powered by Disqus