русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Кластеризация с помощью нейронных сетей


Дата добавления: 2014-11-28; просмотров: 4978; Нарушение авторских прав


 

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

 

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

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

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

· обработка изображение;

· классификация;

· тематический анализ коллекций документов;

· построение репрезентативной выборки.

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

Пример выполнения:

 

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

Для создания нейронной сети со слоем Коханена воспользуемся встроенной в среду MATLAB функцией newc:



 

X=[0 1;0 1];% Задание диапазона изменения элементов

clusters=5;% Задание количество кластеров

points=5;%Задание количество точек в кластере

std_dev=0.01;

P=nngenc(X,clusters,points,std_dev);%Моделирование входных данных

h=newc([0 1; 0 1],5,.1)% создание слоя Коханена

h.trainParam.epochs=50;%Задание количества циклов обучения

h=train(h,P)

w=h.IW{1};

% вывод графиков исходных данных и выявленных центров кластеров

plot(P(1,:),P(2,:),'^r'),grid;

hold on; plot(w(:,1),w(:,2),'ob');

xlabel('p(1)');

ylabel('p(2)');

A=0.6

B=0.5

p=[A;B];% Задание нового входного вектора

plot(A,B,'+k')

 
y=sim(h,p)%Опрос сети

 

Результат работы программы представлен на рис.6.16. Кроме того, его можно увидеть в командном окне:

y = (4,1) 1

Предъявленный вектор отнесен к четвертому кластеру.

Рис. 6.16. Выявленные центры кластеров

 

Рассмотрим применение нейронной сети со слоем Кохонена для кластеризации массива данных из файла clusterdemo.dat, уже использованный нами в п. 5.4. Данный массив имеет размерность 600х3. Используем из данного файла матрицу, состоящую из первых двух столбцов и всех строк. Определим для данного множества 9 кластеров, после чего подадим новый вектор и определим номер кластера, к которому он отнесен:

 



<== предыдущая лекция | следующая лекция ==>
Использование инструмента NNTool для построения нейронной сети | Load clusterdemo.dat


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.026 сек.