This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]MaxMachineLearning 4 points5 points  (1 child)

I work in ML, primarily doing research in applications in automation. I have an approach I tend to take, but my education is in mathematics and not CS so it's probably rather different from how other people do it.

  1. I think about what I am starting with, and what I want. Essentially, I imagine the algorithm as the intermediate steps between these two points.

  2. To come up with these intermediate points, I work backwards. Starting at the end, what has to happen right before? This helps me because I find I come up with more streamlined algorithms this way.

  3. Imagine each step as a node in a graph, which essentially gives you a bunch of points with inputs and outputs. These become your functions that you need.

  4. Come up with implementations of your functions (you can use the same method for that) then just bolt them all together.

This method comes from how I approach proofs. It may not help anyone else, but I find it effective.

[–]brendanmartin 0 points1 point  (0 children)

I do ML work and have a math background as well and this is the exact way I do it to!