Stream 3 ( ML Career progress)
This stream is mostly relevant to people that are currently in a ML/DS role and are seeking ways to advance their technical careers. This can be achieved by learning more advanced ML topics, replicating state of the art machine learning papers, and building on top of these works to make new contribution to the field.
- Advanced ML topics
- learn basics of a sub-field (e.g. NLP)
- Advanced project 1 [replicating a paper from github code]
- replicate the building of baselines methodologies
- replicate the papers’ proposed method and understand insights, details of implementation, and the pros and cons.
- Advanced project 2 [build on top of project Advanced project 1]
- read and review relevant literature
- list a set of ideas to improve upon the paper from advanced project 1
- design a set of experiments
- implement and experiment with a subset ideas
- write up the project in the form of a conference paper
- Interview prep
Guidance on picking Projects
- project 1 (Stream 1):
- should be doable in a span of a week (estimated 40-60 hours),
- focus is on learning by example, how a data problem is formulated, how others solved the problem.
- Test: the main question to be able to answer everywhere is “WHY”?
- What business problem does solving this problem tries to meet? What is the value of the project if solved?
- Test: Think about the business, is this problem worth solving?
- Understand the data, how to pre-process, explore, normalize similar datasets, why? and what tools are used?
- Test: Can you do the data preparation on a similar dataset?]
- why have a specific algorithm been used to model the dataset? How were the hyper-parameters chosen?
- Test: Can you compare the algorithms, what are pros and cons?
- Test: Can you apply the algorithms you studied on a different but similar problem?
- How is each solution evaluated? what is the evaluation metric?
- Test: Why does that metric make sense? Can you justify it? what are the alternatives?
- Test: How did you make sure the model didn’t overfit? Can you justify why the solution is correct?
- Can you write about the problem, and the solutions you studied, and the tools you used in a blog post?
- Test: Find gaps in your knowledge while writing you blog post.
- Test: what did you learn? What did you find very useful? What are the caveats?
- Project 2, 3 (Stream 2):
- should be doable in a span of a 10 days of full time work (estimated 80-100 hours),
- If it’s the same project as project 1, then only (estimated 40-60 hours).
- Repeat process from project 1, can you answer all the tests?
- Focus is on adding a new solution. What other algorithms can be used to solve this problem? why?
- Test: apply it to the problem, and evaluate
- Test: Why is your new solution giving better or worse results? Can you discuss it?
- Test: Putting all solutions together, can you discuss the merits of each solution, and contextualize all results?
- Test: Can you write a blog post about your solution? Where are the gaps in your knowledge?
- should be doable in a span of a 10 days of full time work (estimated 80-100 hours),
- Project 4 (Stream 2):
- Should be doable in a span of a 5-10 days by a team of 3-4 (estimated 200-300 man-hours).
- focus is on showing the ability to formulate a new problem as a machine learning problem, source, clean, and model data.
- Test: why did you choose that problem? why does it make sense to use machine learning there?
- Test: Why and how did you source your data? What is the data size? Why does that data make sense for the problem? How did you clean and prepare the data?
- Test: What algorithms did you pick for modeling the problem? Why do they make sense for the dataset?
- Test: Can you discuss the various solutions? What are the pros and cons? Can you recommend one solution?
- Test: Which part of the project did each individual contribute to? How did the team work together? What tools did you use to stay productive? What were the problems?
- Test: Can you write a blog post about your work? What were the problems you faced? how did you solve them? what did you learn?
- Advanced Project 1 (Stream 3):
- Should be doable in a span of a week (estimated 40-60 hours)
- Focus is on learning by example by reading the paper and code, and understanding various parts
- Test: Can you run the code? Can you change a minor thing and still run the code (e.g. converting an LSTM to a ConvNet)?
- Test: Can you write a blog post explaining the task, the model, and how it’s implemented in code? Here is an example of how this would ideally look like.
- Test: Can you discuss why the model is getting a good or bad performance? Where are the gains/losses coming from?
- Advanced Project 2 (Stream 3):
- TBD