Xreferat.com » Рефераты по информатике и программированию » Моделирование сети кластеризации данных в MATLAB NEURAL NETWORK TOOL

Моделирование сети кластеризации данных в MATLAB NEURAL NETWORK TOOL

СОДЕРЖАНИЕ


Введение

1. Общие сведения о кластеризации

1.1 Понятие кластеризации

1.2 Процесс кластеризации

1.3 Алгоритмы кластеризации

1.3.1 Иерархические алгоритмы

1.3.2 k-Means алгоритм

1.3.3 Минимальное покрывающее дерево

1.3.4 Метод ближайшего соседа

1.3.5 Алгоритм нечеткой кластеризации

1.3.6 Применение нейронных сетей

1.3.7 Генетические алгоритмы

1.4 Применение кластеризации

2. Сеть Кохонена

2.1 Структура сети Кохонена

2.2 Обучение сети Кохонена

2.3 Выбор функции «соседства»

2.4 Карта Кохонена

2.5 Задачи, решаемые при помощи карт Кохонена

3. Моделирование сети кластеризации данных в MATLAB NEURAL NETWORK TOOLBOX

3.1 Самоорганизующиеся нейронные сети в MATLAB NNT

3.1.1 Архитектура сети

3.1.2 Создание сети

3.1.3 Правило обучения слоя Кохонена

3.1.4 Правило настройки смещений

3.1.5 Обучение сети

3.1.6 Моделирование кластеризации данных

3.2 Карта Кохонена в MATLAB NNT

3.2.1 Топология карты

3.2.2 Функции для расчета расстояний

3.2.3 Архитектура сети

3.2.4 Создание сети

3.2.5 Обучение сети

3.2.6 Моделирование одномерной карты Кохонена

3.2.7 Моделирование двумерной карты Кохонена

Выводы

Перечень ссылок


ВВЕДЕНИЕ


В настоящее время ни у кого не вызывает удивления проникновение компьютеров практически во все сферы человеческой деятельности. Совершенствование элементной базы, определяющей архитектуру компьютера, и распараллеливания вычислений позволяют быстро и эффективно решать задачи все возрастающей сложности. Решение многих проблем немыслимо без применения компьютеров. Однако, обладая огромным быстродействием, компьютер часто не в состоянии справиться с поставленной перед ним задачей так, как бы это сделал человек. Примерами таких задач могут быть задачи распознавания, понимания речи и текста, написанного от руки, и многие другие. Таким образом, сеть нейронов, образующая человеческий мозг, являясь, как и компьютерная сеть, системой параллельной обработки информации, во многих случаях оказывается более эффективной. Идея перехода от обработки заложенным в компьютер алгоритмом некоторых формализованных знаний к реализации в нем свойственных человеку приемов обработки информации привели к появлению искусственных нейронных сетей (ИНС).

Отличительной особенностью биологических систем является адаптация, благодаря которой такие системы в процессе обучения развиваются и приобретают новые свойства. Как и биологические нейронные сети, ИНС состоят из связанных между собой элементов, искусственных нейронов, функциональные возможности которых в той или иной степени соответствуют элементарным функциям биологического нейрона. Как и биологический прототип, ИНС обладает следующим свойствами:

адаптивное обучение;

самоорганизация;

вычисления в реальном времени;

устойчивость к сбоям.

Таким образом, можно выделить ряд преимуществ использования нейронных сетей:

возможно построение удовлетворительной модели на нейронных сетях даже в условиях неполноты данных;

искусственные нейронные сети легко работают в распределенных системах с большой параллелизацией в силу своей природы;

поскольку искусственные нейронные сети подстраивают свои весовые коэффициенты, основываясь на исходных данных, это помогает сделать выбор значимых характеристик менее субъективным.

Сейчас мир переполнен различными данными и информацией - прогнозами погод, процентами продаж, финансовыми показателями и массой других. Часто возникают задачи анализа данных, которые с трудом можно представить в математической числовой форме. Например, когда нужно извлечь данные, принципы отбора которых заданы нечетко: выделить надежных партнеров, определить перспективный товар, проверить кредитоспособность клиентов или надежность банков и т.п. И для того, чтобы получить максимально точные результаты решения этих задач необходимо использовать различные методы анализа данных. В частности, можно использовать ИНС для кластеризации данных, что, на мой взгляд является наиболее перспективным подходом.

