exponenta event banner

findopOptions

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

Описание

пример

opt = findopOptions(model) создает набор опций по умолчанию для вычисления рабочей точки указанной нелинейной модели ARX или модели Хаммерштейна-Винера. Используйте точечную нотацию, чтобы изменить этот набор опций для конкретного приложения. Параметры, которые не изменяются, сохраняют свои значения по умолчанию.

пример

opt = findopOptions(model,Name,Value) создает набор опций с опциями, заданными одним или несколькими Name,Value аргументы пары.

Примеры

свернуть все

Создание набора опций по умолчанию для findop использование idnlarx модель

opt = findopOptions(idnlarx);

Создание набора опций по умолчанию для findop использование idnlhw модель.

opt = findopOptions(idnlhw);

Используйте точечную нотацию, чтобы задать поиск наименьших квадратов Гаусса-Ньютона с максимум 25 итерациями.

opt.SearchMethod = 'gn';
opt.SearchOptions.MaxIterations = 25;

Создание набора опций для findop использование idnlarx модель. Укажите самый крутой поиск наименьших квадратов спуска с параметрами поиска по умолчанию.

opt = findopOptions(idnlarx,'SearchMethod','grad');

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

свернуть все

Расчетная нелинейная модель, заданная как одна из следующих:

  • idnlarx модель

  • idnlhw модель

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

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

Пример: 'SearchMethod','grad' задает метод поиска наименьших квадратов при самом крутом спуске

Метод численного поиска, используемый для итеративной оценки параметров, определяемый как разделенная запятыми пара, состоящая из '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, итерации прекращаются. Оценка ожидаемого улучшения функции потери на следующей итерации основана на векторе Гаусса-Ньютона, вычисленном для текущего значения параметра.

0.01
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, создайте значение по умолчанию findopOptions задайте и измените поля с помощью точечной нотации. Любые поля, которые не изменяются, сохраняют свои значения по умолчанию.

opt = findopOptions;
opt.SearchOptions.MaxIterations = 15;
opt.SearchOptions.Advanced.RelImprovement = 0.5;

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

свернуть все

Набор опций для findop команда, возвращенная как findopOptions объект.

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

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

См. также

|

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