anfis
и функциональности Neuro-Fuzzy DesignerЭта тема обсуждает аргументы и компоненты области значений функции командной строки anfis
и аналогичная функциональность Neuro-Fuzzy Designer.
Можно сконфигурировать опции обучения для команды anfis
с помощью набора опции anfisOptions
.
opt = anfisOptions; [fismat1,trnError,ss,fismat2,chkError] = anfis(trnData,opt);
trnData
является данными тренировки. Чтобы использовать опции обучения по умолчанию, не используйте opt
. Можно изменить набор опции по умолчанию с помощью записи через точку. Для получения дополнительной информации о доступных параметрах и их значениях по умолчанию, смотрите страницу с описанием anfisOptions
. Все выходные аргументы кроме fismat1
, настроенной нечеткой системы, являются дополнительными.Когда вы открываете Neuro-Fuzzy Designer, только обучающий набор данных должен существовать прежде, чем реализовать anfis
. Кроме того, неродной размер фиксируется, когда адаптивная нейронечеткая система обучена с помощью этого приложения.
Данные тренировки, trnData
, являются обязательным аргументом к anfis
, и к Neuro-Fuzzy Designer. Каждая строка trnData
является желаемой парой ввода/вывода целевой системы, которую вы хотите смоделировать. Каждая строка запускается с входного вектора и сопровождается выходным значением. Поэтому количество строк trnData
равно количеству пар данных тренировки. С тех пор существует только один вывод, количество столбцов trnData
равно количеству входных параметров плюс один.
Можно задать объект FIS настроить использование опции обучения opt.InitialFIS
. Можно создать это объектное использование:
Fuzzy Logic Designer
Редактор функции принадлежности
Редактор Правила от Neuro-Fuzzy Designer (который позволяет объекту FIS загрузиться из файла или рабочей области MATLAB®),
Функция командной строки, genfis
(для которого вы только задаете числа и типы функций принадлежности),
Объект FIS содержит обоих образцовая структура (который задает такие элементы как количество правил в FIS и количество функций принадлежности для каждого входа) и параметры (которые задают формы функций принадлежности).
Существует два метода, которые anfis
, учащийся, использует для обновления параметров функции принадлежности, которые можно выбрать использование опции обучения opt.OptimizationMethod
:
Обратная связь для всех параметров (метод быстрейшего спуска)
Гибридный метод, состоящий из обратной связи для параметров, сопоставленных с входными функциями принадлежности и оценкой методом наименьших квадратов для параметров, сопоставлен с выходными функциями принадлежности
В результате учебные ошибочные уменьшения, по крайней мере, локально, в течение процесса обучения. Поэтому, чем больше начальные функции принадлежности напоминают оптимальные единицы, тем легче это для обучения параметра модели сходиться. Человеческие экспертные знания о целевой системе, которая будет смоделирована, могут помочь в подготовке этих начальных параметров функции принадлежности в объекте FIS.
Функция genfis
, когда используется с разделением сетки, производит основанное на объектах FIS на постоянном числе функций принадлежности. Этот объект может вызвать чрезмерное количество правил, когда количество входных параметров является умеренно большим; то есть, больше чем четыре или пять. Программное обеспечение Fuzzy Logic Toolbox™ предлагает метод, который предусматривает некоторое сокращение размерности нечеткой системы вывода: можно сгенерировать объект FIS с помощью кластеризирующегося алгоритма, обсужденного в Отнимающей Кластеризации. Чтобы использовать кластеризирующийся алгоритм, необходимо выбрать опцию Sub. Clustering во фрагменте Generate FIS Neuro-Fuzzy Designer, прежде чем FIS будет сгенерирован. Этот отнимающий метод кластеризации делит данные в кластеры и генерирует FIS с минимальным количеством правил, требуемых различать, нечеткие качества, сопоставленные с каждым, кластеризируется.
Neuro-Fuzzy Designer позволяет вам выбирать свой желаемый ошибочный допуск и номер учебных эпох.
Для команды anfis
можно задать обучение учебное условие завершения и размер шага спуска градиента. Чтобы задать следующие опции, сначала создайте набор опции anfisOptions
по умолчанию, opt
. Можно затем изменить опции с помощью записи через точку.
opt.EpochNumber
— Номер учебных эпох (значение по умолчанию = 10
)
opt.ErrorGoal
— Учебная ошибочная цель (значение по умолчанию = 0
)
opt.InitialStepSize
— Начальный неродной размер (значение по умолчанию = 0.01
)
opt.StepSizeDecreaseRate
— Уровень уменьшения неродного размера (значение по умолчанию = 0.9
)
opt.StepSizeIncreaseRate
— Уровень увеличения неродного размера (значение по умолчанию = 1.1
)
Если вы не изменяете опцию в opt
, значение по умолчанию используется. Учебный процесс останавливается, если обозначенный номер эпохи достигнут, или ошибочная цель достигается, какой бы ни на первом месте.
Обычно, профиль неродного размера является кривой, которая увеличивается первоначально, достигает некоторого максимума, и затем уменьшается для остатка от обучения. Вы достигаете этого идеального профиля неродного размера путем корректировки начального неродного размера и уровней увеличения и уменьшения (opt.InitialStepSize
, opt.StepSizeDecreaseRate
, opt.StepSizeIncreaseRate
). Значения по умолчанию сконфигурированы, чтобы покрыть широкий спектр изучения задач. Для любого определенного приложения можно изменить эти опции неродного размера, чтобы оптимизировать обучение. Однако нет никаких заданных пользователями опций неродного размера для обучения, адаптивная нейронечеткая система вывода сгенерировала использование Neuro-Fuzzy Designer.
Параметры экрана применяют только к функции командной строки anfis
. Можно задать что учебную информацию о прогрессе отобразиться в Окне Команды MATLAB. Как с опциями обучения, вы задаете параметры экрана с помощью набора опции anfisOptions
, opt
. Для каждого параметра экрана, если вы задаете значение 1
(значение по умолчанию), отображены соответствующие данные. Определение значения 0
подавляет отображение:
opt.DisplayANFISInformation
— Отобразите информацию ANFIS в начале обучения
opt.DisplayErrorValues
— Отобразите учебную ошибку в каждую эпоху
opt.DisplayStepSize
— Отобразите неродной размер каждый раз, когда он изменяется.
opt.DisplayFinalResults
— Отобразите итоговую учебную ошибку и ошибку валидации
И Neuro-Fuzzy Designer и командная строка anfis
применяют или форму обратной связи метода быстрейшего спуска для оценки параметра функции принадлежности или гибридную комбинацию обратной связи и методов наименьших квадратов. Выбором для этого аргумента является hybrid
или backpropagation
. Чтобы задать учебный метод для функции anfis
, используйте опцию обучения opt.OptimizationMethod
или в качестве 1
(hybrid
) или в качестве 0
(backpropagation
).
fismat1
является соответствием объекта вывода FIS минимальной учебной ошибке. Этот объект FIS является тем, который вы используете, чтобы представлять нечеткую систему, когда нет никаких данных о проверке, используемых для образцовой перекрестной проверки. fismat1
соответствует объекту FIS, который сохраняет Neuro-Fuzzy Designer, когда опция данных о проверке не используется. Для получения дополнительной информации о данных о проверке использования перекрестной проверки смотрите Данные о Проверке.
Учебная ошибка является различием между выходным значением данных тренировки и выводом нечеткой системы вывода, соответствующей тому же входному значению данных тренировки (то, сопоставленное с тем выходным значением данных тренировки). Учебная ошибка trnError
записывает среднеквадратическую ошибку (RMSE) обучающего набора данных в каждую эпоху. fismat1
является снимком состояния объекта FIS, когда учебная ошибочная мера в ее минимуме.
Neuro-Fuzzy Designer строит учебную ошибку по сравнению с кривой эпох, когда система обучена.
Вы не можете управлять опциями неродного размера с Neuro-Fuzzy Designer. Используя командную строку anfis
, массив неродного размера ss
записывает неродной размер во время обучения. Графический вывод ss
дает профиль неродного размера, который служит ссылкой для корректировки начального неродного размера (opt.InitialStepSize
) и соответствующие уровни уменьшения и увеличения. Неродной размер для функции командной строки anfis
обновляется согласно следующим инструкциям:
Если ошибка подвергается четырем последовательным сокращениям, увеличьте неродной размер путем умножения ее на константу (opt.StepSizeIncreaseRate
), больше, чем один.
Если ошибка подвергается двум последовательным комбинациям одного увеличения и одного сокращения, уменьшите неродной размер путем умножения его на константу (opt.StepSizeDecreaseRate
) меньше чем один.
Значением по умолчанию для начального неродного размера является 0.01
; значениями по умолчанию для opt.StepSizeIncreaseRate
и opt.StepSizeDecreaserate
является 1.1
и 0.9
, соответственно.
Данные о проверке, opt.ValidationData
, используются для тестирования возможности обобщения нечеткой системы вывода в каждую эпоху. Данные о проверке имеют тот же формат как данные тренировки, и его элементы отличны от тех из данных тренировки.
Данные о проверке важны для изучения задач, для которых входной номер является большим, или сами данные являются шумными. Нечеткая система вывода должна отследить данный набор данных ввода/вывода хорошо. Поскольку образцовая структура, используемая для anfis
, фиксируется с большим количеством параметров, существует тенденция для модели, чтобы сверхсоответствовать данным, на которых это обучено, специально для многих учебных эпох. Если сверхподбор кривой действительно происходит, нечеткая система вывода не может ответить на другие независимые наборы данных, особенно если они являются шумными. Валидация или проверяющий набор данных может быть полезна для этих ситуаций. Этот набор данных используется, чтобы перекрестный подтвердить нечеткую модель вывода. Эта перекрестная проверка требует применения данных о проверке к модели и затем наблюдению, как хорошо модель отвечает на эти данные.
Когда опция данных о проверке используется с anfis
, или через командную строку или через использование Neuro-Fuzzy Designer, данные о проверке применяются к модели в каждую учебную эпоху. Когда командная строка, anfis
вызывается, параметры модели, которые соответствуют минимальной ошибке проверки, возвращена через выходной аргумент fismat2
. Когда и данные об обучении и проверке загружаются, вычисленное использование параметров функции принадлежности FIS Neuro-Fuzzy Designer сопоставлены с учебной эпохой, которая имеет минимальную ошибку проверки.
Использование минимальной ошибочной эпохи данных о проверке, чтобы установить параметры функции принадлежности принимает данные о проверке:
Достаточно подобно данным тренировки, которые уменьшает ошибка данных о проверке, когда обучение начинается.
Увеличения в какой-то момент обучения после сверхподбора кривой данных происходят.
Для получения информации об использовании проверки данных смотрите, что Данные о Проверке Не Подтверждают Модель.
Вывод командной строки anfis
, fismat2
, является объектом вывода FIS с минимальной ошибкой проверки. Этот объект FIS является тем, который необходимо использовать для дальнейшего вычисления при проверке, что данные используются для перекрестной проверки. fismat2
только возвращен, если вы задаете данные о валидации с помощью opt.ValidationData
.
fismat2
соответствует объекту FIS, который сохраняет Neuro-Fuzzy Designer, когда опция данных о проверке используется.
Ошибка проверки является различием между значением вывода данных проверки и выводом нечеткой системы вывода, соответствующей тому же значению ввода данных проверки, которое является тем, сопоставленным с тем значением вывода данных проверки. Ошибка проверки chkError
записывает RMSE для данных о проверке в каждую эпоху. fismat2
является снимком состояния объекта FIS, когда ошибка проверки в ее минимуме. chkError
только возвращен, если вы задаете данные о валидации с помощью opt.ValidationData
.
Neuro-Fuzzy Designer строит ошибку проверки по сравнению с кривой эпох, когда система обучена.