Нейрокомпьютерные вычисления на основе самоорганизующейся карты Кохонена
История возникновения, виды, свойства и обучение искусственных нейронных сетей. Технология самообучения и задачи, решаемые при помощи нейронной сети Кохонена. Ограничения, накладываемые на компьютерную имитационную модель, ее схемы в среде MatLab.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 12.01.2012 |
Размер файла | 2,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
2.1 Задачи, решаемые при помощи нейронной сети Кохонена
Сети, называемые картами Кохонена, - это одна из разновидностей нейронных сетей, однако они принципиально отличаются от рассмотренных сетей в 1-ой главе, поскольку используют неконтролируемое обучение. Напомним, что при таком обучении обучающее множество состоит лишь из значений входных переменных, в процессе обучения нет сравнивания выходов нейронов с эталонными значениями. Можно сказать, что такая сеть учится понимать структуру данных.
Идея сети Кохонена принадлежит финскому ученому Тойво Кохонену (1982 год). Основной принцип работы сетей - введение в правило обучения нейрона информации относительно его расположения.
В основе идеи сети Кохонена лежит аналогия со свойствами человеческого мозга. Кора головного мозга человека представляет собой плоский лист и свернута складками. Таким образом, можно сказать, что она обладает определенными топологическими свойствами (участки, ответственные за близкие части тела, примыкают друг к другу и все изображение человеческого тела отображается на эту двумерную поверхность).
Самоорганизующиеся карты могут использоваться для решения таких задач, как моделирование, прогнозирование, поиск закономерностей в больших массивах данных, выявление наборов независимых признаков и сжатие информации.
Наиболее распространенное применение сетей Кохонена - решение задачи классификации без учителя, т.е. кластеризации.
Напомним, что при такой постановке задачи нам дан набор объектов, каждому из которых сопоставлена строка таблицы (вектор значений признаков). Требуется разбить исходное множество на классы, т.е. для каждого объекта найти класс, к которому он принадлежит. В результате получения новой информации о классах возможна коррекция существующих правил классификации объектов.
Вот два из распространенных применений карт Кохонена: разведочный анализ данных и обнаружение новых явлений [39].
Разведочный анализ данных
Сеть Кохонена способна распознавать кластеры в данных, а также устанавливать близость классов. Таким образом, пользователь может улучшить свое понимание структуры данных, чтобы затем уточнить нейросетевую модель. Если в данных распознаны классы, то их можно обозначить, после чего сеть сможет решать задачи классификации. Сети Кохонена можно использовать и в тех задачах классификации, где классы уже заданы, - тогда преимущество будет в том, что сеть сможет выявить сходство между различными классами.
Обнаружение новых явлений
Сеть Кохонена распознает кластеры в обучающих данных и относит все данные к тем или иным кластерам. Если после этого сеть встретится с набором данных, непохожим ни на один из известных образцов, то она не сможет классифицировать такой набор и тем самым выявит его новизну.
Карты Кохонена применяются в основном, для двух целей. Первая из них - наглядное упорядочивание многопараметрической информации. На практике обычно используются одномерные и двумерные карты. Кластеры, задаваемые узлами карты, содержат группы в некотором смысле похожих наблюдений, которым может быть приписан групповой семантический смысл. Одним из новых эффективных применений сети Кохонена является построение тематической карты электронных сообщений в глобальных компьютерных сетях. При помощи такой карты пользователь получает возможность свободной навигации в бесконечном потоке сообщений, в соответствии с индивидуальным кругом интересов Электронный адрес интерактивной карты Кохонена WEBSOM с сообщениями по тематике нейронных сетей, разработанной в университете в Хельсинки группой самого Т.Кохонена, в сети Интернет: http://websom.hut.fi. В применении к моделированию технических систем, карты Кохонена могут использоваться для выявления различий в режимах поведения системы, при этом могут выявляться аномальные режимы. Важно, что при этом могут быть обнаружены неожиданные скопления близких данных, последующая интерпретация которых пользователем может привести к получению нового знания об исследуемой системе.
Вторая группа технических применений связана с предобработкой данных. Карта Кохонена группирует близкие входные сигналы X, а требуемая функция Y=G(X) строится на основе применения обычной нейросети прямого распространения (например, многослойного персептрона или линейной звезды Гроссберга) к выходам нейронов Кохонена. Такая гибридная архитектура была предложена Р. Хехт-Нильсеном [7,8], она получила название сети встречного распространения. Нейроны слоя Кохонена обучаются без учителя, на основе самоорганизации, а нейроны распознающих слоев адаптируются с учителем итерационными методами. При использовании линейных выходных нейронов значения их весов могут быть получены безитерационно, непосредственным вычислением псевдо-обратной матрицы по Муру-Пенроузу.
Сеть встречного распространения дает кусочно-постоянное представление модели Y=G(X), поскольку при вариации вектора X в пределах одного кластера на слое соревнующихся нейронов Кохонена возбуждается один и тот же нейрон-победитель. В случае сильно зашумленных данных, такое представление обладает хорошими регуляризирующими свойствами. При этом процедура обучения сети встречного распространения заметно быстрее, чем, например, обучение многослойного персептрона стандартным методом обратного распространения ошибок [9].
Другой альтернативой традиционным многослойным моделям является переход к нейросетям простой структуры, но с усложненными процессорными элементами. В частности, можно рассмотреть нейроны высоких порядков, активирующим сигналом для которых является взвешенная сумма входов, их попарных произведений, произведений троек и т.д., вплоть до порядка k.
Каждый процессорный элемент k-го порядка способен выполнить не только линейное разделение областей в пространстве входов, но также и произвольное разделение, задаваемое полилинейной функцией нескольких аргументов. Семейство решающих правил, определяемых нелинейным нейроном значительно богаче, чем множество линейно разделимых функций. На Рис. 9 приведен пример решающего правила, задаваемого одним нейроном второго порядка, для классической линейно неразделимой задачи "исключающее ИЛИ".
Рис.9. Решающее правило для задачи "исключающее ИЛИ".
Важным достоинством нейронов высокого порядка является возможность строить нейросетевые модели без скрытых слоев, воспроизводящие широкий класс функций Нужно заметить, что класс нейросетей без скрытых слоев не является полным в смысле возможности приближения произвольной функции. Так, для представления решающих правил для двух переменных все многообразие функций сводится лишь к Паде (1,1)-приближениям (гиперболам).. Такие нейроархитектуры не требуют длительного итерационного обучения, оптимальные веса даются решением уравнений регрессии. Другой отличительной чертой является возможность эффективной аппаратной (электронной или оптической) реализации корреляций высокого порядка. Так, например, существуют нелинейные среды, оптические свойства которых определяются полиномиальной зависимостью от амплитуды электрического поля световой волны. Потенциально, устройства, основанные на таких средах, могут обеспечить высокие скорости вычислений со свойственной оптическим компьютерам супер-параллельностью вычислений.
2.2 Технология самообучения нейронной сети Кохонена
Сеть Кохонена, в отличие от многослойной нейронной сети, очень проста; она представляет собой два слоя: входной и выходной. Ее также называют самоорганизующей картой. Элементы карты располагаются в некотором пространстве, как правило, двумерном. Сеть Кохонена изображена на рис. 10.
Рис. 10. Сеть Кохонена.
Сеть Кохонена обучается методом последовательных приближений. В процессе обучения таких сетей на входы подаются данные, но сеть при этом подстраивается не под эталонное значение выхода, а под закономерности во входных данных. Начинается обучение с выбранного случайным образом выходного расположения центров.
В процессе последовательной подачи на вход сети обучающих примеров определяется наиболее схожий нейрон (тот, у которого скалярное произведение весов и поданного на вход вектора минимально). Этот нейрон объявляется победителем и является центром при подстройке весов у соседних нейронов. Такое правило обучения предполагает "соревновательное" обучение с учетом расстояния нейронов от "нейрона-победителя".
Обучение при этом заключается не в минимизации ошибки, а в подстройке весов (внутренних параметров нейронной сети) для наибольшего совпадения с входными данными.
Основной итерационный алгоритм Кохонена последовательно проходит ряд эпох, на каждой из которых обрабатывается один пример из обучающей выборки. Входные сигналы последовательно предъявляются сети, при этом желаемые выходные сигналы не определяются. После предъявления достаточного числа входных векторов синаптические веса сети становятся способны определить кластеры. Веса организуются так, что топологически близкие узлы чувствительны к похожим входным сигналам.
В результате работы алгоритма центр кластера устанавливается в определенной позиции, удовлетворительным образом кластеризующей примеры, для которых данный нейрон является "победителем". В результате обучения сети необходимо определить меру соседства нейронов, т.е. окрестность нейрона-победителя.
Окрестность представляет собой несколько нейронов, которые окружают нейрон-победитель [39].
Сначала к окрестности принадлежит большое число нейронов, далее ее размер постепенно уменьшается. Сеть формирует топологическую структуру, в которой похожие примеры образуют группы примеров, близко находящиеся на топологической карте.
Полученную карту можно использовать как средство визуализации при анализе данных. В результате обучения карта Кохонена классифицирует входные примеры на кластеры (группы схожих примеров) и визуально отображает многомерные входные данные на плоскости нейронов.
Уникальность метода самоорганизующихся карт состоит в преобразовании n-мерного пространства в двухмерное. Применение двухмерных сеток связано с тем, что существует проблема отображения пространственных структур большей размерности.
Имея такое представление данных, можно визуально определить наличие или отсутствие взаимосвязи во входных данных.
Нейроны карты Кохонена располагают в виде двухмерной матрицы, раскрашивают эту матрицу в зависимости от анализируемых параметров нейронов. На рис. 11 приведен пример карты Кохонена
Рис. 11. Пример карты Кохонена.
Что же означает ее раскраска? На рис. 11.1 приведена раскраска карты, а точнее, ее i-го признака (показателя pr_a), в трехмерном представлении. Как мы видим, темно-синие участки на карте соответствуют наименьшим значениям показателя, красные - самым высоким.
Рис. 11.1. Раскраска i-го признака в трехмерном пространстве
Теперь, возвращаясь к рисунку рис. 11 мы можем сказать, какие объекты имеют наибольшие значения рассматриваемого показателя (группа объектов, обозначенная красным цветом), а какие - наименьшие значения (группа объектов, обозначенная синим цветом).
Таким образом, карты Кохонена (как и географические карты) можно отображать:
· в двухмерном виде, тогда карта раскрашивается в соответствии с уровнем выхода нейрона;
· в трехмерном виде.
В результате работы алгоритма получаем такие карты:
· карта входов нейронов;
· карта выходов нейронов;
· специальные карты.
Координаты каждой карты определяют положение одного нейрона. Так, координаты [15:30] определяют нейрон, который находится на пересечении 15-го столбца с 30-м рядом в матрице нейронов. Рассмотрим, что же представляют собой эти карты.
Карта входов нейронов.
Веса нейронов подстраиваются под значения входных переменных и отображают их внутреннюю структуру. Для каждого входа рисуется своя карта, раскрашенная в соответствии со значением конкретного веса нейрона.
При анализе данных используют несколько карт входов.
На одной из карт выделяют область определенного цвета - это означает, что соответствующие входные примеры имеют приблизительно одинаковое значение соответствующего входа. Цветовое распределение нейронов из этой области анализируется на других картах для определения схожих или отличительных характеристик. Пример рассмотренных карт входов будет приведен ниже (в параграфе 2.3).
Карта выходов нейронов.
На карту выходов нейронов проецируется взаимное расположение исследуемых входных данных. Нейроны с одинаковыми значениями выходов образуют кластеры - замкнутые области на карте, которые включают нейроны с одинаковыми значениями выходов.
Специальные карты.
Это карта кластеров, матрица расстояний, матрица плотности попадания и другие карты, которые характеризуют кластеры, полученные в результате обучения сети Кохонена.
Важно понимать, что между всеми рассмотренными картами существует взаимосвязь - все они являются разными раскрасками одних и тех же нейронов. Каждый пример из обучающей выборки имеет одно и то же расположение на всех картах.
2.3 Пример классификации на основе нейронной сети Кохонена
Программное обеспечение, позволяющее работать с картами Кохонена, сейчас представлено множеством инструментов. Это могут быть как инструменты, включающие только реализацию метода самоорганизующихся карт, так и нейропакеты с целым набором структур нейронных сетей, среди которых - и карты Кохонена; также данный метод реализован в некоторых универсальных инструментах анализа данных.
К инструментарию, включающему реализацию метода карт Кохонена, относятся SoMine, Statistica, NeuroShell, NeuroScalp, Deductor и множество других. Для решения задачи будем использовать аналитический пакет Deductor.
Пусть имеется база данных коммерческих банков с показателями деятельности за текущий период. Необходимо провести их кластеризацию, т.е. выделить однородные группы банков на основе показателей из базы данных, всего показателей - 21.
Исходная таблица находится в файле "banks.xls". Она содержит показатели деятельности коммерческих банков за отчетный период.
Сначала импортируем данные из xls-файла в среду аналитического пакета.
На первом шаге мастера запускаем мастер обработки и выбираем из списка метод обработки "Карта Кохонена". Далее следует настроить назначения столбцов, т.е. для каждого столбца выбрать одно из назначений: входное, выходное, не используется и информационное. Укажем всем столбцам, соответствующим показателям деятельности банков, назначение "Входной". "Выходной" не назначаем.
Следующий шаг предлагает разбить исходное множество на обучающее, тестовое и валидационное. По умолчанию,программа предлагает разбить множество на обучающее - 95% и тестовое - 5%.
Эти шаги аналогичны шагам в мастере обработки для нейронных сетей, описанным в предыдущем параграфе.
На шаге № 5, изображенном на рис. 12 предлагается настроить параметры карты: количество ячеек по Х и по Y их форму (шестиугольную или четырехугольную).
Рис. 12. Шаг № 5 "Настройка параметров карты Кохонена"
На шестом шаге "Настройка параметров остановки обучения", проиллюстрированном на рис. 12.1, устанавливаем параметры остановки обучения и устанавливаем эпоху, по достижению которой обучение будет прекращено.
Рис. 12.1. Шаг № 6 "Настройка параметров остановки обучения"
На седьмом шаге, представленном на рис. 12.2, настраиваются другие параметры обучения: способ начальной инициализации, тип функции соседства. Возможны два варианта кластеризации: автоматическое определение числа кластеров с соответствующим уровнем значимости и фиксированное количество кластеров (определяется пользователем). Поскольку нам неизвестно количество кластеров, выберем автоматическое определение их количества.
Рис. 12.2. Шаг № 7 "Настройка параметров остановки обучения".
На восьмом шаге запускаем процесс обучения сети - необходимо нажать на кнопку "Пуск" и дождаться окончания процесса обучения. Во время обучения можем наблюдать изменение количества распознанных примеров и текущие значения ошибок. Этот процесс аналогичен тому, что мы рассматривали при обучении нейронных сетей в предыдущей лекции.
По окончании обучения в списке визуализаторов выберем "Карту Кохонена" и визуализатор "Что-если". На последнем шаге настраиваем отображения карты Кохонена, этот шаг проиллюстрирован на рис. 12.3.
Рис. 12.3. "Шаг № 10 Настройка отображений карты Кохонена".
Укажем отображения всех входных, выходных столбцов, кластеров, а также поставим флажок "Границы кластеров" для четкого отображения границ.
Карты входов
При анализе карт входов рекомендуют использовать сразу несколько карт. Исследуем фрагмент карты, состоящий из карт трех входов, который приведен на рис. 12.4
Рис. 12.4. Карты трех входов
На одной из карт выделяем область с наибольшими значениями показателя. Далее имеет смысл изучить эти же нейроны на других картах.
На первой карте наибольшие значения имеют объекты, расположенные в правом нижнем углу. Рассматривая одновременно три карты, мы можем сказать, что эти же объекты имеют наибольшие значения показателя, изображенного на третьей карте. Также по раскраске первой и третьей карты можно сделать вывод, что существует взаимосвязь между этими показателями.
Также мы можем определить, например, такую характеристику: кластер, расположенный в правом верхнем углу, характеризуется низкими значениями показателей du (депозиты юридических лиц) и akt (активы банка) и высокими значениями показателей pr_a (прибыльность активов).
Эта информация позволяет так охарактеризовать кластер, находящийся в правом верхнем углу: это банки с небольшими активами, небольшими привлеченными депозитными средствами от юридических лиц, но с наиболее прибыльными активами, т.е. это группа небольших, но наиболее прибыльных банков.
Это лишь фрагмент вывода, который можно сделать, исследуя карту.
На следующем рисунке (рис. 12.5) приведена иллюстрация карт входов и выходов, последняя - эта карта кластеров. Здесь мы видим несколько карт входов (показателей деятельности банков) и сформированные кластеры, каждый из которых выделен отдельным цветом.
Рис. 12.5. Карты входов и выходов.
Для нахождения конкретного объекта на карте необходимо нажать правой кнопкой мыши на исследуемом объекте и выбрать пункт "Найти ячейку на карте". Выполнение этой процедуры показано на рис. 12.6. В результате мы можем видеть как сам объект, так и значение того измерения, которое мы просматриваем. Таким образом, мы можем оценить положение анализируемого объекта, а также сравнить его с другими объектами.
Рис. 12.6. Ячейка на карте.
В результате применения самоорганизующихся карт многомерное пространство входных факторов было представлено в двухмерном виде, в котором его достаточно удобно анализировать.
Банки были классифицированы на 7 групп, для каждой из которых возможно определение конкретных характеристик, исходя из раскраски соответствующих показателей.
Выводы
В этой главе мы подробно рассмотрели такую парадигму нейронных сетей как карты Кохонена. Основное отличие этих сетей от других моделей состоит в наглядности и удобстве использования. Эти сети позволяют упростить многомерную структуру, их можно считать одним из методов проецирования многомерного пространства в пространство с более низкой размерностью. Интенсивность цвета в определенной точке карты определяется данными, которые туда попали: ячейки с минимальными значениями изображаются темно-синим цветом, ячейки с максимальными значениями - красным.
Другое принципиальное отличие карт Кохонена от других моделей нейронных сетей - иной подход к обучению, а именно - неуправляемое или неконтролируемое обучение. Этот тип обучения позволяет данным обучающей выборки содержать значения только входных переменных. Сеть Кохонена учится понимать саму структуру данных и решает задачи кластеризации.
Размещено на Allbest.ru
Подобные документы
Сущность, структура, алгоритм функционирования самообучающихся карт. Начальная инициализация и обучение карты. Сущность и задачи кластеризации. Создание нейронной сети со слоем Кохонена при помощи встроенной в среды Matlab. Отличия сети Кохонена от SOM.
лабораторная работа [36,1 K], добавлен 05.10.2010Понятие искусственного нейрона и искусственных нейронных сетей. Сущность процесса обучения нейронной сети и аппроксимации функции. Смысл алгоритма обучения с учителем. Построение и обучение нейронной сети для аппроксимации функции в среде Matlab.
лабораторная работа [1,1 M], добавлен 05.10.2010Сущность и понятие кластеризации, ее цель, задачи, алгоритмы; использование искусственных нейронных сетей для кластеризации данных. Сеть Кохонена, самоорганизующиеся нейронные сети: структура, архитектура; моделирование кластеризации данных в MATLAB NNT.
дипломная работа [3,1 M], добавлен 21.03.2011Простейшая сеть, состоящая из группы нейронов, образующих слой. Свойства нейрокомпьютеров (компьютеров на основе нейронных сетей), привлекательных с точки зрения их практического использования. Модели нейронных сетей. Персептрон и сеть Кохонена.
реферат [162,9 K], добавлен 30.09.2013Возможности программ моделирования нейронных сетей. Виды нейросетей: персептроны, сети Кохонена, сети радиальных базисных функций. Генетический алгоритм, его применение для оптимизации нейросетей. Система моделирования нейронных сетей Trajan 2.0.
дипломная работа [2,3 M], добавлен 13.10.2015История возникновения, примеры использования и основные виды искусственных нейронных сетей. Анализ задач, решаемых при помощи Персептрона Розенблатта, создание схемы имитационной модели в среде Delphi. Исходные коды компьютерной программы Perseptron.
дипломная работа [933,1 K], добавлен 18.12.2011Построение векторной модели нейронной сети. Проектирование и разработка поискового механизма, реализующего поиск в полнотекстовой базе данных средствами нейронных сетей Кохонена с применением модифицированного алгоритма расширяющегося нейронного газа.
курсовая работа [949,0 K], добавлен 18.07.2014Математическая модель искусственной нейронной сети. Структура многослойного персептрона. Обучение без учителя, методом соревнования. Правило коррекции по ошибке. Метод Хэбба. Генетический алгоритм. Применение нейронных сетей для синтеза регуляторов.
дипломная работа [1,5 M], добавлен 17.09.2013Математическая модель нейронной сети. Однослойный и многослойный персептрон, рекуррентные сети. Обучение нейронных сетей с учителем и без него. Алгоритм обратного распространения ошибки. Подготовка данных, схема системы сети с динамическим объектом.
дипломная работа [2,6 M], добавлен 23.09.2013Общие сведения о принципах построения нейронных сетей. Искусственные нейронные системы. Математическая модель нейрона. Классификация нейронных сетей. Правила обучения Хэбба, Розенблатта и Видроу-Хоффа. Алгоритм обратного распространения ошибки.
дипломная работа [814,6 K], добавлен 29.09.2014