Набор опций для nlhw
создает набор опций по умолчанию для opt
= nlhwOptionsnlhw
. При необходимости используйте запись через точку, чтобы настроить набор опций.
создает набор опций с опциями, заданными одним или несколькими 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')
'InitialCondition'
- Обработка начальных условий'zero'
(по умолчанию) | 'estimate'
Обработка начальных условий при расчете с помощью nlhw
, заданная как разделенная разделенными запятой парами, состоящая из InitialCondition
и одно из следующих:
'zero'
- Начальные условия равны нулю.
'estimate'
- Начальные условия рассматриваются как параметры независимой оценки.
'Display'
- Настройка отображения прогресса оценки'off'
(по умолчанию) | 'on'
Настройка отображения прогресса оценки, заданная как разделенная разделенными запятой парами, состоящая из 'Display'
и одно из следующих:
'off'
- Информация о прогрессе или результатах не отображается.
'on'
- Информация о структуре модели и результатах оценки отображаются в окне progress-viewer.
'OutputWeight'
- Взвешивание ошибки предсказания в многозначных оценках'noise'
(по умолчанию) | положительную полуопределенную матрицуВзвешивание ошибки предсказания в оценках мультивыхода, заданное как разделенная разделенными запятой парами, состоящая из 'OutputWeight'
и одно из следующих:
'noise'
- Оптимальное взвешивание автоматически вычисляется как обратное расчетного отклонения шума. Это взвешивание минимизирует det(E'*E)
, где E
- матрица ошибок предсказания. Эта опция недоступна при использовании 'lsqnonlin'
как 'SearchMethod'
.
Положительная полуопределённая матрица, W
, размера, равного количеству выходов. Это взвешивание минимизирует trace(E'*E*W/N)
, где E
- матрица ошибок предсказания и N
количество выборок данных.
'Regularization'
- Опции для регулярной оценки параметров моделиОпции для регулярной оценки параметров модели, заданные как разделенная разделенными запятой парами, состоящая из 'Regularization'
и структуру с полями:
Имя поля | Описание | Дефолт |
---|---|---|
Lambda | Смещение от балансовой константы отклонения, заданное как неотрицательный скаляр. | 0 - Отсутствие регуляризации. |
R | Взвешивающая матрица, заданная как вектор неотрицательных скаляров или квадратная положительная полуопределенная матрица. Длина должна быть равна количеству свободных параметров в модели, np . Используйте nparams команда для определения количества параметров модели. | 1 - Указывает значение eye(np) . |
Nominal |
Номинальное значение, к которому свободные параметры тянутся во время оценки, задается как одно из следующего:
| 'zero' |
Чтобы задать значения полей в Regularization
, создайте nlhwOptions
по умолчанию установите и измените поля с помощью записи через точку. Все поля, которые вы не изменяете, сохраняют значения по умолчанию.
opt = nlhwOptions; opt.Regularization.Lambda = 1.2; opt.Regularization.R = 0.5*eye(np);
Регуляризация является методом для определения ограничений гибкости модели, которые уменьшают неопределенность в оцененных значениях параметров. Для получения дополнительной информации см. «Регуляризованные оценки параметров модели».
'SearchMethod'
- Численный метод поиска, используемый для итерационной оценки параметра'auto'
(по умолчанию) | 'gn'
| 'gna'
| 'lm'
| 'grad'
| 'lsqnonlin'
| 'fmincon'
Численный метод поиска, используемый для итерационной оценки параметра, заданный как разделенная разделенными запятой парами, состоящая из 'SearchMethod'
и одно из следующих:
'auto'
- комбинация алгоритмов поиска по линии, 'gn'
, 'lm'
, 'gna'
, и 'grad'
методы пробуются последовательно при каждой итерации. Используется первое направление спуска, ведущее к снижению стоимости оценки.
'gn'
- Подпространство Гаусса-Ньютона поиск наименьших квадратов. Сингулярные значения якобиевой матрицы менее GnPinvConstant*eps*max(size(J))*norm(J)
отбрасываются при вычислении направления поиска. J - якобианская матрица. Матрица Гессия аппроксимируется как JTJ. Если улучшения в этом направлении нет, функция пробует градиентное направление.
'gna'
- Адаптивный подпространство Gauss-Newton search. Собственные значения меньше gamma*max(sv)
Гессиан игнорируются, где sv содержат сингулярные значения Гессиана. Направление Гаусса-Ньютона вычисляется в оставшемся подпространстве. gamma имеет начальное значение InitialGnaTolerance
(см. Advanced
в 'SearchOptions'
для получения дополнительной информации. Это значение увеличивается на множитель LMStep
каждый раз, когда поиск не находит меньшее значение критерия менее чем за пять бисекций. Это значение уменьшается на множитель 2*LMStep
каждый раз, когда поиск успешен без каких-либо бисекций.
'lm'
- поиск Левенберга-Марквардта методом наименьших квадратов, где следующее значение параметров -pinv(H+d*I)*grad
от предыдущего. H - Гессиан, I - тождества матрица, а grad - градиент. d - это число, которое увеличивается до тех пор, пока не будет найдено более низкое значение критерия.
'grad'
- Наискорейший спуск поиска методом наименьших квадратов.
'lsqnonlin'
- Алгоритм, отражающий доверительную область lsqnonlin
(Optimization Toolbox). Требуется программное обеспечение Optimization Toolbox™.
'fmincon'
- Нелинейные решатели с ограничениями. Можно использовать последовательные квадратичные алгоритмы программирования (SQP) и отражения доверительной области fmincon
(Optimization Toolbox) решатель. Если у вас есть программное обеспечение Optimization Toolbox, можно также использовать алгоритмы interior-point и active-set fmincon
решатель. Задайте алгоритм в SearchOptions.Algorithm
опция. The fmincon
алгоритмы могут привести к улучшению результатов оценки в следующих сценариях:
Ограниченные задачи минимизации, когда существуют ограничения, накладываемые на параметры модели.
Моделируйте структуры, где функция потерь является нелинейной или не сглаженной функцией параметров.
Оценка модели с мультивыходами. Функция определяющих минимизируется по умолчанию для оценки мультивыхода. fmincon
алгоритмы способны минимизировать такие функции потерь непосредственно. Другие методы поиска, такие как 'lm'
и 'gn'
минимизировать функцию определяющих путем поочередной оценки отклонения шума и уменьшения значения потерь для заданного значения отклонения шума. Следовательно, fmincon
алгоритмы могут предложить лучшую эффективность и точность для оценок мультивыхода.
'SearchOptions'
- Набор опций для алгоритма поискаНабор опций для алгоритма поиска, заданный как разделенная разделенными запятой парами, состоящая из 'SearchOptions'
и набор опций поиска с полями, которые зависят от значения SearchMethod
.
SearchOptions
Структура при SearchMethod
Задается как 'gn'
, 'gna'
, 'lm'
, 'grad'
, или 'auto'
Имя поля | Описание | Дефолт | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Tolerance | Минимальный процент различия между текущим значением функции потерь и ее ожидаемым улучшением после следующей итерации, заданным как положительная скалярная величина. Когда процент ожидаемого улучшения меньше | 1e-5 | ||||||||||||||||||||||||||||||
MaxIterations | Максимальное количество итераций во время минимизации функции потерь, заданное как положительное целое число. Итерации останавливаются, когда Настройка Использование | 20 | ||||||||||||||||||||||||||||||
Advanced | Дополнительные параметры поиска, заданные как структура со следующими полями:
|
SearchOptions
Структура при SearchMethod
Задается как 'lsqnonlin'
Имя поля | Описание | Дефолт |
---|---|---|
FunctionTolerance | Допуск на разрыв функции потерь, которую программное обеспечение минимизирует, чтобы определить оцененные значения параметров, заданные как положительная скалярная величина. Значение | 1e-5 |
StepTolerance | Допуск на разрыв для предполагаемых значений параметров, заданный как положительная скалярная величина. Значение | 1e-6 |
MaxIterations | Максимальное количество итераций во время минимизации функции потерь, заданное как положительное целое число. Итерации останавливаются, когда Значение | 20 |
Advanced | Расширенные настройки поиска, заданные как набор опций для Для получения дополнительной информации смотрите таблицу Опции Оптимизации в Опциях Оптимизации (Optimization Toolbox). | Использование optimset('lsqnonlin') чтобы создать набор опций по умолчанию. |
SearchOptions
Структура при SearchMethod
Задается как 'fmincon'
Имя поля | Описание | Дефолт |
---|---|---|
Algorithm |
Для получения дополнительной информации об алгоритмах смотрите Ограниченные алгоритмы нелинейной оптимизации (Optimization Toolbox) и Выбор алгоритма (Optimization Toolbox). | 'sqp' |
FunctionTolerance | Допуск на разрыв функции потерь, которую программное обеспечение минимизирует, чтобы определить оцененные значения параметров, заданные как положительная скалярная величина. | 1e-6 |
StepTolerance | Допуск на разрыв для предполагаемых значений параметров, заданный как положительная скалярная величина. | 1e-6 |
MaxIterations | Максимальное количество итераций во время минимизации функции потерь, заданное как положительное целое число. Итерации останавливаются, когда | 100 |
Чтобы задать значения полей в SearchOptions
, создайте nlhwOptions
по умолчанию установите и измените поля с помощью записи через точку. Все поля, которые вы не изменяете, сохраняют значения по умолчанию.
opt = nlhwOptions; opt.SearchOptions.MaxIterations = 50; opt.SearchOptions.Advanced.RelImprovement = 0.5;
'Advanced'
- Дополнительные расширенные опцииДополнительные расширенные опции, заданные как разделенная разделенными запятой парами, состоящая из 'Advanced'
и структуру с полями:
Имя поля | Описание | Дефолт |
---|---|---|
ErrorThreshold | Порог того, когда настроить вес больших ошибок с квадратичного на линейный, задаётся как неотрицательный скаляр. Ошибки больше ErrorThreshold умножение предполагаемого стандартного отклонения на линейный вес в функции потерь. Стандартное отклонение оценивается робастно как медиана абсолютных отклонений от медианы ошибок предсказания, деленная на 0,7. Если ваши данные оценки содержат выбросы, попробуйте задать ErrorThreshold на 1.6 . | 0 - Приводит к чисто квадратичной функции потерь. |
MaxSize | Максимальное количество элементов в сегменте, когда входно-выходные данные разделены на сегменты, заданные как положительное целое число. | 250000 |
Чтобы задать значения полей в Advanced
, создайте nlhwOptions
по умолчанию установите и измените поля с помощью записи через точку. Все поля, которые вы не изменяете, сохраняют значения по умолчанию.
opt = nlhwOptions; opt.Advanced.ErrorThreshold = 1.2;
opt
- Набор опций для nlhw
nlhwOptions
набор опцийНабор опций для nlhw
, возвращается как nlhwOptions
набор опций.
В имена году были изменены опции анализа некоторых оценок и R2018a. Прежние имена все еще работают. Для получения дополнительной информации смотрите R2018a релиза примечание Переименование оценки и Опции анализа.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.