I am an ML Engineer who works alone in projects most of the time. I don't have people who are much smarter than me working alongside.

Most of the time, I feel that working alone is a tedious job,one may get stuck at a lot of problems. In such cases my only go to option is Google. What effective techniques you use while you work on a project alone, because at the moment googling feels like looking for a needle in haystack (80% of the stuff will be useless for you).

Apart from that, some answers you search for lead you to more questions related to stuff explained there and it becomes a vicious circle of googling things leading to frustration. (And most of the developers out there suggest the top down learning methodology, where you do a problem at first and then breaking down to solve it which ends up in above problem.)

So would you like to weigh in with your experiences, like what thinking style you adopt, what are effective search methodologies, good ways of breaking down the problem, here you get quick help apart from SO etc. It's good if you can link to books, resources etc as well.

  • $\begingroup$ Not sure this is the perfect venue for this worthwhile question. $\endgroup$ – Yuval Filmus May 11 at 11:23
  • $\begingroup$ This question sounds extremely broad, and not a technical question about CS, so it seems too broad and off-topic to me. Any community votes or opinion? $\endgroup$ – D.W. May 11 at 21:55
  • $\begingroup$ Better suited for softwareengineering. Pretend you’re in a team. Use source code control. Review changes before submitting them. Write documentation. $\endgroup$ – gnasher729 May 23 at 4:45
  • $\begingroup$ The question also seems to have nothing to do with machine learning. $\endgroup$ – Yuval Filmus May 23 at 16:51

ML is an extremely broad subject but generally it can be understood broadly as follows

  • you formalize the problem
  • you identify the domain of the problem
  • you identify candidate models to solve the problem
  • you evaluate the candidate models with data subsets
  • you select a model and try to fit your data
  • you deploy the model

You can think of it as a(n iterative deepening ) search of a tree of choices. To improve your odds of success (find a choice that solves the problem) you need the tree narrow down as quickly as possible e.g. pruning bad choices. This is only acquired through experience but having a broad understanding of models helps e.g by taking introductory courses.

Once you've narrowed down the types of models you want to apply. You want to know if you have the expertise to apply them. Given that this is a broad subject, you acquire expertise only in a limited set of models. If the model that best fits your problem is not in your domain of expertise you either refer it someone with that expertise or reject that you can solve the problem in a limited amount of time e.g. due to the complexity of the tree of choices for a non-expert.

Within your model expertise you'd have acquired a set of techniques to determine that even when you have the right model, if you do not have sufficient data, or data with sufficient quality, or the necessary computation resources you may not be able to deploy your model.

| cite | improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.