При использовании Neuro-Fuzzy Designer можно экспортировать начальную структуру FIS в рабочую область MATLAB® и затем сохранить учебные ошибочные значения ANFIS в рабочей области.
Следующий пример показывает, как сохранить учебную ошибку, сгенерированную во время обучения ANFIS к рабочему пространству MATLAB:
Загрузите данные об обучении и проверке в рабочем пространстве MATLAB путем ввода следующих команд в посдказке MATLAB:
load fuzex1trnData.dat load fuzex1chkData.dat
Откройте Neuro-Fuzzy Designer путем ввода следующей команды:
neuroFuzzyDesigner
Загрузите данные тренировки от рабочего пространства MATLAB в Neuro-Fuzzy Designer:
В панели Load data Neuro-Fuzzy Designer проверьте, что Training выбран в столбце Type.
Выберите worksp в столбце From.
Нажмите Load Data, чтобы открыть Загрузку из диалогового окна рабочей области.
Введите fuzex1trnData
и нажмите ОК.
Neuro-Fuzzy Designer отображает данные тренировки в графике как набор кругов (○).
Загрузите данные о проверке из рабочего пространства MATLAB в Neuro-Fuzzy Designer:
В панели Load data Neuro-Fuzzy Designer выберите Checking в столбце Type.
Нажмите Load Data, чтобы открыть Загрузку из диалогового окна рабочей области.
Введите fuzex1chkData
как имя переменной и нажмите OK.
Neuro-Fuzzy Designer отображает данные о проверке как знаки "плюс" (+) наложенный на данные тренировки.
Сгенерируйте начальный FIS:
В панели Generate FIS проверьте, что опция Grid partition выбрана.
Нажмите Generate FIS.
Это действие открывает диалоговое окно, где вы задаете структуру FIS.
В диалоговом окне задайте следующее:
Введите 4
в поле Number of MFs.
Выберите gbellmf
как Membership Type для входа.
Выберите linear
как Membership Type для вывода.
Нажмите OK, чтобы сгенерировать FIS и закрыть диалоговое окно.
Экспортируйте начальный FIS в рабочее пространство MATLAB:
В Neuro-Fuzzy Designer выберите File> Export> To Workspace.
Это действие открывает диалоговое окно, где вы задаете имя переменной MATLAB.
В диалоговом окне, в текстовом поле Workspace variable, вводят initfis
.
Нажмите OK, чтобы закрыть диалоговое окно.
Переменная под названием initfis
теперь появляется в рабочем пространстве MATLAB.
Обучите FIS в течение эпох 40
путем ввода следующей команды в посдказке MATLAB:
figure hold on fismat = initfis; opt = anfisOptions('EpochNumber',2,'ValidationData',fuzex1chkData); for ct = 1:40 opt.InitialFIS = fismat; [fismat,error] = anfis(fuzex1trnData,opt); plot(ct,error(1),'b*'); end
Чтобы улучшить точность, когда вы обучаете FIS, код использует результаты текущей итерации, возвращенной командой anfis
как начальные условия для следующей итерации. Выходной аргумент error
содержит среднеквадратические ошибки, представляющие ошибку данных тренировки. Для получения дополнительной информации смотрите страницу с описанием anfis
.
График учебной ошибки по сравнению с номером эпох появляется в следующей фигуре.