Идеальная модель. Часть 1.

Я некоторое время откладывал эту тему. Давайте хотя бы начнем этот разговор.

В чем проблема?

У меня есть синтетический датасет, поэтому я знаю законы его генерации. На нем обучена модель GBDTE, и у меня есть метрики logloss и ROC AUC. Но как понять, хороший это результат или нет? Нужен референс. И этим референсом должна быть «Идеальная модель».

Я попросил ChatGPT наметить подход к задаче, и «железный друг» выдал набор выражений. Честно говоря, главным судьей в ML для меня остается кросс-валидационный скор, и здесь он хороший, так что это точно не бессмысленная математика.

Но также я хочу понять, что стоит за этими выражениями, как они возникли.

Посмотрим на картинку. Мы обозначаем u1...u8 для f1...f8, потому что uplift у них растет со временем. И d1...d8 для f9...f16, потому что их uplift падает. Далее строим дискриминатор между случаями L=0 и L=1: записываем вероятность таргета 1 для заданного набора факторов и аналогично для таргета 0. Итоговый score, различающий 0 и 1, - это логарифм отношения этих вероятностей. Выражение считается через условные вероятности факторов при фиксированном таргете. По сути, это многомерный байесовский вывод.

Набор вероятностей u и d при условии целевого значения — это именно то, что делает этот набор данных таким особенным: выражения с дрейфующим подъемом. Эти выражения подобны законам физики виртуальной вселенной, в которой существует этот набор данных. Поэтому мы пытаемся сделать лучший прогноз в этой виртуальной вселенной.

Я предполагаю, что следующим шагом будет подстановка условных вероятностей в логарифмическое выражение. Я собираюсь это проверить — следите за обновлениями.

P.S. Правильное название этого подхода — вывод логарифма шансов Наивного Байеса.