Переобучение: когда мера точности ошибается
Как мы уже говорили, основная цель прогнозирования - построение моделей, которые точно предсказывают данные, которых у вас нет. Однако, на первый взгляд, это выглядит как очередная безумная идея математика: странная и абсолютно непрактичная.
Но по нашему опыту, измерение реальной точности прогноза - это реальная проблема бизнеса. Провал в этом вопросе стоит денег. Фактически, чем больше компания, тем больше стоимость.
Все еще не понимаете, что такое реальная ошибка прогноза?
Ознакомьтесь с нашим последним 9-минутным слайдкастом (скрипты прилагаются ниже).
Скрипты слайдкаста:
Переобучение: ваши прогнозы могут быть не такими хорошими, как говорит мера
Точность прогнозирования критически важна для многих отраслей, таких как розничная торговля, производство или услуги. Если вы переоцениваете спрос своих клиентов, ваши затраты возрастают, потому что у вас будет слишком много персонала, слишком много запасов. Но если вы недооцениваете спрос своих клиентов, ваши клиенты разозлятся, потому что не смогут купить ваш продукт или потому что им придется слишком долго ждать обслуживания.
В этом слайдкасте я собираюсь рассказать о малоизвестной проблеме в прогнозировании, называемой переобучение.
Эта проблема малоизвестна по двум причинам. Во-первых, это тонкая проблема - неочевидная и противоречивая во многих аспектах. Во-вторых, это проблема, которая занимает умы математиков с 19-го века. Только в конце девяностых годов, немного больше 10 лет назад, научное сообщество начало действительно понимать эту проблему как на теоретическом, так и на практическом уровне.
Прежде чем продолжить, позвольте мне перейти к выводу. Переобучение имеет очень сильное влияние на ваши прогнозы. Переобучение может заставить вас верить, что у вас есть ошибка прогноза в 10%, в то время как ваша реальная ошибка прогноза составляет 20%, и это не будет худшим случаем.
Переобучение - это реальная проблема бизнеса. Переобучение стоит денег.
Более того, нет способа обойти переобучение. Современные статистические теории строятся на основе этой концепции. Переобучение играет центральную роль в этих теориях, независимо от того, каким образом вы подходите к статистике, переобучение остается.
Основная проблема заключается в определении того, что на самом деле означает точность прогнозирования.
Интуитивно, самый простой способ измерить точность прогнозирования заключается в том, чтобы сделать прогноз и дождаться события, которое было прогнозировано, чтобы мы могли сравнить прогноз с его соответствующим результатом.
Однако, у этого метода есть большой недостаток: он говорит только о точности прошлых прогнозов. С бизнес-точки зрения мало важно знать, были ли прошлые прогнозы хорошими или плохими, поскольку все равно их нельзя изменить. Действительно важно убедиться, что прогнозы, которые еще предстоит сделать, действительно точны.
Затем возникает еще одна проблема: если метод, используемый для составления прогнозов, не является строго идентичным от одного прогноза к другому, нет никакой причины даже верить, что прошлая точность может быть использована в качестве надежного индикатора будущей точности.
С 18-го века математики ввели понятие статистической модели. Основной аспект статистических моделей, несмотря на популярное мнение, заключается не в предоставлении хороших или плохих прогнозов, а в предоставлении повторяемых прогнозов.
С помощью статистической модели вы получаете процесс, который автоматизирует составление прогнозов. Он не гарантирует, что прогнозы будут хорошими, но по крайней мере, если прогнозы плохие, вы можете дополнительно проанализировать модель.
Рассмотрим следующую выборку временных рядов. Мы продемонстрируем проблему переобучения, рассматривая последовательные статистические модели.
Начнем с простой линейной модели. Как видите, линия не очень хорошо соответствует точкам временного ряда. В результате у нас большая ошибка, более 50%. Эта модель действительно не соответствует данным.
Затем мы можем увеличить сложность модели. Теперь у нас есть модель, которая примерно соответствует среднему локальному временному ряду. Эта новая модель выглядит намного лучше предыдущей, и действительно ошибка уменьшилась в 5 раз, теперь составляет 10%.
У нас здесь хорошая модель, но можем ли мы еще снизить ошибку? Ответ прост: да, мы можем создать модель, которая дает ошибку менее 1%.
Как видите, это довольно просто; нам просто нужно разработать модель, которая проходит через почти все точки временного ряда.
Но можем ли мы действительно доверять этой модели, чтобы она была точной на 1% в будущих прогнозах? Очевидно, что нет! Эта модель просто микрооптимизирует маленькие колебания прошлого, которые являются ничем иным, как случайными вариациями. Интуитивно понятно, что мы не можем прогнозировать истинную случайность; мы можем прогнозировать только такие паттерны, как тренд, сезонность и т. д.
Теперь, если мы сравним последние две модели, у нас возникает очевидная проблема: согласно нашей мере ошибки, модель справа - та, у которой ошибка составляет 1% - в десять раз лучше модели слева.
Хотя очевидно, что лучшая модель - это модель слева. Эта модель сглаживает случайные колебания временного ряда.
Таким образом, есть что-то неправильное в том, как мы измеряем ошибку. Эта ошибка, как показано на предыдущей графике, известна как эмпирическая ошибка. Это ошибка, которую вы получаете через измерения на своих исторических данных.
Однако то, что нас действительно интересует, известно как реальная ошибка. Реальная ошибка определяется как ошибка вашей модели прогнозирования на данных, которых у вас нет, то есть: будущих данных.
Хотя эта определение выглядит как полный парадокс: как вы можете измерить что-либо, если у вас, собственно, нет данных!
С 19-го века статистики исследуют эту проблему с помощью подхода, известного как компромисс между смещением и разбросом.
Если мы посмотрим на три модели, которые у нас есть, мы можем сказать, что линейная модель имеет высокое смещение: какую бы линейную модель мы ни выбрали, она никогда не сможет действительно соответствовать данным, если, конечно, сами данные линейно распределены; но в большинстве ситуаций линейная модель просто приближает распределение данных.
Затем, линейная модель имеет низкий разброс: интуитивно добавление или удаление одной точки во временном ряду не сильно повлияет на полученную модель. Эта модель довольно стабильна.
В другом крайнем случае, модель справа имеет очень низкое смещение: она соответствует, на самом деле, большинству точек временного ряда. Однако разброс очень высокий: добавление или удаление одной точки может вызвать значительные изменения в этой модели. Здесь нет стабильности вообще.
В центре у нас есть модель, которая балансирует как смещение, так и разброс; и это выглядит именно так, как нужно.
Однако, основная проблема с подходом смещение против разброса заключается в том, что мы все еще не имеем представления о том, что на самом деле происходит с реальной ошибкой, то есть ошибкой на данных, которых у нас нет.
Этот компромисс часто является скорее эвристикой, чем истинным статистическим критерием.
С конца 90-х годов прошлого века область статистического обучения, более широкая теория, которая охватывает статистическое прогнозирование, сделала значительный прорыв как на теоретическом, так и на практическом уровне.
Эта теория сложна, но простое уравнение дает нам основные представления о результатах. Эта теория говорит нам, что реальная ошибка ограничена сверху суммой эмпирической ошибки и другого значения, называемого структурным риском.
Как мы видели ранее, эмпирическая ошибка - это просто ошибка, измеренная на исторических данных.
Структурный риск - это теоретический критерий, который может быть явно вычислен для определенных классов моделей и оценен для большинства других классов.
Вернувшись к нашему первоначальному примеру, мы видим, что структурный риск увеличивается с увеличением сложности модели.
Теперь, если мы количественно оценим эти структурные риски, мы получим следующую перспективу.
Мы все еще не знаем реальную ошибку - эту величину нельзя измерить напрямую, в любом случае - но мы видим, что модель в центре имеет наименьшую верхнюю границу реальной ошибки.
Теория статистического обучения не дает нам значение реальной ошибки, но вместо этого дает нам верхнюю границу; и весь смысл в том, чтобы выбрать модель, которая достигает наименьшей верхней границы.
Эта верхняя граница действует как максимальное значение для реальной ошибки.
По сравнению с компромиссом смещение-разброс, мы видим, что теория статистического обучения дает нам количественную оценку реальной ошибки.
Структурный риск сложно оценить на практике. Однако, на данный момент, это все еще лучшее известное решение для избежания переобучения.
Мы видели ранее, что очевидный способ столкнуться с проблемами переобучения - это увеличить сложность модели.
Но есть и другой способ, более тонкий способ, столкнуться с проблемами переобучения: это может произойти при увеличении сложности данных.
Добавление дополнительных точек в данные обычно снижает проблемы переобучения, но если вы начинаете добавлять дополнительные измерения к данным, то вы, скорее всего, столкнетесь с проблемами переобучения, даже если сами модели остаются неизменными.
По нашему опыту в Lokad, такая ситуация часто встречается в организациях, которые с каждым годом улучшают свои собственные прогностические модели с использованием все более объемных данных, не обращая явно внимания на структурный риск, который скрывается в их моделях.
В высоких измерениях даже линейные модели подвержены проблемам переобучения.
Это заканчивает эту краткую презентацию о переобучении. Если вы должны запомнить одну вещь, запомните, что без учета структурного риска ваша оценка прогнозной ошибки может быть крайне обманчивой; и чем больше ваша компания, тем больше денег это вам обойдется.
Благодарим вас за интерес. Мы с радостью ответим на ваши вопросы на наших форумах.
Комментарии читателей (9)
Интересный слайд-шоу 3 года назад | Марк
Вау, какое замечательное видео, спасибо за помощь в понимании переобучения. 4 года назад | Мелфорд Макрей
Кстати, я пытался просмотреть слайд-шоу в нескольких браузерах, но не смог его загрузить. Кажется, что он никогда не загружается. Может кто-нибудь из Lokad проверить это и узнать, в чем может быть проблема? 4 года назад | Шон Снэпп
Я только что опубликовал обновленное видео, которое работает. 4 года назад | Жоанн Верморель
Кажется, что SlideShare не поддерживал свои материалы на протяжении многих лет :-( Вот аудиофайл https://media.lokad.com/videos/2009-04-21-overfitting/overfitting.mp3 и файл PowerPoint https://media.lokad.com/videos/2009-04-21-overfitting/overfitting.pptx Я объединю их в видео на YouTube. 4 года назад | Жоанн Верморель
Это довольно сложная проблема. Нет другого способа измерить прогностическую модель, кроме как проверить ее историческую производительность, но существует тенденция переобучаться, чтобы достичь “наилучшей точности”. Это было бы большей проблемой, если бы больший процент компаний действительно использовал свои процедуры наилучшего соответствия в системах прогнозирования, которые они приобрели, или действительно настраивал модели. Мне было бы интересно обсудить, как предотвратить переобучение при использовании процедуры наилучшего соответствия. 4 года назад | Шон Снэпп
Я опубликовал ответ по этому вопросу на https://blog.lokad.com/journal/2014/5/20/how-to-mitigate-overfitting-when-forecasting-demand Надеюсь, это поможет! 4 года назад | Жоанн Верморель
Спасибо за слайд-шоу. Оно помогло мне понять переобучение, не вдаваясь в математические детали. 8 лет назад | Шьям Прадасад Мурака
Спасибо за слайд-шоу. 8 лет назад | Абхишек