Сети – классификаторы входных векторов

neWLVQ Нейронная сеть LVQ

Синтаксис:

net = newlvq(PR,S1,PC,LR,LF)

Описание:

Нейронные сети-классификаторы входных векторов, или сети LVQ, в отличие от самоорганизующихся сетей выполняют не только кластеризацию, но и классификацию входных векторов.

Функция net = newlvq(PR, s1, PC, lr, lf) формирует сеть LVQ и имеет следующие входные и выходные аргументы.

Входные аргументы:

PR – массив размера R´2 из Q минимальных и максимальных значений вектора входа;

s1 – число нейронов скрытого слоя;

PC – вектор размера 1´S2, указывающий распределение по долям векторов каждого класса;

lr – параметр скорости настройки, по умолчанию 0.01;

lf – функция настройки, по умолчанию learnlv2.

Выходные аргументы:

net – объект класса network object, определяющий сеть-классификатор LVQ.

Свойства сети:

Сеть LVQ – это двухслойная сеть. Первый слой использует функции взвешивания negdist, накопления netsum и активации compet. Второй слой использует функции взвешивания dotprodt, накопления netsum и активации purelin. Слои не имеют смещений. Веса первого слоя инициализируются с помощью функции midpoint; веса второго слоя устанавливаются так, чтобы каждому нейрону на выходе соответствовал единственный нейрон скрытого слоя. Адаптация и обучение выполняются с помощью функций adaptwb
и trainwb1, которые модифицируют веса первого слоя, используя заданные функции обучения. Функциями настройки могут быть М-функции learnlv1 и learnlv2.

Пример:

Векторы входа P и выходные классы Tc, представленные ниже, определяют задачу классификации, которая будет решена LVQ-сетью:

P = [–3 –2 –2 0 0 0 0 +2 +2 +3;

0 +1 –1 2 1 –1 –2 +1 –1 0];

Tc = [1 1 1 2 2 2 2 1 1 1];

Целевые классы Tc преобразуем в целевые векторы T, создадим сеть LVQ со входами P, четырьмя нейронами и долями распределения по классам [0.6 0.4]:

T = ind2vec(Tc);

net = newlvq(minmax(P),4,[.6.4]);

gensim(net) % Рис.11.32

Структура нейронной сети LVQ показана на рис. 11.32. Выполним обучение сети:

 

Рис. 11.32

net = train(net,P,T);

Промоделируем сеть на векторе входа:

Y = sim(net,P);

Yc = vec2ind(Y)

Yc = 1 1 1 2 2 2 2 1 1 1

Классификация входного вектора выполнена без ошибок.

Сопутствующие функции: SIM, INIT, ADAPT, TRAIN, ADAPTWB, TRAINWB1, LEARNLV1, LEARNLV2.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: