Содержание
Переопределённая система — система, число уравнений которой больше числа неизвестных.
Для однозначного решения линейной системы уравнений нужно иметь n уравнений при n переменных величинах. Если уравнений меньше, чем число переменных величин, то такая система не определена (или несовместна, см. следствие 2 в Метод Гаусса). Также система n (или больше) уравнений может быть недоопределена, если некоторые уравнения не поставляют никакую дополнительную независимую от других уравнений информацию.
В силу отсутствия точного решения переопределённых систем, на практике принято вместо него отыскивать вектор, наилучшим образом удовлетворяющий всем уравнениям, то есть минимизирующий норму невязки системы в какой-нибудь степени. Этой проблеме посвящён отдельный раздел математической статистики — регрессионный анализ. Наиболее часто минимизируют квадрат отклонений от оцениваемого решения. Для этого применяют так называемый метод наименьших квадратов.
Материал из MachineLearning.
Содержание
Постановка задачи
Рассмотрим прямоугольную матрицу размером :
Пусть в матрице число строк превышает число столбцов ( n" alt= "m > n" />), причём все строки линейно независимы. Систему уравнений вида
где — описанная выше, — вектор-столбец решения, — вектор-столбец правой части, назовём переопределённой. Как можно видеть, в такой системе число уравнений превышает число неизвестных, и для неё не существует "классического" решения.
Изложение метода
Приведем простой пример получения переопределённой системы линейных уравнений. Такого рода задачи часто встречаются, например, при обработке результатов экспериментов. Пусть — линейная (или близкая к линейной) функция аргумента . В точках известны значения функции . Тогда — коэффициенты, которые необходимо подобрать так, чтобы выполнялись условия . Получим систему пяти уравнений относительно двух неизвестных. Это — переопределённая система. Она не имеет классического решения, так как в общем случае не существует прямой, проходящей через все 5 точек (это возможно только тогда, когда какие — либо три уравнения полученной системы линейными преобразованиями сводятся к двум другим — система линейно зависима). Необходимо провести аппроксимирующую кривую, которая не проходит через экспериментальные точки, но в то же время отражает экспериментальную зависимость, сглаживает возможные выбросы за счёт погрешности эксперимента.
Рассмотрим более общий случай. Пусть коэффициенты необходимо определить по результатам измерения. Для каждого уравнения рассмотрим невязку — разность левой и правой части. Невязка может принимать положительные и отрицательные значения. Чтобы не учитывать знаки, применим возведение в квадрат. Введем функцию, равную сумме квадратов невязок:
Примем за обобщённое решение переопределённой СЛАУ такие , для которых принимает наименьшие значение. Для определения обобщённого решения из условия минимума суммы квадратов невязки получаем систему двух уравнений, уже имеющую классическое решение:
Рассмотрим теперь общий случай. Определим невязку в виде
где — некоторые функции, образующие базис, например, тригонометрические: . Выражение называется обобщённым полиномом. В приведенном выше примере в качестве базисных функций были выбраны степенные функции . Обобщённый полином превратился в алгебраический.
В случае выбора произвольной системы базисных функций переопределенная СЛАУ и функционал будут иметь вид
Отыщем обобщенное решение методом наименьших квадратов: приравняем все частные производные по компонентам обобщенного решения к нулю (условия минимума):
и изменяя порядок суммирования, получаем СЛАУ:
или, в виде системы уравнений:
Система метода наименьших квадратов имеет вид с матрицей , элементами которой являются скалярные произведения :
Это — матрица Грама. В правой части системы стоят проекции свободного члена исходной задачи на подпространство базисных функций . Матрица симметричная и положительно определенная, таким образом, решение исследуемой СЛАУ существует и единственно. Находится, например, с помощью итерационного метода Гаусса.
Советы программисту
Отметим основные свойства матрицы Грама, полезные при программировании:
- Матрица симметрична, что позволяет сократить объём вычислений при заполнении матрицы.
- Матрица является положительно определённой, следовательно, при решении системы нормальных уравнений методом исключения Гаусса можно отказаться от процедуры выбора главного элемента.
- Определитель матрицы будет отличен от нуля, если в качестве базиса выбраны линейно независимые функции, при этом система имеет единственное решение.
- При обработке экспериментальных данных, определённых с погрешностью в каждой точке, обычно сначала берут небольшое (одну-две) число базисных функций. После вычисления приближённого решения, вычисляют сумму квадратов невязок по формуле, аналогичной (2). Если получается, что varepsilon" alt= "sqrt <Phi>> varepsilon" />, то необходимо расширить базис добавлением новых функций. Расширение базиса необходимо производить до тех пор, пока не выполнится условие .
- Выбор конкретных базисных функций зависит от свойств функции , таких как периодичность, экспоненциальный или логарифмический характер, свойства симметрии, наличие асимптотики и т.д.
дМС ТЕЫЕОЙС УЙУФЕНЩ МЙОЕКОЩИ БМЗЕВТБЙЮЕУЛЙИ ХТБЧОЕОЙК (мбх) ЧЙДБ AX=B , ЗДЕ A — РТСНПХЗПМШОБС НБФТЙГБ ТБЪНЕТОПУФША m УФТПЛ ОБ n УФПМВГПЧ, m>n, РТЙНЕОЕОЙЕ ОБИПДЙФ НЕФПД, ПУОПЧБООЩК ОБ SVD-ТБЪМПЦЕОЙЙ (Singular Value Decomposition) НБФТЙГЩ A :
A = U S V T
ъДЕУШ U — РТСНПХЗПМШОБС ПТФПЗПОБМШОБС РП УФПМВГБН НБФТЙГБ ТБЪНЕТОПУФША m УФТПЛ ОБ n УФПМВГПЧ, V — ЛЧБДТБФОБС ПТФПЗПОБМШОБС НБФТЙГБ ТБЪНЕТОПУФША n УФТПЛ ОБ n УФПМВГПЧ, S — ДЙБЗПОБМШОБС НБФТЙГБ ТБЪНЕТОПУФША n УФТПЛ ОБ n УФПМВГПЧ, УПДЕТЦБЭБС УЙОЗХМСТОЩЕ ЪОБЮЕОЙС НБФТЙГЩ A . рТЙЮЕН
U T U = V T V = E ,
ЗДЕ E — ЕДЙОЙЮОБС НБФТЙГБ ТБЪНЕТОПУФША n УФТПЛ ОБ n УФПМВГПЧ.
рП ОБКДЕООПНХ ТБЪМПЦЕОЙА НБФТЙГЩ A ТЕЫЕОЙЕ УЙУФЕНЩ ПРТЕДЕМСЕФУС УМЕДХАЭЙН ПВТБЪПН:
X = V diag <1/s ii >U T B
йУИПДОЩЕ ФЕЛУФЩ ОБ СЪЩЛЕ уй РТПЗТБНН, ТЕБМЙЪХАЭЙИ SVD-ТБЪМПЦЕОЙЕ Й ТЕЫЕОЙЕ ОБ ЕЗП ВБЪЕ УЙУФЕН мбх, НПЦОП ОБКФЙ Ч МЙФЕТБФХТЕ Й Ч УПУФБЧЕ НБФЕНБФЙЮЕУЛЙИ РБЛЕФПЧ (ОБРТЙНЕТ, http://www.netlib.org/clapack ЙМЙ http://alglib.sources.ru/matrixops/general).
оЙЦЕ РТЙЧПДЙФУС РТЙНЕТ ЙУРПМШЪПЧБОЙС ДМС ТЕЫЕОЙС УЙУФЕНЩ мбх ЖХОЛГЙК ЙЪ ВЙВМЙПФЕЛЙ GSL (GNU Scientific Library).