exponenta event banner

nlhwOptions

Набор опций для nlhw

Описание

пример

opt = nlhwOptions создает набор опций по умолчанию для nlhw. При необходимости используйте точечную нотацию для настройки набора опций.

пример

opt = nlhwOptions(Name,Value) создает набор опций с опциями, заданными одним или несколькими Name,Value аргументы пары. Параметры, которые не указаны, сохраняют свое значение по умолчанию.

Примеры

свернуть все

Создать набор параметров оценки для nlhw для просмотра хода выполнения оценки и установки максимальных шагов итерации равным 50.

opt = nlhwOptions;
opt.Display = 'on';
opt.SearchOptions.MaxIterations = 50;

Загрузите данные и оцените модель.

load iddata3
sys = nlhw(z3,[4 2 1],'sigmoidnet','deadzone',opt);

Создание набора параметров для nlhw где:

  • Исходные условия оцениваются на основе оценочных данных.

  • Для оценки используется метод наименьших квадратов Гаусса-Ньютона.

opt = nlhwOptions('InitialCondition','estimate','SearchMethod','gn');

Входные аргументы

свернуть все

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: nlhwOptions('InitialCondition','estimate')

Обработка исходных условий при расчетах с использованием nlhw, указанная как пара, разделенная запятыми, состоящая из InitialCondition и одно из следующих:

  • 'zero' - Начальные условия равны нулю.

  • 'estimate' - Исходные условия рассматриваются как независимые оценочные параметры.

Параметр отображения хода выполнения оценки, указанный как пара, разделенная запятыми, состоящая из 'Display' и одно из следующих:

  • 'off' - Информация о ходе выполнения или результатах не отображается.

  • 'on' - Информация о структуре модели и результатах оценки отображается в окне просмотра хода выполнения.

