Regularization является методом для определения ограничений на гибкость модели, таким образом, уменьшая неопределенность в предполагаемых значениях параметров.
Параметры модели получены путем подбора кривой результатам измерений к предсказанному ответу модели, таким как передаточная функция с тремя полюсами или моделью в пространстве состояний второго порядка. Порядок модели является мерой своей гибкости — выше порядок, большее гибкость. Например, модель с тремя полюсами более гибка, чем один с двумя полюсами. Увеличение порядка заставляет модель соответствовать наблюдаемым данным увеличивающейся точностью. Однако увеличенная гибкость идет с ценой более высокой неопределенности в оценках, измеренных более высоким значением ошибки variance или случайных. С другой стороны, выбор модели со слишком низким порядком приводит к большим систематическим ошибкам. Такие ошибки не могут быть приписаны шуму измерения и также известны как ошибку bias.
Идеально, параметры хорошей модели должны минимизировать mean square error (MSE), данный суммой систематической ошибки (смещение) и случайная ошибка (отклонение):
MSE = |Bias |2 + Отклонение
Минимизация является таким образом компромиссом в ограничении модели. Гибкая (высокого уровня) модель дает маленькое смещение и большое отклонение, тогда как более простая модель (низкоуровневая) приводит к большему смещению и меньшим ошибкам отклонения. Как правило, можно исследовать этот компромисс между смещением и ошибками отклонения тестами перекрестной проверки на наборе моделей увеличивающейся гибкости. Однако такие тесты не всегда дают полный контроль в управлении поведение оценки параметра. Например:
Вы не можете использовать известную (априорную) информацию о модели, чтобы влиять на качество подгонок.
В сером ящике и других структурированных моделях, порядок фиксируется базовыми ОДУ и не может быть изменен. Если данные не достаточно богаты, чтобы получить полный спектр динамического поведения, это обычно приводит к высокой неопределенности в ориентировочных стоимостях.
Варьируясь порядок модели не позволяет вам явным образом сформировать отклонение базовых параметров.
Регуляризация дает вам лучший контроль над смещением по сравнению с компромиссом отклонения путем представления дополнительного условия в критерии минимизации, который штрафует гибкость модели. Без регуляризации, для модели с одним выходом и никаким взвешиванием, оценки параметра получены путем минимизации взвешенной квадратичной нормы ошибок предсказания ε (t, θ):
где t является переменной времени, N является количеством выборок данных, и ε (t,θ) является предсказанной ошибкой, вычисленной как различие между наблюдаемым выходным сигналом и предсказанным выходом модели.
Регуляризация изменяет функцию стоимости путем добавления термина, пропорционального квадрату нормы вектора параметра θ, так, чтобы параметры θ были получены путем минимизации:
где λ является положительной константой, которая оказывает влияние торговой ошибки отклонения в VN (θ) для систематической ошибки — чем больше значение λ, тем выше смещение и понижает отклонение θ. Добавленный термин штрафует значения параметров с эффектом хранения их значений, маленьких во время оценки. В статистике этот тип регуляризации называется ridge regression. Для получения дополнительной информации смотрите Гребенчатую Регрессию (Statistics and Machine Learning Toolbox).
Примечание
Другим выбором для нормы вектора θ является L1-норма, известная как lasso regularization. Однако System Identification Toolbox™ поддерживает только основанный на 2-норме штраф, известный как регуляризацию L2, как показано в предыдущем уравнении.
Термин штрафа сделан более эффективным при помощи положительного определенного матричного R, который позволяет взвешивать и/или вращение вектора параметра:
Квадратная матрица R дает дополнительную свободу для:
Формирование штрафа называет, чтобы соответствовать необходимым ограничениям, таким как сохранение стабильности модели
Добавляя известную информацию о параметрах модели, таких как надежность отдельных параметров в векторе θ
Для структурированных моделей, таких как модели серого ящика, можно хотеть сохранить предполагаемые параметры близко к их предполагаемым значениям, чтобы обеспечить физическую валидность предполагаемой модели. Это может быть достигнуто путем обобщения термина штрафа к , таким образом, что функция стоимости становится:
Минимизация этой функции стоимости оказывает влияние оценки θ, таким образом, что их значения остаются рядом с исходными предположениями θ*.
В регуляризации:
θ* представляет предварительные знания о неизвестных параметрах.
λ *R представляет доверие к предварительным знаниям неизвестных параметров. Это подразумевает что чем больше значение, тем выше доверие.
Формальная интерпретация в установке Bayesian - то, что θ имеет предшествующее распределение, которое является Гауссовым со средним значением θ* и ковариационная матрица , где σ2 отклонение ε (t). Использование регуляризации может поэтому быть соединено с некоторой предшествующей информацией о системе. Это могло быть довольно мягко, таково как система, устойчиво.
Можно использовать переменные λ и R регуляризации в качестве инструментов, чтобы найти хорошую модель, которая балансирует сложность и обеспечивает лучший компромисс между смещением и отклонением. Можно получить упорядоченные оценки параметров для передаточной функции, пространства состояний, полинома, серого ящика, процесса и нелинейных моделей черного ящика. Три термина, задающие термин штрафа, λ, R и θ*, представлены опциями регуляризации Lambda
R
, и Nominal
, соответственно в тулбоксе. Можно задать их значения в наборах опции оценки и для линейных и для нелинейных моделей. В приложении System Identification нажмите Regularization в линейном диалоговом окне оценки модели или Estimation Options в диалоговом окне Nonlinear Models.
Используйте регуляризацию для:
Идентификация сверхпараметрированных моделей.
Наложение априорного знания параметров модели в структурированных моделях.
Слияние знания поведения системы в моделях ARX и FIR.
Сверхпараметрированные модели богаты параметрами. Их оценка обычно дает к значениям параметров с высоким уровнем неопределенности. Сверхпараметризация характерна для нелинейного ARX (idnlarx
) модели и могут также быть для линейных моделей в пространстве состояний с помощью свободной параметризации.
В таких случаях регуляризация улучшает числовое создание условий оценки. Можно исследовать компромисс смещения по сравнению с отклонением с помощью различных значений регуляризации постоянный Lambda
. Как правило, Nominal
опция является своим значением по умолчанию 0
, и R
единичная матрица, таким образом, что следующая функция стоимости минимизирована:
В следующем примере нелинейная оценка модели ARX с помощью большого количества нейронов приводит к плохо обусловленной проблеме оценки.
% Load estimation data. load regularizationExampleData.mat nldata % Estimate model without regularization. Orders = [1 2 1]; NL = idSigmoidNetwork('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 и КИХ-модели структуры с помощью 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
находится в Байесовой интерпретации. Добавленный термин штрафа является предположением, что вектор параметра θ является Гауссовым случайным вектором со средним значением θ* и ковариационная матрица .
Можно иметь отношение естественно к такому предположению для модели серого ящика, где параметры имеют известную физическую интерпретацию. В других случаях это может больше затруднить. Затем необходимо использовать гребенчатую регрессию (R
= 1; θ* = 0) и мелодия λ методом проб и ошибок.
Используйте следующие методы для определения λ и R
значения:
Включите предшествующую информацию с помощью настраиваемых ядер.
Выполните тесты перекрестной проверки.
Настройка констант регуляризации для моделей ARX в arxRegul
основан на простых предположениях о свойствах истинных импульсных характеристик.
В случае модели FIR вектор параметра содержит содействующую книгу импульсной характеристики для системы. От предварительных знаний системы часто известно, что импульсная характеристика является гладкой и экспоненциально затухание:
где поправка означает корреляцию. Уравнение является параметризацией констант регуляризации в терминах коэффициентов C, μ, и ρ и выбранная форма (затухающий полином) называются kernel. Ядро таким образом содержит информацию о параметризации предшествующей ковариации коэффициентов импульсной характеристики.
Можно оценить параметры ядра путем корректировки их к результатам измерений с помощью RegularizationKernel
вход arxRegul
команда. Например, DC
ядро оценивает все три параметра в то время как TC
ссылки ядра . Этот метод настраивающихся ядер применяется ко всем линейным в параметре моделям, таким как модели ARX и FIR.
Общий способ протестировать и оценить любые параметры регуляризации состоит в том, чтобы оценить основанное на модели на определенных параметрах на наборе данных оценки и оценить модель, подходящую для другого набора данных валидации. Это известно как cross-validation.
Перекрестная проверка полностью походит на метод для выбора порядка модели:
Сгенерируйте список кандидата λ и 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] Л. Лджанг и Т. Чен. “Что регуляризация может предложить для оценки динамических систем?” В Продолжениях Международного семинара IFAC на Адаптации и Изучении в Управлении и Обработке сигналов, ALCOSP13, Кане, Франция, июль 2013.
[3] Л. Лджанг и Т. Чен. “Выпуклость выходит в системе идентификации”. В Продолжениях 10-й Международной конференции IEEE по вопросам Control & Automation, ICCA 2013, Ханчжоу, Китай, июнь 2013.