Использование Neural Network Pattern Recognition Tool

В задаче распознавания образов входные образы представляют собой векторы, компоненты которых являются признаками распознаваемых объектов. Признаки должны быть представлены в виде чисел. Числовые признаки масштабируются. В случае бинарных признаков типа "истина" и "ложь" "ложь" кодируется как "-1" или "0", а "истина" – как "1". Для кодирования Использование Neural Network Pattern Recognition Tool - student2.ru неупорядоченных качественных переменных используется двоичный вектор из Использование Neural Network Pattern Recognition Tool - student2.ru компонентов. Первая категория кодируется как Использование Neural Network Pattern Recognition Tool - student2.ru , вторая, соответственно — Использование Neural Network Pattern Recognition Tool - student2.ru и т. д., вплоть до Использование Neural Network Pattern Recognition Tool - student2.ru ‑ой категории: Использование Neural Network Pattern Recognition Tool - student2.ru . (Можно использовать биполярную кодировку, в которой нули заменяются на "-1"). Упорядоченные качественные переменные имеют отношение порядка между состояниями. Однако кодирование их разными значениями одного входного сигнала неразумно из-за того, что расстояние между состояниями не определено, а такое кодирование эти расстояния задает явным образом. Поэтому, упорядоченные частные признаки рекомендуется кодировать в виде двоичных векторов, имеющих стольких компонентов, сколько состояний у переменной. Но, в отличие от неупорядоченных переменных, необходимо накапливать число единичных компонентов. Например, если состояния качественной переменной упорядочены следующим образом: Использование Neural Network Pattern Recognition Tool - student2.ru , то состоянию Использование Neural Network Pattern Recognition Tool - student2.ru соответствует вектор Использование Neural Network Pattern Recognition Tool - student2.ru , состоянию Использование Neural Network Pattern Recognition Tool - student2.ru соответствует вектор Использование Neural Network Pattern Recognition Tool - student2.ru , состоянию Использование Neural Network Pattern Recognition Tool - student2.ru соответствует вектор Использование Neural Network Pattern Recognition Tool - student2.ru . Таким образом, наличие качественных признаков приводит к появлению во входных векторах подвекторов, построенных описанными способами.

Выходные векторы сети кодируются как неупорядоченные качественные переменные. Если сеть разделяет входные векторы на два класса, то достаточно иметь один выход сети, принимающий значения "истина" или "ложь".

Пакет Neural Networks Toolbox включает инструмент с графическим интерфейсом. Для запуска инструмента в командном окне задаем команду:

>> nnstart

В результате появляется стартовое окно (рис. 2.5)

Использование Neural Network Pattern Recognition Tool - student2.ru

Рис. 2.5. Стартовое окно

В окне выбираем кнопку Pattern Recognition app и появляется окно приглашения (рис. 2.6). Можно сразу открыть окно приглашения, минуя стартовое окно, если задать команду

>> nprtool

Можно на вкладке APPS MATLAB выбрать кнопку Использование Neural Network Pattern Recognition Tool - student2.ru — Neural Net Pattern Recognition.

Использование Neural Network Pattern Recognition Tool - student2.ru

Рис. 2.6. Окно приглашения

MATLAB приглашает создать двухслойную сеть прямого распространения с одним скрытым слоем и выходным слоем. В скрытом слое используется сигмоидальная функция активации, в выходном слое — функция softmax

Использование Neural Network Pattern Recognition Tool - student2.ru ,

где Использование Neural Network Pattern Recognition Tool - student2.ru — выход Использование Neural Network Pattern Recognition Tool - student2.ru ‑го нейрона, Использование Neural Network Pattern Recognition Tool - student2.ru — выход адаптивного сумматора Использование Neural Network Pattern Recognition Tool - student2.ru ‑го нейрона.

Суммирование ведется по всем нейронам слоя сети. Такая функция обеспечивает сумму выходов слоя, равную единице при любых значениях сигналов адаптивных сумматоров данного слоя. Это позволяет трактовать выход Использование Neural Network Pattern Recognition Tool - student2.ru как вероятность событий, совокупность которых образует полную группу.

В качестве алгоритма обучения используется метод обратного распространения ошибки на основе масштабируемого метода сопряженных градиентов.