Взвешивание ошибки прогнозирования в оценках модели с несколькими выходами, указанной как пара, разделенная запятыми, состоящая из 'OutputWeight' и одно из следующих:

  • 'noise' - Оптимальное взвешивание вычисляется автоматически как обратное оценочной дисперсии шума. Это взвешивание минимизирует det(E'*E), где E - матрица ошибок прогнозирования. Этот параметр недоступен при использовании 'lsqnonlin' в качестве 'SearchMethod'.

  • Положительная полуопределённая матрица, W, размером, равным количеству выходов. Это взвешивание минимизирует trace(E'*E*W/N), где E - матрица ошибок прогнозирования и N - количество выборок данных.

Варианты регуляризованной оценки параметров модели, определяемые как разделенная запятыми пара, состоящая из 'Regularization' и структура с полями:

Имя поляОписаниеДефолт
LambdaСмещение по сравнению с константой компромисса дисперсии, указанной как неотрицательный скаляр.0 - Указывает на отсутствие регуляризации.
RМатрица взвешивания, заданная как вектор неотрицательных скаляров или квадратная положительная полуопределённая матрица. Длина должна быть равна количеству свободных параметров в модели, np. Используйте nparams для определения количества параметров модели.1 - Указывает значение eye(np).
Nominal

Номинальное значение, к которому притягиваются свободные параметры при расчетах, указанное как одно из следующих:

  • 'zero' - Тянуть параметры в сторону нуля.

  • 'model' - Тянуть параметры к ранее существующим значениям в исходной модели. Используйте эту опцию только при наличии хорошо инициализированной idnlhw модель с конечными значениями параметров.

'zero'

Задание значений полей в Regularization, создайте значение по умолчанию nlhwOptions задайте и измените поля с помощью точечной нотации. Любые поля, которые не изменяются, сохраняют свои значения по умолчанию.

opt = nlhwOptions;
opt.Regularization.Lambda = 1.2;
opt.Regularization.R = 0.5*eye(np);

Регуляризация - это метод определения ограничений гибкости модели, которые уменьшают неопределенность в оценочных значениях параметров. Дополнительные сведения см. в разделе Регуляризованные оценки параметров модели.

Метод численного поиска, используемый для итеративной оценки параметров, определяемый как разделенная запятыми пара, состоящая из 'SearchMethod' и одно из следующих:

  • 'auto' - комбинация алгоритмов поиска линии, 'gn', 'lm', 'gna', и 'grad' на каждой итерации последовательно пробуют способы. Используется первое направление спуска, ведущее к снижению стоимости оценки.

  • 'gn' - Подпространство поиска наименьших квадратов Гаусса-Ньютона. Сингулярные значения матрицы Якобиана меньше GnPinvConstant*eps*max(size(J))*norm(J) отбрасываются при вычислении направления поиска. J - матрица Якобиана. Матрица Гессена аппроксимируется как JTJ. Если в этом направлении нет улучшений, функция пробует направление градиента.

  • 'gna' - адаптивный подпространственный поиск Гаусса-Ньютона. Собственные значения меньше gamma*max(sv) гессенцы игнорируются, где sv содержит сингулярные значения гессенца. Направление Гаусса - Ньютона вычисляется в оставшемся подпространстве. гамма имеет начальное значение InitialGnaTolerance (см. Advanced в 'SearchOptions' для получения дополнительной информации. Это значение увеличивается на коэффициент LMStep каждый раз при поиске не удается найти меньшее значение критерия менее чем за пять делений. Это значение уменьшается на коэффициент 2*LMStep каждый раз при успешном поиске без каких-либо делений.

  • 'lm' - поиск наименьших квадратов Левенберга-Марквардта, где следующим значением параметра является -pinv(H+d*I)*grad из предыдущего. H - гессен, I - тождественная матрица, а grad - градиент. d - число, которое увеличивается до тех пор, пока не будет найдено меньшее значение критерия.

  • 'grad' - Самый крутой спуск поиск наименьших квадратов.

  • 'lsqnonlin' - Алгоритм отражения области доверия lsqnonlin(Панель инструментов оптимизации). Требуется программное обеспечение Optimization Toolbox™.

  • 'fmincon' - Ограниченные нелинейные решатели. Можно использовать последовательное квадратичное программирование (SQP) и алгоритмы, отражающие область доверия fmincon(Панель инструментов оптимизации) решатель. При наличии программного обеспечения Optimization Toolbox можно также использовать внутренние и активные алгоритмы fmincon решатель. Укажите алгоритм в SearchOptions.Algorithm вариант. fmincon алгоритмы могут привести к улучшению результатов оценки в следующих сценариях:

    • Проблемы минимизации с ограничениями при наличии ограничений, наложенных на параметры модели.

    • Структуры модели, в которых функция потерь является нелинейной или негладкой функцией параметров.

    • Оценка модели с несколькими выходами. Функция потери определителя минимизируется по умолчанию для оценки модели с множеством выходов. fmincon алгоритмы способны непосредственно минимизировать такие потери. Другие методы поиска, такие как 'lm' и 'gn' минимизировать функцию потерь определителя путем попеременной оценки дисперсии шума и уменьшения значения потерь для данного значения дисперсии шума. Следовательно, fmincon алгоритмы могут обеспечить лучшую эффективность и точность для оценок моделей с множеством выходов.

Набор опций для алгоритма поиска, заданного как разделенная запятыми пара, состоящая из 'SearchOptions' и набор опций поиска с полями, зависящими от значения SearchMethod.

SearchOptions Структура при SearchMethod указано как 'gn', 'gna', 'lm', 'grad', или 'auto'

Имя поляОписаниеДефолт
Tolerance

Минимальная процентная разница между текущим значением функции потерь и ожидаемым улучшением после следующей итерации, заданная как положительный скаляр. Когда процент ожидаемого улучшения меньше Tolerance, итерации прекращаются. Оценка ожидаемого улучшения функции потери на следующей итерации основана на векторе Гаусса-Ньютона, вычисленном для текущего значения параметра.

1e-5
MaxIterations

Максимальное число итераций при минимизации функции потери, указанное как положительное целое число. Итерации останавливаются, когда MaxIterations достигнута или удовлетворен другой критерий остановки, такой как Tolerance.

Настройка MaxIterations = 0 возвращает результат процедуры запуска.

Использовать sys.Report.Termination.Iterations чтобы получить фактическое количество итераций во время оценки, где sys является idtf модель.

20
Advanced

Дополнительные параметры поиска, указанные как структура со следующими полями:

Имя поляОписаниеДефолт
GnPinvConstant

Порог сингулярного значения матрицы Якобиана, заданный как положительный скаляр. Сингулярные значения матрицы Якобиана, которые меньше GnPinvConstant*max(size(J)*norm(J)*eps) отбрасываются при вычислении направления поиска. Применимо, когда SearchMethod является 'gn'.

10000
InitialGnaTolerance

Начальное значение гамма, указанное как положительный скаляр. Применимо, когда SearchMethod является 'gna'.

0.0001
LMStartValue

Начальное значение длины d направления поиска в методе Левенберга-Марквардта, указанное как положительный скаляр. Применимо, когда SearchMethod является 'lm'.

0.001
LMStep

Размер шага Левенберга-Марквардта, заданный как положительное целое число. Следующим значением длины d направления поиска в методе Левенберга-Марквардта является LMStep умножить на предыдущий. Применимо, когда SearchMethod является 'lm'.

2
MaxBisections

Максимальное количество делений, используемых для поиска строк вдоль направления поиска, указанное как положительное целое число.

25
MaxFunctionEvaluations

Максимальное число вызовов файла модели, указанное как положительное целое число. Итерации останавливаются, если число вызовов файла модели превышает это значение.

Inf
MinParameterChange

Наименьшее обновление параметров, допустимое для каждой итерации, указанное как неотрицательный скаляр.

0
RelativeImprovement

Относительный порог улучшения, заданный как неотрицательный скаляр. Итерации прекращаются, если относительное улучшение функции критерия меньше этого значения.

0
StepReduction

Понижающий коэффициент шага, заданный как положительный скаляр, превышающий 1. Предлагаемое обновление параметра уменьшается на коэффициент StepReduction после каждой попытки. Это сокращение продолжается до MaxBisections попытки завершены или получено меньшее значение функции критерия.

StepReduction неприменимо для SearchMethod 'lm' (метод Левенберга-Марквардта).

2

SearchOptions Структура при SearchMethod указано как 'lsqnonlin'

Имя поляОписаниеДефолт
FunctionTolerance

Допуск окончания для функции потерь, которую программное обеспечение минимизирует для определения оцененных значений параметров, заданных как положительный скаляр.

Значение FunctionTolerance является таким же, как у opt.SearchOptions.Advanced.TolFun.

1e-5
StepTolerance

Допуск окончания для оцененных значений параметров, заданных как положительный скаляр.

Значение StepTolerance является таким же, как у opt.SearchOptions.Advanced.TolX.

1e-6
MaxIterations

Максимальное число итераций при минимизации функции потери, указанное как положительное целое число. Итерации останавливаются, когда MaxIterations достигнута или удовлетворен другой критерий остановки, такой как FunctionTolerance.

Значение MaxIterations является таким же, как у opt.SearchOptions.Advanced.MaxIter.

20
Advanced

Дополнительные параметры поиска, указанные как набор параметров для lsqnonlin.

Дополнительные сведения см. в таблице Опции оптимизации (Optimization Options) в разделе Опции оптимизации (Optimization Options) (Панель инструментов оптимизации).

Использовать optimset('lsqnonlin') для создания набора опций по умолчанию.

SearchOptions Структура при SearchMethod указано как 'fmincon'

Имя поляОписаниеДефолт
Algorithm

fmincon алгоритм оптимизации, указанный как один из следующих:

  • 'sqp' - Алгоритм последовательного квадратичного программирования. Алгоритм удовлетворяет границам на всех итерациях и может восстанавливаться после NaN или Inf результаты. Это не масштабный алгоритм. Дополнительные сведения см. в разделе Крупномасштабные и среднемасштабные алгоритмы (панель инструментов оптимизации).

  • 'trust-region-reflective' - Метод области доверия подпространства на основе метода Ньютона с внутренним отражением. Это масштабный алгоритм.

  • 'interior-point' - масштабный алгоритм, для которого требуется программное обеспечение Optimization Toolbox. Алгоритм удовлетворяет границам на всех итерациях и может восстанавливаться после NaN или Inf результаты.

  • 'active-set' - Требуется программное обеспечение Optimization Toolbox. Алгоритм может делать большие шаги, что добавляет скорость. Это не масштабный алгоритм.

Дополнительные сведения о алгоритмах см. в разделах Ограниченные нелинейные алгоритмы оптимизации (панель инструментов оптимизации) и Выбор алгоритма (панель инструментов оптимизации).

'sqp'
FunctionTolerance

Допуск окончания для функции потерь, которую программное обеспечение минимизирует для определения оцененных значений параметров, заданных как положительный скаляр.

1e-6
StepTolerance

Допуск окончания для оцененных значений параметров, заданных как положительный скаляр.

1e-6
MaxIterations

Максимальное число итераций при минимизации функции потерь, указанное как положительное целое число. Итерации останавливаются, когда MaxIterations достигнута или удовлетворен другой критерий остановки, такой как FunctionTolerance.

100

Задание значений полей в SearchOptions, создайте значение по умолчанию nlhwOptions задайте и измените поля с помощью точечной нотации. Любые поля, которые не изменяются, сохраняют свои значения по умолчанию.

opt = nlhwOptions;
opt.SearchOptions.MaxIterations = 50;
opt.SearchOptions.Advanced.RelImprovement = 0.5;

Дополнительные дополнительные параметры, указанные как пара, разделенная запятыми, состоящая из 'Advanced' и структура с полями:

Имя поляОписаниеДефолт
ErrorThresholdПорог для настройки веса больших ошибок с квадратичного на линейный, определяемый как неотрицательный скаляр. Ошибки больше, чем ErrorThreshold раз расчетное стандартное отклонение имеет линейный вес в функции потери. Стандартное отклонение оценивается надежно как медиана абсолютных отклонений от медианы ошибок прогнозирования, деленная на 0,7. Если данные оценки содержат отклонения, попробуйте установить ErrorThreshold кому 1.6.0 - Приводит к чисто квадратичной функции потерь.
MaxSizeМаксимальное количество элементов в сегменте при разделении данных ввода-вывода на сегменты, задаваемое как положительное целое число.250000

Задание значений полей в Advanced, создайте значение по умолчанию nlhwOptions задайте и измените поля с помощью точечной нотации. Любые поля, которые не изменяются, сохраняют свои значения по умолчанию.

opt = nlhwOptions;
opt.Advanced.ErrorThreshold = 1.2;

Выходные аргументы

свернуть все

Набор опций для nlhw, возвращено как nlhwOptions набор опций.

Вопросы совместимости

развернуть все

См. также

Представлен в R2015a