Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Современные проблемы прикладной математики. Часть 2. Практикум. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
15.08.2026
Размер:
966 Кб
Скачать

Рис. 1.2. Текст подпрограммы-функции Ps_Solve

Пример 2. Матрица K размером 5×3 формируется с использованием П-Ф Form_K (фрагмент документа показан на рис. 1.3). Число обусловленности 1.426 106 . Для заданного вектора ϕ вычислены два вектора: вектор «точной» правой части f и вектор «зашумленной» правой части fη с

относительной погрешностью 3.232 103 (см. рис. 1.3). По этим двум векторам необходимо построить нормальные псевдорешения с использованием П-Ф Ps_Solve.

Здесь вычислены относительные ошибки двух псевдорешений: псевдорешение ϕ1ps , построенное по точной

правой части, и псевдорешение ϕ2ps , построенное по

искаженной правой части fη . Несмотря на маленькую погрешность исходных данных, относительная ошибка решенияϕ2ps достигает большой величины 1.102 103 , и эта ошибка удовлетворяет неравенству

11

 

 

 

 

 

 

 

fɶ

 

 

 

 

ɶ

 

 

 

 

 

f

 

 

 

ϕ

 

 

 

 

 

ϕ

 

cond(K)

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ϕ

 

 

 

 

 

f

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Действительно

1.103 103 cond(K) 3.232 103 = 4.609 103 .

Задание 1.2.

Вычислить нормальное решение с помощью обратной матрицы по формуле (1.4) для точной и зашумленной правой части и сравнить с решением, полученным SVD – алгоритмом.

Решение. Два обращения к Ps_Solve показаны на рис. 1.3.

12

Рис 1.3. Построение нормальных псевдорешений

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

13

Практическое занятие №2

Построение регуляризованного решения СЛАУ

§2.1. Байесовский регуляризирующий алгоритм

Исходной информацией являются:

априорное распределение p(ϕ ) искомого вектора

решения

ϕ

 

 

 

 

 

является

 

нормальным,

т.е.

 

 

1

 

 

 

ϕ mϕ

 

2

 

, где mϕ и

Vϕ -

 

 

 

 

p(ϕ) = const exp

2

 

 

 

 

1

 

 

 

 

 

 

 

 

 

Vϕ

 

 

 

 

 

 

 

 

 

 

 

математическое ожидание и матрица ковариаций;

условное распределение p( fɶ ϕ ) , характеризующее

распределение

вектора

 

измерений

fɶ

 

при

фиксированном

векторе

ϕ

 

 

 

 

 

 

является

 

 

нормальным,

ɶ

 

 

 

1

 

 

 

ɶ

Kϕ

 

2

 

 

 

 

 

 

 

 

 

 

 

p( f

 

ϕ ) = const exp

2

 

 

 

f

 

1

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Vη

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

Здесь

запись

 

 

 

 

 

 

 

z mz

1

означает:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Vz

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z mz V2z1= (z mz )T Vz1 (z mz ) .

Байесовское регуляризированное решение находится из системы линейных алгебраических уравнений

(KTV

1K +V 1 )ϕ

Б

= KTV 1 fɶ +V 1m .

(2.1)

η

ϕ

η

ϕ

ϕ

 

 

 

 

 

 

 

 

 

Заметим, что вектор ϕБ

 

для указанных

распределений и

квадратичной

 

функции

 

потерь

П (ϕT ,ϕ ) =

 

 

 

ϕT ϕ

 

 

 

2

 

 

 

 

 

 

максимизирует

 

значения

апостериорной

плотности

распределения

 

p(ϕ | fɶ) , которая имеет вид

 

 

 

 

 

 

 

 

 

 

14

ɶ

 

1

 

ɶ

 

2

 

1

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

p(ϕ | f ) = const exp −

2

 

f

Kϕ

1

2

 

 

ϕ mϕ

 

 

 

 

1

 

,

 

 

 

 

 

Vη

 

 

 

 

 

 

 

 

Vϕ

 

 

а, следовательно, доставляет минимум функционалу

F

[ϕ] =

 

fɶ Kϕ

 

2

1

+

 

2 1

.

(2.2)

 

 

ϕ m

Б

 

 

 

 

V

 

ϕ

V

 

 

 

 

 

η

 

 

ϕ

 

 

Рассмотрим

точность

 

 

построенного

байесовского

регуляризированного решения при следующих предположениях:

M [η] = 0 ;

M ϕηT

