Регуляризация - это метод определения ограничений на гибкость модели, тем самым уменьшая неопределенность в оценочных значениях параметров.
Параметры модели получают подгонкой измеренных данных к прогнозируемому отклику модели, такому как передаточная функция с тремя полюсами или модель пространства состояния второго порядка. Порядок модели является мерой ее гибкости - чем выше порядок, тем больше гибкость. Например, модель с тремя полюсами является более гибкой, чем модель с двумя полюсами. Увеличение порядка приводит к тому, что модель подходит к наблюдаемым данным с возрастающей точностью. Однако повышенная гибкость связана с ценой более высокой неопределенности в оценках, измеряемой более высокой величиной случайной или дисперсионной ошибки. С другой стороны, выбор модели со слишком низким порядком приводит к большим систематическим ошибкам. Такие ошибки не могут быть отнесены к шуму измерения и также известны как погрешность смещения.
В идеале параметры хорошей модели должны минимизировать среднеквадратическую ошибку (MSE), заданную суммой систематической ошибки (смещения) и случайной ошибки (дисперсии):
MSE = | Смещение | 2 + Отклонение
Таким образом, минимизация является компромиссом в ограничении модели. Гибкая модель (высокого порядка) дает небольшое смещение и большую дисперсию, в то время как более простая модель (низкого порядка) приводит к большему смещению и меньшим ошибкам дисперсии. Как правило, можно исследовать этот компромисс между ошибками смещения и дисперсии с помощью тестов перекрестной проверки на наборе моделей повышения гибкости. Однако такие тесты не всегда дают полный контроль при управлении поведением оценки параметров. Например:
Нельзя использовать известную (априорную) информацию о модели для влияния на качество посадок.
В серых коробках и других структурированных моделях порядок фиксируется нижележащими ОДУ и не может быть изменен. Если данные недостаточно богаты для получения полного диапазона динамического поведения, это обычно приводит к высокой неопределенности в оценочных значениях.
Изменение порядка модели не позволяет явно формировать дисперсию базовых параметров.
Регуляризация позволяет лучше контролировать компромисс между отклонениями и отклонениями, вводя дополнительный термин в критерий минимизации, который наносит ущерб гибкости модели. Без регуляризации, для модели с одним выходом и без взвешивания, оценки параметров получаются минимизацией взвешенной квадратичной нормы ошибок предсказания
, start)
где t - временная переменная, N - число выборок данных, и (t) - предсказанная ошибка, вычисленная как разность между наблюдаемым выходным сигналом и предсказанным выходным сигналом модели.
Регуляризация модифицирует функцию затрат, добавляя член, пропорциональный квадрату нормы вектора параметра, таким образом, что параметры startполучаются минимизацией:
‖θ ‖ 2
где λ - положительная константа, которая оказывает влияние на ошибку дисперсии трейдинга в VN (λ) для ошибки смещения - чем больше значение λ, тем выше смещение и ниже дисперсия λ. Добавленный термин штрафует значения параметров с эффектом сохранения их значений небольшими во время оценки. В статистике этот тип регуляризации называется хребтовой регрессией. Дополнительные сведения см. в разделе Регрессия хребта (панель инструментов статистики и машинного обучения).
Примечание
Еще одним выбором для нормы, относящейся к, является L1-norm, известный как регуляризация лассо. Однако Toolbox™ системной идентификации поддерживает только 2-нормальный штраф, известный как регуляризация L2, как показано в предыдущем уравнении.
Штрафной член становится более эффективным путем использования положительной определенной матрицы R, которая позволяет взвешивать и/или поворачивать вектор параметров:
1Nλ (T)
Квадратная матрица R дает дополнительную свободу для:
Формирование штрафного срока в соответствии с требуемыми ограничениями, такими как сохранение стабильности модели
Добавление известной информации о параметрах модели, например, о надежности отдельных параметров в векторе
Для структурированных моделей, таких как модели с серым прямоугольником, для сохранения физической достоверности расчетной модели может потребоваться поддерживать приблизительные значения оценочных параметров. Это может быть достигнуто путём обобщения штрафного члена до (start− start*), так что функция затрат становится:
Сведение к минимуму этой функции затрат приводит к оценке, так что их значения остаются близкими к начальным предположениям,
В регуляризации:
start* представляет собой предшествующее знание неизвестных параметров.
λ * R представляет уверенность в предшествующем знании неизвестных параметров. Это означает, что чем больше значение, тем выше доверие.
Формальная интерпретация в байесовском задании заключается в том, что startимеет предыдущее распределение, которое является гауссовым со средне- и ковариационной матрицей − 1, где start2 - дисперсия (t). Поэтому использование регуляризации может быть связано с некоторой предшествующей информацией о системе. Это может быть довольно мягким, например, система стабильна.
Переменные регуляризации λ и R можно использовать в качестве инструментов для поиска хорошей модели, которая уравновешивает сложность и обеспечивает наилучший компромисс между смещением и дисперсией. Можно получить регуляризованные оценки параметров для моделей передаточной функции, состояния-пространства, полинома, серого ящика, процесса и нелинейного черного ящика. Три члена, определяющие штрафной термин, λ, R и λ *, представлены вариантами регуляризации.Lambda, R, и Nominalсоответственно на панели инструментов. Их значения можно указать в наборах опций оценки как для линейных, так и для нелинейных моделей. В приложении Идентификация системы щелкните Регуляризация в диалоговом окне оценки линейной модели или Опции оценки в диалоговом окне Нелинейные модели.
Использовать регуляризацию для:
Идентификация сверхпараметризованных моделей.
Обеспечение априорного знания параметров модели в структурированных моделях.
Включение знаний о поведении системы в модели ARX и FIR.
Избыточно параметризованные модели богаты параметрами. Их оценка обычно дает значения параметров с высоким уровнем неопределенности. Избыточная параметризация распространена для нелинейных ARX (idnlarx) модели, а также может быть для линейных моделей состояния-пространства с использованием свободной параметризации.
В таких случаях регуляризация улучшает численное условие оценки. С помощью различных значений константы регуляризации можно исследовать компромисс между смещением и переменностью. Lambda. Как правило, Nominal параметр является значением по умолчанию 0, и R является единичной матрицей, так что сводится к минимуму следующая функция затрат:
‖θ ‖ 2
В следующем примере нелинейная оценка модели ARX с использованием большого количества нейронов приводит к плохо обусловленной проблеме оценки.
% Load estimation data. load regularizationExampleData.mat nldata % Estimate model without regularization. Orders = [1 2 1]; NL = sigmoidnet('NumberOfUnits',30); sys = nlarx(nldata,Orders,NL); compare(nldata,sys)
Применение даже небольшого штрафа за регуляризацию приводит к хорошему соответствию модели данным.
% Estimate model using regularization constant λ = 1e-8.
opt = nlarxOptions;
opt.Regularization.Lambda = 1e-8;
sysr = nlarx(nldata,Orders,NL,opt);
compare(nldata,sysr)
В моделях, полученных из дифференциальных уравнений, параметры имеют физическую значимость. Вы можете иметь хорошее предположение для типичных значений этих параметров, даже если надежность предположения может быть различной для каждого параметра. Поскольку структура модели в таких случаях фиксирована, упростить структуру для уменьшения ошибок расхождений невозможно.
Использование константы регуляризации Nominal, вы можете держать оценочные значения близко к их первоначальным предположениям. Можно также проектировать R чтобы отразить уверенность в начальных догадках параметров. Например, если startявляется 2-элементным вектором и вы можете угадать значение первого элемента с большей уверенностью, чем второго, set R является диагональной матрицей размером 2 на 2, так что R (1,1) > > R (2,2).
В следующем примере модель двигателя постоянного тока параметризуется статическим усилением G и константа времени, Из предварительного знания предположим, что вы знаете, что G составляет примерно 4, а «», - примерно 1. Кроме того, предположим, что у вас больше уверенности в значении G и хотел бы руководствоваться оценкой, чтобы оставаться близким к первоначальному предположению.
% Load estimation data. load regularizationExampleData.mat motorData % Create idgrey model for DC motor dynamics. mi = idgrey(@DCMotorODE,{'G',4;'Tau',1},'cd',{}, 0); mi = setpar(mi,'label','default'); % Configure Regularization options. opt = greyestOptions; opt.Regularization.Lambda = 100; % Specify that the second parameter better known than the first. opt.Regularization.R = [1, 1000]; % Specify initial guess as Nominal. opt.Regularization.Nominal = 'model'; % Estimate model. sys = greyest(motorData,mi,opt) getpar(sys)
Во многих случаях форма импульсной реакции системы может быть известна в результате испытаний на удар. Например, довольно часто стабильные системы имеют импульсную характеристику, которая является гладкой и экспоненциально затухающей. Такие предшествующие знания поведения системы можно использовать для получения хороших значений констант регуляризации для моделей линейных параметров, таких как модели структуры ARX и FIR, используя arxRegul команда.
Для моделей черного ящика произвольной структуры часто трудно определить оптимальные значения Lambda и R которые дают лучший компромисс между отклонениями и переменностью. Поэтому рекомендуется начать с получения регуляризованной оценки модели структуры ARX или FIR. Затем преобразуйте модель в состояние-пространство, передаточную функцию или полиномиальную модель, используя idtf, idss, или idpoly команды с последующим сокращением заказа при необходимости.
В следующем примере прямая оценка модели функции непрерывной временной передачи 15-го порядка терпит неудачу из-за численного плохого кондиционирования.
% Load estimation data. load dryer2 Dryer = iddata(y2,u2,0.08); Dryerd = detrend(Dryer,0); Dryerde = Dryerd(1:500); xe = Dryerd(1:500); ze = Dryerd(1:500); zv = Dryerd(501:end); % Estimate model without regularization. sys1 = tfest(ze,15);
Поэтому используйте регуляризованную оценку ARX, а затем преобразуйте модель в структуру передаточной функции.
% Specify regularization constants. [L, R] = arxRegul(ze,[15 15 1]); optARX = arxOptions; optARX.Regularization.Lambda = L; optARX.Regularization.R = R; % Estimate ARX model. sysARX = arx(ze,[15 15 1],optARX); % Convert model to continuous time. sysc = d2c(sysARX); % Convert model to transfer function. sys2 = idtf(sysc); % Validate the models sys1 and sys2. compare(zv,sys1,sys2)
Руководство по выбору констант регуляризации λ и R находится в байесовской интерпретации. Добавленный штрафной член - это предположение о том, что вектор-параметр λ является гауссовым случайным вектором со средним λ * и ковариационной матрицей − 1.
Можно естественно относиться к такому предположению для модели «серого ящика», где параметры имеют известную физическую интерпретацию. В других случаях это может быть сложнее. Затем вы должны использовать регрессию хребта (R = 1; δ * = 0) и tune λ методом проб и ошибок.
Используйте следующие методы для определения λ и R значения:
Включить предшествующую информацию с помощью настраиваемых ядер.
Выполните тесты перекрестной проверки.
Настройка констант регуляризации для моделей ARX в arxRegul основан на простых предположениях о свойствах истинных импульсных откликов.
В случае модели КИХ вектор параметров содержит коэффициенты bk импульсной характеристики для системы. Из предшествующего знания системы часто известно, что импульсная характеристика является гладкой и экспоненциально затухающей:
− 1} =
где corr означает корреляцию. Уравнение представляет собой параметризацию констант регуляризации в терминах коэффициентов C, startи, а выбранная форма (затухающий многочлен) называется ядром. Таким образом, ядро содержит информацию о параметризации предшествующей ковариации коэффициентов импульсной характеристики.
Вы можете оценить параметры ядра, настроив их на измеренные данные с помощью RegularizationKernel вход arxRegul команда. Например, DC ядро оценивает все три параметра, в то время как TC связи с ядром Этот метод настройки ядер применяется ко всем линейным моделям в параметрах, таким как модели ARX и FIR.
Общим способом проверки и оценки любых параметров регуляризации является оценка модели на основе определенных параметров на наборе данных оценки и оценка соответствия модели другому набору данных проверки. Это называется перекрестной проверкой.
Перекрестная проверка полностью аналогична методу выбора порядка модели:
Создать список кандидатов λ и R значения, подлежащие тестированию.
Оценка модели для каждого набора констант регуляризации кандидатов.
Сравните модель с данными проверки.
Используйте константы, которые наилучшим образом соответствуют данным проверки.
Например:
% Create estimation and validation data sets.
ze = z(1:N/2);
zv = z(N/2:end);
% Specify regularization options and estimate models.
opt = ssestOptions;
for tests = 1:M
opt.Regularization.Lambda = Lvalue(test);
opt.Regularization.R = Rvalue(test);
m{test} = ssest(ze,order,opt);
end
% Compare models with validation data for model fit.
[~,fit] = compare(zv,m{:))[1] Л. Люн. «Некоторые классические и некоторые новые идеи для идентификации линейных систем». Журнал систем управления, автоматизации и электротехники. Апрель 2013, том 24, выпуск 1-2, стр. 3-10.
[2] Л. Лджанг и Т. Чен. «Что может предложить регуляризация для оценки динамических систем?» В работе Международного рабочего совещания МФБ по адаптации и обучению в области контроля и обработки сигналов, ALCOSP13, Кан, Франция, июль 2013 года.
[3] Л. Лджанг и Т. Чен. «Проблемы выпуклости при идентификации системы». В трудах 10-й Международной конференции IEEE по контролю и автоматизации, ICCA 2013, Ханчжоу, Китай, июнь 2013.