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.