1. ОБЩИЕ СВЕДЕНИЯ О КЛАСТЕРИЗАЦИИ


Понятие кластеризации


Классификация – наиболее простая и распространенная задача. В результате решения задачи классификации обнаруживаются признаки, которые характеризуют группы объектов исследуемого набора данных - классы; по этим признакам новый объект можно отнести к тому или иному классу.

Кластеризация – это автоматическое разбиение элементов некоторого множества на группы в зависимости от их схожести. Синонимами термина "кластеризация" являются "автоматическая классификация", "обучение без учителя" и "таксономия".

Задача кластеризации сходна с задачей классификации, является ее логическим продолжением, но ее отличие в том, что классы изучаемого набора данных заранее не предопределены. Таким образом кластеризация предназначена для разбиения совокупности объектов на однородные группы (кластеры или классы). Если данные выборки представить как точки в признаковом пространстве, то задача кластеризации сводится к определению "сгущений точек".

Целью кластеризации является поиск существующих структур.

Кластеризация является описательной процедурой, она не делает никаких статистических выводов, но дает возможность провести разведочный анализ и изучить "структуру данных".

Само понятие "кластер" определено неоднозначно: в каждом исследовании свои "кластеры". Переводится понятие кластер как "скопление", "гроздь". В искусственных нейронных сетях под понятием кластер понимается подмножество «близких друг к другу» объектов из множества векторов характеристик. Следовательно, кластер можно охарактеризовать как группу объектов, имеющих общие свойства.

Характеристиками кластера можно назвать два признака:

внутренняя однородность;

внешняя изолированность.

В таблице 1.1 приведено сравнение некоторых параметров задач классификации и кластеризации.


Таблица 1.1

Сравнение классификации и кластеризации

Характеристика Классификация Кластеризация
Контролируемость обучения Контролируемое обучение Неконтролируемое обучение
Стратегия Обучение с учителем Обучение без учителя
Наличие метки класса Обучающее множество сопровождается меткой, указывающей класс, к которому относится наблюдение Метки класса обучающего множества неизвестны
Основание для классификации Новые данные классифицируются на основании обучающего множества Дано множество данных с целью установления существования классов или кластеров данных

На рисунке 1.1 схематически представлены задачи классификации и кластеризации


Моделирование сети кластеризации данных в MATLAB NEURAL NETWORK TOOL

Рисунок 1.1 – Сравнение задач классификации и кластеризации


Кластеры могут быть непересекающимися, или эксклюзивными, и пересекающимися. Схематическое изображение непересекающихся и пересекающихся кластеров дано на рисунке 1.2

Моделирование сети кластеризации данных в MATLAB NEURAL NETWORK TOOL

Рисунок 1.2 – Непересекающиеся и пересекающиеся кластеры


Процесс кластеризации


Процесс кластеризации зависит от выбранного метода и почти всегда является итеративным. Он может стать увлекательным процессом и включать множество экспериментов по выбору разнообразных параметров, например, меры расстояния, типа стандартизации переменных, количества кластеров и т.д. Однако эксперименты не должны быть самоцелью - ведь конечной целью кластеризации является получение содержательных сведений о структуре исследуемых данных. Полученные результаты требуют дальнейшей интерпретации, исследования и изучения свойств и характеристик объектов для возможности точного описания сформированных кластеров.


Моделирование сети кластеризации данных в MATLAB NEURAL NETWORK TOOL

Рисунок 1.3 – Общая схема кластеризации


Кластеризация данных включает в себя следующие этапы:

а) Выделение характеристик.

Для начала необходимо выбрать свойства, которые характеризуют наши объекты, ими могут быть количественные характеристики (координаты, интервалы…), качественные характеристики (цвет, статус, воинское звание…) и т.д. Затем стоит попробовать уменьшить размерность пространства характеристических векторов, то есть выделить наиболее важные свойства объектов. Уменьшение размерности ускоряет процесс кластеризации и в ряде случаев позволяет визуально оценивать результаты. Выделенные характеристики стоит нормализовать. Далее все объекты представляются в виде характеристических векторов. Мы будем полностью отождествлять объект с его характеристическим вектором.

