ML model to predict rankings (arbitrary ordering of a list)
It could be treated as a regression problem with the following trick: You are given 5 items with 5 feature vectors and the "black box" function outputs 5 distinct scores as [1, 2, 3, 4, 5]. Treat these as continuous values. So, you can think of your function as operating by taking five distinct input vectors x1, x2, x3, x4, x5 and outputting five scalar target variables t1, t2, t3, t4, t5 where the target variables for your training set are the scores the items get. For example, if the ranking for a single sample is (x1,4), (x2,5), (x3,3), (x4,1), (x5,2) then set t1=4, t2=5, t3=3, t4=1 and t5=2. MLPs have the "universal approximation" capability and given a black box function, they can approximate it arbitrarily close, dependent on the hidden unit count. So, build a 2 layer MLP with the inputs as the five feature vectors and the outputs as the five ranking scores. You are going to minimize a sum of squares error function, the classical regression error function. And don't use any regularization term, since you are going to try to mimic a deterministic black fox function, there is no random noise inherent in the outputs of that function, so you shouldn't be afraid of any overfitting issues.
I need some orientation for a problem I’m trying to solve. Anything would be appreciated, a keyword to Google or some indication !
So I have a list of 5 items. All items share the same features, let’s say each item has 3 features for the example.
I pass the list to a ranking function which takes into account the features of every item in the list and returns an arbitrary ordered list of these items.
For example,  if I give the following list of items (a, b, c, d, e) to the ranking function, I get (e, a, b, d, c).
Here is the thing, I don’t know how the ranking function works. The only things I have is the list of 5 items (5 is for the example, it could be any number greater than 1), the features of every item and the result of the ranking function.
The goal is to train a model which outputs an ordered list of 5 items the same way the ranking function would have done it.
What ML model can I use to support this notion of ranking ? Also, I can’t determine if it is a classification or a regression problem. I’m not trying to determine a continuous value or classify the items, I want to determine how they rank compared to each other by the ranking function.
I have to my disposition an infinite number of items since I generate them myself. The ranking function could be anything but let’s say it is :
attribute a score = 1/3 * ( x1 + x2 + x3 ) to each item and sort by descending score
The goal for the model is to guess as close as possible what the ranking function is by outputting similar results for the same batch of 5 items.
Thanks in advance !