Современные проблемы прикладной математики. Часть 2. Практикум. Учебное пособие
.pdf
Рис. 1.2. Текст подпрограммы-функции Ps_Solve
Пример 2. Матрица K размером 5×3 формируется с использованием П-Ф Form_K (фрагмент документа показан на рис. 1.3). Число обусловленности 1.426 106 . Для заданного вектора ϕ вычислены два вектора: вектор «точной» правой части f и вектор «зашумленной» правой части fη с
относительной погрешностью 3.232 10−3 (см. рис. 1.3). По этим двум векторам необходимо построить нормальные псевдорешения с использованием П-Ф Ps_Solve.
Здесь вычислены относительные ошибки двух псевдорешений: псевдорешение ϕ1ps , построенное по точной
правой части, и псевдорешение ϕ2ps , построенное по
искаженной правой части fη . Несмотря на маленькую погрешность исходных данных, относительная ошибка решенияϕ2ps достигает большой величины 1.102 103 , и эта ошибка удовлетворяет неравенству
11
|
|
|
|
|
|
|
fɶ − |
|
|
|
|||
|
ɶ |
|
|
|
|
|
f |
|
|
||||
|
−ϕ |
|
|
|
|
||||||||
|
ϕ |
|
≤ cond(K) |
|
|
|
|
|
|
. |
|||
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
ϕ |
|
|
|
|
|
f |
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Действительно
1.103 103 ≤ cond(K) 3.232 10−3 = 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 
V2z−1= (z − mz )T Vz−1 (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 |
=VRUTC−12 |
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 C−1/ 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
