Интеллектуальный анализ данных учебное пособие. ИАД Лекции Замятин 20. Интеллектуальный анализ данных
Скачать 2.95 Mb.
|
D = {x i , y i } размерностью m. Сначала обучаем базовые модели на одной обучающей выборке D (h 1 , …, h T ). Новая обучающая выборка будет состоять из ответов базовых моделей 𝐷 ℎ = {𝑥 𝑖 ′ , 𝑦 𝑖 }, где 𝑥 𝑖 ′ = {ℎ 1 (𝑥 𝑖 ), … , ℎ 𝑇 (𝑥 𝑖 )}. На по- лученной выборке обучаем метамодель H. 6.8.4. Бустинг Boosting (усиление) – итеративный композиционный метаалго- ритм обучения с учителем, корректирующий веса наблюдений по результатам каждой из итераций (если наблюдение классифициро- вано ошибочно, то его вес увеличивается, и наоборот), преобразуя слабые обучающие алгоритмы к сильным. Алгоритм бустинга x 2 Обучение x y Обучение алгоритмов Обучение метаалгоритма Обучаем несколько алгоритмов Их ответы на отложенном обучении Обучаем мета- алгоритм Их ответы на тесты Запускаем его на новой тестовой выборке 6. Основные методы анализа и интерпретации данных 113 лучше всего можно описать на примере одного из наиболее широко используемых алгоритмов этого типа AdaBoost (Adaptive Boosting). 1. Начальное распределение весов 𝑤 𝑛 = 1 𝑁 , 𝑛 = 1, … , 𝑁. 2. Для каждого 𝑚 = 1, … , 𝑀: – обучается классификатор 𝑦 𝑚 (𝑥) , который минимизирует взвешенную ошибку классификации 𝜖 𝑚 = ∑ 𝑤 𝑛 (𝑚) 𝑁 𝑛=1 1[𝑦 𝑚 (𝑥 𝑛 ) ≠ 𝑡 𝑛 ] ∑ 𝑤 𝑛 (𝑚) 𝑁 𝑛=1 ⁄ – вычисляется взвешенная ошибка классификатора 𝑦 𝑚 (𝑥) α 𝑚 = log ( 1−𝜖 𝑚 𝜖 𝑚 ). – обновляются распределение весов 𝑤 𝑛 (𝑚+1) = 𝑤 𝑛 (𝑚) 𝑒𝑥𝑝{𝛼 𝑚 1[𝑦 𝑚 (𝑥 𝑛 ) ≠ 𝑡 𝑛 ]}. 3. Производится предсказание используя финальную модель: 𝑌 𝑀 (𝑥) = 𝑠𝑖𝑔𝑛(∑ 𝛼 𝑚 𝑦 𝑚 (𝑥) 𝑀 𝑚=1 ). Другим популярным вариантом бустинга является градиентный бустинг и его реализация на деревьях – Extreme Gradient Boosting (XGBoost). Градиентный бустинг – техника машинного обучения для задач классификации и регрессии, где строится модель предска- зания в виде ансамбля слабых предсказывающих моделей. Библио- тека создавалась как исследовательский проект Tianqi Chen в 2014 г. и описана в статье «XGBoost: a Scalable Tree Boosting System». Пер- воначально это было только терминальное приложение, теперь у него есть пакеты на Python, R, Java, C++ и Julia. XGBoost является лидером среди соревнований по машинному обучению в сообще- стве Kaggle. В отличие от бэггинга обучение ансамбля проводится последовательно. Иллюстрация работы XGBoost изображена на примере на рис. 26. Box 1: Первый классификатор создает вертикальную линию, ко- торая верно определяет две точки «+», но ничего не знает о других точках «+» и «–». Box 2: Следующий классификатор будет пытаться исправить ошибки первого, поэтому он дает больший вес трем «+» точкам и Интеллектуальный анализ данных 114 создает вертикальную линию на D2. Тем не менее он ошибается, неправильно классифицируя три точки «–». Box 3: Третий классификатор продолжает улучшать результат. Снова он дает большие веса трем «–» точкам, неверно определен- ным на прошлом классификаторе, и создает линию D3. Однако классификатор ошибочно определил точки в окружности. Box 1, Box 2 и Box 3 – слабые классификаторы. Эти классифика- торы будут использованы для создания сильного классификатора Box 4. Box 4: Это взвешенная комбинация слабых классификаторов. Как можно увидеть, он хорошо справляется с правильной класси- фикацией всех точек. Рис. 26. Иллюстрация работы алгоритма XGBoost XGBoost успешно используется в прогнозировании продаж, классификации текстовых документов Интернета, прогнозировании поведения клиента, классификации вредоносных программ, катего- ризации продуктов и пр. + + + + + + + + + + + + + + + + + . + + + + + D1 D2 D3 Box 1 Box 2 Box 3 Box 4 6. Основные методы анализа и интерпретации данных 115 Из других популярных реализаций алгоритмов бустинга можно отметить такие библиотеки и пакеты, как LPBoost, TotalBoost, BrownBoost, MadaBoost, LogitBoost. 6.9. Обнаружение аномалий Еще одним крайне полезным направлением научно-практиче- ской деятельности в Data Mining принято считать обнаружение ано- малий (англ. Anomaly Detection). Это направление, по сути, можно рассматривать как противоположное направлению кластеризации (см. разд. 6.4), так как в данном случае необходимо решить обрат- ную задачу – найти такие экземпляры данных, которые являются нетипичными, редкими для некоторого обычного (типичного, тра- диционного) профиля исследуемого набора данных. Очевидно, такие аномалии (явления с низкой частотой возникновения) могут появиться и быть выявленными только в случае значительного объема накопленных данных с «типичным профилем». Учитывая высокую практическую ценность, порой заложенную в такие аномалии, сегодня присутствует целый ряд областей прило- жения методов обнаружения аномалий: – обнаружение фактов мошенничества со счетами кредитных карт, подозрительных сделок в страховании и т.п.; – обнаружение фактов несанкционированного вторжения в ин- формационно-коммуникационные сети и среды; – обнаружение ошибок. На рис. 27 представлен пример двумерной диаграммы с данными признаков X и Y, позволяющей визуально оценить выборки без ано- малий (N 1 и N 2 ), а также выборку (O 3 ) и отдельные экземпляры с аномалиями (o 1 , o 2 ). Для решения задач обнаружения аномалий применяют огромное количество подходов, методов, алгоритмов и их модификаций, ос- нованных на анализе разновременных данных различным матема- тическим аппаратом. Приводят следующую классификацию мето- дов обнаружения аномалий, позволяющую в некоторой степени систематизировать массив имеющихся подходов и способов: Интеллектуальный анализ данных 116 1. Основанные на графическом представлении (англ. Graphical- based). В этом случае используют различные диаграммы и скаттер- граммы 1D–3D-мерные. Основные недостатки: трудоемкость по- строения и субъективность. 2. Основанные на статистических методах (англ. Statistical- based). Требуют предположения о наличии смеси распределений «типичных» данных и данных отклонения, а также гипотез о зако- нах их распределения. К недостаткам относят то, что обычно рас- пределение данных не известно, а в случае многомерной среды еще и затруднительно достаточно точно оценить статистическую плот- ность распределения выборки. Рис. 27. Пример двумерной диаграммы данных признаков X и Y, отражающей наличие и отсутствие аномалий 3. Основанные на использовании различных метрик расстояния (англ. Distance-based). В этом случае данные представлены в виде набора векторов признаков, а для их анализа используют три ос- новных подхода – ближайшего соседа, оценки плотности и класте- ризации. 6. Основные методы анализа и интерпретации данных 117 4. Основанные на использовании моделей (англ. Model-based). В этом случае общий алгоритм обнаружения аномалий может быть представлен в виде трех основных этапов: – прогнозирование значений наблюдаемых временных рядов x i (t) на один шаг в соответствии с построенной моделью (x i – инте- ресующий параметр системы или среды, t – время); – измерение отклонений между прогнозными значениями мо- дели и фактическими значениями среды; – механизм (набор решающих правил и процедур), определяю- щий, является ли значение (или последовательность значений) «слишком» отклоняющимся от прогнозного (соответствующего профилю «нормальной» работы сети). Примерами конкретных методов для решения задач обнаруже- ния отклонений могут быть авторегрессионная модель, модель скользящего среднего, комбинированная модель авторегрессии и скользящего среднего, фильтр Калмана, SVM, нейросети, байесов- ские сети и др., некоторые из которых подробно изложены выше. Активно развиваются новые научно-исследовательские методы и появляются примеры коммерческого применения, требующие от- дельного внимательного рассмотрения и изучения [49, 57, 118]. Интеллектуальный анализ данных 118 7. ВИЗУАЛИЗАЦИЯ Еще один метод Data Mining, который упоминают как имеющий самостоятельную ценность – визуализация (англ. Visualization). Его суть заключается в том, чтобы обеспечить для экспертного рассмот- рения данные в таком визуальном представлении, которое позволит более контрастно показать имеющиеся в данных закономерности, связи и исключения (паттерны), неочевидные при ином рассмотре- нии. Визуализация знакомит зрителя с конечным результатом ана- лиза, помогая выбрать нужное направление исследования данных. При этом стоит отметить чрезвычайную важность визуализа- ции – ведь имея одни и те же исходные данные, их можно предста- вить различными способами, провоцируя различные (в общем слу- чае – даже противоположные) варианты принятия решений! Для решения этой задачи используют имеющийся инструмен- тарий графического представления данных (варьирование размер- ности данных, типа диаграмм и графиков, используемых цветов, форм и других характеристик отображаемых элементов), который может (а порой и должен) быть применен совместно с другими ме- тодами Data Mining. Таких вариантов визуализации насчитывают десятки (рис. 28) [1]. При выборе метода визуализации необхо- димо учитывать все параметры. В первую очередь нужно пони- мать, как человек воспринимает зрительные образы. Классифика- ции и рекомендации, составленные современными исследовате- лями, позволяют оптимально подобрать метод визуализации под конкретную задачу. Методы визуализации могут находить следующее применение: – представлять пользователю информацию в наглядном виде; – снижать размерность или сжимать информацию; – компактно описывать закономерности, присущие исходному набору данных; – восстанавливать пробелы в наборе данных; – находить шумы и выбросы в наборе данных. 7. Визуализация 119 Рис. 28. Варианты визуализации данных Что вы хотите визуализировать? - линейная гистограмма. Распределение Одна переменная: Две переменные: - столбчатая гистограмма; - точечная диаграмма. Три переменные: - трёхмерная диаграмма. Взаимосвязь Две переменные: Три переменные: - точечная диаграмма. - пузырьковая диаграмма. По две переменные на один предмет: Сравнение Среди предметов: - столбчатая диаграмма переменной ширины. Одна переменная на предмет: Много категорий: - таблица или таблица со встроенными графиками. Немного категорий: Много предметов: Немного предметов: - гистограмма. - столбчатая диаграмма. Во времени: Много периодов: Цикличные данные: - круговая диаграмма. Нецикличные данные: - линейная диаграмма. Немного периодов: Одна или несколько категорий: - столбчатая диаграмма. Много категорий: - линейная диаграмма. Относительные и абсо- лютные различия: Структура Статическая: Простая доля от общего: - круговая диаграмма. Влияние на итог: - каскадная диаграмма. Подкомпоненты и компоненты: - столбчатая диаграмма с накоплением 100% с подкомпонентами. Динамическая: Немного периодов: Только относительные: значения: - столбчатая диаграмма с накоплением 100%. - столбчатая диаграмма с накоплением. Много периодов: Только относительные: значения: - диаграмма с накоплением 100%. Относительные и абсолют- ные различия: - диаграмма с накоплением. Интеллектуальный анализ данных 120 8. НЕЙРОСЕТЕВЫЕ ПОДХОДЫ И ГЛУБОКОЕ ОБУЧЕНИЕ Нейросетевой аппарат достаточно широко применяется при ре- шении самых различных задач классификации, прогнозирования, оценки плотности распределения и др. Базовые понятия искус- ственных нейронных сетей со схемой формального нейрона, архи- тектурой многослойного персептрона и алгоритмом обучения на основе обратного распространения ошибки, рассмотрены выше в разд. 6.3.3. Однако, в последнее время именно нейросетевой подход (в оче- редной раз!) получает дополнительную популярность и практиче- ское распространение, позволяя на практически значимом уровне решать сложные задачи. 8.1. Функции активации Нейронная сеть, как и любой другой обучаемый алгоритм, при- нимает на входе некоторые данные, а на выходе отдает ответ. Вход- ные данные представляют собой числовой вектор, который на рис. 14 представлен множеством {𝑥 1 … 𝑥 𝑛 }. По аналогии с принципами работы биологического нейрона сигналы, проходящие через связи между нейронами (синапсами), меняются, становясь слабее или сильнее. Этот фактор в концепции нейрона можно выразить числом, называемым весом. В схеме ис- кусственного нейрона веса обозначены {𝑤 1 . . . 𝑤 𝑛 } . Таким образом, поступившие на вход сигналы (входные данные) умножаются на свои веса: сигнал первого входа 𝑥 1 умножается на соответствую- щий этому входу вес 𝑤 1 и так для каждого из 𝑛 входов. Сумматор, как понятно из названия, представляет собой фор- мулу следующего вида: 𝑥 1 𝑤 1 + 𝑥 2 𝑤 2 + ⋯ + 𝑥 𝑛 𝑤 𝑛 = ∑ 𝑥 𝑖 𝑤 𝑖 𝑛 𝑖=1 (8.1) 8. Нейросетевые подходы и глубокое обучение 121 Результатом работы сумматора является так называемая взве- шенная сумма, обозначенная на схеме как 𝑛𝑒𝑡. Полученная взве- шенная сумма подается на вход активационной функции φ(𝑛𝑒𝑡) (рис. 29), которая преобразует входной сигнал в итоговый ответ сети. Для разных типов нейронной сети используют самые разные функции активации. Рис. 29. Графики активационных функций Основные виды функций активации: 1. Пороговая. 2. Линейная. 3. Логистическая. пороговая линейная сигмоидная гиперболический тангенс Интеллектуальный анализ данных 122 4. Сигмоида: – гиперболический тангенс; – радиально-базисная. 5. ReLu. Пороговая активационная функция: 𝑓(𝑥) = { 0, 𝑥 < 0 1, 𝑥 ≥ 0 (8.2) Линейная активационная функция: 𝑓(𝑥) = { 𝑈, 𝑥, 1, 0 ≤ 𝑥 < 𝑈 𝑥 < 1 𝑥 ≥ 0 (8.3) Сигмоидальная активационная функция: 𝑓(𝑥) = 1 1+𝑒 −α𝑥 , (8.4) где α – коэффициент наклона сигмоиды. Гиперболический тангенс: 𝑓(𝑥) = 𝑒 α𝑥 −𝑒 −α𝑥 𝑒 α𝑥 −𝑒 −α𝑥 , (8.5) где α – коэффициент наклона сигмоиды. Радиально-базисная активационная функция (рис. 30): 𝑓(𝑥) = 𝑒 − 𝑥2 σ2 , (8.6) где σ – ширина окна. Рис. 30. Графики радиально-базисных активационных функций радиально-базисная ReLu 8. Нейросетевые подходы и глубокое обучение 123 ReLu: 𝑓(𝑥) = { 0, 𝑥, 𝑥<0 𝑥≥0 (8.7) 8.2. Основные типы искусственных нейронных сетей Помимо использования различных функций активации, преобра- зующих совокупность входных сигналов в ответ, сети отличаются и способами связи нейронов между собой (топологией). На схеме представлены основные типы нейронных сетей (рис. 31). Рис. 31. Основные типы искусственных нейронных сетей Сети прямого распространения. В сетях прямого распростра- нения сигналы идут строго от входного слоя к выходному. В об- ратно направлении сигнал не распространяется. В случае однослойной сети сигналы с входного слоя сразу пода- ются на выходной, производящий все вычисления, результаты ко- торых сразу отдаются на выход в качестве ответа сети. Такие сети широко используются для решения определенного класса задач: Сети прямого распространения Сети рекурентные / с обратной связью Нейронная сеть Персептр он Сеть радиально базисных функций Сверточная нейронная сеть Многослойный Long Short-Term Memory Сеть Джордана Сеть Элмана Сеть Хэминга Самоорганизующаяся карта Кохонена Сеть Холфилда Однослойный Интеллектуальный анализ данных 124 прогнозирование, кластеризация и распознавание. На рис. 31 при- веден пример именно такой архитектуры ИНС. Сеть радиально-базисных функций (рис. 32) использует ради- ально-базисную активационную функцию. Общий вид радиально- базисной функции: 𝑓(𝑥) = φ ( 𝑥 2 σ 2 ), (8.8) где𝑥– вектор входных сигналов нейрона,σ – ширина окна функ- ции,φ – убывающая функция, например: 𝑓(𝑥) = 𝑒 − 𝑥2 σ2 . (8.9) Рис. 32 Схема сети радиально-базисных функций Радиально-базисные сети характеризуются следующими особен- ностями: – моделирует произвольную нелинейную функцию с помощью всего одного промежуточного слоя, тем самым избавляя разработ- чика от необходимости решать вопрос о числе слоев; – параметры линейной комбинации в выходном слое можно полностью оптимизировать с помощью известных методов линей- ной оптимизации, которые работают быстро и не испытывают труд- ностей с локальными минимумами, так мешающими при обучении с использованием алгоритма обратного распространения ошибки. Поэтому сеть РБФ обучается очень быстро – на порядок быстрее, чем с использованием алгоритма с обратной связью. 8. Нейросетевые подходы и глубокое обучение 125 Рекуррентные сети (с обратным распространением). Сигнал между нейронами может ходить не только в одном направлении от входа к выходу, но также и в обратную сторону. Это особенности сетей с обратной связью, где сигнал с выходных нейронов или нейронов скрытого слоя передается (возможно частично) обратно на входы нейронов входного слоя (обратная связь). Наличие обратных связей позволяет запоминать и воспроизводить целые последовательности реакций на один стимул, что дает возмож- ность решать задачи компрессии данных и построения ассоциатив- ной памяти. На рис. 33 изображена схема сети с обратной связью. Рис. 33. Схема сети с обратной связью В общем случае алгоритм обучения нейронной сети с обратной связью можно описать следующим образом: Шаг 0. Начальные значения весов всех нейронов полагаются случайными: 𝑊(𝑡 = 0) Шаг 1. Сети предъявляется входной образ 𝑥 α , в результате фор- мируется выходной образ: 𝑦 ′α ≠ 𝑦 α 𝑥 1 𝑥 2 𝑥 3 𝑦 1 𝑦 2 𝑦 3 𝓌 21 𝓌 31 𝓌 32 𝓌 12 𝓌 13 𝓌 23 Интеллектуальный анализ данных 126 Шаг 2. Вычисляется вектор ошибки, делаемой сетью на выходе. Дальнейшая идея состоит в том, что изменение вектора весовых ко- эффициентов в области малых ошибок должно быть пропорцио- нально ошибке на выходе и равно нулю, если ошибка равна нулю. δ α = (𝑦 ′α − 𝑦 α ). Шаг 3. Вектор весов модифицируется по следующей формуле: W(𝑡 + ∆𝑡) = 𝑊(𝑡) + η × 𝑥 α × (δ α ) 𝑇 × Градиент(), где η – темп обучения (learning rate), 0 < η < 1, а ошибка δ α пере- дается на предыдущий слой. Шаг 4. Шаги 1–3 повторяются для всех обучающих векторов. Один цикл последовательного предъявления всей выборки называ- ется эпохой. Обучение завершается по истечении нескольких эпох: а) когда итерации сойдутся, т.е. вектор весов перестает изме- няться, или б) когда полная просуммированная по всем векторам абсолют- ная ошибка станет меньше некоторого малого значения. На рис. 34 изображена схема сети Хопфилда. Рис. 34. Схема сети Хопфилда 𝑥 1 𝑥 2 𝑥 3 𝑦 1 𝑦 2 𝑦 3 𝑦 4 𝑥 4 8. Нейросетевые подходы и глубокое обучение 127 Особенности: – каждый нейрон имеет связь с выходом остальных нейронов, но не имеет связи со своим выходом; – каждый вектор будет принимать бинарные значения (напри- мер, –1; +1); – размерность векторов X и Y идентичная (n); – «фильтрует» входные данные, возвращаясь к устойчивому состоянию; – вместо последовательного приближения к нужному состоя- нию с вычислением ошибок все коэффициенты матрицы рассчиты- ваются по одной формуле, за один цикл, после чего сеть сразу готова к работе; – число запоминаемых образов m ≤ 0,15 × n (приближенно). |