Text
                    Л. А. Мыльников
ЕЖЩЬО
Санкт-Петербург «БХВ-Петербург» 2021



УДК 004.6+519.2 ББК 32.81+22.172 М94 Мыльников Л. А. М94 Статистические методы интеллектуального анализа данных. — СПб.: БХВ-Петербург, 2021. — 240 с.: ил. ISBN 978-5-9775-6733-6 Рассмотрены основные методы статистической обработки данных и машинного обучения и их реализация на языке R. Изложены принципы разработки информационных систем и моделей, основанных на данных. Приведены примеры использования методов машинного обучения при решении прикладных задач. Рассмотрены подготовка данных, работа с временными рядами, методы классификации и кластеризации, способы обучения (с учителем, без учителя, с подкреплением), классические методы интеллектуального анализа данных, способы проверки адекватности получаемых моделей, их сравнения и выбора. В конце разделов приведены вопросы для самоконтроля и задания. Материал соответствует курсам «Статистические методы интеллектуального анализа данных» и «Интеллектуальные системы» при подготовке магистрантов по направлению «Автоматизация технологических процессов и производств». Исходные данные и коды всех примеров на языке R могут быть скачаны с сайта издательства. Для инженеров, исследователей, студентов технических специальностей, преподавателей и аспирантов УДК 004.6+519.2 ББК 32.81+22.172 Группа подготовки издания: Руководитель проекта Зав. редакцией Компьютерная верстка Дизайн обложки Евгений Рыбаков Екатерина Сависте Ольги Сергиенко Карины Соловьевой Подписано в печать 01 10 20 Формат 70x1001/i6 Печать офсетная Усл печ л 19,35 Тираж 1000 экз Заказ № 12251 "БХВ-Петербург1', 191036, Санкт-Петербург, Гончарная ул , 20 Отпечатано с готового оригинал-макета ООО "Принт-М", 142300, М О , г Чехов, ул Полиграфистов, д 1 ISBN 978-5-9775-6733-6 ©ООО "БХВ", 2021 © Оформление ООО "БХВ-Петербург", 2021
Оглавление Предисловие от автора 7 Введение 11 Глава 1. Общие вопросы работы с данными 15 1.1. Выбор данных 16 1.2. Очистка данных 18 1.3. Проблема недостающих значений 19 1.4. Уменьшение размерности данных и выделение атрибутов 20 1.5. Визуализация данных 22 1.6. Обнаружение выбросов данных 23 1.7. Модель CRISP 25 1.8. Модель SEMMA 27 1.9. Вопросы для самоконтроля 28 Глава 2. Временные ряды 29 2.1. Понятие временного ряда 29 2.2. Постановка задачи приближения функций 30 2.3. Интерполяция функций 32 2.3.1. Интерполяционные формулы для неравноотстоящих точек 32 2.3.1.1. Интерполяционная формула Лагранжа 32 2.3.1.2. Формула Ньютона для неравноотстоящих узлов 33 2.3.2. Интерполяционные формулы для равноотстоящих точек 34 2.3.2.1. Конечные разности 34 2.3.2.2. Первая интерполяционная формула Ньютона 35 2.3.2.3. Вторая интерполяционная формула Ньютона 36 2.3.3. Интерполяция сплайнами 37 2.4. Экстраполяция функций (регрессионные модели) 38 2.4.1. Основы регрессионного анализа 38 2.4.2. Меры близости (метрики) 41 2.4.3. Метод наименьших квадратов 43 2.4.3.1. Марковские оценки или обобщенный МНК 44 2.4.4. Использование рядов в задачах приближения функций (вейвлет-анализ) 45 2.4.5. Метод опорных векторов для решения задач регрессии 48
2.4.6. Использование фрактальных методов для прогнозирования 50 2.4.7. Метод £NN для решения задач регрессии 53 2.4.8. Множественные регрессионные модели 53 2.4.8.1. Метод частичных наименьших квадратов (PLS) 54 2.4.8.2. Метод lasso 55 2.4.9. Динамические регрессионные модели 56 2.5. Авторегрессионные модели 59 2.5.1. Понятие стационарности временного ряда 59 2.5.2. Модели стационарных временных рядов 62 2.5.3. Модель проинтегрированного скользящего среднего (модель Бокса — Дженкинса) 63 2.6. Корреляция 65 2.7. Метод динамической трансформации временной шкалы (евклидово расстояние и Лр-норма) 66 2.8. Обучение с подкреплением в задачах прогнозирования временных рядов (reinforcement learning) 69 2.9. Вопросы для самоконтроля 70 2.10. Задания для самостоятельной работы 70 Глава 3. Кластеризация и классификация 73 3.1. Классификация 75 3.1.1. Метод опорных векторов 75 3.1.2. Метод &NN 78 3.2. Классификация с подкреплением 79 3.2.1. Метод самообучения 79 3.2.2. Алгоритмы на основе теории графов 81 3.2.3. Генеративные модели 84 3.3. Кластеризация с подкреплением 86 3.3.1. Метод к средних (Zr-means) 86 3.3.2. Метод коэффициентов производительности к средних (COP-^-means) 87 3.3.3. Метод парных ограничений к средних (PCKMeans) 87 3.4. Кластеризация 89 3.4.1. Оценка максимального правдоподобия (ЕМ-алгоритм) 89 3.5. Повышение эффективности методов классификации и кластеризации (AdaBoost-ал горитм) 92 3.6. Вопросы для самоконтроля 94 3.7. Задания для самостоятельной работы 94 Глава 4. Интеллектуальные технологии 95 4.1. Машина Тьюринга 95 4.2. Элементы теории автоматов 97 4.2.1. Введение в теорию автоматов как элемент интеллектуальных систем 98 4.2.2. Основы теории автоматов 104 4.3. Сети Петри 106 4.4. Нейронные сети 110 4.4.1. Обучение нейронной сети 116 4.4.1.1. Обучение с учителем 117 4.4.1.2. Обучение без учителя 121 4.4.2. Сети Кохонена (самоорганизующиеся карты Кохонена) 126
4.5. Когнитивные карты 128 4.6. Алгоритм поиска ассоциативных правил (алгоритм Apriori) 133 4.7. Алгоритм ссылочного ранжирования (PageRank алгоритм) 136 4.8. Экспертные системы 142 4.8.1. Логика предикатов 144 4.8.2. Продукционные экспертные системы 144 4.8.3. Нейлоровская диагностирующая экспертная система 145 4.8.4. Фреймовые экспертные системы 146 4.8.5. Экспертные системы на основе матрицы признаков 148 4.9. Предиктивные модели (Model Predictive Control) 149 4.10. Логистическая регрессия 150 4.11. Деревья решений 153 4.11.1. CART-алгоритм (деревья регрессии) 157 4.11.2. Алгоритм С4.5 158 4.12. Наивный байесовский классификатор 161 4.13. Вопросы для самоконтроля 164 4.14. Задания для самостоятельной работы 164 Глава 5. Оценка качества и сравнение моделей 167 5.1. Проверка адекватности в задачах регрессии (критерии согласия) 167 5.1.1. Визуальный анализ и оценка отклонений (Ьох-диаграммы) 168 5.1.2. Законы распределения 169 5.1.2.1. Нормальный закон распределения (закон Гаусса) 170 5.1.3. Качественные критерии оценки 171 5.1.3.1. Критерий Пирсона (критерий %2) 171 5.1.3.2. Критерии согласия Колмогорова и Колмогорова — Смирнова 173 5.1.4. Количественные критерии согласия 174 5.1.4.1. Критерий Фишера (Г-критерий) 174 5.1.4.2. Критерий Стьюдента (/-критерий) 175 5.2. Метрики в задачах идентификации (кластеризации и классификации) 177 5.2.1. Оценка точности, Г-мера 178 5.2.2. ROC-кривая 179 5.2.3. Логистическая функция потерь 180 5.2.4. Общие рекомендации при работе с метриками 181 5.3. Вопросы для самоконтроля 181 5.4. Задания для самостоятельной работы 181 Глава 6. Использование методов статистической обработки данных и машинного обучения в задачах управления и планирования 183 6.1. Использование статистических данных и методов регрессии для получения характеристических кривых систем управления и технологических процессов, учитывающих их особенности 183 6.1.1. Повышение эффективности работы центральной котельной за счет учета инертности системы теплоснабжения и данных прогноза уличной температуры 183 6.1.2. Выбор оптимальных режимов работы группы паровых котлов для достижения целевых показателей производительности на основе характеристических кривых, полученных и уточняемых на данных статистики в процессе работы 189
6.2. Предиктивное управление и использование прогнозов в задачах управления и планирования 196 6.2.1. Повышение эффективности индивидуального теплового пункта за счет учета инертности протекающих процессов и использования прогнозов 196 6.2.2. Формирование производственного портфеля с учетом рыночных факторов на основе предсказания спроса и цены 209 6.2.3. Решение задачи планирования закупок на основе прогноза спроса продукции 212 6.3. Методы машинного обучения в задачах управления 215 6.3.1. Поиск мошенников в магазинах по косвенным признакам 215 6.3.2. Задача укладки в условиях усадки элементов на примере операции жакетирования при производстве оптоволокна 218 6.4. Вопросы для самоконтроля 224 6.5. Задания для самостоятельной работы 224 Заключение 225 Приложение 1. Программное обеспечение для анализа данных 227 Приложение 2. Источники статистических данных 229 Список литературы 231 Предметный указатель 237
Предисловие от автора Тематика, связанная с обработкой данных, их анализом и приятием решений, стала в последние годы чрезвычайно популярной. Однако многообразие тем и подходов, которые охватывают область, получившую название Data Science, настолько велико, что мы наблюдаем разнообразие предметных знаний, приписываемых складывающейся дисциплине. В связи с этим возникла необходимость появления книги, в которой с точки зрения единого системного подхода рассмотрена большая часть сложившихся методов и обозначены области и способы их применения. Помимо методологического аспекта сложились и объективные причины повышенного интереса к тематике, связанной с обработкой данных. В настоящее время мы наблюдаем усложнение устройств и систем, описывать работу которых математическими моделями для изучения принципов их функционирования и поиска управленческих решений становится все сложнее на фоне экспоненциального роста объема собираемой информации, которая становится необозримой для человека, повышаются требования к качеству управления и принимаемых решений. Конкуренция большинства производственных систем за счет повышения универсальности оборудования переходит в область конкуренции качества принимаемых решений за счет учета особенностей конкретного оборудования, условий работы (в том числе внешних факторов) и организационных процессов. В связи с быстрым развитием области, которой посвящена книга, уже выпущенная литература быстро устаревает. Книги, которые вышли 5-7 лет назад и ранее, считаются устаревшими как с точки зрения наполнения материалом, так и предлагаемых подходов к решению задач управления и планирования, а учитывая, что в данной области превалируют переводные издания (оригинальные версии которых готовились к изданию 3 года назад и более), можно говорить о недостатке актуальной литературы на русском языке. Все это стало предпосылками к написанию данной книги. В книге собраны теория по всем получившим широкое распространение методам, используемым для работы с данными, и учебные примеры их использования на языке R. Набор описываемых методов покрывает широкое ’’поле” смежных областей (статистики, информационных технологий, машинного обучения, добычи дан¬
8 Предисловие от автора ных, областей, связанных со сферой их практического применения) и позволяет представить общую картину того, что на сегодняшний день имеется в области эмпирических подходов для решению задач управления и планирования, а также использовать книгу в качестве справочника по методам и их применению на языке R. В книге рассмотрены несколько крупных областей, связанных с работой с временными рядами, задачами классификации и кластеризации, использованием интеллектуальных систем, задачами анализа данных для поддержки принятия управленческих решений, и примеры их использования в задачах управления и планирования. Наполнение соответствует курсам ’’Статистические методы интеллектуального анализа данных” и ’’Интеллектуальные системы” при подготовке магистрантов по направлению ’’Автоматизация технологических процессов и производств”. В конце глав приведены вопросы для самоконтроля и задания, которые помогут закрепить приведенный материал и могут быть использованы при проведении практических и лабораторных работ. Используемые для расчетов данные и файлы программ прикладываются в электронном виде и размещены на сайте издательства www.bhv.ru на странице книги. Электронный архив также можно скачать по ссылке ftp://ftp. bhv.ru/9785977567336.zip Книга ориентирована на студентов, изучающих упомянутые выше курсы; работа с книгой позволит им выполнять практические и лабораторные работы по курсу, а также подготовиться к экзаменам. Издание может быть полезно ИТ-специалистам и специалистам в области автоматизации и управления предприятиями, задействованным в процессах использования и внедрения цифровых технологий управления в производственных процессах и процессах планирования производственной деятельностью. Знакомство с книгой позволит применить типовые решения для автоматизации предприятий, а также за счет повышения уровня грамотности в предметной области выбирать методы и подходы для решения задач и оценивать потенциальный эффект от их использования в практической деятельности. Книга не смогла бы состояться, если бы в течение многих лет мне не приходилось сталкиваться с разными аспектами тематики, рассмотренной в книге. Как преподаватель Пермского национального исследовательского политехнического университета я веду такие дисциплины, как "Статистические методы интеллектуального анализа данных” и "Интеллектуальные системы”, которые вызывают живой интерес у аудитории, а многие студенты выражают заинтересованность в рассматриваемых на занятиях темах и используют полученные знания при подготовке своих выпускных квалификационных работ, участвуют в международных конкурсах по анализу данных. С другой стороны, мне посчастливилось заниматься реализацией программы двойного диплома с факультетом информатики и языков Университета прикладных наук Анхальт по направлению "Информационный менеджмент”, в результате чего преподаватели обоих университетов посещали лекции друг друга, знакомились со статьями и выпускными работами студентов. Результатом такого общения стал обмен знаниями и информацией. Это непосредственно повлияло на мои взгляды на предмет представляемой книги и подбор материала для нее.
Предисловие от автора 9 Часть представляемого в издании материала была получена в результате выполнения исследовательских и хозяйственно-договорных работ. В частности, совместно с коллегами из УПН Анхальт в 2016-2018 гг. был реализован проект ’’Разработка программного обеспечения и экономико-математических моделей для поддержки процессов управления инновационными проектами в производственных системах” (на основании постановления правительства Пермского края от 06.04.2011 №166-п), результаты которого во многом опираются на методы обработки данных и применение адаптивных моделей. Таким образом, предлагаемое издание является результатом эволюции авторских взглядов на описываемый предмет, а также опирается на авторские результаты в исследовательской деятельности. Автор благодарит своих студентов за апробацию материалов, вошедших в книгу, особенно студентов групп ИСУП-17м и ИСУП-18м электротехнического факультета Пермского национального исследовательского политехнического университета. Отдельно стоит отметить студентов, выполнявших свои выпускные квалификационные работы под руководством автора: Александру Селедкову, Михаила Куликова, Наталью Гергель, Михаила Садиахматова, Антона Сидорова, Владислава Носкова, Дмитрия Вершинина, Алексея Морозова, Артура Михайлова которые использовали описанные методы при выполнении вычислительных частей работы и из вопросов которых становились понятны наиболее ценные темы, которые было необходимо включить в книгу и наиболее доступная форма представление материала. Отдельное спасибо стоит выразить коллегам из УПН Анхальт профессору Бернду Краузе, профессору Мартину Кютцу, профессору Корине Баде, а также профессору Р. А. Файзрахманову из ПНИПУ и доктору Михаэлю Тессу, чьи идеи без сомнения сделали издание лучше. А также семье за поддержку и терпение! Л. А. Мыльников
Введение Современный анализ данных — это быстро развивающаяся дисциплина, интегрировавшая в себя множество знаний, полученных исторически в разных предметных областях. Задачей анализа данных как дисциплины является получение новых знаний для принятия управленческих решений в рассматриваемой предметной области. В настоящее время под анализом данных понимают три специальные области работы с данными: □ описательная аналитика (ее целью является отображение и объяснение имеющихся данных); □ прогностическая аналитика (ее целью является прогнозирование данных); □ предписывающая аналитика (данная предметная область сосредоточена на выработке рекомендаций). Они сложились на пересечении нескольких областей знаний и объединяют данные и знания исследуемой предметной области, математики и компьютерных наук (рис. В1). Значимость предмета в современном мире определяется следующими факторами: □ наблюдается стремительный рост количества устройств съема информации (датчиков) в повседневной жизни, появление множества ’’умных” устройств, что приводит к росту объемов собираемой информации; □ происходит накопление данных, появление критического размера которых позволяет получать новые знания и делать выводы1. 1 Например, известно, что датский астроном эпохи Возрождения Тихо Браге (1546-1601) в течение длительного времени фиксировал положение наблюдаемых им планет, которое не мог объяснить с помощью известных моделей своего времени. Его ассистент и помощник Иоханес Кеплер (1571-1630) на основе собранных данных смог описать орбиту Марса, предположив, что Земля и Марс вращаются вокруг Солнца.
12 Введение Характеристика предметной области: □ рассматриваемая предметная область понимает новые знания как результат обучения, который можно проверить (измерить) на практике, дать полученным знаниям простое объяснение и реализовать это в автоматизированном режиме; □ работа осуществляется с объектами, характеризующимися особенностями (атрибутами и свойствами), которые должны представлять собой первичные, а не агрегированные данные; □ формирование ’’правильных” формализованных описаний собираемых данных (данные могут делиться на категории, быть дихотомичными2, порядковыми, дискретными и непрерывными; представление и набор данных при этом тоже могут быть различны: результаты измерений, графики, текстовые данные); □ наиболее распространенное представление данных, используемое в большинстве специализированных систем, это табличное представление, где строки содержат данные об одном из объектов, а столбцы — значения атрибутов и свойств. Используемые для анализа исходные данные должны удовлетворять нескольким формальным критериям, определяющим способ их представления: □ одно наблюдение на одну строку; □ одна переменная (атрибут) на один столбец; □ некоторые авторы рекомендуют также хранить каждый тип данных в отдельном наборе данных (файле). 2 Здесь имеется в виду, что данные могут делиться на наборы/классы, слабо связанные между собой.
Введение 13 Таким образом, подготовленные для обработки данные представляются в виде таблиц (такой, как например, табл. В1). Таблица В1. Пример данных ID Возраст Пол Семейное положение (жен ат/за мужем) Образование Доход в у.е. 248 54 М Да Университет 10 000 249 ? Ж Да Университет 12 000 250 29 м Да Техникум 23 000 251 9 м Нет Ребенок 0 252 85 ж Нет Университет 19 789 253 40 м Да Университет 40 100 254 38 ж Нет Кандидат наук 2691 255 7 м ? Ребенок 0 256 49 м Да Техникум 30 000 257 76 м Да Кандидат наук 30 686 Использование данных для поиска решений оправдано, если до начала процесса его поиска удается получить ответы на четыре группы вопросов: □ к самим данным: • Какие данные нам нужны для поиска решения/ответа на интересующие вопросы? • Какие данные нам доступны? • Какого качества данные мы имеем? □ к методам и механизмам работы с данными: • Какие тренды или изменения вы бы хотели обнаружить или отследить? • Какие аналитические методы стоит применить? □ к решениям: • Как интерпретировать результаты анализа? • Какие дополнительные методы и виды анализа стоит применить? • Как полученные результаты будут влиять на принимаемые решения?
14 Введение □ к действиям: • Какие изменения требуются изучаемому процессу? • Как имплементировать изменения в функционирование системы? • Какие дополнительные вопросы требуют ответа? В области анализа данных проводится большое количество конкурсов с призовым фондом от 2000 до десятков тысяч евро. Информация о большинстве конкурсов размещена на сайте www.kaggle.com. На данном сайте представлена информация о конкурсах, которые проводятся разово или нерегулярно. Их организаторами выступают компании, сталкивающиеся с теми или иными проблемами (например, Сбербанк, Daimler, BOSCH и др.). Конкурсы проводятся также и компаниями, специализирующимися на анализе данных. Такие конкурсы организуются на регулярной основе (например, конкурс Data-Mining-Cup (www.data-mining-cup.de) проходит ежегодно с марта по июнь, начиная с 2002 г.).
ГЛАВА 1 Общие вопросы работы с данными Основными задачами аналитика являются генерация гипотез и объяснение возможных ситуаций. Эти задачи традиционно решаются с привлечением аналитиков, которые пытаются решать их, основываясь на своих знаниях и опыте. Однако знания есть не только у человека, но и в накопленных данных, для извлечения которых в этом случае необходимо производить анализ. Такие знания называют ’’скрытыми”, так как они содержатся в огромных массивах информации, которые человек не в состоянии исследовать самостоятельно. В связи с этим существует высокая вероятность пропустить взаимосвязи и тенденции, которые могут быть полезны. Для обнаружения скрытых знаний применяют специальные методы автоматического анализа, при помощи которых знания могут добываться из ’’завалов” информации. Это направление называют добычей данных, или Data Mining. Найденные знания должны удовлетворять ряду требований, выполнение которых будет означать их полезность [15]. □ Знания должны быть новыми, ранее неизвестными. □ Знания должны быть нетривиальны. Результаты анализа должны отражать неочевидные, неожиданные закономерности в данных, составляющие так называемые скрытые знания. □ Знания должны иметь практическую пользу. □ Знания должны быть доступны для понимания человеку. Найденные закономерности должны быть логически объяснимы, в противном случае существует вероятность, что они являются случайными. Кроме того, обнаруженные знания должны быть представлены в понятном для человека виде. В Data Mining для добычи и представления полученных знаний служат модели1. Виды моделей2 зависят от методов их создания. 1 В декабре 2006 г. на конференции IEEE International Conference on Data Mining (ICDM) был составлен список лучших 10 алгоритмов в Data Mining, в который вошли: С4.5, k-Means , SVM, Apriori, ЕМ, PageRank, AdaBoost, kNN , Naive Bayes и CART. 2 В данной книге упоминаются и рассматриваются разные виды моделей. Однако ко всем им можно применить классическое определение А. А. Ляпунова, согласно которому модель — это некоторая
16 Гпава 1 Среди задач добычи данных обычно выделяют [4]: □ задачу классификации, которая сводится к определению класса объекта по его характеристикам (множество классов, к которым может быть отнесен объект, известно заранее); □ задачу регрессии — позволяет определить по известным характеристикам объекта, представленным в виде набора действительных чисел, значение некоторого его параметра; □ задачу поиска ассоциативных правил — нахождение зависимостей (ассоциаций) между объектами или событиями, которые могут быть представлены в виде правил, для лучшего понимания природы анализируемых данных и предсказания появления тех или иных событий; □ задачу кластеризации — поиск независимых групп (кластеров) и их характеристик во всем множестве анализируемых данных. Задачи работы с данными делят на две группы. □ Описательные (дескриптивные) задачи уделяют внимание улучшению понимания анализируемых данных. Ключевой момент в таких моделях— понятность представления результатов для восприятия человеком. □ Предсказательные (предиктивные) задачи состоят из этапа построения модели (для этого используют имеющиеся наборы статистических данных) и этапа использования модели для построения прогнозов. 1.1. Выбор данных Перед началом реализации проектов, связанных с использованием данных, следует определить, какие данные будут необходимы. Это кажется очевидным, однако в наше время обработка больших данных (big data) и наличие мощных компьютеров подталкивают к соблазну использовать весь объем доступных данных и слепо довериться работе устройств. Необоснованность такого подхода заключается в том, что допускается возможность, используя алгоритмы, построить правильные модели на основе анализа плохих данных. Но даже самые умные алгоритмы не в состоянии предотвратить добавление шума в результаты, полученные на основе зашумленных данных. В результате чем больше шума в данных, тем сложнее увидеть важные закономерности. Наличие стратегии выбора и использования источников данных — обязательное условие для начала реализации любого проекта, основанного на данных. Даже если рассмотреть соревнования по анализу данных, на которых все данные уже предестественная или искусственная система, которой замещается реальный объект и которая служит для практического или теоретического изучения объекта, при этом находящаяся в некотором объективном соответствии с изучаемым объектом, способна замещать его в определенных отношениях и дающая при ее использовании информацию об используемом объекте.
Общие вопросы работы с данными 17 ставлены в хорошо подготовленной форме, для получения лучших решений бывает эффективно использовать дополнительные источники потенциально полезных данных. К примеру, в модель совершения покупок в интернет-магазине можно добавить данные о погоде; расширить предоставленные данные об адресах социо- демографическими и географическими данными и т. п. Даже если не заниматься поиском дополнительной информации, то в имеющихся данных необходимо использовать только те, которые окажутся значимыми при ответе на поставленные вопросы. Для этого необходимо предпринять следующие шаги. 1. Найти взаимосвязи. В большинстве проектов с использованием больших данных наблюдается недостаток эффективных способов хранения данных, включающих структурированные, полуструктурированные и неструктурированные данные. Часто в дополнение к основным данным, хранящимся в структурном виде в системах, бывает необходимо организовать сбор документов из точек общего пользования или с общего диска, созданного для обмена данными. Именно поэтому важно глубоко понимать природу данных, их источник и возможные значения. Описание взаимосвязей данных является обычной проблемой, с которой постоянно сталкиваются при их использовании. 2. Извлечь данные. Первый этап непосредственно обработки данных— извлечение данных из источников. Это относительно простой процесс. Проблема может возникнуть при необходимости получения данных, доступ к которым ограничен (в этом случае следует иметь разрешение на использование данных), или данные не полностью достоверны (в последнем случае нужно знать источник поступления этих данных и их истинную ценность). В некоторых случаях надо учитывать, что даже если доступ к данным разрешен, их дальнейшее использование может быть под запретом. 3. Подготовить данные. Подготовка извлеченных данных может проходить в несколько этапов: • перевод специальных системных кодов в значимые/пригодные для использования значения; • проверка качества данных; • устранение неполных или ошибочных данных; • репликация логики приложения для получения данных с самоописанием ит. д. Этот перечень можно продолжать до бесконечности. Много времени тратится на проверку данных, т. к. они могут содержать неточности в наименованиях или кодах, лишние данные или ошибки, а также не иметь атрибутов, представляющих интерес для анализа. На этом этапе массив данных носит еще не качественный, а только количественный характер. Его необходимо структурировать в виде простой матрицы данных, где вся доступная информация, например по товару, хранится в отдельной строке, а столбцы представляют собой значения атрибутов.
18 Гпава 1 4. Загрузить данные на платформу данных. После того как данные готовы к обработке, их необходимо загрузить в хранилище данных. Перед тем как начнется работа аналитиков и будет запущен процесс визуализации, следует разработать набор тестов и набор проверочных данных к ним. В связи с тем, что источники данных могут содержать петабайты данных и проведение анализа полных данных может занять большое количество времени, рекомендуется работать с уменьшенным представлением набора данных. Начиная со спонтанно нарисованных примеров, можно выделить несколько возможных стратегий сокращения объема данных для их последующего анализа. 1.2. Очистка данных В работе [45] авторы поднимают проблему ’'грязных” данных. В их понимании "грязные” данные включают недостающие данные, неправильные данные, а также не неправильные, а непригодные данные (например, нестандартная репрезентация тех же самых данных). В разных массивах данных у записей, относящихся к одному и тому же объекту, могут быть различные форматы представления. Именно поэтому в объединенной базе данных после слияния могут появляться дубликаты записей. Эту проблему необходимо выявлять и устранять такие дубликаты. Указанная проблема известна как проблема слияния. При объединении данных из различных источников мы можем столкнуться со следующими проблемами: интеграция метаданных (свойств столбцов), различные обозначения (один и тот же атрибут может иметь различные обозначения в разных базах данных), конфликт данных (например, у атрибутивных значений могут быть разные шкалы или разные номинальные метки). В общем виде данную проблему можно рассмотреть как проблему идентификации отдельных примеров. Для этого необходимо решить вопрос об идентификации объектов записей. Пользователь должен установить правила и условия для определения шаблонов записей данных. Таким образом, очистка данных будет включать разбор и повторный сбор данных. Иначе этот процесс можно описать как проблему слияния или проблему перестроения. С точки зрения качества данных проблема их очистки тесно связана с жизненным циклом данных. В одной и той же структуре данных можно выделить четыре показателя качества данных: точность, актуальность (своевременность), полнота, логичность. Обычно правильность данных определяется с точки зрения этих показателей. Создание качественного контролируемого подхода для успешного управления и сохранения данных может представлять серьезную проблему в связи с обширностью предметных областей и особенностей, которые необходимо учитывать. При получении данных из систем ввода и баз данных велика вероятность появления ошибок. Даже если удастся получать данные высокого качества, это не поможет в решении проблемы устаревших данных. Это означает, что необходимо уделять внимание обнаружению ошибок в имеющихся данных.
Общие вопросы работы с данными 19 Выделяют три этапа процесса очистки данных: поиск и установление типов ошибок, поиск и идентификация похожих ошибок, их исправление по подобию. Полностью автоматизировать процесс обнаружения и исправления ошибок невозможно, за исключением некоторых строго формализованных и хорошо описанных данных. Однако существует несколько подходов и эвристических правил, которые могут быть использованы для обнаружения и корректировки проблемных данных. □ Статистические методы. Используются для поиска сильно различающихся данных (выбросов значений), которые будут трактоваться как ошибочные. Одномерные статистические данные, часто подчиняющиеся нормальному закону распределения, могут быть проверены по критерию Пирсона (правило 2а или За). Если данные не соответствуют нормальному распределению, можно использовать теорему Чебышева (закон больших чисел), а также применять медианное значение. □ Кластеризация. Существует несколько алгоритмов кластеризации, направленных на обнаружение типичных структур (паттернов) данных3. □ Правила ассоциации. Различные типы структур с высокой вероятностью могут быть описаны правилами ассоциации. Записи, которые не описываются такими правилами при использовании данного подхода, считаются недостоверными. Достоинство правил ассоциации заключается в возможности работы с данными разных типов. 1.3. Проблема недостающих значений Как только недостоверные данные идентифицированы и отброшены, самым важным шагом подготовки данных становится решение проблемы неполных данных. Для этого необходимо прежде всего знать структуру недостающих данных и тип информации, которую они содержат. Внесение значений взамен недостающих должно осуществляться с особой осторожностью, чтобы не нарушить закономерности, скрытые в существующих данных4. Для того чтобы найти способы заполнения недостающих значений, причиняющих наименьший ущерб структуре набора данных, необходимо найти контекст для новых значений, рассмотреть набор данных в целом и удостовериться, что все методы добавления недостающих значений являются компромиссными с уже имеющимися данными. Явление недостающих данных может иметь различные причины: □ если рассматривать данные из анкет, то на ряд вопросов анкеты респонденты могут отказаться отвечать (возраст, доход), посчитав их не относящимися к делу, или просто вопрос не заносится; 3 Здесь под структурой (или паттерном) мы понимаем группу записей с похожими характеристиками или похожим поведением. 4 Данные, нарушающие или искажающие закономерности, называют шумом.
20 Гпава 1 □ если мы получаем данные с датчика, то может иметь место неисправность (отсутствие измерения); датчик может оказаться вне досягаемости (например, если он использует беспроводную технологию передачи); значение было удалено вручную по каким-либо причинам и т. п. Всю доступную информацию о причине отсутствия данных необходимо включать в наборы данных. Проблема недостающих значений может решаться разными способами: □ путем игнорирования всего набора данных для описываемого объекта или отдельных атрибутов в наборе данных с высоким уровнем несоответствия; □ путем внесения в отсутствующие значения средних, медианных или наивероятнейших значений атрибута или некоторых констант; □ путем внесения недостающих данных вручную (на основе мнения эксперта); □ путем заполнения пробелов с помощью методов интеллектуального анализа данных, таких как регрессия, деревья принятия решений, наивный байесовский классификатор, или других алгоритмов машинного обучения, работающих с имеющимися данными. 1.4. Уменьшение размерности данных и выделение атрибутов В настоящее время производится и хранится огромное количество данных. В связи с этим актуальна разработка методов, которые могут решить проблему, связанную с постоянным увеличением объема данных (количества записей N) и увеличением размерности наборов данных (числа атрибутов р). Атрибуты могут быть взаимозависимы. Кроме этого, число р увеличивается при создании новых вычислимых атрибутов, которые получают из заданных переменных для значений, не представленных непосредственно в исходных данных. В результате мы получаем избыточные наборы данных. Задача уменьшения размерности решает проблему, связанную с большим или избыточным числом атрибутов. Одним из способов решения проблемы размерности является введение новых атрибутов взамен существующих данных или выбор ограниченного набора атрибутов для анализа. Введение новых атрибутов — это метод использования необработанных, неструктурированных атрибутов для их потенциального использования в анализе. Изменение пространства атрибутов часто является обязательной процедурой, т. к. необработанное пространство атрибутов, как правило, переполнено неструктурированными и неважными данными, что часто приводит к шуму. Введение новых атрибутов — важный этап, на котором используются знания эксперта с целью обработки множества исходных данных с учетом особенностей рассматриваемой предметной области. После введения новых атрибутов необходимо проверить изменения на соответствие предметной области и произвести выбор исходных и вычислимых атрибутов
Общие вопросы работы с данными 21_ для использования в моделях работы с данными. После выбора признаков может оказаться, что атрибут с высокой прогностической ценностью в исходной модели станет бесполезным в измененной модели; бесполезный атрибут приобретает значение при использовании с новыми атрибутами; пара атрибутов с высокой степенью корреляции привнесут дополнительные качества в модель. Проблема выбора атрибутов связана с принятием решения о том, какую комбинацию доступных атрибутов использовать для модели. Эта проблема является УР-полной задачей, которую можно решить только приближенно. Несмотря на это, выбор минимального набора атрибутов, подходящих для выполнения анализа, должен следовать принципу экономии. Это означает, что методы выбора атрибутов должны повышать понимание рассматриваемой предметной области, степень простоты моделирования и интерпретации, эффективность затрат на оценку, хранение данных и расчеты, прогностические качества модели. Выделяют три класса алгоритмов выбора атрибутов: □ методы выбора атрибутов прореживанием используются в статистических вычислениях для назначения оценки для каждого атрибута; атрибуты ранжируются, и на основании оценок принимаются решения об их сохранении или удалении из рассмотрения; □ методы оболочки рассматривают выбор подмножества атрибутов как проблему поиска, где происходят подготовка и оценка различных комбинаций и осуществляется сравнение с другими комбинациями атрибутов; □ методы ограничений используются для того, чтобы узнать, какие атрибуты в процессе создания модели лучше всего обеспечивают точность показателей модели; типичными методами выбора атрибутов с ограничениями являются методы отбраковки и упорядочения. В зависимости от типа атрибутов методы сокращения размерности можно разбить на группы линейных и нелинейных методов. Самым распространенным методом является метод главных компонент. Он помогает сохранить основные отличительные признаки многоразмерных пространств атрибутов путем ортогонального проецирования в выбранное низкоразмерное подпространство. В случае нормально распределенных (или имеющих близкое к нормальному распределению) многомерных атрибутов, которые находятся в линейном подпространстве размера d, большое число исходных атрибутов может быть сокращено с помощью учета только атрибутов, получаемых путем линейной комбинации исходных атрибутов. Различные методы поискового факторного анализа являются модификациями этого подхода. Другим линейным вычислимым методом является метод независимых компонент. Как правило, данные находятся в нелинейном ^/-размерном пространстве. Это означает, что преобразование, используемое для уменьшения нелинейной размерности, должно быть нелинейным. Для того чтобы построить метод уменьшения размерности, нужно ввести целевую функцию. Упрощенно можно выделить три группы нелинейных алгоритмов:
22 Гпава 1 □ многомерное масштабирование (multidimensional scaling, MDS)— методами многомерного масштабирования пытаются размещать точки данных в меньшем по размерности d -мерном пространстве при сохранении их парных расстояний (насколько это возможно), например проекция Сэммона; □ обучение на множествах, например изометрическое отображение множеств данных (ISOMAP), метод полуопределенной вставки (SDE), метод максимальной дисперсии (MVU), метод криволинейных компонент (ССА) и т. д.; □ нейронные вычисления — в рамках этого подхода передают вектор данных в нейронную сеть; например, самоорганизующиеся карты (SOM) или сети Кохонена обучаются дискретному отображению на низкоразмерные множества посредством подбора весовых коэффициентов связей нейронов для работы с рассматриваемыми множествами. 1.5. Визуализация данных В настоящее время в анализе данных процесс визуализации данных рассматривается как часть разведывательного анализа данных. Как правило, это первый этап анализа данных, нацеленный на выявление смыслов данных, по результатам которого приступают к реализации целеориентированного моделирования и анализа. Обычно процесс визуализации начинается с построения одномерных и двумерных графиков функций, гистограмм, диаграмм и т. д. на основе имеющихся статистических данных. Такие визуализации позволяют: выявить недостаточность наборов значений; определить наличие кластеров в данных, экстремальные значения и наличие посторонних данных; определить необходимость дискретизации значений атрибутов или создания новых атрибутов; определить характер отношений между атрибутами (линейные или нелинейные отношения атрибутов и целевых показателей); выявить наличие корреляции между атрибутами; идентифицировать условия взаимодействия атрибутов. В связи с тем, что человеческое восприятие и возможности устройства вывода ограничены трехмерным пространством, многомерные данные сложно визуализировать. Сложность заключается в преобразовании данных в пространство меньшей размерности, которое станет репрезентативным и понятным для пользователя, но при этом сохранит как можно большее количество информации. Очевидно, что этот процесс реализуется путем уменьшения размерности (набор данных высокой размерности преобразуется в пространство меньшей размерности). Таким образом, инструменты уменьшения размерности (многообразие подходов к визуальному исследованию данных) могут быть использованы для визуализации при условии, что в результате размер ограничивается двумя или тремя измерениями. Говорят, что проекция данных из исходного пространства заслуживает доверия (является надежной), если ближайшие к соседних значений на рассматриваемой проекции, имеющие близкие значения, также имеют близкие значения в исходном пространстве. Проекция сохраняет исходные отношения данных (хорошо описывает выборку) в том случае, если все к соседних значений выборки также являются
Общие вопросы работы с данными 23 соседними в исходном пространстве. Визуализация может рассматриваться как задача моделирования, если целью визуализации является нахождение похожих данных, как средство выделения классов для точек с большой размерностью данных, или графов, как задача восстановления визуальной информации. 1.6. Обнаружение выбросов данных Процесс поиска выбросов данных отличается от обнаружения ошибок или шумов. Основное отличие состоит в том, что выбросы (посторонние данные) не обнаруживаются при удалении шума, но создают препятствия при анализе данных. Более того, выбросы и посторонние данные могут приобретать важность для аналитика данных, т. к. могут содержать, по его мнению, существенную информацию. Данные, которые один человек воспринимает как шум, другой может воспринять как интересное событие. С точки зрения теории познания для некоторых задач редкие события представляют больший интерес, чем обычные события. Посторонние записи приводят к отклонениям, которые становятся причиной ошибок в описаниях моделей, оценках параметров и влекут неверные результаты. Например, данные, полученные с датчиков, могут содержать отклонения и приводить к ошибкам измерений. Существуют разные способы выявления лишних элементов в множествах данных: поиск значений, которые сильно отклоняются от (большинства) других значений (это вызывает подозрение, что они появились в результате ошибки); поиск значений, которые заметно отличаются от значений образцов; поиск значений, которые выглядят несовместимыми с остальными значениями множества данных. Причины появления посторонних данных могут быть различными. Данные могут иметь низкое качество в силу их загрязнения (например, ошибки ручной работы или неисправность оборудования). Можно определить области нормального поведения (области допустимых значений). Тогда любое значение, которое не принадлежит области допустимых значений, трактуется как лишнее. Надежность методов обнаружения посторонних данных можно сформулировать с помощью ’’контрольной точки”, которая устанавливает максимальный процент лишних значений в данных, обнаруженных с помощью рассматриваемого метода. Бывают и исключения, когда данные, определяемые как недостоверные, оказываются верными. Как правило, существует не один, а большее число механизмов и процессов, лежащих в основе определения значений ’’нормальных” данных. Посторонние данные могут появиться в результате аномалий в различных механизмах, влияющих на их значения; таким образом, может быть получен целый класс похожих значений, рассматриваемых как посторонние данные. По этой причине появляется множество моделей и методов, посредством которых пытаются найти ответы на два основных предположения относительно посторонних данных, а именно: существует ли только один механизм порождения ’’нормальных” данных и являются ли посторонние данные редкими явлениями?
24 Гпава 1 В зависимости от предметной области и набора уже идентифицированных посторонних данных методы их обнаружения могут обучаться. Реализация этих механизмов основывается на нескольких сценариях [17]. □ Контролируемый сценарий — это обучение на выборках данных с ’’нормальными” данными и посторонними данными, работа с многочисленными классами данных, проблема несбалансированности классификаций. В рамках этого сценария существует ряд методов, которые вводят искусственные аномалии в нормальное множество данных, чтобы получить размеченное на посторонние и ’’нормальные” данные множество данных для обучения. □ Частично контролируемый сценарий— это обучение только на ’’нормальных” данных. Типичный подход заключается в построении модели для класса данных, соответствующего нормальному поведению, и использовании полученной модели для идентификации аномалий на неразмеченных данных. □ Неконтролируемый сценарий используется, когда нет доступа к обучающим данным. Предполагается, что ’’нормальные” значения встречаются намного чаще, чем посторонние данные. Таким образом, если предположение оказалось неправильным, такие методы будут подвержены сильному влиянию ложнонормальных данных. Если предположить, что данные содержат очень малое число аномалий и метод работает с малым числом аномалий, тогда мы можем работать с малыми выборками данных. Статистические методы предполагают, что ’’нормальные” данные соответствуют лежащему в основе распределению. Эти методы в качестве посторонних идентифицируют значения, которые отклоняются от предположений модели. Примеры — t -тест для гауссова одномерного распределения, или когда в случае гауссова многомерного распределения все наблюдения с расстоянием Махаланобиса5 от среднего значения, превышающего заданный порог, классифицируются как второстепенные данные. В дополнение к статистическим методам применение получили вероятностные подходы для анализа экстремальных значений в многомерных данных. Эти подходы работают на основе предположения, что лишние значения являются самыми дальними от центра на множестве данных и различаются способами построения таких множеств. Существует большое разнообразие подходов для обнаружения посторонних данных, которые не учитывают статистических распределений данных, но опираются на измерения локальных отклонений. Основная идея состоит в том, что решение, к какой категории отнести данные — посторонних или достоверных, — принимается на основании анализа отклонений от соседних значений. Такой подход базируется на предположении, что значения нормальных данных создают плотную область близких значений, а посторонние значения находятся на удалении от них и 5 С помощью расстояния Махаланобиса можно определять сходство неизвестной и известной выборок. Оно отличается от евклидова расстояния тем, что учитывает корреляции между переменными и инвариантно к масштабу.
Общие вопросы работы с данными 25 расположены менее плотно. Эти методы могут быть разделены на кластерные методы, методы расстояний, а также методы, основанные на анализе плотности значений. ’’Проклятие размерности”6 создает сложности для эффективного обнаружения посторонних данных. В связи с тем, что размерность данных постоянно увеличивается, расстояние между объектами может сильно зависеть от шума. Поэтому расстояние и сходство между двумя точками в высокоразмерном пространстве может не показывать действительной близости значений. Следовательно, качество работы традиционных методов обнаружения посторонних данных, которые используют значения близости или плотности для обнаружения лишних данных, ухудшается по мере увеличения размерности. Посторонние данные теряются в случайных отклонениях, когда измерения расстояний выполняются на полных размерностях пространств. Бывает, что количество нерелевантных данных увеличивается по мере увеличения размерности. 1.7. Модель CRISP Модель CRISP-DM7 (CRoss Industry Standard Process for Data Mining) была разработана в 1997 г. в рамках европейского проекта, выполняемого консорциумом, состоящим из NCR (Дания), Integral Solutions Ltd (Великобритания), Daimler-Benz AG (Германия), OHRA (Нидерланды), и стандартизирована как процесс добычи данных (рис. 1.1). Объектом внимания данной модели является не столько техническая, сколько исследовательская составляющая. Особенность модели заключается в рассмотрении проблематики добычи данных как интерактивного процесса, дополняющего бизнес-процессы, происходящие в рассматриваемой производственноэкономической системе. Этап 1. Понимание организации изучаемого процесса. Для этого необходимо определить цели добычи данных, начальные значения для анализа, критерии оценки, примерный план работы с данными, т. е. ’’конвертировать” знания о происходящих процессах и задачах (улучшить продукт X) в проблематику добычи данных (каков образ клиента, который покупает продукт X). Если рассмотреть данный этап как подбор нового проекта в системе, реализующей изучаемый процесс, то на первом этапе необходимо сформировать цели реализации проекта, определить начало отсчета, выявить критерии успеха, составить предварительный план проекта. Этап 2. Понимание данных. Цель данного этапа — лучшее понимание данных и их взаимосвязи с протекающими процессами и, как следствие, выявление ошибочных или неполных данных, определение степени влияния имеющихся данных на происходящие процессы (их полнота и достоверность). 6 Проблема, связанная с экспоненциальным возрастанием количества данных из-за увеличения размерности пространства. 7 В 2015 г. компания IBM обновила модель CRISP и разработала расширенную процессную методологию — ASUM-DM (Analytics Solutions United Method for Data Mining/Predictive Analytics).
26 Гпава 1 С переходом к рассмотрению проекта этот этап превращается в последовательность действий, связанных с подбором внутренних и внешних источников данных, выбором из них релевантных рассматриваемой задаче данных, оценкой и повышением качества данных, получением внешних данных, подготовкой данных для следующего этапа. Этап 3. Подготовка данных. На этом этапе отбираются данные, которые будут использоваться, выполняется их форматирование (часто бывает необходимо разбить данные на группы, например по промежуткам в 5 лет, а группам необходимо присвоить номера), определяются новые вычислимые показатели (например, с датой рождения работать зачастую неудобно, а возраст является одним из ключевых показателей), выбираются методы добычи данных, которые будут использоваться на последующих этапах. При рассмотрении конкретной задачи это сводится к описанию имеющихся данных, извлечению и подготовке данных к последующему анализу (выбор, корректировка, проверка, объединение, форматирование). Этап 4. Моделирование. На этом этапе на основании имеющихся данных строится модель, описывающая имеющиеся данные, и делаются предположения, какие данные будут поступать в будущем. Для этого могут применяться различные модели: деревья решений, нейросети, регрессионные модели. Для их использования необходимо определить параметры моделей. Это, в свою очередь, требует тестовых данных, на которых могут осуществляться настройка и проверка моделей. Поэтому данный этап имеет обратную связь с предыдущим этапом. На практике этот ключевой аспект добычи данных сводится к анализу зависимых переменных, использованию различных методов (деревья решений, нейронные се¬
Общие вопросы работы с данными 27 ти, регрессионный анализ, кластерный анализ и др.), проверке моделей на различных наборах данных. Этап 5. Оценка результатов. Прежде чем перейти к поиску новых данных, необходимо проверить соответствие получаемых результатов и процессов, происходящих в изучаемой предметной области. Для этого потребуется использование новых данных (не участвующих при построении модели). Соответствие получаемых результатов логике изучаемых процессов открывает возможности для их изучения на данных в целях поиска новых закономерностей. Практика данного этапа заключается в детальном описании и правдоподобной проверке предлагаемых решений, тестировании и выборе лучших моделей, проверке выбранных критериев и заполненности данных, проверке того, дает ли модель новые результаты, а также позволяет ли принимать решения для будущих задач. Этап 6. Использование. На этом этапе составляется отчет на основе полученных моделей и данных о том, как известные данные взаимосвязаны, какие выводы могут быть сделаны, как использованы эти взаимосвязи, как управленческие решения с использованием данных могут повлиять на решение задач повышения эффективности изучаемых процессов. Конечный этап должен приводить к интеграции полученных моделей в существующие информационные процессы, окончанию рассматриваемого проекта или процесса, а в случае, если проект продолжается, то к его мониторингу, постоянной адаптации и улучшению моделей. 1.8. Модель SEMMA Модель SEMMA (Sample Explore Modify Model Assess) как последовательность шагов при решении задач, связанных с добычей данных, была предложена компанией SAS8. Эта модель, основанная на данных, так же как и предыдущая, состоит из нескольких этапов [50] (рис. 1.2). Этап 1 (Sample) — извлечение из большого набора данных или подбор данных для построения модели (сокращение размерности путем выбора атрибутов и объема данных путем сокращения количества записей (например, ограничение временного интервала)). Этап 2 (Explore) — направлен на лучшее понимание природы данных. На этом этапе происходит поиск аномалий и непредвиденных ранее тенденций/трендов в данных. Этап 3 (Modify) — выбор, создание и преобразование переменных исходя из целей создания модели. Этап 4 (Model) — построение модели на основе переменных для оценки искомого результата. Этап 5 (Access) — оценка результатов, их полезности и адекватности. 8 Американская частная компания, крупнейший разработчик статистического программного обеспечения и приложений. Основана в 1976 г.
28 Гпава 1 Рис. 1.2. Модель SEMMA 1.9. Вопросы для самоконтроля 1. Какие задачи работы с данными вам известны? 2. Верно ли то, что чем больше данных, тем более точную модель мы получим? 3. Перечислите основные проблемы, с которыми может столкнуться аналитик при работе с ’’грязными" данными. 4. Раскройте понятие "проклятие размерности". 5. Для каких целей используются модели CRISP и SEMMA? 6. Если для анализа данных вам требуется значение возраста, а вы имеете данные о дате рождения, то опишите, каким образом вы будете получать новый вычислимый показатель, и для чего он может быть более удобным. 7. Если вам задана последовательность данных (табл. 1.1), и вы предполагаете, что среди данных есть ошибочное значение, то какое из приведенных значений вы идентифицируете как неверное и почему? Таблица 1.1. Набор данных к вопросу 7 Номер записи 1 2 3 4 5 6 7 8 9 10 Значение записи 100 101 98 103 95 101 100 102 2 101
ГЛАВА 2 Временные ряды A 2.1. Понятие временного ряда Временным рядом называется расположенная в хронологическом порядке последовательность значений каких-либо параметров исследуемого процесса. Во временном ряде для каждого отсчета должны быть указаны время измерения или номер измерения по порядку. Временные ряды, как правило, возникают в результате регистрации некоторого набора (в простейшем случае одного) показателей. Это могут быть как показатели (характеристики) технических систем, так и показатели природных, социальных, экономических и других систем. Типичными примерами временного ряда можно назвать данные метеонаблюдений, запись колебаний земной коры, биржевой курс, электрокардиограмму, запись параметров технологического процесса. Временным рядом называется совокупность величин вида *,('*), i = \,n, k = \,N. Многомерный ряд можно представить как матрицу: А| (х Л11 •• V х= *2 = *21 *21 Л) <*и1 • •• *„*, Каждый вектор х в таком представлении можно рассматривать как одномерный временной ряд. Принято классифицировать временные ряды по расстоянию между интервалами наблюдения. Временной ряд называется регулярным (или равноотстоящим), когда измерения производятся через фиксированный интервал времени. Если принцип равных интервалов не соблюдается, ряд будет называться нерегулярным (неравноотстоящим). Регулярные ряды наиболее удобны для исследования. Они обычно
30 Гпава 2 представляются в виде вектора значений, при этом фактическое время измерения заменяется целочисленным индексом. 2.2. Постановка задачи приближения функций Вычисление значения функции y = f(x) — одна из задач, с которой постоянно приходится сталкиваться на практике. При этом могут возникать ситуации, когда исходную функцию требуется заменить другим функциональным описанием. Такие ситуации возникают в следующих случаях [1]. □ Функция f(x) задана таблицей своих значений (например, временной ряд): Z = /(*,), где / = 0,..., w, а нам необходимы значения в точках х, не совпадающих с заданными таблично. □ Непосредственное вычисление значения у = f(x) связано с проведением сложных расчетов и приводит к значительным затратам машинного времени, которые могут оказаться неприемлемыми, если функция /(х) вычисляется многократно. □ При заданном значении х значение f (х) может быть найдено только из эксперимента. В этой ситуации экспериментальные данные (обучающую выборку) получают до начала вычислений. Нередко они представляют собой таблицу, значения в которой могут отличаться от ’’истинных” значений, т. к. заведомо содержат ошибки эксперимента. Возникающие проблемы удается решить, если функцию /(х) заменить другой функцией g(x), вычисляемые значения которой принимают за приближенные значения функции f (х). Процедура замены функции f (х) на функцию g(x) называется аппроксимацией. Аппроксимация оправдана лишь тогда, когда значения g(x) вычисляются быстро и надежно, а погрешность приближения /(x)-g(x) достаточно мала. При решении задачи аппроксимации: 1. Необходимо решить, какую информацию функции /(х) можно использовать как входные данные для вычисления приближения g(x) \ 2. Полезно иметь некоторую дополнительную априорную информацию об аппроксимируемой функции1 2. 3. Знание свойств функции /(х) позволяет осознанно выбирать класс аппроксимирующих функций. Часто такой класс представляет собой параметрическое семейство функций вида у = g(x, a) = g(x, aQ9 a2..... an), а конкретизация аппроксимируемой функции g осуществляется с помощью выбора параметров , Cl2, ..., a„. 1 Часто вид этой функции известен, или может быть получена таблица значений функции (функция заданная таблично). 2 Такая информация бывает, как правило, качественного характера. Например, известно, что функция Да) "достаточная гладкая" ("плавно меняющаяся") и т. п.
Временные ряды 31 Задача аппроксимации подразделяется на задачи интерполяции и экстраполяции: □ задача интерполяции позволяет определить z — значение функции в точке, находящейся внутри исследуемого интервала [а; й], z е[а; b], z xt, i - I, ..., п \ □ задача экстраполяции позволяет определить значение функции в точке, находящейся вне исследуемого интервала [я; b] и z & [я; й]. Пусть в точках х0, ..., хт, расположенных на отрезке [я; b], задана таблица значений у0, ..., ут некоторой функции. Задача аппроксимации [30] состоит в по¬ строении функции g , удовлетворяющей условию для задачи интерполяции и g(x,)*y„ i = для задачи экстраполяции. Другими словами, ставится задача о построении функции g, график которой проходит через заданные точки (у;, для задачи интерполяции и максимально близко приближается к ним для задачи экстраполяции. Нетрудно видеть, что выбор функции g неоднозначен, т. к. по заданной таблице можно построить бесконечно много экстраполирующих функций. На практике, как правило, функцию g выбирают из достаточно узкого класса функций, в котором единственность выбора гарантируется. На практике для прогнозирования значений параметров используются методы экстраполяции, т. к. они улавливают тенденции, присущие данным, и позволяют описывать значения за пределами интервала с имеющимися данными в отличие от методов интерполяции, которые точно описывают данные внутри интервала с заданными значениями и совершенно не пригодны для описания функции за его пределами. При построении экстраполяционных функций используются меры близости и критерии согласия для проверки адекватности полученных моделей. При использовании моделей экстраполяции ищется, как правило, не лучшее описание имеющихся данных, а описание, улавливающее тенденции изменения данных, что для моделей, которые строятся вручную, является компромиссом между сложностью и точностью описания. Более того, чрезмерное усложнение модели приводит к тому, что она начинает вести себя как модель для решения задач интерполяции — хорошо описывая функцию на интервале с заданными значениями и улавливая неверные тенденции за его границами. Такое явление при использовании методов машинного обучения получило название переобучения. При этом следует избегать чрезмерного упрощения модели. При чрезмерном упрощении модели также могут неверно угадываться тенденции за пределами интервала с заданными значениями. Такое явление получило название недообучение (рис. 2.1).
32 Гпава 2 Рис. 2.1. Демонстрация разницы между: a — недообученной моделью; б — моделью, демонстрирующей правильные тенденции; в — переобученной моделью 2.3. Интерполяция функций 2.3.1. Интерполяционные формулы для неравноотстоящих точек К данной группе методов относятся интерполяционные формулы Лагранжа и Ньютона. 2.3.1.1. Интерполяционная формула Лагранжа Пусть функция f задана таблицей. Построим интерполяционный многочлен Ln(x). степень которого не больше п. Будем искать Ln(x) в виде: Zw(x) = /0(x) + ZlW + ... + /w, (2.1) где (хк) — многочлен степени п, задаваемый следующей функцией: ф.)=К ' ’ [0, i*k. Многочлены /.(х) составим следующим способом: /,(х) = с,(х-х0)-(х-х,ч)(х-х,+|)-(х-х„), где с; — постоянный коэффициент, значение которого найдем из первой части условия: С= L. (х, -Хо) - (х, -Х,.,)(х, -х,+1) - (х, -х„) Подставив с1 в предыдущее выражение и далее в выражение (2.1) для Ln(x), окончательно получаем: L = у (х-х0)-(х-х,_,)(х-х,+|)-(х-х„) ,=0 ' (^-х0)---(х,-х/+1)- -(х,-х„) ’ (2.2)
Временные ряды 33 Полученное выражение называют интерполяционным многочленом Лагранжа. По таблично заданной функции приведенная формула позволяет составить ’’внешний вид” многочлена. Рассмотрим пример построения интерполяционного многочлена Лагранжа для таблично заданной функции, приведенной в табл. 2.1. Таблица 2.1. Исходные данные для примера X 1 3 4 Дх) 12 4 6 Из таблицы следует, что п - 2 (т. е. степень многочлена будет не выше, чем вторая), х0 = 1, Xj = 3, х2 = 4. Используя формулу (2.2), получаем: ;_1Х| !)..< 3, (1-3XI-4) (3-IX3-4) (4-1Х4-3) 2.3.1.2. Формула Ньютона для неравноотстоящих узлов Для функции с неравноотстоящими точками интерполяция может осуществляться по формуле Ньютона. В формуле Ньютона для неравноотстоящих узлов используются выражения, которые называют разделенными разностями. Разделенной разностью 1-го порядка [х;, х/+1] называют выражение, которое определяется по формуле: Разделенной разностью 2-го порядка [х,, х/+1, х1+2] называют выражение: гу г у 1 1Л/ , Л/+1’ Л/+2 I Xi+2 ~ Xi Разделенная разность п-го порядка [х.,х/+1,...,х.+я] определяется по формуле: Г 1 1Х + 1> *4 + 1? •••? */ + )? */ + и] [Лр Л/ + ] , ..., Л/+А7 J В приведенных формулах xt, yt — значения аргумента и функции в узловых точках. Разделенные разности удобнее всего размещать в таблице разностей (табл. 2.2). Запишем через разделенные разности интерполяционную формулу Ньютона для неравноотстоящих узловых точек: Р(х) = у0+[х0,х|](х-х0) + ... + [х0, х,, (2.4)
34 Гпава 2 Таблица 2.2. Таблица разностей X Лх) Разделенные разности 1-го порядка 2-го порядка ... и-го порядка *0 Уо *.] k’*i’*J к’х»-’х»] У k’*J к>*2’*з] - Х2 У1 к. *3] к’хз>*д] - - Xi У< [ХР х/+1] к>J - - - У„-\ - - - Х„ к - - - - 2.3.2. Интерполяционные формулы для равноотстоящих точек Часто интерполирование ведется для таблично заданных функций с равным шагом значений аргумента. В этом случае шаг h = xi+] - является постоянной величиной. Для таких случаев могут применяться специальные интерполяционные формулы. Наиболее известными методами в этой группе являются первая и вторая интерполяционные формулы Ньютона. В обеих формулах используются конечные разности. 2.3.2.1. Конечные разности Пусть функция задана таблицей с постоянным шагом (табл. 2.3). Таблица 2.3. Общий вид табличного задания функции X *0 xi х„ f(x) Уо У, У„ Разности между значениями функции в соседних узлах называются конечными разностями первого порядка: ^y,=yM-yi, Vi. Из конечных разностей первого порядка образуются конечные разности второго порядка:
Временные ряды 35 Продолжая этот процесс, можно составить таблицу конечных разностей (табл. 2.4). Таблица 2.4. Таблица конечных разностей X Лх) Д2у,- Д3у,- ... Х0 Уо дУо Д2л Д3Уо У. ДУ. Д2у. Д3у. Х2 Уг Ду2 д2у2 Д3у2 хк Уз ДУз Д2Уз Д3Уз Х4 Уа Ду4 Д2у4 Д3у4 Конечные разности любого порядка могут быть представлены через значения функции. Это следует из определения конечных разностей первого порядка. Для конечных разностей второго порядка: д2У, = Ду,.1 - &У, = (z+2 - У,+.) - (Уж - У,) = Z+2 - 2y,+1 - У. ■ Аналогично для конечных разностей третьего порядка: д3У, = д2Х+1 - д2У, = (у,+з - 2У,+1 + У.+.) - (z+2 - 2z+1 + У,) = у1+3 - Зу1+2 + Зу/+1 - у,. Методом математической индукции можно доказать, что u > к(к-\) . ,,4 Д л =у,.к ~ку^ + 2, ум-2 - •+(-!) У,- 2.3.2.2. Первая интерполяционная формула Ньютона Пусть для таблично заданной функции с постоянным шагом составлена таблица конечных разностей. Будем искать интерполяционный многочлен в виде: ^W = ao+ai(*-Xo) + a2(X-*o)(*-*l) + "- + «n(*-*o) --(*-V1)- (2-5) Значения коэффициентов а0, ах. .... ап приведенного многочлена найдем из условия совпадения значений исходной функции и многочлена в узлах. Приравняв х - х0, из исходного выражения (2.5) находим: Уо ~ ?п (Х0 ) = aQ ’ Далее, придавая х значения , х2 и т. д., последовательно получаем: У1 =Л(*1) = «о+Я1(*1 -*о)’
36 Гпава 2 откуда 1 h ’ •У2 = Л (Х2 ) = °0 + Я1 (*2 ~ *0 ) + Я2 (%2 _ *0 ) (Х2 ~ *1 ) > откуда a = 2 2!й2 ' В общем случае выражение для а будет иметь вид: * k\hk Подставив выражения для коэффициентов а в исходное выражение (2.5), получим: На практике формула применяется в несколько ином виде. Обозначим х-х0 = /, т. е. х = хп + ht. h Тогда: х-х, х-х0-/г f р h h h h ит. д. Окончательно получаем: P„W = Р„ (хо + th) = у0 +1- Ау0 + +... + ?(? П + 1)Л”у0. (2.6) Полученную формулу (2.6) называют первой интерполяционной формулой Ньютона. Эта формула применяется для интерполирования в начале отрезка интерполяции, когда t мало по абсолютной величине. Первую интерполяционную формулу Ньютона называют из-за этого формулой для интерполирования вперед. В качестве начального значения х0 можно брать любое табличное значение аргумента х. 2.3.2.3. Вторая интерполяционная формула Ньютона Если область, которую нам необходимо интерполировать (определить значения функции для значений аргумента, не соответствующих заданным), находится в конце заданного набора значений, то использование первой интерполяционной формулы Ньютона становится неудобным в силу большого количества вычислительных операций.
Временные ряды 37 В таких случаях применяется вторая интерполяционная формула Ньютона, или формула для интерполирования назад, при использовании которой легче определяются значения в конце интервала заданных значений и сложнее в начале. Это получается за счет того, что интерполяционная формула ищется в виде: Так же как и для первой интерполяционной формулы Ньютона, коэффициенты aQ. а}. а2. .... ап определяются из условия совпадения значений функции и интерполяционного многочлена в узлах: и, переходя к переменной t = ———. получим окончательный вид второй интерпо- h ляционной формулы Ньютона: W = Рп (х„ + th) = уп +1 • ДЛ_, + Д2Л-2 /(/ + 1)-(/ + » -1) «! Д>,.(2.8) + ...+ 2.3.3. Интерполяция сплайнами Недостатками приведенных выше интерполяционных формул являются: □ высокая степень многочлена. Степень рассмотренных многочленов только на единицу меньше числа заданных точек. Поэтому, чем больше точек задано, тем выше степень такого многочлена и соответственно его вычислительная сложность. Кроме этого, хотя график интерполяционного многочлена всегда будет проходить все заданные точки, он может иметь существенные отклонения между ними; □ изменение одного значения таблично заданной функции требует полного пересчета всех коэффициентов интерполяционного многочлена, что может сильно изменить вид получаемой кривой. Интерполяционную кривую можно построить очень простым способом, если последовательно соединить точки заданного набора значений отрезками. В результате получится ломаная линия. При использовании такого способа интерполяции п точек требуется найти всего 2{п -1) чисел (каждый прямолинейный отрезок определяется ровно двумя коэффициентами прямой). Однако построенная таким образом аппроксимирующая кусочно-линейная функция не обладает гладкостью (первая производная этой функции терпит разрывы в узлах стыка полученных прямых). Подход, основанный на интерполяции сплайнами, — это попытка найти класс функций, которые сохранили бы простоту построения описывающей данные модели (особенно невысокую степень используемых многочленов) и при этом в результате применения давали гладкую функцию. Для этого будем использовать многочлены и строить интерполяционную функцию последовательно, звено за звеном. В результате получится так называемый полино-
38 Гпава 2 миалъный многозвенник. При таком подходе важно правильно выбрать степени привлекаемых многочленов, а для гладкости получаемой кривой необходимо тщательно подобрать коэффициенты многочленов (из условий гладкого сопряжения соседних звеньев). Результат применения такого подхода называют сплайн- функциями или сплайнами. Интерполяционным кубическим сплайном называется функция 5(х), обладающая следующими свойствами: □ график этой функции проходит через каждую точку заданного набора точек SU) = Z> Vi; □ на каждом из отрезков функция является многочленом третьей степени S(x) = ^aj°(x-x/y ; 7=0 □ на всем отрезке задания [х0;х„] функция S(x) имеет непрерывную вторую производную. При использовании многочленов третьей степени на каждом из отрезков [xz; xz+1] сплайн-функция S(x) полностью определяется четырьмя коэффициентами. Для полного построения на всей области заданных значений необходимо найти 4(п -1) чисел. Используя вышеприведенные условия, получим п + п-2 уравнений, если приравнять значения составляющих функций значениям точек, через которые они проходят, и еще п-2 уравнения из равенства первых и п-2 уравнения из равенства вторых производных во всех внутренних точках х., что вместе составляет n+n-2+n-2+n-2=4n-6 равенства. Недостающие два уравнения для полного определения коэффициентов можно получить, задав значения первых производных на концах отрезка [х0; xw] (граничные условия): 5"(х0) = 1, S"(xw) = 1. Могут использоваться граничные условия и других типов. В результате получаем разрешимую систему, из которой находим значения всех коэффициентов многочленов. 2.4. Экстраполяция функций (регрессионные модели) 2.4.1. Основы регрессионного анализа Регрессионным анализом называют метод установления аналитической зависимости между зависимой переменной (откликом) и одной или несколькими независимыми переменными (предикторами) хр х2,..., хп.
Временные ряды 39 В общем виде задачу математической регрессии можно сформулировать следующим образом: пусть мы имеем набор точек, заданных парами значений (х,, у), причем х; Ф Xj при /V j, значения у. содержат ошибки измерения. Мы хотим через данные точки провести кривую у, которая является линейной комбинацией заранее выбранных базисных функций (х), j = 1,п. что можно записать, как: 7=1 Примеры часто употребимых функций приведены в табл. 2.5. Таблица 2.5. Примеры часто используемых функций Название функции Формула Степенная у - ахт Показательная у = атх Дробно-линейная 1 у = и ах + Ь Логарифмическая у = alnx + b Г иперболическая 1 + 1 и и Дробно-рациональная X у = и ах + Ь Линейная у = а+ Ьх Асимптотические ах У=1 + Ьх у = а(\-е~Ьх) у = ах-Ьесх 5-образные функции: • логистические кривые (двух-, трех- и четырехпараметрические) • кривая Вейбулла • кривая Гомперца еа+Ьх а Ь-а у = 7-, у = , у - а + l + e l + ne . » l + be d y = a-becxd у = ae~be Горбатые кривые у = axebx, у = ае‘-Ьх,г, у = aebx - се'*
40 Гпава 2 Часто в качестве базисных функций рассматривают мономы /7 = х/_1. Коэффициенты Cj необходимо определить, используя меру близости. Применение мономов основано на том факте, что даже если вид функционального описания не удается определить, то любая функциональная зависимость может быть представлена в виде полинома (например, степенным рядом), тогда уточнение функциональной зависимости сводится к поиску коэффициентов избранной функции. Если найденное выражение не проходит проверку на адекватность, то необходимо выдвинуть другую гипотезу, а в случае с полиномом увеличить степень ряда: у = с0+с1х + с2х2 +... + с„х" ■ Если модель не линейна по переменным, то введением новых переменных ее можно свести к линейной модели. Так, в полиномиальной регрессии можно ввести новые переменные (например, х2 = х2 и х3 = х3). Иначе обстоит дело, когда линеаризующие преобразования подобрать не удается (например, когда в степенной функции показатель степени является параметром). Практическое использование регрессионного анализа сводится к использованию специализированного программного обеспечения. В языке R для этого реализовано несколько функций: is — для линейного регрессионного анализа и nis — для нелинейного регрессионного анализа. Использование этих функций приведено в листинге 2.1, а результаты их применения — на рис. 2.2. # Читаем статистические данные train<-read.table("data_month_training.csv", sep=";", na.strings="NA", header=TRUE) test<-read.table("data_month_test.csv", sep=";",na.strings="NA", header=TRUE) date_train<-as.Date (train[,1], "%d.%m.%Y") volume_train_mustang<-train[,2] date_test<-as.Date (test[,l], "%d.%m.%Y") volume_test_mustang<-test[,2] prediction_nls4 <- function(test_data, train_data, test_time, train_time, values, plot_indicator) { e<-data.frame(x=l:length(train_data),y=train_data) func<-nls(y ~ kl+k2*x+k3*x*x+k4*x*x*x+k5*x*x*x*x, data=e, start=list(kl=0.1, k2=0.1, k3=0.1, k4=0.1, k5=0.1)) if (plot_indicator) { add_data<-matrix(NA, nrow=length(test_data) , ncol=l, byrow=TRUE) add_data2<-matrix(NA, nrow=length(train_data), ncol=l, byrow=TRUE) plot(c(train_time,test_time),c(train_data,add_data),type=’1’, х1аЬ="Время",ylab="Значение параметра") lines(c(train_time,test_time), c(add_data2,test_data), col= ’green') x<-(length(train_data)+1):(length(train_data)+length(test_data))
Временные ряды 41 yfunc<-coef(func)[1]+coef(func)[2]*x+coef(func)[3]*xA2+coef(func)[4]*xA3+ coef(func)[5]*xA4 lines(c(train_time,test_time), c(add_data2, yfunc), col= ’red’) } x<-(length(train_data)+1):(length(train_data)tvalues) yfunc<-coef(func) [1]+coef(func) [2]*x+coef(func) [3]*xA2+coef(func) [4]*xA3+ coef(func)[5]*xA4 return(yfunc) } pred_nls4<-prediction_nls4(volume_test_mustang, volume_train_mustang, date_test, date_train, 39, TRUE) Рис. 2.2. Использование многочлена 4-й степени для прогнозирования значений временного ряда методом регрессионного анализа 2.4.2. Меры близости (метрики) Для поиска коэффициентов выбранной функции нужно решить задачу, которая будет минимизировать отклонение функции от заданных значений. Для решения такой задачи необходимо выбрать критерий. Наиболее широкое распространение получили критерии, основанные на мерах близости расстояний [3]: □ евклидово расстояние: где у, и у' — значения сопоставляемых наборов данных; □ расстояние Хемминга: LAy> /)=£|х-х|; 1=1
42 Гпава 2 □ расстояние Чербышева: □ /) = тах|)л-/|; \<1<т ' 1 пиковое расстояние (расстояние Canberra): т( W>y) = -L( л’ U+z) □ расстояние Махаланобиса: □ V >=1 где о, —среднеквадратическое отклонение yi от у'\ расстояние Ланса — Уильямса: □ косинусная мера: / ZcoS(b /) = !---cos-' 71 Использование мер близости позволяет сформулировать ряд критериев для построения регрессионных моделей, например: □ Среднеквадратическое отклонение. Минимизация квадрата отклонения между экспериментальными/статистическими данными и теоретическими (данными, получаемыми в результате вычисления с помощью избранной функции). Квадрат требуется для того, чтобы все разности имели один знак и не происходило компенсации ошибок при отклонении искомой кривой в разные стороны от статистических значений. j = J—X(y- ~у')2 = Х(у.~у- )2 min ’ V w /=1 ,=1 где у. — значения заданных точек (статистические данные); у* — значения, которые будет давать искомая функция (теоретические значения). 3 Среднеквадратическое отклонение у от у* вычисляется как
Временные ряды 43_ Среднеквадратическое отклонение позволяет получить сглаживание кривой, т. е. отфильтровать зашумленные данные, не требуя никакой дополнительной информации о шумовых характеристиках помех; □ Принцип минимизации максимальных отклонений: J = max у. -у* ->min . \<i<m 1 4 Если применение среднеквадратического отклонения уменьшает среднеквадратичную ошибку, при этом допуская отдельные большие ошибки, то принцип минимизации максимальных отклонений уменьшает экстремально наибольшую ошибку. Поэтому данный принцип используется, когда при аппроксимации необходимо избежать больших ошибок. Принцип минимизации максимальных отклонений, так же как и среднеквадратическое отклонение, не предполагает использование дополнительной информации о шумовых характеристиках исследуемых данных. 2.4.3. Метод наименьших квадратов Будем искать приближенную функцию в виде многочлена: У = f(x) = cj\ (х) + с2/2(х) +... + c„f„(х). Построим матрицу значений базисных функций в заданных точках [21]: f/U) Z2U) •• • ли)] А = ZU) •• • ли) <ли») ли») • ли»), Матрица А, как правило, не будет квадратной матрицей. Пусть с — вектор из п искомых коэффициентов. Тогда можно построить вектор из т значений, через которые проходит данная кривая: f/U) ли) • ли)] U] vur у* = Ас = ZU) Ли) ;• • ли) с2 = /U) <Л U ) ли») ■ •• ли»), <с», у и»), Для минимизации отклонения искомой функции от заданных точек будем искать коэффициенты вектора с, для этого необходимо минимизировать расстояние между векторами у и у* (е, = у;. -у* —ошибка по отдельной переменной). Ошибка системы:
44 Гпава 2 и тогда критерий согласия по методу наименьших квадратов имеет вид: J = Е71Е —> min , где J — критерий; I — единичная матрица. Метод наименьших квадратов не требует никакой априорной информации, т. е. достаточно, чтобы было выполнено условие ( т ~ \ /=1 х!/2 / min (евклидова норма). Другими словами, мы хотим, чтобы сумма квадратов разностей между экспериментальным и теоретическим значением была минимальной (после возведения в квадрат левой и правой частей неравенства), отсюда и название — метод наименьших квадратов (МНК). Z(x -z)2^min. /=1 Как правило, в литературе выводятся формулы для случаев линейного и квадратичного приближения. Мы рассмотрим более общий алгоритм, пригодный для любого выбора базисных функций. Для того чтобы найти минимум функции, необходимо продифференцировать ее по всем переменным и приравнять соответствующие производные нулю. Тогда мы получим систему уравнений, которую можно записать в виде a£(z-x)! /=1 ас* Эту систему уравнений можно переписать в виде матричного уравнения (Ac-Y)rA = 0, которое эквивалентно уравнению Ar(Ac-Y) = 0. (2.9) Полученное уравнение (2.9) в математической статистике называется нормальным уравнением. Можно показать, что матрица А7А является симметрической, и, как известно из теории матриц, если ее столбцы являются линейно независимыми, то существует обратная матрица (А7 А)-1. Тогда нахождение неизвестного вектора с выражается формулой: с = ((агаГ'A7)y. 2.4.3.1. Марковские оценки или обобщенный МНК Имеем: J = ErNE->min
Временные ряды 45 где N = (2.Ю) где г[пп — влияние шумовой помехи /-й переменной на шумовую помеху j-й переменной объекта (е(и, , и,-) = 1). Матрица (2.10) должна быть известна априорно, исходя из характеристик шумовых помех на объект. 2.4.4. Использование рядов в задачах приближения функций (вейвлет-анализ) Метод вейвлет-анализа основан на рядах Фурье. В соответствии с принципом интерференции ряд начинается с разложения сложной формы на простые. Фурье показал, как эти простые решения можно суммировать, чтобы получить решение всей сложной задачи в целом. Говоря языком математики, ряд Фурье — это метод представления функции суммой гармоник— синусоид и косинусоид, поэтому анализ Фурье был известен также под названием ’’гармонический анализ”. Преобразование Фурье позволяет представить непрерывную функцию /(х) (сигнал), определенную на отрезке [0; Г] в виде суммы бесконечного числа (бесконечного ряда) тригонометрических функций (синусоид и/или косинусоид) с определенными амплитудами и фазами, также рассматриваемых на отрезке [0; Г]. Такой ряд называется рядом Фурье. Например, тригонометрический ряд Фурье: где а0 = — f(x)dx\ ап= — I f (x)cos(nx)dx ; bn =— f {x)sm(nx)dx — коэффи- циенты Фурье-функции f (x). Вейвлет— математическая функция, позволяющая анализировать различные частотные компоненты данных. График функции выглядит как волнообразные колебания с амплитудой, уменьшающейся до нуля вдали от начала координат (рис. 2.3). Однако это частное определение — в общем случае анализ сигналов производится в плоскости вейвлет-коэффициентов (масштаб— время— уровень). Вейвлет- коэффициенты определяются интегральным преобразованием сигнала. Полученные вейвлет-спектрограммы принципиально отличаются от обычных спектров Фурье тем, что дают четкую привязку спектра различных особенностей сигналов ко времени.
46 Гпава 2 256 128 64 32 i 16 2 ES 8 о Q. <U 4 C 2 1 2.7 00 1 о 00 S О О S X 00 5 Г) X 1) 00 о Q. > 05 0 25 1 00 50 100 150 200 250 Номер шага/значения, время Рис. 2.3. Пример спектрограммы для зависимости времени (по горизонтали) от периода (по вертикали) для данных об объеме продаж Спектрограмма позволяет выбрать периоды, которые будут оказывать наибольшее влияние на прогноз значений, после чего для каждой кривой, реконструированной кривой для выбранных периодов, провести прогнозирование одним из методов, дающих наилучший результат. В примере реализации (листинг 2.2, рис. 2.4) использован метод авторегрессии. Полученные данные для учета всех составляющих в простейшем случае можно усреднить. В результате получим данные, приведенные на рис. 2.5. library (WaveletComp) prediction_wavelet <- function(test_data, train_data, test_time, train_time, values, plot_indicator) { endingindex <- length(train_data) Sml <- as.data.frame(test_data, row.names = NULL) #test Sm2 <- as.data.frame(train_data, row.names = NULL) tttrain my.w<- analyze.wavelet(Sm2, ”train_data", loess.span = 0, dt=l, dj=l/298, lowerPeriod = 1/4, upperPeriod = 256, make.pval = F, n.sim=10) if (plot—indicator) { wt.image(my.w, n.levels = 337, legend.params = list(lab="wavelet power levels")) } # гармоника с периодом 3 my.rec3<- reconstruct(my.w, sei.period = 3, show.legend = F) x.rec3<- my.rec3$series$train_data.r model3<-auto.arima(x.rec3) future3<-forecast(model3, h=values)
Временные ряды 47 50 100 150 200 250 а 50 100 150 200 250 б 50 100 150 200 250 в 50 100 150 200 250 0 г Рис. 2.4. Внешний вид функций, соответствующих отдельным гармоникам а — для периода 3 единицы времени; б — для периода 7 единиц времени; в — для периода 12 единиц времени; г — для периода 96 единиц времени 1990 1995 2000 2005 2010 2015 Рис. 2.5. Использование метода вейвлет-анализа для прогнозирования значений временного ряда
48 Гпава 2 # гармоника с периодом 7 my.rec7<- reconstruct(my.w, sei.period = 7, show.legend F) x.rec7<- my.rec7$series$train_data.r model7<-auto.arima(x.rec7) future7<-forecast(model7, h=values) # гармоника с периодом 12 my.recl2<- reconstruct(my.w, sei.period = 12, show.legend = F) x.recl2<- my.recl2$series$train_data.r modell2<-auto.arima(x.recl2) futurel2<-forecast(modell2, h=values) # гармоника с периодом 96 my.rec96<- reconstruct(my.w, sei.period = 96, show.legend = F) x.rec96<- my.rec96$series$train_data.r model96<-auto.arima(x.rec96) future96<-forecast(model96, h=values) res<-NA s<-(future3$mean+future7$mean+futurel2$mean+future96$mean)/4 if (plot_indicator) { add_data2<-matrix(NA, nrow=length(train_data), ncol=l, byrow=TRUE) plot(c(train_time,test_time), c(train_data,test_data), type=’1',х1аЬ="Время”, у1аЬ="Значение параметра", ylim=range(0:max(c(train_data,test_data)))) lines(c(train_time,test_time), c(add_data2,test_data), col= ’green’) # рисуем тестовые данные lines(c(train_time,test_time), c(add_data2, s), col= ’red’) # рисуем предсказанные данные } return(s) } pred_wavelet—volume_F150<-prediction_wavelet(volume_test_F150, volume_train_F150, date_test, date_train, 39, TRUE) 2.4.5. Метод опорных векторов для решения задач регрессии Основная идея метода опорных векторов (support vector machine, SVM) для решения задачи регрессии состоит не в использовании меры близости для минимизации отклонения, а в постановке в виде задачи оптимального управления: |||С||2 -» min ; (2.11) где е — погрешность4. 4 В некоторых случаях вводят более мягкое ограничение ^-^*<8 + ^, где — максимально отстоящее значение, выходящее за доверительный интервал 8.
Временные ряды 49 Для решения задачи математического программирования известны точные методы для линейных и квадратичных целевых функций. В связи с этим в литературе часто встречаются функции: О у* = cQ + с} • х, — линейный случай; □ У* = со + с\ ’ \[\ + c2^2X/2 — нелинейный случай. Каждая задача математического программирования имеет обратную. Обратная задача для приведенной задачи (2.11) в линейном случае будет выглядеть следующим образом: э£Х(а< _а*Иа/ -а’)-(х,,х,)^тах; 1=1 /=1 т Х(а«-а*)=0’ /=1 где а, и а/ — двойственные переменные для коэффициентов с{ для всех значений набора данных. Если сложность предыдущей задачи определялась размерностью данных, то сложность обратной задачи зависит от количества векторов. Вид функции ядра зависит от того, какой вид функции для у* был выбран. Иногда вид этой функции выбирают уже для обратной задачи. Для решения задачи регрессии одну переменную х, рассматривают как искомый вектор значений — обозначим х, а вторую х( как вектор известных значений — z. В новых обозначениях для линейного случая K(x,z) = [x9z}, а для нелинейного случая К(х, z) - ф(х) • (p(z) запишем наиболее распространенные функции: □ полиномиальное ядро (однородное): К(х, z) = (x-z)d = ^xrz, , /=1 где d — целое положительное число; □ полиномиальное ядро (неоднородное): К(х, z) = (x-z + \)d- □ радиальная базисная функция Гаусса: К(х, z) = ехр к I 1|2 А |х -z|| 2о2 J □ сигмоидное ядро: К(х, z) = th(<?!%• z + с2), как правило, с, > 0, с2 < 0 .
50 Гпава 2 Все современные исследования в области SVM сосредоточены на поиске и исследовании новых функций ядра. Таким образом, в результате решения мы находим значения х для будущих периодов на основе предыдущих значений. 2.4.6. Использование фрактальных методов для прогнозирования Фракталом называют структуру, состоящую из частей, которые в каком-то смысле подобны целому [29]. Понятие фрактала было предложено математиком Бенуа Мандельбромом в 1975 г. для обозначения нерегулярных, но самоподобных структур. Рождение фрактальной геометрии принято связывать с выходом в 1977 г. его книги "The Fractal Geometry of Nature”. В работе использованы научные результаты других ученых, работавших в 1875-1925 гг. в той же области (Пуанкаре, Фату, Жюлиа, Кантор, Хаусдорф). Фракталы имеют определенные особенности и свойства. Первое свойство — самоподобие [29]. Оно означает, что части в некотором роде связаны с целым. Это свойство делает фрактал масштабно-инвариантным. Фрактальные зависимости имеют прямой вид на графиках, где обе оси имеют логарифмический масштаб. Модели, описываемые таким образом, должны использовать степенную зависимость (вещественное число, возведенное в степень). Эта особенность, связанная с масштабированием по степенному закону, является вторым свойством фракталов — фрактальной размерностью, которая может описывать либо физическую структуру, такую как легкое, береговая линия, дерево, либо временной ряд. Фрактальные свойства помогают нам различать и предсказывать особенности окружающей действительности. Основной характеристикой фрактальных объектов является фрактальная размерность D. являющаяся основным параметром, отражающим их свойства. Это коэффициент, описывающий фрактальную структуру на основе ее сложности. Фрактальный коэффициент может принимать как целочисленное, так и не целочисленное значение, поскольку фрактальное множество заполняет пространство не так, как это делает обычное геометрическое множество. Например, кривая с фрактальной размерностью, очень близкой к 1, скажем, 1.10, ведет себя вполне как обычная линия, но кривая с фрактальной размерностью 1.9 намотана в пространстве почти как поверхность. Подобным образом ведет себя поверхность с фрактальной размерностью 2.1. Она заполняет пространство почти как обычная поверхность, но поверхность с фрактальной размерностью 2.9 сворачивается и стремится заполнить пространство почти как объем. Понятие фрактальной размерности — это классический вид сложной структуры5. На практике фрактальные размерности могут быть определены с помощью мето5 Под размерностью мы понимаем количество независимых параметров, необходимых для описания состояния изучаемого объекта.
Временные ряды 51 дов, использующих приблизительный масштаб. В качестве определения фрактальной размерности в [6] используют следующую формулу: е->° ln(e) где Nt — минимальное число и-мерных ’’шаров” (множеств) радиусом е, необходимых для покрытия множества. Фрактальная размерность может принимать нецелое числовое значение. Фрактальную размерность кривой можно объяснить интуитивно, предполагая, что фрактальная линия — это объект слишком детальный (подробный), чтобы быть одномерным, но недостаточно сложный, чтобы быть двумерным. Поэтому ее размерность лучше описывать не обычной топологической размерностью 1, но ее фрактальной размерностью, равной в этом случае числу, лежащему в интервале между 1 и 2. Программа для прогнозирования данных с использованием фрактального метода приведена в листинге 2.3, а результат прогнозирования представлен на рис. 2.6. library (fractaldim) prediction_frac <- function(test_data, train_data, test_time, train_time, values, plot_indicator) { endingindex <- length(train_data) total_error <- 0 error_per_prediction <- c() method <- "rodogram" random_sample_count <- values Sml <- as.data.frame(test_data, row.names = NULL) Sm2 <- as.data.frame(train_data, row.names = NULL) for(i in 1:values){ delta <- c() for(j in 2:length(train_data)) {delta <- rbind(delta, (train_data[j]-train_data[j—1]))} Std_delta<-apply(delta, 2, sd) # вычисление стандартного отклонения V_Reference<-fd.estimate(train_data, method=method, trim=TRUE)$fd # уточнение фрактальной размерности Sm_guesses<-rnorm (random_sample_count, mean=train_data[length(train_data)], sd=Std_delta) minDifference = 1000000 for(j in 1:length(Sm_guesses)){ new_Sm<-rbind(Sm2, Sm_guesses[j]) new_V_Reference<-fd.estimate(new_Sm$train_data, method=method, trim=TRUE)$fd if (abs(new_V_Reference - V_Reference) < minDifference ){ Sm_prediction <- Sm_guesses[j]
52 Гпава 2 minDifference = abs(new_V_Reference - V_Reference) } } Sm2 <- rbind(Sm2, Sm_prediction) } s<-Sm2 [,1] ss<-s[(endinglndex+l):(endinglndex+values)] if (plot_indicator) { add_data2<-matrix(NA, nrow=length(train_data), ncol=l, byrow=TRUE) # рисуем тестовые и предсказанные данные plot(с(train_time,test—time), с(train_data,test_data), type=’l’, х1аЬ=”Время”, у1аЬ="Значение”, ylim=range(0:max(c(train_data, test_data)))) lines(c(train_time,test_time), c(add_data2,test_data), col=’green’) lines(c(train_time,test_time), c(add_data2, ss), col='red’) } return(ss)} pred_frac_volume_mustang<-prediction_frac(volume_test_mustang, volume_train_mustang, date_test, date_train, 39, TRUE) о о о о сч о о о о о о о о о о о 1990 1995 2000 2005 2010 2015 Рис. 2.6. Использование фрактального метода для прогнозирования значений временного ряда Следует отметить особенность использования фрактальных методов для прогнозирования временных рядов. Она связана с тем, что получаемый результат при каждом новом расчете будет незначительно отличаться. Эта специфическая особенность позволяет применять данные методы в такой области, как моделирование поведения присутствия человека (в системах умного дома), и подобных задачах, связанных с присутствием человека, который даже при наличии жесткого режима не повторяет свои действия с точностью до секунд и минут.
Временные ряды 53 2.4.7. Метод fcNN для решения задач регрессии При решении задачи регрессии методом ANN параметром модели является количество ближайших соседних точек к , используемых для получения новых значений. Например, если нам необходимо оценить значение у0 в точке х0, то берем значения у ближайших к х0 к точек и вычисляем значение к Процесс обучения сводится к подбору значения к, которое будет давать наилучший результат [68], для чего можно использовать различные методы. Наибольшее распространение получил метод кросс-проверки6. Суть метода кросс-проверки состоит в том, что весь набор данных разбивается на п равных по размеру блоков, затем последовательно каждый из блоков i е [1,..., п -1 ] используется для обучения, а результат проверяется на следующем за ним блоке j е [2,..., и]. Очевидно, что п может принимать значение от 2 до К , где К — количество значений в наборе данных. В результате такой проверки выбирается п. дающее усредненный наилучший результат по точности прогнозирования по одному из критериев согласия. Значение в результате определяем по фор- » К муле к - —. п 2.4.8. Множественные регрессионные модели Под множественными регрессионными моделями будем понимать класс моделей, в которых значения одного или множества исследуемых параметров зависят от нескольких (более одного) других параметров7. При построении модели с множеством зависимых переменных от множества других переменных методом регрессии получим систему: У\ = с10 + >/(^) + с12/(х2 ) + ... + с1п/(х„) + .. У2 = С20 + С21 f (*1) + C21f{X2 )+- + Cznf(xn ) + Ут = с»,о + ) + см2/(х2) + ... + cm„f(xn) + ... 6 Иногда используют название "кросс-валидация” как кальку с английского названия cross validation. 7 Такие методы регрессии также называют параметрическими.
54 Гпава 2 Коэффициенты в этом случае, как и прежде, находим методом наименьших квадратов: С, =((Af Aj ' Af^Y,; ^((a'aJ'aOy,; cm=((a:aJ'aL)y„. В нелинейных случаях уравнения в системе будут дополняться слагаемыми более высоких порядков или другими нелинейными функциями по аналогии со случаем с одним входом и одним выходом. 2.4.8.1. Метод частичных наименьших квадратов (PLS) Сведем исходные данные для построения модели в матрицы X и Y, где X — матрица независимых переменных размера NxDx, Y — матрица откликов (зависимых переменных) размера N*Dr, где N — объем выборки, a Dx и DY — размерности исходных пространств признаков [35]. Для корректного построения модели исходные данные должны быть отцентрированы, т. е. сумма отклонений значений векторов от средних значений: Х = £дг,=ОиГ=ХДу,=°. /=1 /=1 Центрированную модель PLS можно записать следующим образом: Х = ТХ+Ех; y=tkp;+ег, где Tv = (tx, tx 2 ... tx — матрица счетов для независимых переменных (Yx р); Tr =(t}! tY 2... ty р) — матрица счетов для откликов (TVxр); Р% =(рх j р% 2... р% — матрица нагрузок для независимых переменных {Dx х р ); Рк = (pr j pY2 ... pr — матрица нагрузок для откликов (DY х р); Ех — вектор ошибок для предикторов (N х Dx); Еу — вектор ошибок для откликов (N х DY); р — порядок модели, лежащей в диапазоне 1,..., rangX . Векторы счетов tx . и tr, представляют собой проекции исходных данных на направления , е RI)x и Wy е RI)} , вдоль которых достигается локальный максимум ковариации между исходными данными. Для расчета векторов счетов и нагрузок известно несколько алгоритмов. Один из них — алгоритм NIPALS — является разновидностью степенного метода и позволяет рассчитать одну пару векторов счетов Тх и Тк, соответствующую направле¬
Временные ряды 55 ниям w% и wr, вдоль которой достигается глобальный максимум ковариации (алгоритм SIMPLS). {w^, wr} = arg max w^XrYwr = arg max tTxtY 8, Wv,Wj где ||wx||2 = ||wr||2 =1. Легко показать, что решение может быть найдено как решение задачи на собственные векторы, соответствующее максимальному собственному числу X: \т Y wr =Xw%; Yr -X-w% =Xwr. Получить решение можно с помощью алгоритма NIPALS [40], результат работы которого будем записывать в следующем виде: (tx, , tr, wr, X} = NIPALS(X, Y). Построение модели регрессии предполагает существование линейного отображения, связывающего матрицы счетов: Tr = TXD + H, где D — матрица размера р х р; Н — матрица ошибок размера NxDY . Таким образом, исходная модель запишется в следующей форме: Х = ТХ+Ех; Y = TxQy+Fr. Так как операция проекции сводится к умножению на матрицу, построенная модель регрессии может быть записана в исходных системах координат [40]: Y=XR+G, где R — матрица регрессии размера Dx xDY; G — матрица погрешностей размера NxDy . Полученные на этапе построения модели матрицы весов, нагрузок и счетов позволяют записать выражение для матрицы регрессии R: R = W¥ • (Pj • Wx )’1 • Q \ = Хг • Ту • (TJ • X • Хт ■ Тг)'' • т; • Y. Таким образом, реконструкция откликов по предикторам сводится к умножению на матрицу регрессии: y*y = RTx. 2.4.8.2. Метод lasso Метод lasso нашел применение как для параметрической, так и непараметрической регрессии. В общем случае обозначим через X матрицу признаков, а через Y — Индекс i здрсъ опущен, т. к. речь идет только об одной паре векторов счетов.
56 Гпава 2 вектор ответов. Так же как и в методе наименьших квадратов, в качестве критерия качества будем использовать: т 2 /=1 однако дополним его ограничением т 7=0 где t — положительное число. Когда t велико, мы получаем то же решение, что и в случае с регрессионной моделью; однако когда t мало, многие из коэффициентов Cj обнуляются. Полученную задачу можно решить методом квадратичного программирования. Это накладывает ограничения на вид функции у , для которых задача будет разрешима. Разрешимой задача будет только в случае использования линейной функции: У =С^СхХ^С2Х2^.„ + СтХт. В литературе существуют и специальные методы для решения получаемой задачи (см. [47, 62]). 2.4.9. Динамические регрессионные модели На практике встречаются модели, изменяющие свои характеристики во времени. Такие модели, как правило, представляют собой обратные связи, системы автоматического регулирования и управления, хорошо описываемые типовыми динамическими звеньями. Для определения параметров типовых динамических звеньев хорошие результаты дает МНК. Передаточная функция определяется как отношение выхода ко входу: где у — значения, получаемые на выходе; х — входное воздействие. Рассмотрим, как можно привести описание динамической модели к виду, пригодному для применения МНК, на примере инерционного звена второго порядка (колебательное звено). Передаточная функция такого звена записывается в виде Вхр2 + В2р 4-1 р2 + с2р -I- с3 ’ d где р = —. dt То же самое в виде дифференциального уравнения 2-го порядка: d2y dy —г- + с, — + с, у = с.х. dt2 2 dt 3 1
Временные ряды 57 Дважды проинтегрируем это выражение: Т Т х Т х у + с2 ^ydt + с3 j jydxdt = ci J jxdxdt. о 0 0 0 0 Нужно определить коэффициенты с,, с2, с3, при работе со статистическими данными уравнение необходимо записать в дискретном виде (через суммы): m m j m J ym +с2^У‘ ^Цу. t •••>«’ / = 1 7 = 1 /=1 7=1 Z = 1 где и — число экспериментов. Выразим ут и получим Ут=С^^Х'+С&У' +Сз1^У< ’ W = j=\ /=1 /=1 7=1 /=1 где xt и у — экспериментальные данные (имеющиеся статистические значения); знак перед коэффициентами сх, с2, с3 в рассмотренном выражении не играет роли, т. к. при проведении расчетов мы получим их с требуемым знаком. Рассмотрим пример определения коэффициентов передаточной функции. По известным данным эксперимента (табл. 2.6) нужно определить параметры передаточной функции Р2 + с2р + с3 Входное воздействие равно единичной функции X(Z) = 1(Z), что соответствует сле¬ дующим условиям: рГ(Г) = О, Г<0; [JV(Z) = 1, Г>0. Таблица 2.6. Данные эксперимента на динамической модели типа ’’черный ящик” t 0 1 2 3 4 5 6 7 8 9 10 11 12 13 У 0 1.9 5.11 6.81 6.49 5.28 4.41 4.34 4.76 5.16 5.27 5.14 4.98 4.9 Нам необходимо определить коэффициенты сх, с2, с3, для чего уравнение выразим через суммы в разностном виде: т т J т j ут + + сз = с\ YLxi • (2-12) /=1 7=1 /=1 7=1 /=1 Для облегчения составления матрицы А можно построить таблицу предварительных расчетных данных (табл. 2.7).
58 Гпава 2 Таблица 2.7. Предварительные расчетные данные i Л т Ел /=1 т j ЕЕ*. 7=11=1 т J ЕЕл ;=1(=1 1 0 0 0 0 0 0 2 1 1 1.9 1.9 1 1.9 3 2 1 5.11 7.01 3 8.91 4 3 1 6.81 13.82 6 22.73 5 4 1 6.49 20.31 10 43.04 6 5 1 5.28 25.59 15 68.63 7 6 1 4.41 30 21 98.63 8 7 1 4.34 34.3 28 132.97 9 8 1 4.76 39.1 36 172.07 10 9 1 5.15 44.26 45 216.33 11 10 1 5.27 49.53 55 265.86 12 11 1 5.14 54.67 66 320.53 13 12 1 4.98 59.65 78 380.18 14 13 1 4.9 64.55 91 444.73 Рис. 2.7. График функции передаточного звена и экспериментальные точки
Временные ряды 59_ Из полученного выражения (2.12) выразим ут : ут = Z&-+ с2 2/, + ■ 7=1 /=1 /=1 /=1 /=| Согласно методу наименьших квадратов с = (а7а) Агу. Подставив данные, получаем: сх - 4.623 , с2 = -0.017 , с3 = -0.933 и итоговое выражение для ут : т ) т т / Ут =4.623£2> -0.01?Ху, -0.93з££у,. 7=1 /=1 /=1 ;=1 /=1 Построим график экспериментальных данных и функцию, полученную теоретически (рис. 2.7). 2.5. Авторегрессионные модели На практике часто приходится сталкиваться с временными рядами, имеющими сложную структуру, описание которой с использованием традиционных подходов не дает приемлемых результатов [2]. В настоящее время для описания таких процессов чаще всего используются авторегрессионные модели. 2.5.1. Понятие стационарности временного ряда При построении моделей на основе временных рядов принято различать в зависимости от наличия основной тенденции стационарные и нестационарные временные ряды. Использование в регрессионной модели нестационарных временных рядов может привести к фиктивным результатам или построению так называемой мнимой, или ложной, регрессии. Это обусловливает необходимость учитывать при моделировании являются временные ряды стационарными или нет. Определение 1 Ряд У(/) называется стационарным в сильном смысле (строго стационарным, стационарным в узком смысле), если совместное распределение т наблюдений Y (/,), Y(t2), ..., Y(tm) не зависит от сдвига по времени, т. е. совпадает с распределением Y+/), Y(t2 + /),..., Y(tm + /) для любых т, /, tx, t29..., tm . Определение 2 Ряд Y(t) называется стационарным в слабом (широком) смысле, если такие статистические характеристики временного ряда, как его математическое ожидание (среднее) М , дисперсия (среднеквадратическое отклонение) D и ковариация cov, не зависят от момента времени. М[К(г)] = я = const; Ш)[У(г)] = о2 = const; cov(n,n,) = R(k). Если нарушается хотя бы одно из этих условий, то ряд называется нестационарным.
60 Гпава 2 Строгая стационарность подразумевает слабую стационарность. Стационарность может нарушаться по математическому ожиданию, по дисперсии. В зависимости от выбранной характеристики чаще всего говорят о стационарности временного ряда относительно среднего значения или дисперсии. В практической работе стационарность ряда означает отсутствие [2]: О тренда; □ систематических изменений дисперсии; □ строго периодических флуктуаций; □ систематически изменяющихся взаимосвязей между элементами ряда. Определение 3 Временной ряд Y(t) называется стационарным относительно детерминированного тренда f(t), если ряд (У(/)- /(/)) стационарный. Если ряд Г(Г) стационарен относительно некоторого детерминированного тренда, то говорят, что этот ряд принадлежит классу рядов, стационарных относительно детерминированного тренда, или что он является 73-рядом. В класс 73-рядов можно включить также стационарные ряды, не имеющие детерминированного тренда. Если временной ряд является стационарным относительно детерминированного тренда, то он может быть сведен к стационарному ряду путем введения аддитивной составляющей со знаком ’’плюс” или ’’минус”. Для проверки стационарности временного ряда широко используются тесты (например, тест Дикки — Фуллера). Все тесты имеют недостатки, поэтому оправданно одновременное применение нескольких тестов, в том числе графического анализа временных рядов (включая график автокорреляционных функций, т. е. коррелограмму, которая независимо от значений в первом лаге у стационарных рядов должна быстро убывать после нескольких первых значений, а у нестационарных временных рядов ее значения в первом лаге близки к единице, а затем она медленно убывает по угасающей экспоненте (синусоиде)). Значения автокорреляционной функции характеризуют тесноту статистической связи между между уровнями временного ряда, разделенными т тактами: соу(Ур^,) Ф,1 р(т) = где соу(А’,У) = М[(Л'-М[Аг])(У-М[У])] = соу(Х(„|,};„)) = -^(Х,= п /=1 Расширенный тест Дики — Фуллера (ADF-тест) рассматривает гипотезу о нестационарное™ ряда. Тест ADF является односторонним: в качестве альтернативной гипотезы по умолчанию считается гипотеза о стационарности ряда.
61 Временные ряды В листинге 2.4 приведена программа, реализующая ADF-тест. library(tseries) # Библиотека для работы с временными рядами. х <- rnorm(lOOO) # Сгенерировали стационарный ряд # (1000 случайных чисел, распределенных по нормальному закону). adf.test(х, alternative="stationary") # Тест ADF. В результате выполнения программы получим результат: Augmented Dickey-Fuller Test data: x Dickey-Fuller = -11.3533, Lag order = 9, p-value = 0.01 alternative hypothesis: stationary Warning message: In adf.test(x) : p-value smaller than printed p-value Поскольку ^-значение (p-value) мало, с уровнем значимости 0.01 данный ряд можно считать стационарным. Теперь проверим заведомо нестационарный ряд (листинг 2.5). у <- diffinv(x) # Нестационарный ряд. adf.test(у, alternative="stationary") Получим: Augmented Dickey-Fuller Test data: у Dickey-Fuller = -2.4271, Lag order = 9, p-value = 0.3975 alternative hypothesis: stationary Поскольку значение p-value велико, нет оснований отвергать гипотезу о нестационарное™ ряда. Моделирование нестационарных временных рядов с помощью модели авторегрессии и проинтегрированного скользящего среднего осуществляется в три этапа: 1. Проверка временного ряда на стационарность. 2. Идентификация порядка модели и оценивание неизвестных параметров. 3. Прогноз. Применение авторегрессионной модели предполагает обязательную стационарность исследуемого ряда, поэтому на первом этапе данное предположение проверяется с помощью автокорреляционной функции.
62 Гпава 2 Устранить нестационарность временного ряда можно с помощью метода разностных операторов. Разностным оператором первого порядка называется замена исходного уровня временного ряда разностями первого порядка (ДУ(7) = У(/)-У(/-1)). Разностные операторы первого порядка позволяют исключить линейные тренды. Разностные операторы второго порядка позволяют исключить параболические тренды (AY(t) = Y(t)-Y(t-2)). Сезонные разностные операторы предназначены для исключения 12 или 4 периодичных сезонностей: &Y(t) = Y(t)-Y(t-12) или ДУ(/) = У(/)-К(/-4). Если модель содержит и трендовую, и сезонную компоненты, то необходимо применять оба оператора. На втором этапе необходимо решить, сколько параметров авторегрессии и скользящего среднего должно войти в модель. Оценкой точности прогноза, сделанного на основе модели авторегрессии и проинтегрированного скользящего среднего, является среднеквадратическая ошибка (см. критерий Пирсона). Чем меньше данный показатель, тем точнее прогноз. Модели авторегрессии и проинтегрированного скользящего среднего считаются адекватными исходным данным, если остатки модели являются некоррелированными нормально распределенными случайными величинами. 2.5.2. Модели стационарных временных рядов Идея авторегрессии состоит в использовании для получения новых (прогнозных) значений предыдущих значений. Термин ’’авторегрессия” означает зависимость последующего значения от предыдущих. В случае авторегрессии предполагается линейная зависимость, т. е. прогноз представляет собой сумму предыдущих значений с некоторыми коэффициентами, которые являются постоянными и определяют параметры модели авторегрессии, а также порядок модели авторегрессии р — количество предыдущих периодов из прошлого, которые мы будем использовать для прогнозирования (например, если на вход модели будем подавать значения за три предыдущих интервала (за три предыдущих дня), а прогнозировать значение в следующий период (сколько будет продано на следующий день), то порядок модели р = 3 ). Кратко это часто записывается как AR(3). Формула будет иметь вид: Y(t) = а0 + a}Y(t -1) + a2Y(t - 2) + a3Y(t - 3) + s(r), где a — коэффициенты (параметры модели); Y — значения предыдущих этапов; е — случайная ошибка (случайное воздействие). В общем виде авторегрессионная (AR) модель записывается как: Г(/) = а0 + £агК(/-/) + £(/). /=1 Для моделирования случайной ошибки используют модель скользящего среднего (moving average, МА):
Временные ряды 63 где q — порядок модели; е — последовательность независимых и одинаково распределенных случайных величин (как правило, нормальных) с нулевым средним. Для анализа и прогнозирования стационарных временных рядов в статистике широкое распространение получила модель авторегрессии — скользящего среднего (ARMA). Модель ARMA обобщает две приведенные выше модели. Моделью ARMA( р, q), где р и q — целые числа, задающие порядок модели, называется следующий процесс генерации временного ряда: Г(/) = я0 + е(Г) + ^а, • Y(t - i) + Yb.- e<' - л • '=1 J=\ Эту модель можно рассматривать как линейную модель множественной регрессии, в которой в качестве переменных выступают прошлые значения зависимой переменной. Текущее наблюдение в модели скользящего среднего представляет собой сумму случайной компоненты в данный момент времени и линейной комбинации случайных воздействий в предыдущие моменты времени. 2.5.3. Модель проинтегрированного скользящего среднего (модель Бокса — Дженкинса) Наиболее часто встречающиеся временные ряды являются нестационарными. Не- стационарность обычно проявляется в наличии зависящей от времени неслучайной составляющей f (/). Для описания таких рядов используется модель авторегрессии проинтегрированного скользящего среднего (autoregressive integrated moving average, ARIMA). ARIMA— модель и методология анализа временных рядов. Является расширением моделей ARMA для нестационарных временных рядов, которые можно сделать стационарными взятием разностей некоторого порядка от исходного временного ряда (так называемые интегрированные или разностностационарные временные ряды). Модель ARIMA( р, d , q) означает, что разности временного ряда порядка d подчиняются модели ARMA( р, q ). В общем виде модель авторегрессии проинтегрированного скользящего среднего описывается формулой AJY(t) = а0 + е(0 + Y Ч ’ Л" • Y(t - 0 + ~ J) > /=1 7=1 где — разностный оператор временного ряда порядка d . Также данная модель интерпретируется как ARMA( p + d, q) — модель с d единичными корнями. При d = 0 имеем обычные ARMA-модели. Для рядов с периодической сезонной компонентой применяется модель авторегрессии проинтегрированного скользящего среднего с сезонностью, которая в обозначениях Бокса и Дженкинса записывается как ARIMA( р, d , q)(ps, ds. qs\ где ps — сезонная авторегрессия; ds — сезонный разностный оператор; qs — сезонное скользящее среднее.
64 Гпава 2 В листинге 2.6 приведен пример кода, на рис. 2.8 — график. library(forecast) prediction_arima <- function(test_data, train_data, test_time, train_time, values, plot_indicator) { model<- auto.arima(train_data) future<- forecast(model, h=values) pred<-as.vector(future$mean) if (plot_indicator) { add_data2<-matrix(NA, nrow=length(train_data), ncol=l, byrow=TRUE) plot(c(train_time,test_time), c(train_data,test_data), type='1',х1аЬ="Время", ylab=”Значение параметра”, ylim=range(0:max(c(train_data,test_data)))) lines(c(train_time,test_time) , c(add_data2,test_data), col= ’green') # рисуем тестовые данные lines(c(train_time,test_time), c(add_data2, pred), col= 'red') # рисуем предсказанные данные } return(pred) } pred_arima<-prediction_arima (volume_test_mustang, volume_train_mustang, date_test, date_train, 39, TRUE) о Ф о о еч о о о О о о о о о о о 1990 1995 2000 2005 2010 2015 Рис. 2.8. Использование ARIMA-модели для прогнозирования значений временного ряда
Временные ряды 65 2.6. Корреляция Корреляция — статистическая взаимосвязь двух или более величин. При этом изменения значений одной или нескольких из этих величин сопутствуют систематическому изменению значений другой или других величин. Математической мерой корреляции двух величин служит корреляционный коэффициент. Важной характеристикой совместного распределения двух случайных величин является ковариация (или корреляционный момент). Ковариация определяется как математическое ожидание произведения отклонений случайных величин [22]: cov(X, У) = G V1. = м[[X - М[Х]](У - М[У])] = М[АТ] - М[Х]М[У], где М — математическое ожидание. Если ковариация положительна, то с ростом значений одной случайной величины значения второй имеют тенденцию возрастать, а если знак отрицательный — то убывать. Однако только по абсолютному значению ковариации нельзя судить о том, насколько сильно величины взаимосвязаны, т. к. ее масштаб зависит от их дисперсий. Масштаб можно отнормировать, поделив значение ковариации на произведение среднеквадратических отклонений (квадратных корней из дисперсий). При этом получается так называемый линейный коэффициент корреляции, или корреляционный коэффициент Пирсона (Брависа — Пирсона), который оценивает корреляцию между наборами данных, заданными парами значений (х,, у,) и (х,, у,) при / = 1, ..., п : r _ cov(X, У) _ cov(X, У) _ >/var(A')var(y) Стд-Сту 2 ” ZT ’ V /=1 /=1 | л | п где а —среднеквадратическое отклонение9; х = — Vxz, у-— \у, . п /=i п /=1 9 Дисперсия случайной величины — мера разброса значений случайной величины относительно ее математического ожидания. Обозначается ©[X] в русской литературе и в зарубежной var(X). В статистике часто употребляется обозначение <з2х или а2. Квадратный корень из дисперсии, равный о, называется среднеквадратическим отклонением, стандартным отклонением или стандартным разбросом. Стандартное отклонение измеряется в тех же единицах, что и сама случайная величина, а дисперсия — в квадратах этой единицы измерения. Из неравенства Чебышева следует, что вероятность того, что значения случайной величины отстоят от математического ожидания этой случайной величины более чем на к стандартных отклонений, составляет менее 1/Л2. В специальных случаях оценка может быть усилена. Так, например, как минимум в 95% случаев значения случайной величины, имеющей нормальное распределение, удалены от ее среднего не более чем на два стандартных отклонения (правило "двух сигм"), а примерно в 99,7%— не более чем на три (правило "трех сигм").
66 Гпава 2 Получаемое значение будет лежать в диапазоне -1 <r < 1: г>0 — позитивная корреляция; г < 0 — негативная корреляция; г = 0 — отсутствие корреляции; |г|<0,5— слабая корреляция; 0,5<|г|<0,8— средняя корреляция; 0,8<|г|— сильная корреляция. Значительная корреляция между двумя наборами значений свидетельствует о существовании статистической связи, однако такая связь не всегда имеет причинно- следственный характер. Например, в статье [52] авторы обнаружили статистическую связь между количеством потребляемого в стране шоколада и количеством нобелевских лауреатов. Однако увеличение потребления шоколада не приведет к увеличению нобелевских лауреатов, очевидно, что и при уменьшении количества шоколада в продаже количество нобелевских лауреатов также меньше не станет. Корреляция двух величин может свидетельствовать о существовании общей причины, хотя сами явления напрямую не взаимодействуют. Например, обледенение становится причиной как роста травматизма из-за падений, так и увеличения аварийности автотранспорта. В этом случае две величины (травматизм из-за падений пешеходов и аварийность автотранспорта) будут коррелировать, хотя они не связаны друг с другом, а лишь имеют стороннюю общую причину — гололедицу. Описанный коэффициент Брависа — Пирсона может применяться не во всех случаях. Например, если переменные имеют порядковую шкалу либо не подчиняются нормальному закону распределения, применяют ранговую корреляцию Спирмена или т -корреляцию Кендалла (подробнее см. [12]), при этом между значениями коэффициентов корреляции имеется связь. 2.7. Метод динамической трансформации временной шкалы (евклидово расстояние и Lp-норма) Различие между двумя временными рядами С = (ср с2,..., с„) и б = (^1? q2. qn} длины п может быть определено следующим образом (евклидово расстояние): Альтернативным способом определения различия может быть определение которое и называют Lp -нормой (расстояние Минковского). Евклидово расстояние — одна из самых распространенных мер определения отличий между временными рядами, в случае если разница между С и Q обусловлена только гауссовым шумом. Недостатком подхода можно считать, что он не работает с ненормализованными временными рядами (рис. 2.9).
Временные ряды 67 а б Рис. 2.9. Примеры пар временных рядов: а — ненормализованные данные; б — нормализованные данные Нормализация позволяет выявить сходство двух временных рядов в некоторых случаях. Однако она остается непригодна для случаев, когда имеется ускорение или замедление времени (несоответствие шагов времени двух временных рядов) — рис. 2.10, а. Эта проблема может быть устранена с помощью трансформации временной шкалы (рис. 2.10,6). Для того чтобы найти сходство, необходимо трансформировать ось времени для нахождения лучшего подобия. Первый этап алгоритма состоит в следующем. Строим матрицу d порядка пхт (матрицу расстояний), в которой элемент dt есть расстояние d(qn между двумя точками qt и с;. Обычно используется евклидово расстояние d(<],, ) = (?,-)2, или dcf) = \qt-c]|. Каждый элемент (z, j) матрицы соответствует выравниванию между точками qi и cj. а б Рис. 2.10. Временные ряды с различиями в шаге времени: а — евклидово сопоставление; б — установление соответствия между шагами времени при помощи метода трансформации временной шкалы
68 Гпава 2 На втором этапе строим матрицу трансформаций (деформаций) D, каждый элемент которой вычисляется из следующего соотношения: Du = d.j + min (Р>-1 J ’ ’ D.J-1) • После заполнения матрицы трансформации переходим к заключительному этапу — построению некоторого оптимального пути трансформации (деформации). Путь трансформации W — это набор смежных элементов матрицы, который устанавливает соответствие между Q и С . Он представляет собой путь, который минимизирует общее расстояние между Q и С . к -й элемент пути W определяется как wk d(wk) = d^,cJ) = (qi-cl)2. Таким образом, W = w1? w2,..., wk9.... wK ; max(w, n)<K< m + n, где К — длина пути. Путь трансформации должен удовлетворять следующим ограничивающим условиям. □ Граничные условия: начало пути— =(1,1), его конец— wK = (п9 т). Это ограничение гарантирует, что путь трансформации содержит все точки обоих временных рядов. □ Непрерывность (условие на длину шага): любые два смежных элемента пути W— wk = (w,,w7) и =(w/+1,w7+1) — удовлетворяют следующим неравенствам: w.-w/+1<l, w7-w7+1<l. Это ограничение гарантирует, что путь трансформации передвигается на один шаг за один раз, т. е. оба индекса i и j могут увеличиться только на 1 на каждом шаге пути. □ Монотонность: любые два смежных элемента пути W— wk =(wpw7) и wi-i=(w/-i,w/-i) — удовлетворяют следующим неравенствам: wi -wM>0, Wj - > 0. Это ограничение гарантирует, что путь трансформации не будет возвращаться назад к пройденной точке, т. е. оба индекса i и j либо остаются неизменными, либо увеличиваются (но никогда не уменьшаются). DTW-расстояние (стоимость пути) между двумя последовательностями рассчитывается на основе оптимального пути трансформации с помощью формулы: DTW(0, C) = min< К в знаменателе используется для учета того, что пути трансформации могут быть различной длины. Оптимальная трансформация может быть найдена алгоритмом сложности <?(и2) или для временного окна w алгоритмом сложности O(wn).
Временные ряды 69 2.8. Обучение с подкреплением в задачах прогнозирования временных рядов (reinforcement learning) В задачах прогнозирования важной составляющей является набор данных, на которых строится модель прогнозирования. Однако как можно больший объем данных не означает большую точность получаемых прогнозов, т. к. данные могут отражать изменение характеристик, связанное с некоторыми изменениями с течением времени, тем самым при большом количестве используемых данных модель будет нечувствительна к тенденциям, проявляющимся в новых данных. В таких случаях следует использовать модели, которые будут переобучаться в процессе их функционирования вне зависимости от используемого метода прогнозирования. Для реализации этого принципа используется ’’окно времени” (рис. 2.11). Окном времени называют набор данных, который используется для обучения модели. Данный набор данных характеризуется количеством значений К, а реализация алгоритма— значением Л/, равным количеству значений между перестроениями модели и не превышающим значение используемого для принятия решений горизонта планирования (часто в практической деятельности М -1). Динамика курса валюты 53.8133 43.8133 .33.8133 23.8133 Рис. 2.11. Демонстрация принципа "окна времени": К — размер "окна времени"; М — шаг "окна времени"; п — количество проделанных шагов (переобучений модели) Можно сформулировать алгоритм построения и изменения к внешним условиям модели. Его реализация позволяет реализовать свойство адаптивности к изменениям в данных моделей прогнозирования значений временных рядов.
70 Гпава 2 1. Определение величины используемого набора данных К. 2. Определение горизонта планирования и величины шага до перестроения модели М. 3. Выбор метода построения регрессионной модели. 4. Построение регрессионной модели. 5. Прогнозирование значений для исследуемого параметра. 6. Получение новых М данных. 7. Сдвиг ’’окна времени”. 8. Переход на шаг 4.< 2.9. Вопросы для самоконтроля 1. Опишите разницу между задачами интерполяции и экстраполяции. 2. Опишите принцип, по которому выбирается вид функции для построения регрессионной модели, как определить максимальную степень многочлена при использовании полиномов? 3. Какие меры близости вам известны, какова их роль при построении регрессионных моделей? 4. Какой временной ряд называют стационарным? 5. Какие регрессионные модели вы знаете, в которых новое значение вычисляется на основе предыдущего? 6. Для решения каких задач при работе с данными используется корреляционный анализ? Что показывает в этих задачах коэффициент корреляции? 7. В каких областях нашел применение метод динамической трансформации временной шкалы? 2.10. Задания для самостоятельной работы 1. Найдите значения коэффициентов сх и с2 для функции y = cl-hc2x, если известно, что функция экстраполирует данные, приведенные в табл. 2.8. Таблица 2.8. Исходные данные к заданию 1 X 0 12 5 8 У 1 10 7 5 2. Опишите данные, приведенные в задании 1, с помощью интерполяционной формулы Лагранжа, постройте график.
Временные ряды 71 3. Используя данные из табл. 2.9, постройте полином 4-й степени методом наименьших квадратов, постройте график. Таблица 2.9. Исходные данные к заданию 3 X 1 2 3 4 5 6 У 0.1 0.21 0.43 0.51 0.62 0.81 4. Измените значение одной из точек в предыдущем задании и посмотрите, как это повлияет на положение экстраполяционной кривой. 5. Постройте экстраполяционную модель с помощью кривых Гомперца и Перла, описывающую данные Росстата о количестве автомобилей на тысячу человек (табл. 2.10) при условии, что значение должно приближаться к значению 1000. Таблица 2.10. Исходные данные к заданию 5 1970 1980 1990 1995 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 5.5 30.2 58.5 92.3 130.5 137.2 145.8 153.2 159.3 169.0 177.8 195.4 213.5 220.8 228.3 6. Постройте экстраполяционную функцию на основе использования кривой Перла и логистической кривой на основе данных из файла 6 3.csv (см. электронный архив к книге). Для решения используйте язык R. Постройте графики, нанесите заданные точки. Сравните полученные результаты. 7. Найдите оценки для параметров модели у = с} +с2е°'х, используя данные из задания 3. Постройте график функции у(х) и нанесите на него исходные точки. 8. По известным данным эксперимента (табл. 2.11) и известному входному воздействию x(t) определите параметры передаточной функции (W). Постройте ее график. w=-^, X(O-1(/). р + с2 Таблица 2.11. Исходные данные к заданию 8 t 0 1 2 3 4 5 6 7 8 9 10 11 12 13 У 0 2.2 5 6.2 5.9 5.1 4.6 4.7 5.1 5.4 5.4 5.2 5 4.8 9. Используя данные из файла 21.csv (см. электронный архив к книге), постройте модели для прогнозирования значений методами ANN и SVM. Постройте графики, сравните полученные результаты. При построении моделей предположите, что следующее значение зависит от предыдущего. Для реализации используйте язык R и библиотеку caret (в качестве примера реализации можете познакомиться со скриптом, приготовленным для разд. 6.2.1).
72 Гпава 2 10. Используя данные из файла 2_2.csv (см. электронный архив к книге) постройте модели для прогнозирования значений методами PLS и lasso. Постройте графики, сравните полученные результаты. При построении моделей учтите, что значение стоимости акций компании Google, соответствующее закрытию торгов, зависит от значения открытия торгов, максимального и минимального значений стоимости акций в течение периода торгов. Для реализации используйте язык R и библиотеку caret (в качестве примера реализации можете познакомиться со скриптом, приготовленным для разд. 6.2.1).
ГЛАВА 3 A Кластеризация и классификация Задачей классификации называют задачу обучения с учителем, в случае когда доступны данные, в которых уже выделены и известны классы, к которым они относятся. Эти данные можно использовать для обучения модели, а саму модель — после обучения на неразмеченных данных. В случае если группы заранее не выделены и используемая модель действует согласно заранее заложенным в нее правилам, то такую задачу называют кластеризацией. Между двумя рассмотренными классами методов (обучение с учителем и обучение без учителя) находится класс методов полуконтролируемого обучения. Полукон- тролируемое обучение (обучение с частичным привлечением учителя) представляет собой подход, заполняющий пробел между неконтролируемым обучением и обучением с учителем (рис. 3.1). Рис. 3.1. Виды обучения в задачах структурирования данных
74 Гпава 3 Данную область можно разбить на методы полуконтролируемой классификации и методы полуконтролируемой кластеризации. Процесс работы алгоритмов полуконтролируемой классификации начинается с контролируемого обучения и выработки идеи, каким образом использовать неразмеченные данные в обучающем процессе; полуконтролируемая кластеризация начинается с полуконтролируемого обучения и интегрирует размеченные данные в процесс кластеризации. Возникновение данной группы методов связано с тем, что неразмеченные данные обычно получить проще и дешевле (много таких данных имеется в свободном доступе), но наряду с этим они предоставляют меньше информации, чем размеченные данные (их получение связано с большим объемом экспертной работы). При этом при совместном использовании размеченных и неразмеченных данных можно получить лучшие результаты и сэкономить ресурсы. Визуально разница между задачами классификации, полуконтролируемой классификации, полуконтролируемой кластеризации и кластеризации представлена на рис. 3.2 (переменные с индексом / —тренировочные данные, переменные с индексом и — будущие данные, с которыми будет работать алгоритм) [17]. □ Классификация: — обучающие данные, Хи — будущие данные или не отнесенные к какому-либо классу (рис. 3.2, а). Решается задача объяснения преобразований между Xt и С{ для дальнейшего использования на будущих сущностях (предсказание). □ Полуконтролируемая классификация: Q = 0, Хи*0 —доступно и используется для обучения (рис. 3.2, б). Решаются задачи: • объяснения преобразований между Xt и Cz; • распределения по классам неструктурированных сущностей. Сущности X Классы С Сущности У Классы С Структурированные данные Т а Структурированные данные Т б Рис. 3.2 (часть 1 из 2). Отличия в постановках задач структурирования данных: а — классификация; б — полуконтролируемая классификация
Кластеризация и классификация 75 Сущности У Классы С Сущности У Классы С Структурированные данные Т в Структурированные данные Т г Рис. 3.2 (часть 2 из 2). Отличия в постановках задач структурирования данных: в — полуконтролируемая кластеризация; г — кластеризация □ Полуконтролируемая кластеризация: С, # 0, Cz с С, У, * 0, Хи Ф 0 (рис. 3.2, в). Решается задача структурирования данных. Для этого используется информация о структурированных сущностях как ограничение структурирования для еще неструктурированных сущностей. □ Кластеризация: С, = 0, У, =0 (рис. 3.2, г). Решается задача структурирования данных по заданным правилам. Доступны только неструктурированные сущности. Кроме деления задач классификации и кластеризации по работе с данными все задачи разделяют на бинарные или двоичные (в задаче присутствуют только две группы объектов) и мультиклассовые (когда различающихся групп объектов в задаче более двух). 3.1. Классификация 3.1.1. Метод опорных векторов Основная идея метода опорных векторов1 (support vector machine, SVM) в геометрической интерпретации состоит в повышении размерности пространства и поиска плоскости (в линейном случае) и поверхности в нелинейном случае, которые строятся на основе тренировочных данных и будут разделять на классы новые данные (см. пример данных на рис. 3.3). Математически задача разделения на классы в бинарном случае сводится к поиску функции 1 Иногда в литературе встречается название "машина опорных векторов".
76 Гпава 3 /U) >о, у, =+1; <о, у.=-\, которая будет разделять пространство объектов на два класса (с одной стороны от которой будут лежать объекты одного класса, а с другой — объекты другого класса). Xi х, a б Рис. 3.3. Примеры классов, которые могут быть разделены с использованием метода SVM: a — линейный случай; б — нелинейный случай В линейном случае /(.r,) = w7 X, +b, и задача сводится к поиску коэффициентов и’ и b, при которых будут наилучшим образом разделены классы. Для поиска этих значений существуют различные алгоритмы (например, алгоритм перцептрона). После работы алгоритма функция w принимает вид w = ^осд, где N — количество измерений. 1. Выбираем вид функции классификатора, например в линейном случае /(х,) = й'7 xi+b = w‘ X,, где w = (w,b), xt = (х,,1). 2. Инициализируем начальное значение и' = 0. 3. Перебираем в цикле все значения объектов {х/9 >>}, и если xt отнесен к неверному классу у,, то корректируем w <— w + ос • sign (f (х; )) • х,. 4. Если все объекты верно классифицированы, то останавливаем работу алгоритма; иначе возвращаемся на шаг 3.0
Кластеризация и классификация 77 Приведенный алгоритм демонстрирует принцип, по которому может быть определена разделяющая классы плоскость. Однако оптимальное разделение будет достигнуто, если плоскость будет проходить на равном удалении между представителями классов. Как и в первом алгоритме, у нас есть свобода выбора для w. Будем строить алгоритм, исходя из того, что + ft = +1 и w7x + b = -l соответственно при принадлежности и непринадлежности к исследуемому классу (рис. 3.4). Рис. 3.4. Графическая иллюстрация поиска разделяющей классы плоскости: a — в жесткой постановке; б — в мягкой постановке Разброс (окно) между значениями определяется, как Обучение модели может быть сформулировано в виде задачи оптимизации: 2 т—77 max, М wTxt + b > 1, если у,. = + 1 и wTX' + ft < -1 у, = -1. Окончательно запишем: ||w||2 min; У, (w’x,+Z>) > 1. На практике некоторые значения могут отклоняться на величину (рис. 3.4, б) тогда задача поиска разделяющей плоскости примет вид:
78 Гпава 3 ||w||2 + С2;,. —> min ; yi-(wTxi+b)>\-^i, где С — параметр регуляризации. В зависимости от его значения будет меняться поведение алгоритма. При малых значениях С ограничения могут игнорироваться, при большом значении С ограничения могут быть проигнорированы только в исключительных случаях; при С = оо обеспечивается соблюдение всех ограничений. 3.1.2. Метод RNN Метод ANN (к ближайших соседей) основан на идее, что исследуемый объект будет относиться к тому же классу, что и окружающие его объекты (рис. 3.5). Параметром алгоритма является значение к. показывающее, какое количество ближайших объектов необходимо исследовать (при слишком малом значении к работа метода будет чувствительна к шуму; при слишком большом значении к в рассматриваемой области будет большое количество объектов из других классов, а значит, с точки зрения модели объект становится менее похожим; и при к, равном количеству объектов в обучающей выборке, алгоритм вырождается, давая одно и то же значение для всех исследуемых объектов). - - + + ’(5 » + }+ + + + + - ■ + ’( xj + - о + + + 4- б Рис. 3.5. Демонстрация работы метода ANN при разных значениях параметра к: a — к= 1; б — к = 2; в — к = 3 Математически в общем виде функция проверки принадлежности исследуемого объекта и к классу у записывается следующим образом: а(и, у) = arg max У Гх, и = у] • w(z, и), “Г ’ где Y — множество классов; т — количество элементов в обучающей выборке; w(z, и) — весовая функция, оценивающая степень важности i -го соседа для классификации объекта и; xiu — класс, к которому относится i -й сосед объекта и . В зависимости от того, как определяется функция w(z, и), выделяют различные модификации метода ANN:
Кластеризация и классификация 79 □ w(z, и) = [z = 1] — метод ближайшего соседа; □ w(z, и) = [z < к] — метод к ближайших соседей; □ w(z, и) = [i <k]-q‘ — метод к экспоненциально взвешенных ближайших соседей, 9<1 и др. Значение к подбирается таким образом, чтобы на имеющихся данных значение метрики качества модели было наилучшим. На практике при работе с методом £NN наиболее часто используется метрика оценки качества (accuracy) (см. разд. 5.2.11). Главным преимуществом метода является его простота при достаточно хорошем получаемом результате. 3.2. Классификация с подкреплением 3.2.1. Метод самообучения Самообучение является самым старым подходом в области полуконтролируемого обучения [70]. В основе метода лежит предположение о высоком качестве предсказания. Алгоритм самообучения (см. далее) начинает работу с обработки имеющихся структурированных данных и учит классификатор, используя их. Затем этот классификатор используется для предсказания принадлежности к классам имеющихся неструктурированных сущностей множества данных. После этого некоторые из самоструктрированных сущностей добавляются к множеству структурированных данных, и алгоритм проходит переобучение на полученном более крупном множестве структурированных данных. Далее процесс повторяется несколько раз. 1. (Пере-)обучение классификатора f с использованием доступных структурированных данных. 2. Предсказание принадлежности к классам множества неструктурированных сущностей (хе Хи). 3. Добавление пар (х,/(х)) к структурированным данным. 4. Повтор с шага 1.<1 На шаге 3 могут применяться различные алгоритмы для выбора множества данных, которые будут добавляться к множеству структурированных данных. Самым про- 2 В целом вопрос выбора метрики для оценки качества модели является важнейшим не решенным с помощью формальных подходов вопросом на сегодняшний день при использовании методов машинного обучения.
80 Гпава 3 стым способом является добавление всех полученных данных во множество структурированных данных. Лучшего результата можно добиться, если у нас есть мера достоверности, которая описывает, насколько точно классификатор предсказывает принадлежность к тому или иному классу. Примером может являться величина вероятности принадлежности к классу, полученная классификатором. В этом случае мы будем добавлять только небольшое количество структурированных данных с наибольшими значениями вероятностей либо продолжим добавлять значения вероятностей к предсказываемым структурированным данным и использовать их значения для последующего обучения. Для лучшего понимания алгоритма рассмотрим пример. На рис. 3.6 показано множество данных и изображена соответствующая предсказываемая граница разделения классов. На рис. 3.6, а заданы только две точки структурированных данных, по одной на каждый класс. В результате можно предположить, что граница принятия решения находится точно посередине между этими двумя точками. На рис. 3.6, б добавлены 30 точек неструктурированных данных, которые формируют две группы, и можно предположить, что граница принятия решений будет находиться между двумя группами, а не между двумя структурированными сущностями. 10 10 9 8 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10 9 8 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 К) б Рис. 3.6. Множество данных и граница принятия решений: a — только две структурированные точки; б — дополнительные 30 неструктурированных точек смещают границу принятия решений Для оценки возможностей самообучения с целью решения задачи уточнения границы принятия решений рассмотрим простой ^NN-классификатор (метод к ближайших соседей) со значением к -1. Для каждой неструктурированной точки предсказывается отношение к классу на основании значения класса ближайшей структурированной точки. На первой итерации классификатор только сохраняет данные как две структурированные точки (см. рис. 3.6) и не строит никакой модели. Следовательно, на первой итерации мы имеем только две изначально заданные точки. Далее прогнозируем принадлежность к тому или иному классу для всех неструкту¬
Кластеризация и классификация 81 рированных точек на основании ближайшей структурированной точки. Такой прогноз не может быть проведен только для двух точек, у которых одинаковое расстояние до точек, принадлежащих разным классам. На следующем шаге добавим к множеству структурированных данных, например, пять наиболее достоверно предсказанных точек. ANN-классификатор не дает вероятностей принадлежности к классу. Однако в качестве идентификатора достоверности мы можем использовать расстояние до ближайшей структурированной точки. Чем ближе точка, тем достовернее прогноз. Это позволяет получить расширенное множество структурированных данных. Преимуществом данного алгоритма является его простота. Он может дополнить любой существующий метод классификации. Недостатком метода является чувствительность к ошибкам классификации на первых шагах расширения множества структурированных данных. Для нивелирования этого недостатка могут использоваться эвристические решения на основе введения границы достоверности. К недостаткам стоит отнести и тот факт, что сходимость алгоритма самообучения не всегда может быть обеспечена. Однако есть отдельные случаи, в которых самообучение становится эквивалентно алгоритму на основе математического ожидания, и случаи, для которых известны аналитические решения. 3.2.2. Алгоритмы на основе теории графов В алгоритмах, основанных на использовании теории графов, отношения между сущностями строятся посредством представления данных в виде графа. Граф задается для обоих типов данных, структурированных и неструктурированных. Сущности, связанные ’’сильными” ребрами графа, как правило, принадлежат одному классу. Математически граф G состоит из множества узлов N и множества ребер Е между парами узлов: G = (£, N). При полуконтролируемом обучении каждая точка данных, структурированная или неструктурированная, становится узлом в графе: N = X - Xf U Хи. Ребра между узлами показывают степень сходства между точками данных. Для их построения существует несколько способов [69]. Например, в графе, построенном на основе метода к ближайших соседей (^NN-алгоритм), точка данных всегда связана с к ближайшими соседними сущностями. При таком подходе ребрам в графе обычно не ставят веса в соответствие. Однако можно построить полностью связанный граф, в котором каждая точка данных связана со всеми другими точками, а ребрам ставятся в соответствие веса, значения которых убывают по мере увеличения расстояния между точками. Типичной функцией убывания веса является экспоненциальный спад: где а устанавливает степень убывания; d{x х} — величина расстояния между точками и х. После построения графа можно использовать алгоритмы теории графов для решения задачи классификации. Одним из таких алгоритмов является нахождение наи-
82 Гпава 3 меньшего разреза графа [37]. Этот алгоритм разделяет граф на две части. Это разделение должно быть проведено таким образом, чтобы было разрезано наименьшее число ребер или наименьшая сумма весов ребер. Например, на рис. 3.7 показаны два разреза одного и того же графа. В обоих случаях разрезаются два ребра, но веса этих ребер разные. Разрез в случае (я) имеет суммарный вес разрезаемых ребер 11, в то время как разрез в случае (б) имеет суммарный вес, равный 43. Рис. 3.7. Пример наименьшего разреза графа: a — суммарный вес разрезаемых ребер равен 11; б — суммарный вес разрезаемых ребер равен 4 Очевидно, что алгоритм наименьшего разреза графа использует только ребра. Информация об узлах (данных) ассоциирована с ребрами. Если планируется использовать алгоритм наименьшего разреза графа для решения задачи классификации, то предполагается, что в результате разреза каждая сторона графа будет соответствовать своему классу. Такого эффекта можно достичь с помощью дополнительных искусственных узлов, используемых в структуре графа. Рассмотрим пример графа на рис. 3.8, а, состоящего из четырех неструктурированных точек (серых) и четырех структурированных точек (по две на класс: черного цвета — один класс и белого цвета — другой класс). Для решения задачи классификации необходимо доба- a б Рис. 3.8. Работа алгоритма на основе теории графов: a — пример графа для полуконтролируемой классификации: серые узлы — неструктурированные данные; черные узлы — класс 1, белые узлы — класс 2; б — граф, измененный с помощью дополнительных узлов 3 Разрез (б) является наименьшим разрезом рассматриваемого графа.
Кластеризация и классификация 83 вить для каждого класса по искусственному узлу, не соответствующему точкам из обучающих данных. Эти узлы должны быть связаны со всеми точками структурированных данных соответствующего класса ребрами с бесконечными значениями весов. Окончательно получаем граф, приведенный на рис. 3.8, б. Бесконечные веса ребер обеспечивают сепарацию классов посредством алгоритма наименьшего разреза, т. к. бесконечные веса никогда не приведут к использованию соответствующих ребер. Полученное алгоритмом наименьшего разреза графа разбиение покажет границу принятия решений для задачи классификации, и полученные в результате несвязанные части графа будут представлять сущности различных классов. Таким образом, неструктурированные данные структурируются классами структурированных данных внутри несвязанных частей графа (рис. 3.9). Рис. 3.9. Результат решения задачи классификация с помощью алгоритма наименьшего разреза графа Вместо алгоритма наименьшего разреза графа можно использовать непрерывную функцию (такая функция называется гармонической), устанавливая с ее помощью для каждого узла величину значения, на основании которого будем относить каждый узел к тому или иному классу, введя величину порогового значения. Рассмотрим два класса, для которых структурированным узлам присвоим соответственно значения 0 и 1. Одним из способов определения значения гармонической функции является метод простой итерации. 1. Для всех структурированных данных: /(х.) = у,, У, е М- 2. Для всех неструктурированных данных: /(х;) = 0 (или другому произвольно выбранному значению). 3. Провести перерасчет значения гармонической функции для всех неструктурированных данных: 4. Перейти на шаг 3, если значения гармонической функции не сошлись.<1
84 Гпава 3 Преимуществом рассмотренного алгоритма является наличие простой математической схемы, на которой он строится с использованием теории графов. Если граф хорошо ’’ложится” на рассматриваемую задачу, то эффективность алгоритма высокая. Однако если граф плохо описывает рассматриваемую задачу, то и эффективность снижается. Алгоритм чувствителен к структуре графа и значениям весов ребер. Поэтому главной сложностью является определение структуры самого графа, которая напрямую не связана с множеством рассматриваемых данных. 3.2.3. Генеративные модели Основное предположение при построении генеративных моделей заключается в том, что существует метод, позволяющий получить (сгенерировать) все данные. Для этого выдвигается предположение, что это можно сделать с помощью функции распределения. Если, например, каждый класс может быть получен (описан) с помощью распределения Гаусса (нормального распределения), то все классы будут описываться вектором, состоящим из среднего значения ц и ковариационной матрицы Е. Для двух классов модель будет описываться шестью параметрами: 9 = {wp w2, jip ц2, Ер Е2}, где р,, р2, Ej и Е2 —векторы средних значений и ковариационные матрицы гауссианов; и: и и; — весовые коэффициенты гауссианов. Тогда модель будет выглядеть как: р(х, у | 0) = р(у 10)p(xI ь е) = wyN(x; ц(, Sj, где х — номер класса; у — оцениваемая сущность. Отношение сущности к тому или иному классу определяется на основе наибольшего значения вероятности: LP\x^y Iе) у' Для определения базовой модели необходимо получить значения оценки максимального правдоподобия или эмпирические оценки. Получение оценок максимального правдоподобия может быть осуществлено на модели 0, которая максимизирует правдоподобие /(0| X) . Правдоподобие — это вероятность наблюдения некоторых случайных данных X, установленных параметрами распределения 9 : /(9| у)=р(х|е)=П?(^ 10- /=1 Часто в вычислительных задачах используется логарифм правдоподобия log/, а также оценка максимального правдоподобия как вероятность распределения 9 после обзора выборки X: 0max = arg max р(01X) = arg max Н*|9)р(6) 0 6 р(Л)
Кластеризация и классификация 85 При контролируемом сценарии бинарной классификации максимизируется значение выражения logp(A;, Yt |e) = £log(Xz |9)Ж lx, 0)) • /=| Значение максимального правдоподобия модели может быть вычислено напрямую. Для двух гауссианов вектор математического ожидания определяется как математическое ожидание среднего значения всех точек данных: Элементы ковариационной матрицы определяются следующим образом: А Э / При полуконтролируемом сценарии присутствуют неструктурированные данные. Эти данные усложняют процесс оптимизации. В отличие от контролируемого сценария необходимо максимизировать значение следующим образом: log/?(%„ Y„ Хи |9) = ^log(p(x |0)р(х, | х>9))+ /=1 /=/+1 у=1 Для этого можно использовать ЕМ-алгоритм (Expectation-maximization) как метод оптимизации для получения параметров модели, которые максимизируют значение правдоподобия данных [17]. 1. Инициализировать параметры модели (например, с использованием имеющихся структурированных данных). 2. Выполнять до сходимости: 2.1) шаг предположения: сопоставить точки данных классам на основе значений вероятностей у' где р(у - 11 х, 0) — функция от х для класса 1; р(у = 21 лг, 0) — функция от х для класса 2;
86 Гпава 3 2.2) шаг уточнения: провести перерасчет значений компонентов модели: wc — относительное число класса с ; цс — математическое ожидание класса с ; — ковариация класса с , — исходя из новых данных. <] Преимуществом генеративных моделей является опора на хорошо изученную теорию вероятностей, применение которой может быть эффективным, если получаемая модель близка к истинному положению. Однако проверить правильность модели обычно бывает сложно. Более того, для одного и того же множества данных может быть получено несколько моделей. В связи с этим недостатком подхода появляется необходимость идентификации модели (выбора или определения правильной модели). Кроме этого, алгоритм максимизации правдоподобия является методом, который может "застрять” в локальных оптимумах. 3.3. Кластеризация с подкреплением 3.3.1. Метод к средних (k-means) Целью кластеризации является обнаружение структур в данных. Однако на практике часто можно ’’построить” несколько способов структурирования данных (например, по разным атрибутам). Так, структуру кинопродукции можно классифицировать по жанру, актерам, кинорежиссеру и т. д., фотографии можно структурировать по времени, людям на фото, настроению изображенных на нем людей, изображенным мотивам, местам съемки и т. д. Тогда вопрос состоит в том, какая же структура должна быть выбрана для решения задачи кластеризации, если можно найти более одного способа структурирования? Ответ на этот вопрос обычно зависит от текущей потребности пользователя. Цель может зависеть от знаний пользователя и общего кругозора, а также текущего контекста задачи. Эти дополнительные сведения можно рассматривать как дополнительные знания о предметной области. Методы и подходы полуконтролируемой кластеризации интегрируют знания о предметной области в процесс кластеризации [71]. Одним из самых распространенных способов формализации знаний о предметной области являются попарные ограничения [64]. Они характеризуют парные отношения между двумя классами. Различают ограничения с обязательной и необязательной связями. Ограничения с обязательной связью описывают пары сущностей, которые принадлежат к одному кластеру, а ограничения с необязательными связями описывают пары сущностей, которые принадлежат к разным классам. У парных ограничений есть три свойства, которые обычно используются для пополнения множества ограничений: □ симметрия ограничений: Vx, у: соп(х, у) -> con (у, х); □ транзитивность ограничений с обязательной связью: Vx, у, z: соп= (х, у) л соп= (у, z) con=(х, z); Vx, у, z: соп=(х, у) л соп# (у, z) con# (х, z).
Кластеризация и классификация 87 Существуют разные способы интеграции ограничений в процесс кластеризации, используемые в различных методах. 3.3.2. Метод коэффициентов производительности к средних (COP-k-means) Метод коэффициентов производительности к средних (COPJr-means) [64] — один из первых алгоритмов, который стал использовать парные ограничения. Это модификация метода кластеризации A:-means, который усиливает ограничения на этапе определения кластеров. Вместо того чтобы отнести сущность к ближайшему кластеру, как в стандартном методе к средних (&-means), алгоритм выбирает, к какому кластеру может быть отнесена сущность без нарушения ограничений. Это означает, что сущность не может быть отнесена к кластеру к, если есть ограничение с обязательной связью с сущностью, уже отнесенной к другому кластеру, или если есть ограничение с необязательной связью с сущностью, которая уже отнесена к кластеру к. Такой подход может привести к ситуациям, когда сущность не может быть отнесена ни к какому кластеру. В этом случае алгоритм прекращает работу без нахождения решения. 1. Определить начальные центры для к кластеров (на основе размеченных данных). 2. Выполнять до сходимости: 2.1) для заданных к кластерных центров: отнести каждую сущность к ближайшему кластеру, для которого нет нарушения ограничения; если такого кластера не существует — отменить данное действие; 2.2) для заданных к кластеров: пересчитать кластерные центры с учетом новых сущностей. <1 3.3.3. Метод парных ограничений к средних (PCKMeans) Подобно методу коэффициентов производительности к средних метод парных ограничений к средних (PCKMeans) [36] также является модификацией стандартного метода к средних (A:-means). При использовании этого метода ограничения интегрируются в целевую функцию для определения разницы между значениями, относящимися к проверяемому классу, и значениями, нарушающими ограничения. Это приводит к модификации этапа определения кластеров и этапа инициализации. 1. Инициализировать кластерные центры, используя ограничения. 2. Выполнять до сходимости: 2.1) для заданных к кластерных центров: соотнести каждую сущность с оптимальным кластером в соответствии с целевой функцией;
88 Гпава 3 2.2) для заданных к кластеров: пересчитать кластерные центры с учетом новых сущностей. <1 Рассмотрим отличия реализации этапов. На этапе инициализации стандартный метод к средних инициализирует кластеры по случайному принципу, однако с доступными ограничениями эту операцию можно делать лучше. Для этого будем выполнять три шага. Первый — симметрию и транзитивность ограничений (как было описано выше) будем использовать для расширения множества ограничений. Второй— построим соседние множества, каждое из которых содержит связанный компонент, основанный на ограничениях обязательной связи. Третий — полученные соседние множества будем использовать для инициализации средних точек. Если полученных множеств не меньше кластеров, то самые крупные множества соседних к значений используются для инициализации к средних точек для этих множеств. Если полученных множеств меньше, чем кластеров, оставшиеся кластерные центры выстраиваются по точкам, связанным посредством необязательных связей с множествами соседних значений. Если все еще остаются кластерные центры, которые нужно инициализировать, то это можно сделать по случайному принципу. При использовании стандартного метода A>means предпочтение отдается компактным кластерам. Расстояние каждой точки данных до ее кластерного центра должно быть минимальным. Это достигается использованием целевой функции J=|Zk-M2- £ х,еХ В методе коэффициентов производительности к средних (СОР-Л-means) при нарушении ограничения добавляется штраф: J = 7 Z Iх- " Г + w,j5(c,^cj)+ Z SS(C<=C/)’ xteX (дс,,Xj )econ= (х<■ ,х )есоп# где 8(6) принимает значение, равное 1,если b является достоверным выражением, и 0 в ином случае. Каждому нарушению ограничения соответствует индивидуальный штраф wtJ или wy. Если мы не располагаем дополнительной информацией, то обычно всем ограничениям приписываются одинаковые веса. Использование веса со значением 0 приводит к стандартному методу парных ограничений, используемому в методе к средних (A:-means). Использование весов с бесконечными большими значениями приводит к тому, что такие ограничения никогда не нарушаются. Для определения кластера с*, к которому будет принадлежать сущность х., в методе парных ограничений к средних минимизируется расстояние до кластерного центра, за счет чего уменьшается значение штрафа от нарушения ограничений: (х, )есоп= (х,,х7)есоп# wy5(c = cy) . 7
Кластеризация и классификация 89 3.4. Кластеризация Задачу классификации, как правило, понимают как задачу исследования данных, в которых каждый исследуемый объект обладает определенными признаками. Из этого вытекают цели кластеризации: □ понимание данных — под пониманием в методах кластеризации подразумевают разбиение данных на кластеры, к которым могут применяться индивидуальные методы; □ обнаружение новых объектов, которые не удается присоединить ни к одному из известных кластеров. Главная сложность, связанная с алгоритмами кластеризации, — это их вычислительная сложность, а учитывая то, что реализовывать алгоритмы приходиться на больших данных, решение обозначенных задач может требовать большого времени. В связи с этим к современных алгоритмам кластеризации предъявляется ряд требований: □ минимально возможное количество проходов по базе данных; □ работа в условиях ограниченной памяти компьютера; □ возможность прервать работу алгоритма с сохранением промежуточных результатов; □ алгоритм должен работать в режиме, позволяющем иметь доступ к данным другим задачам и приложениям (часто только в режиме чтения). Удовлетворяющие перечисленным требованиям алгоритмы называют масштабируемыми. Исторически данным вопросам не уделялось достаточного внимания, т. к. главным считалось наличие хорошего алгоритма определения кластеров. Работа большинства алгоритмов основана на работе с целевой функцией, которая на основе мер близости позволяет найти центры кластеров и определить принадлежность исследуемых объектов выделенным кластерам. Однако существуют методы, основанные и на других метриках, например на вычислении значения плотности вероятности. 3.4.1. Оценка максимального правдоподобия (ЕМ-алгоритм) ЕМ-алгоритм получил свое название от английского expectation-maximization. Он используется в математической статистике для оценки максимального правдоподобия параметров вероятностных моделей. Для этого сформулированы несколько принципов, на которых базируется алгоритм Данные могут описываться смешанным распределением плотности вероятности, т. е. иметь множество областей максимальной вероятности (кластеров). Математически это может быть записано, как, например, /(л„ л2, ц2, а2) = о,) + л^(ц2, о2),
90 Гпава 3 где N — нормальное распределение; л, ц, о — параметры, т. е. Кластеризация — это проблема недостающих данных, где метки кластера — недостающие данные. Пусть х = {хр х2,..., хп} — множество статистических данных, Z = (zp z2,..., zn] — множество скрытых переменных соответствующих множеству D. Предположим, что значения множества Z дискретны. Условное математическое ожидание наблюдения х может быть определено по формуле: /(9) = logр(х 16) = logXz 10) • Здесь необходимо определить не только 0, но и Z. 9 здесь — это значение, максимизирующее математическое ожидание логарифма правдоподобия Ez. Пусть Q(Z) — распределение вероятностей отсутствующих данных (скрытых параметров Z). F(Q, 0) = Ez [/(©)] + Я(0 = -Dkl (Q И pZ|% (• | x; 0)) + /(0), где pZ\X(' IX, 6) — условное распределение ненаблюдаемых переменных при фиксированных наблюдаемых х и параметрах 9; Н — энтропия, DKl — расстояние Кульбака — Лейблера4. Работа алгоритма состоит в последовательном выполнении двух шагов до достижения сходимости: 1 шаг (Е-шаг). Вычисляются ожидаемые значения функций правдоподобия, при этом скрытые переменные рассматриваются как наблюдаемые (производим максимизацию функции по при изменении значений Q (0 — фиксированная)). 2*+,=argmaxF(2‘,0*). 2 шаг (М-шаг). Вычисляются оценки максимального правдоподобия (производим максимизацию функции при изменении значений 0 (Q — фиксированная)). 0Ж =argmaxF(0‘+1,0*). Начальные значения выбираются либо экспертным методом, либо случайным образом. 4 Неотрицательнозначный функционал, являющийся несимметричной мерой удаленности друг от друга двух вероятностных распределений, определенных на общем пространстве элементарных событий. Часто применяется в теории информации и математической статистике.
Кластеризация и классификация 91 о о X s X X X 1) £ >> X CD >, cO £ <u s co X X X t*> CO CL S CO CL CO X Et S S. £ 5 со X d 2 х X 3 <U 00 40 П") 04 04 00 г- 40 К) тГ со СЧ 14 16 18 20 22 24 Внутренний диаметр a 26 14 16 18 20 22 24 Внутренний диаметр в 26 2 X X X & н >, 2 s. S 2 s X X 3 <u X X X X о О. н >> х 2 со О. (— <L> 2 СО X ч з г> х оо 40 СЧ 04 00 40 СП СЧ 14 16 18 20 22 24 26 Внутренний диаметр б 14 16 18 20 22 24 26 Внутренний диаметр г 3 x Рис. 3.10. Демонстрация работы ЕМ-алгоритма: a — исходные данные; б-г — результаты классификации при различных начальных значениях вероятности Реализация алгоритма приведена в листинге 3.1, а результат работы программы представлен на рис. 3.10. # Рисование исходных данных plot(tl$al, tl$a24-tl$al, type = "р", bg = "white", pch=21,lwd=l, cex=1.5, xlab=’Внутренний диаметр’, ylab=’Разница между внутренним и внешним диаметрами’) library(EMCluster, quiet = TRUE) x<-data.frame(tl$al,tl$a24-tl$al) ret.em <- init.EM(x, nclass = 10, method = "em.EM") ret.Rnd <- init.EM(x, nclass = 10, method = "Rnd.EM", EMC = .EMC.Rnd) emobj <- simple.init(x, nclass = 10) ret.init <- emcluster(x, emobj, assign.class = TRUE)
92 Гпава 3 # Вывод результатов при различных значениях начальных вероятностей для классов plotem(ret.em, х, xlab=’Внутренний диаметр’, ylab=’Разница между внутренним и внешним диаметрами’) plotem(ret. Rnd, х, xlab=’Внутренний диаметр’, ylab=’Разница между внутренним и внешним диаметрами’) plotem(ret.init, х, xlab='Внутренний диаметр’, ylab=’Разница между внутренним и внешним диаметрами’) 3.5. Повышение эффективности методов классификации и кластеризации (AdaBoost-алгоритм) AdaBoost-алгоритм является метаалгоритмом с последовательным обучением в том плане, что строит композицию из нескольких базовых алгоритмов машинного обучения для повышения эффективности их работы. Название алгоритма является сокращением от английского adaptive boosting. AdaBoost— первый метаалгоритм, предложенный Фройндом и Шапиро в 1996 г. и использующий композиции моделей. Алгоритм усиливает классификаторы путем объединения их в композиции (рис. 3.11). Алгоритм является адаптивным в том плане, что каждая новая композиция строится на данных, неверно классифицированных предыдущей композицией. Рис. 3.11. Общая схема работы алгоритмов повышения эффективности за счет использования групп моделей Построение композиции заключается в использовании ряда алгоритмов для получения более ’’сильного” алгоритма. Объединение методов происходит на основе следующего выражения: F(x) = sign^em/„(^, где fm — классификатор, входящий в "комитет”; Qm — вес соответствующего классификатора. Процедура формирования "комитета” согласно алгоритму AdaBoost сводится к следующему:
Кластеризация и классификация 93 1. Пусть дан набор точек xt eR, е{-1,1}, где =-1 означает, что со¬ ответствующее х. не принадлежит к искомому классу, а равенство yt = 1 означает принадлежность соответствующего xi искомому классу. 2. Вычисляем инициирующие веса для каждого значения: w(x„ = , = 1’ 3. Итерационно т = 1, \ • определяем величину ошибки для рассматриваемых классификаторов е • вычисляем веса по формуле • обновляем веса точек по формуле: где Zm — коэффициент нормализации, цель которого состоит в том, чтобы п выполнялось условие (х;, ) = 1, Vm. /=1 После М итераций мы можем использовать модель для прогнозирования, суммируя взвешенные оценки каждого классификатора и получая итоговую оценку по каждому значению х(. AdaBoost известен как самый старый алгоритм повышения эффективности за счет совместного использования групп методов классификации или кластеризации. На сегодняшний день известны и другие методы, такие как LogitBoost и BrownBoost. Основным недостатком алгоритмов, использующих композиции моделей, является плохая работа с зашумленными данными. 5 Для любого классификатора с точностью выше 50% вес положителен. Чем точнее классификатор, тем больше вес. В то время как для классификатора с точностью менее 50% вес отрицательный. Это значит, что мы можем учесть его предсказание, переворачивая знак. Например, мы можем превратить классификатор с точностью до 40% в 60%, перевернув знак предсказания. Таким образом, можно получить пользу даже от классификатора, который работает хуже, чем случайное угадывание. Не следует использовать только классификаторы с точностью 50%, это не вносит никакого вклада в окончательный прогноз. 6 Если случай неправильно классифицирован в положительно взвешенных классификаторах, то значение экспоненты в числителе всегда будет больше 1 (у -f всегда -1, — положительное). На сле¬ дующих итерациях ошибочно классифицированные точки будут переклассифицированы с помощью методов, имеющих большие значения весовых коэффициентов. Такая же логика применима и к отрицательно взвешенным классификаторам. Единственное отличие заключается в том, что первоначальная правильная классификация станет неправильной после переворачивания знака.
94 Гпава 3 3.6. Вопросы для самоконтроля 1. Поясните, чем отличаются задачи классификации и кластеризации. 2. Объясните основное отличие методов обучения с подкреплением от методов классификации и кластеризации. 3. За счет чего объединение нескольких не очень хороших алгоритмов позволяет повысить качество решения задач классификации и кластеризации? 4. В чем состоит идея использования методов, основанных на теории графов при разделении множества данных на классы? 5. За счет чего при использовании метода опорных векторов достигается разделение на классы при нахождении представителей одного класса внутри другого? 6. Составьте список всех известных вам методов машинного обучения, включая те, о которых вы только где-либо слышали! Каким образом эти методы можно подразделить на различные группы методов? 7. В каких случаях используют обучение с подкреплением? Какой вклад в процесс обучения могут внести неразмеченные данные? 3.7. Задания для самостоятельной работы 1. На рис. 3.12 крестиками обозначены неразмеченные данные. Может ли на приведенных данных быть успешно обучен классификатор, если он использует только данные по оси х ? По оси у 1 6 5 4 3 2 1 1 2 3 4 5 6 7 Рис. 3.12. Размеченные и неразмеченные данные 2. Рассмотрим в качестве примера вещественные числа и два класса— tx н t2. Пусть = {1}, t2 = {10}. Будем использовать метод ANN со значением к = 1. • К какому классу будет отнесено значение 7? • Предположим теперь, что мы получили набор неразмеченных данных {2, 3, 4, 5, 6, И, 12, 13, 14, 15, 16} и использовали самообучение. К какому классу теперь будет отнесено значение 7? Почему?
ГЛАВА 4 Интеллектуальные технологии В данной главе рассмотрены классы систем, позволяющие реализовывать алгоритмы с такими свойствами, как память (накопление знаний), обучаемость и адаптивность, объяснение и интерпретация, коммуникация или общение с внешним миром. Эти четыре составляющих, необходимые для построения интеллектуальных систем (систем искусственного интеллекта), впервые были выделены Аланом Тьюрингом1 в 1950 г. и получили название неполного или стандартного теста Тьюринга. В 2014 г. была разработана система Eugene Goosman, которая впервые в истории по четырем основным параметрам была неотличима от человека и тем самым прошла тест Тьюринга. С развитием систем робототехники стандартный тест был дополнен требованиями перемещения и манипулирования в пространстве, а также требованием наличия машинного зрения (восприятия объектов). Такой тест получил название полного теста Тьюринга. 4.1. Машина Тьюринга Для описания работы и уточнения понятия ’’алгоритм” в 1936 г. Алан Тьюринг предложил абстрактную вычислительную машину, которая считается прототипом компьютера общего назначения и позволяет разбить любой алгоритм на ограниченное множество последовательных операций. Машина Тьюринга представляет собой логическую вычислительную конструкцию. Операции, которые выполняют реальные вычислительные машины, можно имитировать на ней. Машина Тьюринга получила признание как модель физических вычислительных устройств [31]. Преимущество машины Тьюринга состоит в ее простоте. Для ее описания была разработана специальная нотация, которая в дальнейшем стала использоваться для описания автоматов, а также по мере развития теории автоматов и появления ней- 1 Алан Тьюринг (1912-1954) — английский математик. О части его биографии снят художественный фильм — "Игра в имитацию" (2014 г.) с Бенедиктом Камбербэтчем в главной роли.
96 Гпава 4 ронных сетей стала некоторыми авторами рассматриваться как условие для определения нейронных сетей. Структурно машина Тьюринга состоит из управления (которое может принимать конечное множество состояний) и бесконечной ленты, разбитой на клетки/ячейки (которые в свою очередь могут хранить один символ из заданного конечного множества),— рис. 4.1. Работа машины Тьюринга состоит в осуществлении переходов. Переход— это функция, зависящая от состояния конечного управления и символа в ячейке, с которой происходит работа. Один переход машины Тьюринга соответствует выполнению трех действий: 1. Изменить состояние. Новое состояние может совпадать с текущим. 2. Записать ленточный символ в текущую клетку. Новый символ замещает находящейся в ячейке (новый символ может совпадать с текущим). 3. Сдвинуть головку влево или вправо. Разработанная для определения машины Тьюринга нотация представляет собой следующее выражение: M = (Q, Е, Г, 5, q0, В, F), где, Q — конечное множество состояний конечного управления; Е — конечное множество входных символов (является подмножеством Г); Г — множество ленточных символов; 6= 8(<?,Х) — функция переходов, где q — состояние, X — ленточный символ (значением функции переходов является вектор (/?, У, D), в котором р — следующее состояние из Q. Y — символ из у, который записывается вместо символа в обозреваемой клетке, D — направление сдвига головки ’’влево” или ’’вправо”); </0 — начальное состояние из Q; В — пустой символ, или пробел (В е Г и В Е), значения которого изначально записаны во все клетки, кроме конечного числа тех, где хранятся входные символы; F — множество заключительных, или допускающих, состояний (F е Q). Для определения машины Тьюринга требуется описать для нее следующие составляющие.
Интеллектуальные технологии 97_ □ Внешний алфавит. Конечное множество (Г), элементы которого называются буквами (символами). Одна из букв этого алфавита (В) должна представлять собой пустой символ. □ Внутренний алфавит. Конечное множество состояний головки (Q). Одно из состояний (qQ) должно быть начальным (запускающим программу). Еще одно из состояний (F) должно быть конечным (завершающим программу). □ Таблица переходов. Описание поведения головки (8) в зависимости от состояния и считанного символа. Программы для машин Тьюринга записываются в виде табл. 4.1. Таблица 4.1. Структура программы для машины Тьюринга Внешний алфавит Состояние Команда Г, Q. Машина Тьюринга в процессе своей работы может выполнять следующие действия: □ записывать символ внешнего алфавита в ячейку (в том числе и пустой), заменяя находившийся в ней; □ передвигаться на одну ячейку влево или вправо; □ менять свое внутреннее состояние. Одна команда для машины Тьюринга представляет собой конкретную комбинацию этих трех составляющих: указаний, какой символ записать в ячейку (над которой стоит автомат), куда передвинуться и в какое состояние перейти (при этом возможны команды, когда символ не меняется, и/или головка не передвигается, и/или не изменяется внутреннее состояние. В настоящее время машина Тьюринга имеет широкое применение как инструмент для оценки вычислительной сложности алгоритмов2. 4.2. Элементы теории автоматов Теория автоматов как научная дисциплина возникла в середине 50-х годов XX века на базе исследований способов создания систем обработки информации с конечной памятью. С этой целью использовались теоретические наработки, полученные при 2 Вычислительную сложность принято записывать как О(Ди))> где п — размерность задачи, f{ri) — функция, показывающая количество операций, которые необходимо выполнить для решения задачи размерностью п.
98 Гпава 4 проектировании реальных цифровых ЭВМ, и исследования гипотетических систем, таких как нейронные сети. 4.2.1. Введение в теорию автоматов как элемент интеллектуальных систем Одной из предпосылок появления теории автоматов явилось изучение и построение гомеостатических систем — систем, поддерживающих динамическое постоянство при изменении внешней и внутренней сред. Традиционно такие системы сравнивают с поведением биологических систем. Из биологии нам известны типы поведения некоторых животных. В [7] описано поведение лисы, которая прячет излишки на ’’черный” день и продолжает это делать в условиях изменения внешних условий (когда попадает в зоопарк). Этот пример демонстрирует нерациональное поведение в условиях изменившейся внешней среды, однако в целом животные являются удачным примером биологических систем, которые реагируют на изменение внешних условий и демонстрируют такие свойства, как память и обучаемость. Для проведения экспериментов с животными по изучению изменения их поведения используют лабиринты специальных конструкций. Простейшими лабиринтами, на которых изучают поведение животных, являются Т-образные лабиринты (рис. 4.2). В таких лабиринтах в одно из ответвлений помещают награду, а в другое — то, что животному не нравится, т. е. штраф. Меняя местами их расположение, придавая положению награды положение штрафа вероятностный характер и заставляя животное двигаться из его начального состояния (основание лабиринта (основание буквы Т)), можно изучать поведение животных, их обучаемость и переобучаемость, стратегии поведения. Рис. 4.2. Иллюстрация плана эксперимента в Т-образном лабиринте Широкую известность получили эксперименты с дождевыми червями (эксперимент Йеркса) и эксперименты с крысами (эксперимент Торндайка) [7]. Данные эксперименты продемонстрировали способность обучаться без начальной информации о положении награды и раздражителя, переобучаться при смене их положения. Животные обучались и демонстрировали рациональное поведение даже при смене положения награды и раздражителя с заданными вероятностями. Моделирование и объяснение эффекта Йеркса и Торндайка были получены в цикле исследований по моделированию простейших форм поведения, выполненных в 60-х годах XX века
Интеллектуальные технологии 99 советским ученым Михаилом Львовичем Цетлиным на основе автоматов. Для этого он рассматривал: □ оценки действий, совершенных животными до текущего момента, как двоичные (1 — поощрение, 0 — штраф); □ конечный набор возможных вариантов действий животного D = [d^ ds,dn] (например, d{ — пойти налево, d2 — пойти направо и т. д.), который связан со средой (в нашем случае с конфигурацией лабиринта). Для оценки рациональности поведения будем использовать значение математического ожидания штрафа, которое определяется по формуле: М' Д 1 где Pi — вероятность получения штрафа. Будем говорить, что испытываемое животное или интеллектуальная система ведут себя целесообразно, если накопленный ими суммарный штраф меньше, чем в случае механизма равновероятного выбора3 действий. Верно и обратное — если суммарное поощрение больше, чем в случае равновероятностного выбора, соответственно нецелесообразным будем считать такое поведение, при котором этот суммарный штраф оказывается больше М'. Пусть, например, в Г-образном лабиринте вероятность штрафа в правом коридоре Рп = 0.9, а в левом коридоре Рл - 0.4. Если бы животное заранее знало эти вероятности, то предпочитало бы бежать в левый коридор. Суть проводимых опытов над животными состоит в том, что именно это предпочтение и сформируется у испытуемого животного после некоторого опыта (предварительного обучения). Если при приведенных значениях вероятностей штрафов за действия рассматривать ситуацию равновероятного выбора, то суммарное значение штрафа будет равно М = 0.5 0.9 + 0.5 0.4 = 0.65. Поведение будет целесообразным, если суммарный штраф будет меньше 0.65. При наилучшем поведении (при выборе только левого коридора) М = 0 • 0.9 +1 • 0.4 = 0.4. М. Л. Цетлин ставил перед собой задачу создания технического устройства, которое бы демонстрировало целесообразное поведение. Он предложил автомат (рис. 4.3), который назвал автоматом с линейной тактикой. Число лепестков такого автомата равно числу действий, доступных автомату (D). В каждом лепестке выделены состояния, в которых может находиться автомат. В любом из состояний, образующих лепесток, устройство выдает в среду сигнал действия, соответствующего лепестку. Смена состояний происходит с учетом сигналов оценок действий. При поступлении сигнала поощрения наступает смена состояний, показанная на рис. 4.3 сплошными стрелками. Автомат переходит к состоянию ближе к внешнему краю лепестка до достижения крайнего состояния, 3 На каждом шаге своего функционирования этот механизм, никак не учитывая приходящих на его вход сигналов "штраф — не штраф", с одинаковой вероятностью, равной 1/и, выбирает любое из доступных ему действий.
100 Гпава 4 Рис. 4.3. Трехкомпонентный автомат с линейной тактикой [7] в котором он остается. Если на вход автомата приходит сигнал ’’штраф”, то происходят переходы согласно пунктирным стрелкам на рисунке. Автомат возвращается из крайних состояний лепестков и под воздействием сигнала ’’штраф” может сменить лепесток. Таким образом, происходит смена действий автомата. На рис. 4.3 в каждом лепестке по четыре состояния. Каждый лепесток может содержать не четыре, а большее или меньшее число состояний. Число состояний в лепестке обозначают через q и называют глубиной памяти автомата. Чем больше q, тем более инерционен автомат, т. к. необходимо большее число последовательно полученных штрафов для смены действий. Очевидно, что, чем больше инерционность автомата, тем ближе он к тому, чтобы, выбрав наилучшее в данной среде действие, продолжать выполнять только его. С увеличением глубины памяти растет и целесообразность поведения автомата при функционировании в стационарных средах. И наоборот, при малом значении q функционирование автомата подвержено воздействию сигналов штрафа, часто переводящих автомат на лепестки с невыгодными действиями. Можно показать, что если minP не превосходит 0.5, то с ростом величины q мы получим последовательность автоматов с линейной тактикой со все увеличивающейся глубиной памяти, которая является асимптотически оптимальной. Это означает, что при q —> оо имеет место M(q, Е)—> М, где М — минимальный суммарный штраф, который можно получить в рассматриваемой стационарной случайной среде. Таким образом, автомат, предложенный М. Л. Цетлиным, обеспечивает при достаточно больших значениях q поведение, сколь угодно близкое к наилучшему.
Интеллектуальные технологии 101 Существуют и другие автоматы, реализующие принцип адаптивности к среде. Представленный на рис. 4.4 автомат предложен В. И. Кринским. Его отличие заключается в том, что в каком бы состоянии лепестка в этот момент он не был, он меняет его на самое глубокое для лепестка состояние при поощрении. Такой автомат называют доверчивым. Строго доказано, что доверчивые автоматы В. И. Крин- ского ведут себя целесообразно в любых стационарных случайных средах, а последовательность подобных автоматов с ростом их глубины памяти q образует асимптотически оптимальную последовательность. Рис. 4.4. Доверчивый автомат (автомат Кринского) [7] Рассмотренные автоматы показывают хорошие результаты в стационарных средах. В реальных условиях животные и системы функционируют в постоянно меняющейся среде. Законы изменения параметров внешней среды могут быть самыми различными. Для их описания рассмотрим к различных стационарных сред £1? £2, ..., Ек и будем считать, что каждая такая среда представляет собой одно из состояний динамической среды. Их смена будет воссоздавать динамическую среду. Задача адаптации в этом случае будет состоять в оценке значений Р™. где индекс т характеризует среду Ет . Если в динамической среде смена ситуаций происходит с большой частотой, то инерционность вряд ли может быть хорошим свойством, поэтому для каждого динамического мира нужна своя наилучшая глубина памяти, выбранная в зависимости от скорости изменения обстановки. Эксперименты показывают, что для каждой среды (нового состояния) существует своя оптимальная глубина памяти автомата, при которой накапливаемый штраф минимизируется. Таким образом, в динамиче¬
102 Гпава 4 ских средах приведенные выше автоматы не являются лучшими. Для динамических сред следует использовать гибкую конструкцию, которая будет меняться вместе с изменениями в среде. ^1 ^2 Рис. 4.5. Линейный автомат Рассмотрим еще один пример из [7] — автомат, приведенный на рис. 4.5. Структура такого автомата может быть задана в виде двух матриц, определяющих смену состояний при получении сигнала поощрения и штрафа. Каждая матрица содержит 4 строки и 4 столбца по числу состояний автомата. В каждой строке этих матриц имеется одна единица, показывающая, как осуществляется переход. Матрицы имеют вид: '0 1 0 0" '0 0 1 0" 0 1 0 0 , П- = 1 0 0 0 0 0 0 1 1 0 0 0 0 0 1J <0 0 1 0, Такие матрицы определяют детерминированную структуру нашего автомата. Если автомат вероятностный, то вместо единиц и нулей в матрицах ГГ и ГГ будут стоять значения вероятностей смены состояний. Работа автомата с матрицами, значения которых являются вероятностями фактически, описывают цепь Маркова. Автомат в такой форме использовался для разработки алгоритма PageRank [57], получившего широкое распространение в задачах ранжирования поисковых запросов. Реализовать автомат с переменной структурой можно, если матрицы ГГ и П" будут непостоянны. Реализовать автомат с переменной структурой можно следующим образом: 1. В исходном состоянии вероятности всех переходов между состояниями автомата одинаковы: '0.25 0.25 0.25 0.25" '0.25 0.25 0.25 0.25" 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 , п- = 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 ,0.25 0.25 0.25 0.25, ,0.25 0.25 0.25 0.25, 2. Перестройка матриц ГГ и П в зависимости от сигналов, формируемых средой. Алгоритм перестроения рассмотрим на примере. Пусть начальным состоянием автомата было состояние с номером 1 (см. рис. 4.6). Если среда автомат поощряла, он с помощью равновероятного выбора по матрице П+ переходил в состояние 4 и после этого получал сигнал "штраф”. Получение подобного сигнала заставляет
Интеллектуальные технологии 103 Рис. 4.6. Пример автомата с переменной структурой автомат считать свой переход 1->4 ошибкой. Вероятность Р14 необходимо уменьшить на некоторую величину А . При этом сумма вероятностей в любой строке матрицы должна остаться равной 1, и поэтому уменьшение Р14 на А должно привести к увеличению всех остальных вероятностей в этой строке на величину у . Если принять А = 0.03, то после описанного шага матрица 1Г останется прежней, а матрица ГГ примет вид: 0.22 0.26 0.26 0.26 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 Если на следующем шаге автомат делает действие, соответствующее состоянию 4, и выбирает очередное состояние на основании матрицы ГГ. Пусть он выбрал переход 4 —>4 и вновь получил штраф. Тогда меняется матрица ГГ, в которой четвертая строка приобретает вид (0.26, 0.26, 0.26, 0.22) и т. д. Постепенно автомат перейдет из недетерминированного состояния в детерминированное. Если поведение среды изменится, то автомат перенастроится. Было показано, что линейные законы изменения вероятностей переходов Ру в матрицах ГГ и ГГ не всегда приводят к оптимальным конструкциям. Однако если ввести нелинейное изменение элементов указанных матриц, то исходные матрицы с одинаковыми значениями Ру сходятся к матрицам из нулей и единиц, соответствующих автоматам, наилучшим образом ведущих себя в стационарных случайных средах. Для автоматов с переменной структурой эмпирически показано, что с течением времени функционирование автомата с переменной структурой в переключающихся средах, в которых автомат с линейной тактикой действует целесообразно, неограниченно приближается к функционированию автомата с линейной тактикой, обладающему оптимальной глубиной памяти. Другими словами, автомат с переменной структурой сам находит оптимальную глубину памяти (дф/), которую
104 Гпава 4 нельзя определить аналитическим путем. Это значение должно подбираться в процессе функционирования в среде, на что автомат с линейной тактикой неспособен. 4.2.2. Основы теории автоматов Для того чтобы задать любой автомат, в теории автоматов вводят понятие абстрактного автомата [8], что позволяет рассматривать их с точки зрения алгоритмов и принципов функционирования. Абстрактным автоматом называют модель, описываемую пятиместным кортежем: А = {Х, S, Y,fs,fr}, где X — множество входных сигналов; S — множество состояний; Y — множество выходных сигналов; fs : S х X S — функция переходов из одного состояния в другое/функция следующего состояния; fY: S х X Y — функция выхода. Если множества X, Y, S — конечные, то такой автомат называют конечным. Если хотя бы одно из перечисленных множеств не является конечным, то автомат называют бесконечным. Автоматы работают при дискретном исчислении времени (рассматриваемые моменты времени образуют ряд целых неотрицательных чисел: t - 0,1, 2, 3,...). Каждому моменту времени соответствует одно состояние Si, в котором автомат получает на вход значение вектора X и выдает на выходе значение вектора Y. Принято считать, что в момент времени t = 0 автомат находится в начальном состоянии So, которое часто включают в кортеж отдельным компонентом (описание автомата практически совпадает с описанием машины Тьюринга и может быть заменено ею для описания работы): }• Такой автомат (автомат с выделенным начальным состоянием) называют инициальным. Графически абстрактный автомат представляют в виде некоторого ’’черного ящика” с вектором входных сигналов в вектор выходных сигналов (рис. 4.7). Таким образом, работу автомата можно описать как Y = fy(X, I). V) V2 КА Рис. 4.7. Общая схема конечного автомата (КА)
Интеллектуальные технологии 105 Фактор времени в приведенном уравнении учитывается введением вектора состояний 5, который иногда рассматривают как ’’память”. В результате при одном и том же наборе входных сигналов (вектор X) автомат будет выдавать разные выходные сигналы (вектор Y ) в зависимости от состояния автомата, т. е. состояние определяется алгоритмом функционирования автомата. Функция fs реализует отношение вида S х X S, т. е. каждой паре ’’состояние — входной сигнал” ставит в однозначное соответствие определенное состояние из множества 5. Отношение для функции f имеет вид S х X —> Y, т. е. каждой паре ’’состояние — входной сигнал” ставится в соответствие конкретный выходной сигнал — элемент множества Y . Эти функции называют характеристическими функциями автомата. Характеристические функции определяют, в какое состояние s е S перейдет автомат в следующий, (t 4-1) -й, момент времени и каково будет значение выходного сигнала у е Y в момент времени t: s(/ + l) = z(x(/),«(/)); Я')=ЛМ')> *('))• (4.1) Из приведенных уравнений видно, что аргументами характеристических функций являются текущие значения входного сигнала и состояние. Конечный автомат, заданный парой уравнений (4.1), называется автоматом I рода или, по имени автора модели, автоматом Мили (Mealy). На практике часто встречаются автоматы, выходные сигналы которых в момент времени t однозначно определяются текущим состоянием автомата и не зависят от вектора входных сигналов: Л'+1)=Л- (*(z+1)’ /(')=//(Л'))- (4-2) Автомат, заданный парой уравнений (4.2), называют автоматом II рода или автоматом Мура (Moore). Звездочка добавлена только для отличия записи от автомата Мили. Из приведенных выражений видно, что автомат Мили по отношению к автомату Мура запаздывает на один момент времени (шаг работы) по входному сигналу. Автоматы I и II рода являются двумя базовыми моделями, изучаемыми теорией автоматов. Этим автоматы реализуются алгоритмически и исследуется их вычислительная сложность. Реализация технических устройств представляет собой множество нескольких автоматов, как правило, двух— операционного и управляющего. Операционный автомат выполняет ряд действий над входными данными и выдает результат, а управляющий автомат готовит данные для операционного автомата. Например, если рассмотреть вендинговую машину по продаже товаров, то операционный
106 Гпава 4 автомат управляет выдачей товара, а управляющий автомат обеспечивает считывание и анализ данных с клавиш и монетоприемника. 4.3. Сети Петри Сети Петри — инструмент моделирования систем. Теория сетей Петри делает возможным моделирование системы математическим представлением в виде сети Петри. Практическое применение сети Петри находят при моделировании и анализе систем. Первоначально сети Петри были описаны в 1962 г. в диссертационной работе Карла Петри, которые он использовал для описания работы параллельно работающих взаимодействующих систем. Сеть Петри задается: множеством позиций — Р, множеством переходов — Т, входной функцией — / и выходной функцией О. Входная и выходная функция связаны с переходами и позициями. Входная функция I отображает переход Z в множество позиций 7(/.), называемых входными позициями перехода. Выходная функция О отображает переход в множество позиций O(tj), называемых выходными позициями перехода. Структура сети Петри определяется ее позициями, переходами, входной и выходной функциями. Сети Петри удобно представлять в виде графа. Сеть Петри является двудольным ориентированным мультиграфом. Структура сети Петри — это совокупность позиций и переходов. Сети Петри имеют два типа узлов: □ кружок О — позиция; □ планка | — переход. Ориентированные дуги соединяют позиции и переходы. Дуга, направленная от позиции Pi к переходу /, определяет позицию, которая является входом перехода. Выходная позиция указывается дугой от перехода к позиции. Рассмотрим структуру сети Петри, которой соответствует граф, приведенный на рис. 4.8 [24]: С = (л Т, I, О); р = {а> Р2’ Рз’ Рл, а} т = {/„ t2, t3, t4}; 7(0={а}; Л':)={а> а» а}; 7(^)={а}; ЖНйЬ о(ь)={р2> р3, а};
Интеллектуальные технологии 107 о('2)={л}; 0('з)={л}; O(t4) = {p2,p3}. Для моделирования работы сети Петри используется маркировка. Маркировка ц есть присвоение фишек позициям сети Петри. Фишки присваиваются позициям сети (рис. 4.9). Маркированную сеть Петри обозначают М = (С, ц) = (Р, Т, I. О. ц). Рис. 4.9. Маркированная сеть Петри (структура сети совпадает со структурой на рис. 4.8, маркировка (1, 2, 0, 0, 1)) Выполнением сети Петри управляют количество и распределение фишек в сети. Сеть Петри выполняется посредством запусков переходов. Переход запускается посредством удаления фишек из его входных позиций и образованием новых фишек, помещаемых в его выходные позиции. Переход может запускаться только в том случае, когда он разрешен. Переход считается разрешенным, если каждая из его входных позиций имеет число фишек, по крайней мере равное числу дуг из позиции переход. Кратные фишки необходимы для кратных входных дуг. Фишки во входной позиции, которые разрешают переход, называются его разрешающими фишками. Например, если позиции р2 и р3 служат входами для перехода t2, тогда t2 разрешен, если р2 и р3 имеют хотя бы по одной фишке. Так как можно запустить только разрешенный переход, то количество фишек в каждой позиции остается неотрицательным.
108 Гпава 4 Запуск перехода меняет маркировку сети ц . Маркировка сети Петри определяет ее состояние. Запуск перехода меняет состояние. Пространство состояний сети Петри, обладающей п позициями, есть множество всех маркировок, т. е. N". Многие технические системы могут быть описаны с помощью автоматов. Между автоматами и сетями Петри существует связь, которая заключается в том, что любой автомат может быть представлен с помощью сети Петри. Рассмотрим такую связь на примере автомата, изображенного на рис. 4.10. Этот автомат преобразует двоичное число, представленное последовательностью битов, начиная с младшего, в дополнение до двух. Входной и выходной алфавиты данного автомата состоят из трех символов: 0, 1 и R . Автомат начинает работать в состоянии q}. Символ сброса R означает конец (или начало) числа и возвращает автомат в исходное состояние. Рис. 4.10. Граф переходов для конечного автомата, вычисляющего дополнение до двух двоичного числа Рис. 4.11. Сеть Петри, эквивалентная автомату на рис. 4.9 При представлении конечного автомата сетью Петри следует обратить внимание на связь между сетью Петри и внешним миром, которая ранее не учитывалась. Моделирование взаимодействия с внешним миром можно реализовать разными способами: □ можно промоделировать это взаимодействие с помощью специального множества позиций, которые представляют каждый входной и выходной символы (из внешнего мира помещается фишка в позицию, соответствующую входному символу, и удаляется из позиции, соответствующей выходному символу); □ моделирование входов и выходов может осуществляться путем использования переходов (необходимо выбирать переход и запускать его). На основе первого способа представим автомат рис. 4.10 в виде сети Петри (рис. 4.11). Сети Петри могут работать в параллельном и последовательном режимах. При этом могут возникать ситуации, представленные на рис. 4.12 и 4.13. Простое представление системы сетью Петри основано на двух основополагающих понятиях: событиях и условиях. События — действия, имеющие место в системе
Интеллектуальные технологии 109 (возникновением событий управляет состояние системы). Условие — предикат или логическое описание состояния системы (условие может принимать значения ’’истина” и ’’ложь”). ® Ч >0 Рис. 4.12. Одновременность. Эти два перехода могут быть запущены в любом порядке Рис. 4.13. Конфликт. Переходы и tk находятся в конфликте, т. к. запуск одного из них удаляет фишку из р, и тем самым запрещает другой В качестве примера можно рассмотреть задачу моделирования вендинговой машины, работающей без сдачи (рис. 4.14). Рис. 4.14. Сеть Петри, описывающая работу вендинговой машины по продаже двух товаров за 3 и 5 рублей Построенная на рис. 4.14 сеть Петри работает при появлении одной фишки в соответствующих входным позициях. На практике можно обрабатывать по несколько фишек. Для этого необходимо проводить связи, соответствующие количеству фишек. Например, в приведенном примере для обработки двух или трех фишек можно провести две или три связи к соответствующим переходам и попасть в позиции, соответствующие состояниям накопления автоматом 2 или 3 рублей соответственно. Это позволяет сделать сеть Петри более компактной.
110 Гпава 4 4.4. Нейронные сети Нейронные сети — это класс моделей, построенных на использовании биологической аналогии с мозгом человека и предназначенных для решения разнообразных задач анализа данных. Использование нейронных сетей требует предварительного обучения на имеющихся данных. Нейронная сеть, полученная в результате обучения, выражает закономерности, присутствующие в данных. Она оказывается функциональным эквивалентом некоторой зависимости между переменными. Однако в случае нейронных сетей эти зависимости не могут быть записаны в явном виде. Нейронные сети могут давать результаты очень высокого качества; однако они представляют собой пример нетеоретического подхода к исследованию. Кроме этого, нельзя создать универсальную нейронную сеть в связи с большим кругом задач, для решения которых используют нейронные сети. В связи с этим сложилась практика создания специализированных нейронных сетей, которые в своей работе используют разные алгоритмы. Несмотря на различия, нейронные сети обладают общими чертами. Основу каждой нейронной сети составляют элементы, имитирующие работу нейронов мозга (рис. 4.154). Дендриты ответственны за прием информации и делают возможной Рис. 4.15. Нейроны человеческого мозга: 1 — терминали; 2 — аксоны; 3 — дендриты (нервные окончания, выходящие из сомы клетки, которые разветвляются в форме дерева); 4 — тело, или сома, нейрона; 5 — миелиновая оболочка; 6 — синаптический контакт 4 Иллюстрация взята с сайта https://www.cognifit.com/ru/brain.
Интеллектуальные технологии 111 коммуникацию между двумя нейронами. Аксоны выходят из сомы и похожи на провода. Это удлиненные отростки, на концах которых находятся терминали, являющиеся точками синаптического контакта, через которые передается нервный импульс. Длина аксонов может варьировать в зависимости от нейрона: от очень коротких (до 1 мм) до очень длинных (более метра), характерных для периферических нервов. Некоторые аксоны (особенно моторных и сенсорных нейронов) покрыты миелиновой оболочкой, которая упрощает передачу информации. Чем больше миелина содержит аксон, тем сильнее передаваемый нервный импульс. Больше всего миелина содержат периферические нейроны (сенсорные и моторные), по которым информация должна проделать наибольший путь. Тело, или сома, нейрона — это основная часть клетки, содержащая ядро (с ДНК). В соме реализуются основные метаболические функции клетки. Если умирает сома, то клетка погибает. Под нейроном будем подразумевать искусственный нейрон — элемент нейронной сети. Каждый нейрон характеризуется своим текущим состоянием, группой синапсов — однонаправленных входных связей, аксоном — выходной связью. Синапсы характеризуются величиной синаптической связи — ее весом w;.. Общий вид нейрона приведен на рис. 4.16. Рис. 4.16. Искусственный нейрон Текущее состояние нейрона определяется как взвешенная сумма его входов: P=YX''W>- (4-3) /=1 Выход нейрона есть функция его состояния: Y - J\P). Функция f называется активационной и может иметь различный вид (примеры активационных функций приведены на рис. 4.17). Наиболее широко в практической деятельности используются такие активационные функции, как: □ SoftMax/Softmax Regression/MaxEnt (полиномиальная логистическая регрессия) — при использовании данной активационной функции происходит нормализация входных значений в вектор (выходные значения находятся в диапазоне
112 Гпава 4 от 0 до 1, что позволяет избежать двоичной классификации и учесть как можно больше классов или измерений в нейронной сети); □ логистическая функция — самое широкое распространение получила при решении задач бинарной классификации (часто вместо логистической функции используют функцию гиперболического тангенса, которая обладает аналогичными свойствами); □ ReLU (линейновозрастающая функция) — данная функция не требует выполнения ресурсоемких операций, не подвержена насыщению, позволяет существенно повысить скорость обучения при использовании для этого метода градиентного спуска, однако может приводить к такому явлению, как ’’отмирание” нейронов (т. е. достижения такого значения весов в процессе обучения, при котором нейрон никогда не сможет быть активирован). Выход 11 7’ Вход Выход Рис. 4.17. Примеры активационных функций нейрона (Р — порог срабатывания): a — пороговая, ступенчатая функция; б — трапециевидная функция; в — линейновозрастающая функция (ReLU); г — сигмоид (логистическая функция) Одной из наиболее распространенных активационных функций является нелинейная функция с насыщением (син.: логистическая функция, сигмоида) (функция 5-образного вида): При уменьшении значения а сигмоида становится более пологой, в пределе при ос = 0 вырождаясь в горизонтальную линию. При значении а = 0.5 и дальнейшем увеличении а сигмоида приближается по внешнему виду к пороговой (ступенчатой) функции с порогом Т в точке Р -0. Из функции для сигмоиды видно, что выходное значение нейрона лежит в диапазоне [0; 1].
Интеллектуальные технологии 113 Сигмоидная функция дифференцируема на всей оси абсцисс, и этот факт используется в некоторых алгоритмах обучения. Кроме того, она обладает свойством усиливать слабые сигналы лучше, чем большие, и тем самым предотвращает насыщение от больших сигналов, т. к. они соответствуют значениям аргумента, где сигмоида имеет пологий наклон. Важным свойством нейронной сети является параллельная обработки сигналов, которая достигается путем объединения большого числа нейронов в слои и соединения нейронов различных слоев (в некоторых конфигурациях и нейронов одного слоя). В качестве примера простейшей нейронной сети рассмотрим трехнейронный персептрон5 (рис. 4.18). От п входов поступают сигналы на три нейрона, образующих слой этой нейронной сети и выдающих три выходных сигнала: Рис. 4.18. Однослойный персептрон Все весовые коэффициенты синапсов одного слоя нейронов можно свести в матрицу W, в которой каждый элемент задает величину i -й синоптической связи у-го нейрона. В результате процесс, происходящий в нейронной сети, может быть записан в матричной форме: Y = F(XW), где X — входной вектор; Y — выходной вектор; F(P) — активационная функ- ция. Число слоев и число нейронов в каждом слое может быть произвольным. Чем сложнее (больше) нейронная сеть, тем сложнее задачи, которые могут быть решены на ее основе. 5 Здесь и далее под персептроном понимается нейронная сеть, нейроны которой в качестве активационной используют пороговую функцию (бинарная сеть). Иногда в литературе персептроном называют любую нейронную сеть, состоящую из слоев.
114 Гпава 4 Выбор структуры нейронной сети осуществляют исходя из решаемой задачи. Для решения некоторых задач уже разработаны специальные конфигурации нейронных сетей. Если задача не может быть сведена ни к одному из известных типов, приходится решать проблему синтеза конфигурации нейронной сети. При проектировании нейронной сети необходимо учитывать, что возможности по решению задач возрастают с увеличением числа нейронов, введение обратных связей6 делает необходимым исследование динамической устойчивости сети, на работу сети оказывают влияние выбранные алгоритмы ее функционирования (например, может быть введено несколько типов синапсов — возбуждающие, тормозящие и др.). Для решения отдельных задачи в настоящее время разработаны специальные виды нейронных сетей, среди которых стоит отметить такие, как сети Кохонена, сверточные нейронные сети, сиамские нейронные сети. Иногда для определения структуры нейронной сети используют специальные оптимизаторы. Использование оптимизаторов оправдано не только для подбора подходящей структуры сети, но и выбора такой структуры, которая будет эффективнее обучаться (не застревать в локальных оптимумах и не проскакивать оптимальные решения в процессе обучения). В зависимости от структуры, выбранной активационной функции, способа распространения и обработки сигналов нейронные сети делят на классы. □ Выделяют бинарные и аналоговые нейронные сети. Бинарные сети оперируют двоичными сигналами, и выход каждого нейрона может принимать только два значения: ноль (’’заторможенное” состояние) и единицу (’’возбужденное” состояние). В аналоговых сетях выходные значения нейронов способны принимать непрерывные значения. Такая ситуация возможна при использовании в качестве активационной функции сигмоидной функции. □ Нейронные сети делят на синхронные и асинхронные. У первого типа нейронной сети в каждый момент времени состояние меняет лишь один нейрон. У второго типа нейронной сети состояние меняется сразу у группы нейронов, составляющих один слой. □ Нейронные сети классифицируют по числу слоев. На рис. 4.19 представлен двухслойный персептрон, полученный из персептрона с рис. 4.18 путем добавления второго слоя, состоящего из двух нейронов. При использовании многослойных нейронных сетей повышается значимость выбираемой активационной функции. Например, если использовать в многослойной нейронной сети ступенчатую активационную функцию, то результат функционирования любой /7-слойной нейронной сети с весовыми матрицами W(/), / = 1, 2,..., р для каждого слоя i сводился бы к перемножению входного вектора сигналов X на матрицу W(L) = W(1) • W(2) • • • W(p), т. e. такая /2-слойная нейронная сеть была бы эквивалентна однослойной нейронной сети с весовой матрицей единственного слоя W(I): Y = XW(L). Таким образом, для эффективного использования многослой6 Введение обратных связей создает эффект памяти у нейронных сетей.
Интеллектуальные технологии 115 ных нейронных сетей следует использовать нелинейные активационные функции. Нелинейность иногда вводится и в синоптические связи. Большинство известных на сегодняшний день нейронных сетей используют для нахождения взвешенной суммы входов нейрона формулу (4.3), однако возможно применение и других формул, например p=xxi'wi /=1 или п Р = ‘ X((/+l)modn) ‘ /=1 Рис. 4.19. Двухслойный персептрон Введение нелинейностей в формулы вычисления взвешенной суммы входов нейрона позволяет с меньшим числом нейронов решать задачи, которые обычной нейронной сетью решаются при использовании большего числа стандартных нейронов и более сложной их конфигурации. На рис. 4.17, а (ступенчатая функция) видно, что выходное значение Т может принимать произвольное значение. Это значение определяется на стадии обучения вместе с весовыми коэффициентами. То же самое относится и к центральной точке (величине порога срабатывания) сигмоидной функции, которая может сдвигаться вправо или влево по оси выхода (значение Р), а также ко всем другим видам активационных функций. Однако, например, возможное смещение не отражено в формуле для Р, которая должна была бы в этом случае выглядеть как Р = ^х,^-Т. /=1 Такое смещение обычно вводится путем добавления к слою нейронов еще одного входа, возбуждающего дополнительный синапс каждого из нейронов, значение ко-
116 Гпава 4 торого всегда равняется 1. Такие нейроны рассматривают как дополнительный слой нейронной сети и называют его нормирующим слоем. Ему традиционно присваивают номер 0. Тогда п /=0 (4.4) где и’() --Т, х0 = 1. Очевидно, что разница в формулах (4.3) и (4.4) состоит лишь в способе нумерации входов. Получаемая нейронная сеть подвергается обучению. На этом этапе нейроны сети итеративно обрабатывают входные данные и корректируют свои веса так, чтобы сеть наилучшим образом прогнозировала данные, на которых выполняется обучение. После обучения на имеющихся данных сеть готова к работе и может использоваться для построения прогнозов. Обученная нейронная сеть будет отображать закономерности, присутствующие в данных, использованных при обучении. Она оказывается функциональным эквивалентом некоторой модели зависимостей между переменными, подобной тем моделям, которые строятся в традиционном моделировании. Однако, в отличие от традиционных моделей, в случае нейронных сетей эти зависимости не могут быть записаны в явном виде. 4.4.1. Обучение нейронной сети Процесс обучения нейронной сети сводится к определению значений синаптических связей. От этих значений зависит работа нейронной сети. Этот этап проводится после построения нейронной сети. Процесс обучения характеризуется двумя параметрами: □ качество обучения нейронной сети— от качества обучения нейронной сети зависит ее способность решать поставленные задачи; □ время обучения нейронной сети. Как правило, эти две характеристики находятся в обратной зависимости друг от друга и определяются на основе компромисса. Обучение — это задача изменения весовых коэффициентов связей таким образом, чтобы получить требуемые характеристики поведения сети. В самой общей формулировке данная задача ставится следующим образом: случайное число нейронов соединено связями, и требуется построить алгоритм соединения, после которого модель будет действовать целесообразно. Выделяют два основных типа обучения нейронной сети: с учителем и без учителя. При обучении с учителем известны как значения входных, так и выходных сигналов. Задача обучения в этом случае сводится к подстраиванию весов синоптических связей. При обучении без учителя значения выходов нейронной сети формируются самостоятельно, а веса изменяются по алгоритму, учитывающему только входные и производные от них сигналы.
Интеллектуальные технологии 117 Иногда в отдельный класс выделяют трансферное обучение, которое заключается в том, что для решения определенного класса задач берут полностью обученную нейронную сеть и переучивают последние несколько слоев для учета особенностей задачи (например, берут последние два слоя и переобучают их под необходимые классы). Такой подход позволяет существенно сэкономить необходимые вычислительные ресурсы. Существует множество алгоритмов обучения, которые делятся на два больших класса: детерминированные и стохастические. В детерминированных алгоритмах подстройка весов синаптических связей происходит в результате жесткой последовательности действий. В стохастических алгоритмах она производится на основе действий, подчиняющихся случайному процессу. 4.4.1.1. Обучение с учителем Среди различных типов нейронных сетей одними из наиболее распространенных являются многослойные нейронные сети, в которых каждый нейрон любого слоя связан со всеми аксонами нейронов предыдущего слоя или, для первого слоя, со всеми входами нейронной сети. Такие нейронные сети называют полносвязными. Когда в сети только один слой, алгоритм ее обучения с учителем довольно прост, т. к. правильные выходные состояния нейронов единственного слоя заранее известны, и подстройка связей идет в направлении, минимизирующем ошибку на выходе сети. 1. Инициализировать элементы весовой матрицы (обычно небольшими случайными значениями). 2. Подать на входы один из входных векторов, которые сеть должна научиться различать, и вычислить его выход. 3. Если выход соответствует требуемому, перейти на шаг 4. В противном случае вычислить разницу между желаемым и полученным значениями выхода: 8-Yf-Y. Модифицировать веса в соответствии с формулой: w;7(r + l) = w;/(Z) + v-8x;, где t и Г + 1 — номера текущей и следующей итераций; v — коэффициент скорости обучения (0 < v < 1); i — номер входа; j — номер нейрона в слое. Если Yl > Y, то весовые коэффициенты будут увеличиваться и тем самым уменьшат ошибку, иначе они будут уменьшаться, и Y тоже уменьшится, приближаясь к Y{. 4. Вернуться на шаг 2, пока сеть не перестанет ошибаться. На втором шаге на вход нейронной сети подаются все возможные входные векторы в случайном порядке.<1 7 Недостатком алгоритма является то, что нельзя заранее определить число итераций, которые потребуется выполнить, а в некоторых случаях и гарантировать полный успех.
118 Гпава 4 В многослойных нейронных сетях выходные значения нейронов всех слоев, кроме последнего, как правило, неизвестны, соответственно, двух- и более слойный персептрон невозможно обучить, опираясь только на величины ошибок на выходах нейронной сети. Один способ решения этой проблемы — разработка наборов выходных сигналов, соответствующих входным сигналам, для каждого слоя нейронной сети. Однако это трудоемкая операция, и она не всегда осуществима. Другой способ — динамическая подстройка весовых коэффициентов связей, в ходе которой выбираются, как правило, наиболее слабые связи и изменяются на малую величину в ту или иную сторону, при этом сохраняются только те изменения, которые повлекли уменьшение ошибки на выходе всей сети. Очевидно, что такой метод случайного поиска, несмотря на кажущуюся простоту, требует громоздких рутинных вычислений. Третий способ— распространение сигналов ошибки от выходов нейронной сети к ее входам, в направлении, обратном прямому распространению сигналов в обычном режиме работы. Такой алгоритм обучения получил название процедуры обратного распространения. Для реализации указанных процедур необходимы методы, позволяющие оценить отклонения и определить значения, на которые необходимо скорректировать величину коэффициентов синаптических связей. Среди таких алгоритмов обучения самое широкое распространение получили такие, как метод градиентного спуска [48], Adagard (метод адаптивного градиентного спуска), RMSProp (модификация Adagrad, устраняющая недостаток, связанный со слишком маленькими обновлениями значений или отсутствием прогресса в процессе обучения), Adam (по сути является комбинацией методов градиентного спуска и RMSProp). Рассмотрим подробнее, как работает процедура обратного распространения при использовании метода градиентного спуска. Согласно методу наименьших квадратов минимизируемой целевой функцией ошибки нейронной сети является величина где — реальное выходное состояние нейрона j выходного слоя N нейронной сети при подаче на ее входы р -го образа; dj — желаемое выходное состояние этого нейрона. Суммирование осуществляется по всем нейронам выходного слоя и по всем обрабатываемым сетью образам. Минимизация может осуществляться методом градиентного спуска, что позволяет производить подстройку весовых коэффициентов следующим образом: (4.5) где w — весовой коэффициент синаптической связи, соединяющей z-й нейрон слоя п -1 с /-м нейроном слоя п; г| — коэффициент скорости обучения, 0 < г| < 1.
Интеллектуальные технологии 119 Как указано в [32], дЕ _ дЕ дуу dSj dwy dyt ds} dwy ’ (4.6) где уj — выход нейрона j; s — взвешенная сумма его входных сигналов (аргумент активационной функции). бу Множитель —- является производной этой функции по его аргументу. Из этого dSj следует, что производная активационной функции должна быть определена на всей оси абсцисс. В связи с этим функция единичного скачка и прочие активационные функции с неоднородностями не подходят при использовании рассматриваемого метода. Для него необходимо использование гладких активационных функций, таких как, например, гиперболический тангенс или логистическая функция. В случае гиперболического тангенса Третий множитель —— равен выходу нейрона предыдущего слоя };(и-1), а пер- вый множитель в формуле (4.6) раскладывается следующим образом [32]: _ у . &Ук . dsk _ у . дУк . W(«+D kfyk dsk кдУк dsk Jk где суммирование по к выполняется среди нейронов слоя п +1. Введя новую переменную 8(л)=-^ —получим рекуррентную формулу для dSj расчета величин З^0 слоя п из величин 3["+|) слоя п + 1: - dsj ’ ь{п} = J к Для выходного слоя: Формулу (4.5) можно переписать в виде: dy, dsl (4.7) /и-1) / (4.8) Иногда для придания процессу коррекции весов инерционности, для сглаживания резких скачков при перемещении по поверхности целевой функции выражение (4.8) дополняется значением изменения веса на предыдущей итерации: Ди-<л) = -т] • ц • ■ уГ*> (Z -1) + (1 - ц) • 3<"> • у'"'" (О, где ц — коэффициент инерционности; t — номер текущей итерации.
120 Гпава 4 Далее приведен полный алгоритм обучения нейронной сети с помощью процедуры обратного распространения. 1. Подать на входы сети одно из возможных состояний входа в режиме обычного функционирования нейронной сети, когда сигналы распространяются от входов к выходам, рассчитать значения последних согласно выражению м где М — число нейронов в слое п -1 с учетом нейрона с постоянным выходным состоянием +1, задающим смещение; у^-0 =х,"} — i-и вход нейрона j слоя У{"} = где /0 — сигмоида; у<0) = j 9 где Iq — q -я компонента вектора входного образа. 2. Рассчитать 8W для выходного слоя по формуле (4.7). Рассчитать по формуле (4.5) изменения весов Аи’(Х) слоя N . 3. Рассчитать по формулам 8(л) и Aw(n) для всех остальных слоев, n = N -1,..., 1. 4. Скорректировать веса связей в нейронной сети: 5. Если ошибка сети существенна, перейти на шаг 1. В противном случае нейронную сеть считаем обученной и останавливаемся8.<1 Нейронной сети на первом шаге алгоритма попеременно в случайном порядке предъявляются все тренировочные данные, чтобы сеть не забывала одни данные по мере использования для обучения других данных. Из выражения (4.8) следует, что, когда выходное значение у^-0 стремится к нулю, эффективность обучения заметно снижается. При двоичных входных векторах в среднем половина весовых коэффициентов не будет корректироваться, поэтому область возможных значений выходов нейронов [0; 1] желательно сдвинуть в пределы [-0.5; -I- 0.5], что достигается модификациями активационных функций. Например, логистическая функция преобразуется к виду 8 Может оказаться, что сложности обучаемой нейронной сети окажется недостаточно для обучения данному примеру (примерам), тогда величина ошибки Е будет оставаться высокой и не будет снижаться. В этом случае количество слоев или нейронов в слоях надо увеличить.
Интеллектуальные технологии 121 Важным вопросом является емкость нейронной сети, т. е. число наборов данных, подаваемых на ее входы, которые она способна обрабатывать. Для разделения множества входных образов на два класса достаточно одного выхода. При этом каждый логический уровень— ”1” и ”0” — будет обозначать отдельный класс. На двух выходах можно закодировать уже 4 класса и т. д. Результаты работы сети, организованной таким образом (сети ’’под завязку”), не очень надежны. Для повышения достоверности классификации требуется ввести избыточность путем выделения каждому классу одного нейрона в выходном слое или нескольких, каждый из которых обучается определять принадлежность образа к классу со своей степенью достоверности, например высокой, средней и низкой. Такие нейронные сети позволяют решать задачи классификации входных данных, объединенных в нечеткие (размытые или пересекающиеся) множества. Это свойство приближает подобные нейронные сети к условиям реальной жизни. Нейронные сети могут иметь несколько ’’узких мест”. □ В процессе обучения может возникнуть ситуация, когда большие положительные или отрицательные значения весовых коэффициентов сместят рабочую точку на логистических функциях некоторых нейронов в область насыщения. Малые величины производной от логистической функции приведут согласно (4.7) к остановке обучения, что парализует нейронную сеть. □ Применение метода градиентного спуска не гарантирует, что будет найден глобальный, а не локальный экстремум целевой функции. Эта проблема связана с выбором величины скорости обучения. Доказательство сходимости обучения в процессе обратного распространения основано на производных, т. е. приращении весов, и, следовательно, скорость обучения должна быть бесконечно малой, однако в этом случае обучение будет происходить неприемлемо долго. С другой стороны, слишком большие коррекции весов могут привести к неустойчивости процесса обучения. Поэтому в качестве г| обычно выбирается число меньше 1, но не слишком маленькое, например 0.1, и оно может постепенно уменьшаться в процессе обучения. Для исключения случайных попаданий в локальные минимумы иногда, после того как значения весовых коэффициентов стабилизируются, г| кратковременно сильно увеличивают, чтобы начать градиентный спуск из новой точки. Если повторение этой процедуры несколько раз приведет алгоритм в одно и то же состояние нейронной сети (к одним и тем же значениям весовых коэффициентов связей), можно с определенной долей уверенности утверждать, что найден глобальный экстремум. 4.4.1.2. Обучение без учителя При обучении без учителя, как и в случае обучения с учителем, необходима реализация процедуры подстраивания весов синоптических связей. Некоторые алгоритмы изменяют и структуру сети, т. е. количество нейронов и их взаимосвязи, но такие преобразования правильнее называть самоорганизацией. Очевидно, что подстройка весов может проводиться только на основании информации, доступной
122 Гпава 4 в нейроне, т. е. о его состоянии и уже имеющихся весовых коэффициентах. Исходя из этого по аналогии с принципами самоорганизации нервных клеток построены алгоритмы обучения Хебба. □ Сигнальный метод обучения Хебба заключается в изменении весов по правилу: wv (0 = wy - 0+а • уГ> ■ уГ > где у.п~1) — выходное значение нейрона i слоя (и-1); — выходное значе¬ ние нейрона j слоя и; vr(r) и мл(/-1)—весовые коэффициенты синапса, соединяющего эти нейроны на итерациях t и t -1 соответственно; а — коэффициент скорости обучения. Здесь под п подразумевается произвольный слой сети. При обучении по данному методу усиливаются связи между возбужденными нейронами. □ Дифференциальный метод обучения Хебба: где у,(л_1)(/) и у."'_1)(г-1) —выходное значение нейрона i слоя п-\ соответственно на итерациях t и t- \; y{"\t) и ^л)(/-1) — то же самое для нейрона j слоя и. Как видно из формулы (4.9), сильнее всего обучаются связи, соединяющие те нейроны, выходы которых наиболее динамично изменились в сторону увеличения. Приведем полный алгоритм обучения с применением представленных формул. 1. Проинициализировать весовые коэффициенты связей небольшими случайными значениями. 2. На входы нейронной сети подать данные и распространить сигналы возбуждения по всем слоям, для каждого нейрона рассчитать взвешенную сумму его входов, к которой затем применить активационную функцию нейрона, в результате чего получится его выходное значение у{"}, / = О,..., А/, -1, где Mi— число нейронов в слое i; п = 0,N -1, а N — число слоев в сети. 3. На основании полученных выходных значений нейронов по одной из приведенных формул (например (4.9)) произвести изменение весовых коэффициентов. 4. Вернуться к шагу 2, если выходные значения сети не стабилизировались с заданной точностью (использование этого способа является флагом завершения обучения, отличного от использовавшегося для сети при обратном распространении сигнала; это обусловлено тем, что подстраиваемые значения связей фактически не ограничены).< На втором шаге алгоритма попеременно подаются все входные значения наборов значений. Вид откликов на каждый набор входных значений неизвестен заранее и
Интеллектуальные технологии 123 будет представлять собой произвольное сочетание состояний нейронов выходного слоя, обусловленное случайным распределением весов на стадии инициализации. Однако нейронная сеть способна обобщать схожие данные, относя их к одному классу. Тестирование обученной сети позволяет определить топологию классов в выходном слое. Для приведения откликов обученной сети к удобному представлению можно дополнить нейронную сеть еще одним слоем, который по алгоритму обучения однослойного перцептрона (см. выше) можно заставить преобразовывать выходные реакции сети в требуемые значения. Другой алгоритм обучения без учителя — алгоритм Кохонена — предусматривает подстройку связей на основании их значений от предыдущей итерации. W,J (0 = W,J -1) + а • [л*"’0 - (' - •)] ■ (4.10) Из формулы (4.10) видно, что обучение сводится к минимизации разницы между входными сигналами нейрона, поступающими с выходов нейронов предыдущего слоя у<п~'\ и весовыми коэффициентами его синапсов. Полный алгоритм обучения имеет примерно такую же структуру, как в методах Хебба (см. выше), но на шаге 3 из всего слоя выбирается один нейрон, значения синапсов которого максимально походят на входные значения, и подстройка весов по формуле (4.10) проводится только для него. Эта, условно говоря, аккредитация может сопровождаться затормаживанием всех остальных нейронов слоя и введением выбранного нейрона в насыщение. Выбор такого нейрона может осуществляться, например, расчетом скалярного произведения вектора весовых коэффициентов с вектором входных значений. Наибольшее значение дает выигравший нейрон. Другой вариант— расчет расстояния между этими векторами в ^-мерном пространстве, где р — размер векторов. где j — индекс нейрона в слое i — индекс суммирования по нейронам слоя (и-1); w — вес синапса, соединяющего нейроны; выходы нейронов слоя (и-1) являются входными значениями для слоя п. Корень можно не брать, т. к. важна лишь относительная оценка различных . Тогда ’’побеждает” нейрон с наименьшим расстоянием. Иногда слишком часто получающие аккредитацию нейроны принудительно исключают из рассмотрения, чтобы ’’уравнять права” всех нейронов слоя. Простейший вариант такого алгоритма заключается в торможении только что выигравшего нейрона. При использовании обучения по алгоритму Кохонена существует практика нормализации входных сигналов, а также (на стадии инициализации) и нормализация начальных значений весовых коэффициентов:
124 Гпава 4 где xt — i -я компонента вектора входного образа или вектора весовых коэффициентов; п — его размерность. Это позволяет сократить длительность процесса обучения. Инициализация весовых коэффициентов случайными значениями может привести к тому, что различные классы, которым соответствуют плотно расположенные входные данные, сольются или, наоборот, раздробятся на дополнительные подклассы в случае наличия близких значений у одного и того же класса. Во избежание такой ситуации используется метод выпуклой комбинации [9]. Он сводится к тому, что входные нормализованные образы подвергаются преобразованию: х, =«(/)• х, + (!-«(/))•-= где xt — i -я компонента входного образа; п — общее число его компонент; ос(/) — коэффициент, изменяющийся в процессе обучения от нуля до единицы, в результате чего вначале на входы сети подаются практически одинаковые образы, а с течением времени они все больше сходятся к исходным. Весовые коэффициенты устанавливаются на шаге инициализации равными величине 1 yin где п — размерность вектора весов для нейронов инициализируемого слоя. На основе рассмотренного выше метода строятся нейронные сети особого типа — так называемые самоорганизующиеся структуры. Для них после выбора из слоя и нейрона j с минимальным расстоянием Df обучается по формуле (4.10) не только этот нейрон, но и его соседи, расположенные в окрестности R. Величина R на первых итерациях очень большая, так что обучаются все нейроны, но с течением времени она уменьшается до нуля. Таким образом, чем ближе конец обучения, тем точнее определяется группа нейронов, отвечающих каждому классу образов. Обобщая вышеизложенное, можно сформулировать алгоритм построения нейронной сети. 1. Определить множество входных и выходных связей (структура связей обычно представляется в виде весовой матрицы, в который каждый элемент означает величину весового коэффициента связи). 2. Определить множество нейронов. 3. Выбрать правило распространения сигналов в сети (правило обновления сигналов сети: например, сначала все вычисляют, а потом обновляют). 4. Выбрать правило комбинирования входных сигналов (наиболее часто входные сигналы суммируются с учетом весовых коэффициентов связей).
Интеллектуальные технологии 125 5. Выбрать правило вычисления сигнала активности (правило вычисления выходного сигнала). 6. Выбрать метод обучения корректирующих связей (изменение весовых значений таким образом, чтобы получить требуемые характеристики поведения нейронной сети).<| В качестве примера использования нейронной сети рассмотрим задачу разделения абстрактных данных на два класса (рис. 4.20). Рис. 4.20. Объекты, характеризуемые двумя показателями и относящиеся к разным классам [32]: □ — бомбардировщик; • — истребитель Будем считать, что на рисунке изображены два класса: класс истребителей и класс бомбардировщиков. Классы могут быть определены на основании характеристик х, — скорость и х2 — вес. Для определения класса можно записать следующие правила: класс ’’бомбардировщик”— если х2>0.8 и х, < 0.55; класс ’’истребитель” — если х2 < 0 и X] > 0.25 . Разделить классы можно также прямой, проведенной между группами значений и описываемой уравнением х2 = 1.5xj + 0.5. Тогда мы будем идентифицировать класс ’’истребитель”, если /(хр х2)>0, и класс ’’бомбардировщик”, если /(хр х2)<0. Аналогично данная задача может быть решена нейронной сетью, представленной на рис. 4.21. Рис. 4.21. Нейронная сеть для решения задачи классификации самолетов на бомбардировщики и истребители
126 Гпава 4 4.4.2. Сети Кохонена (самоорганизующиеся карты Кохонена) Рассмотренные нейронные сети не имели обратных связей. Такие сети существенно проще обучить, однако они не обладают памятью, поэтому показывают худшие результаты, например в задачах распознавания образов и классификации. Нейронные сети с обратными связями/рекуррентные нейронные сети/нейронные сети с памятью (например, запоминание и сжатие исторических данных) рассматриваются в задачах глубокого обучения9, а также применимы в задачах, где нечто целостное разбито на сегменты10. Среди сетей с обратными связями можно выделить: □ сети Хопфилда (тип рекуррентной сети, когда все соединения симметричны) [34]; □ сети Кохонена (задачи кластерного анализа); □ полностью рекуррентную сеть (каждый из нейронов соединен со всеми другими узлами, у каждого нейрона порог активации меняется со временем и является вещественным числом); □ рекурсивные сети (более общий случай рекуррентных сетей, когда сигнал в сети проходит через структуру в виде дерева (обычно бинарные деревья)), выделяют также тензорные рекурсивные нейронные сети, которые используют тензорные функции11 для узлов в дереве. Простейшей сетью с обратной связью являются карты Кохонена. Отличие этих сетей от остальных заключается в том, что они используют неконтролируемое обучение. Основной принцип заключается в том, что в правило обучения вносится информация о его расположении. Структурно сеть Кохонена представляет собой два слоя: входной и выходной. Элементы карты располагаются в некотором пространстве, как правило, двумерном (рис. 4.22). Такую сеть также называют самоорганизующейся картой. Для обучения сети Кохонена используют метод последовательных приближений. Процесс обучения заключается не в минимизации ошибки, а в подстройке весов синапсов для наибольшего совпадения с входными данными. Итерационный алгоритм Кохонена последовательно проходит ряд эпох, на каждой из которых обрабатывается один пример из обучающей выборки. Входные сигналы последовательно 9 Глубокое обучение (deep learning)— уровень технологий машинного обучения, характеризующий качественный прогресс, возникший после 2006 г., в связи с нарастанием вычислительных мощностей и накоплением опыта. В настоящее время под глубоким обучением понимают специальные виды многослойных нейронных сетей, которые позволяют применять их для решения самых разных задач. В практической деятельности для использования методов глубокого обучения используется большое количество специализированных информационных систем и библиотек (TensorFlow, Keras). 10 Такие сети широко используются в задачах распознавания речи с большими словарями, рукописного текста, синтеза речи, машинного перевода, при работе с текстами, использующими несколько языков. 11 Объект линейной алгебры, линейно преобразующий элементы одного линейного пространства в элементы другого. Частными случаями тензоров являются скаляры, векторы, матрицы и т. п.
Интеллектуальные технологии 127 предъявляются сети, при этом желаемые выходные сигналы не определяются. После предъявления достаточного числа входных векторов/примеров синаптические веса сети становятся способны определить кластеры. Веса организуются так, что топологически близкие узлы (имеются в виду из второго слоя) чувствительны к похожим входным сигналам. В результате работы алгоритма центр кластера устанавливается в определенной позиции, удовлетворительным образом кластеризующей примеры, для которых данный нейрон является ’’победителем”. При обучении сети необходимо определить меру соседства нейронов, т. е. окрестность нейрона-победителя. Окрестность представляет собой несколько нейронов, которые окружают нейрон-победитель [33]. Сначала к окрестности принадлежит большое число нейронов, далее ее размер постепенно уменьшается. Сеть формирует топологическую структуру, в которой похожие примеры образуют группы примеров, близко находящихся на топологической карте. Полученную карту можно использовать как средство визуализации при анализе данных. В результате обучения карта Кохонена классифицирует входные примеры на кластеры (группы схожих примеров) и визуально отображает многомерные входные данные на плоскости нейронов. Уникальность метода самоорганизующихся карт состоит в преобразовании «-мерного пространства в двумерное. Имея такое представление данных, можно визуально определить наличие или отсутствие взаимосвязи во входных данных. Нейроны карты Кохонена располагаются в виде двумерной матрицы, раскрашивают эту матрицу в зависимости от анализируемых параметров нейронов (рис. 4.23|2). Сеть Кохонена способна распознавать кластеры в данных, а также устанавливать близость классов. Таким образом, пользователь может улучшить свое понимание структуры данных. Если в данных распознаны классы, то их можно обозначить, после чего сеть сможет решать задачи классификации. Сети Кохонена можно ис- 12 Иллюстрация взята с сайта Wikipedia.org.
128 Гпава 4 Рис. 4.23. Самоорганизующаяся карта Кохонена с шестиугольными ячейками. Рассмотрена задача классификации стран по уровню жизни. Большинство ячеек соответствуют одной стране, некоторые — двум. Есть и пустые. Страны с высоким качеством жизни расположены в левом верхнем углу карты, а с низким — в правом нижнем. Кластеры стран образуют на карте регионы, имеющие похожие цвета: желтые, зеленые, красные и т. д. пользовать и в тех задачах классификации, где классы уже заданы, тогда сеть сможет выявить сходство между различными классами. 4.5. Когнитивные карты Использование когнитивных карт связано с задачами поддержки принятия решений в ’’мягкой” постановке в условиях динамики, если задача определяется как задача оценки изменения значений параметров и/или факторов на основе субъективной модели и, возможно, экспертных оценок значений факторов. Такая субъективная модель может быть формализована в виде ориентированного графа, который называют когнитивной картой. Пример когнитивной карты приведен на рис. 4.24, на котором вершины графа — это факторы, а дуги — причинно-следственные связи между ними. Знак "плюс” у связей между вершинами-факторами означает, что увеличение значения фактора- причины приводит к увеличению значения фактора-следствия (прямая связь), знак ’’минус" означает обратную зависимость. Когнитивная карта отражает функциональную структуру анализируемой системы или процесса. Процесс получения когнитивной карты является итерационным. Его этапы выполняются до тех пор, пока полученная структура не будет правдоподобно описывать динамику развития изучаемой системы или процесса (см. [13]). 1. Генерация гипотетической когнитивной карты (выдвижение гипотезы о функциональной структуре когнитивной карты) которая включает:
Интеллектуальные технологии 129 • создание абстрактной когнитивной карты — определение множества па- раметров/факторов и причинно-следственных связей между ними; • параметризация когнитивной карты — определение численных значений (коэффициентов) причинно-следственных связей (в результате выполнения этой операции абстрактная когнитивная карта превращается в модель конкретной динамической системы). 2. Верификация когнитивной карты (проверка соответствия гипотезы о функциональной структуре реальной системе или процессу) заключается в построении на полученной модели прогноза на основе ретроспективных данных и его сопоставления с имеющимися данными. Такая проверка позволяет выявить несогласованность между получаемыми данными и реальным развитием ситуации в прошлом. Верификация может быть прямой (проигрывание ситуации в будущее) и обратной (оценка развития ситуации при движении времени в прошлое). 3. Корректировка когнитивной карты (функциональной структуры) осуществляется по результатам верификации. Она может состоять: • в изменении шкалы факторов; • в изменении значений коэффициентов связей между узлами/факторами; • в добавлении или удалении новых узлов/факторов и/или связей между ними. Такие изменения могут оказать сильное влияние на получаемые результаты (т. к. когнитивная карта представляет собой ориентированный граф), что потребует новой верификации и, возможно, корректировки. Итерационный процесс построения когнитивной карты повторяется до получения функциональной структуры, согласующейся с поведением изучаемой системы. Рассмотрим каждый из этапов подробнее. Создание абстрактной когнитивной карты — это экспертная процедура, субъективизм которой можно снизить с помощью структурно-функционального подхода, SWOT- и PEST-анализа, объектно-структурного подхода. Типичные ошибки, допускаемые на данном этапе, — это установление неочевидных связей и ошибки в определении знака влияния. Результатом выполнения этапа является когнитивная
130 Глава 4 карта (F, W), где F — множество вершин-факторов ситуации, W = — мат¬ рица смежности ориентированного графа. В процессе параметризации когнитивной карты определяются шкалы изменения значений факторов и текущие значения факторов, силы влияния одного фактора на другой фактор (значения коэффициентов связей). Прежде чем перейти к параметризации карты, необходимо определить ее тип. Различают детерминированные и недетерминированные когнитивные карты. В недетерминированных когнитивных картах вес дуг (значения коэффициентов связей) и значения в вершинах интерпретируются как коэффициенты, соответствующие уверенности, характеризующие мнение эксперта о том, что связь между факторами существует и фактор, характеризующий некоторое событие, будет иметь место. Шкалы приращений значений факторов для недетерминированных когнитивных карт характеризуют приращение неопределенности значения фактора и представляются на интервале [-1; 1]. Интерпретация отрицательных значений затруднена, поэтому, как указано в [13], Б. Коско предложил решать эту проблему, дополняя любой фактор ситуации фактором, имеющим противоположный смысл /. Эксперт задает два показателя неопределенности: показатель неопределенности увеличения значения фактора р* е [0; 1] для фактора / и показатель неопределенности уменьшения значения фактора р~ е [0; 1]. При таком определении значение приращения показателя неопределенности задается в так называемых ’’серых” шкалах, для которых не выполняется условие нормировки р* + р" = 1. Считается, что ’’серые” шкалы лучше отражают экспертные оценки в условиях неопределенности. I + _ -1 Конфликт оценок можно определить с помощью величины с, =—[13] — (Р, + А ) показатель когнитивного консонанса. Степень уверенности может быть представлена и лингвистическими переменными, например такими их значениями, как Zp = {’’Невозможно”, ’’Мало вероятно”, ’’Почти вероятно”, ’’Вероятно”, ’’Очень вероятно”, ’’Почти достоверно”, ’’Достоверно”}. Определение значений происходит согласно уверенности ф: Zp -> [0; 1] как для положительных, так и для отрицательных приращений, в которой 0 соответствует ’’Невозможно”, 1 — ’’Достоверно”. В детерминированных когнитивных картах значение фактора в вершине понимается как его абсолютное значение, а вес дуги интерпретируется как коэффициент передачи, связывающий изменение абсолютных значений факторов (признака и причины). При использовании лингвистических переменных примером такой шкалы может быть шкала приращений Z - {’’Сильно растет”, "Средне растет”, ’’Слабо растет", "Не меняется”, "Слабо падает”, "Средне падает”, "Сильно падает”}. Шкала строится как отображение элементов множества Z на отрезок числовой оси [1; -1] в виде
Интеллектуальные технологии 131 равноотстоящих точек, т. е. <р: Z 1]. Такая шкала может обладать большим объективизмом, чем численные оценки, т. к. эксперт может плохо представлять оценки степени приращения значений факторов в абсолютных значениях. Получаем, что для каждого фактора / определено упорядоченное множество za <zl2 <...<zim лингвистических значений Zt = {zn,..., zim}. Шкала фактора определяется как отображение каждого лингвистического значения в точку числовой оси, ф: Zt -> Xt, Xt = {xn,..., xjn}, xa, ..., xin e [0; 1]. Определено также и обратное отражение ф~’: х, -> z,, позволяющее интерпретировать численные значения х в лингвистические значения Z . Для процесса моделирования должно быть также определено начальное состояние в лингвистическом виде Z(0), числовом виде JV(O), а также вектор приращения факторов Р(0) = (р„ р2,..., рп). Значения матрицы смежности при этом определяются как причинно-следственные связи между фактором причины f^F и фактором следствия f^F, т. е. W : Pt Pj • Для их численного определения известны различные подходы. 1. Режим прямого оценивания. Сила влияния определяется как коэффициент пе- р? — ХР ) редачи w/5 - , где рр = ——— отклонение значения фактора причины; Ps Х' (x°-xr) prs - s о s — отклонение значения фактора-следствия; x°=<p.(z°) и Xs xs°=(p5(zf)— начальные значения фактора-причины и фактора-следствия; хр = (p,(zf) и xJ=(pj(z') — значения фактора-причины и фактора-следствия после экспертного определения приращения значений; zz° и z°s — начальные лингвистические значения факторов; / и fs9 zp и zrs — лингвистические значения факторов / и после приращения; q>. и ф5 — отображения лингвистических значений z;°, z°, z', zrs факторов fiv^fs на отрезок [0; 1]. 2. Режим парного сравнения используется, когда эксперту проще расставить факторы-причины из множества Fi по силе влияния на фактор-следствие /. Факторы-причины могут быть упорядочены с помощью парного сравнения. Известны подходы, в рамках которых значения W могут изменяться от шага к шагу, т. е. описываться функциями, а также представляться нечеткими числами или множествами. При проведении обоих видов верификации (прямая и обратная) необходимо получение прогнозов (в прошлое или будущее) на основе рекуррентной зависимости: Р(/ + 1) = ^Р(0, где P(f) и P(t + 1) — векторы приращений значений факторов в моменты времени t и t -I-1 (их называют векторами импульсов).
132 Гпава 4 Состояние ситуации в момент времени /4-1 определяется из соотношения X(t + V) = X(t) + P(t 4-1), где X(t) — состояние ситуации в момент времени t. Множество последовательных значений векторов приращений Р(/), Р(/ + 1), ..., P(t + n) называют импульсным процессом, а множество состояний изучаемой системы или процесса Х(/), Х(/4-1), X(t + ri) характеризует динамику изменений при управляющих воздействиях P(t). При моделировании недетерминированных когнитивных карт развитие ситуации может определяться с помощью уравнения Г(и) = Г(0)о^'\ где о — операция умножения и взятия максимума = ’ p't(n) g Р'(и), /?'(()) е Р'(0), w' е W'*); W’* — транзитивное замыкание матрицы смежности когнитивной карты13. Степень когнитивного консонанса с, (Z) определяется из соотношения |рГ(и)~а(и)| Р,+(") + #’(«) О < c^n) < 1. При уверенность субъекта в приращении фактора р^п) максимальна, а при с(я)« 0 минимальна. С учетом когнитивного консонанса значения фактора компонента pt (и) е Р(п) вектора прогноза представляются парой (р. (и), (и)). Прогнозное состояние ситуации будет определяться парой (Х(п\ С(п)), где X(n) = Jf(O) + Р(п). Также могут быть получены матрицы взаимного диссонанса Dv=[d/?], где dy - , а также взаимного положительного влияния Ps = [ру ] и взаимного отрицательного влияния N5 = [пу ]. При моделировании детерминированных когнитивных карт получения новых состояний могут применяться следующие методы. □ Метод с суммированием приращений. При этом подходе p\t + 1) = ^^/р7(0, j п а прогноз развития ситуации — х, (и) = х, (0) 4- pt (Г), х, (0) е [0; 1] — начальное /=0 состояние. В этом методе начальные значения факторов задаются абстрактно, 13 Если невзвешенный ориентированный граф задан своей матрицей смежности, то его транзитивное замыкание строится как матрица, в которой в z-й строке и у-м столбце находится 1, если от вершины i можно добраться до вершины у, и 0 — если иначе.
Интеллектуальные технологии 133 и на основании этого их можно принять нулевыми (х (0) = 0), тогда прогнозный п вектор значений определяется накопленными приращениями . 1=0 □ Метод без суммирования приращений работает по аналогии с вычислением прогнозных значений для недетерминированных когнитивных карт pt(n) = maxw р (0). / Получаемые прогнозы являются основой для процесса верификации. Для этого результаты, получаемые в результате прогнозирования, сопоставляются с имеющимися данными. Сопоставление может быть как численным (отклонение в пределах некоторого заданного интервала), так и качественным (сопоставление тенденций: например, растет значение или падает, слабо растет, не изменяется и т. п.), могут использоваться лингвистические переменные и осуществляться их сопоставление. В некоторых случаях (особенно при прямой верификации когнитивной карты при отсутствии данных) используются объяснительные подходы, которые могут объяснять как получаемые результаты, так и саму структуру полученной когнитивной карты. 4.6. Алгоритм поиска ассоциативных правил (алгоритм Apriori) Алгоритм Apriori является одним из самых широко используемых алгоритмов поиска ассоциативных правил. Негласно считается, что это первый алгоритм, который надо попробовать при решении задачи добычи данных. Кроме алгоритма Apriori на сегодняшний день известны и другие алгоритмы поиска ассоциативных правил: Eclat, алгоритм FP-роста, AprioriDP, OPUS и др. Иногда к группе данных алгоритмов причисляют алгоритмы семейства SlopeOne. Алгоритмы поиска ассоциативных правил нашли широкое распространение при построении экспертных систем, однако кроме этого часто используются и в практической деятельности в сфере торговли (при раскладке товаров: считается, что товары, которые часто покупаются вместе, надо размещать ближе друг к другу). Разберем работу алгоритма на примере. Рассмотрим рыночную корзину: 1 ... j .. • п 1 м = i •• "V/ т где i — номер покупки; j — номер товара (например, j - 2 — бананы, j - 3 — черешня, j - 5 — клубника).
134 Гпава 4 Введем операцию Supp, которая будет возвращать количество транзакций для выбранных товаров: т Supp (бананы, черешня, клубника) = w, 2 • от, 3 • от, 5. /=1 Уверенностью в правиле a—>b (Conf) будем называть: Supp(a) — число раз совместно приобретенных товаров а и Ь, деленное на число раз, когда приобретался товар a = P(b | а). Задачу поиска ассоциативных правил можно сформулировать как задачу поиска таких правил а—>Ь, для которых: Supp(a U Ь) > 0 и Conf (а -> Z>) > min conf, где значение 0 называют минимальным порогом поддержки. Параметр 0 обладает свойством монотонности и ограничивает значения снизу, т. е.: если Supp(a U Ь) > 0, то Supp(a) > 0 и Supp(Z>) > 0. Если a{Jb — количество раз, когда а и b покупались совместно, то также будет верно и то, что: Supp(a U b) = количество раз, когда а и b покупались совместно; Supp(a U Ь) < количество раз, когда покупалось а = Supp(a). При использовании алгоритма Apriori сначала необходимо найти все часто продаваемые товары Supp(a) > 0, а затем для множества товаров L не пустые подмножества / для каждого товара а (а —> {/ \ а}), для которых Supp(Z) е > min coni . Supp(a) Рассмотрим пример. Пусть 0 = 10. Тогда последовательность операций можно представить так, как показано на рис. 4.25. Общую схему работы алгоритма Apriori можно представить так, как показано ниже. 1. На основе данных статистики формируем матрицу М. 2. Л = 1. 3. Если Lk_x = 0, то переходим на шаг 9. 4. Формируем множество Lk - {к, /} для всех /, для которых Supp(z) > 0. 5. к = к + \.
Интеллектуальные технологии 135 Supp(a) = 25 Supp(Z>) = 20 Supp(c) = 30 Supp(J)=45 Supp(<?) = 29 Supp()0 = 5 Supp(g) = 17 Supp(^y^) = 7 Supp(aU<?) = 25 Supp(aUd) = 15 Supp(a U <?) = 23 ••• Supp0y^) = 3 Supp(aUcU^) = 15 Supp(a U c U e) = 22 Supp(b U d U g) = 15 cJ S 0Ц О Supp Товар 2,3,5 из 04 CU S СП сч Supp сч сч СП сч Товар СП СП гГ 04 cf 04 СП ! 1 Supp сч - СЧ СП СЧ Товары еч СП СП сч" 04 СЧ 04 СП Товары сч СП 04 СП сч" 04 сч" 04 СП Supp сч СП СП СП Товар - сч СП 04 Рис. 4.26. Демонстрация работы алгоритма Apriori - M ’t Supp сч СП СП - 1 СП Си S е2 СЧ СП ”Т 04 S * С о С ’’Г СП 04 си" С1" 04 СП сч" 04 сч" о о о О Q о о о о сч СП
136 Гпава 4 6. Ск = apriori_gen(Zjt_l) — генерируем группы товаров размером к . 7. Lk ={с: с еСк, Supp(c)>0} —наборы размером к . 8. Переходим на шаг 2. 9. Конец.< В результате работы алгоритма получаем • Д™ работы алгоритма необходи¬ мо наличие процедуры apriori_gen(Z^_l), работа которой представлена далее. 1. На входе имеем Ьк_х. 2. Находим все вхождения в Lk_x подмножеств, в которых первые к-2 компонент одинаковы. 3. Объединяем эти подмножества в лексическом плане в множество (на¬ пример, {а, Ь, с, d, е, /}, {a, b, с, d, е, g} -> {a, b, с, d, е, f, g}). 4. Ск = {се, V(A:-1) подмножеств с, е }. 5. Выводим С4.<1 Рассмотрим пример того, как работает алгоритм (рис. 4.26). 4.7. Алгоритм ссылочного ранжирования (PageRank алгоритм) Алгоритм PageRank [57] был предложен Ларри Пейджем и Сергеем Брином около 1998 г. и использовался в прототипе поисковой системы Google. Задача, которую он решал, состояла в оценке популярности или важности веб-страницы на основе взаимосвязей веб-страниц. Предполагается, что страница с большим количеством входящих ссылок важнее, чем страница с меньшим количеством входящих ссылок, а также важной является страница, на которую ссылается страница с большой важностью. На практике в настоящее время данный алгоритм применяется не только в поисковых системах, но и для получения и ранжирования ассоциативных правил, нашедших наибольшее применение при построении экспертных систем. Наиболее просто работа алгоритма может быть представлена с помощью матриц. Связи между страницами или факторами могут быть представлены в виде графа. Узел представляет собой веб-страницу или фактор, а стрелка от А на страницу В
Интеллектуальные технологии 137 означает, что на странице А есть ссылка на страницу В. Количество исходящих ссылок является важным параметром. Обозначим через L(p) количество исходящих ссылок на странице р. Например, пусть имеется четыре страницы. Страница Л содержит ссылку на страницу 5, ссылку на страницу С и ссылку на страницу D. Страница В содержит одну- единственную ссылку на страницу D. Страница С указывает на страницы А и D. а страница D указывает на страницы А и С. Они представлены в следующими выражениями L(A) = 3, L(B) = 1, L(C) = 2, L(D)-2 (рис. 4.27). Пусть N— число страниц. Запишем матрицу А (Nx N), значения элементов которой будем определять как at J = L(j), если есть связь между j и z, 0 в противном случае. Для рассматриваемого примера получим следующую матрицу: 0 0 1/2 1/2 1/3 0 0 0 1/3 0 0 1/2 1/3 1 1/2 0 Сумма значений в каждой колонке полученной матрицы равна 1. Упрощенно PageRank-алгоритм можно описать следующим образом— инициализируем х как столбец Ух1 с неотрицательными значениями и последовательно заменяем х на произведение Ах до сходимости (до тех пор, пока значения не перестанут изменяться или их изменение будет меньше некоторой величины погрешности е). Вектор х называют PageRank-вектором. Инициализация вектора обычно осуществляется равными значениями. Далее представим себе веб-серфера, который щелкает по ссылкам случайным образом. Если на странице есть k ссылок, то он случайно выбирает одну и переходит на выбранную страницу. Через достаточно продолжительное время N компонент PageRank-вектора будут пропорциональны количеству раз, которые серфер посетил N страниц. Для рассмотренного примера вектор х будет состоять из четырех компонент, которые инициализируем единичными значениями:
138 Гпава 4 хс rn 1 1 Изменение значения PageRank-вектора можно проиллюстрировать табл. 4.2. Таблица 4.2. Пример изменения значений векторах для графа, приведенного на рис. 4.26 Номер итерации ХА хв хс XD 0 1 1 1 1 1 1 0.3333 0.8333 1.8333 2 13333 0.3333 1.25 1.0833 3 1.667 0.4444 0.9861 1.4028 4 1.1944 0.3889 1.0903 1.3264 5 1.2083 0.3981 1.0613 1.3322 6 1.1968 0.4028 1.0689 1.3316 7 1.2002 0.3989 1.0647 1.3361 Видно, что значения в приведенном примере быстро сходятся, и максимальное значение имеет узел D с наибольшим количеством входящих ссылок. Возможна ситуация, когда отдельные страницы вообще не имеют исходящих ссылок (рис. 4.28). Рис. 4.28. Пример графа 2 Ассоциированная с графом матрица А будет иметь вид: ' 0 0 1/2 0" 1/3 0 0 0 А = 1/3 0 0 0 J/3 1 1/2 0,
Интеллектуальные технологии 139 В данном случае последний столбец принимает нулевые значения, в результате чего алгоритм сходится к нулевым значениям (табл. 4.3), что не верно. Таблица 4.3. Пример изменения значений векторах для графа, приведенного на рис. 4.27 Номер итерации ХА хв хс XD 0 1 1 1 1 1 0.5 0.3333 0.8333 1.8333 2 0.1667 0.1667 0.1667 0.6667 3 0.0833 0.0556 0.0556 0.3056 4 0.0278 0.0278 0.0278 0.1111 5 0.0139 0.0093 0.0098 0.0509 Для того чтобы алгоритм работал, значения таких ’’висящих” узлов будем заменять значением VN при построении матрицы А. Тогда для рассматриваемого примера А примет вид: 0 0 1/2 1/4 1/3 0 0 1/4 1/3 0 0 1/4 1/3 1 1/2 1/4 и алгоритм снова сходится и дает верные значения (табл. 4.4). Таблица 4.4. Пример изменения значений векторах для графа, приведенного на рис. 4.27, после модернизации алгоритма Номер итерации ХА хв хс XD 0 1 1 1 1 1 0.75 0.5833 0.5833 2.0833 2 0.8125 0.7708 0.7708 1.6458 3 0.7969 0.6823 0.6823 1.8385 4 0.8008 0.7253 0.7253 1.7487 5 0.7998 0.7041 0.7041 1.7920 При увеличении числа узлов (рис. 4.29) может получиться, что матрица А будет содержать большое количество нулей.
140 Гпава 4 Если начать работу алгоритма на этих данных, то мы получаем табл. 4.5. Таблица 4.5. Пример изменения значений векторах для графа, приведенного на рис. 4.28 Номер итерации хА хв хс xD ХЕ XF XG хя 0 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 1 0.0625 0.1042 0.0417 0.1667 0.125 0.1875 0.25 0.0625 2 0.0208 0.1042 0.0208 0.0937 0.1458 0.2813 0.2396 0.0938 3 0.0104 0.0538 0.0069 0.0697 0.1927 0.2865 0.2396 0.1406 4 0.0035 0.0382 0.0035 0.0339 0.1701 0.3099 0.2977 0.1432 5 0.0017 0.0181 0.0012 0.0220 0.1740 0.3694 0.2587 0.1549 6 0.0006 0.0116 0.0006 0.0102 0.1937 0.3362 0.2625 0.1847 7 0.0003 0.0053 0.0002 0.0063 0.1739 0.3549 0.2912 0.1681 8 0.0001 0.0032 0.0001 0.0028 0.1801 0.3752 0.2610 0.1774 Из расчета видно, что рейтинг узлов А и D опускается до нуля, а это не верно. Это значит, что при работе с разряженными матрицами алгоритм не работает. Для того чтобы скорректировать работу алгоритма, будем использовать матрицу М, которая получается следующим образом:
Интеллектуальные технологии 141 р 1 1 ••• р 1 1 1 ••• 1 1 1 1 ••• 1 J 1 1 ••• 1 где d принимает значение между 0 и 1 и называется коэффициентом или постоянной демпфирования (ее значение в поисковой системе Google по умолчанию равно 0.85). Со значением d = 0.85 для рассматриваемого примера получим: 0.0187 0.0187 0.4437 0.0187 0.0187 0.0187 0.0187 0.0187 0.3021 0.0187 0.0187 0.4437 0.0187 0.0187 0.0187 0.0187 0.3021 0.0187 0.0187 0.0187 0.0187 0.0187 0.0187 0.0187 0.3021 0.4437 0.4437 0.0187 0.0187 0.0187 0.0187 0.0187 0.0187 0.4437 0.0187 0.0187 0.0187 0.4437 0.0187 0.0187 0.0187 0.0187 0.0187 0.0187 0.0187 0.0187 0.8688 0.4437 0.0187 0.0187 0.0187 0.4437 0.8688 0.0187 0.0187 0.4437 0.0187 0.0187 0.0187 0.0187 0.0187 0.4437 0.0187 0.0187 Используя новую матрицу, получим следующие значения в табл. 4.6. Таблица 4.6. Пример изменения значений векторах для графа, приведенного на рис. 4.28 после модернизации алгоритма Номер итерации ХЛ хв хс XD ХЕ XF XG хн 0 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 1 0.0719 0.1073 0.0542 0.1604 0.1250 0.1781 0.2313 0.0719 2 0.0418 0.1073 0.0391 0.1077 0.1401 0.2459 0.2237 0.0945 3 0.0354 0.0764 0.0306 0.0928 0.1688 0.2491 0.2237 0.1232 4 0.0317 0.0682 0.0288 0.0742 0.1571 0.2613 0.2541 0.1246 5 0.0310 0.0593 0.0277 0.0690 0.1588 0.2877 0.2368 0.1298 6 0.0305 0.0568 0.0275 0.0645 0.1662 0.2752 0.2382 0.1410 7 0.0304 0.0548 0.0274 0.0633 0.1598 0.2811 0.2474 0.1357 8 0.0304 0.0543 0.0274 0.0623 0.1615 0.2867 0.2392 0.1382 Из теоремы Фробениуса — Перрона следует, что в данном виде алгоритм всегда будет сходиться.
142 Гпава 4 4.8. Экспертные системы Экспертная система — программа для компьютера, которая оперирует имеющимися у системы знаниями в определенной предметной области с целью выработки рекомендаций или решений. Экспертные системы — прикладные программные системы, в которых база знаний представляет собой формализованные знания высококвалифицированных специалистов (экспертов) в какой-либо узкой предметной области. Экспертные системы предназначены для замены при решении задач экспертов в силу их недостаточного количества, недостаточной оперативности в решении задачи или в опасных (вредных) для них условиях. Разработка экспертных систем возможна, если [9]: □ существуют эксперты в рассматриваемой области; □ существующие эксперты сходятся в оценках рекомендаций и решений; □ эксперты могут сформулировать и объяснить, как получаются решения; □ решение задачи нефизических действий, для его получения достаточно рассуж- дений/математических выводов и т. п.; □ решение задачи занимает у эксперта меньшее время, чем задача станет неактуальной (обычно говорят, если решение занимает не более нескольких часов или дней, а не недель или месяцев); □ задача относится к достаточно структурированной области; □ решение не основывается в большей степени на использовании обычного здравого смысла (решение должно основываться на некоторых специальных знаниях). Считается, что разработка экспертной системы оправдана, если: □ решение рассматриваемой задачи имеет значительный эффект; □ количество экспертов недостаточно для решения всех задач в рассматриваемой области; □ для подготовки нового эксперта требуется значительное время, или при его подготовке не удается передать всю информацию либо не удается передать информацию без искажений; □ необходимо решать задачу в условиях враждебного окружении (агрессивные среды, чрезмерно высокая или низкая температура, военные действия и т. п.). Экспертные системы по принципам заложенных в их работу отличаются от других интеллектуальных систем тем, что: □ экспертная система моделирует не физическую (или иную) природу определенной проблемной области, а механизм принятия решения человеком применительно к решению задач в рассматриваемой предметной области; □ экспертная система, помимо выполнения вычислительных операций, формирует решения в виде соображений и выводов, опираясь на знания, которыми она располагает.
Интеллектуальные технологии 143 Структурно экспертная система может быть представлена несколькими взаимодействующими блоками (рис. 4.30) [9]. 1. База знаний предназначена для хранения экспертных знаний о предметной области, используемых при решении задач. 2. Машина логического вывода — механизм рассуждений, оперирующий знаниями и данными с целью получения новых данных из сведений, хранящихся в базе знаний. Для этого обычно используется программная реализация какого-либо механизма дедуктивного логического вывода или механизм поиска решения в сети фреймов или семантической сети. Реализовывать рассуждения можно на основе различных математических формализаций — логики, булевой алгебры, кванторов, предикатов и т. п. 3. Подсистема общения служит для ведения диалога с пользователем, в ходе которого экспертная система запрашивает у пользователя необходимые факты для процесса рассуждения. 4. Подсистема объяснений дает возможность пользователю получать информацию от экспертной системы, контролировать ход рассуждений. Если нет этой подсистемы, экспертная система выглядит для пользователя как ’’вещь в себе”, решениям которой можно либо верить, либо не верить. 5. Подсистема приобретения знаний служит для корректировки и пополнения базы знаний. В простейшем случае это редактор базы знаний или система типа ’’вопрос — ответ” для общения с экспертом, в более сложных экспертных системах — средства для добычи знаний в базах данных, неструктурированном тексте, графической информации и т. д. Рис. 4.30. Структура экспертной системы Для описания взаимодействия между блоками возможно либо примененение универсального математического аппарата для всех блоков, либо описание блоков различными математическими методами, стыкующимися между собой.
144 Гпава 4 В общем случае работа перечисленных блоков описывается в части вывода результатов Y следующим образом [26]: Y = (X, Р, В, R), где X — множество фактов; Р — правила с условиями их применения; В — множество аксиом построения построения правил; R — множество правил вывода. 4.8.1. Логика предикатов Логика первого порядка, называемая иногда логикой или исчислением предикатов, — формальное исчисление, допускающее высказывания относительно переменных, фиксированных функций и предикатов. Понятие ’’предикат" обобщает понятие "высказывание". Неформально говоря, предикат— это высказывание, в которое можно подставлять аргументы. Если аргумент один, то предикат выражает свойство аргумента; если больше, то отношение между аргументами. Рассмотрим пример предикатов. Возьмем высказывания: "Сократ— человек", "Платон — человек". Оба высказывания выражают свойство "быть человеком". Таким образом, мы можем рассматривать предикат "быть человеком" и говорить, что он выполняется для Сократа и Платона. Возьмем высказывание "расстояние от Иркутска до Москвы — 5 тысяч километров". Вместо него мы можем записать предикат "расстояние" (означающий, что первый и второй аргументы этого предиката находятся на расстоянии, равном третьему аргументу) для аргументов "Иркутск", "Москва" и "5 тысяч километров". Для описания предикатов используют: □ символы переменных (обычно х, у, z, х}, у1? z,, х2, у2, z2 ит. д.); □ логические операции (-» — отрицание, л — конъюнкцию (логическое "и"), v —дизъюнкцию (логическое "или"), < импликацию ("если ..., то ...’’)); □ кванторы (V — квантор всеобщности, 3 — квантор существования); □ служебные символы (скобки и запятые). Предикаты хорошо согласуются с аппаратом правил [26]. Если имеется правило: ЕСЛИ X отец К и Y отец Z ТО X дед Z, то в предикатном представлении оно примет вид: Отец(Х, Y) л Отец(У, Z) Дед(Х, Z). 4.8.2. Продукционные экспертные системы Работа продукционных экспертных систем основана на использовании продукционной модели представления знаний. Продукционная модель основана на использовании продукционных правил. Продукционным правилом называют правило
Интеллектуальные технологии 145 "ЕСЛИ х. ТО х}". Структуру такой экспертной системы можно проиллюстрировать на рис. 4.31. Значения переменных, на основании которых строятся продукционные правила, называют фактами. Рис. 4.31. Структура продукционной экспертной системы Продукционные правила могут иметь зависимости от нескольких фактов и выстраиваться в последовательности правил, которые называют цепочками вывода. Например, ЕСЛИ х1 л х2 л х3 ТО х4 или другой пример: х} х4 x5J Правила вывода делят на прямые, которые отвечают на вопрос "к чему могут привести имеющиеся факты?", и обратные, которые отвечают на вопрос "что привело к имеющимся фактам?" Для получения цепочек вывода используют различные механизмы вывода. Наиболее широкое распространение получили механизмы логического вывода. Недостатком экспертных систем данного типа является то, что при накоплении большого количества правил (продукций) они могут начать противоречить друг другу. В результате система усложняется введением периодов действия правил, вероятностей их срабатывания, приоритетов и т. п. 4.8.3. Нейлоровская диагностирующая экспертная система Отличие нейлоровской диагностирующей экспертной системы от экспертной системы продукционного типа состоит в использовании верхних и нижних порогов для вероятностей отдельных гипотез. Если вероятность Р{Н) гипотезы Н после учета всех свидетельств/факторов X превосходит верхний порог М{(Н): Р(Н)> М{(Н). то гипотеза принимается как основа для возможного заключения.
146 Гпава 4 Если же Р(Н)<М2(Н), где М2(Н) — нижний порог, то гипотеза отвергается как неправдоподобная. Например, если задается вопрос о наличии повышенной температуры у пациента, то необходимо дать пользователю возможность проранжировать степень повышения температуры, скажем, в соответствии с 11-балльной шкалой: -5 соответствует НЕТ; 0 соответствует НЕ ЗНАЮ; +5 соответствует ДА. Присутствуют и все промежуточные целые значения шкалы от -5 до +5, в результате каждое свидетельство будет оцениваться по этой шкале на основании ответа пользователя: {-5, -4, -3, -2, -1, 0, +1, +2, +3, +4, +5}. После обработки очередного фактора мы вычислим вероятность Р(Н). В базе знаний имеем конечное множество гипотез Н2,..., Нп и конечное множество свидетельств (вопросов) JQ, Х2...., Xs (рис. 4.32). Рис. 4.32. Связь свидетельств/факторов и гипотез При взаимодействии с пользователем каждый раз выбираются вопросы (свидетельств/факторов) с наибольшими вероятностями. В процессе вывода вероятности факторов все время пересчитываются в зависимости от получаемых текущих результатов. 4.8.4. Фреймовые экспертные системы Фреймовая модель, основанная на теории М. Минского, представляет собой систематизированную в виде единой теории технологическую модель в виде семантической сети. Важным элементом является понятие фрейма — структуры данных для представления некоторого концептуального объекта. Информация, относящаяся к фрейму, содержится в составляющих фрейма — слотах. В отличие от систем других типов, во фреймовых экспертных системах фиксируется жесткая структура, которая называется протофреймом (фреймом-прототипом, или образцом). В общем случае фрейм определяется следующим образом: F = [(/•,,¥,(rn, v„)], где F — имя фрейма; — имя слота; v. — значение слота.
Интеллектуальные технологии Или то же самое иначе: 147 (ИМЯ ФРЕЙМА: (имя 1-го слота: значение 1-го слота), (имя 2-го слота: значение 2-го слота), (имя и-го слота: значение и-го слота)). Значением слота может быть практически что угодно (числа или математические соотношения, тексты на естественном языке или программы, правила вывода или ссылки на другие слоты данного фрейма). В качестве значения слота может выступать набор слотов более низкого уровня, что позволяет во фреймовых представлениях реализовать ’’принцип матрешки”. В качестве значения слота может выступать имя другого фрейма; так образуются сети фреймов. Все фреймы взаимосвязаны и образуют единую фреймовую структуру, в которой органически объединены декларативные и процедурные знания. Рис. 4.33. Фреймовая модель квартиры
148 Гпава 4 Это дает возможность достаточно естественно производить композицию и декомпозицию информационных структур аналогично тому, как это делал бы человек при описании структуры своих знаний. Кроме фреймов-образцов, или прототипов, хранящихся в базе знаний, различают фреймы-экземпляры, которые создаются для отображения реальных ситуаций на основе поступающих данных (см. пример на рис. 4.33). 4.8.5. Экспертные системы на основе матрицы признаков Экспертные системы данного типа оперируют состояниями или классами, которые они идентифицируют, и признаками, которые они используют для этого. Каждый признак в каждом классе/состоянии имеет определенный вес. Для расстановки весов экспертные системы данного типа имеют режим работы — обучение. Для анализа данных используется другой режим — режим отгадывания. Рассмотрим работу системы на примере (табл. 4.7). Таблица 4.7. Пример матрицы признаков Крылья Оперение Шасси Птица 0 0 0 Самолет 0 0 0 Пусть у нас есть два объекта, птица и самолет, и три признака — крылья, перья, шасси. Изначально мы имеем пустую матрицу. Или, если записать иначе: М = 'о о (Г <° 0 Далее начинаем обучение системы (см. алгоритм ниже). 1. Каждому классу ставим в соответствие вектор правильных ответов Птица = (1,1, 0), Самолет = (1,1, 0). 2. К строке соответствующего класса с каждым вектором правильных ответов прибавляем вектор правильных ответов, а из остальных вычитаем. 3. Переводим систему в режим отгадывания и проверяем работу системы на всех векторах с правильными ответами. 4. Если все классы идентифицированы верно, то система обучена и готова к работе, иначе переходим на шаг 2.<1
Интеллектуальные технологии 1_49_ После обучения можно подавать на вход векторы, не соответствующие правильным ответам, и смотреть, как система идентифицирует объекты, имеющие признаки нескольких классов. Для работы системы в режиме отгадывания необходимо использовать алгоритм, приведенный далее. 1. Спрашиваем у оператора о наличии всех признаков. В результате получаем вектор, аналогичный вектору правильных ответов в режиме обучения. 2. Поэлементно умножаем полученный вектор (вектор ответов) на все строки в матрице признаков и считаем суммы. 3. Правильным ответом считается тот, которому соответствует максимальная сумма. В случае если мы получаем две строки с одинаковыми значениями, то система не может однозначно идентифицировать класс объекта, и ответом будут два класса с формулировкой ’’или этот класс или этот”. 4. Переходим на шаг 1.<| Существуют наборы данных, на которых система приведенного типа не может быть обучена. Поэтому в режиме обучения имеет смысл ввести максимальное число циклов обучения. Также может возникать ситуация, когда последовательный перебор строк в режиме обучения будет неоптимальным с точки зрения времени обучения. Поэтому существуют алгоритмы, когда строки перебираются случайным образом или по какому-либо алгоритму. 4.9. Предиктивные модели (Model Predictive Control) Model Predictive Control — это современный метод управления, использующий прогнозы и являющийся развитием классических методов управления с обратной связью. Обратная связь в таких моделях служит для корректировки неточностей, используются также прогнозы, получаемые на основе эмпирических методов, входными данными для которых являются ретроспективные данные параметров объекта управления и среды, в которой он функционирует. Структуру такой модели можно проиллюстрировать так, как показано на рис. 4.34. Для построения предиктивной модели в зависимости от задачи используют методы прогнозирования, которые были описаны в этой и предыдущих главах книги. Модели данного типа нашли свое применение в сложных динамических системах, в которых использование обычных ПИД-регуляторов не всегда достаточно эффективно. Примерами таких систем могут быть системы с инертностью и нелинейным изменением параметров.
150 Гпава 4 Рис. 4.34. Структура предиктивной модели Модель помогает выработать оптимальное управление на один шаг в будущее. После оказания управляющего воздействия горизонт планирования смещается, и снова ищется оптимальное управляющее воздействие. В связи с этим данный тип управления иногда называют управлением с отступающим горизонтом. Таким образом, управление основано на последовательном поиске локальных оптимумов, и современные исследования связаны с поиском таких управляющих воздействий, при которых объект управления будет оставаться в устойчивом состоянии, и выбором для этого функции затрат. В отличие от других типов моделей, которые используют прогнозы для выработки последовательности управляющих воздействий для достижения оптимальной цели в далекой перспективе, предиктивные модели за счет того, что горизонт планирования невелик, случаются ошибки управления или выявляются недостатки модели (например, при использовании линейных моделей) на одном шаге могут быть компенсированы на последующих. 4.10. Логистическая регрессия Логистическая регрессия — это статистическая модель, используемая для предсказания вероятности возникновения некоторого события путем подгонки данных к логистической кривой. Метод появился в XIX в. из исследований роста популяций и химических реакций, которые описываются следующей зависимостью: —W(t) = c,W(t) => W(t) = Аес'‘. dt Бельгийский астроном Адольф Кутелет (1796-1874), который занимался статистикой, заметил, что приведенная модель порождает нереалистичные данные, и вместе с учеником Пьером-Франсуа Верхульстом (1804-1849) предложил другую модель: 4^(0 = c^(0-O(1F(0), at в которой для ограничения роста в качестве Ф была выбрана квадратичная функция, что привело к получению
Интеллектуальные технологии 151 at где Q — предел насыщенности W. Запишем P(t) = как пропорцию предела насыщенности. Тогда ^Р(0^с|Р(/)(1-Р(/)); at e(co+ci') где с0, с, — коэффициенты модели (с0 — в этом случае постоянная интегрирования). Данная функция называется логистической кривой Верхульста и принимает значения между 0 и 1. В трех опубликованных им статьях он показал, что эта кривая хорошо описывает данные о росте текущей численности населения в Бельгии, Франции, России и Эссексе в период до 1833 г. Он не объяснил, как получал соответствующие кривые. Во второй статье Верхульст попытался подогнать (построить) кривую по трем точкам, используя данные за 20-30 лет. Его оценки предельной численности населения дали результаты в 6.6 млн для Бельгии и 40 млн для Франции. Эти результаты оказались не слишком точны, т. к. в настоящее время население Бельгии составляет 11 млн человек, а Франции — 65 млн человек. Однако в следующей статье оценки были скорректированы до 9.5 млн для Бельгии (что уже довольно близко). Верхульст умер молодым из-за болезни, и его работа была забыта, но в 1920 г. Рэймонд Перл и Лоуэлл Рид изучали рост населения США. Они попытались подогнать логистическую функцию к данным по росту населения и получили для США величину предельного населения в 197 млн человек (нынешнее население составляет 312 млн). Перл и соавторы потратили 20 лет, применяя логистическую кривую практически для любых популяций (плодовые мухи, население в Северной Африке, урожай дынь и т. п.). Работа Верхульста была вновь открыта сразу после первой статьи Перла и Рида в 1920 г., но они не ссылались на него в первых двух статьях, только в сноске в третьей статье в 1922 г. Перл упомянул его. Они цитировали его в 1923 г., но не использовали его терминологию, и назвали его статьи давно забытыми. Название "логистическая функция" было восстановлено Юлем в его обращении к Королевскому статистическому обществу в 1925 г. Вокруг логистической функции возникло много споров по поводу того, могла бы она заменить кривую нормального распределения в статистических исследованиях. Доказать возможность использования ее в статистических исследованиях мог Джозеф Берксон (1899-1982), который был главным статистиком в клинике Майо и сотрудником Рида. Но из-за критики его метода максимальной вероятности возникло противоречие, в результате которого вопрос оставался открытым до 1960-х годов.
152 Гпава 4 В настоящее время функция используется в регрессионных моделях для задачи оценки вероятности исхода события. Задача сводится к поиску коэффициентов регрессии, а результат, получаемый с помощью полученной функции, как вероятность исхода события (мы предсказываем непрерывную переменную со значениями на отрезке [0; 1]). Таким образом, мы вводим ограничения значения получаемой переменной при любых значениях независимых переменных (отрезок [0; 1]) и решаем проблему выхода за диапазоны этих значений при использовании множественной регрессии при любых значениях независимых переменных. Это достигается предположением, что вероятность наступления события у = 1 — это Р{У = \\х}=/{2), где z = cQ + с1х + с2х2 + =с7х — регрессионная функция; f(z) — логисти¬ ческая функция (также называемая сигмоидой или логит-функцией), Тогда /(,) = ‘‘ - ' . 1 + е2 1 + е'2 Р{у = 1|х} = 1 х 1 . 1 ' 1 + е’2 1 + е’"2 Поскольку у принимает только значения 0 и 1, вероятность другого возможного значения: р{^ = 0|х} = 1-/(г) = 1-/(г) = 1--^ 1 + е \ + ez l + ez l + ez 1 _ 1 l + ez ~lie-y2 ’ Тогда, обобщая предыдущее, функцию распределения у при заданном х можно за- писать в виде Р{у 1 *} = —• 1 ' 1 + е’"2 1 + е‘"А Фактически это есть распределение Бернулли. Величина у имеет распределение Бернулли, если она принимает всего два значения: 1 и 0 с вероятностями р и q = 1 - р. Таким образом, Р{у -1) = р , Р(у = 0) = q. Принято говорить, что событие {> = 1} соответствует ’’успеху”, а событие {>’ = 0} — ’’неудаче”. Эти названия условные и в зависимости от конкретной задачи могут быть заменены противоположными. Решение сводится к поиску значений вектора с. Для этого обычно используется метод максимального правдоподобия, согласно которому выбираются параметры с, максимизирующие значение функции правдоподобия на обучающей выборке: т с = argmaxТ~Тр{у = у(,) |x = x(z)}. с /=1 Для подбора необходимо составить обучающую выборку, состоящую из наборов значений независимых переменных х и соответствующих им значений зависимой
Интеллектуальные технологии 153 переменной у (множество пар (х(1), у(1)),..., (х(/л), у{т)), где i(z)eR"— вектор значений независимых переменных, а у(,) е {0,1} — соответствующее им значение у). Максимизация функции правдоподобия эквивалентна максимизации ее логарифма: т т £ 1пР{у = У-»IX = х<"} = £/> In f {с1 х‘°) + (1 - У'>) In (1 - /(crx0))) . /=1 /=1 Для максимизации этой функции может быть применен, например, метод градиентного спуска. Для этого необходимо итерационно выполнять c:=c + aVlnZ,(c) = c-i-a^(y') - f(c7 х{,)))х(1), a>0, /=1 начиная с некоторого начального значения параметров с, или использовать метод Ньютона [5]. Логистическую регрессию можно представить в виде однослойной нейронной сети с сигмоидальной функцией активации, веса которой есть коэффициенты логистической регрессии, а вес и;0 — константа регрессионного уравнения (рис. 4.35). Рис. 4.35. Реализация логистической регрессии с помощью нейронной сети Как известно, однослойная нейронная сеть может успешно решить лишь задачу линейной сепарации (возможности по моделированию нелинейных зависимостей у логистической регрессии отсутствуют). 4.11. Деревья решений Рассмотрим набор статистических данных интернет-магазина (табл. 4.8). В таблице можно выделить следующие атрибуты: □ sessionNo — номер сессии; □ startHour — время начала сессии; startWeekday — день недели, в который сессия началась (1 — понедельник, 2 — вторник,..., 7 — воскресенье); О duration — время в секундах, прошедшее с начала сессии;
154 Гпава 4 □ cCount — количество продуктов на которые нажал пользователь; □ cMinPrice — минимальная цена продукта, на который нажал пользователь; □ cMaxPrice — максимальная цена продукта, на который нажал пользователь; □ cSumPrice — суммарная цена продуктов, на которые нажал пользователь; □ bCount — количество продуктов, которые пользователь положил в корзину; □ bMinPrice — минимальная цена продукта, который пользователь положил в корзину; □ bMaxPrice— максимальная цена продукта, который пользователь положил в корзину; □ bSumPrice — суммарная цена всех продуктов в корзине; □ bStep — шаг/этап покупки, на котором находится пользователь (принимает значения от 1 до 5); □ onlineStatus — пользователь находится on-line или нет (у — да, п — нет); □ availability — статус доставки; □ customerNo — идентификатор клиента; □ maxVal — максимальная цена покупки; □ customerScore — оценка пользователем магазина; □ accountLifetime — сколько существует аккаунт пользователя в месяцах; □ payments — количество платежей, осуществленных пользователем; □ age — возраст пользователя; □ address — принимает значения пола (1 — М, 2 — Ж, 3 — компания); □ lastOrder — время в днях с даты последней покупки; □ order — флаг окончания сессии {у — была покупка, и — не было покупки). В табл. 4.8, фрагмент которой приведен, содержится 429 013 записей. На основе этой таблицы мы можем посчитать, сколько сессий закончилось покупкой, а сколько — нет; сколько у нас было клиентов мужского пола, сколько женского, сколько компаний; сколько сессий в какой день недели было; определить клиентов, которые купили более одной вещи; клиентов с ценой покупки более 1000 евро; клиентов, которые не заходили в магазин более месяца, и т. д. Можно посмотреть более сложные закономерности, а именно: какой процент мужчин, женщин и компаний завершает сессию покупкой; сколько совершается покупок клиентами разного ти- па/пола в разные дни недели и т. д. При построении сложных зависимостей мы сталкиваемся с проблемой того, что на плоскости невозможно построить более трех осей (т. е. построить график зависимости более чем от трех атрибутов). В рассмотренном примере у нас 24 атрибута. Отсюда возникает вопрос: сколько и каких зависимостей нужно построить, чтобы изучить имеющиеся данные (с использованием этих данных можно построить
Интеллектуальные технологии 155 Таблица 4.8. Пример данных (часть данных, приготовленных для конкурса Data Mining Cup в 2013 г.) лэрло > >4 >4 S! s: 4 >4 >4 >4 >4 4 s: ЛЭрЛ0)5В| - - - - O- O’ © rr © © © © © © ТГ © o- $$элррв - - - - - o- o- - - - - - - - - O’ эЗв •n »n »n v-> v-> o- O’ SO so SO so so so so SO O’ ... stuauiAtfd OJ 04 04 oj OJ O’ O’ - - - - - - - O’ эищэлфипоээв oi © со 04 © CO 302 302 302 O’ O’ 00 00 00 00 00 00 00 00 O’ ЭЛОЭ$ЛЭШО)$ПЭ v-> г- Tf V“) ’’t 475 475 475 O’ O’ m © co © »o co © »n co © vo 503 503 г 503 503 O’ |ВДХВШ © © 00 © © 00 1800 1800 1800 O’ O’ © © 00 © © 00 © © 00 © © 00 800 800 800 800 O’ О^ЛЭШО)$ПЭ C<) cn cn cn ch O’ O’ Tf Tj- Tt Tj- тГ O’ o« o- completely orderable completely orderable completely orderable O’ completely not orderable O’ O’ O’ O’ completely orderable completely orderable completely orderable completely orderable o- $щв)$эи!|ио O’ o- >4 O’ *4 O’ O’ O’ o- >0 4 >4 O’ d»»S4 o- o- o- o- O’ - O’ O’ O’ O’ O’ тГ O- O’ aauduinsq os Os os OJ oo os Os СП 39.98 39.98 39.98 OS Os 4.99 00 04 1 L'ts 1 v~> vo co 00 tS’EOl 103.54 103.54 103.54 103.54 OS OS OS OJ ээидхв^ os Os os OJ os os os 04 29.99 29.99 29.99 OS Os 4.99 00 OJ 00 OJ vo 00 OJ vo 00 OJ 27.85 27.85 27.85 27.85 os Os OS OJ aaujui^q os Os Os O1 OS Os Os 9.99 9.99 9.99 66'17 4.99 v> 00 OJ v-> 00 OJ vo 00 OJ 66*61 19.99 66*61 19.99 66*61 i Os OS OS OJ lunojq - 04 04 04 04 - - - OJ co Tj- - ээидшпзэ r- Os OS 00 V-> Os Os © 109.95 109.95 109.95 SO Os Os 19.96 so © rr* co OJ 1093.72 1093.72 1093.72 1093.72 os Os O^ OJ ээидхводэ OS OS OS OJ Os OS Os 04 29.99 29.99 29.99 Os OS ^t* 4.99 •O 00 04 00 Г-' OJ VO 00 04 vo 00 OJ 179.95 179.95 179.95 179.95 OS os Os 04 dduduipvd OS os OS 04 66*6 1 66*6 9.99 9.99 Os OS 4.99 00 OJ v-> 00 OJ vo 00 OJ os os OS 12.99 12.99 12.99 12.99 Os Os Os 04 junojo Os - - so OS SO vo vo vo тг - иорвлпр 181.477 00 © OS OJ 310.967 324.278 341.613 г- 00 00 OJ 04 00 oi тГ 120.269 I 04 ■'T so ©’ r- 228.147 OJ 2718.412 2738.467 2797.247 2816.046 0.0 Авр^ээдулв)$ •n •n »n v~> »n «о •n v> vo vo vo vo vo vo лпон>лв)§ so so SO so SO SO SO so so so so SO SO so SO SO o^uoissas cn CH m cn cn ’’t V”) v-j vo vo vo vo vo vo SO
156 Гпава 4 24 одномерных диаграммы, 24 • 23 / 2 = 276 двумерных диаграмм, 24 • 23 • 22 / 6 = = 2024)? Это количество будет зависеть и от типа атрибутов, например: □ вещественные значения: cCount, cMinPrice, cMaxPrice, cSumPrice, bCount, bMinPrice, bMaxPrice, bSumPrice, customerNo, maxVal, accountLifetime, payments, age, lastOrder, sessionNo, startHour, customerScore; □ символьные значения: startWeekday, bStep, onlineStatus, availability, address, order. Из приведенных выше рассуждений возникают вопросы: можно ли автоматизировать процесс добычи данных? Можно ли определить, какой атрибут будет давать наибольший вклад в интересующий нас вопрос? Ответить на эти вопросы поможет дерево решений, которое представляет собой план атрибутов, структурированных в виде дерева (рис. 4.36). Программа для построения дерева на языке R приведена в листинге 4.1. Рис. 4.36. Пример дерева решений, построенного на основании части атрибутов из табл. 4.8 library(rpart) library(rpart.plot) tree<-read.table(file.choose() , header = TRUE, sep = "I")
Интеллектуальные технологии 157 tree_test<-rpart(tree$order~startWeekday+bCount+address+startHour+ cCount+onlineStatus+bStep, data = tree, minbucket = 1, minsplit=l) rpart.plot(tree_test) Деревья решений являются одним из наиболее популярных методов решения задач классификации и прогнозирования. Иногда этот метод также называют деревьями решающих правил, деревьями классификации или регрессии. Если зависимая (целевая), переменная принимает дискретные значения, при помощи дерева решений решается задача классификации (дерево для классификации). Если зависимая переменная принимает непрерывные значения, то дерево решений устанавливает зависимость этой переменной от независимых переменных, т. е. решает задачу численного прогнозирования. Впервые деревья решений были предложены Ховилендом и Хантом в конце 50-х годов прошлого века. В наиболее простом виде дерево решений — это способ представления правил в иерархической, последовательной структуре. Основа такой структуры — ответы "Да" или "Нет" на ряд вопросов или другой набор из двух значений атрибутов (такие деревья решений называются бинарными). Для построения дерева необходимо выбирать вершину дерева и далее по ниспадающей определять атрибуты деления (обычно чем выше вершина, тем больше информации она содержит) и признаки ветвления до тех пор, пока не переберем все атрибуты (не дойдем до дна). Для выбора вершин ветвлений, их последовательности и признаков разработано несколько методов. Недостатком подхода на основе использования деревьев решений является то, что проблема получения оптимального дерева решений является АР-полной иногда даже для простых задач. Таким образом, практическое применение алгоритма деревьев решений основано на эвристических алгоритмах. Такие алгоритмы не могут обеспечить оптимальность всего дерева в целом. 4.11.1. CART-алгоритм (деревья регрессии) Алгоритм CART является одним из самых старых (разработан в 1974-1984 гг.). Он определяет, какие атрибуты будут делиться и где. При этом позволяет строить только бинарные разделения. Для этого используется индекс Gini14. 14 Коэффициент Gini (Джини) — статистический показатель степени расслоения чего-либо по отношению к какому-либо изучаемому признаку (например, степень расслоения общества по доходам). Имеет несколько способов вычисления, которые выбираются в зависимости от рассматриваемой задачи. Представляет собой отношение площади фигуры, образованной кривой Лоренца и диагональю единичного квадрата, к площади треугольника, образованного диагональю единичного квадрата и кривой неравенства (кривая, которая проходит через координаты (0, 0), (1, 0), (1, 1)). Кривая Лоренца представляет собой альтернативное (в иных координатах по оси х доля значений (в экономике доля населения), по оси у доля охваченных значений в этой доле из всех возможных значений (в экономике доля доходов этой доли населения) графическое изображение функции распределения (является выпуклой вниз и проходит под диагональю единичного квадрата).
158 Гпава 4 Алгоритм CART для разбиения использует комплексную минимальную ’’стоимость” разбиения. Каждому поддереву ставится в соответствие ’’стоимость” разбиения: Ginispllt = Gini (Г,) + ^ • Gini (Тг), где Т — набор данных, для которого строится разбиение; N — число данных (записей) в разбиваемом наборе данных; Т1 и Тг — наборы данных (условно левый и правый), на которые предполагается разбить исходный набор данных; Nt и Nr — число данных (записей) соответственно в левом и правом наборах данных. Обозначим через /, и число экземпляров i -го класса в левом и правом потомках (наборах данных) соответственно. Тогда / п (I. „( = 1-Е £ /=1 V k -Л/ Иначе выражение можно переписать как 1_у 2L * Г 7 7 п JV,- + N \ \ iyi '=1 7 min. Поскольку умножение на константу не играет роли при решении задачи минимизации получаем Ginispl,t(D = N, + Nr -T-£r,2 -> min. 1=1 •‘’г 1=1 Далее G<nisphl(n = N- ->min- /=1 i=\ J Окончательно получаем Ginispllt(Г) = -> max • NI ;=i IN r /=] Таким образом, при построении "дерева решений" по методу CART ищется такой вариант ветвления, при котором максимально уменьшается значение показателя Ginispllt(T). 4.11.2. Алгоритм С4.5 Несмотря на то что данный метод используется для построения деревьев решений, он нашел применение и в решении задач классификации. История появления этого алгоритма связана с алгоритмом ID3, который был предложен в 1962 г. Хунтом, затем на его основе в 1979 г. Куинланом был получен алгоритм С4, и наконец, он же его модифицировал до алгоритма С4.5 в 1993 г. (исходный код написанной им программы содержал 9000 строк на языке С).
Интеллектуальные технологии 159 Прежде чем рассмотреть непосредственно алгоритм, рассмотрим элементы теории информации. Под количеством информации (I) о наблюдаемом событии понимают количество битов, необходимых для кодирования вероятности события р (/(p) = -log2/?). Например, информация о подбрасываемой монете содержит 1 бит информации (орел или решка). Если вероятность какого-то события равна 1, то мы не имеем никакого количества информации об этом событии. Такое понимание количества информации вытекает из тех свойств, которые мы для нее выбрали (I): □ /(/?) > 0,7(1) = 0 — количество информации о любом событии — неотрицательная величина, количество информации о событии с вероятностью 1 равно нулю; □ 1(рх • P2)-I(Pi) + I(P2) — количество информации двух независимых событий равно сумме их количества информации; □ 1(р) — непрерывна, небольшие изменения вероятности соответствуют небольшим изменениям количества информации. Из приведенных свойств следует, что 1(р2) = 21(р) или, обобщая, 1(рп} = п1(р). Это также означает, что I(p) = l[(p таким образом, верно сле¬ дующее: —I(p) = l(pl/p}. Обобщая все вышесказанное, скажем, что для всех по- т ' 7 ложительных вещественных чисел верно, что I(pa)- al(p). Для функций, для которых верно вышеприведенное, верно и 1{р)~ -log6(/?), где b — целое число. Если выбрать Ь-2 для ситуации с подбрасыванием монеты, то это дает нам — log2 (1/2) = 1 бит информации, если речь идет об орле и решке. Если специально класть монету вверх решкой с вероятностью р - 0.99, то это дает нам -log2(0.99) = 0.0145 бит информации. А если специально класть монету вверх решкой с вероятностью р - 0.01, то это дает нам -log2 (0.01) = 6.643 бит информации. Теперь рассмотрим количество информации, в случае если у нас множество событий. Предположим, что события v1?..., v; встречаются с вероятностями pv ..., рд, где [/?,,..., рд} —дискретное распределение вероятностей. (р) = £ PAPj) = Pj loS2 Pj = Н(Р)> 7=1 J где p — вектор [/?р..., р7]; Н(р) — энтропия дискретного распределения р 15; М[р] — математическое ожидание р . 15 Энтропия — это мера неопределенности или непредсказуемости некоторой системы.
160 Гпава 4 Если мы имеем два события с вероятностями р = [р, 1 - р], то Н(р) = -р >og2 (р) - О - р) log2 (1 - р). Если вероятности равны [1/2,1/2], то H(p) = -2ilog2i = l. Этот результат мы уже получали для случая с монетой. Если вероятности равны [0.99; 0.01], то //(/>) = 0.08 бит. Если одна из вероятностей стремится к единице (/? —> 1), то Н(р) —> 0. Теперь рассмотрим разбиение атрибута А по ветвям (рис. 4.37). В S мы имеем #pos совпадений со значением признака вышестоящего узла и #neg несовпадений. Соответственно для каждой ветви j мы имеем # poSj совпадений со значением признака и ttnegj несовпадений. ttnegi #negi Рис. 4.37. Часть размеченного дерева решений: А — атрибут деления; S — тренировочные данные для ветви деления В результате обучения для узла j мы получим вероятности #poSj #negj # posf +#negj’ # poSj + #negf Приращение информации от деления может быть определено как ожидаемое сокращение энтропии при делении по атрибуту А, которое может быть вычислено как разница между значением энтропии до деления и после деления: -|\ /г # pos # neg # pos + # neg’ # pos + # neg ^-'#pos]+#negJ # pos + # neg GainCS*, А) = Н /г J7 #negt # posf ^ttpoSj + #negf ttpoSj + #negf 7
Интеллектуальные технологии 161 Недостатком использования величины приращения информации (Grain) является склонность данного подхода к многочисленным разбиениям, в результате мы можем получить в каждой ветви всего одну запись. Это следует из того, что #posf ttnegj #poSj +#negj9 #posf + #neg/ = 0,V/, т. e. отрицательные члены будут равны нулю, и атрибут получает приоритет над всеми остальными. Альтернативой использования величины приращения информации (Grain) является использование коэффициента приращения информации (GrainRatio). Нам бы хотелось иметь большую величину приращения информации при небольшом количестве ветвлений. Тогда будем выбирать атрибут согласно выражению Gain(5, А) SplinInfo(S, А)9 где 7 Is I Hs П SplinInfo(S, >l) = -£L^log , где в свою очередь |S, | — количество элементов в ветви j. В данном выражении мы хотим, чтобы Gain(S, А) -> max, a SplinInfo(S, А) -> min . Для достижения этого необходимо, чтобы сумма для каждой ветви в выражении |S, I для SplinInfo(S, А) была максимальна, т. е. выражение у-р было как можно больше 1*э I (как можно больше элементов в каждой ветви). Алгоритм деления с использованием данного выражения необходимо продолжать до тех пор, пока не произойдет одно из следующих событий: □ закончились элементы для разбиения; □ оставшиеся элементы относятся к одному классу; □ нет больше неиспользованных для разбиения атрибутов. 4.12. Наивный байесовский классификатор Классификатор, основанный на применении теоремы Байеса со строгими (наивными) предположениями о независимости16. 16 Теорема Байеса позволяет определить вероятность какого-либо события при условии, что произошло другое статистически взаимозависимое с ним событие. Для этого используется формула Р( RI А\Р( Р(А\ В) = ’ где — априорная вероятность гипотезы А; Р(А/В) — вероятность гипоте¬ зы А при наступлении события В (апостериорная вероятность); Р(В1А)— вероятность наступления события В при истинности гипотезы А; Р(В) — полная вероятность наступления события В.
162 Гпава 4 Рассмотрим рис. 4.38. Пусть на этом рисунке J — студент, присутствующий на лекции; С — принес пальто в класс; Z — живет по адресу, где индекс 614000; R — смотрел кино ’’Властелин колец” более одного раза. Тогда связи на рассмотренном дереве могут нести дополнительную информацию. Для того чтобы определить эту информацию, необходимо рассмотреть множество присутствующих на лекции из множества всех обучаемых и определить вероятности P(C\J), Р(С\^Г), P(Z\J), P(Z\-J), P(R\J), P(R\-J). P(C\J) P(Z\J) P(R\J) P(C\^J) P(Z\—J) P(R\-J) Рис. 4.38. Пример дерева решений Вероятности для рассматриваемого примера определяются следующим образом: □ P(J) — отношение количества людей, посещающих университет, к количеству людей на лекции; □ Р(С | J) — отношение количества людей, посещающих университет и носящих пальто, к количеству людей, посещающих университет; □ Р(С | -J) — отношение количества людей, носящих пальто и не посещающих университет, к количеству людей, не посещающих университет; □ P(Z | J) — отношение количества людей, посещающих университет и проживающих по адресу с индексом 614000, к количеству людей, посещающих университет; □ P(Z | - J) — отношение количества людей, проживающих по адресу с индексом 614000 и не посещающих университет, к количеству людей, не посещающих университет; □ P(R | J) — отношение количества людей, посещающих университет и смотревших фильм ’’Властелин колец” более одного раза, к количеству людей, посещающих университет; □ P(R | —J) — отношение количества людей, смотревших фильм ’’Властелин колец” более одного раза и не посещающих университет, к количеству людей, не посещающих университет. Если теперь в классе появляется новый человек, одетый в пальто и говорящий, что живет прямо над кинотеатром, в котором он посмотрел все части фильма ’’Власте¬
Интеллектуальные технологии 163 лин колец”, то какова будет вероятность того, что он молодой человек17? Математически данная задача запишется следующим образом: P(J| С л—Z аЯ) = P(JaCa—Za7?) Р(С л -Z a R) P(J aCa^ZaT?) P{J Л С А —iZ А К) + Р(—А С* А —iZ А R) P(C\J)P(^Z\J)P(R\J)P(J) Р(С I J)P(^Z I J)P(R I J)P(J) + P(C I-J)P(-^Z I -J)P(R I ->/)P(^7) ’ В общем виде наивный байесовский классификатор может быть представлен, как показано на рис. 4.39, а его построение и работа с ним состоят из следующих этапов: 1. Оценка вероятности P(Y = v) как доли записей со значениями Y = v среди всех записей. Рис. 4.39. Пример дерева решений 2. Оценка вероятностей Р(Х, -u\Y = v) как доли записи X = и среди записей, для которых Y -v. 3. Предсказать значение Y на основе всех имеющихся наблюдений Xt по формуле (11)18. y₽rcdlct = arg max P(Y = v | X, = щ,.... Xm = um) = V = arg max V = wp ..., Xm=um) -щ, —, Xm Р{Х^щ, - arg max V = um\Y = v)P(Y = v) ■■■> x„=um) = arginaxP(X1=«l, .... Xm = UJY-v)P(Y = v) = = arg max P(Y = v)f[P(X, = u}. | Y = v). V 7=1 (4.H) 17 В этой задаче C, Z и R являются входными атрибутами, a J выходным. 18 Следует из структуры байесовской сети.
164 Гпава 4 Как видно из приведенных рассуждений, наивный байесовский классификатор, использующий реальные показатели в качестве атрибутов, не работает, если какие- либо вероятности принимают нулевые значения, но в силу простоты вычислений может работать с большим количеством атрибутов (на практике применяется в задачах с тысячами и даже десятками тысяч атрибутов). 4.13. Вопросы для самоконтроля 1. Опишите, что такое машина Тьюринга? Почему она оказалась удачной моделью для описания алгоритмов и оценки их вычислительной сложности? 2. Для решения каких задач используются деревья решений? Для чего используется формула полной вероятности? 3. Что такое когнитивная карта, в каких случаях оправдано ее применение. Что такое прямой и обратный прогон? 4. Какие этапы построения нейронных сетей вы могли бы выделить? 5. За счет чего реализуется принцип обучения и памяти в теории автоматов? 6. Что отличает экспертную систему от других типов интеллектуальных систем? 7. Можно ли использовать ассоциативные правила для получения прогнозных моделей? 8. Можно ли с помощью алгоритма Apriori найти не только значимые наборы, но и последовательности или деревья? 4.14. Задания для самостоятельной работы 1. С помощью теории автоматов опишите работу вендинговой машины (автомата- продавца) по продаже двух товаров по цене 5 и 10 рублей, при условии, что машина принимает монеты номиналов 1, 2, 5 и 10 рублей. Учтите, что выдача товара должна происходить при нажатии кнопки выбора соответствующего товара. Усложните автомат таким образом, чтобы он выдавал сдачу. 2. Решите предыдущее задание с использованием сетей Петри. В качестве прототипа используйте сеть, приведенную на рис. 4.13. Используйте при конструировании сети Петри множественные связи. Модернизируйте конструкцию таким образом, чтобы вендинговая машина выдавала сдачу. 3. Решите первое задание с использованием нейронных сетей (рассмотрите два варианта решения для сетей с памятью и без памяти). 4. Опишите работу автомата из первого задания с использованием теории предикатов. 5. С помощью одного из описанных в данной главе методов постройте алгоритм и обучите его для игры в крестики-нолики на поле 3x3.
Интеллектуальные технологии 165 6. На рис. 4.40 приведены объекты, относящиеся к разным классам (треугольники и круги), определяемые на основе значений пары параметров у и х. Запишите функцию у - /(х), которая позволит разделять приведенные данные на классы. ▲ V 25-- 20- ▲ А 1 5- ▲ 1.0- ▲ 05- .• •* • -I 1 1 1 1—► 0 2 0 4 0 6 0 8 1 0 Х Рис. 4.40. Данные для задания 6 7. Постройте матрицу признаков для экспертной системы матричного типа, которая позволит идентифицировать несколько простудных заболеваний (например, ОРЗ, грипп, ангина) по таким признакам, как температура тела, головная боль, кашель, ломота в суставах, сонливость, насморк, боль в горле.
ГЛАВА 5 A Оценка качества и сравнение моделей 5.1. Проверка адекватности в задачах регрессии (критерии согласия) Пусть х,, х2,хп — независимые наблюдения случайной величины с функцией распределения F(x), которая нам неизвестна. Предположим, что нам нужно проверить гипотезу Я_0: F(x) = F_0(x), где F0(x) — некоторая заданная функция распределения, которая может быть непрерывной или дискретной. Задача проверки гипотезы называется задачей проверки согласия, а критерии, используемые для этого, критериями согласия [10]. В регрессионном анализе критерии согласия позволяют оценивать значимость регрессионных моделей. В дисперсионном анализе критерии согласия позволяют оценивать значимость факторов и их взаимодействия. Вывод о значимости гипотезы делают на основе значения вероятности (р) соответствия проверяемой гипотезы статистическим данным (тестовой выборке). Для принятия гипотезы (для того, чтобы гипотеза была значимой) необходимо, чтобы р > 0.5, если иное не оговаривается самим методом (используемым критерием согласия). Рассмотренные в данном разделе метрики позволяют проверить адекватность гипотезы построения модели на единичных экспериментах. В случае если планируется делать обобщения и использовать модель на других данных, то необходимы множественная проверка результатов модели на различных данных и использование оценки точности, такие как: □ МАЕ (mean absolute error — средняя абсолютная ошибка):
168 Гпава 5 □ RMSE (root mean square error — среднеквадратичная ошибка): □ МАРЕ (mean percentage absolute error — средняя абсолютная ошибка в процентах): l^kzzJ.l00o/o; «У, О MASE (mean absolute scaled error— средняя абсолютная масштабированная ошибка) [41]: МАЕ и т. п. Только после такого комплексного исследования можно делать вывод о применимости модели. 5.1.1. Визуальный анализ и оценка отклонений (Ьох-диаграммы) Важной характеристикой исследования временных рядов является их схожесть, что особенно важно при решении задач прогнозирования. Визуально сопоставляя тестовую выборку и полученные прогнозные значения, можно сделать выводы о том, насколько эти значения близки и их изменения похожи (рис. 5.1, а). Для того чтобы сделать выводы, важно учитывать мнение эксперта, однако существуют и формальные метрики. Простейшей метрикой является использование Ьох-диаграмм о о Os О 00 О 00 о о о 40 О о 40 о о тГ о m НОЯ янв а мар май о тг о С*-) Рис. 5.1. Пример сравнения ретроспективных данных (тестовая выборка) и прогноза: а — визуализация ретроспективных данных и прогноза методом £NN; б — box-диаграмма (1 — статистические данные, 2 — прогноз)
Оценка качества и сравнение моделей 169 или, как их иногда называют, ’’ящиков с усами”, которые были предложены Джоном Тьюки в 1970-х годах (рис. 5.1, б). Такие диаграммы обычно рисуют рядом для ретроспективных данных и полученного прогноза, и они позволяют сравнить характеристики разброса значений: медианное или среднее значение (центральная линия), границы ’’ящика” соответствуют первому и третьему квартилям (т. е. ящик показывает область, в которой лежит 50% всех значений), ’’границы усов” — границы статистически значимой выборки, отдельные точки — выбросы значений. Исходя из принципов, по которым строится диаграмма, можно сделать вывод, что для значений, описываемых центральными распределениями, график будет симметричен. Для построения box-диаграммы на языке R необходимо выполнить команду: # визуальное сопоставление выборок boxplot(tl, t2) где tl и t2 — наборы данных, для которых необходимо построить диаграммы. 5.1.2. Законы распределения При работе с данными в зависимости от задачи возникает необходимость проверки их принадлежности тем или иным законам распределения. Наиболее широкое распространение функции принадлежности получили при проверке адекватности функциональных описаний (гипотез) данным, которые они описывают. Выбор критерия согласия для проверки будет зависеть от того, какому закону распределения соответствуют данные. Для выполнения такой проверки используются критерии согласия. Законы распределения описываются функциями плотности вероятности. Наибольшее распространение в практической деятельности получили следующие законы распределения: □ распределение Фишера; □ распределение Стьюдента: где Г — гамма-функция; к — число степеней свободы; □ нецентральное распределение Стьюдента; □ распределение %2 (при больших значениях п (п > 30) с достаточной для практических расчетов точностью аппроксимируется нормальным распределением с математическим ожиданием п и дисперсией 2п); □ равномерный закон распределения: f(x) = f для a<x<b; b-a
170 Гпава 5 □ показательный закон распределения: f(x)=^dx, где X — параметр, обратно пропорциональный математическому ожиданию; □ распределение Вейбулла; О экспоненциальный закон распределения; □ гамма-распределение; □ логарифмически нормальное распределение: (lnx-lna)2 2ст2 где о — среднеквадратическое отклонение; a — математическое ожидание случайной величины; □ распределение Джонсона1: Ц,(х, a, b)= b—■-♦(p-(a + j>-log(x + >/x2+1)), Vx2+1 где ф — функция плотности распределения вероятности нормального распределения; а и b — коэффициенты. 5.1.2.1. Нормальный закон распределения (закон Гаусса) Среди законов распределения самым распространенным является нормальный закон распределения. Его функция плотности вероятности имеет вид: (х-а)1 е 2°2 , где а — среднеквадратическое отклонение; а — математическое ожидание случайной величины (рис. 5.2). X Рис. 5.2. Функция Гаусса 1 Распределение Джонсона является модификацией нормального распределения.
Оценка качества и сравнение моделей 171 5.1.3. Качественные критерии оценки Существующие в настоящее время критерии согласия основаны на использовании тех или иных распределений. Критерии Пирсона и Колмогорова (Колмогорова — Смирнова), Шапиро — Уилка основаны на нормальном законе распределения. Для работы с распределением Фишера используется критерий согласия Фишера или F-тест, критерий согласия Стьюдента для распределения Стьюдента и т. д. Существуют критерии, которые позволяют проверять их принадлежность к ряду законов распределений (например, критерий омега-квадрат или, что то же самое, критерий Крамера — Мизеса — Смирнова). 5.1.3.1. Критерий Пирсона (критерий х2) На практике часто используют табличный метод проверки по данному критерию. Для этого вычисляют величину %2, где к — количество проверяемых значений. Вычисляют число степеней свободы г = к-\. Значение %2 определяют с помощью табл. 5.1. Если в таблице выбрать число х, стоящее на r-й строке (соответствует полученному значению степеней свободы) и в столбце р (максимальное значение р, для которого значение %2 меньше, чем табличное значение), то ’’вероятность того, что значение %2 будет меньше или равно х, приближенно равна р, если к достаточно велико”, т. е. гипотеза не принимается с вероятностью р . Таблица 5.1. Некоторые процентные точки -распределения Т р 1% 5% 25% 50% 75% 95% 99% 1 0.00016 0.00393 0.1015 0.4549 1.323 3.841 6.635 2 0.0201 0.1026 0.5754 1.386 2.773 5.991 9.210 3 0.1148 0.3518 1.213 2.366 4.108 7.815 11.34 4 0.2971 0.7170 1.923 3.357 5.385 9.488 13.28 5 0.5543 1.1455 2.675 4.351 6.626 11.07 15.09 6 0.8721 1.635 3.455 5.348 7.841 12.59 16.81 7 1.239 2.167 4.255 6.346 9.037 14.07 18.48 8 1.646 2.733 5.071 7.344 10.22 15.51 20.09 9 2.088 3.325 5.899 8.343 11.39 16.92 21.67 10 2.558 3.940 6.737 9.342 12.55 18.31 23.21
172 Гпава 5 Таблица 5.1 (окончание) г р 1% 5% 25% 50% 75% 95% 99% 11 3.053 4.575 7.584 10.34 13.70 19.68 24.72 12 3.571 5.226 8.438 11.34 14.85 21.03 26.22 15 5.229 7.261 11.04 14.34 18.25 25.00 30.58 20 8.260 10.85 15.45 19.34 23.83 31.41 37.57 30 14.95 18.49 24.48 29.34 34.80 43.77 50.89 50 29.71 34.76 42.94 49.33 56.33 67.50 76.15 >50 р + yj2pxp + -1 + О(1Д/Я ХР = -2.33 -1.64 -0.674 0.00 0.674 1.64 2.33 Для каждого критерия может быть использован табличный и аналитический способ проверки. При использовании аналитического подхода проверки гипотезы по критерию х2 сначала необходимо определить размер ошибки (погрешности). Для расчета ошибки будем применять следующую формулу: 1=1 Найдем значение а (сигма) по формуле: где п — количество экспериментальных точек. Для того чтобы сделать выводы об адекватности, проверим количество точек, попадающих в интервалы у - с < у < у + о и у - 2о < у < у + 2о. Для принятия гипотезы необходимо, чтобы в первый интервал попадало не менее 68%, а во второй интервал не менее 95% экспериментальных точек. В некоторых случаях проверку дополняют проверкой количества точек в интервале у* - Зег < у < у* + Зег, в который должно попадать не менее 99% экспериментальных точек. Если проверка не выполняется, то следует выбирать другую гипотезу (например, при использовании степенных рядов необходимо увеличить порядок ряда). Для проверки гипотезы по критерию у2 нужно выполнить такие команды на языке R: testO <- matrix(с(tl, t2), nrow = 2, byrow = TRUE) # Критарий Пирсона chisq.test(testO) где tl и t2 — наборы данных, для которых необходимо построить диаграммы.
Оценка качества и сравнение моделей 173_ В результате выполнения на экран будет выдана информация: Pearson’s Chi-squared test data: testO X-squared = 28.951, df = 112, p-value = 1 где p-value — величина, которую необходимо вычесть из 1 для оценки значимости гипотезы. 5.1.3.2. Критерии согласия Колмогорова и Колмогорова — Смирнова Критерий Колмогорова для обработки результатов моделирования целесообразно применять в тех случаях, когда параметры теоретической функции распределения непрерывны и известны все их значения: D+ =max(jA -у*), / = и; D~ =max(/-y;), z = l,..., n; D = max|/ -y[, i = где n — количество экспериментальных точек; у. — экспериментальные значения; у* — теоретические значения. Из теоремы Колмогорова следует, что К = D\[n . Или согласно дополнению Смирнова: К+ =D+\/n , К~ =D~Jn . Если вычисленное на основе экспериментальных данных значение К меньше табличного значения (табл. 5.2), то гипотеза принимается с вероятностью р\ в противном случае расхождение между у* и у считается неслучайным, и гипотеза отвергается [11] с вероятностью р . Таблица 5.2. Некоторые процентные точки распределений КУ и К п Р 1% 5% 25% 50% 75% 95% 99% 1 0.01000 0.05000 0.2500 0.5000 0.7500 0.9500 0.9900 2 0.01400 0.06749 0.2929 0.5176 0.7071 1.0980 1.2728 3 0.01699 0.07919 0.3112 0.5147 0.7539 1.1017 1.3589 4 0.01943 0.08789 0.3202 0.5110 0.7642 1.1304 1.3777 5 0.02152 0.09471 0.3249 0.5245 0.7674 1.1392 1.4024 6 0.02336 0.1002 0.3272 0.5319 0.7703 1.1463 1.4144 7 0.02501 0.1048 0.3280 0.5364 0.7755 1.1537 1.4246 8 0.02650 0.1086 0.3280 0.5392 0.7797 1.1586 1.4327
174 Гпава 5 Таблица 5.2 (окончание) п р 1% 5% 25% 50% 75% 95% 99% 9 0.02786 0.1119 0.3274 0.5411 0.7825 1.1624 1.4388 10 0.02912 0.1147 0.3297 0.5426 0.7845 1.1658 1.4440 11 0.03028 0.1172 0.3330 0.5439 0.7863 1.1688 1.4484 12 0.03137 0.1193 0.3357 0.5453 0.7880 1.1714 1.4521 15 0.03424 0.1244 0.3412 0.5500 0.7926 1.1773 1.4606 20 0.03807 0.1298 0.3461 0.5547 0.7975 1.1839 1.4698 30 0.04354 0.1351 0.3509 0.5605 0.8036 1.1916 1.4801 >30 Ур+1и-0/2)+<?(1/и) О Ур = 0.07089 0.1601 0.3793 0.5887 0.8326 1.2239 1.5174 5.1.4. Количественные критерии согласия При исследовании временных рядов с большим количеством данных использование качественных критериев согласия неэффективно, т. к. они дают отрицательный результат. Для устранения этого эффекта оценку адекватности можно проводить либо путем разбиения данных на промежутки, либо использования критериев, дающих численную оценку значимости гипотезы. 5.1.4.1. Критерий Фишера (F-критерий) Для проверки значимости моделей будем производить сравнение результатов прогнозирования у с ретроспективными данными на тестовой выборке у*. Для сравнения гипотез на основе критерия Фишера найдем значение 1 n ' где n — количество точек в сопоставляемых выборках; у и у. — соответственно средние значения тестовой выборки и проверяемого на адекватность временного ряда. По значению F и количеству степеней свободы (п -1) определим значение вероятности принятия гипотезы (р) и сделаем вывод о значимости гипотезы.
Оценка качества и сравнение моделей 175 Для проведения проверки гипотезы по критерию Фишера необходимо выполнить следующую команду на языке R: #Критерий Фишера var.test(tl, t2) где tl и t2 — наборы данных, для которых нужно построить диаграммы. В результате выполнения на экран будет выдана информация: F test to compare two variances data: tl and t2 F = 1.4462, num df = 112, denom df = 112, p-value = 0.05209 alternative hypothesis: true ratio of variances is not equal to 1 95 percent confidence interval: 0.9966557 2.0985168 sample estimates: ratio of variances 1.446201 где p-value — значимость гипотезы. 5.1.4.2. Критерий Стьюдента (t-критерий) Критерий Стьюдента применим, когда оцениваемые данные подчиняются нормальному закону распределения, а также выполняется равенство их дисперсий. Если эти условия не выполняются, то следует использовать другие критерии (например, часто используют ^/-критерий, критерий Манна — Уитни). Для сравнения средних величин рассчитывается значение t по формуле: М.-М2 /= , 1 2 где М{ — среднее арифметическое первого набора данных; М2 — среднее арифметическое второго набора данных; щ — средняя ошибка первой средней арифметической; т2 — средняя ошибка второй средней арифметической. Для интерпретации полученного значения необходимо определить число степеней свободы по формуле / = (п,+«2)-2, где пх — количество значений в первом наборе данных; п2 — количество значений во втором наборе данных. Теперь следует воспользоваться табл. 5.3, найти в ней строку, соответствующую полученному количеству степеней свободы, и сравнить значение t с табличным. Таким образом, определяем уровень значимости. Находим максимальное табличное значение /?, больше которого будет t. Критическое значение для данного критерия равно 0.05. Фактически это означает, что значения попадают в 95% доверительный интервал (±2п, см. критерий Пирсона). Все гипотезы с уровнем значимости менее 0.05 должны быть отвергнуты.
176 Гпава 5 Таблица 5.3. Некоторые точки для оценки значимости гипотезы с использованием t-критерия f р 0.40 0.25 0.10 0.05 0.025 0.01 0.005 1 0.324920 1.000000 3.077684 6.313752 12.70620 31.82052 63.65674 2 0.288675 0.816497 1.885618 2.919986 4.30265 6.96456 9.92484 3 0.276671 0.764892 1.637744 2.353363 3.18245 4.54070 5.84091 4 0.270722 0.740697 1.533206 2.131847 2.77645 3.74695 4.60409 5 0.267181 0.726687 1.475884 2.015048 2.57058 3.36493 4.03214 6 0.264835 0.717558 1.439756 1.943180 2.44691 3.14267 3.70743 7 0.263167 0.711142 1.414924 1.894579 2.36462 2.99795 3.49948 8 0.261921 0.706387 1.396815 1.859548 2.30600 2.89646 3.35539 9 0.260955 0.702722 1.383029 1.833113 2.26216 2.82144 3.24984 10 0.260185 0.699812 1.372184 1.812461 2.22814 2.76377 3.16927 11 0.259556 0.697445 1.363430 1.795885 2.20099 2.71808 3.10581 12 0.259033 0.695483 1.356217 1.782288 2.17881 2.68100 3.05454 13 0.258591 0.693829 1.350171 1.770933 2.16037 2.65031 3.01228 14 0.258213 0.692417 1.345030 1.761310 2.14479 2.62449 2.97684 15 0.257885 0.691197 1.340606 1.753050 2.13145 2.60248 2.94671 16 0.257599 0.690132 1.336757 1.745884 2.11991 2.58349 2.92078 17 0.257347 0.689195 1.333379 1.739607 2.10982 2.56693 2.89823 18 0.257123 0.688364 1.330391 1.734064 2.10092 2.55238 2.87844 19 0.256923 0.687621 1.327728 1.729133 2.09302 2.53948 2.86093 20 0.256743 0.686954 1.325341 1.724718 2.08596 2.52798 2.84534 21 0.256580 0.686352 1.323188 1.720743 2.07961 2.51765 2.83136 22 0.256432 0.685805 1.321237 1.717144 2.07387 2.50832 2.81876 23 0.256297 0.685306 1.319460 1.713872 2.06866 2.49987 2.80734 24 0.256173 0.684850 1.317836 1.710882 2.06390 2.49216 2.79694 25 0.256060 0.684430 1.316345 1.708141 2.05954 2.48511 2.78744 26 0.255955 0.684043 1.314972 1.705618 2.05553 2.47863 2.77871 27 0.255858 0.683685 1.313703 1.703288 2.05183 2.47266 2.77068 28 0.255768 0.683353 1.312527 1.701131 2.04841 2.46714 2.76326 29 0.255684 0.683044 1.311434 1.699127 2.04523 2.46202 2.75639 30 0.255605 0.682756 1.310415 1.697261 2.04227 2.45726 2.75000 00 0.253347 0.674490 1.281552 1.644854 1.95996 2.32635 2.57583
Оценка качества и сравнение моделей 177_ Для проведения проверки гипотезы по критерию Стьюдента необходимо выполнить следующую команду на языке R: # Критерий Стьюдента t.test(tl, t2) где ti и t2 — наборы данных, для которых нужно построить диаграммы. В результате выполнения на экран будет выдана информация: Welch Two Sample t-test data: tl and t2 t = -0.94702, df = 216.79, p-value = 0.3447 alternative hypothesis: true difference in means is not equal to 0 95 percent confidence interval: -4.699006 1.648930 sample estimates: mean of x mean of у 54.77876 56.30380 где p-value — значимость гипотезы. 5.2. Метрики в задачах идентификации (кластеризации и классификации) Прежде чем перейти к самим метрикам, необходимо ввести концепцию описания этих метрик в терминах ошибок классификации. Допустим, что у нас есть два класса и алгоритм, предсказывающий принадлежность каждого объекта одному из классов. Тогда матрица ошибок классификации будет выглядеть так, как представлено в табл. 5.4 (у — ответ алгоритма, у — истинная метка класса). Как видно из таблицы, ошибки могут быть двух видов: неправильное предсказание принадлежности к классу (False Positives, FP) и неправильное предсказание непринадлежности к классу (False Negative, FN). Первый вид ошибок называют ошибкой I рода, а второй — ошибкой II рода. Таблица 5.4. Матрица ошибок У=1 J = o у = 1 Правильное предсказание принадлежности к классу (True Positives, TP) Неправильное предсказание принадлежности к классу (False Positives, FP) у = 0 Неправильное предсказание непринадлежности к классу (False Negative, FN) Правильное предсказание непринадлежности к классу (True Negative, TN)
178 Гпава 5 5.2.1. Оценка точности, F-мера Интуитивно понятной, но почти неиспользуемой метрикой является оценка точности — оценка доли правильных ответов алгоритма: Accuracy - TP + TN TP + TN + FP + FN Эта метрика не работает в задачах с классами, содержащими неравное количество элементов. Рассмотрим пример. Допустим, мы хотим оценить работу спам-фильтра почты. У нас есть 100 не спам-писем, 90 из которых наш классификатор определил верно (TN = 90, FP = 10), и 10 спам-писем, 5 из которых классификатор также определил верно (ТР = 5, FN = 5). Тогда оценка точности Accuracy = = 86 5 + 90 + 10 + 5 Однако если мы просто будем предсказывать все письма как не спам, то получим более высокую оценку: Accuracy = = 90.9. 0 + 100 + 0 + 10 Исправить указанный недостаток можно, перейдя с общей для всех классов метрики к отдельным показателям качества классов. Для оценки качества работы алгоритма на каждом из классов по отдельности введем метрики — точность (precision) и полноту (recall)'. precision = ТР TP + FP’ recall = TP + FN ’ Введение точности (precision) не позволяет нам записывать все объекты в один класс, т. к. в этом случае мы получаем рост уровня неправильного предсказания принадлежности к классу (FP). Полнота (recall) демонстрирует способность алгоритма обнаруживать данный класс вообще, а точность— способность отличать этот класс от других классов. Точность (precision) и полнота (recall) не зависят, в отличие от оценки точности (accuracy), от соотношения классов и потому применимы в условиях несбалансированных выборок. Существует несколько способов объединить точность (precision) и полноту (recall) в агрегированный критерий качества. Одним из самых распространенных критериев является F-мера () — среднее гармоническое точности (precision) и полноты (recall): + р2 j precision ■ recall (р2 • precision) + recall ’
Оценка качества и сравнение моделей 179 где Р — вес точности в метрике (при р = 1 это среднее гармоническое (с множителем 2, чтобы в случае precision = 1 и recall = 1 иметь F{ = 1)). F -мера достигает максимума при полноте и точности, равных единице, и близка к нулю, если один из аргументов близок к нулю. 5.2.2. ROC-кривая При конвертации вещественного ответа алгоритма (как правило, вероятности принадлежности к классу) в бинарную метку мы должны выбрать какой-либо порог, при котором значение принадлежности к классу принимает значения 0 или 1. Естественным кажется порог, равный 0.5, но он не всегда оказывается оптимальным, например при отсутствии баланса классов. Одним из способов оценить модель, не привязываясь к конкретному порогу, является AUC-ROC (или ROC AUC) — площадь (area under curve) под кривой ошибок (receiver operating characteristic curve) (рис. 5.3). 1.0 0.8 0.6 cu ь 0.4 0.2 0.0 0.0 0.2 0.4 0.6 0.8 1.0 FRP Рис. 5.3. Примеры ROC-кривых Кривая отображает соотношение между долей объектов от общего количества носителей признака, верно классифицированных как несущих признак (True Positive Rate, TPR— чувствительность алгоритма классификации), и долей объектов от общего количества объектов, не несущих признака, ошибочно классифицированных как несущих признак (False Positive Rate, FPR— специфичность алгоритма классификации) при варьировании порога решающего правила. Данная кривая представляет собой линию от (0, 0) до (1, 1) в координатах True Positive Rate (TPR) и False Positive Rate (FPR), она также известна как кривая ошибок. Анализ классификаций с применением ROC-кривых называется ROC-анализом.
180 Гпава 5 TPR = ТР TP + FN FP + TN TPR нам уже известна, это полнота; a FPR показывает, какую долю из объектов negative (-1) класса алгоритм предсказал неверно. В идеальном случае, когда классификатор не делает ошибок (FPR = 0, TPR = 1), получим площадь под кривой, равную единице (кривая будет стремиться от точки (0, 0) к точке (0, 1)); в противном случае, когда классификатор случайно выдает вероятности классов, AUC-ROC будет стремиться к 0.5, т. к. классификатор будет выдавать одинаковое количество ТР и FP (т. е. кривая будет проходить по диагонали квадрата от (0, 0) до (1, 1)). Каждая точка на графике соответствует выбору некоторого порога. Площадь под кривой в данном случае показывает качество алгоритма (чем больше площадь, тем лучше). Кроме того, важной является крутизна самой кривой — мы хотим максимизировать TPR, минимизируя FPR, а значит, наша кривая в идеале должна стремиться к точке (0, 1). Критерий AUC-ROC устойчив к несбалансированным классам и может быть интерпретирован как вероятность того, что случайно выбранный positive (+1) объект будет проранжирован классификатором выше (будет иметь более высокую вероятность быть positive (+1)), чем случайно выбранный negative (-1) объект. 5.2.3. Логистическая функция потерь Логистическая функция потерь (logloss) описывается выражением: 1 / logloss = — • £(у.■ log(y,) + (1 - у) ■ log(1 - у)) , < /=1 где у — ответ алгоритма на i -м объекте (величина вероятности принадлежности к классу); у — истинная метка класса на i -м объекте; / — размер выборки. Данная метрика редко используется в практической деятельности, но часто в исследовательских задачах и конкурсах по анализу данных2. Интуитивно можно представить минимизацию logloss как задачу максимизации оценки точности (accuracy) путем штрафа за неверные предсказания. Однако необходимо отметить, что logloss сильно штрафует за уверенность классификатора в неверном ответе. Ошибка на одном объекте может дать существенное ухудшение общей ошибки на выборке. Такие объекты часто бывают выбросами, которые нужно не забывать фильтровать или рассматривать отдельно. 2 См., например, задание https://www.kaggle.com/terms?token=FgQ-gh9rU_sPP9BptnnROL-3pN- msVsgeI3y40OLLiSbEX9DjbzVSkklJI170Af2jPZllgVpbMkCVTG3j5Nxr7bpENzsDu8efaE_2A0B-p- 0VEE9PK6wgAgo9RzOutlR6LxFGlB4_3OztW8hOquQTJ-wJPAl с сайта www.kagle.com.
Оценка качества и сравнение моделей 181 5.2.4. Общие рекомендации при работе с метриками Обобщая изложенный материал, стоит указать на несколько подходов, которые позволят существенно облегчить работу, связанную с анализом полученных результатов. Во-первых, в случае многоклассовой классификации нужно внимательно следить за метриками каждого класса и следовать логике решения задачи, а не оптимизации метрики. В случае неравных классов стоит обратить внимание на возможность подбора баланса классов для обучения и метрику, которая будет корректно отражать качество классификации. Выбор метрики нужно делать с фокусом на предметную область, предварительно обрабатывая данные и, возможно, сегментируя их (например, клиентов — на богатых и бедных). 5.3. Вопросы для самоконтроля 1. Опишите, на каких принципах основана проверка адекватности временных рядов. 2. Достаточно ли будет проверить результаты работы модели при решении задачи прогнозирования значений временного ряда для того, чтобы модель считать адекватной? 3. Какие данные необходимо сравнивать при проверке на адекватность моделей классификации? 5.4. Задания для самостоятельной работы 1. Проверьте модели, полученные в результате выполнения заданий из главы 2. с помощью критериев согласия Фишера, Пирсона, Стьюдента и Колмогорова — Смирнова. Сравните полученные результаты, сделайте выводы о применимости критериев. 2. Проверьте модели, полученные в результате выполнения заданий из главы 3, с использованием Accuracy, F-меры и логистической функции потерь. Сравните результаты, сделайте выводы о применимости критериев оценки моделей.
ГЛАВА 6 Использование методов статистической обработки данных и машинного обучения в задачах управления и планирования Рассмотренные в данной главе примеры являются результатом решения задач автором и студентами, с которыми он работал. Более подробно с этими задачами можно познакомиться в публикациях [18, 19, 55]. Исходные данные, соответствующие разделам, и скрипты, решающие задачи, можно найти в электронном архиве, прилагаемом к книге. 6.1. Использование статистических данных и методов регрессии для получения характеристических кривых систем управления и технологических процессов, учитывающих их особенности 6.1.1. Повышение эффективности работы центральной котельной за счет учета инертности системы теплоснабжения и данных прогноза уличной температуры Большое количество производственных процессов требует использования пара. В целях экономии тепловой энергии его используют для отопления производственных помещений и производственных бюро. К таким помещениям применяются те же нормативы по отоплению, что и к жилым помещениям. Поэтому прямого использования остаточного тепла может быть или недостаточно, или оно может быть избыточным. Тогда задача стоит в том, чтобы определить объем избыточного тепла, которое может быть использовано для других нужд или утилизировано, или же объем теплоты, которую необходимо выработать дополнительно для достижения
184 Гпава 6 нормативных значений. Одним из примеров таких производств является производство строительных конструкций из бетона. Технологический процесс основан на работе пара, который при использовании в качестве теплоносителя распространяется по системе теплоснабжения намного быстрее воды. Эффектом инерции при доставке тепла в этом случае можно пренебречь. Энергоемкости пара может быть достаточно для отопления зданий и производства теплой воды для бытовых нужд. Для этого нужно поддерживать его энергообеспеченность на необходимом уровне, который зависит от температуры окружающей среды. Таким образом, указанный способ дополнительного использования пара требует наличия еще какого-нибудь источника тепла для компенсации недостатков тепловой энергии и алгоритма определения этого уровня. Рассмотрим систему теплоснабжения предприятия, обладающую указанными свойствами (рис. 6.1). Получаемая тепловая энергия для решения задачи отопления и снабжения теплой водой — это побочная тепловая продукция производственного процесса. Особенностью технологического процесса является его сменный цикл работы, который зависит от производственного плана. План определяет требуемое количество выпускаемой продукции. Поэтому в зависимости от ’’загрузки” объекта возникают проблемы эффективного распределения и регулирования тепловой энергии, отходящей к потребителям. В тех случаях, когда производство ’’загружено”, объект производит тепла больше. Также нередки случаи, когда на производстве наблюдается ’’затишье”, и потребитель получает меньше тепла, чем требуется. Тогда нехватка тепловой энергии восполняется прямой подпиткой пара от котельной (К2). Учитывая, что скорость распространения пара выше, чем воды, а инертность его температуры ниже, можно принять, что Кх = К3. Таким образом, искомой величиной станет значение К2, приводящее к целевому значению К4, а также величины вырабатываемого объема тепловой энергии KQ в зависимости от температуры Токрсреды и загрузки технологического процесса, характеризуемого величиной Кх. На рис. 6.2, а показана зависимость температуры окружающей среды от целевой температуры теплоносителя в системе теплоснабжения, а в журналах учета собрана информация об объемах вырабатываемой тепловой энергии, температуры на улице и температуры теплоносителя. Информация в рассматриваемой задаче собиралась вручную и могла содержать ошибки, связанные с неточностью измерения и занесения данных. Наличие статистических данных позволяет определить особенности протекающих в системе теплоснабжения процессов (например, на рис. 6.2, б приведена зависимость объемов вырабатываемой энергии от температуры окружающей среды). Статистические данные собираются постоянно (не только во время отопительного сезона). Кроме этого, известно, что периодически для работы котельной устанавливаются режимы с избыточным значением вырабатываемой теплоты или недостаточным режимом вырабатываемой теплоты. Тогда, зная целевые значения теплоносителя для отопления зданий, можно идентифицировать значения, которые
Использование методов статистической обработки данных и машинного обучения 185 Рис. 6.1. Схема системы теплоснабжения офисных знаний и потребления пара технологическим процессом: Р2,Р\\ — объем вторичной тепловой энергии на выходе каждого автоклава, Гкал: К\ — объем тепловой энергии, которая направляется на вход группы автоклавов, Гкал; К2 — объем тепловой энергии, которая является подпиткой, Гкал; К3 — объем тепловой энергии на выходе автоклавов, Гкал; К4 — объем тепловой энергии, которая направляется в теплообменник, Гкал; KQ — общий объем тепловой энергии, поступающей в систему, Гкал; Т—температура теплоносителя в системе отопления и ГВС, °C
186 Гпава 6 о О сч •п о сп I О о о В 8. О 7 80 90 О 7 100 110 120 130 140 50 100 150 200 250 a Объем тепловой энергии, Г кал б Рис. 6.2. Целевые значения температуры теплоносителя в зависимости от температуры окружающей среды (а) и пример статистических данных, показывающий зависимость количества вырабатываемой теплоты от температуры окружающей среды (б) примем как недостоверные (значения, обведенные кружками, очевидно, дают слишком холодные или слишком горячие режимы работы, т. к. сильно отстоят от основного скопления значений), и построить характеристические кривые на основе остальных значений (имеющих наибольшую ’’кучность” для исследуемых тепловых режимов) методом регрессии [55]. Получение характеристических кривых статистическими методами позволяет учитывать особенности протекающих процессов и структуры системы теплоснабжения. Учитывая особенности объекта управления: использование тепловой энергии, передающейся с помощью пара (его быстрое распространение); фиксированное значение давления в системе; выработку именно необходимого количества энергии в контуре подпитки (передающем количество теплоты К2) — можно использовать релейное управление. В этом случае алгоритм управления процессом теплоснабжения будет выглядеть так, как приведено далее. 1. Сбор имеющихся статистических данных, выбор из них экспертным методом достоверных N значений, построение на их основе регрессионной модели. 2. Получение новых статистических данных о работе системы. 3. Проверка данных на достоверность (проверка на вхождение в доверительный интервал для имеющейся регрессионной модели), а затем, если данные достоверны, добавление нового значения в статистическую выборку и удаление самого старого значения. 4. Перестроение регрессионной модели. 5. Получение данных о температуре внешней среды.
Использование методов статистической обработки данных и машинного обучения 187 6. Определение количества теплоты KQ, которое необходимо выработать, исходя из температуры окружающей среды. 7. Если потребность в теплоте для производственного процесса К3 < К09 то открытие клапана в контуре подпитки. 8. Переход на шаг 2.< Применение приведенного алгоритма позволит собирать данные о реакции системы в режимах, близких к оптимальным. В связи с этим количество статистических данных, близко расположенных к построенным характеристическим кривым, увеличится, и алгоритм (см. выше) будет повышать точность описания характеристических зависимостей и точность своей работы. При этом возникает другая задача, связанная с определением количества используемых статистических значений N (или интервала времени в прошлое, или количества значений для каждого сочетания значений параметров) для построения модели. От количества этих значений будет зависеть то, насколько быстро будет меняться характеристическая кривая (модель будет переобучаться) в случае появления новых данных и изменения характера поведения системы (например, после ремонта или замены технологического оборудования). Процесс управления сводится к определению количества вырабатываемой тепловой энергии в зависимости от целевой температуры теплоносителя, которая в свою очередь зависит от температуры окружающей среды (см. рис. 6.2, а). На основе характера распределения статистических данных выдвинем гипотезу, что зависимость температуры теплоносителя от объема вырабатываемой тепловой энергии будет описываться S'-образной кривой [16]. На рис. 6.3 показаны кривые Перла и Гомперца, построенные на основе имеющихся статистических данных. 140 160 180 200 220 240 Объем тепловой энергии, Гкал Рис. 6.3. Характеристическая кривая выработки тепловой энергии
188 Гпава 6 Кривые были получены при смещении начала координат в точку, в которой температура теплоносителя равна 80 °C и объем тепловой энергии равен 140 Г кал, и приняли следующий вид: □ кривая Перла: 60 . • У~ 1 +131.77623341-е006490475х ’ □ кривая Гомперца: у = 60-е'17 5553716 . Для проверки значимости моделей будем сравнивать результаты прогнозирования, получаемые с помощью характеристических кривых, со статистическими значениями. Полученные кривые проходят проверку по критерию Фишера со значениями р = 0.5786 для кривой Перла и р- 0.5582 для кривой Гомперца. В качестве рабочей гипотезы для функционального описания для построения характеристической кривой возьмем кривую Перла. Задача управления сведется к уточнению значений коэффициентов кривой и определению величины вырабатываемой тепловой энергии на основе значений прогнозов уличной температуры с упреждением времени, необходимого для изменения режима работы котельной. На рис. 6.4, а показана разница между целевой температурой и ретроспективными данными. Визуальный анализ показывает, что наблюдаются отклонения фактических значений как в большую, так и в меньшую сторону. Если при отклонении значений в большую сторону значение температуры может быть скорректировано в тепловом пункте, то при отклонении в меньшую сторону температура в отапливаемых помещениях будет ниже комфортной. Используя целевые значения температуры, можно определить на основе характеристической кривой целевые значения для объемов вырабатываемой теплоты (рис. 6.4, б) во время отопительного сезона. о сч о о гч о о о 2016 Время a 2017 2015 2016 Время б 2017 о Рис. 6.4. Сравнение результатов управления: a — разница между целевой температурой и ретроспективными данными; б — среднемесячные значения выработки теплоты и модельные значения, позволяющие достичь целевого значения температуры
Использование методов статистической обработки данных и машинного обучения 189 Посчитав средние значения отклонений объемов вырабатываемой тепловой энергии в отопительные периоды, получим, что при анализе имеющихся статистических данных во время первого отопительного сезона было выработано избыточно 101.015 Гкал, во время второго отопительного сезона— 36.19647 Гкал и во время третьего — 31.98221 Гкал. Если принять стоимость 1 Гкал согласно рыночной цене равной 1200 руб./Гкал (на самом деле котельная несет затраты только по ее производству, которые складываются из затрат на газ, воду и обслуживание оборудования), то экономический эффект от использования предложенного подхода к управлению по сезонам соответственно 121 217 руб. 90 коп., 43 435 руб. 76 коп., 38 378 руб. 65 коп. Этот дополнительный эффект наблюдается без оптимизации работы котельной только за счет экономии на выработке тепловой энергии. При этом мы видим, что колебания значения температуры становятся менее резкими (см. рис. 6.5, я), а учитывая, что мы за счет использования прогнозов уличной температуры начинаем производить повышение или понижение объемов вырабатываемой теплоты заранее, то мы еще и избегаем резких колебаний в работе оборудования, что должно давать дополнительную экономию и меньше сокращать ресурс его работы. 6.1.2. Выбор оптимальных режимов работы группы паровых котлов для достижения целевых показателей производительности на основе характеристических кривых, полученных и уточняемых на данных статистики в процессе работы В настоящее время можно наблюдать ситуацию, когда для обеспечения деятельности используется оборудование разного типа, разных производителей, с существенно различающимися характеристиками. В такой ситуации эффективное управление процессами, в которых это оборудование задействовано, особенно когда оно дополняет или заменяет другое оборудование, становится сложной и при этом актуальной технологической задачей. Управление такими системами требует использования интеллектуальных систем управления, опирающихся на методы статистического и экспертного характера. Примером такой задачи является система поддержания давления пара для работы различных устройств и оборудования. Традиционный подход поддержания необходимого давления [38] связан с управлением конфигурацией сети распределения пара при работе оборудования в оптимальных режимах и использовании многочисленных генераторов пара, работающих параллельно. Однако такой подход не работает в сетях передачи пара небольшой протяженности и с отсутствием или незначительным резервированием. В таких сетях становится критическим фактор учета характеристик. В качестве примеров таких систем можно назвать заводские замкнутые сети, для которых предприятие самостоятельно производит пар. Эти сети крайне чувствительны к изменениям в работе оборудования: изменения его характеристик, режимов работы.
190 Гпава 6 Рассмотрим задачу управления на примере установки производства картона, для работоспособности которой необходимо производство пара. Исторически сложилось, что на рассматриваемом объекте существуют две станции котлов (станция 1 состоит из котлов 1 и 2, а станция 2— из котла 3) для производства пара и две установки по производству бумаги (гофроагрегаты 1 и 2, рис. 6.5). Основная котельная Рис. 6.5. Мнемоническая схема объекта управления: IV — объем потребления воды; G — объем потребления газа; S' — объем производимого пара; Р — объем производимой продукции Объем производства установок зависит от объема поступающего на них пара Р{ = Р2 = /(^з(2)(0) и ограничен максимальными производительностя¬ ми этих установок Р}^Р}тах, - ^2 max ’ ПРИ которых происходит срабатывание элементов защиты в трубопроводах с паром (стравливание излишнего давления). Производительность котлов также зависит от объемов потребления воды и пара = /(^(0, S2 = /(^(0, G2(t)), S3 =f(W3(t), G3(t)) и ограничена их мак- симумом S'3 < 53 max. Исходя из конфигурации схемы и сформулированных условий, может быть поставлена задача оптимального управления: Q (W, (/) + W2(/) + W3(/)) + CG (G, (/) + G2 (t) + G3(/))-> min ; W=/(WO); АЮ = /(53(2)Ю); /’(r)+/’(/) = P(r); 5, G,(/)); S2=f(W2(t),G2(t))-, S3^f(W3(t),G3(t));
Использование методов статистической обработки данных и машинного обучения 191 '^3(2)(0 ~ “^з(0+ ^1,2(2)(0 » 5,(/) + S2 (t) - S, 2(i)(O + ^|,2(2)(O > где Cw — цена за кубометр воды; CG — цена за кубометр газа; Р — план производства; t — время; F(t) е [0; 1] — график планово-предупредительных работ и остановок оборудования (если F(t) = 0, то единица оборудования не работает). Задачу можно считать полностью сформулированной, если удастся найти зависимости W = /(*W'))> А(0 = /(5з(2)(0), =/(w,(t),(?.(/)), s2=f(w2(t),G2(t)), S3 = /(^з(0» <?э(0) • Однако решить данную задачу аналитически невозможно, т. к. мы имеем девять неизвестных и только шесть уравнений. Выйти из этой ситуации помогает тот факт, что потребление газа и потребление воды являются взаимосвязанными величинами. Тогда мы можем построить три недостающих уравнения: ^,=f(G,),fF2=f(G2),W3=f(G3). Если после подстановки указанных зависимостей задача окажется разрешимой, то можно будет говорить о решении задачи управления путем применения алгоритма, приведенного далее. 1. Получение статистических данных для Pl,P2,P3,Sl,S2,S3,Gl,G2,G3,Wl,JF2,JF3. 2. Построение статистических моделей Pl(t) = /(S’I>2(i)(0), P2(t) - f (^з(2)Ю) > Sx=f(WSt),Gx(t)), S2=f(W2(t\G2(f)}, S3=f(W3(t\G3(f)Y 3. Очистка статистических данных. 4. Уточнение статистических моделей 7^(/) = /(512(1)(/)) P2(t) = f(S3{2}(t)), S2=f(W2(t),G2{t}), S3 =f(W3(t), G3(t)). 5. Получение данных о плане производства и данных о работоспособности или ОГраНИЧеНИЯХ В ИСПОЛЬЗОВаНИИ КОТЛОВ (/}(/)< тах^> (0 > (0 - A,max Рр (?) ’ S2(t)<S2^FSi(t), S3(t)<S3mMFSi (/)). 6. Постановка задачи оптимального управления (определение значений параметров). 7. Решение задачи оптимального управления и определение значений G1? G2, G3, Wx, W2, W3. 8. Оказание управляющего воздействия.
192 Гпава 6 9. Получение данных о реакции системы (новых значений Р}, Р2, Р3, S’,, S2, S3, G,, G2, G3, W2, W3). 10. Возврат на шаг 4.0 Использование алгоритма, приведенного выше, помимо решения задачи управления, позволяет решить задачу хранения данных путем накопления знаний, заключенных в модели [59]. В результате отпадает необходимость хранить все накапливаемые данные. Зависимости Pt(t) = /(Sl2(l)(0), Л(О = /(^з(2)(О), 5, = G,(/)), 52 = /(^2(0, G3(/)) могут быть получены методами регресси¬ онного анализа на основе статистических данных. Для построения моделей будем использовать данные за 2014 и 2015 годы. Построение регрессионных моделей на неподготовленных данных будет малоэффективным в силу большой их зашумленности [17]. Произвести их очистку можно, исходя из соображений максимальной эффективности работы оборудования. Так, для очистки зависимости потребления воды от объема потребления газа значения должны только расти (иначе получается, что из единицы газа производится меньший объем воды, чем возможно). При этом не все сочетания ”газ — вода” будут соответствовать максимальной производительности при такой фильтрации. Поэтому регрессионная кривая будет лежать несколько ниже тех значений, которые могли бы быть достигнуты, и дальнейшие расчеты не будут соответствовать максимальной производительности (будет потенциал для дальнейшего повышения качества управления). Указанная фильтрация значений позволяет нам очистить и значения для зависимостей S-f (W, G) путем использования только значений, соответствующих оставшимся парам W - f (G), для зависимостей производительности гофроагрегатов (Р ~ от объема пара аналогичный подход неприемлем, т. к. из визуального анализа видно, что после некоторого значения объема пара производительность начинает снижаться (из-за особенностей оборудования или недостатка данных). Однако можно наблюдать, что на рассмотренной выборке одному значению S соответствует несколько значений Р. В этом случае фильтрация значений может состоять в выборе максимального значения Р (значения максимальной производительности). После описанной процедуры очистки данных получим результаты, приведенные на рис. 6.6. Простейшими регрессионными моделями являются регрессионные модели на основе полиномов в виде ряда. Они были хорошо исследованы и широко используются на практике. Преимущество этого типа моделей состоит в способности решать коллинеарность проблемы. Метод позволяет легко идентифицировать шум в данных. Таким образом, будем использовать данный подход для построения регрессионных моделей, ограничив степень полинома квадратом, для того чтобы приведенная выше задача математического программирования была аналитически разрешимой [28].
Использование методов статистической обработки данных и машинного обучения 193 о о Csl О О V") 3000 4000 5000 6000 G1 a 3000 4000 5000 6000 7000 8000 G2 б о о о TJ- 2500 3000 3500 4000 4500 5000 5500 G3 в о о ’’Г о о 30 40 50 60 70 80 90 Sl,2(l) 20 30 40 50 S3(2) д г Рис. 6.6. Отфильтрованные статистические данные и полученные функциональные зависимости, описывающие работу котлов и гофроагрегатов: a — зависимость FFJ = ; б — зависимость W2 = f(G2); в — зависимость W3 = f(G3); г — зависимость ^(0 = Ж 2(1)(0Х <) —зависимость P2(t) =
194 Гпава 6 Математическая формализация полученных зависимостей будет выглядеть следующим образом (все полученные описания прошли проверку на адекватность по критерию Пирсона, графики функций приведены на рис. 6.6): Wx (г) = 37.75903 - 0.02908416 • G, (Г) + 0.000004921683 • G,(г)2; PK2(Z) = 30.11489 + 0.01283592 • G2(t) + 0.0000005366 • G2(t)2; W3(г) = 5.238735 + 0.005491781 • G3(Z) + 0.000002047041 • G3(Z)2; P} = -149.20678427 +11.09998583 • S', 2(1)(7) -0.08840261 • 5,2(1)(Z)2; P2 = 64.2436393 + 22.2134358 • 53(2)(z) - 0.3104346 • S3{2)(t)2; 5] (/) = 28.557991318 - 0.234945167 (t) + 0.009753317 • G,(Z); S2(t) = 8.019937969 -0.007622630• W2(t) + 0.009098759 • G2(t); S3 (Z) - -18.410381736 + 0.209038417 -W3 (!) + 0.006672486 • G3 (Z). Подстановка полученных результатов и дополнение модели условиями неотрицательности получаемых результатов дает возможность записать модель в системе решения оптимизационных задач LINGO (листинг 6.1). Полученная задача имеет линейный критерий и квадратичные ограничения [28], поэтому является аналитически разрешимой. В приведенной формализации цена кубического метра воды Cw =31.63 руб., а газа CG =5 руб. Дополнительно введенные ограничения для Рх и Р2 задают плановые значения производства картона, а также численно заданы ограничения на производительность паровых котлов и гофроагрегатов на основе их технических характеристик. MODEL: MIN = 31. .63* (W1+W2+W3) + 5*(G1+G2+G3) ; W1 >= 0; W2 >= 0; W3 >= 0; G1 >= 0; G2 >= 0; G3 >= 0; SI >= 0; S2 >= 0; S3 >= 0; W1 = 37.75903 -0.02908416*Gl +0.000004921683*GlA2; W2 = 30.11489 +0.01283592*G2 +0.0000005366*G2A2; W3 = 5.238735 +0.005491781*G3 +0.000002047041*G3A2; SI <= 50; S2 <= 90; S3 <= 60;
Использование методов статистической обработки данных и машинного обучения 195 S1 = 28.557991318 -0.234945167*W1 +0.009753317*Gl; S2 = 8.019937969 -0.007622630*W2 +0.009098759*G2; S3 = -18.410381736 +0.209038417*W3 +0.006672486*G3; S121 + S122 SI + S2 S122 + S3 S32; Р1 >= 650; Р2 >= 250; Р1 = -149.20678427 +11.09998583*S121 -0.08840261*S121A2 Р2 = 64.2436393 +22.2134358*S32 -0.3104346*S32A2; END Меняя значения плана согласно ретроспективному объему производства и производя соответствующие расчеты, получаем возможность сравнить модельные значения по потреблению газа и воды со статистическими данными. Результатом решения задачи будут объемы потребления воды , W2, W3 и газа Gj, G2, G3 для каждого котла и плановые объемы производства ими пара S,, S2, 53. Полученные данные могут быть пересчитаны в прямые затраты по формуле: 31.63 • (№, (/) + w2(t) + ад) + 5 • (G, (/) + G2(z) + G3(0) на производство объема продукции (+ Р2) и сопоставлены с имеющимися статистическими данными (рис. 6.7). Приведенные на рисунке данные образуют две группы значений: значения, соответствующие работе первой гофроустановки, и значения, соответствующие работе второй гофроустановки. 50 000 45 000 40 000 35 000 30 000 25 000 20 000 15 000 10 000 5000 0 0 100 200 300 400 500 600 Рис. 6.7. График зависимости объема производства от цены используемых для него ресурсов (газа и воды для котлов): маленькие точки — ретроспективные данные; большие точки — данные, полученные в результате расчетов на модели Из графиков, приведенных на рис. 6.7, видно, что получаемые на модели результаты являются лучшими с точки зрения эффективности по сравнению с режимами работы, выбираемыми на предприятии. Зная данные объемов производства за ме¬
196 Гпава 6 сяц, можно оценить объем денежных затрат на приобретение газа и воды в течение определенного периода и сопоставить эти затраты с данными модели. Исходя из этих данных, можно сделать вывод, что средняя экономия в течение одного месяца может составить около 600 тыс. руб. (например, для данных января 2014 года это 554 058,76 тыс. руб.). Даже если предположить, что модели неточны, то в результате их использования мы будем подавать значения, соответствующие их максимальной эффективности, и получим в результате реакцию системы. Эти данные согласно алгоритму, приведенному выше, будут добавлены к статистическим данным, что соответственно приведет к уточнению модели. Другой возможностью повышения точности модели является повышение степени используемых полиномов или использования других более сложных методов [20]. Однако в этом случае придется решать задачу с применением эвристических методов, и для некоторых из этих методов можно задать требования по точности получаемого решения и времени, которое мы можем потратить на поиск решения. 6.2. Предиктивное управление и использование прогнозов в задачах управления и планирования 6.2.1. Повышение эффективности индивидуального теплового пункта за счет учета инертности протекающих процессов и использования прогнозов В качестве примера рассмотрим задачу управления индивидуальным тепловым пунктом многоэтажного офисного здания для поддержания стабильной температуры в помещении. На рассматриваемом в качестве примера для решения задачи управления объекте индивидуальный тепловой пункт (ИТП) здания представляет собой комплекс технических средств, расположенных в обособленном помещении и осуществляющих инженерные подключения системы отопления и горячего водоснабжения к централизованной тепловой сети. Структурная схема ИТП, включающая средства автоматизации и управления, приведена на рис. 6.8 (см. подробнее в [14, 23]). ИТП выполнен по зависимой схеме отопления с одноступенчатой системой горячего водоснабжения (ГВС). Из тепловой сети через подающий трубопровод в здание осуществляется подача теплоносителя с температурой 95-70 °C. С помощью обратного трубопровода в сеть попадает теплоноситель, который отдает часть тепловой энергии, необходимой для обогрева помещений и нужд ГВС. Движение теплоносителя в отопительном контуре поддерживается циркуляционными насосами (см. элемент 2 на рис. 6.8). Управление насосом осуществляется в автоматическом режиме с помощью контроллера, который поддерживает необходимый температурный график в отопительном контуре методом ПИД-регулирования [44]. Контроллер воздействует на
Использование методов статистической обработки данных и машинного обучения 197 — пластинчатый теплообменник; 2 — циркуляционные насосы ГВС с частотно-регулируемым электроприводом (ЧРП); смесительно-повысительные насосы отопления с ЧРП; 4 — двухходовой регулирующий клапан с электрическим приводом; трехходовой регулирующий клапан с электрическим приводом; МС12 (СУ ИТП) — контроллер системы управления, блок управления циркуляционными насосами, датчики температуры; Тн — наружная температура
198 Гпава 6 регулирующий клапан, расположенный на подающем трубопроводе на стороне внешней тепловой сети. Между подающим и обратным трубопроводами установлена смесительная перемычка с обратным клапаном, за счет которой осуществляется подмес в подающий трубопровод из обратной линии теплоносителя с более низкими температурными показателями. Для исследования возможностей управления с использованием прогноза температуры была рассмотрена схема управления, приведенная на рис. 6.9. Для реализации данной схемы необходимо установление зависимости между входом и выходом для моделей 0, 1 и 2 на рис. 6.9 (построение моделей прогнозирования температуры помещения, нагревания воды, температуры воды после прохождения по контуру обогрева). Такие модели могут быть получены эмпирическим путем на основе регрессионных моделей, построенных с помощью методов машинного обучения. Для этого необходимо наличие статистических данных (рис. 6.10). Выбор конкретного метода осуществляется исходя из оценки точности описания, полученной на основе обучающей выборки данных модели на тестовых данных [20]. Обогреваемое (прогноз) к , Рис. 6.9. Структура модели системы теплоснабжения для исследования на данных На рис. 6.10 представлен пример данных, которые использовались для обучения модели в форме временных рядов [25]. Были взяты данные за два месяца отопительного сезона. Данные будем использовать для построения прогнозов. На имеющихся данных хорошие результаты показывает метод lasso (рис. 6.11). В результате анализа полу-
Использование методов статистической обработки данных и машинного обучения 199 ценных на модели данных можно заметить, что эти данные смещены относительно шкалы времени. Смещение оказалось равно двум часам. Выяснение значения этой величины необходимо при рассмотрении каждого параметра системы по отдельности и может быть определено экспериментально. В случае если имеется некоторый интегральный показатель, необходимо определять величину инертности как функцию от времени (которая зависит от группы параметров, влияющих на значение оцениваемого критерия). янв 25 янв 30 фев 04 фев 07 фев 11 фев 15 Время a Время б Рис. 6.10. Используемые выборки данных для построения и анализа системы управления ИТП (верхние графики — температура теплоносителя на выходе из теплообменника и на входе в теплообменник, ниже — температура в помещении и самый нижний график — уличная температура): a — обучающая; б — тестовая фев 15 фев 15 Время a Время б Рис. 6.11. Данные, получаемые в результате прогнозирования параметров модели методом lasso: a — температуры теплоносителя; б — температуры теплообменника
200 Гпава 6 о 00 ф SO О тГ О (N Ф О ГЧ I О 1 фев 07 фев 11 фев 15 Время Рис. 6.12. Расчеты температуры теплообменника и обогреваемого помещения, полученные на модели, в сравнении с исходными данными Использование приведенных выкладок и моделей для отдельных параметров и схемы на рис. 6.9 позволило получить данные, представленные на рис. 6.12. Из графика видно, что в большинстве случаев, если учитывать инертность протекающего процесса, для поддержания заданного уровня температуры в помещении достаточно меньшей температуры нагрева. Суммарно за рассматриваемый период разница между расчетными и ретроспективными значениями температуры теплоносителя составляет 23 213.13 °C, что при среднем объемном расходе в 5 м3/ч = 0.08 м3/мин системы теплоснабжения дает 23213.13 0.08 0.0001 =0.1857 Гкал экономии за 12 суток. При цене 1958,57 руб ./Гкал (цена за 1 Гкал для населения согласно постановлению Министерства тарифного регулирования и энергетики Пермского края от 17.01.2020 № 4-вг) дает 363 руб. экономии. В течение 7 месяцев отопительного сезона это дает около 6352 руб. экономии без учета повышения тарифов, а также, что более важно, стабильную температуру в помещении. При рассмотрении диапазона в 10 лет при сохранении текущей динамики повышения тарифов это уже может составить до 115 тыс. руб. для одного объекта. Если рассмотреть экономию в масштабах небольшого города (количество зданий до 1000 штук), то это уже составит 115 млн руб. При этом первый участок графика (см. рис. 6.12), дающий худшие результаты, является участком адаптации системы и при непрерывном управлении не будет повторяться, а значит, и вносить отрицательное влияние в систему управления, что повысит экономический эффект использования предиктивных методов управления, и это при том, что приведенные цифры получены при управлении уже автоматизированными ИТП [67]. Подход, рассмотренный при решении задачи управления ИТП с использованием данных прогноза и инертности системы, можно усложнить — рассмотреть как задачу подачи необходимого количества теплоты на каждый прибор отопления. Для этого в качестве примера рассмотрим систему теплоснабжения, приведенную на рис. 6.13. Проблема, которую мы будем решать, связана с тем, что конкретный прибор отопления/потребитель может либо недополучать необходимое количество
Использование методов статистической обработки данных и машинного обучения 201 Рис. 6.13. Принципиальная схема отопления одного из микрорайонов: ГВС — горячее водоснабжение; ЦТП — центральный тепловой пункт; Т — температура; Q — количество теплоты; р — давление
202 Гпава 6 тепловой энергии, либо получать избыточное количество. Проблема возникает в результате оценки количества потребляемого тепла для принятия решения о количестве вырабатываемой тепловой энергии для доведения температуры теплоносителя до нормативной по разнице между температурой возвращаемого теплоносителя и температурой теплоносителя, поданного в систему. Такая задача на практике часто усложняется различными способами подключения систем отопления. Например, в рассматриваемой схеме часть приборов включена через системы теплообмена, а часть (инженерные системы) без устройства теплообмена, от чего становится сложно оценить объем потребляемого тепла другими потребителями, подключенными через центральный тепловой пункт (ЦТП), по уровню падения температуры, т. к. при таких включениях горячий теплоноситель попадает в обратный контур. Проблема особенно остро проявляется в периоды сильных перепадов уличной температуры. Известно, что для достаточного получения тепловой энергии потребителями (возможности регулирования на ЦТП, индивидуального регулирования) температура теплоносителя, приходящего от котельной, должна находиться в определенном диапазоне в зависимости от температуры окружающей среды (табл. 6.1); для этого в системах центрального теплоснабжения применяется качественное регулирование, основанное на значении температуры, которого необходимо достичь на выходе из котельной для достижения целевого значения температуры на входе в ЦТП (см. табл. 6.1). Эта температура задается с запасом на потери при передаче тепловой энергии без учета особенностей системы центрального теплоснабжения. Таблица 6.1. Нормативная температура теплоносителя, подаваемая на ЦРП и вырабатываемая котельной в зависимости от температуры окружающей среды Т = f(T ) целевая J у окр среды / Т °C окр среды ’ 7 6 5 4 3 2 1 0 -1 -2 -3 -4 -5 -6 -7 -8 -9 ^целевая (^#1,т ) ’ 44 45 46 47 48 49 51 52 53 54 55 56 58 60 61 62 63 т выдаваемая котельной 82 83 85 87 90 92 95 Г = f(T ) целевая J у окр среды j ^окр среды > °C -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 ^целевая 64 65 66 67 69 71 72 73 74 75 76 77 78 79 80 81 81 82 т выдаваемая котельной 98 103 108 115 121 126 130 Т = f(T ) целевая J у окр среды ) Т °C окр среды ’ -28 -29 -30 -31 -23 -33 -34 -35 -36 -37 -38 -39 -40 ^целевая 82 83 83 84 84 85 85 86 86 87 88 89 90 т выдаваемая котельной 132 137 140
Использование методов статистической обработки данных и машинного обучения 203 Задача управления сводится к поддержанию необходимой входной температуры в ЦТП, снабжающих теплом жилые помещения на уровне, допускающем поддержание целевой температуры отапливаемого помещения во всех контурах. В приведенной на рис. 6.13 схеме ЦТП обеспечивающими теплоснабжение жилых микрорайонов и подчиняющимися нормативным правилам являются ЦТП#1 и ЦТП#2, один из которых имеет собственный контур, а второй подключен после большого количества потребителей тепла и на большом удалении от производителя тепла. Учитывая разную конфигурацию подключения потребителей, уровень температуры теплоносителя, приходящего в рассматриваемые ЦТП, будет различным. Поддержание целевого значения температуры в этом случае будет сводиться к минимизации суммарной ошибки отклонения температуры теплоносителя, поступающего в ЦТП, для каждого момента времени. Состояние системы центрального теплоснабжения S описывается набором параметров: — уличная температура, Т * — целевое значение температуры теп¬ лоносителя, Т#1|п и T#2in —температуры теплоносителя, поступающего в ЦТП#1 и ЦТП#2, Q — количество вырабатываемой теплоты (рис. 6.14). Рис. 6.14. Траектория изменения состояния системы теплоснабжения в процессе управления: t — время; 5 — состояние системы; Т — уличная температура; Q — количество вырабатываемой теплоты Задачу поиска нового целевого состояния системы 5(/ +1) = |Т01фсреды(/ +1), (t +1), Т#1 m (7), Tn m (/), Q(t)} запишем в виде задачи с критерием оптимальности: ZIW'+- target V+1)| -> min ; 7=1 target (Z + 0 “81 + 0^ target (* + Ц + ^ , У/, где m — количество ЦТП, в которых должна поддерживаться целевая температура, или контуров отопления; е, — допустимое отклонение от целевого значения температуры теплоносителя на ЦРП, Ttarget(r + 1) = + 1)); Tmb — значение прогноза уличной температуры для следующего момента времени. Специфика системы центрального теплоснабжения влияет на взаимосвязь между искомыми значениями. Для схемы, приведенной на рис. 6.13, это T#lin и Г#21п
204 Гпава 6 (^2,щ0 + 1)-/(^1П(^1), ^amb(Z + 1X ^2, in(/)j) и количество теплоты, которое необходимо выработать для достижения целевых значений температуры 2(0 - f (^i,m + 0, ^2,ш (г + 0, Q(J ~ О) • Наличие статистических данных (рис. 6.15) открывает возможности использования построения этих зависимостей с помощью статистических методов. Для этого имеющиеся статистические данные разобьем на два множества в отношении 2/3 к 1/3 [56] — множество данных, на которых будем обучать модель, и множество данных, на котором будем тестировать модель для того, чтобы выбрать метод, дающий наилучшие результаты прогноза. Т or О КО о о п о о сч I 2017 2018 Время,/ Рис. 6.15. Пример статистических данных, собираемых о температурных режимах функционирования системы центрального теплоснабжения, приведенной на рис. 6.13, с разрывом значений на время остановки отопительного сезона и разметкой на тренировочную и тестовую выборки Значения искомых параметров, как видно из приведенного на рис. 6.15 графика, существенно меняют свои значения на каждом шаге времени. Кроме этого, из-за физических особенностей изучаемых процессов новые значения будут зависеть от предыдущих. В таких условиях использование моделей для множественной регрессии на основе многочленов и авторегрессионных моделей дает плохие результаты. Поэтому поиск зависимостей следует искать на основе таких методов, как PLS, lasso и методов машинного обучения, применимых для решения задач регрессии (ANN, SVM, нейронные сети), использование которых позволяет получить алгоритмы, описывающие зависимость выхода от входа на основе собираемых статистических данных, и корректировать/уточнять их по мере появления новых данных (дообучать), а значит, и учитывать особенности системы [61]. Для проверки значимости моделей будем производить сравнение ретроспективных данных из тестовой выборки у с результатами прогнозирования у (табл. 6.2). Практическая реализация решения задачи регрессии с помощью указанных методов была осуществлена на языке R с использованием библиотеки Caret [46]. Построение зависимости Г#2ш0 +1) = +1), Tmb(t +1), Г#21П(/)) позволяет за¬ писать задачу поиска оптимального значения температур в следующем виде:
Использование методов статистической обработки данных и машинного обучения 205 |W'+O-:MW' + i))| + +|MV'+W'+ 1X^(0) ^target (ramb(/ + l))|^min; target (^amb^ + 0) “ 8] ^l,in(Z + 0 target (^amb^ + O) + 81 \ target (^ambC^1))-8! ^.n (^l,>n (Z + ^amb^ + 0> ^2,m W) target (^amb0 + O) + 8J * Единственной искомой переменной остается Г#1|п(г + 1). Наличие статистической модели в критериальной функции и ограничениях делает невозможным решение задачи точными методами. Поэтому необходимо применение эвристических методов. В случае если в решении задачи используются эвристические методы или комбинаторные методы дополняются элементами эвристики, то осложняется доказательство полноты используемого метода. Методы эвристического поиска в основном являются неполными. Полученная задача может быть решена с помощью генетического алгоритма, для некоторых модификаций которого доказано нахождение экстремума [42]. Кроме этого, применение генетического алгоритма позволяет в случае отсутствия решения нарушать некоторые ограничения, а также находить решение в условиях ограниченного времени (когда инертность системы небольшая). Практическая реализация решения задачи осуществляется на языке R с использованием библиотеки RGenoud [51], реализующей решение задач оптимизации с помощью генетического алгоритма. Таблица 6.2. Сопоставление точности прогнозов с использованием статистических методов построения статистических моделей для зависимости in(/)j по критерию Фишера PLS lasso ZrNN SVM Bayesian Regularized Neural Networks (BRNN) p-value 0.03946 0.003481 0.217 0.02236 0.05224 Целиком полученную модель можно представить схемой на рис. 6.16, а последовательность действий при работе с ней — алгоритмом (см. далее). 1. Получение статистических данных для Т#11П, Г#21П, 7^, Q, 2. Построение зависимостей ^2.nO + 1) = /(7iimO + 1X W' + b, „('))> m (t +1), Q(t -1)) на основе статистических данных. 3. Получение прогнозного значения температуры окружающей среды для следующего момента времени (Z +1). 4. Решение задачи оптимального выбора значения температур Т#11п, Г#21п.
206 Гпава 6 Рис. 6.16. Модель управления системой теплоснабжения
Использование методов статистической обработки данных и машинного обучения 207 5. Определение количества теплоты Q, которое необходимо выработать. 6. Оказание управляющего воздействия (подача найденного значения Q в систему теплоснабжения). 7. Сдвиг времени t -1 +1. 8. Получение новых данных о реакции системы и добавление их во множество статистических данных. 9. ЕСЛИ t равно времени окончания отопительного сезона, ТО останов алгоритма, ИНАЧЕ возврат на шаг 2.<] Для апробации предложенной модели будем использовать ретроспективные данные о функционировании системы для построения модели и сравним результаты с результатами, полученными при использовании управления по изменению разницы температур между температурой теплоносителя на выходе из котельной и температурой возвращаемого теплоносителя. При проведении расчета получаемые модельные данные будем принимать за реальные и использовать их для следующего цикла расчета (см. алгоритм выше). Количество циклов расчета будет соответствовать количеству записей в тестовой выборке (в нашем случае 113 циклов расчета). В результате проведения модельного эксперимента применения алгоритма (см. выше) на ретроспективных данных, составляющих тестовую выборку (см. рис. 6.15), предлагаемый подход показывает большую эффективность по сравнению с существующей системой управления. Из графиков видно, что произошло уменьшение величины значения отклонений от целевой температуры (рис. 6.17, a-г), а также наблюдается эффект, приводящий к экономии количества вырабатываемой тепловой энергии. Суммарный положительный баланс (объем сэкономленной энергии) за рассматриваемый период составил 9572,22469686637 Гкал, что при рыночной цене 1 Гкал в РФ ~$ 18,5 за гигакалорию (на самом деле для котельной как производителя цена за 1 Гкал будет меньше), то экономический эффект составит $177 086,16 за неполных четыре месяца (февраль — май). Снижение количества вырабатываемой энергии (рис. 6.17, е) косвенно влияет и на другие индикаторы эффективности, такие как снижение выбросов СО2 и эффективность использования вырабатываемой энергии, износ оборудования, которые непосредственно зависят от величины вырабатываемой тепловой энергии и величины ошибки, приводящей к более интенсивному использованию оборудования и резким перепадам температуры в системе теплоснабжения (см. рис. 6.17, в, г). На рис. 6.15 хорошо видно, что при использовании управления по величине падения температуры теплоносителя в системе наблюдаются резкие выпады значений, которые связаны с тем, что в обратный контур попадает теплоноситель с повышенной температурой. Использование предложенной в работе модели исключает такие ситуации, что видно по амплитуде изменения значений вырабатываемой теплоты на рис. 6.17, д. Приведенная формализация при рассмотрении на один интервал времени в будущее решает задачу управления, однако позволяет рассматривать и более удаленные
208 Гпава 6 о о о о о о о о о •Г) I о I Фев Мар Апр Май Фев Мар б Апр Май «л о о (N U | о о о <*■) Фев Мар Апр Май в Фев Мар Апр г Май Фев Мар Апр Май о Фев Мар Апр Май a о о чО О о о о О о о о о д Рис. 6.17. Результаты эксперимента на модели: a — сравнение ретроспективных и модельных значений Тк*} in(t); б — сравнение ретроспективных и модельных значений TkU2in(t); в — накопительное значение температуры, на которое мы ошиблись, = XI target “ I ’ г — накопительное значение температуры, на которое мы ошиблись, dT*2 = I ^get I (накопление ошибки); д — количество вырабатываемой тепловой энергии; е — количество выработанной тепловой энергии накопительным итогом
Использование методов статистической обработки данных и машинного обучения 209 интервалы времени, что дает возможность планировать работу котельной и тем самым заранее обеспечивать ее работу необходимыми ресурсами, выбирать время для технического обслуживания оборудования в зависимости от потребностей в тепловой энергии. Однако следует учитывать, что при этом повышается роль качества прогнозов как температуры, так и поведения системы. Задача использует данные прогнозов, которые в настоящее время на удаление менее одних суток являются точными (инертность рассматриваемой системы теплоснабжения составляет одни сутки) и могут быть использованы в задачах управления. Модель совмещает разные типы формализаций (статистическая модель, критериальная постановка задачи) и использует принцип А/ для своей работы, где А/ — шаг времени, равный величине инертности системы. Такое совмещение подходов развивает применяемые для управления в системах теплоснабжения методы предиктивного управления (см. [39, 58]). Наличие критериальной постановки позволяет вносить изменения в критериальную функцию, дополнять задачу новыми ограничениями и тем самым находить решения, удовлетворяющие заданным KPI [60, 49], а рассмотрение в качестве целевого значения температуры, которая является плавающей величиной при взаимосвязанных показателях задачи (параметры 1П и 7121п), открывает возможность решения целого класса задач управления и планирования в различных предметных областях (см. [53, 54]). 6.2.2. Формирование производственного портфеля с учетом рыночных факторов на основе предсказания спроса и цены Потенциальные эффекты повышения качества управления в производственных системах связаны с тем, что компании чувствительны к изменениям рынка и предпочтениям потребителей. В связи с этим необходимо использование прогнозов спроса и цены на товары из производственного портфеля для планирования деятельности предприятия. Результатом решения будет функция от времени с некоторым шагом А/ с объемами выпуска по каждому из товаров. Задача объемно-календарного планирования математически формулируется следующим образом: X Kw „. (С„('К(0 + Cw.xw. (0) -> max ; Vz; Vw; xw(t)>0, Vw,
210 Гпава 6 где . — коэффициент соответствия изделий w и w*; w, w* — индексы изделий; xw — объем выпуска изделия w; Cw — чистая прибыль (можно использовать значение цены товара) от производства изделия w; Rz . — потребность в мощностях оборудования для обработки материала/детали/компонента z для изделия w на установке у; Р. — общий ресурс в мощностях для оборудования типа у; Swz — потребность в материала/детали/компонента z на единицу изделия w; Lz — доступный объем материала/детали/компонента z; z — индекс материала/детали/компонента; Gw — ограничение, по доступному объему рын- ка/спросу/объему заказов для изделия w. Для проведения расчетов будем использовать генетический алгоритм и его реализацию на языке R — библиотеку rgenoud, которая комбинирует алгоритм эволюционного поиска с методами на базе производных (Newton or quasi-Newton) [65]. Пример реализации приведен в листинге 6.2. В алгоритме и приведенной выше задаче значения С и G определяются на основе прогнозов. opt_GA_volume_time_plan <- function(Cz G, К, Р, R, L, S) { t<-c(1:length(С[,1])) # шаги времени var<-length(С[1,]) # количество переменных-товаров # матрица ответов: товары - столбцы, значения объемов - строки x<-matrix (NA, nrow = length(С[,1]), ncol = var, byrow = TRUE) y<-NA # движение по шкале времени for (i in 1:length(t)) { x[i,] <- genoud(function(y) K[l,2] * (C[i, 1] *y[l] + C[i,2]*y[2]), nvars = var, max = TRUE, starting.values = c(0,0), Domains = matrix(c(0, max(0,G[i,1]), 0, max(0,G[i,2])), ncol = 2, byrow = TRUE), data.type.int = TRUE)$par # max(P[j]/(R[z,wl,j]*S[wl,z]), L[z]/S[wl,z], G[wl], na.rm = TRUE) } return(x) } В результате получаем решение, представленное в виде объемов выпуска, рис. 6.18. Как видно, результат решения задачи сильно зависит от результатов прогнозов. Поэтому целесообразно производить сравнение значений критериальной функции и моделировать отклонения согласно закону распределения, которому подчиняется прогнозируемая величина. В результате проведения такого расчета построим график (рис. 6.19), из которого видно, что уже через 5 шагов эффективность решения, полученного на прогнозах,
Использование методов статистической обработки данных и машинного обучения 211 может оказаться ниже. В связи с этим необходимо постоянное их уточнение по мере принятия решения и появления новых данных. Таким образом реализуется принцип предиктивного управления при управлении производственными системами. Изменение планов и объемов производства будет влиять на нагрузку на производственную систему, что также необходимо учитывать при принятии управленческих решений (в некоторых случаях можно ожидать повышение прибыльности работы 0 10 20 30 40 0 10 20 30 40 Шаг расчета Шаг расчета a б Рис. 6.18. Объемно-календарные планы выпуска двух товаров при использовании разных методов прогнозирования доступной емкости рынка и цены: a — реальные исторические данные цены и продаж; б — модель ARIMA О 10 20 30 40 Шаг расчета Рис. 6.19. Сравнение приведенных ретроспективных значений критерия и значений, полученных на основе прогноза: сплошная линия — исторические данные; пунктирная линия — данные, полученные на основе прогноза; серые линии — моделирование отклонения прогнозного значения на основе нормального закона распределения
212 Гпава 6 системы при снижении объемов выпуска и загрузки оборудования/склада/ персонала). В связи с этим необходимо проведение сопоставительного сравнения результатов. Несмотря на это, данные модели могут быть реализованы и способны повысить эффективность работы производственной системы в рамках перехода к концепциям виртуального производства, а также позволяют учитывать такие факторы, как повышающиеся ресурсоемкость и энергоемкость производств. 6.2.3. Решение задачи планирования закупок на основе прогноза спроса продукции Задача планирования закупок— одна из самых распространенных в производственной деятельности. Ее формулировка практически не меняется в зависимости от области деятельности, т. к. критерием ее успешности является наличие необходимых материалов для удовлетворения потребностей производства. В этом смысле задача связана с задачей планирования объемов производства, и с учетом периодов поставки, времени поставки, цены и цены поставки, дискретности партии, допустимого времени хранения (срока годности) будет осуществляться планирование закупок. Основным критерием в данной задаче выступает экономический. Он связан с минимизацией затрат на приобретение и хранение материалов, компонент и объема связанных средств. Исходя из объемов планируемых выпусков на основе технологических карт или рецептуры можно определить потребность в материале. Таким образом, потребность в материале является той величиной, определить которую нам необходимо для решения задачи планирования. Для товаров, которые работают на открытом рынке, данная величина может быть определена на основе прогноза. При этом в реальных данных могут наблюдаться сезонность, изменение спроса в зависимости от дня недели и т. д. Рассмотрим пример (рис. 6.20). Мы прогнозируем значение потребности в одном из компонентов. Как видно, наблюдается периодичность в его использовании, однако методы дают некоторое среднее значение, что можно считать приемлемым в случае, если срок годности исследуемого ресурса превышает дискретность снятия данных о производстве (в нашем случае — сутки). На основании прогноза потребности может быть спрогнозировано состояние склада и закупок. Далее представлен простейший алгоритм, который может быть использован. 1. Устанавливаем минимальный неснижаемый остаток (на рис. 6.21 он установлен в объеме двукратной потребности производства). 2. Берем необходимый объем под нужды производства.
Использование методов статистической обработки данных и машинного обучения 213 3. Проверяем объем запасов на складе и планируемый объем производства, на основании которых определяем: П = Оп+Он-От, где П — размер необходимой партии; Оп — необходимый объем производства на период не менее времени поставки; Он — размер неснижаемого остатка; От — текущий остаток на складе. 4. Осуществляем закупку и при поступлении увеличиваем запас на объем закупки. 5. Переходим на шаг 2.0 с4 о с4 о О О о декО! дек15 янв01 янв 15 фев 01 Время Рис. 6.20. Потребности в компоненте при производстве продукции: сплошная линия — ретроспективные данные; верхний пунктир — описание данных с помощью многочлена 4-й степени; второй сверху пунктир — прогноз методом lasso; нижний пунктир — прогноз с использованием нейронных сетей Описанный простейший алгоритм при переходе от системы закупок по потребности позволяет снизить средний объем запасов на складе (объем связанных средств), при этом не возникает ситуации, когда запасы полностью исчерпаны и производство не может работать по причине отсутствия необходимых компонентов (рис. 6.21). В практической деятельности на сегодняшний день наиболее часто используются следующие модели [63]: □ задача управления закупками для предприятия, выпускающего один продукт: aF + ^кчхч +1 • + d • + w4) -> min ; Я я я xqc<aC, \/q;
214 Гпава 6 x4,sq,a,y4,w4>Q, где F — капитальные затраты на рассматриваемый период; kq — переменные затраты на единицу продукции; / — складские затраты; d — возможный уровень изменения переменных затрат; с — допустимый коэффициент загрузки; С — загрузка установки на рассматриваемый период; Nq — спрос на рассматриваемый период; q — рассматриваемый период времени; xq — объем производства; sq — объем, доступный на складе; a — количество проинвестирован- ных установок; у — вспомогательная переменная, показывающая тенденцию к повышению объема производства; wq — вспомогательная переменная, показывающая тенденцию к снижению объема производства; © 1Г) СЧ 1Г) О МП О дек 01 дек 15 янв 01 янв 15 фев 01 Время Рис. 6.21. Объем запасов склада: сплошная линия — ретроспективные значения; пунктир — состояние склада при использовании описанной модели поведения; кружки — моменты проведения закупок □ задача планирования закупок: Z + lk™L™+к^х^ min; tzw + Xt,zw ~ Вц ~ Z ) T Lt-\yzw + X!zw Vt, Z, W,
Использование методов статистической обработки данных и машинного обучения 215 Z Ч™ )^CU, Vt,i; V/, z, и-; utzw е [0; 1], V/, z, w; где t — время (период планирования); z — индекс детали/компонента; w — индекс изделия; и — переменная флаг показывает, требуется ли или нет пере- оборудование/перекладывание (принимает значения 0 и 1); L — объем запасов на складе; х — объем закупки; — стоимость переоборудования/пере- кладывания; lklztl, — стоимость хранения; klzw — стоимость единицы. 6.3. Методы машинного обучения в задачах управления 6.3.1. Поиск мошенников в магазинах по косвенным признакам Применение в данных системах таких устройств, как сканеры товаров, в торговле, носимой профессиональной электроники на предприятиях позволяет собирать объективные данные о поведении людей. Оно может со временем меняться, а поведение мошенников совершенствоваться в ответ на новые формы контроля, что делает необходимым использование адаптивных методов и методов машинного обучения. Задача идентификации мошенников сводится к использованию методов бинарной классификации, для чего применяются такие подходы, как: ANN, SVM, PLS, С4.5, нейронные сети и др. Тогда задача сводится к выбору наилучшего метода и подготовке данных для повышения эффективности его работы. Это, в свою очередь, связано с тем, что в таких задачах данные могут быть сильно несбалансированными (количество записей о добросовестных клиентов может значительно превышать количество записей, соответствующих мошенникам, в обучающей выборке данных). Рассмотрим пример решения задачи поиска мошенников в магазинах полного цикла самообслуживания (таких как Amazon, Go и им подобных). В этих магазинах собираются данные о поведении клиентов на основе использования ими сканера штрих-кодов выбираемых товаров (табл. 6.3). Методы машинного обучения получили широкое распространение при построении эмпирических моделей. Задача управления при решении обозначенных задач сводится к выявлению мошенников, которые могут быть избирательно досмотрены службой охраны. Решение такой задачи требует выбора модели и повышения ее эффективности за счет введения дополнительных переменных. Модели такого типа на языке R реализуются так, как приведено в листинге 6.3.
216 Гпава 6 Таблица 6.3. Пример данных, собираемых о действиях клиента trustLevel totalScanTimelnSeconds grandTotal lineltemVoids scansWithoutRegistration quantityModifications scannedLineltemsPerSecond valuePerSecond lineitem VoidsPerPosition fraud 5 1054 54.70 7 0 3 0.0275142315 5.189753 • 10’2 0.24137931 0 3 108 27.36 5 2 4 0.1296296296 2.533333 • 10‘‘ 0.35714286 0 3 1516 62.16 3 10 5 0.0085751979 4.100264- 10‘2 0.23076923 0 6 1791 92.31 8 4 4 0.0161920715 5.154104- 10'2 0.27586207 0 5 430 81.53 3 7 2 0.0627906977 1.896047- 10’1 0.11111111 0 1 770 11.09 11 5 2 0.0337662338 1.440260- 10’2 0.42307692 1 3 294 55.63 2 7 1 0.0374149660 1.892177- 10_l 0.18181818 0 2 1545 22.80 0 8 4 0.0064724919 1.475728- 10“2 0.00000000 0 6 962 65.44 7 0 2 0.0280665281 6.802495 • 10’2 0.25925926 0 2 725 41.08 10 2 4 0.0372413793 5.666207 • 10‘2 0.37037037 0 5 1533 84.73 4 2 4 0.0104370515 5.527071 • 10'2 0.25000000 0 4 764 28.98 8 0 0 0.0261780105 3.793194- 10“2 0.40000000 0 Примечание: trustLevel — индивидуальный уровень доверия клиента; totalScanTimelnSeconds — общее время в секундах между первым и последним отсканированным продуктом; grandTotal — общая стоимость отсканированных продуктов; lineitem Voids— количество аннулированных сканирований; scansWithoutRegistration — количество неудачных попыток сканирования; quantityModification — число изменений количества товаров для одного из сканируемых продуктов; scannedLineltemsPerSecond — среднее количество отсканированных продуктов в секунду; valuePerSecond — средняя общая стоимость отсканированных продуктов в секунду; lineitemVoidsPerPosition — отношение числа аннулированных сканирований к общему числу аннулированных и не аннулированных сканирований; fraud— классификатор пользователей (1 — мошенник, 0 — не мошенник). library(caret) library(verification) library(MLmetrics)
Использование методов статистической обработки данных и машинного обучения 217 # Путь к файлам с данными setwd("-/Documents/") # Читаем файл данных trainData<- read.csv("train.csv", header =T, sep = "|") testData<- read.csv("test.csv", header =T, sep = "|") realData <- read.csv("realclass.csv", header =T, sep = "I") # Введенные вычисляемые показатели #val_orders - количество неотмененных заказов = totalScanTimelnSeconds * scannedLinelternsPerSecond #canceled_vs_ncanceled - отношение количества аннулированных сканирований к не аннулированным = lineltemVoids + val_orders #time to success_scan - отношение общего времени к количеству удачных сканирований = totalScanTimelnSeconds / canceled_vs_ncanceled #success_vs_nsuccess - количество удачных и неудачных сканирований = canceled_vs_ncanceled + scansWithoutRegistration #success_ratio - отношение количества удачных сканирований к неудачным = scansWithoutRegistration / success_vs_nsuccess #time_to_succes - отношение общего времени в магазине к общему количеству сканирований = totalScanTimelnSeconds / success_vs_nsuccess trainData2<-trainData trainData2[,"val_orders"]<-trainData2$totalScanTimelnSeconds ★ trainData2$scannedLinelternsPerSecond trainData2[, "time_to_success"]<-trainData2$totalScanTimeInSeconds / trainData2$success_vs_nsuccess testData[,"val_orders"]<-testData$totalScanTimeInSeconds * testData$scannedLineIternsPerSecond testData[,"time_to_success"]<-testData$totalScanTimeInSeconds / testData$success_vs_nsuccess # метод kNN knn <- train(factor(fraud) - ., trainData, method = "knn") res_knn <- predict(knn ,testData, Xype="prob") # метод Nnet nnet <- train(factor(fraud) - ., trainData, method = "nnet", probability = TRUE) res_nnet <- predict(nnet ,testData, type = "prob") # метод SVM svm <- train(factor(fraud) - ., trainData, method = "svmLinear2", probability = TRUE) res_svm <- predict(svm ,testData, type = "prob") # метод PLS pls <- train(factor(fraud) - ., trainData, method = "pls", probability = TRUE) res_pls <- predict(pls ,testData, type = "prob") # метод C5.0 C45 <- train(factor(fraud) - ., trainData, method = "C5.0", probability = TRUE) res_C45 <- predict(C45 ,testData, type = "prob") # сравниваем ROC-кривые res<-data.frame(knn=res_knn[2], nnet=res_nnet[2], svm=res_svm[2],
218 Гпава 6 roc.plot(realData$fraud, res, main = NULL, show.thres = FALSE, legend=TRUE, leg.text = c("kNN","Нейронная сеть", "SVM", "PLS", "C 4.5")) # метод kNN knn <- train(factor(fraud) ~ ., trainData2, method = "knn") res_knn <- predict(knn ,testData, type="prob") # сравниваем ROC-кривые res<-data.frame(knn=res_knn[2], nnet=res_nnet[2], svm=res_svm[2], pls=res_pls[2], C50=res_C45[2]) roc.plot(realData$fraud, res, main = NULL, show.thres = FALSE, legend=TRUE, leg.text = c("kNN","Нейронная сеть", "SVM", "PLS", "C 4.5")) В результате получаем решения с применением нескольких методов, использующих дополнительные вычислительные показатели и без таких показателей. Сравнение результатов приведено на рис. 6.22. 1.0 0.8 0.6 0.4 0.2 0.0 0.0 0.2 0.4 0.6 0.8 1.0 1.0 0.8 0.6 0.4 0.2 0.0 0.0 0.2 0.4 0.6 0.8 1.0 б Рис. 6.22. Сравнение ROC-кривых при использовании методов ANN, нейронных сетей, SVM, PLS, С4.5: a — до введения вычислимых показателей; б — после введения 6.3.2. Задача укладки в условиях усадки элементов на примере операции жакетирования при производстве оптоволокна Для удешевления производства оптоволокна используется технология ''жакетирования”, в результате чего сердцевина и окружающая ее светоотражающая оболочка занимают всего лишь 5-20% общего объема волокна за счет "нахлопывания” дополнительной кварцевой трубки на первоначальную заготовку. В результате основную часть волокна составляет технологическая кварцевая оболочка, которая определяет только геометрические и механические свойства волокна. Качество и стоимость этой операции зависят от количества используемых трубок. Технологический процесс, связанный с процессом жакетирования при производстве оптоволокна, обладает вариативностью в выборе типов трубок для выполнения этой операции. На производстве при применении жакетирования возникает проблема оптимального использования жакетных труб, т. к. существуют разные типы таких труб. С точ¬
Использование методов статистической обработки данных и машинного обучения 219 ки зрения постановки данная задача похожа на такие задачи, как задача о рюкзаке [43] и задача раскроя [66]. Обе задачи являются УР-полными. Несмотря на вычислительную сложность, даже на задачах малой размерности использование математических методов подбора труб хорошо, когда свойства оборудования и самих заготовок неизменны. Рассматриваемая задача обладает дополнительным фактором, связанным с тем, что при процессе жакетирования будет происходить угар (уменьшение полезной площади трубы), величина которого зависит от режимов и типа используемого для проведения процесса оборудования и типа используемой трубы. Свойства оборудования при этом могут меняться с течением времени (например, в результате износа и проведения плановых работ по его обслуживанию). В процессе жакетирования под действием температур меняются внешний и внутренний диаметры кварцевых труб. Возможности изменения этих диаметров определяются типом трубы и особенностями используемого для процесса оборудования, от которого будут зависеть параметры, характеризующие физику процесса (например, величина угара). Величина изменения диапазонов этих величин может быть достаточно большой (рис. 6.23, на рисунке приведены только точки, соответствующие успешному выполнению операции жакетирования). 00 г- 40 un СЧ 14 16 18 20 22 24 26 Внутренний диаметр Рис. 6.23. Статистические данные об использовании разных типов кварцевых труб на одном из станков На графике можно заметить, что при увеличении внутреннего диаметра растягивание жакетной трубы уменьшается. Обратная закономерность значила бы некорректность данных. Также можно заметить некоторые ошибочные измерения, катастрофически выбивающиеся из общей тенденции. Управление процессом жакетирования проводится для увеличения размера заготовки до необходимого диаметра и сводится к минимизации количества используемых труб из имеющихся в наличии. Имея достаточно большие диапазоны изме¬
220 Гпава 6 нения внутреннего и внешнего диаметров труб для каждого типа, можно предположить, что решение может оказаться не единственным. При этом задача может рассматриваться как рекуррентная, т. к. задача для случая и разбиений (рис. 6.24) может быть решена через решение задачи для (и-1) разбиения. Стык 1 Стык 1 Стык 2 б Рис. 6.24. Иллюстрация получения необходимого диаметра заготовки: a — при использовании двух труб; б — при использовании трех труб Рассмотрим задачу в общем случае. Пусть п — количество разбиений, т — количество типов труб, Sn — множество возможных вариантов решения для п разбиений, D} — меньший диаметр, D2 — больший диаметр, D2,m) — функция, возвращающая true, если тип трубы т может принимать заданную геометрию. Тогда можно записать алгоритм для п-0, который приведен на рис. 6.25, а. Если этот алгоритм обозначить через функцию F0(£>j, Z)2, m), то можно получить алгоритм для случая с одним стыком (рис. 6.25, 6) и распространить его на следующие случаи. В результате решения задачи мы получим множество, представляющее собой возможные решения, элементы которого— связанные множества, соответствующие различным комбинациям разрезов (стыков труб). Поиск решения описывается рекуррентным соотношением: где Dc — диаметр разбиения (места стыка).
Использование методов статистической обработки данных и машинного обучения 221 /Вывод So Конец С a Рис. 6.25. Алгоритмы подбора труб для случаев: a — п = 0; б — n= 1 Множество получаемых решений будет представлять собой дерево (рис. 6.26). Для реализации приведенного подхода необходима реализация функции F(D1? D2,m) с учетом величины угара вещества труб. Имея статистические данные (см. рис. 6.24), данную задачу можно решить как задачу классификации [54] на основе методов машинного обучения. Для выбора модели весь набор данных разобьем на два: тренировочный (70% общего) и тестовый (30% общего) — и будем строить модель на основе методов ANN, SVM, нейронной сети, PLS, AdaBoost (из библиотеки Caret языка R [46]) для каждого типа трубы. Перед разбиением данных перемешаем их так, чтобы распределение статистических данных в тестовой и обучающей выборках по типам труб было в одинаковых пропорциях (это необходимо в связи с тем, что количество данных по разным типам труб различно, а, кроме того, их применение не распределено равномерно во времени). Результаты, полученные на тестовой выборке при применении различных методов машинного обучения, приведены в табл. 6.4.
222 Гпава 6 Рис. 6.26. Структура формирования множеств возможных решений Таблица 6.4. Величина Accuracy для каждого типа труб и рассмотренного метода машинного обучения kNN SVM Нейронная сеть PLS AdaBoost Тип 1 0.9873418 0.01265823 0.9859353 0.9817159 0.9817159 Тип 2 0.9817159 0.01828411 0.9760900 0.8818565 0.8818565 Тип 3 0.9549930 0.22784810 0.9437412 0.7721519 0.7721519 Тип 4 0.9493671 0.05063291 0.9184248 0.8087201 0.8087201 Тип 5 0.9789030 0.02109705 0.9746835 0.8255977 0.8255977 Тип 6 0.9746835 0.02531646 0.9029536 0.8607595 0.8607595 Тип 7 0.9774965 0.02250352 0.9296765 0.8691983 0.8691983 Использование одного из методов машинного обучения для решения задачи классификации позволяет реализовать функцию F(D}, D2,m). Как видно из табл. 6.4, лучший результат продемонстрировал метод ANN, однако скорость обучения у него была самой низкой. Реализация формирования функции поиска множества труб, подходящих для наращивания, позволяет реализовать алгоритм, приведенный далее. 1. Оператор подает значения входного диаметра и требуемое значение диаметра после обработки.
Использование методов статистической обработки данных и машинного обучения 223 2. Алгоритм перебирает все возможные выходы для изначального входа при использовании всех типов труб через рекурсивный вызов функции F(DV а затем отсеивает недостоверные ответы, используя площадь поперечного сечения используемых труб как ограничения (они не могут увеличиваться). 3. В случае если существует ответ, в котором минимально возможный выход больше или равен искомому (заданному оператором), переходим на шаг 4, иначе проводим следующую итерацию (возвращаемся на шаг 2). 4. Вывод найденных решений.<1 В результате применения алгоритма получим наборы труб, которые позволяют гарантированно достичь заданного целевого значения внешнего диаметра с учетом возможных отклонений при использовании выбранных труб на оборудовании, для которого собиралась статистика. Примеры возможных решений приведены в табл. 6.5-6.7. Таблица 6.5. Результаты, найденные для наращивания внешнего диаметра с помощью одной трубы с 14,2 до 17,3 мм № Тип используемой трубы 1 Выход после 1 трубы 1 Тип 3 [18.2981 : 18.5171] 2 Тип 4 [18.7361 : 19.1011] Таблица 6.6. Результаты, найденные для наращивания внешнего диаметра с помощью двух труб с 14,2 до 22,3 мм № Тип трубы 1 Тип трубы 2 Выход после 1 трубы Выход после 2 трубы 1 Тип 2 Тип 5 [16.7651 : 17.0571] [23.0721 :23.6561] 2 Тип 2 Тип 7 [16.7651 : 17.0571] [22.6341 :22.9261] 3 Тип 3 Тип 3 [18.2981 : 18.5171] [22.2691 :22.4881] 4 Тип 3 Тип 5 [18.2981 : 18.5171] [24.2401 :24.8971] 5 ТипЗ Тип 6 [18.2981 : 18.5171] [23.5831 :23.6561] 6 Тип 4 Тип 3 [18.7361 : 18.9551] [22.6341 :22.7801] 7 Тип 4 Тип 5 [18.7361 : 19.1011] [24.6781 :25.3351] 8 Тип 4 Тип 6 [18.7361 : 19.1011] [23.4371 :24.0941] 9 Тип 5 Тип 5 [20.7071 :21.2181] [26.1381 :26.9411] 10 Тип 5 Тип 7 [20.7071 :21.2181] [25.7001 :26.1381] 11 Тип 5 Тип 6 [20.7071 :21.2181] [25.1161 :25.4081]
224 Гпава 6 Таблица 6.7. Результаты, найденные для наращивания внешнего диаметра с помощью трех труб с 14,2 до 28,4 мм № Тип Тип Тип Выход Выход Выход трубы 1 трубы 2 трубы 3 после 1 трубы после 2 трубы после 3 трубы 1 Тип 2 Тип 5 Тип 5 [17.587 : 17.806] [23.675 :24.332] [28.522 : 29.471] 2 Тип 3 Тип 5 Тип 5 [19.047 : 19.12] [24.843 :25.281] [29.471 : 30.201] 3 Тип 3 Тип 5 Тип 7 [19.047 : 19.12] [24.843 : 25.281] [29.106 : 29.544] 4 Тип 3 Тип 6 Тип 5 [19.047 : 19.12] [23.675 :24.113] [28.522 : 29.252] 5 Тип 4 Тип 4 Тип 5 [19.412 : 19.704] [23.529 :23.967] [28.376 : 29.179] 6 Тип 4 Тип 5 Тип 5 [19.412 : 19.704] [25.062 :25.792] [29.69 : 30.639] 7 Тип 4 Тип 5 Тип 7 [19.412 : 19.704] [25.062 :25.792] [29.325 30.201] 8 Тип 4 Тип 6 Тип 5 [19.412 : 19.631] [24.04 :24.259] [28.814 29.398] 9 Тип 4 Тип 7 Тип 5 [19.412 : 19.631] [24.77 :24.77] [29.471 29.836] 10 Тип 4 Тип 7 Тип 7 [19.412 : 19.631] [24.77 :24.77] [29.033 29.033] И Тип 5 Тип 5 Тип 5 [21.31 :21.821] [26.595 :27.398] [31.004 32.026] 12 Тип 5 Тип 5 Тип 7 [21.31 : 21.821] [26.595 :27.106] [30.639 31.223] 13 Тип 5 Тип 7 Тип 5 [21.31 :21.748] [26.157 :26.595] [30.639 31.369] 14 Тип 5 Тип 7 Тип 7 [21.31 :21.748] [26.157 :26.595] [30.274 30.785] 15 Тип 5 Тип 6 Тип 5 [21.529:21.821] [25.719:26.084] [30.274 30.931] 16 Тип 5 Тип 6 Тип 7 [21.529 : 21.821] [25.719 :26.084] [29.836 30.274] 17 Тип 6 Тип 4 Тип 5 [19.996 : 20.142] [24.04 : 24.186] [28.814 29.325] 18 Тип 6 Тип 5 Тип 5 [19.996 :20.434] [25.573 :26.303] [30.128 31.077] 19 Тип 6 Тип 5 Тип 7 [19.996:20.434] [25.573 :26.303] [29.763 30.493] 20 Тип 6 Тип 7 Тип 5 [20.142 : 20.434] [25.208 :25.573] [29.836 30.493] 21 Тип 6 Тип 7 Тип 7 [20.142 :20.434] [25.208 :25.573] [29.398 29.909] 6.4. Вопросы для самоконтроля Какие способы использования регрессионных моделей в задачах управления и поддержки принятия решений вы знаете? В чем их принципиальное различие? 6.5. Задания для самостоятельной работы 1. В файлах из электронного архива, соответствующих разд. 6.2.1, замените метод прогнозирования на PLS и ANN. Сравните полученные результаты. Сделайте выводы о точности управления в зависимости от точности прогноза. 2. На основе данных и скрипта на языке R, используемого для решения задачи из разд. 6.2.3, попробуйте модернизировать его так, чтобы для поиска решения использовалась одна из приведенных в разделе критериальных постановок.
Заключение В настоящее время элементы анализа данных стали эффективным средством решения сложных задач автоматизации, управления, проектирования и проведения экспериментов. Вновь возрождается интерес к основам теории искусственного интеллекта и принятия решений. Научиться методам и подходам в данной области знаний как рабочему инструменту можно только при полном овладении приемами и технологией практического решения задач. Эту цель и преследует данная книга, предлагая необходимое количество теории для решения практических задач, при этом представленной таким образом, чтобы процесс практической реализации теоретических блоков в виде программ и алгоритмов на вычислительных машинах был наименее трудоемким. Не стоит забывать, что любой подход и метод не являются панацеей для решения любых задач. Так происходит и с методами, основанными на статистике (эмпирическими методами). Главный недостаток их состоит в том, что они не способны предсказывать поведение систем в некоторых принципиально новых ситуациях, которые в прошлом никогда не случались1. Кроме того, можно отметить, что исторически интеллектуальные методы под названием ’’искусственный интеллект” развились от направления в рамках философии до самостоятельной прикладной области знания и продолжают развиваться, все больше и больше сближаясь с классической математикой. В данной книге лишь небольшое внимание уделено таким методам, как нейронные сети и когнитивные карты, которые относятся к области эмпирического знания и еще 10 лет назад в литературе по искусственному интеллекту и интеллектуальным системам играли ведущую роль. В сообществе ученых, работающих в данном направлении, ожидаются еще большее проникновение математики и переход к строго математически доказуемым методам (таким как Tensor Test Network и им подобным). Несмотря на то что в книге собран широкий обзор методов, имеется раздел с кейсами решения задач, встречаемых в промышленности, а также что книга снабжена 1 Если индюшку хорошо кормят и ухаживают, то она не будет догадываться о том, что ее собираются зажарить, если такого не случалось раньше с ней и ни с кем из ее окружения [27].
226 Заключение примерами данных и исходными кодами программ, автор будет рад получить замечания, связанные с содержанием (необходимостью добавления нового материала, примеров, изменения структуры в подаче материала). Замечания, комментарии и пожелания просьба направлять по адресу: 614990, г. Пермь, Комсомольский проспект, 29, Пермский национальный исследовательский политехнический университет, Мыльникову Леониду Александровичу или по электронной почте leonid.mylnikov@pstu.ru.
ПРИЛОЖЕНИЕ 1 Программное обеспечение для анализа данных Название Комментарий Ссылка Проприетарное программное обеспечение SAS SAS Institute Inc., США http://www.sas.com SPSS Modeler Позволяет создавать модели блочного типа (IBM Inc., США) https://www.ibm.com/ni- en/marketplace/spss-modeler Stata StataCorp LLC, США https://www.stata.com Statistica TIBCO Software Inc, США http://statistica.io (http://statsoft.com) SmartPLS Реализует метод PLS-регрессии https://www.smartpls.com Pentaho Интеграция данных и визуальный анализ http://www.pentaho.com Talend Интеграция данных https://www.talend.com Tableau Визуализация данных и элементарный анализ https://www.tableau.com Свободно распространяемое программное обеспечение RapidMiner Реализует последовательный принцип обработки данных http://rapidminer.com KNIME Позволяет создавать модели блочного типа (KNIME.com AG, Швейцария) https://www.knime.org WEKA Проект исследовательской группы университета Waikato, Новая Зеландия http://www.cs.waikato.ac.nz/ml/weka/ Orange Проект лаборатории биоинформатики, факультета компьютерных и информационных наук Университета Любляны, Словения. https://orange.biolab.si
228 Приложение 1 (окончание) Название Комментарий Ссылка Языки программирования и пакеты R Большинство методов реализовано через систему библиотек (см. https://cran.r-project.org) http://r-project.org Python Для управления специализированными библиотеками необходимо использовать команду pip https://www.python.org Anaconda Свободно распространяемый пакет для установки языков программирования Python и R и управления их библиотеками https://www.anaconda.com Keras Библиотека для реализации нейронных сетей на языках R и Python http://keras.io Jupiter Проект, позволяющий использовать Web-интерфейс для ввода команд и получения результатов на языках R и Python https://jupyter.org mlr3 Новая библиотека, интегрирующая методы машинного обучения для замены пакета caret на языке R https://mlr3.mlr-org.com/ RStudio Среда разработки на языке R https://rstudio.com
ПРИЛОЖЕНИЕ 2 Источники статистических данных Название Ссылка Официальные данные органов власти Федеральная служба государственной статистики РФ http://www.gks.ru Портал открытых данных РФ https://fedstat.ru Государственная статистика РФ http://data.gov.ru Портал открытых данных Перми http://opendata.perm.ru Портал открытых данных правительства США https://www.data.gov Портал открытых данных Нью-Йорка (США) https://opendata.cityofnewyork.us Данные управления строительных технологий министерства энергетики США https://trynthink.github.io/buildingsdatasets/ Данные компаний и организаций Статистические данные Всемирной организации здравоохранения https://www.who.int/healthinfo/statistics/en/ Открытые данные Сбербанка http://www.sberbank.com/ru/opendata История изменения курса валют Центрального банка России https://www.cbr.ru/currency_base/dynamics/ Данные конкурсов и агрегаторов Данные портала Kaggle https://www.kaggle.com/datasets Проект Data World https://data.wodd Data Mining Cup https://www.data-mining-cup.com/reviews/ Microsoft Research Open Data https://msropendata.com
230 Приложение 2 (окончание) Название Ссылка Сайт DataMarket https://datamarket.com/data/list/?q=provider:tsdl Google Dataset Search https://toolbox.google.com/datasetsearch Данные, собранные проектом Gephi https://github.com/gephi/gephi/wiki/Datasets Коллекция данных, собранная университетом Стенфорда http://snap.stanford.edu/data/ Данные об экономике России на сайте Высшей школы экономики http://sophist.hse.ru/hse/nindex.shtml Сайты — списки ссылок Перечень сайтов с открытыми данными https://github.com/caesar0301/ awesome-public-datasets Наборы данных на Reddit https://www.reddit.eom/r/bigquery/wiki/datasets Собранный частным лицом набор ссылок https://kevinchai.net/datasets
Список литературы 1. Амосов А. А., Дубинский Ю. А., Копченова Н. В. Вычислительные методы для инженеров. — М.: Издательство МЭИ, 2003. — 596 с. 2. Афанасьев В. Н. Анализ временных рядов и прогнозирование. — М.: Финансы и статистика, 2010. — 320 с. 3. Барсегян А. А., Куприянов М. С., Степаненко В. В., Холод И. И. Методы и модели анализа данных: OLAP и Data Mining. — СПб.: БХВ-Петербург, 2004. —336 с. 4. Барсегян А. А., Куприянов М. С., Холод И. И., Тесс М. Д. Анализ данных и процессов. — СПб.: БХВ-Петербург, 2009. — 512 с. 5. Бахвалов Н. С., Лапин А. В., Чижонков Е. В. Численные методы в задачах и упражнениях. — М.: Высшая школа, 2000. — 190 с. 6. Божонкин С. В., Паршин Д. А. Фракталы и мультифракталы. — Ижевск: НИЦ ’’Регулярная и хаотическая динамика”, 2001. — 128 с. 7. Варшавский В. И., Поспелов Д. А. Оркестр играет без дирижера: размышления об эволюции некоторых технических систем и управлении ими. — М.: Наука. Главная редакция физико-математической литературы, 1984. — 208 с. 8. Гуденко В. В. Введение в теорию автоматов [Электронный ресурс]. — М.: МГТУ им. Н. Э. Баумана, 2013. 9. Джексон П. Введение в экспертные системы: пер. с англ. — М.: Вильямс, 2001. —624 с. 10. Кендалл М., Стьюарт А. Статистические выводы и связи: пер. с англ. — М.: Наука, 1973. —900 с. 11. Кнут Д. Э. Искусство программирования: в 2 т: пер. с англ. — М.: Вильямс, 2000. —Т. 2, 832 с. 12. Козбарь А. И. Прикладная математическая статистика. — М.: Физматлит, 2006. —816 с. 13. Кулинич А. А. Компьютерные системы моделирования когнитивных карт: подходы и методы // Проблемы управления. — 2010. — № 3. — С. 2-16.
232 Список литературы 14. Кычкин А. В. Программно-аппаратное обеспечение сетевого энергоучетного комплекса // Датчики и системы. — 2016. — № 7. — С. 24-30. 15. Матвейкин В. Н., Дмитриевский Б. С., Ляпин Н. Р. Информационные системы интеллектуального анализа данных. — М.: Машиностроение, 2008. — 92 с. 16. Мыльников Л. А. Поддержка принятия решений при управлении инновационными проектами. — Пермь: Перм. гос. техн, ун-т, 2011. — 145 с. 17. Мыльников Л. А., Краузе Б., Кютц М. и др. Интеллектуальный анализ данных в управлении производственными системами (подходы и методы). — М.: Библио-глобус, 2017. — 334 с. 18. Мыльников Л. А. и др. Использование динамических предиктивных моделей для управления техническими системами с инертностью И Вести. Пермского национального исследовательского политехнического ун-та. Электротехника, информационные технологии, системы управления. — 2018. — № 26. — С. 77-91. 19. Мыльников Л. А., Носков В. В., Сидоров А. А. Вопросы повышения эффективности управления паровой системой теплоснабжения при совместном использовании ее для обеспечения технологического процесса и отопления зданий // Вести. Пермского национального исследовательского политехнического ун-та. Электротехника, информационные технологии, системы управления. — 2019. —№30. —С. 133-150. 20. Мыльников Л. А., Селедкова А. Б. Способ выбора метода прогнозирования и горизонта планирования параметров с использованием оценки риска // Информационные технологии. — 2018. — № 2 (24). — С. 97-103. 21. Мыльников Л. А., Трушников Д. Н. Моделирование систем (практикум). — Пермь: Изд-во Пермского гос. технического ун-та, 2006. — 42 с. 22. Отнес Р., Эноксон Л. Прикладной анализ временных рядов: пер. с англ. — М.: Мир, 1982. —428 с. 23. Петрова И. Ю., Зарипова В. М., Лежнина Ю. А. Проектирование информационно-измерительных и управляющих систем для интеллектуальных зданий. Направления дальнейшего развития И Вестник МГСУ. — 2015. — № 12. — С.147-157. 24. Питерсон Дж. Теория сетей Петри и моделирования систем: пер. с англ. — М.: Мир, 1984. —264 с. 25. Садовникова Н. А., Шмойлова Р. А. Анализ временных рядов и прогнозирование. — 2016. 26. Советов Б. Я., Цехановский В. В., Чертовской В. Д. Интеллектуальные системы и технологии. — М.: Издательский центр ’’Академия”, 2013. — 320 с. 27. Талеб Н. Н. Черный лебедь. Под знаком непредсказуемости. — М.: КоЛибри, 2009. — 528 с. 28. Таха X. А. Введение в исследование операций: пер. с англ. — М.: Williams Publishing House, 2005. — 912 с.
Список литературы 233 29. Федер Е. Фракталы. — М.: Мир, 1991. — 254 с. 30. Ханова А. А. Интерполяция функций. — Астрахань: ФГБОУ ВПО "Астраханский государственный технический университет", 2001. — 36 с. 31. Хопкоф Д., Мотвани Р., Ульман Д. Введение в теорию автоматов, языков и вычислений: пер. с англ. — М.: Издательский дом "Вильямс", 2008. — 528 с. 32. Черноруцкий И. Г. Методы принятия решений. — СПб: БХВ-Петербург, 2005. —416 с. 33. Чубукова И. A. DataMining. — М.: БИНОМ. Лаборатория знаний, 2008. — 382 с. 34. Ясницкий Л. Н. Интеллектуальные системы. — М.: БИНОМ. Лаборатория знаний, 2016. — 224 с. 35. Abdi Н. Partial least squares regression and projection on latent structure regression (PLS Regression): PLS REGRESSION // Wiley Interdisciplinary Reviews: Computational Statistics. — 2010. — № 1 (2). — P. 97-106. 36. Basu S., Banerjee A., Mooney R. Active Semi-Supervision for Pairwise Constrained Clustering // Proceedings of the 2004 SIAM International Conference on Data Mining (SDM’04). — 2004. 37. Blum A., Chawla S. Learning from labeled and unlabeled data using graph mincuts // Proceedings of the 18th International Conference on Machine Learning. — 2001. 38. Bungener S.L., Van Eetvelde G., Marechai F. Optimal Operations and Resilient Investments in Steam Networks // Frontiers in Energy Research. — 2016. — № 4. — P. 1-14. 39. Cadau N. et al. A Model-in-the-Loop application of a Predictive Controller to a District Heating system//Energy Procedia. — 2018. — № 148. — P. 352-359. 40. Corrochano E. B. Handbook of Geometric Computing. — Berlin, Heidelberg: Springer Berlin Heidelberg, 2005. — 779 p. 41. Hyndman R. J., Koehler A. B. Another look at measures of forecast accuracy // International Journal of Forecasting. — 2006. — № 4 (22). — P. 679-688. 42. Jaszkiewicz A. Genetic local search for multi-objective combinatorial optimization // European Journal of Operational Research. — 2002. — № 1 (137). — P. 50-71. 43. Kellerer H., Pferschy U., Pisinger D. Knapsack Problems. — Berlin, Heidelberg: Springer Berlin Heidelberg, 2004. — 548 p. 44. Kiam Heong Ang, Chong G., Yun Li PID control system analysis, design, and technology // IEEE Transactions on Control Systems Technology. — 2005. — № 4 (13). —P. 559-576. 45. Kim W. et al. A Taxonomy of Dirty Data // Data Mining and Knowledge Discovery. — № 1 (7). — P. 81-99. 46. Kuhn M. Building Predictive Models in R Using the caret Package // Journal of Statistical Software. — 2008. — № 5 (28). — P. 1-26.
234 Список литературы 47. Lawson С., Hansen R. Solving Least Squares Problems. — PA: Society for Industrial and Applied Mathematics, 1987. — 350 p. 48. LeCun Y. et al. Gradient Based Learning Applied to Document Recognition // Proceedings of the IEEE. — 1998. — № 11 (86). — P. 2278-2324. 49. Li Y. et al. Enhancing energy management at district and building levels via an EM- KPI ontology // Automation in Construction. — 2019. — № 99. — P. 152-167. 50. Makhabel B. Learning Data Mining with R. — Birmingham: Packt Publishing Ltd, 2015. — 314 p. 51. Mebane W. R., Sekhon J. S. Genetic Optimization Using Derivatives: The rgenoud Package for R // Journal of Statistical Software. — 2011. — № 11 (42). — P. 1-26. 52. Messerli F. H. Chocolate Consumption, Cognitive Function, and Nobel Laureates // New England Journal of Medicine. — 2012. — № 16 (367). — P. 1562-1564. 53. Mia L., Winata L. Manufacturing strategy and organisational performance: The role of competition and MAS information 11 Journal of Accounting & Organizational Change. —2014, —№ 1 (10). —P. 83-115. 54. Mylnikov L. et al. Intelligent data analysis in the management of production systems (approaches and methods). — Shaker Verlag GmbH, 2018. — 180 p. 55. Mylnikov L. A., Kulikov M. V., Krause B. The selection of optimal control of the operation modes of heterogeneous duplicating equipment based on statistical models with learning I I International Journal of Mechanical Engineering and Technology. — 2018, —№9(9). —P. 1516-1526. 56. Mylnikov L. A., Seledkova A. V., Krause B. Forecasting characteristics of time series to support managerial decision making process in production-And-economic systems 11 Proceedings of 2017 20th IEEE International Conference on Soft Computing and Measurements, SCM 2017 6 July 2017. — P. 853-855. 57. Page L. et al. The PageRank Citation Ranking: Bringing Order to the Web. Technical Report. — Stanford InfoLab, 1998. — 17 p. 58. Pan E., Liao W., Xi L. A joint model of production scheduling and predictive maintenance for minimizing job tardiness 11 The International Journal of Advanced Manufacturing Technology. — 2012. — № 9-12 (60). — P. 1049-1061. 59. Paprotny A., Thess M. Realtime data mining: self-learning techniques for recommendation engines. — Berlin, Heidelberg: Birkhauser, 2013. — 313 p. 60. Riexinger G. et al. KPI-focused Simulation and Management System for Eco- Efficient Design of Energy-Intensive Production Systems // Procedia CIRP. — 2015. —№29, —P. 68-73. 61. Saloux E., Candanedo J.A. Forecasting District Heating Demand using Machine Learning Algorithms//Energy Procedia. — 2018. — № 149. — P. 59-68. 62. Tibshirani R. Regression shrinkage and Selection via the Lasso // Journal of the Royal Statistical Society.Series В (Metodological). — 1996. — № 1 (32). — P.267-288.
Список литературы 235 63. Voigt K.-I. Industrielles Management: Industriebetriebslehre aus prozessorientierter Sicht. — Berlin: Springer, 2008. — 695 c. 64. Wagstaff K. et al. Constrained к-means clustering with background knowledge // Proceedings of 18th International Conference on Machine Learning. — 2001. — P.577-584. 65. Walter R. Mebane, Jr., Jasjeet S. Sekhon Genetic optimisation usung derivatives: The rgenoud package for RI I Journal of Statistical Software. — № 11 (42). — 2011. — P. 1-26. 66. Wascher G., HauBner H., Schumann H. An improved typology of cutting and packing problems // European Journal of Operational Research. — 2007. — №3(183). —P. 1109-1130. 67. Wicaksono D., Firmansyah E., Nugroho H. A. A Microclimate Closed House Control Design for Broiler Strain // Proceedings of 7th International Annual Engineering Seminar (InAES). —2017. —P. 11-16. 68. Zhang S. et al. Efficient kNN Classification With Different Numbers of Nearest Neighbors // IEEE Transactions on Neural Networks and Learning Systems. — 2018. —№5(29). —P. 1774-1785. 69. Zhu X. Semi-Supervised Learning With Graphs. — Carnegie Mellon University, 2005.— 164 p. 70. Semi-supervised learning I by ed. O. Chapelle, B. Scholkopf, A. Zien. — Cambridge, Mass: MIT Press, 2006. — 508 p. 71. Constrained clustering: advances in algorithms, theory, and applications I by ed. S. Basu, I. Davidson, K. L. Wagstaff. — Boca Raton: CRC Press, 2009. — 441 p.
Предметный указатель А F ADF-тест 60 AR 62 ARIMA 63 ARMA 63 AUC-ROC 179 FPR 179 F-критерий 174 p PCKMeans 87 В Вох-диаграмма 168 5 SEMMA 28 с Support vector machine (SVM) 48 COP-k-means 87 CRISP 25 T TPR 179 D t-критерий 175 Data Mining 15 Е ЕМ-алгоритм 85, 89 А Автомат: О I рода 105 0 II рода 105 0 абстрактный 104 0 бесконечный 104 0 глубина памяти 100 О доверчивый 101 О инициальный 104 О конечный 104 О Мили 105 О Мура 105 О с линейной тактикой 99 О характеристическая функция 105
238 Предметный указатель Алгоритм: О AdaBoost92 О Apriori 133 О CART 157 О ЕМ 85, 89 О NIPALS54 О SIMPLS55 О Кохонена 123 О масштабируемый 89 О обучения: ° без учителя методом Хебба 122 о с учителем методом обратного распространения сигнала 120 0 построения нейронной сети, общий 124 Анализ регрессионный 38 Аппроксимация 30 в Вейвлет-анализ 45 Вычисления нейронные 22 г Глубина памяти автомата 100 д Данные грязные 18 Дерево: 0 регрессии 157 0 решающих правил 157 0 решений 157 ■ бинарное 157 Добыча данных 15 3 Задача: 0 интерполяции 31 0 классификации 73 0 кластеризации 73, 89 0 экстраполяции 31 Закон распределения: 0 показательный 170 0 равномерный 169 и Индекс Gini 157 Интерполяция 31 Исчисление предикатов 144 к Карта: 0 абстрактная когнитивная, создание 129 0 детерминированная когнитивная 130 0 недетерминированая когнитивная 130 Классификация 73 Кластеризация 73, 89 Ковариация 65 Корреляция 65 Коэффициент: 0 демпфирования 141 0 корреляционный 65 Кривая Верхульста логистическая 151 Критерий: 0 Колмогорова 173 0 Стьюдента 175 0 Фишера 174 л Логика: 0 первого порядка 144 0 предикатов 144 м Масштабирование многомерное 22 Математическое ожидание 159 Мера: 0 близости 41 0 косинусная 42 Метод: 0 к средних 86 0 lasso 55 0 вейвлет-анализа 45 0 градиентного спуска 118 0 коэффициентов производительности к средних 87 0 кросс-проверки 53 0 наименьших квадратов 43,44 ° частичных 54 0 опорных векторов 48, 75 0 парных ограничений к средних 87
Предметный указатель 239 О Хебба: ° дифференциальный 122 ° сигнальный 122 Многочлен Лагранжа интерполяционный 33 Модель: О авторегрессии: ° скользящего среднего 63 о проинтегрированного скользящего среднего 63 О динамическая регрессионная 56 О множественная регрессионная 53 О скользящего среднего 62 О фреймовая 146 н Недообучение 31 Нейрон 111 о Обучение: О без учителя 116, 121 О на множествах 22 О полуконтролируемое 73 О с учителем 116, 117 О трансферное 117 Окно времени 69 Оператор разностный 63 О первого порядка 62 О второго порядка 62 Ошибка: О среднеквадратическая 62 О среднеквадратичная 43 п Переобучение 31 Постоянная демпфирования 141 Предикат 144 Принцип минимизации максимальных отклонений 43 Проблема: О перестроения 18 О слияния 18 Протофрейм 146 Процедура обратного распространения 118 р Размерность фрактальная 50 Разность: 0 конечная 34 » первого порядка 34 ° второго порядка 34 0 разделенная 33 Распределение: 0 логарифмически нормальное 170 0 Стьюдента 169 0 Фишера 169 Расстояние: 0 Canberra 42 0 евклидово 41,66 0 Кульбака— Лейблера90 0 Ланса — Уильямса 42 0 Махаланобиса 42 0 Минковского 66 0 пиковое 42 0 Хемминга41 0 Чербышева42 Регрессия логистическая 150 Ряд: 0 временной 29 ° нерегулярный 29 » нестационарный 59 » регулярный 29 ° стационарный 59 0 Фурье 45 с Сеть: 0 Кохонена 126 0 нейронная 98,110 » полносвязная 117 0 Петри 106 Система экспертная 142 0 на основе матрицы признаков 148 0 продукционная 144 Слой нормирующий 116 Сплайн 38 0 интерполяционный кубический 38 Среднеквадратическое отклонение 42,65 Сценарий: 0 контролируемый 24 0 неконтролируемый 24 0 частично контролируемый 24
240 Предметный указатель т Теорема Байеса 161 Тест: О Дикки — Фуллера 60 0 Тьюринга 95 о полный 95 Трансформация временной шкалы 67 У Уравнение нормальное 44 ф Факт 145 Формула: 0 интерполяционная Лагранжа 32 0 Ньютона 33 ° первая интерполяционная 36 ° вторая интерполяционная 37 Фрактал 50 Фрейм 146 0 прототип 146 0 экземпляр 148 Функция: 0 автокорреляционная 60 0 автомата характеристическая 105 0 активационная 111 0 логистическая 152 0 потерь логистическая 180 0 характеристическая 105 ц Цепочка вывода 145 Цепь Маркова 102 э Экстраполяция 31 Энтропия 159