TL;DR:

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

Для практиков: если вы имеете дело с несбалансированным набором данных и хотите лучше оценить свою модель, коэффициент корреляции Мэтьюза может заинтересовать вас 👍🏻

Hòla 👋

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

Чего мы добиваемся?

Команда ИИ в Revenue Monster Sdn Bhd усердно работала над проблемой обнаружения физического взлома набора конфиденциальных документов. . Основная цель этой системы - определить, содержит ли документ следы физического вмешательства или подделки (Adobe представила способ идентификации цифрового подделки изображения, «нажмите здесь, если тебе это интересно"). В некотором смысле мы строим систему обнаружения физического мошенничества на наборе изображений.

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

Высокая точность обнаружения мошенничества с низким уровнем ложных срабатываний

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

Хотите прочитать эту историю позже? Сохранить в журнале.

Мы преодолели эту проблему, вводя больше обучающих данных с течением времени, пересматривая наши подходы к выборке, а также исследуя штрафы и оценку модели… Я объясню это подробнее позже в будущем.

В курсе дела

Теперь, когда наши модели построены, пришло время оценить их производительность.

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

Невидимые примеры тестирования содержат новые варианты подделки.

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

Именно тогда мы понимаем, что должны пересмотреть наши методы оценки, быть в курсе.

Обычные подходы к оценке

Точность, отзыв, прецизионность, F-Measure, TPR, FPR, Kappa…

Давайте сделаем небольшой крюк и вспомним, как практикующие из разных областей оценивают свои модели.

  1. Медицинские науки - Рабочие характеристики приемника (ROC), TPR, FPR

2. Поведенческие науки - специфичность / чувствительность, Коэн Каппа

3. Компьютерные науки - точность, точность, отзывчивость, F1, TPR, FPR

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

В частности, давайте рассмотрим точность и F1-оценку как метрику с задачей классификации кошек и собак. F1-оценка или F-мера - это среднее гармоническое значение точности и отзыва.

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

В приведенной выше матрице неточностей 24 образца, и легко сказать, что набор данных несбалансирован, есть только 20 собак и 4 фотографии кошек. Если вы посчитаете, вот результат, который вы получите

  • Точность - 79%
  • Точность - 86%
  • Отзыв - 90%
  • F1-оценка - 88%

Невероятный! Это довольно высокий показатель F1-88%, и мы получили фантастический классификатор! Готовы ли мы развернуть модель в производственной среде? Что, если мы перевернем матрицу путаницы, сохранится ли оценка F1?

Конечно, оценка F1 резко упала до 29%, и наш классификатор ужасно плохо классифицирует кошек. Если вы заметили, наша точность не изменилась и составляет 79%, но как это разумно, если задуматься? Получите ли вы такую ​​же точность при тестировании в производственной среде?

Вот исправление: коэффициент корреляции Мэтьюза

Надеюсь, что из приведенных выше примеров стало ясно, что обычные скалярные метрики не всегда подходят при работе со сценариями несбалансированного набора данных, такими как обнаружение мошенничества. Позвольте мне представить исправление: коэффициент корреляции Мэтьюза (MCC) или phi-коэффициент (φ).

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

Короче говоря, MCC используется для измерения качества двоичного или мультиклассификатора, даже если классы очень разных размеров. Он возвращает значение от -1 до 1, где

  • -1 - Полное несоответствие между предсказанием и наблюдением
  • 0 - не лучше, чем случайное предсказание
  • 1 - Идеальное предсказание

Вот формула для всех, кому интересно:

Возвращаясь к проблеме классификации кошек против собак, рассмотренной выше, мы можем получить оценку MCC 0,169. Следовательно, мы можем сказать, что классификатор не лучше случайного и классы слабо коррелированы, хотя он может достичь высокого показателя точности 79%.

В отличие от F1-score, который игнорирует количество истинно отрицательных (TN), MCC принимает во внимание все 4 значения в матрице неточностей, и, таким образом, все классы рассматриваются как равные. Если вы перевернете матрицу путаницы, вы все равно получите тот же результат.

Реализация

Хватит разговоров, давайте писать код! К счастью, MCC уже реализован в scikit-learn как для двоичных, так и для мультиклассовых задач классификации.

Финал

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

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

Позвольте мне какую-нибудь бессовестную затычку 🗣

Мы расширяем нашу команду, особенно в отделе технических специалистов в Revenue Monster Sdn Bhd. Мы нанимаем разработчиков, которые владеют интерфейсом, серверной частью, DevOps и машинным обучением. Обращайтесь к моему персоналу по персоналу через [email protected], если вам интересно исследовать мир FinTech!

📝 Сохраните эту историю в Журнале.