КЛАСТЕРИЗАЦИЯ ИНФОРМАЦИОННЫХ РЕСУРСОВ НА ОСНОВЕ ГЕНЕТИЧЕСКОГО АЛГОРИТМА Н. Г. ЯРУШКИНА , А.В. ЧЕКИНА Тверь, КИИ-2010, 20.сентября План доклада • Генетическая кластеризация информационных ресурсов • Генетическая оптимизация вычислительных сетей при автоматизированном проектировании • Выводы. Особенности промышленных приложений ГА. КЛАСТЕРИЗАЦИЯ ИНФОРМАЦИОННЫХ РЕСУРСОВ НА ОСНОВЕ ГЕНЕТИЧЕСКОГО АЛГОРИТМА Информационный ресурс – это файл или совокупность файлов, объединенных общей семантикой и имеющих текстовую аннотацию. В частном случае, информационный ресурс – это один или несколько текстовых файлов. Текст аннотации (или текст самого ресурса) однозначно отражает смысловое содержание данного ресурса. Тверь, КИИ-2010, 20.сентября Цель проекта - снижение трудоемкости формирования проектных репозитариев за счет использования разработанных методов интеллектуального анализа нечетких данных. Основные задачи: • Разработать программную систему, выполняющую нечеткую кластеризацию для структурирования хранилища информационных ресурсов. • Выполнить с помощью разработанного программного решения структуризацию хранилища данных для проектной организации. Базовые методы и решения, предложенные в интеллектуальном анализе данных для реляционных баз данных: • Кластеризация; • Извлечение зависимостей; • Прогнозирование временных рядов; • Поиск ассоциаций. Обзор программных реализаций Data Miner Анализ Методы Название ПО Кластеризация Извлечение Прогнозирование Поиск зависимостей временных рядов ассоциаций Интеграция с СУБД нечетких данных Data Mining Suite™ + + + + - - IBM Intelligent Miner + + + + DB2 - Oracle Dataminer + + + + Oracle - + - + - MS SQL Server - + + + + - - 1С Предприятие + - - + - - PolyAnalyst + + + + - - Microsoft OLE DB for Data Mining STATISTICA Data Miner Классификация систем по методам извлечения знаний из данных Предметно-ориентированные аналитические системы Oracle Financial Analyzer Статистические пакеты SAS, SPSS, STATGRAPICS, STATISTICA, STADIA Системы на основе моделей нейронных сетей BrainMaker (CSS), NeuroShell (WS Group), OWL(HyperLogic) Системы, использующие деревья решений KATE tools (Acknosoft), Pattern Recognition Workbench (Unica) See5/С5.0 (RuleQuest), Clementine (Integral Solutions), SIPINA (University of Lyon) Системы, использующие эволюционное программирование PolyAnalyst (Megaputer Intelligence ) Системы на основе генетических алгоритмов GeneHunter (Ward Systems Group ) Системы, использующие алгоритмы ограниченного перебора WizWhy (WizSoft) Системы, использующие рассуждения на основе прецедентов Языки спецификации задач извлечения знаний • PMML – Predictive Model Markup Language • DMQL – Data Mining Query Language • MSQL – Minig Strucrured Query Language • Microsoft OLE DB for Data Mining specification in SQL Server 2000 Задача нечеткой кластеризации Определить такое нечеткое разбиение R A Ak Ak A или нечеткое покрытие J A Ak Ak A множества A на заданное число c нечетких кластеров, которое доставляет экстремум некоторой целевой функции f R A среди всех нечетких разбиений или экстремум целевой функции f J A среди всех нечетких покрытий. Функция принадлежности 1, если d ( x, r ) 0, c j ( x) 0 , если d x, rk 0, k j, c 1 d ( x, rj ) иначе. v 1 d ( x, rv ) c Таким образом j 1 Cj ( x) 1, x X и N k 1 Cj ( x k ) N , j 1,2,..., c. . Мера компактности cpi 1 2 2 i ( x j ) d ( x j , ri ) x j Ci , x j ri (x x j Ci , x j ri i значение функции принадлежности x j к кластеру кластера C i , с – количество кластеров и 2 c N . i (x j ) - j ) 2 C i , ri - центр Сепарабельность spi min d (ri , rj ) 1 j c ,i j центр кластера кластеров и 2 c N . ri - Ci , rj - центр кластера Cj , 2 с – количество Целевая функция sci spi cpi . Таким образом «наихудший» кластер будет иметь наименьшее значение sci . Индексирование документов • Индексирование документов является важнейшей операцией, обеспечивающей возможности информационного поиска. Сам процесс индексирования документа заключается в определении его центральной темы или предмета на информационно-поисковом языке. • Для оценки значимости слов в индексаторе используется методы определения частот слов каждого документа и частот, рассчитанных по формуле Шеннона (сигнал-шум): Sk w i= k N • где -N k шум термина, n N =∑ k i= 1 k f ki Fk log k k F fi k S = log F − N k Результирующие таблицы процесса индексирования дескриптор проиндексированного документа идентификатор информационного ресурса; путь к ресурсу; расширение файла частотный словарь терминов в документах идентификатор информационного ресурса; термин; частота встречаемости термина в данном инф. ресурсе (тексте); вес термина в тексте по формуле Шеннона термины, распознанные в процессе индексирования термин суммарная частота встречаемости термина по всем информационным ресурсам полный частотный словарь, включая нулевые термы идентификатор информационного ресурса; Термин; частота встречаемости термина в данном инф. ресурсе(тексте); вес термина в тексте по формуле Шеннона Адаптация стандартного генетического алгоритма к задаче кластеризации • Для того чтобы применить стандартный генетический алгоритм в качестве метода решения задачи кластеризации, должны быть определены следующие параметры: • Способ кодировки решения (хромосомы) • Функция оптимальности (оценки) каждой хромосомы • Содержание операторов отбора (селекции), рекомбинации и мутации • Условие завершения эволюции • Вероятностные параметры управления сходимостью эволюции Структура хромосомы • Хромосома представляет собой массив пар (документ, кластер). Длина такого массива всегда будет такой, сколько документов требуется разбить на кластеры. Эта информация представлена в БД идентификатором информационного ресурса (документа) и номером кластера. Соответственно, если стоит задача разбить информационные ресурсы на N кластеров, то его значения варьируются от 1 до N. Документ 1 2 3 4 5 6 7 … M Кластер 5 n n-1 n-3 n-7 … … N 3 Селекция • Каждая хромосома оценивается мерой ее «приспособленности» (fitness-function). Наиболее приспособленные особи получают большую возможность участвовать в воспроизводстве потомства. • После того, как для каждой хромосомы получено значение Fitness-функции, они упорядочиваются в соответствии с его величиной. В самое начало списка попадают те, мера приспособленности которых наибольшая, в конец - наименьшая. Далее при выборе потенциальных родителей применяется линейно убывающая функция случайного числа. • Пропорциональный отбор назначает каждой i-й хромосоме вероятность P(i), равную отношению ее приспособленности к суммарной приспособленности популяции. Кроссовер • Многоточечный кроссовер в данной задаче работает следующим образом. Точка разрыва представляет собой границу между соседними элементами массива (т.е. случайным образом выбирается номер документа). Количество их будет на единицу меньше, чем количество генов в хромосоме или количество кластеризуемых документов. Родительские хромосомы разрываются в этих точках на сегменты. Затем соответствующие сегменты различных родителей склеиваются, и получаются генотипы потомков. Документ 1 2 3 4 5 6 7 … m Кластер 3 5 n n-1 n-3 n-7 … … n Мутация • После стадии кроссовера выполняется операция мутации, которая в данной задаче представляет собой обмен двух случайных номеров кластеров. • Номера документов, для которых значения кластеров меняются местами, выбираются случайным образом. Документ 1 2 3 4 5 6 7 … m Кластер 5 n n-1 n-9 n-1 n-2 … 1 3 Оценка приспособленности (Fitness-function) • Представим информационный ресурс точкой в n-мерном пространстве терминов. • Индексатор формирует список слов документа по принципу «каждое слово отделяется от другого пробелом». Для каждого термина рассчитывается его вес в данном информационном ресурсе, т.е. для каждого документа мы можем определить его координату, состоящую из частот встречаемости терминов в ресурсе. • Координатными осями в данном случае выступают термины. Число их определяется числом терминов, по которым проводилось взвешивание, т.е. каждому дескриптору xi в документе D ставился в соответствие некоторый неотрицательный вес wi. Документ представлялся точкой в n-мерном пространстве): x 1 w1 . .. D= x i w i . .. x n wn Оценка приспособленности (Fitness-function) • В каждый кластер входит какое-то количество информационных ресурсов. Для определения центра кластера №1, предполагаем, что центр-это первый ЭИР. Рассчитываем сумму расстояний от него до всех остальных информационных ресурсов (документов), входящих в кластер №1. Сохранив полученную величину, предполагаем, что второй ИР из кластера №1 - это центр. Рассчитываем сумму расстояний для него. Сохраняем результат. Проделываем то же самое для каждого ИР, представленного в хромосоме и входящего в кластер №1. Тот документ, для которого сумма расстояний до всех остальных ЭИР выборки будет минимальной, признается центром кластера №1. Аналогично находятся центры остальных кластеров. • Фитнесс - функция для каждой хромосомы определяется суммой евклидовых расстояний от каждого ИР до центра соответствующего кластера. • Пусть xЦ – координата центра i-го кластера, xИР - координата i-го информационного ресурса, m - количество информационных ресурсов, которое одновременно определяет и длину хромосомы, n – количество координатных осей, по которым формируется общая координата информационного ресурса. Т.е. m f j 1 n ц ир 2 ( x x i i ) i 1 Структурно-функциональное решение интеллектуального хранилища • Программная система, реализующая идеи интеллектуального хранилища, состоит из следующих подсистем: подсистема индексирования ЭИР (индексатор), подсистема кластеризации ЭИР на основе нейронной сети (нейросетевой кластеризатор), подсистема кластеризации на основе fuzzy-c-means метода (fcm-кластеризатор) и классификатор, подсистема генетической кластеризации. • На модуль индексации возложены задачи предобработки текстовых документов или аннотаций к ЭИР и построение частотных словарей встречающихся терминов. Сохранение производится в СУБД MS SQL 2000. Далее, в рамках модуля кластеризации и классификации, на основе значений относительных частот должны создаваться предметно-ориентированные кластеры, которые организуются в виде иерархии. В процессе классификации выполняется задача соотнесения вновь заносимого ЭИР с определенным кластером. Реализация интеллектуального проектного репозитария Настройка функции принадлежности ГАК кластеризация, классификация Количество кластеров Сеть Кохонена классификация Количество кластеров Нечеткая БД Модуль генерации правил База правил ННС классификация, оптимизация правил Сравнение алгоритмов кластеризации Алгоритм Гибридный алгоритм k-средних Субстракти вный Maxmin Fuzzy cmeans Примени мость к сильно сгруппирова нным данным Необходи мость указания количества кластеров Чувствит ельность к входным параметрам Примени мость к неравномерно распределен ным данным Да Нет Нет Да Да Да Да Нет Да Да Да Нет Да нет Нет да Да Да Да Да Эксперимент кластеризации Множество данных Субстрактивный алгоритм (параметр влияния 0.1) Гибридный алгоритм Maxmin (пороговый коэффициент: 0,5; начальная точка: 42) k - средних Fuzzy c-means (заданное количество кластеров: 4 ) Структура информационного ресурса Структурирование информационных ресурсов ФНПЦ ОАО «НПО «МАРС» • 567 документов • 5717 термов • Получено разбиение на 272 кластера Количество кластеров 167 46 23 17 5 2 2 2 2 2 1 1 1 1 Количество документов 1 2 3 4 5 6 7 8 9 10 12 14 17 23 Количество элементов в кластерах Основные результаты • Рассмотрены существующие методы интеллектуального анализа, проанализированы возможности применения в ходе автоматизированного проектирования ранее разработанных методов и моделей. • Разработан метод генетической кластеризации, позволяющий работать с нечеткими атрибутами при отсутствии дополнительной информации о характере данных. Генетическая оптимизация вычислительных сетей при автоматизированном проектировании Тверь, КИИ-2010, 20.сентября АСУ разрабатываемые в ФНПЦ НПО МАРС Тверь, КИИ-2010, 20.сентября Тверь, КИИ-2010, 20.сентября Генетическая оптимизация ВС • В настоящее время не существует целостного теоретического подхода, комплекса методов, универсального программного средства проектирования ВС, которые были бы способны учесть не только все аспекты физической структуры сети, но и круг задач, программных средств и функций, которые эта сеть должна выполнять, а также могло бы делать прогнозы относительно будущей загрузки сети. • Подход к моделированию осуществляется без учета задач, которые сеть должна выполнять, то есть в современных САПР ВС не применяется функциональное моделирование процессов, происходящих в проектируемой сети с использованием каких-либо стандартных диаграмм или моделей. Тверь, КИИ-2010, 20.сентября Модель транспортной схемы ВС (Т-модель) Т-модель является теоретической базой для построения средств автоматизированного проектирования и моделирования ВС, представленной транспортным уровнем. Уровни описания Т-модели: • уровень топологии, включающий в себя структуру ВС и схему коммуникационного оборудования (Топ-уровень); • уровень генерации, передачи и потребления трафика (Тр-уровень); • уровень маршрутизации ВС (М-уровень). Тверь, КИИ-2010, 20.сентября Модель представления прикладных процессов (П-модель) П-модель состоит из двух составных частей: • A-уровень (разработаны формализованные модели «тонкого» и «толстого» клиентов), • DFD-уровень (описание потоков данных с помощью потоковых диаграмм (Data Flow Diagram) или DFD-диаграмм). Тверь, КИИ-2010, 20.сентября Формирование обобщенной ТП-модели 1. Разработка П-модели для проектирования - описание прикладных задач проектируемой вычислительной сети. На этом этапе составляется модель потоков данных проектируемой сети без привязки к транспортной структуре сети. 2. Разработка Т-модели для проектирования, то есть описание транспортной схемы, структуры ВС. На этом этапе проектировщик описывает саму ВС на уровне узлов сети и каналов связи, устанавливаются взаимосвязи узлов сети через коммутирующие модули, или маршрутизаторы, расставляются серверы. Для каждого узла сети задается таблица маршрутизации. Фактически моделируется процесс составления и настройки реальной локальной сети. Тверь, КИИ-2010, 20.сентября Формирование обобщенной ТП-модели (окончание) 3. Формирование ТП-модели. На этом этапе производится слияние модели прикладных процессов (П-модель) и транспортной модели сети (Т-модель) в обобщенную модель (ТП-модель) и моделирование ВС на основе прогнозных значений трафика, представленного временным рядом нечетких тенденций. 4. Модификация. Заключается во внесении изменений в Т-модель. Тверь, КИИ-2010, 20.сентября Генетическая оптимизация в Т-модели Задачи проектирования ВС, решаемые с помощью генетической оптимизации: • Определение состава коммуникационного оборудования • Определение пропускной способности каналов • Определение размещения коммуникационного оборудования •Размещение прикладных сервисов по узлам вычислительной сети Тверь, КИИ-2010, 20.сентября Алгоритмическая реализация целевой функции генетического алгоритма моделирования ВС ДЛЯ каждого взаимодействия в сети: Определить источник и получатель трафика; Начать проведение трафика от источника ПОКА не достигнут получатель трафика Распространять трафик ко каналам ВС КОНЕЦ Определить каналы, в которых продолжается распространение трафика ПОКА есть каналы, в которых распространяется трафик Продолжать распространение трафика КОНЕЦ КОНЕЦ Преимущества алгоритма: сравнительная простота реализации, независимость от структуры ВС. Тверь, КИИ-2010, 20.сентября ТП-уровень Т-модели: нечеткий гиперграф Тверь, КИИ-2010, 20.сентября СТЕПЕНЬ УВЕРЕННОСТИ НСВ P 1 P2 P2 P2 P1,P3 P1,P3 P1,P3 А1 А2 Тверь, КИИ-2010, 20.сентября А3 КОДИРОВКА СТЕПЕНИ УВЕРЕННОСТИ Базовое значение НСВ Степень уверенности НСВ «точно» «скорее» «возможно» «низкий» «средний» «высокий» {1,0,0} {0,1,0} {0,0,1} {0.75,0.25,0} {0.125,0.75,0.125} {0,0.25,0.75} {0.5,0.35,0.15} {0.25,0.5,0.25} {0.15,0.35,0.5} Тверь, КИИ-2010, 20.сентября ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ ТРАФИКА «скорее высокий» {«низкий»/0, «средний»/0.25, «высокий»/0.75} Tr, (лингв.) высокий средний низкий t1 t’1 t’2 t’3 t’4 Тверь, КИИ-2010, 20.сентября t’5 t’6 t2 t Метод распределения прикладных сервисов по транспортной схеме ВС • Взаимосвязь прикладной и транспортной схем проектируемой сети является завершающим этапом процесса проектирования и здесь важно, чтобы окончательный результат был близок к оптимальному. • Фактически взаимосвязь моделей заключается в распределении блоков диаграммы прикладных процессов по физической структуре модели с учетом расписания и генерируемого трафика. Для оптимизации этого процесса предлагается использовать стандартный ГА. • Хромосомой для стандартного ГА (СГА) является один набор расположения блоков относительно физической структуры. Популяция таких наборов генерируется на начальном этапе работы СГА. • Структура хромосомы СГА: № блока диаграммы;IP-адрес соответствующего • Такая кодировка хромосомы состоит из двух частей: изменяемой и неизменяемой. Неизменяемой частью является последовательность IP-адресов, а изменяемой – последовательность блоков диаграммы NDFD. Метод распределения прикладных сервисов по транспортной схеме ВС • • • Целевая функция СГА является аддитивной и состоит из трех слагаемых: F Fтрафик FВЗ Fгр . Первая часть целевой функции отвечает за распределение трафика: j Fтрафик min max Tr i i j • • где i – номер текущей хромосомы СГА; j – номер сетевого канала; а Tr – суммарный трафик на одном канале. Вторая часть функции отвечает за распределение вычислительной загрузки в сети: j FВЗ min max Vz i i j • • где i – номер текущей хромосомы СГА; j – номер узла сети; Vz – суммарная вычислительная загрузка на узле сети. Третья часть целевой функции отвечает за качество группировки блоков диаграммы на физической структуре сети. Вычисление происходит в несколько этапов. Вначале определяется общее количество групп, заданных проектировщиком – i. Затем по каждой из групп строится массив IP-адресов. В этом массиве вычисляется максимальное количество повторяющихся элементов – Ni. Значение вычисляется следующим образом: Fгр N i i N общ Метод распределения прикладных сервисов по транспортной схеме ВС Интерфейсный модуль Графический редактор DFD, и структуры ВС Базовая структура данных Общий интерфейс системы Модуль хранения данных Блок оптимизации проекта Моделирующая система Стандартный генетический алгоритм Общая структура модуля ModLan График изменения суммарного трафика ВС в процессе генетической оптимизации Трафик, мбит/с 100 80 60 Трафик 40 20 0 1 7 13 19 25 31 37 43 49 55 61 67 73 79 85 91 97 График изменения суммарной вычислительной загрузки на узлах ВС в процессе генетической оптимизации Загрузка, % 100 80 60 Загрузка, % 40 20 0 1 7 13 19 25 31 37 43 49 55 61 67 73 79 85 91 97 График изменения качества группировки процессов диаграммы на физической структуре ВС в процессе генетической оптимизации Группировка,% 100 90 80 70 60 50 40 30 20 10 0 Группировка,% 1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 График изменения аддитивной целевой функции, включающей в себя три выше рассмотренные компоненты цф 0,4 0,35 0,3 0,25 0,2 цф 0,15 0,1 0,05 0 1 9 17 25 33 41 49 57 65 73 81 89 97 Заключение. Генетическая кластеризация является эффективным инструментом для следующих направлений • Интеллектуальный анализ данных и текстов (Data and Text Mining); • Построение интеллектуальных информационных систем. Генетическая оптимизация вычислительных сетей при автоматизированном проектировании результативно решает задачи: 1.Определение состава коммуникационного оборудования 2. Определение пропускной способности каналов 3. Определение размещения коммуникационного оборудования 4. Размещения сервисов на топологии вычислительной сети Тверь, КИИ-2010, 20.сентября Nadezhda Yarushkina jng@ulstu.ru Тверь, КИИ-2010, 20.сентября