Автор работы: Пользователь скрыл имя, 14 Февраля 2012 в 12:55, лабораторная работа
Цель работы: Изучение принципов функционирования нейронной сети Кохонена и её использование в задачах классификации.
Министерство образования и науки РФ
Филиал федерального государственного бюджетного
образовательного учреждения высшего профессионального образования
"Уфимский
государственный нефтяной
(Филиал
ФГБОУ ВПО УГНТУ в г. Салавате)
Системы
искусственного интеллекта
Решение задач классификации с помощью сетей Кохонена
Отчет по лабораторной работе № 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 Что такое уровни разделимости классов?
Различают
три основных уровня разделимости классов:линейная
разделимость, когда классы можно разделить
прямыми линиями (или гиперплоскостями,
если пространство входов имеет размерность
больше двух); нелинейная
разделимость, когда классы разделяютлинии
или гиперплоскости более высокого порядка,
чем линейный;вероятностнаяразделим
Рисунок
10 – Линейно и нелинейно
3 Сеть Кохонена и ее назначение.
Сеть
разработана
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)=0 и все обучающие вектора одинаковы и равны начальному значению весов (рисунок 4,а). По мере обучения β(k) растет, и обучающие вектора расходятся из точки с координатами иприближаются к своим конечным значениям xp , которые достигаются при β(k)=1 (рисунок 4,c). Каждый вектор весов "захватывает" группу или один обучающий вектор и отслеживает его по мере роста β.
Метод выпуклой комбинации дает правильное распределение плотности ядер. При этом в сети неостается "ненужных" необученных нейронов, которые бывают при обычном обучении.
По
мере обучения обучающие векторы
расходятся к своим истинным значениям,
а векторы весов следуют за ними. В итоге
в сети не остается необученных нейронов
и плотность векторов весов соответствует
плотности векторов обучающего множества.
Однако процесс увеличения β требует
многих итераций, и время обучения растягивается.
Это существенный недостаток метода выпуклой
комбинации.
7 В чем заключается обучение сетей Кохонена?
Задача обучения – научить сеть активировать один и тот же нейрон для похожих векторов на входе. Не важно, какой конкретно нейрон будет активирован. Сеть Кохонена учится методом последовательных приближений. Начиная со случайным образом выбранного выходного расположения центров, алгоритм постепенно улучшается для кластеризации обучающих данных.
8
Чем отличается обучение с
учителем от обучения без
Обучение
без учителя — один из способов машинного
обучения, при решении которых испытуемая
система спонтанно обучается выполнять
поставленную задачу, без вмешательства
со стороны экспериментатора. С точки
зрения кибернетики, является одним из
видов кибернетического эксперимента.
Как правило, это пригодно только для задач,
в которых известны описания множества
объектов (обучающей выборки), и требуется
обнаружить внутренние взаимосвязи, зависимости,
закономерности, существующие между объектами.
Обучение без учителя часто противопоставляется обучению
с учителем, когда для каждого обучающего
объекта принудительно задаётся «правильный
ответ», и требуется найти зависимость
между стимулами и реакциями системы
9
Определение нейрона-
Нейроны слоя Кохонена генерируют сигналы NETm. Подобно нейронам большинства сетей выход NETm каждого нейрона Кохонена является суммой взвешенных входов:
Нейрон
Кохонена с максимальным значением
NET является «победителем». Его выход
равен единице, у остальных он
равен нулю.
10
Использование
Основные направления применения самоорганизующихся карт – поиск и анализ взаимосвязей и закономерностей во входных данных:
11
Чем отличается работа сети
в режиме аккредитации от
Обычная сеть Кохонена работает в режиме аккредитации. Это означает, что активируется единственный нейрон Кохонена с максимальным значением выхода.Можно не затормаживать остальные нейроны слоя Кохонена, а пронормировать выходные сигналы, например, функцией
В
этом случае сумма всех выходов слоя
равна единице и можно
12
Достоинства и недостатки
Информация о работе Решение задач классификации с помощью сетей Кохонена