Упорядоченные оценки параметров модели

Что такое регуляризация?

Regularization является методом для определения ограничений на гибкость модели, таким образом, уменьшая неопределенность в предполагаемых значениях параметров.

Параметры модели получены путем подбора кривой результатам измерений к предсказанному ответу модели, таким как передаточная функция с тремя полюсами или моделью в пространстве состояний второго порядка. Порядок модели является мерой своей гибкости — выше порядок, большее гибкость. Например, модель с тремя полюсами более гибка, чем один с двумя полюсами. Увеличение порядка заставляет модель соответствовать наблюдаемым данным увеличивающейся точностью. Однако увеличенная гибкость идет с ценой более высокой неопределенности в оценках, измеренных более высоким значением ошибки variance или случайных. С другой стороны, выбор модели со слишком низким порядком приводит к большим систематическим ошибкам. Такие ошибки не могут быть приписаны шуму измерения и также известны как ошибку bias.

Идеально, параметры хорошей модели должны минимизировать mean square error (MSE), данный суммой систематической ошибки (смещение) и случайная ошибка (отклонение):

MSE = |Bias|2 + отклонение

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

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

  • В сером ящике и других структурированных моделях, порядок фиксируется базовыми ОДУ и не может быть изменен. Если данные не достаточно богаты, чтобы получить полный спектр динамического поведения, это обычно приводит к высокой неопределенности в ориентировочных стоимостях.

  • Варьируясь порядок модели не позволяет вам явным образом сформировать отклонение базовых параметров.

Регуляризация дает вам лучший контроль над смещением по сравнению с компромиссом отклонения путем представления дополнительного условия в критерии минимизации, который штрафует гибкость модели. Без регуляризации, для модели с одним выходом и никаким взвешиванием, оценки параметра получены путем минимизации взвешенной квадратичной нормы ошибок предсказания ε (t, θ):

VN(θ)=1Nt=1Nε2(t,θ)

где t является переменной времени, N является количеством выборок данных, и ε (t,θ) является предсказанной ошибкой, вычисленной как различие между наблюдаемым выходным сигналом и предсказанным выходом модели.

Регуляризация изменяет функцию стоимости путем добавления термина, пропорционального квадрату нормы вектора параметра θ, так, чтобы параметры θ были получены путем минимизации:

V^N(θ)=1Nt=1Nε2(t,θ)+ 1Nλθ2

где λ является положительной константой, которая оказывает влияние торговой ошибки отклонения в VN (θ) для систематической ошибки — чем больше значение λ, тем выше смещение и понижает отклонение θ. Добавленный термин штрафует значения параметров с эффектом хранения их значений, маленьких во время оценки. В статистике этот тип регуляризации называется ridge regression. Для получения дополнительной информации смотрите Гребенчатую Регрессию (Statistics and Machine Learning Toolbox).

Примечание

Другим выбором для нормы вектора θ является L1-норма, известная как lasso regularization. Однако System Identification Toolbox™ поддерживает только основанный на 2-норме штраф, известный как регуляризацию L2, как показано в предыдущем уравнении.

Термин штрафа сделан более эффективным при помощи положительного определенного матричного R, который позволяет взвешивать и/или вращение вектора параметра:

V^N(θ)=1Nt=1Nε2(t,θ)+1NλθTRθ

Квадратная матрица R дает дополнительную свободу для:

  • Формирование штрафа называет, чтобы соответствовать необходимым ограничениям, таким как сохранение стабильности модели

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

Для структурированных моделей, таких как модели серого ящика, можно хотеть сохранить предполагаемые параметры близко к их предполагаемым значениям, чтобы обеспечить физическую валидность предполагаемой модели. Это может быть достигнуто путем обобщения термина штрафа к λ(θθ*)TR(θθ*), таким образом, что функция стоимости становится:

V^N(θ)=1Nt=1Nε2(t,θ)+1Nλ(θθ*)TR(θθ*)

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

В регуляризации:

  • θ* представляет предварительные знания о неизвестных параметрах.

  • λ *R представляет доверие к предварительным знаниям неизвестных параметров. Это подразумевает что чем больше значение, тем выше доверие.

Формальная интерпретация в установке Bayesian - то, что θ имеет предшествующее распределение, которое является Гауссовым со средним значением θ* и ковариационная матрица σ2/λR1, где σ2 является отклонением ε (t). Использование регуляризации может поэтому быть соединено с некоторой предшествующей информацией о системе. Это могло быть довольно мягко, таково как система, устойчиво.

Можно использовать переменные λ и R регуляризации в качестве инструментов, чтобы найти хорошую модель, которая балансирует сложность и обеспечивает лучший компромисс между смещением и отклонением. Можно получить упорядоченные оценки параметров для передаточной функции, пространства состояний, полинома, серого ящика, процесса и нелинейных моделей черного ящика. Три условия, задающие термин штрафа, λ, R и θ*, представлены опциями регуляризации LambdaR, и Nominal, соответственно в тулбоксе. Можно задать их значения в наборах опции оценки и для линейных и для нелинейных моделей. В приложении System Identification нажмите Regularization в линейном диалоговом окне оценки модели или Estimation Options в диалоговом окне Nonlinear Models.

