Участник:Василий Ломакин/Решение переопределенной СЛАУ
Материал из MachineLearning.
Строка 1: | Строка 1: | ||
== Постановка задачи == | == Постановка задачи == | ||
- | Рассмотрим прямоугольную матрицу размером <tex></tex>: | + | Рассмотрим прямоугольную матрицу размером <tex>m \times n</tex>: |
- | <p align="center"><tex>A= \left( \begin{array}{cccc} a_{11} & a_{12} & \ldots & a_{1n}\\ a_{21} & a_{22} & \ldots & a_{2n}\\ \ldots & \ldots & \ldots & \ldots \\ a_{m1} & a_{m2} & \ldots & a_{mn}\\ \end{array}\right).</tex></p> | + | <p align="center"><tex> |
+ | A= \left( \begin{array}{cccc} a_{11} & a_{12} & \ldots & a_{1n}\\ a_{21} & a_{22} & \ldots & a_{2n}\\ \ldots & \ldots & \ldots & \ldots \\ a_{m1} & a_{m2} & \ldots & a_{mn}\\ \end{array}\right). | ||
+ | </tex></p> | ||
+ | |||
Пусть в матрице число строк превышает число столбцов (<tex>m > n</tex>), причём все строки линейно независимы. | Пусть в матрице число строк превышает число столбцов (<tex>m > n</tex>), причём все строки линейно независимы. | ||
Систему уравнений вида | Систему уравнений вида | ||
{{ eqno | 1 }} | {{ eqno | 1 }} | ||
<p align="center"><tex>Au=f</tex>,</p> | <p align="center"><tex>Au=f</tex>,</p> | ||
- | где <tex>A</tex> - описанная выше, <tex>{u}={\{u_1, \ldots , u_n \}}^T</tex> — вектор-столбец решения, <tex>{f}={\{f_1, \ldots , f_n \}}^T</tex> — вектор-столбец правой части, назовём '''переопределённой'''. Как можно видеть, в такой системе число уравнений превышает число неизвестных, и для неё не существует "классического" решения | + | где <tex>A</tex> - описанная выше, <tex>{u}={\{u_1, \ldots , u_n \}}^T</tex> — вектор-столбец решения, <tex>{f}={\{f_1, \ldots , f_n \}}^T</tex> — вектор-столбец правой части, назовём '''переопределённой'''. Как можно видеть, в такой системе число уравнений превышает число неизвестных, и для неё не существует "классического" решения. |
== Изложение метода == | == Изложение метода == | ||
Строка 33: | Строка 36: | ||
Система метода наименьших квадратов имеет вид <tex> \mathbf{Du} = \mathbf{f}</tex> с матрицей <tex>\mathbf{D}</tex>, элементами которой являются скалярные произведения <tex>(\varphi_i, \varphi_j) = \sum\limits_{i = 0}^n \varphi_j (x) \varphi_k (x_i)</tex>: | Система метода наименьших квадратов имеет вид <tex> \mathbf{Du} = \mathbf{f}</tex> с матрицей <tex>\mathbf{D}</tex>, элементами которой являются скалярные произведения <tex>(\varphi_i, \varphi_j) = \sum\limits_{i = 0}^n \varphi_j (x) \varphi_k (x_i)</tex>: | ||
- | <p align="center"><tex></tex></p> | + | <p align="center"><tex> |
+ | \begin{vmatrix} | ||
+ | (\varphi_0,\ \varphi_0) & (\varphi_0,\ \varphi_1) & \ldots & (\varphi_0,\ \varphi_p)\\ | ||
+ | (\varphi_1,\ \varphi_0) & (\varphi_1,\ \varphi_1) & \ldots & (\varphi_1,\ \varphi_p)\\ | ||
+ | \ldots & \ldots & \ldots & \ldots\\ | ||
+ | (\varphi_p,\ \varphi_0) & (\varphi_p,\ \varphi_1) & \ldots & (\varphi_p,\ \varphi_p)\\ | ||
+ | \end{vmatrix}. | ||
+ | </tex></p> | ||
- | Это — матрица Грама. В правой части системы стоят проекции свободного члена исходной задачи на подпространство базисных функций <tex>(\varphi,f) = \sum\limits_{i = 0}^n {\varphi_j(x_i)f_i}</tex>. | + | Это — матрица Грама. В правой части системы стоят проекции свободного члена исходной задачи на подпространство базисных функций <tex>(\varphi,f) = \sum\limits_{i = 0}^n {\varphi_j(x_i)f_i}</tex>. Матрица симметричная и положительно определенная, таким образом, решение исследуемой СЛАУ существует и единственно. Находится, например, с помощью итерационного метода Гаусса. |
== Советы программисту == | == Советы программисту == |
Версия 16:26, 16 ноября 2008
Содержание |
Постановка задачи
Рассмотрим прямоугольную матрицу размером :
Пусть в матрице число строк превышает число столбцов (), причём все строки линейно независимы. Систему уравнений вида
,
где - описанная выше, — вектор-столбец решения, — вектор-столбец правой части, назовём переопределённой. Как можно видеть, в такой системе число уравнений превышает число неизвестных, и для неё не существует "классического" решения.
Изложение метода
Приведем простой пример получения переопределённой системы линейных уравнений. Такого рода задачи часто встречаются, например, при обработке результатов экспериментов. Пусть — линейная (или близкая к линейной) функция аргумента . В точках известны значения функции . Тогда — коэффициенты, которые необходимо подобрать так, чтобы выполнялись условия . Получим систему пяти уравнений относительно двух неизвестных. Это — переопределённая система. Она не имеет классического решения, так как в общем случае не существует прямой, проходящей через все 5 точек (это возможно только тогда, когда какие - либо три уравнения полученной системы линейными преобразованиями сводятся к двум другим — система линейно зависима). Необходимо провести аппроксимирующую кривую, которая не проходит через экспериментальные точки, но в то же время отражает экспериментальную зависимость, сглаживает возможные выбросы за счёт погрешности эксперимента.
Рассмотрим более общий случай. Пусть коэффициенты необходимо определить по результатам измерения. Для каждого уравнения рассмотрим невязку - разность левой и правой части. Невязка может принимать положительные и отрицательные значения. Чтобы не учитывать знаки, применим возведение в квадрат. Введем функцию, равную сумме квадратов невязок:
Примем за обобщённое решение переопределённой СЛАУ такие , для которых принимает наименьшие значение. Для определения обобщённого решения из условия минимума суммы квадратов невязки получаем систему двух уравнений, уже имеющую классическое решение:
Рассмотрим теперь общий случай. Определим невязку в виде
где — некоторые функции, образующие базис, например, тригонометрические: . Выражение называется обобщённым полиномом. В приведенном выше примере в качестве базисных функций были выбраны степенные функции . Обобщённый полином превратился в алгебраический.
В случае выбора произвольной системы базисных функций переопределенная СЛАУ и функционал будут иметь вид
Отыщем обобщенное решение методом наименьших квадратов: приравняем все частные производные по компонентам обобщенного решения к нулю (условия минимума):
и изменяя порядок суммирования, получаем СЛАУ:
или, в виде системы уравнений:
Система метода наименьших квадратов имеет вид с матрицей , элементами которой являются скалярные произведения :
Это — матрица Грама. В правой части системы стоят проекции свободного члена исходной задачи на подпространство базисных функций . Матрица симметричная и положительно определенная, таким образом, решение исследуемой СЛАУ существует и единственно. Находится, например, с помощью итерационного метода Гаусса.
Советы программисту
Отметим основные свойства матрицы Грама, полезные при программировании:
- Матрица симметрична, что позволяет сократить объём вычислений при заполнении матрицы.
- Матрица является положительно определённой, следовательно, при решении системы нормальных уравнений методом исключения Гаусса можно отказаться от процедуры выбора главного элемента.
- Определитель матрицы будет отличен от нуля, если в качестве базиса выбраны линейно независимые функции, при этом система имеет единственное решение.
- При обработке экспериментальных данных, определённых с погрешностью в каждой точке, обычно сначала берут небольшое (одну-две) число базисных функций. После вычисления приближённого решения, вычисляют сумму квадратов невязок по формуле, аналогичной (2). Если получается, что , то необходимо расширить базис добавлением новых функций. Расширение базиса необходимо производить до тех пор, пока не выполнится условие .
- Выбор конкретных базисных функций зависит от свойств функции , таких как периодичность, экспоненциальный или логарифмический характер, свойства симметрии, наличие асимптотики и т.д.
Список литературы
- А.Е.Мудров Численные методы для ПЭВМ. Томск: Раско, 1991.
- А.А.Самарский, А.В.Гулин. Численные методы М.: Наука, 1989.