В окне приглашения нажимаем Next и открываем окно выбора данных Select Data(рис. 2.7).

Использование Neural Network Pattern Recognition Tool - student2.ru

Рис. 2.7. Окно выбора данных

Кнопки Использование Neural Network Pattern Recognition Tool - student2.ru позволяет выбрать файлы входных и целевых (выходных) данных для обучения. С помощью радиокнопок можно выбрать являются ли образцы (Samples are) столбцами матрицы (Matrix columns) или строками матрицы (Matrix rows). Кнопка Load Example Data Set позволяет выбрать готовые демонстрационные примеры. Выбираем эту кнопку. Открывается окно выбора набора данных распознавания Pattern Recognition Data Set Chooser (рис. 2.8).

Использование Neural Network Pattern Recognition Tool - student2.ru

Рис. 2.8. Окно выбора набора данных

При решении задачи классификации и распознавания образов доступны следующие наборы данных (все имеющиеся наборы данных можно просмотреть командой help nndatasets):

- Simple Classes — входной массив содержит 1000 двухэлементных векторов, каждый из которых относится к одному из 4 классов.

- Iris Flowers — распознавание сорта цветка ириса.

- Breast Cancer — классификация опухоли как доброкачественной либо злокачественной в зависимости от характеристик образцов биопсии.

- Types of Glass —классификация стекла либо как оконного либо неоконного. Thyroid — классификация пациентов по состоянию щитовидной железы.

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

В правой половине окна (Description) приводится описание каждого набора данных и источник, откуда взяты данные. Выберем задачу распознавания трех сортов цветов ириса (это известная в математической статистике задача "Ирисы Фишера"). Цветы будут распознаваться по следующим признакам:

1. Длина чашелистика в см.

2. Ширина чашелистика в см.

3. Лепестковая длина в см.

4. Лепестковая ширина в см.

Выбрав Iris Flowers, нажимаем кнопку Import. Происходит возврат в окно Select Data (рис. 2.7) и можно изменить выбор набора данных. Если не надо изменять набор, то нажимаем кнопку Next и переходим в окно Validation and Test Data window(рис. 2.9), которое определяет распределение набора данных между обучающим набором (Training), проверочным набором (Validation), которое используются, чтобы оценить обобщающие свойства сети и остановить обучение, когда обобщение прекращает улучшаться и тестовым множеством (Testing), не оказывающим влияния на обучение, но служащим для проверки на данных, которые не использовались в обучении сети.

Использование Neural Network Pattern Recognition Tool - student2.ru

Рис. 2.9. Окно Validation and Test Data

Оставим распределение данных без изменения и нажмем кнопку Next. Попадаем в окно выбора архитектуры сети Network Architecture (рис. 2.10)

Использование Neural Network Pattern Recognition Tool - student2.ru

Рис. 2.10. Окно архитектуры сети

Стандартная сеть, которая используется для распознавания образов, является сетью прямого распространения с двумя слоями и с сигмоидальной функцией активации в первом слое и softmax функцией в выходном слое. По умолчания число нейронов в скрытом слое равно 10 (это число можно изменить, задавая параметр Number Hidden Neurons). Число нейронов выходного слоя равно в нашем примере трем, так как входные данные необходимо разделить на три категории.

Оставляем параметры сети без изменения и нажимаем кнопку Next. В результате переходим к окну обучения сети Train Network (рис. 2.11).

Использование Neural Network Pattern Recognition Tool - student2.ru

Рис. 2.11. Окно обучения сети

В данный момент в этом окне доступна только кнопка обучения Train, нажимаем ее и переходим в окно процесса обучения сети Neural Network Training (рис. 2.12). Одновременно появляется окно обучения сети (рис. 2.13), позволяющее повторить обучение сети и вывести некоторые графики.

Использование Neural Network Pattern Recognition Tool - student2.ru

Рис. 2.12. Окно процесса обучения сети

Использование Neural Network Pattern Recognition Tool - student2.ru

Рис. 2.13. Вид окно обучения сети после завершения обучения

Во вновь появившемся окне обучения (рис. 2.13) выводятся результаты обучения: для обучающего, проверочного и тестового множеств выводятся минимальные значения кросс‑энтропии (CE) и процент ошибок — доля неправильно классифицированных примеров. Из этого окна можно вывести графики, характеризующие качество обучения. Можно повторить обучение (кнопка Retrain),

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

