Интеллектуальный анализ данных учебное пособие. ИАД Лекции Замятин 20. Интеллектуальный анализ данных
Скачать 2.95 Mb.
|
Перед тем как приступить к решению задач собственно обра- ботки текста на естественном языке, необходимо провести предва- рительную обработку текстовых данных, применив ряд методов, среди которых: – Графематический анализ (сегментация), т.е. выделение в тек- сте предложений и словоформ, точнее токенов (так как в тексте мо- гут быть не только слова). Эти токены – простейшие единицы ин- формации для модели. Обычно используются униграммы (токены, состоящие из одного слова). Часто бывает полезно включить в ана- лиз биграммы (два слова) или триграммы (три слова), чтобы из- влечь дополнительное смысловое содержание. – Лемматизация и стемминг, о которых упомянуто выше. При решении практических задач рекомендуют лемматизаторы для рус- ского языка на базе библиотек mystem и pymorphy. Следует отме- тить, что стемминг (отбрасывание окончаний и других изменяемых частей слов) больше подходит для английского языка, а для рус- ского языка более предпочтительна лемматизация. – Фильтрация стоп-слов. Этот этап предполагает исключение наиболее частых слов, встречающихся в текстах любой тематики (предлоги, союзы, числительные, местоимения, некоторые глаголы, прилагательные и наречия). Они бесполезны для тематического анализа и могут быть отброшены. Их отбрасывание почти не влияет на объем словаря, но может приводить к заметному сокращению длины текстов. Редкие слова также рекомендуется отбрасывать, по- скольку они не могут повлиять на тематику коллекции. Отбрасыва- ние редких слов, а также строк, не являющихся словами естествен- ного языка (например, чисел), помогает во много раз сокращать объем словаря, снижая затраты времени и памяти на построение мо- делей [54]. – Модель мешка слов (bag-of-words). После предварительной обработки текстовые данные необходимо представить в понятном для алгоритмов машинного обучения виде. Простейшим способом является модель мешка слов, которая позволяет представить текст Интеллектуальный анализ данных 144 как числовые векторы признаков. В основе модели мешка слов лежит довольно простая идея, которую можно резюмировать следу- ющим образом: 1. Создать из всего набора документов словарь уникальных лек- сем (tokens), например слов. 2. Построить из каждого документа вектор признаков, содержащий частотности вхождений каждого слова в определенный документ. – Масштабирование данных с помощью tf-idf. Следующий под- ход – масштабировать признаки в зависимости от степени их ин- формативности. Одним из наиболее распространенных способов та- кого масштабирования является метод «частота термина – обратная частота документа» (англ. term frequency – inverse document frequency, tf-idf). Идея этого метода заключается в том, чтобы присвоить боль- шой вес термину, который часто встречается в конкретном доку- менте, но при этом редко встречается в остальных документах кор- пуса. Если слово часто появляется в конкретном документе, но при этом редко встречается в остальных документах, оно, вероятно, бу- дет описывать содержимое именно этого документа лучше других слов. Коэффициент tf-idf определяется как произведение частоты термина и обратной частоты документа: 𝑡𝑓 − 𝑖𝑑𝑓(𝑡, 𝑑) = 𝑡𝑓(𝑡, 𝑑) × 𝑖𝑑𝑓(𝑡, 𝑑), (9.1) где tf(t, d) – количество раз, которое термин t появляется в доку- менте d, при этом обратную частоту документа idf(t, d) можно вы- числить как 𝑖𝑑𝑓(𝑡, 𝑑) = log 𝑛 𝑑 1+𝑑𝑓(𝑑,𝑡) , (9.2) где n d – это общее число документов и df(d, t) – число документов d, которые содержат термин t. Отметим, что добавление константы 1 в знаменатель является факультативным и служит для назначения ненулевого значения терминам, которые встречаются во всех тре- нировочных образцах. Логарифм используется для того, чтобы низ- кие частоты документов гарантированно не получали слишком большого веса [105]. После предварительной обработки и представ- ления текста в виде числовых векторов он становится доступен для анализа широкому спектру алгоритмов машинного обучения. 10. Критерии точности 145 10. КРИТЕРИИ ТОЧНОСТИ Различные классы задач машинного обучения требуют собствен- ного набора критериев оценки, наилучшим образом учитывающего специфику оцениваемых данных. Причем сегодня можно встретить десятки метрик такой оценки, но при решении некоторых практи- ческих задач, учитывая сложность их решения и интерпретации ре- зультатов, приходится задавать собственные метрики оценки или использовать их некоторую оригинальную модификацию. При этом, очевидно, не существует какой-то единственной метрики, наилучшим образом позволяющей во всех случаях оценить точ- ность и адекватность построенной модели, а каждая отдельная мет- рика позволяет оценить точность модели только в какой-то, относи- тельно небольшой, ее части. Рассмотрим наиболее известные мет- рики точности, используемые в различных классах задач машин- ного обучения. 10.1. Метрики качества классификации Метрики, которые считаются по матрице ошибок (confusion matrix): – Accuracy – доля правильных ответов алгоритма; – Precision (точность); – Recall (полнота); – F-score (F-мера); – ROC/AUC (относительная операционная характеристика); – Lift (прирост концентрации). Метрики, которые считаются по матрице сопряженности: – Kappa (каппа-индекс согласия). Метрики, которые считаются с использованием вероятности принадлежности к классу: – Logistic loss (логистическая потеря); – Multiclass logistic loss. Интеллектуальный анализ данных 146 Рассмотрим критерии качества в задачах классификации. Задачи классификации могут быть двух видов: бинарная классификация (всего 2 класса; например, определение спам / не спам, болен / здо- ров, кредитоспособен / некредитоспособен) и мультиклассовая классификация (например, определение типа заболевания, типа ландшафтного покрова). Задачу бинарной классификации в общем случае можно сформу- лировать следующим образом. Дано множество классов Y ∈ {𝑦 𝑖 }, где 𝑦 𝑖 = {0,1}, и множество объектов, которые необходимо отнести к одному из этих классов: 𝑋 ∈ (𝑥 𝑖 ), 𝑖 ≤ 𝑙, где 𝑙 – размер выборки. Алгоритм 𝑎(𝑥 𝑖 ) возвращает произвольное вещественное число 𝑝(𝑥 𝑖 ), которое с помощью порога 𝑡 переводится в бинарный ответ (0 или 1): 𝑎(𝑥 𝑖 ) = [𝑝(𝑥 𝑖 ) > 𝑡]. Например, при пороге 𝑡 = 0,5, если классификатор возвращает 𝑎(𝑥 𝑖 ) = 0,6, то это класс 1, а если воз- вращает 𝑎(𝑥 𝑖 ) = 0,4, то это класс 0. Порог выбирается в зависимо- сти от выборки. Однако перед переходом к описанию самих метрик необходимо ввести понятие матрицы ошибок. Это способ разделения всех объектов классификации на четыре категории в зависимости от соотношения реального класса объекта и предсказанного классифи- катором. В терминах матрицы ошибок классы, которые определяет алгоритм, отмечены как «положительные» (класс 1) и «отрицатель- ные» (класс 0). Тогда эти четыре категории объектов будут обозна- чаться следующим образом: – true positive (TP), истинно-положительная, когда реальная метка класса 1 и предсказанный класс 1; – false positive (FP), ложно-положительная, ошибка I рода, ко- гда реальная метка класса 1, а предсказанный класс 0; – false negative (FN), ложно-отрицательная, ошибка II рода, ко- гда реальная метка класса 0, а предсказанный класс 1; – true negative (TN), истинно-отрицательная, когда реальная метка класса 0 и предсказанный класс тоже 0. Наглядно матрица ошибок представлена на рис. 46. Ошибки в классификации бывают двух видов: False Positive и False Negative. В статистике первый вид ошибок называется ошибкой 10. Критерии точности 147 I рода, а второй – ошибкой II рода. Примеры ошибок I и II рода в компьютерной безопасности: – ошибка I рода: авторизованные пользователи классифициру- ются как нарушители; – ошибка II рода: нарушители классифицируются как авторизо- ванные пользователи. Рис. 46. Матрица ошибок Из матрицы ошибок можно получить простейшие метрики: – Sensitivity (true positive rate, recall, probability of detection, чув- ствительность) – доля верно идентифицированных положительных результатов (из «positive» подмножества). – Specificity (true negative rate, специфичность) – доля верно идентифицированных отрицательных результатов (из «negative» подмножества). – Positive predictive values (precision) – доля верно идентифици- рованных положительных результатов (из всех полученных поло- жительных результатов, в том числе ошибочно). – Negative predictive values – доля верно идентифицированных отрицательных результатов (из всех отрицательных результатов, в том числе ошибочно). В качестве примера расчета метрик рассмотрим выборку из 2 030 человек, из которых 30 больных (positive, положительный класс) и 2 000 здоровых (negative, отрицательный класс). На рис. 47 визуально представлен расчет метрик по матрице ошибок для дан- ной выборки. a(x) = 1 a(x) = 0 y = 1 y = 0 True Positive (TP) False Positive (FP) True Negative (TP) True Positive (FP) Интеллектуальный анализ данных 148 Рис. 47. Пример расчета метрик по матрице ошибок Accuracy. Accuracy – доля правильных ответов алгоритма, са- мый очевидный и простой способ оценки качества: 𝑎𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = 1 𝑙 ∑ [𝑎(𝑥 𝑖 ) = 𝑦 𝑖 ] 𝑙 𝑖=1 (10.1) В терминах матрицы ошибок долю правильных ответов можно выразить так: 𝑎𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = 𝑇𝑃+𝑇𝑁 𝑇𝑃+𝐹𝑁+𝐹𝑃+𝑇𝑁 (10.2) Однако в большинстве случаев этот способ наиболее бесполезный, как можно заметить на любом примере с несбалансированными классами. Например, в задаче оценки спам-фильтра, допустим, из 100 не-спам писем классификатор определил 90 верно (т.е. TN = 90, FP = 10), а из 10 спам-писем 5 он также определил верно (т.е. TP = 5, FN = 5). В таком случае accuracy = 86,4, но если все письма класси- фикатор предскажет как не-спам, то точность получится более вы- сокой: accuracy = 90,9. Однако такая модель практической предска- зательной ценностью обладать не будет. Пациенты с раком кишечника (подтверждено эндоскопией) Положительное состояние Негативное состояние True positive (TR) = 20 False positive (FR) = 180 True negative (TN) = 1 820 False negative (FR) = 180 Чувстви-тель- ность TP/(TP + FN) 67% Специфичность TN/(FP + TN) = 91% Положительное про- гностическое значение TP/(TP + FP) = 10% Отрицательное прогностическое значение TN/(FN + TN) 99,5% Отрица- тельный результат Положи- тельный результат Резуль- таты те- ста на скрытую кровь в экскре- ментах 10. Критерии точности 149 Precision, Recall, F1 score. Более информативными являются по- казатели качества на каждом из классов. Precision (точность) – доля верных идентифицированных положительных результатов (из всех полученных положительных результатов, в том числе ошибочно): 𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = 𝑇𝑃 𝑇𝑃+𝐹𝑃 (10.3) Recall (полнота) – доля верно идентифицированных положитель- ных результатов (из ‘positive’ подмножества): 𝑟𝑒𝑐𝑎𝑙𝑙 = 𝑇𝑃 𝑇𝑃+𝐹𝑁 (10.4) Если 𝑎(𝑥 𝑖 ) = [𝑝(𝑥 𝑖 ) > 1], то обычно при увеличении 𝑡 точность будет расти, а полнота падать. Recall отражает способность алго- ритма определять нужный класс вообще, а recall – способность отличать один класс от других. При этом точность и полнота не за- висят от соотношения размеров классов. Даже если объектов поло- жительного класса на порядки меньше, чем объектов отрицатель- ного класса, данные показатели будут корректно отражать качество работы и поэтому применимы на несбалансированных выборках. F-score (F-мера) – агрегированный критерий качества, объединя- ющий две предыдущие метрики: 𝐹 = 2 𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 × 𝑟𝑒𝑐𝑎𝑙𝑙 𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛+𝑟𝑒𝑐𝑎𝑙𝑙 (10.5) F-мера достигает максимума (1) при полноте и точности, равных единице, и близка к нулю, если один из аргументов близок к нулю. На практике часто возникают задачи, связанные с выбором под- множества. Заказчика может интересовать вопрос, насколько вы- годнее работать с этим подмножеством по сравнению со всем мно- жеством. Например, если при рассылке предложений о кредите клиентам из подмножества и всем клиентам будет получаться одна и та же доля откликнувшихся, то подмножество не будет представ- лять особой ценности. Формально это измеряется с помощью при- роста концентрации (lift), который равен отношению точности к доле положительных объектов в выборке размера 𝑙: 𝑙𝑖𝑓𝑡 = 𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 (𝑇𝑃+𝐹𝑁)/𝑙 (10.6) Интеллектуальный анализ данных 150 Эту величину можно интерпретировать как улучшение доли по- ложительных объектов в данном подмножестве относительно доли в случайно выбранном подмножестве такого же размера. 10.2. Гипотеза A/B A/B-тестирование – метод исследования, при котором экспери- мент проводится с использованием контрольной группы признаков (А) и набора тестовых групп признаков (В), в которых модифици- рованы показатели (как правило, один), позволяя выяснить, какие именно показатели влияют на изменение целевого фактора. Наиболее частым примером использования такого тестирования является проверка эффективности корректировки пользовательского интерфейса и сценариев использования web-приложений, которая позволяет определить маркетинговую эффективность вносимых из- менений на некоторой тестовой подгруппе пользователей. Целе- выми показателями при этом являются посещаемость сайта (отдель- ных страниц), конверсия (доход), длительность сеанса пользователя на ресурсе и т.п. Анализ таких показателей может быть выполнен, например, инструментом Google Analytics. Основным требованием к применению такого подхода является обеспечение статистиче- ской достоверности результатов, что достигается достаточным раз- мером выборки и заданным уровнем статистической значимости. 10.3. Каппа-индекс согласия Для случаев мультиклассовой классификации вместо матрицы ошибок строится матрица сопряженности (contingency table). Такая матрица отражает соответствие двух переменных по каждому из классов: реального класса объекта и предсказанного алгоритмом. Например, на рис. 48 представлен пример матрицы сопряженности для классификатора, определяющего тип поверхности. Эта матрица нужна также для построения такой метрики, как Каппа-индекс согласия. В общем случае каппа-индекс используется для оценки степени согласия оценки объектов двумя экспертами. 10. Критерии точности 151 В случае же оценки качества алгоритма эта метрика отражает сте- пень согласованности ответов алгоритма с реальными метками классов объектов. Рис. 48. Матрица сопряженности Рассчитывается каппа-индекс следующим образом: 𝐾 ̂ = 𝑁 × ∑ 𝑥 𝑖𝑖 𝑘 𝑖=1 −∑ (𝑥 𝑖+ × 𝑥 +𝑖 ) 𝑘 𝑖=1 𝑁 2 −∑ (𝑥 𝑖+ × 𝑥 +𝑖 ) 𝑘 𝑖=1 , (10.7) где 𝑥 𝑖+ – сумма элементов в i-й строке, 𝑥 +𝑖 – сумма элементов в i-м столбце, 𝑁 – общее количество элементов. В отношении интерпретации значения каппа-индекса часто идут споры: какой диапазон значений считать признаком хорошего каче- ства классификатора. Однако в общем случае можно ориентиро- ваться на следующие показатели: – 𝐾 ̂ < 0,2 – плохо; – 0,2 < 𝐾 ̂ > 0,4 – слабо; – 0,4 < 𝐾 ̂ < 0,6 – средне; – 0,6 < 𝐾 ̂ < 0,8 – хорошо; – 0,8 < 𝐾 ̂ < 1,0 – отлично. 1 2 053 Асфальт Бетон Трава Дерево Здание Сумма Асфальт Бетон Трава Дерево Здание Сумма 2 385 0 4 1 4 2 394 0 0 0 12 2 397 332 0 0 333 1 908 8 0 917 0 0 337 0 0 908 1 084 6 1 099 9 1 093 2 071 2 067 6 808 Истина Пр ог но з Интеллектуальный анализ данных 152 10.4. ROC-кривая Такие метрики, как точность, полнота или F-мера, применимы к классификаторам при конкретном выборе порога t, относительно которого все вещественные ответы алгоритма сводятся к бинар- ному значению. Что если мы будем менять порог в некотором диапазоне значений, варьируя тем самым и значения точности и полноты? В таком случае применима такая интегральная характе- ристика, как площадь под ROC-кривой, или AUC ROC (Area Under Curve ROC – Receiver / Relative Operator Characteristic). Строится эта кривая следующим образом. Рис. 49. ROC-кривая Рассмотрим набор возможных порогов 𝑡 ∈ {0, 𝑙 + 1} и для каж- дого из них посчитаем два значения: долю ложно-положительных ответов (false positive rate, FPR) и долю истинно-положительных от- ветов (true positive rate, TPR): 𝐹𝑃𝑅 = 𝐹𝑃 𝐹𝑃+𝑇𝑁 , (10.8) Ис тинно -по ло жит ел ьн ы й по ка за тел ь Ложноположительный показатель Случайный Хороший Лучше Лучший 10. Критерии точности 153 𝑇𝑃𝑅 = 𝑇𝑃 𝑇𝑃+𝐹𝑁 (10.9) По этим значениям строится ROC-кривая: по одной оси нано- сятся значения TPR, а по другой – FPR (рис. 49). Максимальный порог t даст классификатор с 𝑇𝑃𝑅 = 0, 𝐹𝑃𝑅 = 0, минимальный порог даст 𝑇𝑃𝑅 = 1, 𝐹𝑃𝑅 = 1. Таким образом, ROC- кривая – это кривая с концами в точках (0, 0) и (1, 1), которая по- следовательно соединяет точки, соответствующие всем возможным порогам 𝑡 в заданном диапазоне. Площадь под данной кривой при- нимает значения от 0 до 1. Если алгоритм не будет давать ошибок, то AUC-ROC для него будет равен 1. Для бесполезного «случай- ного» алгоритма AUC-ROC будет равен 0,5. 10.5. Метрика качества прогноза временного ряда Выше отмечено, что одной из наиболее распространенных задач, в которой применяется машинное обучение, является задача регрес- сионного анализа и прогнозирования значений некоторого времен- ного ряда при его экстраполяции. Как и большинство классов иных задач, оценка точности подобного вида модели требует собствен- ного набора критериев оценки, наилучшим образом учитывающего специфику оцениваемых данных. Среди таких критериев выделяют следующие: – MAE – средняя абсолютная ошибка; – MAPE – средняя относительная ошибка; – ME – средняя ошибка; – MSE – среднеквадратическая ошибка; – Max абсолютной ошибки; – Max относительной ошибки; – SMAPE – симметричная МАРЕ. Если за Y i принять фактическое значение наблюдаемого фактора в момент времени i, а за Yp i – прогнозное значение наблюдаемого фактора в момент времени i, то критерии могут быть представлены математическими формулами (табл. 13). |