Когда модель недостаточно подходит?

56

Логика часто утверждает, что при недостаточном подборе модели ее способность к обобщению увеличивается. Тем не менее, в какой-то момент недооценка модели приводит к ухудшению моделей независимо от сложности данных.

Как узнать, когда ваша модель достигла правильного баланса и не соответствует данным, которые она ищет для моделирования?


Примечание. Это продолжение моего вопроса: « Почему перегрузка плохая? »

просчеты
источник
Я предполагаю, что вы имели в виду: « Логика часто утверждает, что из-за недостаточного соответствия модели ее способность к обобщению увеличивается »
Рубенс

Ответы:

43

Модель не подходит, когда она слишком проста в отношении данных, которые она пытается смоделировать.

Одним из способов выявления такой ситуации является использование подхода смещения-отклонения , который можно представить так:

введите описание изображения здесь

Ваша модель недостаточно приспособлена, когда у вас высокий уклон.


Чтобы узнать, есть ли у вас слишком большое смещение или слишком высокая дисперсия, вы рассматриваете это явление с точки зрения ошибок обучения и тестирования:

Высокий уклон: эта кривая обучения показывает высокую погрешность как на тренировочном, так и на тестовом наборе, поэтому алгоритм страдает от высокого смещения:

введите описание изображения здесь

Высокая дисперсия: эта кривая обучения показывает большой разрыв между ошибками обучения и набора тестов, поэтому алгоритм страдает от высокой дисперсии.

введите описание изображения здесь

Если алгоритм страдает от высокой дисперсии:

  • больше данных, вероятно, поможет
  • в противном случае уменьшите сложность модели

Если алгоритм страдает от высокого смещения:

  • увеличить сложность модели

Я бы посоветовал посмотреть курс Coursera «Машинное обучение» , раздел «10: Советы по применению машинного обучения», из которого я взял приведенные выше графики.

Франк Дернонкур
источник
Вы хотели сказать «увеличить, уменьшить сложность модели» в последнем пункте? Я думаю, просто "увеличить сложность модели". , , Кстати, хорошее время. Я записался на этот курс и только что посмотрел видео, на которое вы ссылаетесь.
Нил Слэйтер
@NeilSlater Спасибо, хороший улов, действительно была опечатка :)
Франк Дернонкурт
1
Вы, кажется, предполагаете, что ошибка обучения является достойной оценкой смещения. Смещение (для простого случая функции потерь MSE) определяется как ожидаемая ошибка, которую вы делаете с новыми данными , когда вы усредняете свой прогноз по всем различным обучающим наборам . Что делает J_train (не усредненным по обучающим наборам и не использующим новые данные) достойной оценкой смещения?
максимум
@FranckDernoncourt Можем ли мы связать переоснащение и недостаточное оснащение с размерами данных обучения и данных испытаний? Можно ли сказать, что модель тренировалась на меньших тренировочных наборах?
Судип Бхандари
10

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

Однако на практике ваш вопрос почти полностью определяется бизнес-целями.

Чтобы привести конкретный пример, допустим, что вы являетесь кредитным специалистом, вы выдавали ссуды на 3000 долларов, а когда люди возвращают вам деньги, вы зарабатываете 50 долларов . Естественно, вы пытаетесь построить модель, которая предсказывает, как человек по умолчанию соблюдает свои кредит. Давайте сделаем это просто и скажем, что результатом является либо полная оплата, либо дефолт.

С точки зрения бизнеса вы можете суммировать производительность моделей с помощью матрицы непредвиденных обстоятельств:

введите описание изображения здесь

Когда модель предсказывает, что кто-то собирается по умолчанию, не так ли? Для определения недостатков переоценки и недооценки я считаю полезным думать об этом как о проблеме оптимизации, потому что в каждом сечении прогнозируемых стихов фактическая производительность модели зависит от затрат или прибыли:

введите описание изображения здесь

В этом примере прогнозирование дефолта, являющегося дефолтом, означает предотвращение любого риска, и прогнозирование не дефолта, который не является дефолтом, составит 50 долларов США за каждый выданный кредит. Когда дело обстоит рискованно, вы ошибаетесь, если по умолчанию, когда вы прогнозируете нестандартное погашение, вы теряете всю основную сумму кредита, и если вы прогнозируете дефолт, когда клиент фактически не заставит вас потерять 50 долларов упущенной возможности. Цифры здесь не важны, только подход.