Когда использовать регуляризацию

Используйте регуляризацию для:

  • Идентификация сверхпараметрированных моделей.

  • Наложение априорного знания параметров модели в структурированных моделях.

  • Слияние знания поведения системы в моделях ARX и FIR.

Идентификация сверхпараметрированных моделей

Сверхпараметрированные модели богаты параметрами. Их оценка обычно дает к значениям параметров с высоким уровнем неопределенности. Сверхпараметризация характерна для нелинейного ARX (idnlarx) модели и могут также быть для линейных моделей в пространстве состояний с помощью свободной параметризации.

В таких случаях регуляризация улучшает числовое создание условий оценки. Можно исследовать компромисс смещения по сравнению с отклонением с помощью различных значений регуляризации постоянный Lambda. Как правило, Nominal опция является своим значением по умолчанию 0, и R единичная матрица, таким образом, что следующая функция стоимости минимизирована:

V^N(θ)=1Nt=1Nε2(t,θ)+ 1Nλθ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 отразить доверие к исходным предположениям параметров. Например, если θ является вектором с 2 элементами, и можно предположить значение первого элемента с большим доверием, чем второе, установить 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 и КИХ-моделях

Во многих ситуациях можно знать форму системной импульсной характеристики от тестов удара. Например, устойчивым системам довольно свойственно иметь импульсную характеристику, которая является гладкой и экспоненциально затухание. Можно использовать такие предварительные знания поведения системы, чтобы получить хорошие значения констант регуляризации для линейных в параметре моделей, таких как ARX и КИХ-модели структуры с помощью arxRegul команда.

Для моделей черного ящика произвольной структуры это часто затрудняет, чтобы определить оптимальные значения Lambda и R то выражение лучший компромисс смещения по сравнению с отклонением. Поэтому рекомендуется, чтобы вы запустили путем получения упорядоченной оценки ARX или КИХ-модели структуры. Затем преобразуйте модель в пространство состояний, передаточную функцию или полиномиальную модель с помощью 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 находится в Байесовой интерпретации. Добавленный термин штрафа является предположением, что вектор параметра θ является Гауссовым случайным вектором со средним значением θ* и ковариационная матрица σ2/λR1.

Можно иметь отношение естественно к такому предположению для модели серого ящика, где параметры имеют известную физическую интерпретацию. В других случаях это может больше затруднить. Затем необходимо использовать гребенчатую регрессию (R = 1; θ* = 0) и мелодия λ методом проб и ошибок.

Используйте следующие методы для определения λ и R значения:

  • Включите предшествующую информацию с помощью настраиваемых ядер.

  • Выполните тесты перекрестной проверки.

Включите предшествующую информацию Используя настраиваемые ядра

Настройка констант регуляризации для моделей ARX в arxRegul основан на простых предположениях о свойствах истинных импульсных характеристик.

В случае модели FIR вектор параметра содержит содействующую книгу импульсной характеристики для системы. От предварительных знаний системы часто известно, что импульсная характеристика является гладкой и экспоненциально затухание:

E[bk]2=Cμk,  corr{bkbk1}=ρ

где поправка означает корреляцию. Уравнение является параметризацией констант регуляризации в терминах коэффициентов C, μ, и ρ и выбранная форма (затухающий полином) называются kernel. Ядро таким образом содержит информацию о параметризации предшествующей ковариации коэффициентов импульсной характеристики.

Можно оценить параметры ядра путем корректировки их к результатам измерений с помощью RegularizationKernel вход arxRegul команда. Например, DC ядро оценивает все три параметра в то время как TC ссылки ядра ρ=μ. Этот метод настраивающихся ядер применяется ко всем линейным в параметре моделям, таким как модели ARX и FIR.

Выполните тесты перекрестной проверки

Общий способ протестировать и оценить любые параметры регуляризации состоит в том, чтобы оценить основанное на модели на определенных параметрах на наборе данных оценки и оценить модель, подходящую для другого набора данных валидации. Это известно как cross-validation.

Перекрестная проверка полностью походит на метод для выбора порядка модели:

  1. Сгенерируйте список кандидата λ и R значения, которые будут протестированы.

  2. Оцените модель для каждой регуляризации кандидата постоянный набор.

  3. Сравните подгонку модели к данным о валидации.

  4. Используйте константы, которые дают лучшую подгонку к данным о валидации.

Например:

% 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] Л. Лджанг и Т. Чен. “Что регуляризация может предложить для оценки динамических систем?” В Продолжениях Международного семинара IFAC на Адаптации и Изучении в Управлении и Обработке сигналов, ALCOSP13, Кане, Франция, июль 2013.

[3] Л. Лджанг и Т. Чен. “Выпуклость выходит в системе идентификации”. В Продолжениях 10-й Международной конференции IEEE по вопросам Control & Automation, ICCA 2013, Ханчжоу, Китай, июнь 2013.

Связанные примеры

Больше о