Использование Neural Network Pattern Recognition Tool - student2.ru ,

где Использование Neural Network Pattern Recognition Tool - student2.ru — требуемое (целевое) значение выхода Использование Neural Network Pattern Recognition Tool - student2.ru сети при подаче примера Использование Neural Network Pattern Recognition Tool - student2.ru , Использование Neural Network Pattern Recognition Tool - student2.ru — реальное значение выхода Использование Neural Network Pattern Recognition Tool - student2.ru сети при подаче примера Использование Neural Network Pattern Recognition Tool - student2.ru , Использование Neural Network Pattern Recognition Tool - student2.ru — число выходов сети, Использование Neural Network Pattern Recognition Tool - student2.ru — число примеров в обучающей выборке.

Использование Neural Network Pattern Recognition Tool - student2.ru

Рис. 2.14. График обучения сети распознавания

Графики состояния обучения (Training State) (рис. 2.15) показывают изменение градиента функционала ошибки и величины ошибки на проверочном множестве в процессе обучения.

Использование Neural Network Pattern Recognition Tool - student2.ru

Рис. 2.15. Графики состояния обучения

Гистограмма ошибок (Error Histogram), построенная для 20 столбцов, (рис. 2.16) показывает, что ошибки имеют небольшую величину и распределены в узком интервале.

Использование Neural Network Pattern Recognition Tool - student2.ru

Рис. 2.16. Гистограмма ошибок

Матрица несоответствий (ошибок) сети (Confusion) (рис. 2.17) — матрицы, в которой для каждого класса наблюдений приводятся результаты отнесения наблюдений к тому или иному классу. Английское название (confusion — путаница) возникло потому, что матрица позволяет видеть, путает ли классификатор классы. Столбцы матрицы соответствуют предсказанным классам, а строки — фактическим классам. Матрицы несоответствия построены для трех множеств данных: обучающего множества (Training Set), контрольного множества (Validation Set), тестового множества (Test Set) и суммарного множества, состоящего из этих трех множеств. Рассмотрим Training Confusion Matrix (рис. 2.17). 37 объекта первого типа (35,6% от общего объема обучающей выборки) были распознаны как объекты первого типа. Как объекты второго или третьего типа данные объек­ты не распознавались. Процент правильно распознанных объектов перво­го типа равен 100%, ошибка распознавания объектов второго типа равна 0,0%.

Использование Neural Network Pattern Recognition Tool - student2.ru

Рис. 2.17. Матрица несоответствий (ошибок) сети

Аналогично ошибка распознавания объектов второго типа составила 3,3%, объектов третьего типа — 2,7%. Последняя строка матрицы показывает, что из всех объектов, классифицированных как объекты первого класса, 100% составляют объекты первого класса. Ошибка классификации объектов второго класса составила 3,3%, третьего класса — 2,7%. В целом неправильно классифицировано 1,9% объектов. Суммарная матрица (All) показывает ошибки распознавания на всех трех множествах.

Показателем качества классификаторов являются характеристические кривые обнаружения (Receiver Operating Characteristic — ROC) (рис. 2.18).

Использование Neural Network Pattern Recognition Tool - student2.ru

Рис. 2.18. Характеристические кривые обнаружения

Нейросетевой классификатор относит выход сети к одному из классов в зависимости от того, превышает выходной сигнал некоторое пороговое значение — точку отсечения (Cut-Off Point) — порогового значения, разделяющего классы [5].

Чтобы построить ROC-кривую, нужно изменять порог отсечения в интервале от 0 (или от -1) до 1 с заданным шагом. Для каждого класса классификатора с некоторым шагом изменяются пороговые значения. Для каждого порогового значения вычисляются два значения: доля истинно положительных примеров (True Positives Rate—TPR) — количество выходов, больших или равных порогу, разделенное на количество единичных целевых значений (подразумевается, что целевые значения кодируются нулем и единицей); доля ложно положительных примеров (False Positives Rate—FPR) — количество выходов, меньших, чем порог, разделенное на количество нулевых целевых значений. Строится график зависимости TPR от FPR при разных значениях порога. График часто дополняют прямой Использование Neural Network Pattern Recognition Tool - student2.ru , которая соответ­ствует "бесполезному" классификатору, когда результат получается случайным угадыванием.