б) Определение метрики.

Следующим этапом кластеризации является выбор метрики, по которой мы будем определять близость объектов. Метрика выбирается в зависимости от:

пространства, в котором расположены объекты;

неявных характеристик кластеров.

Например, если все координаты объекта непрерывны и вещественны, а кластера должны представлять собой нечто вроде гиперсфер, то используется классическая евклидова метрика (на самом деле, чаще всего так и есть):


Моделирование сети кластеризации данных в MATLAB NEURAL NETWORK TOOL. (1.1)


в) Представление результатов.

Результаты кластеризации должны быть представлены в удобном для обработки виде, чтобы осуществить оценку качества кластеризации. Обычно используется один из следующих способов:

представление кластеров центроидами;

представление кластеров набором характерных точек;

представление кластеров их ограничениями.


Моделирование сети кластеризации данных в MATLAB NEURAL NETWORK TOOL

Рисунок 1.4 – Способы представления кластеров

Оценка качества кластеризации может быть проведена на основе следующих процедур:

ручная проверка;

установление контрольных точек и проверка на полученных кластерах;

определение стабильности кластеризации путем добавления в модель новых переменных;

создание и сравнение кластеров с использованием различных методов.

Разные методы кластеризации могут создавать разные кластеры, и это является нормальным явлением. Однако создание схожих кластеров различными методами указывает на правильность кластеризации.


Алгоритмы кластеризации


Следует отметить, что в результате применения различных методов кластерного анализа могут быть получены кластеры различной формы. Например, возможны кластеры "цепочного" типа, когда кластеры представлены длинными "цепочками", кластеры удлиненной формы и т.д., а некоторые методы могут создавать кластеры произвольной формы. Различные методы могут стремиться создавать кластеры определенных размеров (например, малых или крупных), либо предполагать в наборе данных наличие кластеров различного размера. Некоторые методы кластерного анализа особенно чувствительны к шумам или выбросам, другие - менее. В результате применения различных методов кластеризации могут быть получены неодинаковые результаты, это нормально и является особенностью работы того или иного алгоритма. Данные особенности следует учитывать при выборе метода кластеризации. На сегодняшний день разработано более сотни различных алгоритмов кластеризации.

Классифицировать алгоритмы можно следующим образом:

строящие «снизу вверх» и «сверху вниз»;

монотетические и политетические;

непересекающиеся и нечеткие;

детерминированные и стохастические;

потоковые (оnline) и не потоковые;

зависящие и не зависящие от порядка рассмотрения объектов.


Моделирование сети кластеризации данных в MATLAB NEURAL NETWORK TOOL

Рисунок 1.5 – Классификация алгоритмов кластеризации


Далее будут рассмотрены основные алгоритмы кластеризации.


1.3.1 Иерархические алгоритмы

Результатом работы иерархических алгоритмов является дендограмма (иерархия), позволяющая разбить исходное множество объектов на любое число кластеров. Два наиболее популярных алгоритма, оба строят разбиение «снизу вверх»:

single-link – на каждом шаге объединяет два кластера с наименьшим расстоянием между двумя любыми представителями;

complete-link – на каждом шаге объединяет два кластера с наименьшим расстоянием между двумя наиболее удаленными представителями.


Моделирование сети кластеризации данных в MATLAB NEURAL NETWORK TOOL

Рисунок 1.6 – Пример single-link алгоритма

Моделирование сети кластеризации данных в MATLAB NEURAL NETWORK TOOL

Рисунок 1.7 – Пример complete-link алгоритма


1.3.2 k-Means алгоритм

Данный алгоритм состоит из следующих шагов:

1. Случайно выбрать k точек, являющихся начальными координатами «центрами масс» кластеров (любые k из n объектов, или вообще k случайных точек).

2. Отнести каждый объект к кластеру с ближайшим «центром масс».

3. Пересчитать «центры масс» кластеров согласно текущему членству.

4. Если критерий остановки не удовлетворен, вернуться к шагу 2.

В качестве критерия остановки обычно выбирают один из двух: отсутствие перехода объектов из кластера в кластер на шаге 2 или минимальное изменение среднеквадратической ошибки.

Алгоритм чувствителен к начальному выбору «центр масс».


