Let's first look at what ML is. In a traditional sense, in order to solve a computational problem, we typically write explicit computer instructions that solve the problem based on all of the possible scenarios. The assumption here is that all of the rules associated with the specific problem being solved are known and well-defined in advance and could be codified into computer instructions. This assumption, however, is not always true. There are times when the rules are not known in advance and it is impractical to define deterministic rules that could be applied to solve the problem.
Let's look at this problem using a concrete example of an app stores where a consumer has the option of buying an app from a fairly large catalog of available apps. When the consumer logs into the app store, it displays a set of recommended apps that the consumer is highly...