Для идеального классификатора график ROC-кривой проходит через верхний левый угол, где доля истинно положительных случаев составляет 100% или 1.0 (идеальная чувствительность), а доля ложно положительных примеров равна нулю. Поэтому чем ближе кривая к верхнему левому углу, тем выше предсказательная способность модели. Наоборот, чем меньше изгиб кривой и чем ближе она расположена к диагональной прямой, тем менее эффективна модель. Для нашего примера классификатор практически идеален.

При неудовлетворительных показателях классификатора можно повторно обучить сеть — кнопка Retrain в окне обучения сети после завершения обучения (рис. 2.13).

При удовлетворительных результатах можно перейти к оценке сети, нажав кнопку Next в окне обучения сети после завершения обучения (рис. 2.13). Появляется окно оценки сети (Evaluate Network) (рис. 2.19).

Использование Neural Network Pattern Recognition Tool - student2.ru

Рис. 2.19. Окно оценки сети

Левая часть окна предлагает повторить для улучшения производительности (Iterate for improved performance):

- обучение (кнопка Train Again);

- увеличить размер сети — по кнопке Adjust Network Sizeпроисходит переход к окну (рис. 2.10);

- использовать бо́льший набор данных — по кнопке Import Larger Data Set происходит переход к окну выбора данных (рис. 2.8).

В правой части окна предлагается провести дополнительные испытания (Optionally perform additonal tests), выбрав входные и целевые значения.

Для завершения работы с сетью нажимаем на кнопку Next и переходим в окно развертывания Deploy Solution (размещения) решения (рис. 2.20).

Использование Neural Network Pattern Recognition Tool - student2.ru

Рис. 2.20. Окно развертывания решения

В этом окне можно сгенерировать функции для MATLAB Compiler, позволяющего создавать независимые приложения (.exe), компоненты и библиотеки (.dll), и для MATLAB Builder — пакетов, расширяющих возможности MATLAB Compiler средствами генерации компонентов различных фреймворков, например, Microsoft .NET Framework. Возможна генерация функции для MATLAB Coder, генерирующего автономный C и C++ код из кода MATLAB. Возможно моделирование сети в системе Simulink и генерация графической диаграммы сети как в окне архитектуры сети (рис. 2.10).

В последнем окне — окне сохранения результатов (рис. 2.21) можно сохранить результаты, сгенерировать программу, воспроизводящую создание сети, сгенерировать диаграмму сети и диаграмму сети в пакете Simulink.

Нажав кнопку Simple Script или Advanced Script можно сгенерировать простой или усовершенствованный код MATLAB, воспроизводящий действия Neural Network Pattern Recognition Tool. Усовершенствованный код отличается более детальным заданием параметров функций. В простом коде многие параметры устанавливаются по умолчанию.

Использование Neural Network Pattern Recognition Tool - student2.ru

Рис. 2.21. Окно сохранения результатов

Можно сохранить отмеченные результаты в рабочем пространстве MATLAB. При этом рекомендуется заменить имена, присваемые по умолчанию, на свои имена.

Для завершения работы с пакетом Neural Networks Toolbox необходимо нажать кнопку Finishв окне сохранения результатов.

Задания

1. Проделайте все примеры, приведенные в работе.

2. Решите задачу распознавания образов для одного из указанных преподавателем тестовых наборов данных, имеющихся в MATLAB. Проанализируйте полученные результаты.

3. Исследуйте влияние структуры сети на точность распознавания и число циклов обучения.

Использование команд

Сгенерированные в окне сохранения результатов (рис. 2.21) простой код (Simple Script) и усовершенствованный код (Advanced Script) сохранены в библиотеке Samples примеров лабораторного практикума под именами recognition_simple.m и recognition_advanced.m. Программа recognition_simple_rus.m содержит переведенные на русский язык комментарии и необходимые дополнения (сгенерированная программа recognition_simple.m требует предварительной загрузки исходных данных):

% Решение задачи распознавания образов с помощью нейронной сети

% Скрипт сгенерирован NPRTOOL

% С некоторыми добавлениями

% Created Sun Dec 01 23:52:39 GMT+04:00 2013

%

% Этот сценарий предполагает, эти переменные определены:

