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

В этом выпуске серии мы рассмотрим некоторые общие меры и соображения при оценке эффективности и ценности алгоритма классификации.

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

Матрица путаницы

Предположим, что наш алгоритм представляет собой простой дискретный классификатор, который возвращает p, если предполагается, что экземпляр входит в интересующий класс (положительный результат), и n, если нет (отрицательный результат). Предположим также, что в реальных данных в наборе тестов p ’представляет собой положительный пример, а n’ - отрицательный. Напомним, из предыдущей статьи определения истинно положительных (TP), истинно отрицательных (TN), ложноположительных (FP) и ложных отрицательных (FN):

TP = p И p ’

TN = n И n ’

FP = p И n ’

FN = n И p ’

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

Ряд ценных показателей можно вычислить из матрицы неточностей следующим образом:

  • Точность = (TP + TN) / (P + N). Точность - это доля всех случаев, которые были предсказаны правильно.
  • Точность = TP / P. Точность - это доля предсказанных положительных результатов, которые оказались точными.
  • Коэффициент TP, Напоминание или Чувствительность = TP / P ’. Коэффициент TP - это доля точно предсказанных положительных примеров.
  • Ставка FP = FP / N ’. Показатель FP - это доля отрицательных примеров, которые были ошибочно предсказаны как положительные.
  • Специфичность = TN / N ’= ставка 1 - FP. Специфика - это доля отрицательных примеров, которые были предсказаны правильно.

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

Пример матрицы неточностей

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

Алгоритм просто возвращает «HP» или «Not HP». Мы запускаем наш алгоритм через тестовый набор из 500 предыдущих заявлений о приеме на работу и генерируем эту матрицу путаницы:

Таким образом, для этого алгоритма мы можем вычислить:

  • Точность = 80%. Четыре пятых всех экземпляров тестового набора были предсказаны правильно.
  • Точность = 50%. Половина положительных прогнозов оказалась верной.
  • Ставка TP = 75%. Три четверти положительных примеров были предсказаны правильно.
  • Ставка FP = 19%. Примерно пятая часть отрицательных примеров ошибочно считалась положительной.
  • Специфичность = 81%. Около четырех пятых отрицательных примеров были предсказаны правильно.

Хотя ставка 75% TP может считаться очень хорошей сама по себе, она достигается за счет ставки FP 19%. Эта частота FP может быть неприемлемо высокой. Лица, принимающие решения, совместно с специалистами по обработке данных должны определить приемлемый баланс между коэффициентами TP и FP, если предположить, что он может быть достигнут. Обычно при принятии решения необходимо учитывать объем. Если компания получит 5000 заявок, это означает, что почти 1000 будут ошибочно классифицированы как «высокопотенциальные», и компания может не иметь возможности справиться с этим.

Графики ROC

Учитывая, что компромисс между ставкой TP и скоростью FP представляет такой интерес, естественно визуализировать и сравнивать алгоритмы, нанося их ставки TP и FP на двумерный график. Такой граф называется ROC-графом. (Рабочие характеристики приемника - термин, появившийся в результате инженерных разработок и разработок радаров во время Второй мировой войны).

Используя наш пример с «высоким потенциалом», приведенный выше, и предполагая, что специалист по анализу данных создал четыре других алгоритма с разными скоростями TP и FP, мы могли бы использовать график ROC для сравнения этих алгоритмов, представленный ниже с алгоритмом A, который обсуждается в предыдущий раздел. Мы могли сразу определить алгоритм C как наиболее эффективный алгоритм. Алгоритм E - это совершенно случайный алгоритм, который выбирает равные доли истинных положительных и ложных срабатываний. Алгоритм B лучше определяет ложные срабатывания, чем истинные срабатывания.

Кривые ROC

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

Используя наш пример, мы могли представить, что алгоритм мог рассчитать вероятность для каждого приложения в тестовом наборе, и компания, возможно, решила попробовать отсечение 0,8 как минимальную вероятность, которая будет считаться «высокой потенциальной».

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

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

Вследствие этого ставка FP также должна остаться прежней или увеличиться. Этот тип кривой известен как кривая Лоренца.

Пример того, как может выглядеть ROC-кривая для нашего вероятностного алгоритма «высокого потенциала», приведен ниже с конкретной точкой отсечки, которая дала начало нашему предыдущему примеру, отмеченному знаком X.

Кривые ROC могут использоваться в сочетании с соображениями объема для определения оптимальной точки отсечки вероятностного классификатора. Если объем вызывает беспокойство, например, если ресурсы организации ограничены, необходимо свести к минимуму количество ложных срабатываний. В противном случае более высокий уровень ложных срабатываний может быть принят как компромисс для высокой ставки TP.

Что такое «хорошая» кривая ROC?

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

Обычно, если мы измеряем алгоритм, который был разработан на тестовом наборе и хорошо обобщен, алгоритм будет значительно лучше, чем случайный классификатор, и его кривая ROC будет иметь выпуклую форму, такую ​​как два алгоритма A и B проиллюстрировано здесь.

Ясно, что «золотая зона» на графике ROC - это верхний левый угол, где есть высокая скорость TP и низкая скорость FP. Поэтому специалистам по данным нравится видеть кривые ROC, которые имеют вершину как можно дальше в этом углу графика ROC.

В этом случае специалист по анализу данных может счесть алгоритм B «лучше», чем алгоритм A, на основе сравнения их кривых ROC.

Площадь под кривой

Учитывая наблюдение, что «хорошие» кривые ROC достигают максимума в верхнем левом углу диаграммы ROC, область под кривой ROC может выступать в качестве общего индикатора силы алгоритма. Чем больше площадь занимает кривая, тем выше вероятность того, что кривая может занять «золотую зону» в верхней левой части графика ROC.

Поэтому Площадь под кривой или AUC часто используется в качестве общего индикатора силы вероятностного классификатора. Обратите внимание, что AUC для случайного классификатора составляет 50%, поэтому в идеале многообещающий алгоритм будет показывать AUC значительно выше этого, а обычно больше 80%. Вот иллюстрация к этому.

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

Джини = 2 × AUC - 1.

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

Резюме

Резюмируя наблюдения в этом выпуске:

  1. Дискретные классификаторы можно оценить, используя простую матрицу неточностей вместе с такими показателями, как точность, скорость TP, скорость FP и другие. Эти меры в сочетании с учетом объема могут помочь определить, соответствует ли алгоритм рабочим требованиям.
  2. Вероятностные классификаторы могут быть построены с использованием кривой ROC. Площадь под кривой (AUC) является хорошим общим индикатором прогностической полезности алгоритма, и следует стремиться к AUC, превышающей 80%. Однако даже при высоком AUC необходимо более внимательно изучить конкретные точки интереса на графике ROC, наряду с соображениями объема, чтобы определить, существует ли порог, отвечающий эксплуатационным требованиям.

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