Моделирование сети кластеризации данных в MATLAB NEURAL NETWORK TOOL

Рисунок 1.8 – Пример k-Means алгоритма


1.3.3 Минимальное покрывающее дерево

Данный метод производит иерархическую кластеризацию «сверху вниз». Сначала все объекты помещаются в один кластер, затем на каждом шаге один из кластеров разбивается на два, так чтобы расстояние между ними было максимальным.


Моделирование сети кластеризации данных в MATLAB NEURAL NETWORK TOOL

Рисунок 1.9 – Пример алгоритма минимального покрывающего дерева


1.3.4 Метод ближайшего соседа

Этот метод является одним из старейших методов кластеризации. Он был создан в 1978 году. Он прост и наименее оптимален из всех представленных.

Для каждого объекта вне кластера делаем следующее:

1. Находим его ближайшего соседа, кластер которого определен.

2. Если расстояние до этого соседа меньше порога, то относим его в тот же кластер. Иначе из рассматриваемого объекта создается еще один кластер.

Далее рассматривается результат и при необходимости увеличивается порог, например, если много кластеров из одного объекта.


1.3.5 Алгоритм нечеткой кластеризации

Четкая (непересекающаяся) кластеризация – кластеризация, которая каждый Моделирование сети кластеризации данных в MATLAB NEURAL NETWORK TOOL из Моделирование сети кластеризации данных в MATLAB NEURAL NETWORK TOOL относит только к одному кластеру.

Нечеткая кластеризация – кластеризация, при которой для каждого Моделирование сети кластеризации данных в MATLAB NEURAL NETWORK TOOL из Моделирование сети кластеризации данных в MATLAB NEURAL NETWORK TOOL определяется Моделирование сети кластеризации данных в MATLAB NEURAL NETWORK TOOL. Моделирование сети кластеризации данных в MATLAB NEURAL NETWORK TOOL– вещественное значение, показывающее степень принадлежности Моделирование сети кластеризации данных в MATLAB NEURAL NETWORK TOOL к кластеру j.

Алгоритм нечеткой кластеризации таков:

1. Выбрать начальное нечеткое разбиение объектов на n кластеров путем выбора матрицы принадлежности Моделирование сети кластеризации данных в MATLAB NEURAL NETWORK TOOL размера Моделирование сети кластеризации данных в MATLAB NEURAL NETWORK TOOL. Обычно Моделирование сети кластеризации данных в MATLAB NEURAL NETWORK TOOL.

2. Используя матрицу U, найти значение критерия нечеткой ошибки. Например,

Моделирование сети кластеризации данных в MATLAB NEURAL NETWORK TOOL, (1.2)


где Моделирование сети кластеризации данных в MATLAB NEURAL NETWORK TOOL- «центр масс» нечеткого кластера k,


Моделирование сети кластеризации данных в MATLAB NEURAL NETWORK TOOL. (1.3)


3. Перегруппировать объекты с целью уменьшения этого значения критерия нечеткой ошибки.

4. Возвращаться в пункт 2 до тех пор, пока изменения матрицы Моделирование сети кластеризации данных в MATLAB NEURAL NETWORK TOOL не станут значительными.


Моделирование сети кластеризации данных в MATLAB NEURAL NETWORK TOOL

Рисунок 1.10 – Пример алгоритма нечеткой кластеризации


1.3.6 Применение нейронных сетей

Порой для решения задач кластеризации целесообразно использовать нейронные сети. У данного подхода есть ряд особенностей:

искусственные нейронные сети легко работают в распределенных системах с большой параллелизацией в силу своей природы;

поскольку искусственные нейронные сети подстраивают свои весовые коэффициенты, основываясь на исходных данных, это помогает сделать выбор значимых характеристик менее субъективным.

Существует масса ИНС, например, персептрон, радиально-базисные сети, LVQ-сети, самоорганизующиеся карты Кохонена, которые можно использовать для решения задачи кластеризации. Но наиболее лучше себя зарекомендовала сеть с применением самоорганизующихся карт Кохонена, которая и выбрана для рассмотрения в данном дипломном проекте.


Генетические алгоритмы