%

% irisInputs - входные данные.

% irisTargets - целевые данные.

%x = irisInputs;

%t = irisTargets;

% Добавлены закрытия окон и очистка

close all

clc

clear

% Вызов функции загрузки исходных данных

% В сгенерированной программе отсутствует, т.к. предполагается, что

% данные уже помещены в рабочее пространство

[x,t] = iris_dataset;

% Создание сети распознавания образов

hiddenLayerSize = 10; % Размер скрытого слоя

% Создание сети net

net = patternnet(hiddenLayerSize);

% Настройка деления данных на обучающие, проверочные и тестовые

net.divideParam.trainRatio = 70/100; % Обучающие данные

net.divideParam.valRatio = 15/100; % Проверочные данные

net.divideParam.testRatio = 15/100; % Тестовые данные

% Обучение сети

[net,tr] = train(net,x,t);

% Тестирование сети

y = net(x);

e = gsubtract(t,y);% Вычисление матрицы ошибок

% Преобразование компонентов целевых векторов в номера классов

tind = vec2ind(t);

% Преобразование компонентов выходных векторов в номера классов

yind = vec2ind(y);

% Вычисление ошибки сети как отношения числа выходных значений, не совпавших

% с целевыми значениями,к общему числу (функция numel) целевых значений

percentErrors = sum(tind ~= yind)/numel(tind);

% % Вычисление достигнутой среднеквадратической ошибки

performance = perform(net,t,y)

% Вывод структуры сети

view(net)

% Графики

% Раскомментируйте строки, чтобы включит различные графики

% Графики могут быть построены из окна обучения сети

% График обучени сети

figure, plotperform(tr)

% График состояния обучения

figure, plottrainstate(tr)

% Вывод матрицы несоответствий

figure, plotconfusion(t,y)

% График ROC -кривой

figure, plotroc(t,y)

% Вывод гистограммы ошибок

figure, ploterrhist(e)

В программе net1_simple_rus.m добавлен вызов функции загрузки исходных данных [x,t] = iris_dataset; В сгенерированной программе этот вызов отсутствует, т.к. предполагается, что все исходные данные уже загружены в рабочее пространство.

Сеть распознавания образов создается функцией patternnet, обращение к которой имеет вид

net= patternnet(hiddenSizes,trainFcn,performFcn),

где net — имя создаваемой сети; hiddenSizes — вектор‑строка, содержащая число нейронов в каждом из Использование Neural Network Pattern Recognition Tool - student2.ru скрытых слоев (первый слой считается скрытым, функция создает сеть из Использование Neural Network Pattern Recognition Tool - student2.ru слоя, считая выходной слой, в нашем примере сеть содержит только один скрытый слой); trainFcn— функция обучения в методе обратного распространения ошибки; performFcn — функция критерия качества обучения.

Функцию можно вызывать с меньшим числом параметров (можно опустить все параметры). В этом случае используются значения по умолчанию

net= patternnet(10, 'trainscg', 'crossentropy')

Здесь trainscg— модификация метода сопряженных градиентов; crossentropy — функция ошибки в форме перекрёстной энтропии.

При использовании в качестве функции ошибки перекрёстной энтропии [6, 7], минимизируется не среднеквадратичная функция ошибки сети (MSE), а перекрестная энтропия

Использование Neural Network Pattern Recognition Tool - student2.ru ,

где Использование Neural Network Pattern Recognition Tool - student2.ru — целевое (требуемое) значение выхода сети, Использование Neural Network Pattern Recognition Tool - student2.ru — реальный выход сети.

Использование перекрестной энтропии обеспечивает бо́льшую скорость обучения сети.

Сгенерированная программа net1_advanced.m имеет вид:

% Solve a Pattern Recognition Problem with a Neural Network

% Script generated by NPRTOOL

% Created Sun Dec 01 23:54:26 GMT+04:00 2013

%

% This script assumes these variables are defined:

%

% irisInputs - input data.

% irisTargets - target data.

x = irisInputs;

t = irisTargets;

% Create a Pattern Recognition Network

hiddenLayerSize = 10;

net = patternnet(hiddenLayerSize);

% Choose Input and Output Pre/Post-Processing Functions

% For a list of all processing functions type: help nnprocess

