Изучение векторной нейронной сети квантования
lvqnet(hiddenSize,lvqLR,lvqLF)
LVQ (изучение векторного квантования) нейронные сети состоят из двух слоев. Первый слой сопоставляет входные векторы в кластеры, которые найдены сетью во время обучения. Второй слой объединяет группы первых кластеров слоя в классы, заданные целевыми данными.
Общее количество первых кластеров слоя определяется количеством скрытых нейронов. Чем больше скрытый слой, тем больше кластеров первый слой может изучить, и более комплексное отображение входа, чтобы предназначаться для классов может быть сделано. Относительное количество первых кластеров слоя, присвоенных каждому целевому классу, определяется согласно распределению целевых классов во время сетевой инициализации. Это происходит, когда сеть автоматически сконфигурирована в первый раз train
называется, или вручную конфигурируется с функцией configure
, или вручную инициализированный функцией init
называется.
lvqnet(hiddenSize,lvqLR,lvqLF)
берет эти аргументы,
hiddenSize | Размер скрытого слоя (значение по умолчанию = 10) |
lvqLR | Скорость обучения LVQ (значение по умолчанию = 0.01) |
lvqLF | LVQ изучение функции (значение по умолчанию = |
и возвращает нейронную сеть LVQ.
Другая опция для lvq
изучение функции learnlv2
.
Здесь, сеть LVQ обучена, чтобы классифицировать ирисовые цветы.
[x,t] = iris_dataset; net = lvqnet(10); net.trainParam.epochs = 50; net = train(net,x,t); view(net) y = net(x); perf = perform(net,y,t) classes = vec2ind(y);
perf = 0.0489