While studying about machine learning, I've learnt the importance of defining your problem before getting started trying to model it.

I can see 2 types of problem categorification:

  1. Supervised / unsupervised / reinforcement algorithms
  2. Classification / clustering / regression / ranking

Example definitions found on the net:

First type:

  • Supervised Algorithms: The training data set has inputs as well as the desired output. During the training session, the model will adjust its variables to map inputs to the corresponding output.
  • Unsupervised Algorithms: In this category, there is not a target outcome. The algorithms will cluster the data set for different groups.
  • Reinforcement Algorithms: These algorithms are trained on taking decisions. Therefore based on those decisions, the algorithm will train itself based on the success/error of output. Eventually by experience algorithm will able to give good predictions.

Second type:

  • Classification: You want an algorithm to answer binary yes-or-no questions (cats or dogs, good or bad, sheep or goats, you get the idea) or you want to make a multiclass classification (grass, trees, or bushes; cats, dogs, or birds etc.) You also need the right answers labeled, so an algorithm can learn from them.
  • Clustering: You want an algorithm to find the rules of classification and the number of classes. The main difference from classification tasks is that you don’t actually know what the groups and the principles of their division are. For instance, this usually happens when you need to segment your customers and tailor a specific approach to each segment depending on its qualities.
  • Regression: You want an algorithm to yield some numeric value. For example, if you spend too much time coming up with the right price for your product since it depends on many factors, regression algorithms can aid in estimating this value.
  • Ranking: Some machine learning algorithms just rank objects by a number of features. Ranking is actively used to recommend movies in video streaming services or show the products that a customer might purchase with a high probability based on his or her previous search and purchase activities.

Do each type of categories have a name ? And are these types correlated or independent ?


Broadly speaking one can simply categorise ML algorithms into following groups: 1. Supervised Learning : Supervised learning is where you have input variables (x) and an output variable (Y) and you use an algorithm to learn the mapping function from the input to the output.

  Y = f(X) = a1x1 + a2x2+a3x3+.....+ anxn

where our goal is to find the values of a1,a2,a3,....,an such that for every value of input(x1,x2,x3,....xn) we can predict the output Y( continuous or categorical). Further in supervised learning one can use ML algorithms as per their problem statement and output required. For example : Determine the price of stock (continuous variable) from set of independent variable then in this case one can use Regression which is type of supervised algorithm.

  1. Unsupervised Learning : Unsupervised learning is where you only have input data (X) and no corresponding output variables.The goal for unsupervised learning is to model the underlying structure or distribution in the data in order to learn more about the data. There is no labelled output to map the function that describe relation between input and output.

For example: Market segmentation is one such problem statement where one can use unsupervised algorithms like clustering to get different segmentation based on homogeneity.

Other examples of unsupervised algorithms are PCA, Association rules, anomaly detection,etc.

Note: In some real life scenario, chances are there where problem is mixed of both i.e. few of the data have label and rest do not have and in such cases one needs to deploy semi-supervised techniques to find the solution.

  1. I never saw a name for these categorifications. However, it seems to categorize by type how target variable exists or what is the type of target variable (in supervised and semi-supervised) or input variable (in unsupervised)

[wrong] 2. I think in data mining we call "Reinforcement Algorithms" semi-supervised.

  1. I think Ranking will be a regression problem. just after defined number you can change them to ranks based on their order.

  2. There is some correlation between the first and second type of categorifications you named, you can see that in this picture: existence of targe and type of variables



You are right! Defining problem statement correctly is important to work towards achieving a solution. This applicable in all domains.

Due to hype in Machine Learning(ML) and Artificial Intelligence(AI), many people are trying to solve a problem only using ML and AI. It is very important to identify if its a Data Science problem or not.

One could follow CRISP-DM or TDSP methodology for Data Science.

Data Science problem are categorized based on type of answer one would like to achieve. The 5 questions data science answers

  • $\begingroup$ Thank you. This doesn't answer my question, but this is a valuable addition, I didn't know about CRISP-DM and TDSP :) $\endgroup$ – Adrien Lemaire Oct 18 '18 at 2:48
  • $\begingroup$ @Fandekasp Happy to know that information was valuable to you. I am not sure on what bases you have categorized the above two types. Because first type is different style of teaching a machine to learn and the second type is different types of categories under each teaching style. $\endgroup$ – NRP Oct 22 '18 at 1:49

Your Answer

