Составители:
Первый способ поиска оптимальных cj состоит в решении системы уравнений
(т.н. метод
нормальных уравнений). С учетом особенностей задачи, равенство производных нолю является не только
необходимым, но и достаточным условием минимума. Кроме того, эта система уравнений является линейной
относительно c
j
и записывается как !!!!(A TA)c - A Tb = 0. Основным недостатком этого метода является то,
что полученная система уравнений часто бывает плохо обусловленной. Число обусловленности матрицы A
само по себе может быть велико (например, в случае использования базиса из полиномов), а возведение
матрицы A в квадрат увеличивает его ещё больше (также возводит в квадрат). По этой причине метод
нормальных уравнений на практике обычно не применяется.
Второй способ основан на том, что задачу минимизации функции E можно записать в матричной форме, как
поиск !!!!
!!!
. Таким образом, задача сведена к поиску псевдорешения системы линейных
уравнений, которое может быть найдено с использованием сингулярного разложения (SVD). Этот способ
является наиболее естественным, хотя и требует более сложного программного кода для своей реализации.
Достоинством этого метода является то, что в этом случае не происходит возведения в квадрат числа
обусловленности базиса
. Мы решаем систему, обусловленность которой равна обусловленности базиса, что
позволяет получать достаточно точные решения даже в тех случаях, когда использование метода нормальных
уравнений приводит к возникновению системы с вырожденной матрицей коэффициентов. Следует отметить,
что хотя для осуществления сингулярного разложения мог бы использоваться предназначенный для этого
общий алгоритм, в этом нет
необходимости. С учетом специфики задачи предпочтительнее использовать
более компактную и быструю версию алгоритма, учитывающую тот факт, что требуется не само сингулярное
разложение матрицы A, а произведение отдельных компонент этого разложения на вектор b.
Также существует третий способ, применяющий QR-разложение, и работающий несколько быстрее метода на
основе SVD-разложения. Сначала матрица A представляется в виде произведения
прямоугольной
ортогональной матрицы Q и квадратной верхнетреугольной матрицы R. Затем решается система уравнений
Rx = Q Tb. Достоинством этого метода является относительно высокая скорость работы, недостатком -
применимость только к невырожденным задачам (т.е. задачам, имеющим одно и только одно решение). Для
того, чтобы задача аппроксимации была невырожденной, требуется выполнение двух условий. Во-первых,
система базисных функций
должна быть линейно-независимой. Во-вторых, число точек должно быть не
меньше числа базисных функций. Как правило, в практических задачах эти условия выполняются. Но все же
очень редко встречаются задачи, в которых алгоритм на основе QR-разложения оказывается неприменим из-
за нарушения одного из условий. Кроме того, обычно число строк в
матрице A намного больше числа
столбцов, а правильно реализованное SVD разложение таких матриц по трудоемкости сравнимо с QR
разложением. Таким образом, более целесообразным представляется использование второго способа, т.е.
SVD-разложения.
4.2Линейная аппроксимация по МНК
При линейной аппроксимации по МНК в качестве набора базисных функций используются f0 = 1 и f1 = x.
Линейная комбинация функций из этого базиса позволяет получить произвольную прямую на плоскости.
Особенностью этого базиса является то, что в данном случае оказывается применим метод нормальных
уравнений. Базис небольшой, хорошо обусловленный, и поэтому задача аппроксимации легко сводится к
решению системы
линейных уравнений 2x2. Для решения используется модификация метода вращений,
Страницы
- « первая
- ‹ предыдущая
- …
- 89
- 90
- 91
- 92
- 93
- …
- следующая ›
- последняя »
