K-кратная перекрестная проверка с алгоритмом MLP - PullRequest
0 голосов
/ 04 мая 2020

У меня есть набор данных, который разделен на обучающую и тестовую части. Моя задача - обучить ее и оценить мою модель, используя перекрестную проверку в k-кратном размере. Я немного запутался с постановкой задачи. Насколько я знаю, цель перекрестной проверки k-dold заключается в том, чтобы оценить модель на ограниченной выборке данных, используя все данные для обучения и тестирования. Пожалуйста, скажите мне, если я прав в своем алгоритме:

  1. Объединить тест и составные части моего набора данных.
  2. Разделить весь набор данных на k частей.
  3. Используйте MLP, чтобы обучить мою модель всем частям моего набора данных, кроме одной, затем протестируйте ее в левой части. Сохранить оценку.
  4. Рассчитать среднюю оценку.

1 Ответ

2 голосов
/ 04 мая 2020

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

Шаги, как вы упомянули:

  1. Случайно разбить все данные на k сгибов (значение k не должно быть слишком маленьким или слишком большим, в идеале мы выбираем от 5 до 10 в зависимости от размера данных).

  2. Затем подгоните модель, используя сгибы K - 1, и подтвердите модель, используя оставшийся K-й сгиб. Сохраните счет и ошибки.

  3. Повторяйте этот процесс до тех пор, пока каждый K-кратный набор не станет тестовым набором. Затем возьмите среднее значение ваших зарегистрированных результатов. Это будет показатель производительности c для модели.

Правка для точки 1: более высокое значение K приводит к менее смещенной модели, но большая разница может привести к переобучению, где, как нижнее значение K аналогично подходу разделения поезда-теста. Поэтому мы выбираем значение k в диапазоне от 5 до 10. Вы можете поэкспериментировать с этими значениями, чтобы получить более высокую производительность metri c.

...