Утечка данных

Материал из MachineLearning.

Версия от 09:34, 28 июля 2026; Aleksandra Ivanova (Обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск
Статья объединена из материалов страниц Утечка данных и Утечка данных в машинном обучении. Исходные тексты написаны с использованием LLM GPT-5.6 Sol Hight и ChatGPT 5.6 Sol - xhigh и проверены участниками Aleksandra Ivanova и Roman Iuкharev.


Содержание

Утечка данных (англ. data leakage) в машинном обучении — использование при обучении, настройке или оценке модели информации, которая недоступна в момент реального предсказания либо должна оставаться независимой от процесса разработки. Утечка создаёт искусственную связь между обучением и проверкой, поэтому измеренная метрика перестаёт характеризовать качество на новых данных.[1]

Термин не следует смешивать с утечкой конфиденциальной информации в информационной безопасности. В машинном обучении речь идёт о нарушении условий вычислительного эксперимента: модель получает сведения о целевой переменной, будущих событиях, проверочных объектах или итоговой тестовой выборке.

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

Формальная постановка

Пусть D_{\mathrm{train}} — обучающая выборка, D_{\mathrm{test}} — независимая тестовая выборка, а алгоритм обучения \mathcal A строит модель \hat f=\mathcal A(D_{\mathrm{train}}).

Её тестовый риск оценивается величиной \widehat R_{\mathrm{test}}=\frac{1}{|D_{\mathrm{test}}|}\sum_{(x_i,y_i)\in D_{\mathrm{test}}}L(y_i,\hat f(x_i)), где L — функция потерь.

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

Если преобразование признаков имеет вид z=g(x;\hat\eta), то параметры \hat\eta, например среднее, дисперсия, словарь, компоненты PCA или правила заполнения пропусков, должны оцениваться только по разрешённой обучающей части. Использование параметров \hat\eta=h(D_{\mathrm{train}}\cup D_{\mathrm{test}}) делает представление обучающих объектов зависимым от тестовой выборки.

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

Решающее значение имеет не название столбца, а время и способ возникновения информации. Итоговый диагноз допустим при анализе завершённых медицинских случаев, но недопустим в модели ранней диагностики. Статус возврата товара подходит для описания выполненных заказов, но не для прогноза возврата в момент покупки.

Утечка целевой переменной

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

Наиболее очевидный случай — присутствие самой метки среди признаков. На практике чаще встречаются её замаскированные копии:

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

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

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

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

Загрязнение обучающей и проверочной выборок

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

При стандартизации признак преобразуется по формуле z=(x-\mu)/\sigma. Если среднее \mu и стандартное отклонение \sigma рассчитаны до разделения данных, распределение проверочной выборки уже повлияло на представление обучающих объектов.

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

К обучаемой предварительной обработке относятся:

  • заполнение пропусков;
  • масштабирование;
  • кодирование категорий;
  • построение текстового словаря;
  • отбор признаков;
  • понижение размерности;
  • удаление выбросов по статистикам выборки;
  • балансировка классов;
  • обучение векторных представлений.

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

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

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

Временная утечка

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

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

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

Утечка возникает и внутри признаков. Центрированное скользящее среднее включает будущие значения. Средний объём продаж за текущую неделю неизвестен в её начале. Агрегат по последним тридцати дням допустим только тогда, когда все эти дни предшествуют моменту прогноза.

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

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

Утечка между связанными объектами

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

Один пациент может быть представлен несколькими обследованиями, пользователь — несколькими действиями, документ — несколькими фрагментами, устройство — серией измерений. Если записи одной сущности попадают и в обучение, и в проверку, модель способна запомнить её устойчивые особенности.

Такая оценка показывает качество распознавания уже встречавшихся объектов, а не перенос на новые.

Та же проблема возникает с дубликатами и производными объектами. Два соседних кадра видеоролика могут почти не отличаться. Фрагменты одного сигнала сохраняют общий фон. После аугментации исходное изображение и его изменённая копия не должны попадать в разные выборки.

Разделение выполняется по независимым группам:

  • пациентам;
  • пользователям;
  • документам;
  • устройствам;
  • видеороликам;
  • временным сессиям;
  • исходным файлам.

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

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

Утечка при выборе модели

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

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

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

После большого числа экспериментов выбирается конфигурация, которая совпала не только с общей закономерностью, но и со случайными особенностями конкретного теста. Оценка оказывается смещённой вверх.[1]

При интенсивном подборе гиперпараметров применяется вложенная кросс-валидация. Во внутреннем цикле выбирается конфигурация. Во внешнем оценивается вся процедура выбора модели.[1]

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

Контаминация больших языковых моделей

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

Модель может не получать явного указания, что текст относится к тесту. Однако воспроизведение знакомого вопроса, решения или шаблона перестаёт измерять обобщение на новую задачу.

Различаются несколько случаев:

  • точное совпадение вопроса или документа;
  • присутствие опубликованных ответов и разборов;
  • совпадение после изменения форматирования;
  • парафраз или перевод задания;
  • обучение на большом числе примеров того же шаблона;
  • использование тестовых ответов для выбора системного запроса или версии модели.

Точные совпадения обнаруживаются сравнением строк и n-грамм. Для приближённых совпадений применяются MinHash, поиск по векторным представлениям и семантическое сравнение.

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

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

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

Числовой пример

Модель должна в момент выдачи кредита предсказывать дефолт в течение следующих девяноста дней. В проверочной выборке находятся 200 кредитов: 40 завершились дефолтом, 160 были погашены.

Среди признаков по ошибке оставлено поле «передан ли клиент в службу взыскания в течение девяноста дней после выдачи кредита». Для 38 из 40 дефолтных кредитов оно равно единице. Среди остальных кредитов единица встречается четыре раза.

Правило относит кредит к дефолтным, если поле равно единице. Оно даёт 38 истинно положительных, 4 ложноположительных, 156 истинно отрицательных и 2 ложноотрицательных ответа.

Доля правильных классификаций равна Accuracy=(38+156)/200=0{,}97. Полнота дефолтного класса составляет Recall=38/40=0{,}95. Точность положительного прогноза равна Precision=38/42\approx0{,}905.

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

Если заменить неизвестное значение нулём, модель отнесёт все заявки к недефолтному классу. Доля правильных ответов составит 160/200=0{,}80, а полнота дефолтного класса упадёт до 0.

Разница между 0,97 и 0,80 возникла не из-за изменения распределения данных. Первая оценка измеряла способность обнаруживать уже наступивший дефолт по его последствиям.

Последствия утечки

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

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

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

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

Обнаружение утечки

Проверка начинается с происхождения каждого признака. Необходимо установить:

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

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

Необычно высокая метрика служит поводом для аудита, но сама по себе не доказывает утечку. Более содержательны следующие признаки:

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

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

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

Предотвращение утечки

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

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

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

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

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

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

Данные, код разделения, временные срезы и правила построения признаков должны версионироваться. Это позволяет воспроизвести не только модель, но и условия её оценки.

Типичные ошибки

К утечке приводят следующие действия:

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

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

Независимая оценка модели

Оценка модели должна приближать её ожидаемый риск на новых данных: R(f)=\mathbb{E}[L(Y,f(X))]. Тестовая ошибка оценивает этот риск только тогда, когда тестовые данные не участвовали ни в обучении, ни в выборе модели.

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

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

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

При ограниченном объёме данных применяются повторная кросс-валидация и вложенная кросс-валидация. При этом внешний цикл должен оценивать всю процедуру, включая предварительную обработку и выбор гиперпараметров.[1]

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

См. также

Примечания


Литература

  • Hastie T., Tibshirani R., Friedman J. The Elements of Statistical Learning: Data Mining, Inference, and Prediction. 2nd ed. New York: Springer, 2009.
  • Kuhn M., Johnson K. Applied Predictive Modeling. New York: Springer, 2013.
  • Kaufman S., Rosset S., Perlich C., Stitelman O. Leakage in Data Mining: Formulation, Detection, and Avoidance // ACM Transactions on Knowledge Discovery from Data. 2012. Vol. 6, No. 4. Article 15. P. 1–21.
  • Ambroise C., McLachlan G. J. Selection Bias in Gene Extraction on the Basis of Microarray Gene-Expression Data // Proceedings of the National Academy of Sciences. 2002. Vol. 99, No. 10. P. 6562–6566.
  • Varma S., Simon R. Bias in Error Estimation When Using Cross-validation for Model Selection // BMC Bioinformatics. 2006. Vol. 7. Article 91.
  • Cawley G. C., Talbot N. L. C. On Over-fitting in Model Selection and Subsequent Selection Bias in Performance Evaluation // Journal of Machine Learning Research. 2010. Vol. 11. P. 2079–2107.
  • Bergmeir C., Benítez J. M. On the Use of Cross-validation for Time Series Predictor Evaluation // Information Sciences. 2012. Vol. 191. P. 192–213.
  • Vabalas A., Gowen E., Poliakoff E., Casson A. J. Machine Learning Algorithm Validation with a Limited Sample Size // PLoS ONE. 2019. Vol. 14, No. 11. e0224365.
  • Oren Y., Meister N., Chatterji N., Ladhak F., Hashimoto T. Proving Test Set Contamination in Black-Box Language Models // International Conference on Learning Representations. 2024.
  • Golchin S., Surdeanu M. Data Contamination Quiz: A Tool to Detect and Estimate Contamination in Large Language Models // Transactions of the Association for Computational Linguistics. 2025.
  • White C. et al. LiveBench: A Challenging, Contamination-Limited LLM Benchmark // International Conference on Learning Representations. 2025.
Личные инструменты