Вопрос или проблема
Я пытаюсь обучить и проверить свои наборы данных, которые содержат 17 наборов данных. Я разделил их так: 15 для обучения и 2 для проверки. В процессе я обучаюсь на 15 наборах данных и использую сгенерированную модель, чтобы предсказать результаты на оставшихся 2 наборах данных. На мой взгляд, этот процесс называется проверкой с исключением. Независимо от того, какой классификатор я использую (SVM, настраиваемый SVM, knn, настраиваемый KNN), я всегда получаю очень высокую точность обучения, близкую к 90-100%. Точность проверки в сравнении значительно ниже, ближе к 50-60%. Наборы данных в наборе проверки будут частью обучения в некоторых запусках. В этом случае я не могу понять, если они так хорошо работают на обучении, то почему результаты проверки такие плохие?
[отредактировано после уточнения от автора вопроса]
Я не могу понять, если они так хорошо работают на обучении, то почему результаты проверки такие плохие?
Это, безусловно, связано с существенными различиями между наборами данных. Обучение с учителем основывается на предположении, что как обучающий, так и тестовый наборы данных являются выборками из одной и той же популяции (то есть они следуют одному и тому же распределению). В вашем случае модель предполагает, что 15 наборов данных, использованных в качестве обучающих данных, являются репрезентативной выборкой “основного” распределения данных. Если два набора данных, использованных в качестве тестовых, имеют очень разные распределения, то то, чему научилась модель, просто неприменимо к тестовому набору.
Я думаю, что это форма переобучения: модель изучает некоторые детали экземпляров вместо истинных закономерностей, которые имеют значение для целевой переменной. Эти детали фактически встречаются в обучающем наборе, поэтому производительность на нем хорошая. Но они не встречаются (по крайней мере, не в той же форме) в наборе проверки, поэтому истинная производительность плохая.
Примечание: ваша оценочная настройка похожа на кросс-валидацию с исключением одного (LOO), но это не LOO, потому что LOO означает исключение одного экземпляра в качестве тестового набора.
Ответ или решение
Конечно, рассмотрим вашу ситуацию более подробно. Вы упоминаете методику "leave one pair out" кросс-валидации, которая несколько отличается от более традиционной leave-one-out (LOO) кросс-валидации, использующей отдельные экземпляры данных.
Анализ вашей проблемы
Вы тренируете вашу модель на 15 наборах данных и валидируете её на оставшихся двух. Такая методика может привести к проблеме, известной как "переобучение" (overfitting). Переобучение возникает, когда модель чрезмерно хорошо адаптируется к тренировочным данным, запоминая даже их шум и специфические особенности. Это означает, что модель "запоминает" данные, но не обязательно "понимает" их, что препятствует её способности справляться с новыми и ранее не виденными данными.
Вам стоит убедиться, что тренируемые модели основываются на обширных и разнообразных данных. В случае сильных различий в распределении между тренировочными и проверочными наборами данных, модель может не генеральзировать свои знания.
Возможные решения проблемы
-
Регуляризация: Внедрение методов регуляризации (например, L1, L2) поможет минимизировать влияние избыточных признаков и уменьшить переобучение.
-
Обогащение данных: Соберите больше данных из различных источников, чтобы улучшить разнообразие и объем ваших тренировочных наборов данных.
-
Инженерия признаков: Убедитесь, что вы используете наиболее представительные и релевантные признаки для обучения модели.
-
Анализ распределения данных: Проанализируйте распределение признаков в тренировочных и проверочных наборах данных. Убедитесь, что нет критических различий в их статистике.
-
Изменение методики валидации: Рассмотрите возможность использования другой методики кросс-валидации, например K-fold, которая может дать более сбалансированное представление о производительности модели.
-
Итеративное обучение и проверка гипотез: Постоянно тестируйте и улучшайте гипотезы, изучая каждое отдельное несоответствие в продуктивности между тренировкой и проверкой.
Оптимизация SEO
Важно отметить, что для обеспечения высокого рейтинга в результатах поиска необходимо использовать релевантные ключевые слова, такие как "кросс-валидация", "переобучение", "регуляризация", чтобы ваш контент был доступен широкой аудитории, ищущей ответы на подобные вопросы.
Заключение
Ваш случай действительно требует глубокого анализа и переоценки методики обучения. Применение вышеупомянутых рекомендаций может улучшить результаты валидации и повысить точность модели, что крайне важно для достижения успешных результатов в машинном обучении.