Это алгоритм, используемый для решения задач оптимизации и моделирования путём случайного подбора, комбинирования и вариации искомых параметров с использованием механизмов, напоминающих биологическую эволюцию. Является разновидностью эволюционных вычислений. Отличительной особенностью генетического алгоритма является акцент на использование оператора «скрещивания», который производит операцию рекомбинации решений-кандидатов, роль которой аналогична роли скрещивания в живой природе.

Задача формализуется таким образом, чтобы её решение могло быть закодировано в виде вектора («генотипа») генов. Где каждый ген может быть битом, числом или неким другим объектом. В классических реализациях ГА предполагается, что генотип имеет фиксированную длину. Однако существуют вариации ГА, свободные от этого ограничения.

Общая схема данного подхода:

1. Выбрать начальную случайную популяцию множества решений и получить оценку качества для каждого решения (обычно она пропорциональна Моделирование сети кластеризации данных в MATLAB NEURAL NETWORK TOOL).

2. Создать и оценить следующую популяцию решений, используя эволюционные операторы: оператор выбора – с большой вероятностью предпочитает хорошие решения; оператор рекомбинации (обычно это «кроссовер») – создает новое решение на основе рекомбинации из существующих; оператор мутации – создает новое решение на основе случайного незначительного изменения одного из существующих решений.

3. Повторять шаг 2 до получения нужного результата.

Главным достоинством генетических алгоритмов в данном применении является то, что они ищут глобальное оптимальное решение. Большинство популярных алгоритмов оптимизации выбирают начальное решение, которое затем изменяется в ту или иную сторону. Таким образом получается хорошее разбиение, но не всегда самое оптимальное. Операторы рекомбинации и мутации позволяют получить решения, сильно не похожее на исходное – таким образом осуществляется глобальный поиск.


Моделирование сети кластеризации данных в MATLAB NEURAL NETWORK TOOL

Рисунок 1.11 – Пример генетического алгоритма


1.4 Применение кластеризации


Кластерный анализ применяется в различных областях. Он полезен, когда нужно классифицировать большое количество информации, например, обзор многих опубликованных исследований, проводимых с помощью кластерного анализа.

Наибольшее применение кластеризация первоначально получила в таких науках как биология, антропология, психология. Для решения экономических задач кластеризация длительное время мало использовалась из-за специфики экономических данных и явлений. Так, в медицине используется кластеризация заболеваний, лечения заболеваний или их симптомов, а также таксономия пациентов, препаратов и т.д. В археологии устанавливаются таксономии каменных сооружений и древних объектов и т.д. В менеджменте примером задачи кластеризации будет разбиение персонала на различные группы, классификация потребителей и поставщиков, выявление схожих производственных ситуаций, при которых возникает брак. В социологии задача кластеризации - разбиение респондентов на однородные группы. В маркетинговых исследованиях кластерный анализ применяется достаточно широко - как в теоретических исследованиях, так и практикующими маркетологами, решающими проблемы группировки различных объектов. При этом решаются вопросы о группах клиентов, продуктов и т.д.

Так, одной из наиболее важных задач при применении кластерного анализа в маркетинговых исследованиях является анализ поведения потребителя, а именно: группировка потребителей в однородные классы для получения максимально полного представления о поведении клиента из каждой группы и о факторах, влияющих на его поведение. Важной задачей, которую может решить кластерный анализ, является позиционирование, т.е. определение ниши, в которой следует позиционировать новый продукт, предлагаемый на рынке. В результате применения кластерного анализа строится карта, по которой можно определить уровень конкуренции в различных сегментах рынка и соответствующие характеристики товара для возможности попадания в этот сегмент. С помощью анализа такой карты возможно определение новых, незанятых ниш на рынке, в которых можно предлагать существующие товары или разрабатывать новые.

Кластерный анализ также может быть удобен, например, для анализа клиентов компании. Для этого все клиенты группируются в кластеры, и для каждого кластера вырабатывается индивидуальная политика. Такой подход позволяет существенно сократить объекты анализа, и, в то же время, индивидуально подойти к каждой группе клиентов.

Таким образом, кластеризация, во-первых, применятся для анализа данных (упрощение работы с информацией, визуализация данных). Использование кластеризации упрощает работу с информацией, так как:

достаточно работать с k представителями кластеров;

