Эта статья в блоге была изменена на основе выступления Нихила Кумара на конференции ODSC West 2019 на тему Расходы на плохо размеченные данные.

Введение

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

Данные

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

С точки зрения машинного обучения цель состоит в том, чтобы предсказать вероятность того, что у пациента будет болезнь сердца (ИБС), с учетом других особенностей. Таким образом, функция CHD содержит метки данных, и это поле будет искажено позже в этом анализе. Этот набор данных можно найти в Элементах статистического обучения Тревора Хасти, Роберта Тибширани и Джермо Фридмана. Данные можно легко загрузить, а также найти здесь: https://web.stanford.edu/~hastie/ElemStatLearn//datasets/SAheart.data.

Базовые модели

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

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

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

Случайное искажение

Первый тип искажения, который мы рассмотрим, - это случайное искажение. Этот тип искажения включает выбор случайного процента записей в обучающем наборе и переключение меток (т. Е. Если у пациента было сердечное заболевание, то они кодируются как не страдающие сердечным заболеванием, если у пациента не было сердечного заболевания, тогда они кодируются как страдающие сердечным заболеванием). Затем мы строим график зависимости точности модели вне выборки от процента искаженных обучающих записей.

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

Смещенное искажение

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

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

Важность переменной

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

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

Основные выводы

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

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

Изучение различных типов предвзятости

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

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

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

Заключение

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

Узнать больше

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

Хотите узнать больше о предвзятости в машинном обучении? Посмотрите подкаст No BiAS о новых и постоянно меняющихся сферах искусственного интеллекта и машинного обучения.