Решение задач классификации с помощью сетей Кохонена

Автор работы: Пользователь скрыл имя, 14 Февраля 2012 в 12:55, лабораторная работа

Краткое описание

Цель работы: Изучение принципов функционирования нейронной сети Кохонена и её использование в задачах классификации.

Содержимое работы - 1 файл

Лаба СИИ №4 2003.doc

— 478.50 Кб (Скачать файл)

   Министерство  образования и науки РФ

   Филиал  федерального государственного бюджетного

   образовательного  учреждения высшего профессионального  образования

   "Уфимский  государственный нефтяной технический  университет" г. Салавате

   (Филиал  ФГБОУ ВПО УГНТУ в г. Салавате) 
 
 
 

Системы искусственного интеллекта 
 
 
 

Решение задач классификации с помощью  сетей Кохонена

Отчет по лабораторной работе № 4

ЭАПП–220301.65–04.02.14 ЛР 
 
 
 
 

Исполнитель:

студенты гр.

                                                            

   
Руководитель:

доцент

 
 
 
 
 
 

     Салават 2011 

Тема: «Решение задач классификации с помощью сетей Кохонена»

        Цель работы: Изучение принципов  функционирования нейронной сети  Кохонена и её использование  в задачах классификации. 

        Экспериментальная часть

       1 С помощью программного пакета Matlab и выполнили данную лабораторную работу. Код программы:

     x = [0 1; 0 1]

     clusters = 12

     Points = 10

     Std_dev = 0.2

     P = nngenc (x, clusters, Points, Std_dev)

     h = newc ([ 0 1;0 1], 5,.1)

     h.trainParam.epochs=500

     h = init (h)

     h = train (h, P)

     w= h.IW{1}

     plot (P(1,=) , P(2,=) , '+r')

     plot (P(1,:) , P(2,:) , '+r')

     hold on

     plot (w(:,1),w(:,2), 'ob')

     xlabel ('p(1)')

     ylabel ('p(2)')

     p = [0; 0.2]

     y= sim (h,p)

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

        3 Сопоставить результаты, полученные  при изменении количества кластеров,  точек в кластерах, нейроны  в сети, эпох обучения.

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

                   

Рисунок 1 – Окно программы

                   

                   Рисунок 2 – Исходные данные  и выделенные объекты 

                                     

Рисунок 1 – Окно программы

  

           Рисунок 4- измененные данные и  выявленные центры кластеров 
 

     Ответы  на контрольные вопросы: 

     1 Задача классификации.

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

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

     2 Что такое уровни разделимости  классов?

     Различают три основных уровня разделимости классов:линейная разделимость, когда классы можно разделить прямыми линиями (или гиперплоскостями, если пространство входов имеет размерность больше двух); нелинейная разделимость, когда классы разделяютлинии или гиперплоскости более высокого порядка, чем линейный;вероятностнаяразделимостьхарактеризуется случаем, когда классы пересекаются (рисунок 1). 

     

     Рисунок 10 – Линейно и нелинейно разделимые классы 
 

     3 Сеть Кохонена и ее назначение.

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

     4 Алгоритмы обучения сети Кохонена.

     Алгоритм  обучениясетиКохонена.

     а) Весовым коэффициентам сети присваиваются малые случайные значения. Общее число синаптических весов - M*N.

      б) Предъявление сети вектора входныхпараметровxp.

     в) Расчет выходных значений NETmнейроновсети, выбор нейрона для которого NETmмаксимален.

     5) Коррекция весов выигравшего нейрона

     wij(k +1)=wij(k)+α(xi(k)-wij(k)),

     где α- скорость обучения (положительное число, меньше единицы). Часто в алгоритмах α уменьшается с течением времени, т.е. α= α(k) – монотонно убывающая функция.

     Веса  корректируются так, что вектор весов  приближается к текущему входному вектору. Скорость обучения управляет быстротой приближения ядра класса (вектора весов) к входному вектору xp.

     Алгоритм  выполняется до тех пор, пока веса не перестанут меняться. 

     5 Какие функции выполняет входной  слой в многослойной сети?

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

     6 Метод выпуклой комбинации.

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

     1. Присваивание всем весам начальное значение: ,n – количество параметров входного вектора. Вектора весов получают длину, равную единице, как требует нормировка.

     2.  Преобразование входного вектора параметров , где k – время обучения, β(k)–монотонно возрастающая функция, изменяющаяся от 0 до 1 по мере обучения. 

     3. Коррекция весоввыигравшего нейрона

     wij(k+1)=wij(k)+α(

(k)-wij(k)),

     В начале обучения β(k)=0 и все обучающие вектора одинаковы и равны начальному значению весов (рисунок 4,а). По мере обучения β(k) растет, и обучающие вектора расходятся из точки с координатами иприближаются к своим конечным значениям xp , которые достигаются при β(k)=1  (рисунок 4,c). Каждый вектор весов "захватывает" группу или один обучающий вектор и отслеживает его по мере роста β.

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

       
 
 

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

     7 В чем заключается обучение  сетей Кохонена?

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

     8 Чем отличается обучение с  учителем от обучения без учителя?

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

     9 Определение нейрона-победителя.

     Нейроны слоя Кохонена генерируют сигналы NETm. Подобно нейронам большинства сетей выход NETm каждого нейрона Кохонена является суммой взвешенных входов:

     

.

     Нейрон  Кохонена с максимальным значением NET является «победителем». Его выход  равен единице, у остальных он равен нулю. 

     10 Использование самоорганизующихся  сетей. 

     Основные  направления применения самоорганизующихся карт – поиск и анализ взаимосвязей и закономерностей во входных  данных:

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

     11 Чем отличается работа сети  в режиме аккредитации от режима  интерполяции?

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

     

.

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

     12 Достоинства и недостатки данного  типа нейронной сети.

Информация о работе Решение задач классификации с помощью сетей Кохонена