exponenta event banner

Сохранение данных об ошибках обучения в рабочей области 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. В разделе Загрузить данные выберите Обучение.

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

    3. Щелкните Загрузить данные (Load Data). В диалоговом окне «Загрузка из рабочего пространства» введите имя переменной fuzex1trnData.

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

    4. Нажмите кнопку ОК. Нейро-нечеткий конструктор отображает обучающие данные на графике в виде набора кругов.

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

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

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

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

  5. Создайте начальный FIS.

    1. В разделе Генерация FIS выберите Раздел сетки.

    2. Щелкните Генерировать FIS (Generate FIS).

    3. В диалоговом окне «Добавить функции членства»:

      • В разделе Ввод в поле Количество MF укажите количество входных функций членства. Для этого примера используйте 4 для всех входных переменных.

      • В поле «Тип MF» выберите gbellmf в качестве типа входной функции членства.

      • В разделе «Вывод» в поле «Тип MF» выберите linear в качестве типа выходной членской функции.

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

    4. Нажмите кнопку ОК.

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

    1. В Neuro-Fuzzy Designer выберите «Файл» > «Экспорт» > «В рабочее пространство».

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

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

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

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

  7. Обучение 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
    
  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.

См. также

Связанные темы