легко найти «похожие» объекты – такой поиск применяется в ряде поисковых движков;

происходит автоматическое построение каталогов;

наглядное представление кластеров позволяет понять структуру множества объектов в пространстве.

Во-вторых, для группировки и распознавания объектов. Для распознавания образов характерно:

построение кластеров на основе большого набора учебных данных;

присвоение каждому из кластеров соответствующей метки;

ассоциирование каждого объекта, полученного на вход алгоритма распознавания, с меткой соответствующего кластера.

Для группировки объектов характерно:

сегментация изображений

уменьшение количества информации


Моделирование сети кластеризации данных в MATLAB NEURAL NETWORK TOOL

Рисунок 1.12 – Пример сегментации изображения


В-третьих, для извлечения и поиска информации, построения удобных классификаторов.

Извлечение и поиск информации можно рассмотреть на примере книг в библиотеке. Это наиболее известная система не автоматической классификации – LCC (Library of Congress Classification):

метка Q означает книги по науке;

подкласс QA – книги по математике;

метки с QA76 до QA76.8 – книги по теоретической информатике.

Проблемами такой классификация является то, что иногда классификация отстает от быстрого развития некоторых областей науки, а также возможность отнести каждую книгу только к одной категории. Однако в этом случае приходит на помощь автоматическая кластеризация с нечетким разбиением на группы, что решает проблему одной категории, также новые кластера вырастают одновременно с развитием той или иной области науки.


2. СЕТЬ КОХОНЕНА


Сеть Кохонена - это одна из разновидностей нейронных сетей, которые используют неконтролируемое обучение. При таком обучении обучающее множество состоит лишь из значений входных переменных, в процессе обучения нет сравнивания выходов нейронов с эталонными значениями. Можно сказать, что такая сеть учится понимать структуру данных.

Идея сети Кохонена принадлежит финскому ученому Тойво Кохонену (1982 год). Основной принцип работы сетей - введение в правило обучения нейрона информации относительно его расположения.

В основе идеи сети Кохонена лежит аналогия со свойствами человеческого мозга. Кора головного мозга человека представляет собой плоский лист и свернута складками. Таким образом, можно сказать, что она обладает определенными топологическими свойствами (участки, ответственные за близкие части тела, примыкают друг к другу и все изображение человеческого тела отображается на эту двумерную поверхность). Во многих моделях ИНС решающую роль играют связи между нейронами, определяемые весовыми коэффициентами и указывающие место нейрона в сети. Однако в биологических системах, на пример, таких как мозг, соседние нейроны, получая аналогичные входные сигналы, реагируют на них сходным образом, т. е. группируются, образуя некоторые области. Поскольку при обработке многомерного входного образа осуществляется его проецирование на область меньшей размерности с сохранением его топологии, часто подобные сети называют картами (self-organizing feature map). В таких сетях существенным является учет взаимного расположения нейронов одного слоя.

Сеть Кохонена (самоорганизующаяся карта) относится к самоорганизующимся сетям, которые при поступлении входных сигналов, в отличие от сетей, использующих обучение с учителем, не получают информацию о желаемом выходном сигнале. В связи с этим невозможно сформировать критерий настройки, основанный на рассогласовании реальных и требуемых выходных сигналов ИНС, поэтому весовые параметры сети корректируют, исходя из других соображений. Все предъявляемые входные сигналы из заданного обучающего множества самоорганизующаяся сеть в процессе обучения разделяет на классы, строя так называемые топологические карты.


2.1 Структура сети Кохонена


Сеть Кохонена использует следующую модель (рисунок 2.1): сеть состоит из М нейронов, образующих прямоугольную решетку на плоскости — слой.


Моделирование сети кластеризации данных в MATLAB NEURAL NETWORK TOOL

Рисунок 2.1 – Модель сети Кохонена


