Багом было то, насколько усердно я искал
Какое-то время я измерял собственную серьёзность размером своего перебора. Я протестировал сотни миллионов конфигураций стратегии, а затем, когда этого показалось мало, миллиарды. Я гордился этим числом. Это ощущалось как строгость — будто я не оставляю ни одной возможности без рассмотрения.
Это было ближе к противоположности строгости. Сам по себе размах перебора не помогал мне найти преимущество. Он фабриковал мираж, и чем больше я его делал, тем убедительнее становился мираж.
Гордость, которая должна была быть предупреждением
Раньше я упоминал масштаб своего перебора так, как можно упомянуть, сколько часов ты отработал: как свидетельство усилий, тщательности, серьёзного отношения к задаче. Оценены сотни миллионов комбинаций. Потом ещё больше. Есть настоящее удовлетворение в том, чтобы указать на такое большое число и сказать, по сути, смотрите, как исчерпывающе я искал.
Удовлетворение и было проблемой. Я незаметно принял размер перебора за качество результата, а эти две вещи не просто не связаны — за некоторой чертой они тянут в противоположные стороны.
Что на самом деле делает гигантский перебор
Вот неприятный механизм. Возьмите любой фиксированный отрезок истории и испытайте против него достаточно разных стратегий — и некоторые из них будут выглядеть впечатляюще: не потому, что они хороши, а потому, что из миллионов попыток несколько неизбежно совпадут с конкретными случайностями прошлого по чистой удаче. Чем больше конфигураций вы тестируете, тем увереннее вы становитесь, что найдёте одну из этих случайностей, и тем экстремальнее будет выглядеть самая удачливая из них.
Так что гигантский перебор не выдаёт надёжно лучшую реальную стратегию. Что он надёжно выдаёт — это наилучшим образом подогнанное совпадение: конфигурацию, наиболее точно подстроенную под случайные причуды тех самых данных, по которым вы вели перебор. И он преподносит вам это совпадение в обличье самых красивых результатов, какие вы только видели.
У этой ловушки есть имя
Ничего из этого не ново. Это одна из самых заезженных ловушек во всей статистике, с целым маленьким музеем имён: множественные сравнения, выуживание данных, p-hacking. Суть всегда одна и та же. Проверьте одну гипотезу — и сильный результат несёт информацию. Проверьте миллиард против тех же данных — и вероятность найти видимо исключительный результат по чистой случайности может стать очень высокой, есть там что-то реальное или нет. При достаточном числе попыток «исключительное по одной лишь удаче» перестаёт быть редкостью.
Я проводил эксперимент с миллиардом гипотез и читал победителя так, будто это было единичное, добытое тяжким трудом открытие. Это было не так. Это был самый громкий шум в очень большой комнате.
Почему это ощущалось как противоположность переобучению
Жестокая часть — в том, насколько добродетельным это казалось. «Не оставляй камня на камне» вроде бы хороший совет. Но не оставить камня на камне против единственного фиксированного набора данных — один из самых верных способов гарантировать, что в конце концов вы перевернёте камень, который случайно оказывается по форме похож на сокровище. Тщательность против одной выборки — это не то же, что строгость. Часто это просто покупка всё новых и новых шансов быть обманутым, а затем восхищение, когда один из них срабатывает.
Я думал, что осторожен. Я был осторожен в том единственном направлении, которое делало всё хуже.
Признак: победитель никогда не выживал при столкновении
Сигнатура обычно была одна и та же, как только я научился её замечать. Конфигурация, выигравшая огромный перебор, выглядела невероятно на данных, против которых её отбирали, а затем разваливалась вскоре после встречи с данными, на которых её не выбирали. Этот обвал может быть не просто невезением. Это распространённый тревожный признак того, что перебор нашёл совпадение — сильное in-sample, потому что in-sample — это ровно то, под что его оптимизировали, и более слабое out-of-sample, потому что совпадение может не повторяться надёжно. (Реальный сдвиг условий или обычный баг тоже могут вызвать обвал; отбор по огромному перебору — лишь главный подозреваемый.)
Смягчение: ограничьте перебор, защитите валидационные данные
Починка состояла из двух половин. Первая — перестать относиться к размеру перебора как к добродетели: проводить меньшие, более продуманные исследования, движимые какой-то причиной ожидать, что конфигурация сработает, а не обширные слепые прочёсывания, которые просто добывают из данных всё, что подходит. Вторая, и более важная, — настаивать, чтобы любой победитель показал свидетельства устойчивости на данных, которые ему не позволяли видеть, пока его отбирали, — понимая, что даже чистый отложенный набор, к которому обращаются слишком часто, медленно перестаёт быть чистым.
Это второе правило — большая часть игры. Важный вопрос — не «какую самую красиво выглядящую вещь я могу найти в прошлом?» Любой, у кого достаточно вычислительных ресурсов, может найти отлично выглядящую вещь в прошлом; прошлое конечно, и достаточно большой перебор в конце концов подгонится под его случайности. Важный вопрос — «выживет ли лучшая вещь, которую я нашёл, на отрезке данных, под который её невозможно было подстроить?» Почти всё, что выдали мои гигантские переборы, провалило этот вопрос, и этот провал был среди самых полезных результатов, которые они когда-либо производили.
Больше вычислений — не больше истины
Урок, который я держу при себе, — тихая поправка к инстинкту, который в этой области ощущается почти неотразимым: что если ты не находишь преимущество, нужно просто искать усерднее — больше конфигураций, больше вычислений, больше грубой силы. Для некоторых задач этот инстинкт верен. Для задачи поиска реального, устойчивого преимущества в зашумлённых данных он часто ближе к обратному. Больше грубой силы не обязательно приближает тебя к истине. Иногда это просто даёт шуму больше участников в конкурсе — а шум при достаточном числе участников склонен что-нибудь да выиграть.
Одна из самых честных вещей, что когда-либо сделал для меня перебор, — это вернуться, после огромного числа попыток, ни с чем, что выжило бы. Мне постыдно долго пришлось понимать, что это не было провалом перебора. Это был перебор, наконец-то говорящий мне правду.
— Никаких сигналов, никакой доходности, не инвестиционная рекомендация.