Models to deal with huge possible outputs My question is what kind of machine learning models could be used in the case we need to predict something from a large pool of possibilities. For example in a kaggle competition( Instacart challenge ) , they ask to predict what products will a user reorder , based on prior orders. 

In this case the spectrum of possible outputs is huge ( there are +40000 possible products ) 

I have studied some models like CNN and usually the output for this models, is a logits tensor holding the probabilities, the size of the tensor usually corresponds to the possibilities in the classification problem. That are generally small ( maximum something like a hundred in cifar-100 

But in this case, seems to me that this is not a good approach, because of the number of possible items.

So this CNN models are appropriated in this kind of tasks? what other approaches could be used? 

Thanks.
There is something called "sampled softmax" (e.g. tensorflow's implementation), which simply partitions the output space and at each training step only takes into account one of the partitions (see section 3 from this article to learn the math). Sampled softmax is only meant to speed up training for very large output spaces; at inference time you use normal softmax.

Also, if your output is of hierarchical nature, you can use hierarchical softmax. See this blog post for a review of different methods to handle very large categorical space.