= 0 .

(2.3)

 

 

 

 

 

Последнее условие означает, что проекция ϕ j

и ηi не

коррелированны между собой. Определим вектор ошибки решения как

 

 

 

 

εБ = ϕБ ϕ

.

(2.4)

Ошибка может быть представлена в следующем виде:

εБ = (KTVη1K +Vϕ1 )1 (KTVη1 (Kϕ +η) +Vϕ1mϕ )

 

 

= (KTV 1K +V 1 )1

KTV 1η +V 1

(m

 

 

)

(2.5)

ϕ

ϕ

.

 

 

η

ϕ

 

η

ϕ

ϕ

 

 

 

 

Математическое ожидание M [εБ ] равно:

M [εБ ] = bБ = (KTVη1K +Vϕ1 )1Vϕ1 (mϕ Mϕ [ϕ]) . (2.6)

Рассмотрим случайную ошибку

ξБ = εБ М [εБ ] ,

которая

представима в виде:

 

 

ξБ = (KTVη1K +Vϕ1 )1 KTVη1η ,

(2.7)

с математическим ожиданием

M [ξБ ] = 0 и

матрицей

ковариации

 

 

15

Vξ

= (KTVη1K +Vϕ1 )1

KTVη1K (KTVη1K +Vϕ1 )1 .

(2.8)

 

Б

 

 

Вектор «полной» ошибки байесовского решения можно записать в виде:

 

 

 

 

 

 

 

Б j

= b

+ V , j = 1,...,M .

(2.9)

 

Б j

 

ξ jj

 

Задание 2.1.

1.Задать матрицу системы K , вектор решения ϕ , среднее значение mϕ и матрицу ковариации Vϕ .

2.Для заданной матрицы K и вектора решения ϕ вычислить

правую часть f .

3. Внести шум в правую часть, т.е. вычислить вектор

f = f + η, где η - вектор ошибки, вычисляемый с помощью нормального датчика случайных чисел для двух случаев:

а) ошибки не коррелированны. Значения СКО задать равными σηi = δi fi , i =1,..., N ; δi = 0.01,0.05,0.01.

Матрица ковариации в этом случае будет диагональной

Vη = diag (σ2η1 ...,σ2ηN ).

б) ошибки коррелированны. В этом случае вектор ошибок вычисляется по формуле

η =Vη1/2ξ,

где Vη - заданная матрица ковариации; ξ - вектор, проекции

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

4. Вычислить решение по формуле (2.1) и вектор ошибки (2.9).

16

Примечание. При наличии научной задачи магистранта, которую можно свести к системе линейных уравнений, провести исследования этой задачи.

§2.2. Оптимальный регуляризирующий SVD-алгоритм

Регуляризированное решение запишем в виде

 

ϕ

R

=VRUTC12

fɶ

 

 

 

 

 

 

 

 

 

(2.10)

 

 

 

 

 

 

 

 

 

 

 

 

 

η

 

 

 

 

 

 

 

 

 

 

или в скалярном виде

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ϕR =

 

 

 

λj

 

 

 

 

j+ +

 

 

λj

 

 

 

 

uj

,n vj ,

 

 

 

x

 

 

 

 

(2.11)

 

2

 

 

 

2

 

 

 

 

 

j=1

λj + qj

 

 

 

 

 

 

 

 

 

λj

+ qj

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где матрица R размером M × N имеет следующую структуру:

 

 

 

 

 

 

 

 

r1

0

 

 

0

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

r2

 

 

0

 

 

 

 

0

 

 

 

 

 

 

 

 

R =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

rM

 

 

 

 

0

 

 

 

 

 

r

 

=

 

λj

 

 

 

 

 

 

j =1,2,...,M

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j

λ2

+ q

,

 

 

.

 

 

(2.12)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j

 

 

j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Величины rj

назовем регуляризирующими множителями.

 

Здесь n = C

12η ,

 

 

+ =

 

 

 

v

 

 

 

+

 

 

 

+

 

 

 

x

 

 

 

 

,ϕ

,

- нормальное

точное

 

 

 

 

j

ϕ

η

 

 

 

 

 

j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

псевдорешение,

 

построенное

 

 

для точной

правой части и

17

 

 

pП

f ,uj

 

 

 

+ =

vj ; vj ,uj j

определяемое формулой ϕ

 

 

 

j=1

λj

столбец матрицы V и U соответственно; p – ранг матрицы K.