С этой структурой мы можем теперь начать понимать трудности, связанные с чрезмерной и недостаточной подгонкой.

Чрезмерная подгонка в этом случае будет означать, что ваша модель лучше работает с данными разработки / тестирования, чем в производстве. Или, другими словами, ваша модель в производстве будет намного хуже, чем вы видели в разработке, эта ложная уверенность, вероятно, заставит вас брать гораздо более рискованные кредиты, чем в противном случае, и сделает вас очень уязвимыми для потери денег.

С другой стороны, если вы вписываетесь в этот контекст, у вас останется модель, которая просто плохо справляется с соответствием реальности. Хотя результаты этого могут быть крайне непредсказуемыми (противоположное слово, которое вы хотите описать своими прогнозными моделями), обычно то, что происходит, - это ужесточение стандартов, чтобы компенсировать это, что приводит к снижению общего количества клиентов, что приводит к потере хороших клиентов.

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

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

Кроме того, всегда рекомендуется периодически проверять ваши модели, определять, насколько быстро ваша модель ухудшается, и все еще ли она выполняет ваши цели.

Просто некоторые вещи, ваша модель недостаточно приспособлена, когда она плохо предсказывает как данные разработки, так и данные о производстве.

neone4373
источник
6

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

Если модель подходит больше, она учитывает слишком много деталей о том, что наблюдается, и небольшие изменения в таком объекте могут привести к потере точности модели. С другой стороны, если модель не подходит, она оценивает так мало атрибутов, которые заслуживают внимания при изменении объекта, которые могут быть проигнорированы.

Также обратите внимание, что нижнее белье может рассматриваться как избыточное , в зависимости от набора данных. Если ваш вход может быть на 99% правильно классифицирован с одним атрибутом, вы подгоните модель к данным, упростив абстракцию до одной характеристики. И, в этом случае, вы будете слишком много обобщать 1% базы в 99% -классе - или также будете указывать модель настолько, чтобы она могла видеть только один класс.

Разумным способом сказать, что модель не является ни более, ни недостаточно подходящей, является выполнение перекрестных проверок. Вы разбиваете свой набор данных на k частей и, скажем, выбираете одну из них для выполнения анализа, а другие k - 1 части тренируете свою модель. Учитывая, что сам ввод не является предвзятым, вы должны иметь столько различий в данных для обучения и оценки, сколько вы имели бы при использовании модели в реальной обработке.

Рубенс
источник
5

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

Вы увеличиваете сложность, либо добавляя параметры (количество скрытых нейронов для искусственных нейронных сетей, количество деревьев в случайном лесу) или ослабляя термин регуляризации (часто называемый лямбда, или C для машин опорных векторов) в вашей модели.

damienfrancois
источник
3

CAPM (модель ценообразования основных средств) в финансах является классическим примером модели нижнего белья. Он был основан на прекрасной теории, что «инвесторы платят только за риск, который они не могут диверсифицировать», поэтому ожидаемая избыточная доходность равна корреляции с рыночной доходностью.

Как формула [0] Ra = Rf + B (Rm - Rf), где Ra - ожидаемая доходность актива, Rf - безрисковая ставка, Rm - рыночная норма доходности, а Beta - корреляция с премией за акцию. (Rm - Rf)

Это красиво, элегантно и неправильно. Инвесторам, похоже, требуется более высокая ставка по небольшим акциям и стоимость (определяется по балансовой стоимости или дивидендной доходности) акций.

Fama и French [1] представили обновление модели, которое добавляет дополнительные бета-версии для размера и стоимости.

Так откуда ты знаешь в общем смысле? Когда ваши прогнозы ошибочны, и другая переменная с логическим объяснением повышает качество прогноза. Легко понять, почему кто-то может считать небольшие акции рискованными, независимыми от недиверсифицируемого риска. Это хорошая история, подкрепленная данными.

[0] http://www.investopedia.com/terms/c/capm.asp [1] http://en.wikipedia.org/wiki/Fama%E2%80%93French_three-factor_model

MathAttack
источник