При использовании Neuro-Fuzzy Designer можно экспортировать начальную структуру FIS в рабочую область MATLAB® и затем сгенерировать учебные ошибочные значения ANFIS. Начиная с экспорта ошибочных профилей обучения и валидации из приложения Neuro-Fuzzy Designer не поддерживается, используйте этот метод, чтобы сгенерировать такие диаграммы погрешностей.
Следующий пример показывает, как сохранить учебную ошибку, сгенерированную во время обучения ANFIS к рабочему пространству MATLAB.
Загрузите свои обучающие данные (fuzex1trnData
) и данные о валидации (fuzex1chkData
) к рабочему пространству MATLAB.
load fuzex1trnData.dat load fuzex1chkData.dat
Откройте приложение Neuro-Fuzzy Designer.
neuroFuzzyDesigner
Загрузите обучающие данные от рабочего пространства MATLAB в Neuro-Fuzzy Designer.
В разделе Load data выберите Training.
Выберите worksp.
Нажмите Load Data. В Загрузке из диалогового окна рабочей области введите имя переменной fuzex1trnData
.
Нажать ОК. Neuro-Fuzzy Designer отображает обучающие данные в графике в виде набора кругов.
Загрузите данные о проверке из рабочего пространства MATLAB в Neuro-Fuzzy Designer. В разделе Load data выберите Checking.
Загрузите данные о проверке таким же образом как обучающие данные, задав имя переменной fuzex1chkData
. Neuro-Fuzzy Designer отображает данные о проверке с помощью знаков "плюс", наложенных на обучающие данные.
Сгенерируйте начальный FIS.
В разделе Generate FIS выберите Grid partition.
Нажмите Generate FIS.
В диалоговом окне Add Membership Functions:
В разделе Input, в Number of MFs, задают количество входных функций принадлежности. Поскольку этот пример использует 4
для всех входных переменных.
В MF Type выберите gbellmf
как входной тип функции принадлежности.
В разделе Output, в MF Type, выбирают linear
как выходной тип функции принадлежности.
Нажмите OK.
Экспортируйте начальный FIS в рабочее пространство MATLAB.
В Neuro-Fuzzy Designer выберите File> Export> To Workspace.
Это действие открывает диалоговое окно, где вы задаете имя переменной MATLAB.
В диалоговом окне Export To Workspace, в поле Workspace variable, вводят initfis
как имя переменной.
Нажмите OK. Приложение экспортирует объект FIS в рабочее пространство MATLAB.
Обучите FIS 40
эпохи. Вместо того, чтобы использовать один вызов anfis
функционируйте, вызовите функцию в цикле с помощью 2
эпохи для каждого вызова. Этот метод обучения реплицирует учебный процесс, используемый приложением Neuro-Fuzzy Designer.
В каждую учебную эпоху сохраните ошибки обучения и валидации.
fis = initfis; opt = anfisOptions('EpochNumber',2,'ValidationData',fuzex1chkData); trainError = zeros(1,40); checkError = zeros(1,40); for ct = 1:40 opt.InitialFIS = fis; [fis,error,~,~,chkError] = anfis(fuzex1trnData,opt); trainError(ct) = error(1); checkError(ct) = chkError(1); end
Постройте ошибки обучения и валидации по учебному процессу. Эти ошибочные значения являются среднеквадратическими ошибками в каждую учебную эпоху.
epochNum = 1:40; plot(epochNum,trainError,'b*',epochNum,checkError,'ro') xlabel('Epoch Number') ylabel('Error') legend('Training Error','Validation Error')
Эти ошибочные профили похожи на ошибочные профили, когда та же начальная структура FIS обучена в приложении Neuro-Fuzzy Designer.