Автор работы: Пользователь скрыл имя, 07 Ноября 2011 в 23:43, курсовая работа
ИНС представляют собой систему соединённых и взаимодействующих между собой простых процессоров (искусственных нейронов). Такие процессоры обычно довольно просты, особенно в сравнении с процессорами, используемыми в персональных компьютерах. Каждый процессор подобной сети имеет дело только с сигналами, которые он периодически получает, и сигналами, которые он периодически посылает другим процессорам. И тем не менее, будучи соединёнными в достаточно большую сеть с управляемым взаимодействием, такие локально простые процессоры вместе способны выполнять довольно сложные задачи.
Результатом такого изменения окрестностей является то, что изначально довольно большие участки сети "перетягиваются" - и притом заметно - в сторону обучающих примеров. Сеть формирует грубую структуру топологического порядка, при которой похожие наблюдения активируют группы близко лежащих нейронов на топологической карте. С каждой новой эпохой скорость обучения и размер окрестности уменьшаются, тем самым внутри участков карты выявляются все более тонкие различия, что в конце концов приводит к тонкой настройке каждого нейрона. Часто обучение умышленно разбивают на две фазы: более короткую, с большой скоростью обучения и большими окрестностями, и более длинную с малой скоростью обучения и нулевыми или почти нулевыми окрестностями.
После того, как сеть обучена распознаванию структуры данных, ее можно использовать как средство визуализации при анализе данных. С помощью данных, выводимых в окне Частоты выигрышей - Win Frequencies , (где для каждого нейрона подсчитывается, сколько раз он выигрывал при обработке обучающих примеров), можно определить, разбивается ли карта на отдельные кластеры. Можно также обрабатывать отдельные наблюдения и смотреть, как при этом меняется топологическая карта, - это позволяет понять, имеют ли кластеры какой-то содержательный смысл (как правило при этом приходится возвращаться к содержательному смыслу задачи, чтобы установить, как соотносятся друг с другом кластеры наблюдений). После того, как кластеры выявлены, нейроны топологической карты помечаются содержательными по смыслу метками (в некоторых случаях помечены могут быть и отдельные наблюдения). После того, как топологическая карта в описанном здесь виде построена, на вход сети можно подавать новые наблюдения. Если выигравший при этом нейрон был ранее помечен именем класса, то сеть осуществляет классификацию. В противном случае считается, что сеть не приняла никакого решения.
При решении задач классификации в сетях Кохонена используется так называемый порог доступа. Ввиду того, что в такой сети уровень активации нейрона есть расстояние от него до входного примера, порог доступа играет роль максимального расстояния, на котором происходит распознавание. Если уровень активации выигравшего нейрона превышает это пороговое значение, то сеть считается не принявшей никакого решения. Поэтому, когда все нейроны помечены, а пороги установлены на нужном уровне, сеть Кохонена может служить как детектор новых явлений (она сообщает о непринятии решения только в том случае, если поданный ей на вход случай значительно отличается от всех радиальных элементов).
Идея сети Кохонена возникла по аналогии с некоторыми известными свойствами человеческого мозга. Кора головного мозга представляет собой большой плоский лист (площадью около 0.5 кв.м.; чтобы поместиться в черепе, она свернута складками) с известными топологическими свойствами (например, участок, ответственный за кисть руки, примыкает к участку, ответственному за движения всей руки, и таким образом все изображение человеческого тела непрерывно отображается на эту двумерную поверхность).
Существует
два класса нейронных сетей: сети,
обучаемые с учителем и без
учителя. Нейронные сети, обучаемые
с учителем, представляют собой средство
для извлечения из набора данных информации
о взаимосвязях между входами
и выходами сети. Т.е. сеть обучается
устанавливать взаимосвязи
Главное отличие нейронных сетей, обучаемых без учителя, от нейронных сетей, обучаемых с учителем, заключается в том, что при построении самоорганизующихся карт обучающие данные содержат только значения входных переменных. Т.е. сеть Кохонена учится понимать саму структуру данных. Одно из возможных применений сетей Кохонена – разведочный анализ данных (распознавание и установление близости кластеров). Другая возможная область применения – обнаружение новых явлений. Сеть Кохонена распознает кластеры в обучающих данных и относит все данные к тем или иным кластерам. Если после этого сеть встретится с наблюдениями, не похожими ни на один из известных образцов, то она не сможет классифицировать такой набор и, как следствие, выявит его новизну. Таким образом, построение сетей Кохонена в процессе анализа данных позволяет решить следующие основные задачи:
1.
кластеризация данных (на базе
информации, выводимой в окне
Частоты выигрышей, где для
каждого нейрона
2.
визуализация данных (наличие взаимосвязей
становится очевидным в
3. снижение размерности данных;
4.
обнаружение новых
Оценка результатов, полученных с помощью сетей Кохонена, проводится по трем основным аспектам:
1.
количество полученных
2.
качество кластеризации (
3.
устойчивость результатов
• будет ли получена сходная топологическая карта, если для ее обучения использовать другие данные?
• что произойдет, если к данным добавить помехи или, наоборот, уменьшить их?
• что произойдет, если добавить или исключить выбросы?
Оценка
результатов, полученных с помощью
сетей Кохонена, представляет собой
основу для выбора карты, наилучшим
образом соответствующей
Обучение без учителя
Любая нейронная сеть прежде всего должна быть обучена. Процесс обучения заключается в подстройке внутренних параметров нейросети под конкретную задачу.
При обучении «классической» многослойной нейросети на вход подаются данные или индикаторы, а выход нейросети сравнивается с эталонным значением (с так называемым «учителем»). Разность этих значений называется ошибкой нейронной сети, которая и минимизируется в процессе обучения. Таким образом, обычные нейронные сети выявляют закономерности между входными данными и прогнозируемой величиной. Если такие закономерности есть, то нейросеть их выделит и прогноз будет успешным.
В процессе обучения карт Кохонена на входы также подаются данные и индикаторы, но при этом сеть подстраиваться под закономерности во входных данных, а не под эталонное значение выхода. Такое обучение называется обучением «без учителя». Обучение при этом заключается не в минимизации ошибки, а в подстройке внутренних параметров нейросети (весов) для большего совпадения с входными данными. После обучения такая нейросеть визуально отображает многомерные входные данные на плоскости нейронов. Имея такое представление данных, можно очень наглядно увидеть наличие или отсутствие взаимосвязи во входных данных.
Для большего удобства визуального представления нейроны карты Кохонена располагают в виде двухмерной матрицы и раскрашивают эту матрицу в зависимости от анализируемых параметров нейронов.
Порядок работы с картами Кохонена
Как и при работе с обычными нейросетями, работа с картами Кохонена складывается из нескольких последовательных этапов. Первым из них является этап определения состава входов.
Для хорошего обучения обычной нейросети, нужно выбрать такое множество входов, которое наиболее сильно влияет на выходные (прогнозируемые) значения. Если мы угадали, и входы действительно влияют на выходы, то нейросеть будет работать и давать отличные прогнозы. Однако, подобрать правильные входы очень сложно. Обычно это делается методом проб и ошибок, т. е. простым перебором различных комбинаций индикаторов и данных. Об этих и других тонкостях работы с такими нейросетями было рассказано в статье «Нейросети: работа над ошибками» в предыдущем номере ВС.
Входы нейросети, обучаемой «без учителя», определяются другим образом и перед такой нейросетью ставится иная цель — выявление закономерностей между любыми входными данными и индикаторами, которые и подаются на вход карты. Архитектура карт Кохонена, в отличие от многослойной нейросети, очень проста и представляет собой один единственный слой нейронов, который организован в виде двухмерной матрицы. Пользователю необходимо определить лишь размер этой матрицы т. е. количество нейронов по ширине и количество нейронов по высоте.
Карты
Кохонена дают визуальное отображение
многомерных входных данных. У
карты Кохонена анализируются не
только выходы нейронов (как в случае
обычной нейросети), но также веса
нейронов и распределения примеров
по нейронам. Так как карта Кохонена
организована в виде двухмерной решетки,
в узлах которой располагаются
нейроны, то ее очень удобно отображать
на плоскости в виде «карты» с
раскраской зависящей от величины анализируемого
параметра нейрона. Именно за схожесть
изображения этой парадигмы нейросети
с топографическими картами они получили
название карт Кохонена.
Как
устроена карта Кохонена
Самоорганизующиеся карты Кохонена являются одной из парадигм нейронных сетей. Принципы работы и обучения такой нейросети были сформулированы финским ученым Тойво Кохоненом в 1982 году. Основной идей Т. Кохонена является введение в правило обучения нейрона информации о его расположении. По Кохонену нейросеть имеет один входной слой, с числом нейронов равным числу входов и единственный скрытый (выходной) слой нейронов, образующий одномерную (линия) или двухмерную (прямоугольник) решётку. По аналогии с топографическими картами, такую нейросеть также называют картой Кохонена.
Для
этой парадигмы обучение проводится
без «учителя», т. е. в процессе обучения
нет сравнивания выходов
В процессе обучения на вход такой нейросети последовательно подаются обучающие примеры. После подачи очередного примера определяется наиболее схожий нейрон, т. е. нейрон, у которого скалярное произведение весов и поданного на вход вектора минимально. Такой нейрон объявляется победителем и будет являться центром при подстройке весов у соседних нейронов. Правило обучения, предложенное Кохоненом, предполагает соревновательное обучение с учетом расстояния нейронов от «нейрона победителя» и записывается в виде:
где
-
функция соседства,
Для нейрона победителя функция соседства равна 1 и затем плавно (по линейному или экспоненциальному закону) уменьшается при удалении от него. Таким образом в процессе обучения, подстройка весов происходит не только в одном нейроне — нейроне победителе, но и в его окрестностях.
После окончания процесса обучения карта Кохонена классифицирует входные примеры на группы схожих. Вся совокупность нейронов в выходном слое точно моделирует структуру распределения обучающих примеров в многомерном пространстве. Уникальность технологии самоорганизующихся карт состоит в преобразовании N-го пространства в двух или одномерное. Единственное, что надо помнить — такое преобразование сопряжено с некоторыми ошибками. Две точки, близко лежащие на карте Кохонена, будут близки и в N-ном входном пространстве, но не наоборот.