Введение

Работа с несбалансированным набором данных может быть проблемой для некоторых классических подходов к машинному обучению, однако бывают ситуации, когда естественное распределение данных между классами неравномерно. Это типично для проблем обнаружения мошенничества. Работая с следующим набором данных от Kaggle, мы видим, что существует много законных транзакций и только 0,17% от общего числа данных являются мошенничеством. В задачах классификации, где существует дисбаланс в распределении данных, исследование обычно фокусируется на выявлении редких данных. Производительность модели машинного обучения следует измерять в основном по результатам, полученным при прогнозировании класса меньшинства. Будет показано, как выбрать правильные показатели для проверки модели и практическое значение компромисса Precision-Recallв наших ситуациях.Наконец, будет выделено, как бороться с асимметричным распределением классов, и представлены результаты, полученные с помощью различных алгоритмов машинного обучения.

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

Почему объяснимость модели имеет значение

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

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

Какие подходы?

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

Такие инструменты, как нейронные сети, обычно представляют собой модели черного ящика. Таким образом, может быть очень сложно получить правила или причину, по которой транзакция была классифицирована нейронной сетью определенным образом, хотя эта информация может быть очень важной для обнаружения мошенничества, как упоминалось ранее. Обученная древовидная модель, такая как Дерево решений, может дать нам представление о правилах, выводимых системой для каждого классификационного ярлыка (Мошенничество или отсутствие мошенничества). Это очень просто, вам нужно только пройти путь от корня до листа дерева классификации, чтобы понять критерии классификации. Наконец, нейронные сети являются очень мощными методологиями, но иногда использование таких инструментов необязательно, для получения хороших результатов может быть достаточно классического подхода машинного обучения. Мы собираемся обучить и протестировать следующие методики:

  • Древо решений
  • Случайный лес
  • XgBoost
  • Логистическая регрессия
  • Свм
  • K-nn

Искаженное распределение данных

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

Балансировка распределения данных

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

  • Недостаточная выборка класса большинства.
  • Перевыборка класса меньшинства путем создания синтетической выборки.

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

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

Алгоритмы балансировки

Случайная недостаточная/избыточная выборка. Самый простой (и менее эффективный) способ сделать это — удалить случайные записи из класса большинства и дублировать случайные примеры из класса меньшинства.

SMOTE: он работает, выбирая примеры, которые близки в пространстве признаков, сначала выбирается случайный пример из класса меньшинства. Затем находятся k ближайших соседей из этого примера (обычно k=5). Синтетический пример создается в случайно выбранной точке на линии между выбранным примером и каждым из kсоседей. Подход эффективен, потому что новые синтетические примеры из класса меньшинства создаются относительно близко по пространству признаков к существующим примерам из класса меньшинства.

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

SMOTE TOMEK: применяется SMOTE для передискретизации класса меньшинства. Чтобы уменьшить выбросы и попытаться получить хорошо определенный шаблон, Tomek Link применяется как к меньшинству, так и к большинству классов. Ссылка Tomek — это процесс очистки данных и удаления выбросов. Удаляет 2 записи разных классов, если каждая из них ближе к примерам другого класса вместо одного примера того же класса.

SMOTE ENN: как и SMOTE TOMEK, процесс очистки и обнаружения выбросов более эффективен. В качестве примера, он основан на процессе k-ближайшего соседа для принятия решения о том, следует ли удалить одну запись или нет. Если процесс очистки будет слишком агрессивным, мы можем потерять важную информацию.

Метрики оценки

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

Почему точность не является правильным показателем? Если мы предположим, что в нашем несбалансированном наборе данных есть 95 случаев обычных транзакций и только 5мошенничества, фиктивная модель прогнозирования, которая всегдапредсказывает Без мошенничества, будет обеспечивать точность 95%, не обнаруживая ни одного случая мошенничества. По этой причине, когда мы работаем с несбалансированным набором данных, он не использует точность для оценки модели.

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

Точность. Когда одна транзакция классифицируется как Мошенничество, значение точности может дать нам представление о том, насколькосистема уверена, что, если она прогнозирует мошенничество , транзакция является настоящим мошенничеством. Вот формула точности:

Вспомнить. Ценность отзыва может дать нам представление о том, насколько система уверена в выявлении всехмошенничества. Вот формула отзыва:

Влияние компромисса Precision-Recall на обнаружение мошенничества

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

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

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

Заключение о компромиссе

Точный отзыв — это компромисс. Отдавая предпочтение оптимизации точности, мы выявляем меньше случаев мошенничества и уменьшаем количество отзывов. Предпочитая оптимизацию отзыва, мы выявляем больше мошенничества, но может случиться так, что некоторые из них будут классифицированы неправильно, и значение точности снизится. Вы можете предпочесть один показатель другому, но важно всегда помнить об обоих. Например, модель, которая достигает 99 % точности и 15 % полноты, не является хорошим предсказателем, потому что даже при очень высокой степени точности она не может обнаружить 85 % мошенничества!

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

Разделение обучения и тестирования с несбалансированным набором данных

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

Полученные результаты

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

  • Эффективен ли метод балансировки? Всегда или только в некоторых случаях?
  • Какой метод классификации лучше и как насчет производительности?

Балансирующий эффект

Модель была обучена с использованием различных алгоритмов машинного обучения: ДЕРЕВО РЕШЕНИЙ, RANDOM FOREST, XGBOOST, SVM, ЛОГИСТИЧЕСКАЯ РЕГРЕССИЯ, K-NN.

Процесс балансировки был выполнен с использованием всех показанных ранее методологий: СЛУЧАЙНАЯ, СМОТРЕТЬ, АДАСИН, СМОТИТЬ ENN, СМОТИТЬ ТОМЕК, ИМБАЛАНСИРОВАННАЯ.

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

СЛУЧАЙНЫЙ ЛЕС

ДЕРЕВО РЕШЕНИЙ

XGBOOST

SVM

ЛОГИСТИЧЕСКАЯ РЕГРЕССИЯ

K-NN

Балансировка эффективности

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

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

Лучшие результаты

Мы собираемся показать наиболее интересные результаты, полученные при разных подходах.

Наилучшие результаты достигаются при использовании Random Forest и XGBoost. Кроме того, K-NN дает интересные результаты, но мы предпочитаем другую модель, поскольку прогностическую модель можно использовать в системе реального времени, а k-nn — не лучшее решение из-за вычислительной сложности для каждого классификация. Логистическая регрессия и SVM имеют два разных поведения. Первый имеет хорошую производительность по точности, а второй по отзыву. Дерево решений очень хорошо работает с несбалансированными данными, и результаты приближаются к одному из лучших классификаторов.

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

Анализ поведения пользователей

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

Надеюсь, что статья была интересной, спасибо за прочтение, и если вам понравилось, ставьте хлопок👏