Часто, когда вы решаете задачу классификации с помощью машинного обучения, цель лежит глубже, чем построение точной прогностической системы. Может быть, вы хотите создать веб-сайт, который на основе сканирования мозга пациента может точно предсказать, есть ли у пациента опухоль, и в этом случае вы можете отдать предпочтение предотвращению ложноотрицательных результатов (ошибки типа II) над ложноположительным результатом (ошибки типа I). ошибки). Таким образом, меньшее количество больных будет ошибочно принято за здоровых. Или вы — технологическая компания, создающая приложение, которое анализирует репозитории GitHub, чтобы выбрать пользователей, которые могут хорошо работать в индустрии программного обеспечения, и обнаружить их раньше, чем это сделают другие, и в этом случае вы можете быть обеспокоены дискриминацией меньшинств и разнообразием найма. На самом деле, во многих проектах крайне важно тщательно проверить, как работает модель, на экстремальных или необычных примерах, поскольку эти редкие случаи в природе могут быть черными лебедями и, следовательно, большой угрозой или возможностью, что делает их признание очень ценным. В любом случае цель обычно отличается (хотя и немного) от максимизации точности.
Дискриминативные классификаторы изучают сопоставление входных данных с метками классов, напрямую моделируя апостериорную вероятность. Примеры этой парадигмы включают логистическую регрессию и многослойные перцептроны (MLP). Их обучение включает в себя оптимизацию функции стоимости, обычно с помощью градиентного спуска и ранней остановки. В случае бинарной классификации стандартным выбором целевой функции является бинарная кросс-энтропия:
Эта функция придает потерям каждого отдельного тренировочного примера одинаковый вес, независимо от (истинного) значения yᵢ, и, следовательно, работает в направлении максимизации точности модели в тренировочном наборе. Тем не менее, если целью является максимизация точности, то неожиданно наивные и вредные модели могут работать хорошо и быть признаны оптимальными во время обучения. Самым ярким примером этого может быть логистический регрессор, обученный диагностировать редкое заболевание, поражающее 0,1% населения, где предсказание 0 все время дает точность 99,9%.
Чтобы заставить модель предсказывать положительную метку в некоторых примерах, вы можете изменить вес, который целевая функция присваивает каждому обучающему примеру. Это означает настройку бинарной кросс-энтропии следующим образом:
где wₚ и wₙ — весовые коэффициенты положительных и отрицательных обучающих примеров соответственно. Придавая больший вес положительным примерам (насколько больше веса придавать, зависит от случая и гиперпараметра для настройки), функция потерь будет склоняться в сторону положительных прогнозов, и, следовательно, вероятность ложноотрицательных результатов уменьшится.
Также важно отметить, что эти модели не только предсказывают класс каждого примера, но фактически обучены предсказывать вероятность того, что они принадлежат этому классу. Обычно происходит следующее: если эта вероятность принадлежности к классу 1 ≥ 0,5, прогнозируется класс 1, а в противном случае прогнозируется класс 0. Другой способ заставить модель предсказывать положительный результат в большем количестве случаев — изменить пороговое значение на меньшее значение, чем 0,5: например, 0,4. Таким образом, если модель предсказывает, что вероятность рака мозга у пациента составляет 0,4 или более, его лечащий врач вызывается для более подробного изучения сканирования.
Следуя интуиции, стоящей за изменением весов расчета функции потерь, мы подошли к важному классу методов: передискретизации. Чтобы придать большее значение одному классу, чем другому, мы можем увеличить выборку этого класса, то есть включить примеры этого класса в обучающую выборку более одного раза.
Передискретизация имеет двойную технику для класса, которому мы хотим придавать меньшее значение: недостаточная выборка. Это состоит из (обычно случайного) удаления примеров рассматриваемого класса из обучающего набора. Таким образом, доля примеров, принадлежащих этому классу, будет уменьшена. Существуют и другие способы выбора примеров, которые следует отбросить (Japkowicz, 2000), например, те, которые находятся дальше от остальных примеров в своем классе (возможно, выбросы). Однако эти более сложные методы не показали значительного улучшения по сравнению со случайной недостаточной выборкой. Передискретизация и недостаточная выборка часто используются вместе.
Более продвинутый способ (Chawla et al., 2002) избыточной выборки класса меньшинства, который обычно приводит к гораздо лучшим результатам, называется SMOTE (Synthetic Minority Over-sampling Technique) и снова обычно сочетается с недостаточной выборкой класса большинства. . В отличие от избыточной выборки с заменой (Ling and Li, 1998), генерируются синтетические обучающие примеры. Для создания синтетического обучающего примера выбирается случайная точка в классе меньшинства. Затем выбирается один из k его ближайших соседей (обычно k = 5) (опять же случайным образом) и создается синтетический пример путем случайной генерации точки между ними в пространстве признаков.
Наконец, недавняя и очень интересная статья по этому вопросу — Увеличение набора данных в пространстве признаков (DeVries and Taylor, 2017), в которой описывается более универсальный подход к увеличению данных, чем более специфические для предметной области или приложения достижения, которые часто появляются. опубликовано. Вместо дополнения входных данных к точкам в изученном пространстве признаков применяются такие преобразования, как возмущение, интерполяция или экстраполяция. Авторы статьи используют автоэнкодер последовательности для построения этого пространства признаков, однако этот метод может быть применен ко многим другим типам моделей.
В заключение, есть несколько удивительно простых и эффективных методов для решения проблемы несбалансированного набора данных без необходимости сбора дополнительных данных, что в некоторых случаях может быть даже невозможно.
Ссылки
Искусственный интеллект для медицинской диагностики (курс DeepLearning.AI на Coursera)
SMOTE: синтетический метод избыточной выборки меньшинств (Чавла и др., 2002)
Проблема дисбаланса классов: значение и стратегии (Япкович, 2000)
Увеличение набора данных в пространстве признаков (DeVries and Taylor, 2017)
Интеллектуальный анализ данных для прямого маркетинга: проблемы и решения (Линг и Ли, 1998)
Черный лебедь: влияние крайне невероятного (Талеб, 2007)
Обо мне
Здравствуйте и добро пожаловать в мой блог. Я Бланка Уэрго, и здесь я буду делиться контентом на стыке математики и компьютерных наук, что означает, что большинство моих постов будут посвящены искусственному интеллекту, машинному обучению и алгоритмам, хотя время от времени будут посты о здоровой продуктивности и Стиль жизни.
Я изучаю математику и информатику в Оксфордском университете, но очень активно занимаюсь ИИ с 2014 года, когда мне было 11 лет, когда я начал посещать университетские онлайн-курсы. Пять лет спустя, когда мне исполнилось 16, я получил свою первую работу в качестве специалиста по данным в компании Merkle Divisadero, которая теперь переименована в Merkle Spain, и с тех пор продолжал совершенствоваться благодаря большему опыту работы, курсам и конкурсам. Теперь я сертифицированный разработчик TensorFlow и имею опыт работы над проектами по анализу временных рядов, обработке естественного языка, обработке изображений и т. д., а также преподаванию. Я создал успешный курс Udemy с более чем 7 тыс. Олимпиада для девочек по информатике» и научили полицию Испании избегать дискриминации при обучении алгоритмов прогнозирования. Поэтому я надеюсь, что мои посты на Medium будут полезны другим, работающим в подобных областях.
Если вам понравился этот пост, вы можете следить за мной на Medium и подписаться на мой список рассылки (обе эти опции есть в моем заголовке), чтобы получать уведомления всякий раз, когда я пишу что-то новое. Вы также можете заниматься со мной на: