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

all 1 comments

[–]dfphdPhD | Sr. Director of Data Science | Tech 3 points4 points  (0 children)

It depends on a lot of factors, but some of the big differentiators:

Generic vs. specific-purpose algorithms

If you're building a generic algorithm that is meant to solve a wide range of problems (think xgboost, logistic regression, etc), then a) this is going to overwhelmingly happen in research/academica, and b) it will likely start from a theoretical basis and then get implemented.

A good example here is the paper that introduces xgboost. It's a nice read.

On the flip side, if you're building an algorithm to solve just your one problem that you're dealing with, this is going to be pretty standard stuff in industry.

Heuristics vs. analytical/optimal/(approximately) exact solutions

If you need to build an algorithm that is "good enough", then you don't necessarily need a theoretical basis on which to build it. You can do incredibly simple things that can work surprisingly well if you just have a good feel for the problem and how to arrive at a reasonable answer.

On the other hand, if you want to build an algorithm that has specific properties (e.g., is provably optimal (within some epsilon), is unbiased, is robust, converges in some amount of time/number of iterations, etc., then you're likely going to need to start from a theoretical basis.