Сохраните обучающие данные об ошибках в рабочем пространстве MATLAB

При использовании Neuro-Fuzzy Designer можно экспортировать исходную структуру FIS в MATLAB® Рабочая область и затем сгенерируйте значения ошибок обучения ANFIS. Поскольку экспорт профилей ошибок обучения и валидации из приложения Neuro-Fuzzy Designer не поддерживается, используйте этот метод, чтобы сгенерировать такие графики ошибок.

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

  1. Загрузите свои обучающие данные (fuzex1trnData) и данные валидации (fuzex1chkData) в рабочее пространство MATLAB.

    load fuzex1trnData.dat
    load fuzex1chkData.dat
    
  2. Откройте приложение Neuro-Fuzzy Designer.

    neuroFuzzyDesigner

    Default Neuro-Fuzzy Designer app dialog with an empty plot and a load data section in the bottom left corner.

  3. Загрузите обучающие данные из рабочего пространства MATLAB в Neuro-Fuzzy Designer.

    1. В Load data разделе выберите Training.

    2. Выберите worksp.

    3. Нажмите Load Data. В диалоговом окне Загрузка из рабочей области введите имя переменной fuzex1trnData.

      Load from workspace dialog box with fuzex1trdData entered as the input variable name

    4. Нажмите OK. Neuro-Fuzzy Designer отображает обучающие данные на графике как набор кругов.

      Neuro-Fuzzy Designer app showing a plot of the imported training data

  4. Загрузите данные проверки из рабочего пространства MATLAB в Neuro-Fuzzy Designer. В Load data разделе выберите Checking.

    Загрузите проверочные данные так же, как и обучающие данные, задав имя переменной fuzex1chkData. Neuro-Fuzzy Designer отображает данные проверки с помощью знаков плюс, наложенных на обучающие данные.

    Neuro-Fuzzy Designer app showing a plot with the imported checking data together with the training data

  5. Сгенерируйте начальный FIS.

    1. В Generate FIS разделе выберите Grid partition.

    2. Нажмите Generate FIS.

    3. В диалоговом окне «Добавление функций принадлежности» выполните следующие действия.

      • В Input разделе, в Number of MFs, укажите количество входных функций принадлежности. В данном примере используйте 4 для всех входных переменных.

      • В MF Type выберите gbellmf как тип функции входа принадлежности.

      • В Output разделе, в MF Type, выберите linear как тип функции выхода принадлежности.

        Add membership functions dialog box showing the selected number and type of input membership functions and the selected output membership function type.

    4. Нажмите OK.

  6. Экспорт исходной FIS в рабочее пространство MATLAB.

    1. В Neuro-Fuzzy Designer выберите File > Export > To Workspace.

      Это действие открывает диалоговое окно, в котором вы задаете имя переменного MATLAB.

    2. В диалоговом окне «Экспорт в рабочую область» в поле Workspace variable введите initfis как имя переменной.

      Dialog box with a field for entering the MATLAB workspace variable name

    3. Нажмите OK. Приложение экспортирует объект FIS в рабочее пространство MATLAB.

  7. Обучите FIS для 40 эпох. Вместо использования одного вызова на anfis function, вызовите функцию внутри цикла, используя 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
    
  8. Постройте график ошибок обучения и валидации в процессе обучения. Эти значения ошибки являются корневыми средними квадратичными невязками в каждую эпоху обучения.

    epochNum = 1:40;
    plot(epochNum,trainError,'b*',epochNum,checkError,'ro')
    xlabel('Epoch Number')
    ylabel('Error')
    legend('Training Error','Validation Error')

    Training error decreases from 0.24 to 0.15 over 40 training epochs. Validation error decreases in a similar fashion, increasing slightly in the final five epochs.

    Эти профили ошибок аналогичны профилям ошибок, когда та же самая исходная структура FIS обучается в приложении Neuro-Fuzzy Designer.

См. также

Похожие темы