Утечка (машинное обучение) - Leakage (machine learning)

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

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


Режимы утечки

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

Утечка функций

Утечка по столбцам вызвана включением столбцов, которые являются одним из: дублирующей метки, прокси для метки или самой метки при обучении модели, которые недоступны во время прогнозирования (анахронизмы[2]). Это может включать утечки, которые частично выдают этикетку.

Например, включение столбца «MonthlySalary» при прогнозировании «YearlySalary»; или «MinutesLate» при прогнозировании «IsLate»; или более тонко "NumOfLatePayments" при прогнозировании "ShouldGiveLoan".

Утечка учебного примера

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

Типы утечки данных:

  • Преждевременный приукрашивание; утечка из-за преждевременной модификации до резюме / Train / Test split (должен соответствовать MinMax / ngrams / etc только для группы поездов, затем преобразовать набор тестов)
  • Повторяющиеся строки между обучением / проверкой / тестом (например, передискретизация набора данных для увеличения его размера перед разделением; например, разные повороты / увеличения одного изображения; выборка начальной загрузки перед разделением; или дублирование строк в вверх образец класс меньшинства)
  • Без i.i.d. данные
    • Утечка времени (например, случайное разделение набора данных временного ряда вместо более новых данных в тестовом наборе с использованием разделения TrainTest или перекрестной проверки скользящего происхождения)
    • Утечка группы - не включая столбец разделения группы (например, Эндрю Нг В группе было 100 тысяч рентгеновских снимков 30 тысяч пациентов, что означает ~ 3 изображения на пациента. В документе использовалось случайное разделение вместо того, чтобы гарантировать, что все изображения пациента находятся в одном разделе. Следовательно, модель частично запоминала пациентов вместо того, чтобы научиться распознавать пневмонию на рентгеновских снимках грудной клетки. У исправленной статьи понизились оценки.[3][4])

Для наборов данных, зависящих от времени, структура изучаемой системы со временем развивается (т. Е. Является «нестационарной»). Это может привести к систематическим различиям между наборами для обучения и проверки. Например, если модель для прогнозирование стоимости акций обучен на данных за определенный пятилетний период, нереально рассматривать последующий пятилетний период как выборку из той же совокупности. В качестве другого примера предположим, что разработана модель для прогнозирования индивидуального риска поставлен диагноз с определенным заболеванием в течение следующего года.

Обнаружение

Смотрите также

Рекомендации

  1. ^ а б c Шахар Кауфман; Сахарон Россет; Клаудия Перлих (январь 2011 г.). «Утечка при интеллектуальном анализе данных: формулировка, обнаружение и предотвращение». Материалы Международной конференции ACM SIGKDD по открытию знаний и интеллектуальному анализу данных. 6: 556–563. Дои:10.1145/2020408.2020496. Получено 13 января 2020.
  2. ^ Сумен Чакрабарти (2008). «9». Интеллектуальный анализ данных: все знать. Издательство Морган Кауфманн. п. 383. ISBN  978-0-12-374629-0. Анахронические переменные - пагубная проблема майнинга. Однако во время развертывания они не представляют никаких проблем - если только кто-то не ожидает, что модель будет работать! Анахронистические переменные неуместны во времени. В частности, во время моделирования данных они переносят информацию из будущего в прошлое.
  3. ^ Гуц, Юрий (30 октября 2018). Юрий Гуц. ЦЕЛЕВАЯ УТЕЧКА В МАШИННОМ ОБУЧЕНИИ (Разговаривать). Конференция AI Украина. Украина. Сложить резюме (PDF).
  4. ^ Ник, Робертс (16 ноября 2017 г.). "В ответ @AndrewYNg @pranavrajpurkar и еще 2". Бруклин, Нью-Йорк, США: Twitter. В архиве с оригинала 10 июня 2018 г.. Получено 13 января 2020. В ответ на @AndrewYNg @pranavrajpurkar и еще 2 ... Были ли вы обеспокоены тем, что сеть может запоминать анатомию пациента, поскольку пациенты перекрестно тренируются и проверяются? «Набор данных ChestX-ray14 содержит 112 120 рентгеновских снимков фронтального обзора 30 805 уникальных пациентов. Мы случайным образом разбили весь набор данных на 80% обучение и 20% проверку ».