net.input.processFcns = {'removeconstantrows','mapminmax'};

net.output.processFcns = {'removeconstantrows','mapminmax'};

% Setup Division of Data for Training, Validation, Testing

% For a list of all data division functions type: help nndivide

net.divideFcn = 'dividerand'; % Divide data randomly

net.divideMode = 'sample'; % Divide up every sample

net.divideParam.trainRatio = 70/100;

net.divideParam.valRatio = 15/100;

net.divideParam.testRatio = 15/100;

% For help on training function 'trainscg' type: help trainscg

% For a list of all training functions type: help nntrain

net.trainFcn = 'trainscg'; % Scaled conjugate gradient

% Choose a Performance Function

% For a list of all performance functions type: help nnperformance

net.performFcn = 'crossentropy'; % Cross-entropy

% Choose Plot Functions

% For a list of all plot functions type: help nnplot

net.plotFcns = {'plotperform','plottrainstate','ploterrhist', ...

'plotregression', 'plotfit'};

% Train the Network

[net,tr] = train(net,x,t);

% Test the Network

y = net(x);

e = gsubtract(t,y);

tind = vec2ind(t);

yind = vec2ind(y);

percentErrors = sum(tind ~= yind)/numel(tind);

performance = perform(net,t,y)

% Recalculate Training, Validation and Test Performance

trainTargets = t .* tr.trainMask{1};

valTargets = t .* tr.valMask{1};

testTargets = t .* tr.testMask{1};

trainPerformance = perform(net,trainTargets,y)

valPerformance = perform(net,valTargets,y)

testPerformance = perform(net,testTargets,y)

% View the Network

view(net)

% Plots

% Uncomment these lines to enable various plots.

%figure, plotperform(tr)

%figure, plottrainstate(tr)

%figure, plotconfusion(t,y)

%figure, plotroc(t,y)

%figure, ploterrhist(e)

% Deployment

% Change the (false) values to (true) to enable the following code blocks.

if (false)

% Generate MATLAB function for neural network for application deployment

% in MATLAB scripts or with MATLAB Compiler and Builder tools, or simply

% to examine the calculations your trained neural network performs.

genFunction(net,'myNeuralNetworkFunction');

y = myNeuralNetworkFunction(x);

end

if (false)

% Generate a matrix-only MATLAB function for neural network code

% generation with MATLAB Coder tools.

genFunction(net,'myNeuralNetworkFunction','MatrixOnly','yes');

y = myNeuralNetworkFunction(x);

end

if (false)

% Generate a Simulink diagram for simulation or deployment with.

% Simulink Coder tools.

gensim(net);

end

Программа также требует загрузки исходных данных. В программе явно задаются параметры сети. Обратите внимание на использование функций пред- и постобработки. Этими функциями являются:

fixunknowns — заполняет пропуски данных средними значениями.

mapminmax— масштабирует данные к диапазону [-1, +1].

mapstd— преобразование данных каждой строки матрицы к нулевому среднему значению и единичному стандартному отклонению.

processpca — вычисление главных компонент строк матриц.

removeconstantrows — удаление строк, содержащих постоянные значения.

removerows — удаление строк матриц с заданными индексами.

Чтобы посмотреть и изменить функции предобработки слоя Использование Neural Network Pattern Recognition Tool - student2.ru используйте свойства входов Использование Neural Network Pattern Recognition Tool - student2.ru ‑го слоя сети

net.inputs{i}.processFcns

Чтобы посмотреть и изменить функции постдобработки слоя Использование Neural Network Pattern Recognition Tool - student2.ru используйте свойства выходов Использование Neural Network Pattern Recognition Tool - student2.ru ‑го слоя сети

net.outputs{i}.processParams

Для многослойных сетей заданные по умолчанию функции обработки ввода — removeconstantrows и mapminmax. Для выходов сети значения по умолчанию также removeconstantrows и mapminmax. В большинстве случаев нет необходимости использовать непосредственно функции пред- и постобработки, так как они являются частью объекта "Нейронная сеть" и выполняются автоматически.

В программе net1_advanced.m также присутствует генерация функций для MATLAB Builder и Coder.

Задания

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

2. Исследуйте влияние структуры сети и алгоритмов обучения на точность распознавания и число циклов обучения.

Наши рекомендации