Я беру стандартно диапазон (-1, +1), данные нормализованы.
В какой-то момент я верил в BinarySoftOrdering - простая реализация гистограммы, у которой нет гиперпараметров - range_min, range_max и количество бинов - ничего этого нет принципиально. Примерно на 50% быстрее вычисляется. Но её предел ROC-AUC 0,86, может чуть выше. И всё: гиперпараметр всего лишь один - количество гистограмм, я примерно нашёл оптимум 100 гистограмм, не продвигается дальше.
Немного поменял тактику для обычного SoftOrdering: я теперь поставил сигмоиду после входного линейного слоя перед построением гистограммы. Это был решающий удар. Пространство из

преобразуется в

и теперь нет срывов из-за выхода за пределы диапазона. Фактически я сделал нелинейным распределение бинов: около нуля они плотные, а ближе к краям растягиваются вплоть до бесконечности.
Количество бинов равно 11, количество гистограмм равно 20, рекуррентный SoftOrdering. За 25 минут достиг результата ROC-AUC 0,899. Правда приходится активно подкручивать learning_rate. Начинаю с 0.1, заканчиваю на 0.001. Да-да, такой мощный разбег. Иначе долго процесс обучения идёт.