Интеллектуальный анализ данных
Покупка
Новинка
Основная коллекция
Тематика:
Программирование и алгоритмизация
Издательство:
Инфра-Инженерия
Год издания: 2024
Кол-во страниц: 172
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
Профессиональное образование
ISBN: 978-5-9729-1772-3
Артикул: 842393.01.99
Показаны технологии интеллектуального анализа данных. Особое внимание уделено задачам кластеризации и классификации. Приводится характеристика методов, алгоритмов и этапы решения этих задач с закреплением полученных знаний в виде выполнения лабораторных работ. Для студентов, обучающихся по направлениям подготовки укрупненной группы «Информатика и вычислительная техника», а также смежным направлениям подготовки и специальностям: «Прикладная математика и информатика», «Системный анализ и управление», «Прикладная математика». Может быть полезно аспирантам и научным работникам, которые в своей деятельности используют модели и методы искусственного интеллекта.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 01.03.04: Прикладная математика
- 03.03.02: Прикладная математика и информатика
- 27.03.03: Системный анализ и управление
- ВО - Магистратура
- 01.04.02: Прикладная математика и информатика
- 01.04.04: Прикладная математика
- 27.04.03: Системный анализ и управление
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Т. М. Татарникова ИНТЕЛЛЕКТУАЛЬНЫЙ АНАЛИЗ ДАННЫХ Учебное пособие Москва Вологда «Инфра-Инженерия» 2024
УДК 004.4 ББК 32.973 Т23 Рецензенты: доктор технических наук, доцент, ректор государственного университета телекоммуникаций им. проф. М. А. Бонч-Бруевича Киричек Руслан Валентинович; доктор технических наук, профессор, первый проректор государственного университета морского и речного флота имени адмирала С. О. Макарова Каретников Владимир Владимирович Татарникова, Т. М. Т23 Интеллектуальный анализ данных : учебное пособие / Т. М. Татарникова. – Москва ; Вологда : Инфра-Инженерия, 2024. – 172 с. : ил., табл. ISBN 978-5-9729-1772-3 Показаны технологии интеллектуального анализа данных. Особое внимание уделено задачам кластеризации и классификации. Приводится характеристика методов, алгоритмов и этапы решения этих задач с закреплением полученных знаний в виде выполнения лабораторных работ. Для студентов, обучающихся по направлениям подготовки укрупненной группы «Информатика и вычислительная техника», а также смежным направлениям подготовки и специальностям: «Прикладная математика и информатика», «Системный анализ и управление», «Прикладная математика». Может быть полезно аспирантам и научным работникам, которые в своей деятельности используют модели и методы искусственного интеллекта. УДК 004.4 ББК 32.973 ISBN 978-5-9729-1772-3 Татарникова Т. М., 2024 Издательство «Инфра-Инженерия», 2024 Оформление. Издательство «Инфра-Инженерия», 2024
ОГЛАВЛЕНИЕ ПРЕДИСЛОВИЕ .......................................................................................................... 5 1. ВВЕДЕНИЕ В АНАЛИЗ ДАННЫХ ...................................................................... 8 1.1. Общие понятия анализа данных ..................................................................... 8 1.2. Шкалирование данных .................................................................................. 12 1.3. Типичные задачи анализа данных ................................................................ 14 1.4. Этапы анализа данных ................................................................................... 15 Контрольные вопросы ............................................................................................... 18 2. КЛАСТЕРНЫЙ АНАЛИЗ .................................................................................... 19 2.1. Постановка задачи кластерного анализа ..................................................... 19 2.2. Меры расстояний в кластеризации ............................................................... 20 2.3. Методы кластерного анализа ........................................................................ 24 2.3.1. Иерархические алгоритмы кластерного анализа ................................. 24 2.3.2. Пример иерархической кластеризации ................................................. 33 2.3.3. Неиерархические методы кластерного анализа ................................... 39 2.3.4. Пример применения неиерархической кластеризации ....................... 46 2.4. Оценка качества кластеризации ................................................................... 48 Контрольные вопросы ............................................................................................... 54 3. КЛАССИФИКАЦИЯ ............................................................................................ 55 3.1. Постановка задачи классификации .............................................................. 55 3.2. Оценки эффективности моделей классификации ....................................... 59 3.3. Методы решения задачи классификации ..................................................... 62 3.3.1. Деревья решений ..................................................................................... 63 3.3.2. Случайный лес ......................................................................................... 72 3.3.3. Линейный метод опорных векторов ..................................................... 77 3.3.4. Метод «ближайшего соседа» ................................................................ 79 Контрольные вопросы ............................................................................................... 81 4. ИСКУССТВЕННЫЕ НЕЙРОННЫЕ СЕТИ ........................................................ 83 4.1. Основные понятия .......................................................................................... 83 4.2. Нейронная сеть прямого распространения .................................................. 89 4.2.1. Архитектура нейронной сети прямого распространения ................... 89 4.2.2. Обучение нейронной сети прямого распространения ......................... 91 4.2.3. Пример использования нейронной сети прямого распространения ................................................................................................ 94 4.3. Нейронная сеть Хопфилда ............................................................................ 98 4.3.1. Архитектура нейронной сети Хопфилда .............................................. 99 4.3.2. Обучение нейронной сети Хопфилда ................................................. 100 4.3.3. Пример использования нейронной сети Хопфилда .......................... 102 4.4. Сверточная нейронная сеть (CNN) ............................................................ 107 4.4.1. Архитектура сверточной нейронной сети .......................................... 109 4.4.2. Обучение сверточной нейронной сети ............................................... 115 4.4.3. Пример использования сверточной нейронной сети ......................... 115 4.5. Нейронная сеть Кохонена............................................................................ 117 3
4.5.1. Архитектура нейронной сети Кохонена ............................................. 118 4.5.2. Обучение нейронной сети Кохонена .................................................. 119 4.5.3. Пример использования нейронной сети Кохонена ............................ 124 4.6. Рекуррентные нейронные сети ................................................................... 127 4.6.1. Архитектура рекуррентной нейронной сети ...................................... 127 4.6.2. Обучение рекуррентной нейронной сети ........................................... 130 4.6.3. Пример использования рекуррентной нейронной сети .................... 132 5. ЛАБОРАТОРНЫЕ РАБОТЫ ............................................................................. 141 Лабораторная работа 1. Предобработка данных .................................................. 142 Лабораторная работа 2. Кластерный анализ ......................................................... 144 Лабораторная работа 3. Классификация ............................................................... 148 Лабораторная работа 4. Нейронная сеть прямого распространения ................. 154 Лабораторная работа 5. Распознавание образов .................................................. 156 Лабораторная работа 6. Кластеризация нейронной сетью кохонена ................. 161 ЗАКЛЮЧЕНИЕ ....................................................................................................... 164 ЛИТЕРАТУРА ......................................................................................................... 169 4
ПРЕДИСЛОВИЕ Интеллектуальный анализ данных – это научное направление, нацеленное на изучение и применение на практике методов извлечения информации из большого объема данных, поиска закономерностей, паттернов, знаний, на основе которых принимаются решения в области решаемых задач. В анализе данных нет строгого математического аппарата, как например в статистике, то есть отсутствует конечный набор базовых функций для решения задач. Для анализа больших объемов разнородных данных привлекается разнообразный математический аппарат, достижения в области компьютерных технологий, формализованные и неформализованные методы количественного и качественного анализа данных. В зарубежной литературе область анализа данных известна под названием Data Science – науки о данных – мультидисциплинарной области, которая охватывает все этапы работы с данными и ориентированная в первую очередь на получение практических результатов. Отличие Data Science от традиционных, например, статистических и OLAP методов заключается в том, что традиционные методы анализа данных направлены на проверку заранее сформулированных гипотез и на предварительный, так называемый, разведочный анализ, в то время как Data Science подразумевает поиск неочевидных закономерностей. При этом закономерности ищутся автоматически, что уже в последствии позволяет строить гипотезы о взаимосвязях данных, характеризующих изучаемые объекты или процессы. При всех достоинствах Data Science нельзя утверждать, что его методы и средства могут полностью заменить аналитика. Основная причина в том, что модели анализа данных не могут решить те задачи, решению которых они еще не обучены. Но, в основном, Data Science предоставляет мощный набор инструментов, делающий работу аналитика эффективней. Решение задачи анализа данных подразумевает сотрудничество между аналитиком – экспертом в предметной области и специалистом – программистом, реализующим метод и/или модель анализа данных с применением соответствующих инструментов. Роль аналитика заключается в реализации качественной предобработки данных и выборе модели анализа данных. Процесс предобработки может занять до 80 % времени всего процесса анализа данных – это структурирование (приведение данных к табличному виду), очистка (удаление шумов, выбросов, пропусков), трансформирование (нормализация, кодирование). Несмотря на то, что с помощью анализа данных можно найти действительно ценную информацию, нельзя не учитывать того факта, что можно сделать и ложные, не имеющие смысла открытий. Во избежание этого, необходима проверка адекватности полученных моделей на тестовых данных, а также осуществлять контроль значимости обнаруженных знаний. Инструменты, предлагаемые на рынке программного обеспечения, учитывают мультидисциплинарность анализа данных. Распространенными на текущий 5
момент являются пакеты Stata, SPSS, Statistica, MatLab со встроенным языком программирования, а также специализированные языки программирования Python и R. Минимальный набор методов анализа данных, включенных практически во все пакеты это: − описательная статистика; − дисперсионный анализ; − обработка данных; − кластерный анализ; − факторный анализ; − дискриминантный анализ; − регрессионный анализ; − анализ временных рядов и прогнозирование: − некоторые методы машинного обучения. Python и R являются языками программирования с открытым исходным кодом, которые можно использовать бесплатно. Язык программирования R предназначен специально для статистических и графических вычислений и поддерживает множество операций для машинного обучения. В репозитарии CRAN языка R хранится более 10 000 пакетов, разнообразные библиотеки для обработки данных, например для преобразования неструктурированных данных в структурированную форму, и для анализа данных, например, классификации, регрессии, кластеризации и многих других. R постоянно развивается – обновление происходит, как только выпускается новый алгоритм анализа данных. Python – это язык программирования общего назначения, что позволяет использовать его в различных задачах разработки программного обеспечения. Язык предоставляет множество библиотек для анализа данных. Также Python включает в себя современные API-интерфейсы, такие как TensorFlow, pytorch, keras, numpy, полезные при создании моделей машинного обучения, например, искусственных нейронных сетей, леса деревьев решений и других. Учебное пособие предназначено для студентов, обучающихся по направлениям подготовки укрупненной группы «Информатика и вычислительная техника». При написании материала автор сделал акцент на модельную и алгоритмическую составляющие при изложении вопросов, связанных с анализом данных и машинным обучением. Книга включает в себя пять разделов, введение, заключение, контрольные вопросы по каждой теме разделов и список рекомендованной литературы. В первом разделе учебного пособия даны общие понятия анализа данных. Рассматривается формат хранения данных, из которых в дальнейшем формируется обучающая выборка и записывается результат анализа. Обсуждается вопрос предварительной обработки данных, который включает такие процедуры, как очистка, кодирование, нормализация, стандартизация данных. Приводятся типы 6
шкал измерений признаков объекта, подвергаемых анализу, а также типичные задачи анализа данных и общая последовательность анализа данных. Второй раздел посвящен кластерному анализу. Приводится математическая формулировка задачи кластеризации и дана ее общая характеристика на уровне достоинств и недостатков с точки зрения получаемых результатов анализа данных. Рассматриваются меры расстояний при выполнении кластеризации, на основании которых принимается решение о принадлежности к тому или иному кластеру и удаленность кластеров друг от друга. Разбираются методы иерархического и неиерархического кластерного анализа с примерами решений и их визуализацией. Третий раздел знакомит читателей с задачей классификации, начиная от математической постановки задачи с дальнейшим описанием популярных методов и оценкой эффективности моделей классификации. Все рассматриваемые методы классификации сопровождаются примерами. В четвертом разделе обсуждается популярный инструмент анализа данных – искусственные нейронные сети. Рассмотрены пять популярных архитектур нейронных сетей, каждая из которых используется для решения вполне определенных задач: классификации, кластеризации, прогнозирования, распознавания образов. Приведена последовательность обучения и примеры использования каждой архитектуры. В пятом разделе собраны методические указания к выполнению лабораторных работ, которые предлагается выполнить для освоения пройденного материала по соответствующим темам учебного пособия: предобработка данных; кластерный анализ, проводимый методами иерархического и неиерархического кластерного анализа; классификация на готовых датасетах разными методами с последующим сравнением методов по предлагаемым метрикам качества классификации; изучение нейронной сети прямого распространения на примере выполнения операций интерполяции; изучение нейронной сети Хопфилда на примере распознавания образов и изучение нейронной сети Кохонена на примере решения задачи кластеризации. 7
1. ВВЕДЕНИЕ В АНАЛИЗ ДАННЫХ 1.1. Общие понятия анализа данных Анализ данных – это путь от извлечения данных к получению знаний, на основе которых принимается решение. В практическом смысле анализ данных – это путь от постановки задачи к готовому приложению, при поддержке которого можно принимать решения в проблемной области. Рассмотрим на рис. 1.1 уровни процесса анализа данных. Верхний – это уровень приложений – готовых программных решений анализа данных, например, мониторинг эффективности компании, система обнаружения киберугроз, система распознавания лиц и т. д. Принятие решений в приложении происходит автоматически на основе знаний. Средний – это уровень действий, таких как прогностическое моделирование, получение паттернов, определение связей между параметрами и другие. Именно на нем выявляется полезная информация – теоретический результат анализа данных. Нижний – это уровень определения типа задачи анализа данных, например, прогнозирования, классификации, кластеризации и постановка задачи с учетом определенного типа. Приложения Решения Мониторинг Работа с клиентами Распознавание объектов ... Действия Информация Прогностическое моделирование Анализ связей ... Сегментация данных Инструменты Данные Классификация Кластеризация Прогнозирование ... Рис. 1.1. Уровни процесса анализа данных Наиболее распространенным форматом хранения данных при их анализе является реляционная база данных (БД) – модель хранения, организованная в виде плоской таблицы. В табл. 1.1 приведен пример фрагмента структурированного набора данных об объектах, взятый с сайта https://www.kaggle.com/fivethirtyeight/uberpickups-in-new-york-city, на котором собраны данные о поездках для более чем 8
миллионов поездок Uber (и других автомобилей напрокат) в Нью-Йорке. Эти данные собирались для анализа эффективности компании и принятия соответствующих решений. Т а б л и ц а 1.1 Пример фрагмента структурированного набора данных Атрибуты Номер базы отправки Дата Число активных автомобилей Число поездок Уровень B02512 01.01.2015 190 1132 Очень низкий B02765 01.01.2015 225 1765 Очень низкий B02764 01.01.2015 3427 29421 Высокий B02682 01.01.2015 945 7679 Низкий Объекты B02617 01.01.2015 1228 9537 Средний B02765 03.01.2015 201 1526 Очень низкий B02617 03.01.2015 1188 10664 Средний B02598 03.01.2015 818 7432 Низкий B02682 03.01.2015 915 8010 Низкий Под объектом понимают запись, случай, пример, строку таблицы. Объект описывается набором атрибутов. В колонках таблицы располагаются атрибуты объекта или его признаки. В строках таблицы − объекты. Атрибут − признак, характеризующий объект. Например, в табл. 1.1 – это номер базы отправки, дата и т. д. Атрибут также называют переменной, полем таблицы, измерением, характеристикой. Таким образом, переходя к конкретным атрибутам, получают набор характеристик анализируемого объекта. Атрибут, в котором записано значение класса, к которому отнесен объект называется меткой класса. В табл. 1.1 таким атрибутом является «Уровень». Значение атрибута является проявлением признака (характеристики) конкретного объекта. Генеральная совокупность − вся совокупность объектов, интересующая аналитика данных. Аналитик данных (или дата-аналитик) – это специалист, который собирает, обрабатывает, изучает и интерпретирует данные. Его работа помогает принимать решения в бизнесе, управлении и науке. Выборка − определенным образом отобранная часть генеральной совокупности, с целью анализа и получения на ней выводов о свойствах и характеристиках генеральной совокупности. Размер выборки зависит от разнообразия объектов, представленных в генеральной совокупности. В выборке должны быть представлены различные комбинации и элементы генеральной совокупности. 9
Методы анализа данных работают только со структурированными данными. Структурирование – приведение данных к табличному виду. Создание базы данных является самостоятельным этапом анализа данных, требующим значительных временных затрат, а также неизбежно приводит к ошибкам, связанным с человеческим фактором. В базе данных могут присутствовать пропуски значений, некорректные данные и т. п. Тем не менее наличие и публикация таких баз данных на открытых источниках и репозитариях двигает вперед науку о данных, позволяя обучать и тестировать модели анализа данных на готовых примерах. При анализе данных, как правило, нет возможности рассмотреть всю исследуемую совокупность объектов. Изучение больших объемов данных является дорогостоящим процессом, поэтому бывает вполне достаточно рассмотреть некоторую выборку, и получить на ее основании интересующую информацию. Синонимом выборки в методах анализа данных являются такие понятия как множество обучающих примеров, обучающее множество, data set (датасет). Очистка данных – исключение записей из генеральной совокупности или выборки данных с отсутствующими или некорректными значениями. Параметры − числовые характеристики генеральной совокупности. Статистики − числовые характеристики выборки. Данные об объекте хранятся в виде его измеренных характеристик. Измерение − процесс присвоения характеристикам изучаемых объектов числовых значений согласно определенному правилу. Правило, в соответствии с которым характеристикам объекта присваиваются числовые значения, называются шкалой. Многие инструменты анализа данных при импорте данных из других источников предлагают выбрать тип шкалы для каждой характеристики объекта и/или выбрать тип данных, которые описывают эту характеристику, например, символьные, числовые, дискретные и непрерывные типы данных. Характеристика объекта может быть записана в виде числовых данных либо символьных. Числовые данные, в свою очередь, могут быть дискретными и непрерывными. Дискретные данные – это значения характеристики, которые могут быть подсчитаны и записаны в виде натуральных чисел от одного до бесконечности. Примером дискретных данных являются характеристика продолжительности маршрута троллейбусов, количество вариантов которой конечно: 10, 15, 25 мин. Непрерывные данные – это любые значения в некотором интервале, их измерение предполагает высокую точность. Примерами непрерывных данных являются характеристики температуры, высоты, веса, длины и т. д. Символьные данные при использовании методов анализа данных, как правило, кодируются в числовой вид. Кодирование – это представление символьных данных в числовой форме. Например, при бинарной классификации один из классов можно представить числом «0», а другой класс – числом «1». При множественной классификации 10