Что такое перекрестная проверка K-Fold и почему она используется?

K-Fold Cross Validation — это широко используемый метод оценки модели машинного обучения для оценки производительности модели в наборе данных. Он предназначен для смягчения потенциальных проблем, связанных с переоснащением, и для обеспечения более надежной оценки способности модели к обобщению.

Процесс включает в себя разделение исходного набора данных на K подмножеств примерно одинакового размера. Следовательно, K относится к количеству групп, на которые разбита выборка данных. Например, если вы видите, что значение k равно 5, мы можем назвать это 5-кратной перекрестной проверкой. Каждая складка используется в качестве тестового набора на одном этапе процесса. На каждой итерации записываются показатели производительности модели, такие как точность или среднеквадратическая ошибка.

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

Когда размер набора данных ограничен, K-Fold Cross Validation имеет преимущество, поскольку позволяет максимально использовать данные, доступные как для обучения, так и для тестирования. Предлагая более тщательную оценку производительности модели по нескольким подмножествам данных, он также помогает выявить потенциальные проблемы переобучения и недообучения модели.

Ссылка:

https://www.kdnuggets.com/2022/07/kfold-cross-validation.html#:~:text=K-fold%20Cross-Validation%20is,data%20sample%20is%20split%20into.

Как работает метод перекрестной проверки K-Fold?

Общая стратегия перекрестной проверки K-Fold выглядит следующим образом:

Набор данных перемешивается и делится на K подвыборок одинакового размера, гарантируя, что K не превышает размер набора данных.

В каждой итерации:

  • В качестве тестовых данных используется одно подмножество.
  • Остальные подмножества используются в качестве обучающих данных.
  • Модель обучается на обучающих данных и оценивается с использованием подмножества тестов.
  • Оценочная оценка или частота ошибок записываются, а модель отбрасывается.
  • Процесс повторяется для всех K подмножеств. Каждое подмножество используется в качестве тестовых данных один раз, а остальные используются в качестве обучающих данных в разных итерациях.

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

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

Как можно применить этот метод без использования кода в MATLAB?

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

Шаг 01. Откройте приложение Regression Learner в разделе Приложения для машинного обучения (рис. 01).

Шаг 02.После этого вы сможете увидеть окно, показанное ниже (рис. 02). Затем импортируйте набор данных, используя поле «Новый сеанс». Это поле предлагает два способа импорта набора данных:

  1. С рабочего места MATLAB.
  2. Найдите и выберите файл на своем компьютере.

Я использовал метод просмотра, чтобы импортировать свой набор данных в формате файла CSV.

Шаг 03.После импорта набора данных вы должны выбрать поле ответа (обычно метка/выходной столбец) из импортированного набора данных (рис. 03).

Шаг 04.Далее следует выбрать поле перекрестной проверки и значение K (рис. 04). Импортированный набор данных будет разделен на подмножества на основе выбранного значения K. Например:

If K = 5

Набор данных будет разделен на 5 подмножеств.

Затем нажмите «Начать сеанс».

Шаг 05.После этого, если у вас есть представление о наилучшей модели для обучения с целью достижения минимальной среднеквадратичной ошибки (MSE), вы можете напрямую выбрать эту конкретную модель.

Если вы не уверены в наилучшей модели, у вас есть возможность выбрать все (Рисунок 05) доступные модели и выполнить их (Рисунок 06). В ходе этого процесса MATLAB обучит все имеющиеся у него модели и впоследствии предоставит информацию о модели, дающей наилучшие результаты.

Шаг 06: я провел процесс обучения, выбрав все доступные модели, и модель, которая показала наилучшие результаты в наборе данных, называлась «Пошаговая линейная регрессия». Примечательно, что он показал самое низкое значение среднеквадратичной ошибки (MSE) 0,0053, а также среднеквадратичную ошибку (RMSE) 0,07318 (Рисунок 07). Эти результаты показывают, что «Пошаговая линейная регрессия» превзошла другие обученные модели с точки зрения минимизации MSE.

Наконец, по завершении процесса у вас будет доступ к различным информативным графикам, относящимся к набору данных. К ним относится «график отклика» (рис. 08), который дает представление о взаимосвязи между зависимыми и независимыми переменными. Кроме того, «График прогнозируемого и фактического» (рис. 09) позволяет проводить сравнительный анализ прогнозов модели с фактическими точками данных, облегчая оценку ее точности и производительности. Наконец, «График остатков» (рис. 10) дает графическое представление различий между наблюдаемыми и прогнозируемыми значениями, что помогает оценить общее соответствие модели и наличие каких-либо закономерностей или аномалий в данных. Доступ к этим исчерпывающим графикам поможет вам понять характеристики набора данных и оценить, насколько хорошо модель отражает лежащие в его основе закономерности.

Спасибо, что нашли время прочитать этот пост в блоге. Оставайтесь в безопасности…. :)