Матрица ковариации Vη представлена в виде

V = σ 2

C

(2.13)

η η

η

Очевидно, от величины регуляризирующих множителей зависит ошибка решения ϕR , которую определим функционалом

∆(R) = Mη ϕR ϕ + 2 ,

которая может быть записана в виде

p

 

qj

 

2

(

 

j+ )2

p

 

λj

 

2

∆(R) =

 

 

 

 

+ση2

 

 

,

 

 

x

 

λ

2

 

λ

2

 

 

j

+ q

 

 

 

 

 

 

j

+ q

 

 

j=1

 

 

j

 

 

 

j=1

 

 

j

(2.14)

(2.15)

Определим элементы

матрицы R

построенного

алгоритма путем нахождения

величин qj ,

j =1,2,..., p, из

условия минимума функционала ∆(R) . Дифференцируя (2.15) по qj и приравнивая производную нулю, получаем оптимальное

значение

σ 2

qоптj = ( +η)2 , j =1,2,..., p . (2.16) xj

Оптимальное решение ϕопт , построение при qj = qопт j имеет следующее SVD-представление:

18

 

 

 

p

 

 

λj

 

 

 

 

1

 

 

 

 

 

 

 

ϕопт

=

 

 

 

 

 

 

2 fɶ vj ,

 

 

 

 

 

 

 

 

 

uj

,Cη

 

 

(2.17)

 

2

+ q

 

 

 

 

 

 

 

j=1

λ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j

 

оптj

 

 

 

 

 

 

 

 

 

 

 

или в матричном виде:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

2 fɶ ,

 

 

 

 

 

 

ϕопт = Vp Rpопт U pT Cη

 

 

(2.18)

где Vp – матрица размера

 

M × p , составленная из p

 

первых

столбцов матрицы

 

V ;

Up

матрица

размера

 

N × p ,

составленная из

p

первых столбцов

 

 

матрицы

U ; Rpопт

диагональная матрица размера p × p следующей структуры:

 

 

 

 

λ1

 

 

 

 

 

 

0

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

λ2

+ q

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

опт

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

λ1

 

 

 

 

 

 

0

 

 

R

 

=

 

 

 

 

 

λ22 + qопт

 

 

 

 

. (2.19)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

pопт

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

0

 

 

 

 

0

 

λp

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

λ2 + q

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p

оптp

 

 

Точность построенного решения определим вектором ошибки

εопт = ϕопт ϕ +

оптимального решения ϕопт

в виде следующей суммы

векторов:

 

εопт = ϕопт ϕопт +ϕопт ϕ + = ξопт + bопт . (2.20)

19

Вектор

 

b

 

 

 

 

 

 

 

 

 

 

 

+

определяет систематическую

ошибку

 

 

= ϕ

опт

ϕ

 

 

 

 

опт

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

решения ϕопт . При этом

bопт = Mη [εопт ] и поэтому вектор

b

 

можно

 

 

назвать

смещением

решения ϕопт .

Вектор

опт

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

опт

является случайным вектором с нулевым

ξопт = ϕопт ϕ

средним

M [ξопт ] = 0

и характеризует случайную

ошибку

решения ϕопт . Таким образом, для вектора смещения имеем

 

 

 

 

 

+ = VRUT C1/ 2

 

 

 

+

= V (RΛ − I)

 

+ .(2.21)

b

 

 

 

 

 

 

 

f

ϕ

x

= ϕ

опт

ϕ

опт

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Случайный вектор ξопт

 

 

 

 

 

 

 

 

 

 

 

 

 

ξопт

 

 

опт

= ϕопт = Vp Rpопт U pT Cη12η

(2.22)

 

 

= ϕопт ϕ

имеет нулевое среднее и матрицу ковариации

 

 

 

V = σ2V

R2

V

T .

 

 

 

(2.23)

 

 

 

 

ξ

 

 

 

η

 

p

 

pопт

 

p

 

 

 

 

Таким образом, полная ошибка равна

 

 

 

 

 

 

 

оптj

 

= bоптj

+

 

 

 

j = 1,..., p .

 

 

 

 

 

 

Vξ jj ,

(2.24)

Задание 2.2.

1.Задать матрицу системы K , вектор решения ϕ , среднее значение mϕ и матрицу ковариации Vϕ .

2.Для заданной матрицы K и вектора решения ϕ вычислить

правую часть f .

3. Внести шум в правую часть, т.е. вычислить вектор

f = f + η,

20

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]