Содержание к диссертации
Введение
Глава 1. Обзор работ и практических реализаций, посвященных интеллектуальному анализу данных и представлению нечетких данных в системах управления базами данных 13
1.1 .Задача анализа данных 13
1.2.Обзор моделей и реализаций нечетких БД 15
1.3. Обзор методов интеллектуального анализа данных для решения задачи кластеризации и классификации 29
1.3.1. Гипотеза компактности 29
1.3.2. Гипотеза А-компактности 29
1.4.ДСМ-метод и его модификации 32
1.4.1.ДСМ-МЄТ0Д 32
1.4.2.ДСМ-метод автоматического порождения гипотез (ДСМ-АПГ)...35
1.5. Примеры систем извлечения знаний из данных 42
1.5.1. Предметно-ориентированные аналитические системы 42
1.5.2. Статистические пакеты 44
1.5.3. Системы на основе моделей нейронных сетей 44
1.5.4. Системы, использующие рассуждения на основе прецедентов 46
1.5.5. Системы, использующие деревья решений 46
1.5.6. Системы, использующие эволюционное программирование 48
1.5.7. Системы на основе генетических алгоритмов 48
1.5.8. Системы, использующие алгоритмы ограниченного перебора 50
1.6 Обзор программных реализаций Data Miner 51
1.6.1. Data Mining Suite 51
1.6.2. IBM Intelligent Miner 54
1.6.3. Oracle Dataminer 56
1.6.4. Microsoft OLE DB for Data Mining Specification in SQL Server 2000 57
1.6.5. Statistica 58
1.6.6. 1С Предприятие 62
1.6.7. Рог/analyst 63
1.6.8.Краткий обзор свободно распространяемых продуктов 67
1.7. Стандарты и спецификации, используемые при определении архитектур систем извлечения знаний из данных 69
1.7.1. Стандарты 69
1.7.2. Языки спецификации задач извлечения знаний 72
1.8.Выводы 74
Глава 2. Математические методы анализа нечетких данных 75
2.1. Нечеткая кластеризация 75
2.1.1. Задача нечеткой кластеризации 75
2.1.2. Общая формальная постановка задачи нечеткого кластерного анализа 77
2.1.3. Уточненная постановка задачи нечеткой кластеризации 78
2.1.4. Алгоритм решения задачи нечеткой кластеризации методом нечетких с-средних (FCM) 80
2.1.5. Гибридный алгоритм нечеткой кластеризации 82
2.2. Нечеткая реляционная модель данных 90
2.3. Нечеткая кластеризация с помощью нейронных сетей 91
2.3.1. Алгоритм решения задачи нечеткой кластеризации методом сети Кохонена 91
2.4. Поиск зависимостей на нечетких данных с помощью нечетких нейронных сетей разных архитектур 102
2.4.1. Нечеткие нейронные сети 102
2.4.2. Структура нечеткой сети ANFIS 103
2.4.3. Гибридный алгоритм обучения адаптивных сетей 107
2.4.4. Гибридный алгоритм обучения ANFIS 109
2.4.5. Генерация нечетких правил 112
2.4.6. Гибридная нечеткая нейронная сеть 113
2.4.7. Обучение гибридной сети 115
2.5.Выводы 116
Глава 3. Структурно-функциональное решение Fuzzy Data Miner 117
3.1 Описание нечеткого реляционного сервера данных 117
3.1.1. Выбор инструментальных средств и технологий 117
3.1.2. Информационная структура служебных таблиц представления нечетких данных 119
3.1.3 Функциональное решение 123
3.1.4. Требования к установке системы 136
3.2. Реализация модуля кластеризации 137
3.2.1 Реализация алгоритма гибридной кластеризации 138
3.2.2. Реализация алгоритма Кохонена 139
3.2.3. Выходные формы 140
3.3 Реализация гибридной нечеткой нейронной сети 141
3.3.1. Оперативная структура хранения 141
3.3.2. Внешняя структура хранения 142
3.3.3. Описание структур хранения 142
3.3.4 Модуль реализации гибридной нечеткой нейронной сети 144
3.3.5. Выходные формы 147
ЗАОбщая структура программного комплекса Fuzzy Data Miner 148
3.5.Выводы 148
Глава 4. Название 150
4.1 Задача анализа социологической базы данных 150
4.1.1 Постановка задачи 150
4.1.2 Результаты анализа 153
4.2 Задача структуризации информационных ресурсов 155
4.2.1.Постановка задачи 155
4.2.2. Интеллектуальная система поддержки принятия решений: структура и функции 156
4.2.3. Проведение эксперимента 156
4.2.4. Структурирование информационных ресурсов ФНПЦ «ОАО
МАРС» 158
4.3. Анализ эффективности ИСШТР 159
4.4 Выводы 161
Заключение 162
Библиографический список
- Обзор методов интеллектуального анализа данных для решения задачи кластеризации и классификации
- Общая формальная постановка задачи нечеткого кластерного анализа
- Информационная структура служебных таблиц представления нечетких данных
- Задача структуризации информационных ресурсов
Введение к работе
Общая характеристика работы. Проектирование сложных
технических изделий выполняется в наши дни распределенным коллективом проектировщиков, использующих информационные технологии и работающих в условиях развитой корпоративной сети. Результатом работы разрозненных коллективов проектировщиков является информационное хранилище, содержащее архивы старых проектных решений, текущие проекты, электронные описания проектов, файлы стандартов и правил. Международные стандарты (ISO-9000) требуют от предприятий иметь полное электронное представление изделий, причем фактически данные представления не всегда структурированы и часто представляют собой неупорядоченный один или несколько информационных ресурсов. Проведение структуризации неупорядоченного набора файлов возможно только при участии эксперта, который знает специфику всех направлений деятельности проектного подразделения и имеет представление о тематике старых архивных проектов.
Актуальность проблемы. При автоматизированном структурировании
информационных ресурсов мы имеем дело с частотными словарями, где
частота терма определяет принадлежность документа к той или иной
тематике и для эксперта удобно оценивать величину частоты для
конкретного документа в виде лингвистических понятий таких как «часто»,
«редко», «очень редко» и т.д. Проиндексировав все хранилище
информационных ресурсов эксперт получает отношение частот термов и
документов и дает лингвистические оценки частотным характеристикам
термов. Далее требуется кластеризовать объекты, характеризующиеся
нечеткими атрибутами в многомерном пространстве. Конкретная научно-
техническая задача кластеризации нечетких данных для
t автоматизированного проектирования не решена в науке и практике.
Таким образом, в теории и практике существует важная научно-техническая задача создания методов и средств организации
информационного обеспечения систем автоматизированного проектирования (САПР), способного осуществлять кластеризацию неопределенных данных. С учетом вышесказанного, разработка методов кластеризации, адекватных проектной информации, и структурно-функционального решения, является актуальной задачей.
Цель диссертационной работы. Целью диссертации является снижение трудоемкости формирования проектных репозитариев за счет использования разработанных методов интеллектуального анализа нечетких данных.
Для методов интеллектуального анализа нечетких данных необходимо разработать структурно-функциональное решение.
Таким образом, объектом исследования является информационное обеспечение системы интеллектуального анализа данных, а субъектом исследования - фактор нечеткости характеристик информационных ресурсов, представимых в хранилище данных.
Задачи исследования. Для достижения поставленной цели необходимо решить ряд задач:
Исследовать особенности информационных ресурсов. Провести анализ результативности методов интеллектуального анализа нечетких данных для задач структурирования информационных ресурсов. Изучить ранее разработанные методы интеллектуального анализа данных, учитывающие нечеткость атрибутов объектов, и сделать вывод о возможности их применения.
Разработать методы кластеризации, позволяющие автоматизировано сформировать структуру проектного репозитария.
Разработать методику, позволяющую настраивать функции принадлежности нечетких атрибутов на основе не только оценок эксперта, но и фактических данных.
Разработать модель представления объектов проектирования набором нечетких правил.
Разработать структурно-функциональное решение для извлечения зависимостей в виде правил из нечетких данных.
Разработать программную систему, выполняющую нечеткую кластеризацию для структурирования хранилища информационных ресурсов.
Выполнить с помощью разработанного программного решения интеллектуальный анализ информационных ресурсов и осуществить структуризацию хранилища данных для проектной организации.
Методы исследования. Для решения поставленных задач использовались методы таксономии, аппарат реляционной алгебры, методы представления знаний, совокупность теорий, обобщенных направлением мягких вычислений, и проектирования программных систем.
В качестве инструментальных средств использовались: сервер баз данных Oracle9i, Java Developer Kit (Sim Microsystems), Borland Delphi 7, MySQL 4.1, PHP5.
Научная новизна. В работе проведено исследование проблемы, в котором новыми являются следующие результаты:
Предложен новый метод кластеризации нечетких данных. Отличие метода от известных заключается в том, что он позволяет кластеризовать сильно сгруппированные данные при отсутствии дополнительной информации о данных. Метод позволяет структурировать информационные ресурсы, описанные нечеткими характеристиками.
Предложена новая модель содержательной и навигационной структуры проектного репозитария в форме набора нечетких правил.
Сформирована новая методика использования интеллектуального анализа нечетких данных для организации проектных репозитариев при автоматизированном проектировании.
Разработано новое структурно-функциональное решение системы
интеллектуального анализа нечетких данных.
Практическая значимость работы. Научно-исследовательская работа
над разделами диссертации выполнялась в соответствии с договором НИР
100-НИЧсФНПЦОАО "НПО МАРС":
Практическая ценность полученных результатов состоит в следующем:
Созданная программная система - система интеллектуального анализа нечетких данных позволяет структурировать хранение информационных ресурсов. На основе модели данных можно создавать как хранилище данных, так и аннотации ресурсов, характеризующих их. Для ФНПЦ ОАО "НПО МАРС" была осуществлена структуризация хранилища информационных ресурсов.
Созданная программная система является инструментом для исследования зависимостей в нечетких реляционных базах данных. Наиболее перспективным направлением исследований является исследование свойств модели (неполные данные, неточные данные).
Созданная программная система используется в Ульяновском отделении Сберегательного банка РФ №7002 для структуризации клиентской базы физических лиц, позволяя классифицировать клиентов по принадлежности к категориям.
Созданная программная система используется в НП «УЦ «Раздолье» при проведении маркетинговых исследований и анализе данных полученных опросным путем от слушателей учебного центра.
Достоверность результатов диссертационной работы. Достоверность научных положений, выводов и рекомендаций подтверждена результатами математического моделирования, результатами экспериментов и испытаний, а также результатами использования материалов диссертации и разработанных систем в проектных подразделениях организаций и на производстве.
Основные положения, выносимые на защиту.
Алгоритм кластеризации нечетких данных.
Модель проектного репозитария, позволяющая использовать результаты кластеризации для организации среды хранения и навигации в информационном хранилище.
Методика использования нечетких нейронных сетей при построении проектных репозитариев в процессе автоматизированного проектирования.
Структурно-функциональное решение системы интеллектуального анализа нечетких данных, осуществляющее структурирование информационных ресурсов, характеризуемых нечеткими атрибутами.
Реализация результатов работы. Результаты диссертации и практические рекомендации использованы в ФНПЦ ОАО "НПО МАРС" для структурирования хранилища информационных ресурсов. Научные и практические результаты диссертационной работы внедрены в Ульяновском отделении Сберегательного банка РФ №7002 и НП «УЦ «Раздолье».
Практическое использование результатов диссертационной работы подтверждено соответствующими документами о внедрении.
Апробация работы. Основные положения и результаты диссертации докладывались и обсуждались;
на четвертой международной научно-технической конференции «Математическое моделирование физических, экономических, технических, социальных систем и процессов» (Ульяновск, 2001); на международных
конференциях «Континуальные логико-алгебраические исчисления и нейроинформатика в науке, технике и экономике» (Ульяновск, 2001, 2002, 2003, 2004, 2005, 2006); на XXXV, XXXVI, XXXVII, XXXIX научно-технических конференциях УлГТУ (Ульяновск, 2001, 2002, 2003, 2005); на международной конференции "Dynamical systems modeling and stability investigation" (Киев, 2001); на международной конференции «Математическое моделирование, статистика и информатика в современном управлении экономикой» (Самара, 2001); на 8-ой и 10-ой национальных конференциях по искусственному интеллекту с международным участием (Москва, 2002, 2006); на научной сессии МИФИ-2002 (Москва, 2002); на международной научно-технической конференции «Интеллектуальные системы» (Москва, 2006); на международной научно-технической конференции «Интеллектуальные САПР» (Москва, 2006); на всероссийской научной конференции «Нечеткие системы и мягкие вычисления» (Москва, 2006); на международной конференции "Applications of mathematics in engineering and economics" (Bulgaria, Sofia, 2006).
По теме диссертации опубликовано 24 печатные работы.
Личный вклад. Все результаты, составляющие содержание диссертации, получены автором самостоятельно.
Обзор методов интеллектуального анализа данных для решения задачи кластеризации и классификации
Гипотеза компактности оперирует абсолютными значениями расстояний между векторами в пространстве характеристик. Однако часто важную роль в задачах анализа данных играют не только сами расстояния, но и отношения между ними. Гипотеза Я - компактности сформулирована в работе Загоруйко Н.Г. [58].
Формулировка гипотезы Х- компактности опирается на понятие Я-расстояния, которое учитывает нормированное расстояние d между элементами множества и характеристику г локальной плотности множества в окрестностях этих элементов.
Если определить- расстояния между всеми парами точек множества А, то можно построить полный граф, соединяющий все точки со всеми, и найти самое длинное ребро- диаметр графа (D). Выделим две любые точки ая Ьи обозначим длину связывающего их ребра через a{ab). Будем считать нормированным расстоянием между этими точками величину d=al D. Среди ребер, смежных ребру (ab), найдем самое короткое, длину которого обозначим через /3ПІІ1]. Отношение длин этих смежных отрезков обозначим чрез г =а ІДПІ11. Чтобы сделать эту величину нормированной в диапазоне от нуля до единицы, найдем в полном графе наибольшее значение гтах.
Величина г=т"/т]паїявляется нормированной характеристикой локальной неоднородности плотности множества в окрестностях точек а и Ь. Величину Я = /(г,d)называем А- расстоянием между точками а и Ь. Для определения степени влияния параметров т и d на Я -расстояние были проведены эксперименты, в которых сравнивались результаты таксономии двумерного множества точек экспертами и программами, использующими разные виды функции f{ttd). Использование Я-расстояний вместо эвклидовых позволяет получать более естественную с точки зрения экспертов таксономию, совпадающую с результатами, полученными экспертами. При этом оказалось, что параметр d играет более важную роль по сравнению с параметром х. Наилучшее совпадение экспертных суждений с формальными І получалось в том случае, если в качестве меры расстояния использовалась величина А=ггх d,
Находя Я-характеристики для всех отрезков, соединяющих точки множества А, мы делаем отображение этого множества из эвклидова пространства в новое А -пространство. В этом пространстве можно построить граф без петель, который связывает между собой все точки и имеет минимальную суммарную Я-длину своих ребер. Такой граф в эвклидовом пространстве называется кратчайшим незамкнутым путем (КНП). По аналогии обозначим в Я-пространстве Я-КНП. Строятся такие графы следующим способом. Сначала находятся две самые близкие точки, которые соединяются ребром. Затем соединяется ребром следующая пара самых близких точек. Для каждой следующей пары ближайших точек предварительно проверяется, нельзя ли пройти из одной из них в другую по ребрам уже построенного графа. Если молено, то они из дальнейшего рассмотрения исключаются, а если нет, то строится ребро графа между ними. Так продолжается до объединения в общий граф всех т точек множества А. Если геометрическая близость точек связывалась с понятием компактность, то близость по Я - расстояниям называем Я - компактностью. Исходя из этого по аналогии с гипотезой компактности гипотезу Я - компактности (ХН) можно сформулировать следующим образом: реализации одного и того же образа обычно отражаются в признаковом Я -пространстве в близкие точки, образуя Я - компактные сгустки.
Общая формальная постановка задачи нечеткого кластерного анализа
Пусть исследуемая совокупность представляет собой конечное множество элементов A = {ali...,a„}, которое получило название множество объектов кластеризации. В рассмотрение вводиться конечное множество признаков или атрибутов P = \pi,...iptl\, каждый из которых количественно представляет некоторое свойство или характеристику элементов рассматриваемой проблемной области. При этом п - общее количество объектов данных, a q - общее количество измеримых признаков. Далее предполагается, что для каждого из объектов кластеризации некоторым образом измерены все признаки множества Р в некоторой количественной шкале. Тем самым, каждому из элементов а, є А поставлен в соответствие некоторый вектор х, =(х 1,...,х 1\ где x j - количественное значение признака ps є Р для объекта а, є А. Для определенности будем предполагать, что все х] принимают действительные значения. Векторы значений признаков ,=( ;,...,xj удобно представлять в виде матрицы данных D размерности nxq каждая строка которой равна значению вектора
Задача нечеткого кластерного анализа формулируется следующим образом: на основе исходных данных D определить такое нечеткое разбиение R{A)=\Ak\Ak сЛ] или нечеткое покрытие j{A)={Ak\Ak с А) множества А на заданное число с нечетких кластеров At,ke{2,...,c} которое доставляет экстремум некоторой целевой функции f(R(A)) среди всех нечетких разбиений или экстремум целевой функции f(j{A)) среди всех нечетких покрытий.
Для решения задачи требуется дополнительно уточнить вид целевой функции и тип искомых нечетких кластеров (поиск нечеткого разбиения или покрытия).
Для уточнения вида целевой функции f(j(A)) в рассмотрение вводятся некоторые дополнительные понятия. Прежде всего предполагается, что искомые нечеткие кластеры представляют собой нечеткие множества Ак, образующие нечеткое покрытие исходного множества объектов кластеризации, для которых условие \jAt = А принимает следующий вид: (a,) = l,(Va, ), где c - общее количество нечетких кластеров Ак {к є {2,...,с}), которое считается предварительно заданным.
Далее для каждого нечеткого кластера вводятся в рассмотрение типичные представители или центры vk искомых нечетких кластеров Ак которые рассчитываются для каждого из нечетких кластеров и по каждому из признаков по следующей формуле. t= -,(\/кє{2,...,с}Ур,Р), Xk.(4" 1=] где т - некоторый параметр, называемый экспоненциальным весом и равный некоторому действительному числу (ш 1). Каждый из центров кластеров представляет собой вектор vk =(v ,...,vj) в некотором ц - мерном нормированном пространстве.
Наконец, в качестве целевой функции будем рассматривать сумму квадратов взвешенных отклонений координат объектов кластеризации от центров искомых нечетких кластеров: /(4. )-ZZ( 4 ))"Zfe"v )2 гДе т - экспоненциальный вес нечеткой кластеризации, значение которого задается в зависимости от мощности множества А. Чем больше в А элементов, тем меньшее значение выбирается для т.
Задача нечеткой кластеризации может быть сформулирована следующим образом.
Для заданных матрицы данных D, количества кластеров с(с \), параметра т определить матрицу U значений функции принадлежности объектов кластеризации а,, є А нечетким кластерам Ак, которые доставляют минимум целевой функции и удовлетворяют вышеназванным ограничениям, а так же дополнительным ограничениям: JXM 0(V e{2,...,c}) ИАк(а,) 0{Уке{Х...,с} еА) Условие 2]ju (fl/) o(Vfc6{2,...,c}) исключает появление пустых кластеров Г i-i в искомой нечеткой кластеризации. Достоинством такой постановки задачи нечеткой кластеризации является естественная интерпретация как искомых нечетких кластеров, так и их типичных представителей или центров.
Информационная структура служебных таблиц представления нечетких данных
Так как база данных под управлением Oracle не имеет средств для хранения нечеткой информации, то в системе используется набор служебных таблиц - репозитарий, который предназначен для хранения функций принадлежности, лингвистических оценок и т.д. Репозитарий является как бы логическим дополнением словаря данных (рисунок З.1.). Словарь данных хранит описание объектов базы данных (таблиц, представлений, индексов и т.д.). Кроме этого в системе используется специальное отношение F_ATTRIBUTE, которое предназначено для непосредственной связи нечетких атрибутов с другими объектами базы данных.
Нечеткое отношение, в используемой системе представляет собой реальное отношение - таблицу, в которой нечеткий атрибут представлен типом «VARCHAR2». Каждое значение на этом атрибуте является либо символьным представлением нечеткого числа, либо лингвистической оценкой. Такое представление в большинстве случаев позволяет работать с нечетким отношением как с обычным. Значение на нечетком атрибуте является ссылкой на соответствующую запись либо в таблице «F_ESTIMATION», либо в таблице «F_NUMBER». Все пользовательские данные хранятся непосредственно в таблицах пользователей.
Отношение «FNUMBER» является основой для представления нечетких чисел. Для каждого нечеткого числа в данной таблице хранится его идентификатор и символьное представление в виде «ii/X[+u,2/x2+...+u.i/Xj». В таблице не хранятся тождественные (с одинаковыми функциями принадлежности) нечеткие числа, а для каждой записи существует счетчик того, сколько данное число встречается в базе данных. Кроме этого для каждого числа хранится его дефазифицированное значение и тип. Тип необходим для выделения нечетких чисел заданных одной точкой и предназначенных в основном для представления точных значений на нечетком атрибуте.
В используемой модели принят кусочно-непрерывный способ задания функции принадлежности для нечетких чисел. Для хранения функций принадлежности используется отношение «F_MF», которое содержит пары ЦІ/ХІ и соответствующий идентификатор нечеткого числа. Кроме этого используется отношение «F_MF_LINES», в котором функция принадлежности хранится в виде отрезков заданных двумя крайними, точками. Данное отношение строится на основе «F_MF». Такая избыточность позволяет упростить и ускорить механизмы обработки.
Отношение «F_ESTEEMATION» предназначено для хранения лингвистических оценок. В основе каждой оценки лежит нечеткое число, идентификатор которого хранится вместе с самой оценкой. Для лингвистических оценок существуют привязки либо к определенным атрибутам, либо к некоторому классу объектов которые позволяют группировать оценки по их назначению. Для определения таких привязок (или меток) используется отношение «F_OBJECT». В нем кроме непосредственно названия метки и ее идентификатора хранится имя пользователя - владельца данной метки и соответственно всех связанных с ней оценок. Кроме представленных выше отношений репозитарий содержит ряд индексов (для увеличения быстродействия), представлений (для упрощения запросов в процедурах) и последовательностей (для генерации идентификаторов). Все механизмы обработки нечетких данных собраны в четыре пакета: FUZZY FUZZY SQL FUZZY_MATH FUZZYJNTERNAL
Пакет - это объект базы данных, в котором собраны логически связанные типы, объекты и подпрограммы PL/SQL. Используемые пакеты содержат набор процедур и функций для работы с нечеткими отношениями и репозитарием. Пакет «FUZZY» содержит в себе все основные процедуры и функции необходимые для создания, представления, преобразования и удаления нечетких чисел. Пакет «FUZZY_SQL» предназначен для работы с нечеткими атрибутами и лингвистическими оценками, то есть дополнительными объектами базы данных. Все математические операции (множественные, арифметические и операции сравнения) собраны в пакет «FUZZY_MATH». И, наконец, в пакете «FUZZYJNTERNAL» собраны функции работы с репозитарием, внутренним представлением нечетких чисел и ряд служебных функций. Существует несколько причин для разделения процедур и функций на несколько пакетов. Во-первых, поддерживается принцип логического разделения функций. Во-вторых, с точки зрения безопасности нужно ограничить пользователей в доступе к служебным функциям системы, во избежание нарушения работоспособности. И, в-третьих, существует ограничение на размер пакета, что может стать проблемой при дальнейшем развитии системы.
Задача структуризации информационных ресурсов
В данном модуле реализовано два алгоритма нечеткой кластеризации: гибридный алгоритм нечеткой кластеризации и модифицированная нейронная сеть Кохонена.
Программное обеспечение реализовано в среде разработки Borland Delphi Enterprise 7.0. Данная среда реализации была выбрана из-за удобства использования готовых визуальных компонентов и простоты работы с различными источниками данных. Данный модуль использует клиент-серверную архитектуру, что позволяет работать с удаленными СУБД.
Реализация алгоритмов кластеризации сведена в 3 логических и 2 функциональных модуля:
Main - модуль в котором содержится описание и реализация общих для обоих алгоритмов процедур (загрузка (импорт) данных, вывод результатов кластеризации на экран, формирование отчета). Так же данный модуль включается в себя реализацию поведения главного окна программы. FCGA - модуль, в котором находится описание и реализация гибридного алгоритма нечеткой кластеризации. Nsk - модуль, в котором находится описание и реализация алгоритма кластеризации на основе нейронной сети Кохонена.
Еще два вспомогательных модуля отвечают за подключение к базе данных, выбор и импорт таблиц и атрибутов для анализа: DBConnection -настройка подключения к БД. Для связи с СУБД использованы компоненты ADO. DBTables - выбор таблиц и полей для импорта.
Реализация гибридного алгоритма
Реализация алгоритма начинается с подготовки входных данных. Загружаем данные с помощью процедуры LoadData. Получаем заполненные начальные данные, индексный массив. Определены размерность матрицы центров, и массива кластеров данных. Далее начинает работать гибридный алгоритм (модуль Clusterize).
С помощью многошагового Maxmin алгоритма кластеризации (модуль MultistepMaxMin) выбирается оптимальное разбиение для каждого количества кластеров. Количество кластеров уменьшается от указанного пользователем количества до двух с помощью процедуры слияния (модуль Merge).
В качестве меры сходимости для многошагового Maxmin алгоритма выбрано следующее условие: оценка оптимального варианта разбиения не изменяется за 3 цикла выполнения алгоритма. Одним циклом выполнения алгоритма считается количество прогонов, равное числу кластеров, т.е. когда модифицированный Maxmin алгоритм (модуль ModinedMaxmm) выполнен со всеми возможными начальными значениями.
Важным параметром для работы алгоритма является мера близости объектов. Ее расчет выполняет модуль Dist.
Для четких данных в качестве меры близости выбрано декартово расстояние. Для нечетких предварительно производится «сворачивание» представляющего вектора в одно число: - ZJ \т У1 s Где mi - элемент представляющего вектора. В результате кластеризации получаем массив центров и разбивку. Разбивка по кластерам выводится отдельным столбцом. Для работы алгоритма получаем заполненные начальные данные (Data) и индексный массив (Index). Определены размерность матрицы центров (CCount) и массива кластеров данных (Clusters[N]).
Исходя из способа задания начальных весов (центр тяжести объектов либо равномерное распределение внутри всего диапазона анализируемых данных) рассчитываем матрицу центров. Запоминаем начальные веса (CCenters) и начинаем обучать сеть. Одним прогоном сети будем называть последовательность подачи на входы анализируемых данных с первой по последнюю строку. Осуществляем прогон сети, изменяя веса сработавшего на шаге нейрона (модуль Progon).
Алгоритм останавливается, если веса перестают меняться, т.е. сумма разностей весов предыдущих и текущих равна 0 с определенной точностью. В данном случае с точностью 0,00001. За реализацию алгоритма обучения нейросети Кохонена отвечает модуль repeat NSKohonen.
При кластеризации на количестве нейронов большем, чем количество строк данных остаются несработавшие нейроны, которые необходимо удалить. Для этого используется модуль NewClusters. Создается дополнительный информационный массив (BoolClusters[]) длинной в количество заданных кластеров, он хранит информацию о срабатывании или несрабатывании нейрона в момент срабатывания нейрона на конкретной строке данных. После остановки алгоритма данный массив просматривается с конца и осуществляется удаление несработавших нейронов и корректировка матрицы центров кластеров.
После удаления несработавших нейронов данные классифицируются с помощью модуля Classification. Происходит стандартный прогон сети без изменения весов нейронов.
Для проверки точности разбиения используется модуль Dclusters. С его помощью проверяется необходимость в слиянии полученных кластеров. Слияние имеет место тогда, когда расстояние между центрами каких-либо двух кластеров оказывается меньше чем среднее расстояние до центров внутри этих кластеров.
В результате кластеризации получаем массив центров и разбивку. Разбивка по кластерам выводится отдельным столбцом.