К нейронам, расположенным в одном слое, представляющем собой двумерную плоскость, подходят нервные волокна, по которым поступает N-мерный входной сигнал. Каждый нейрон характеризуется своим положением в слое и весовым коэффициентом. Положение нейронов, в свою очередь, характеризуется некоторой метрикой и определяется топологией слоя, при которой соседние нейроны во время обучения влияют друг на друга сильнее, чем расположенные дальше. Каждый нейрон образует взвешенную сумму входных сигналов с Моделирование сети кластеризации данных в MATLAB NEURAL NETWORK TOOL, если синапсы ускоряющие, и Моделирование сети кластеризации данных в MATLAB NEURAL NETWORK TOOL - если тормозящие. Наличие связей между нейронами приводит к тому, что при возбуждении одного из них можно вычислить возбуждение остальных нейронов в слое, причем это возбуждение с увеличением расстояния от возбужденного нейрона уменьшается. Поэтому центр возникающей реакции слоя на полученное раздражение соответствует местоположению возбужденного нейрона. Изменение входного обучающего сигнала приводит к максимальному возбуждению другого нейрона и соответственно — к другой реакции слоя. Сеть Кохонена может рассматриваться как дальнейшее развитие LVQ (Learning Vector Quantization). Отличие их состоит в способах обучения.


2.2 Обучение сети Кохонена


Сеть Кохонена, в отличие от многослойной нейронной сети, очень проста; она представляет собой два слоя: входной и выходной. Элементы карты располагаются в некотором пространстве, как правило, двумерном.

Сеть Кохонена обучается методом последовательных приближений. В процессе обучения таких сетей на входы подаются данные, но сеть при этом подстраивается не под эталонное значение выхода, а под закономерности во входных данных. Начинается обучение с выбранного случайным образом выходного расположения центров.

В процессе последовательной подачи на вход сети обучающих примеров определяется наиболее схожий нейрон (тот, у которого скалярное произведение весов и поданного на вход вектора минимально). Этот нейрон объявляется победителем и является центром при подстройке весов у соседних нейронов. Такое правило обучения предполагает "соревновательное" обучение с учетом расстояния нейронов от "нейрона-победителя".

Обучение при этом заключается не в минимизации ошибки, а в подстройке весов (внутренних параметров нейронной сети) для наибольшего совпадения с входными данными.

Основной итерационный алгоритм Кохонена последовательно проходит ряд эпох, на каждой из которых обрабатывается один пример из обучающей выборки. Входные сигналы последовательно предъявляются сети, при этом желаемые выходные сигналы не определяются. После предъявления достаточного числа входных векторов синаптические веса сети становятся способны определить кластеры. Веса организуются так, что топологически близкие узлы чувствительны к похожим входным сигналам.

В результате работы алгоритма центр кластера устанавливается в определенной позиции, удовлетворительным образом кластеризующей примеры, для которых данный нейрон является "победителем". В результате обучения сети необходимо определить меру соседства нейронов, т.е. окрестность нейрона-победителя, которая представляет собой несколько нейронов, которые окружают нейрон-победитель.

Сначала к окрестности принадлежит большое число нейронов, далее ее размер постепенно уменьшается. Сеть формирует топологическую структуру, в которой похожие примеры образуют группы примеров, близко находящиеся на топологической карте.

Рассмотрим это более подробнее. Кохонен существенно упростил решение задачи, выделяя из всех нейронов слоя лишь один с-й нейрон, для которого взвешенная сумма входных сигналов максимальна:


Моделирование сети кластеризации данных в MATLAB NEURAL NETWORK TOOL. (2.1)


Отметим, что весьма полезной операцией предварительной об работки входных векторов является их нормализация:


Моделирование сети кластеризации данных в MATLAB NEURAL NETWORK TOOL (2.2)


превращающая векторы входных сигналов в единичные с тем же направлением.


Моделирование сети кластеризации данных в MATLAB NEURAL NETWORK TOOL (2.3)


В этом случае вследствие того, что сумма весов каждого нейрона одного слоя Моделирование сети кластеризации данных в MATLAB NEURAL NETWORK TOOL

Если Вам нужна помощь с академической работой (курсовая, контрольная, диплом, реферат и т.д.), обратитесь к нашим специалистам. Более 90000 специалистов готовы Вам помочь.
Бесплатные корректировки и доработки. Бесплатная оценка стоимости работы.
Подробнее

Поможем написать работу на аналогичную тему

Получить выполненную работу или консультацию специалиста по вашему учебному проекту
Нужна помощь в написании работы?
Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Пишем статьи РИНЦ, ВАК, Scopus. Помогаем в публикации. Правки вносим бесплатно.

Похожие рефераты: