clusters for which at least one target is present are evaluated.
The idea is that the clusters which are accessed frequently (like
   the first one, containing most frequent labels), should also be
   cheap to compute -- that is, contain a small number of assigned
   labels.
We highly recommend taking a look at the original paper for more
   details.


"cutoffs" should be an ordered Sequence of integers sorted in the
     increasing order. It controls number of clusters and the
     partitioning of targets into clusters. For example setting
     "cutoffs = [10, 100, 1000]" means that first 10 targets will be
     assigned to the 'head' of the adaptive softmax, targets 11, 12,
     ..., 100 will be assigned to the first cluster, and targets
     101, 102, ..., 1000 will be assigned to the second cluster,
     while targets 1001, 1002, ..., n_classes - 1 will be assigned
     to the last, third cluster.


"div_value" is used to compute the size of each additional

