Multi-label classification predicting exactly n out of m options
Seems kind of similar to a language model where you want to predict the most likely sentence. If you have the output probabilities for all words, you wouldn't just pick the n likeliest since the sentence would probably make no sense. Instead you condition it on the words you've already chosen.
So in your case, the input would include the already selected players. Each pass through the model you add the player with the highest output to the team. To increase the quality you may also want to use beam search, where you keep the best k teams each pass through.
Say I have m objects and I want to pick which n will be chosen (where m and n are both known). I could run multi-label classification and get the probability that each of the m is chosen and take the n most likely, but that ignores the correlation between items. I'm wondering if there is a modeling approach (ideally in Keras?) that considers the correlations.
For example, suppose a soccer team has 18 players and I'm trying to predict which 11 will start the next game. The 11 players who are individually most likely to start do not necessarily comprise the most likely group of 11 players to start. For instance, maybe the team has two goalkeepers, each of whom has a 50% chance of starting, but no configuration will start both of them.
One option is to predict the set of 11 directly, but that would be multiclass categorization problem with (18 choose 11) cases... Any thoughts on better routes?