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

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

Вот несколько способов

Исследовательский анализ темы

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

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

Это может помочь нам определить наиболее очевидные проблемы в данных. Например, мы можем обнаружить кластеры, в которых все записи помечены неправильно. В Labelator.io это легко исправить, так как мы можем выбрать все записи и изменить все метки сразу.

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

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

Просмотр неправильных прогнозов

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

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

В любом случае, можно с уверенностью сказать, что чем меньше у нас неправильно размеченных данных, тем лучше…

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

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

Ориентация на конкретные случаи

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

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

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

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

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

Эта статья изначально была написана в блоге нашей компании https://docs.labelator.io/blog