Сокращённое сингулярное разложение

Вы можете помочь, добавив навигационные ссылки.

## О чем речь?

Пусть дана матрица

A
∈

R

N
×
D

,
r
g
# A
R

{\displaystyle A \in \mathbb{R}^{N \times D}, rg A = R}

. Пусть есть сингулярное разложение

# A
U
Σ

V

T

{\displaystyle A = U \Sigma V^{T} }

, где

U
∈

O

N
×
R

,
# U

[

u
1

,

u
2

,
.
.
.

u

R

]

{\displaystyle U \in \mathcal{O}\_{N \times R}, U = \left[u\_1, u\_2, ... u\_{R}\right]}

,

# Σ
d
i
a
g

(

σ
1

,

σ
2

.
.
.

σ
R

)

{\displaystyle \Sigma = diag \left(\sigma\_1, \sigma\_2 ... \sigma\_R \right)}

,

V
∈

O

D
×
R

,
# V

[

v
1

,

v
2

,
.
.
.

v

R

]

{\displaystyle V \in \mathcal{O}\_{D \times R}, V = \left[v\_1, v\_2, ... v\_{R}\right] }

, где

O

{\displaystyle \mathcal{O}}

 — множество ортогональных матриц соответствующей размерности (т. е.

U
T

# U

V
T

# V
I
∈

R

R
×
R

{\displaystyle U^T U = V^T V = I \in \mathbb{R}^{R \times R} }

),

σ
1

≥

σ
2

≥
.
.
.
≥

σ
R

>
0

{\displaystyle \sigma\_1 \geq \sigma\_2 \geq ... \geq \sigma\_R > 0 }

 (ОБРАЩАЮ ВНИМАНИЕ: в отличие от лекций Китова неравенство с нулем СТРОГОЕ, потому что так правильнее, пруф),

V
T

{\displaystyle V^T}

 — транспонирование матрицы

V

{\displaystyle V}

. Более подробно можно прочитать тут.

Пусть мы хотим построить низкоранговое приближение ранга

K
≤
R

{\displaystyle K \leq R }

 для матрицы, то есть

A
^

K

:
r
g

A
^

K

≤
K

{\displaystyle \hat{A}\_K : rg \hat{A}\_K \leq K}

. **Усечённое сингулярное разложение** — такое, в котором отбросили часть меньших сингулярных чисел (и отбросили столбцы в

U
,
V

{\displaystyle U, V}

). Итак, усечённое сингулярное разложение порядка

K

{\displaystyle K}

:

A
^

K

=

U
K

Σ

K

V
K
T

{\displaystyle \hat{A}\_K = U\_K \Sigma\_{K} V\_K^T }

, где

U
K

=

[

u
1

,

u
2

,
.
.
.

u

K

]

,

Σ
K

=
d
i
a
g

(

σ
1

,

σ
2

.
.
.

σ
K

)

,
# V

[

v
1

,

v
2

,
.
.
.

v

K

]

{\displaystyle U\_K = \left[u\_1, u\_2, ... u\_{K}\right], \Sigma\_K = diag \left(\sigma\_1, \sigma\_2 ... \sigma\_K \right), V = \left[v\_1, v\_2, ... v\_{K}\right] }

.

## Оптимальность с точки зрения нормы Фробениуса

Норма Фробениуса для матрицы

A
∈

R

N
×
D

{\displaystyle A \in \mathbb{R}^{N \times D} }

:

A

F

=

∑

# i
1

N

∑

# j
1

D

a

i
,
j

2

.

Используем определения, введенные выше. Утверждается, что

A
^

K

{\displaystyle \hat{A}\_{K} }

 будет оптимальным в смысле нормы Фробениуса приближением исходной матрицы ранга

K
≤
R

{\displaystyle K \leq R }

, то есть

r
g

A
^

K

=
K

A
^

K

=

a
r
g
m
i
n

B
∈

R

N
×
D

r
g
B
≤
K

B
−
A

F

{\displaystyle
\begin{align}
 rg\hat{A}\_{K} = K \\
\hat{A}\_{K} = \underset{B \in \mathbb{R}^{N \times D}
\end{align}
}

Докажем это. К сожалению, так вышло, что все, что я перенабирал, кануло в лету, сил у меня больше нет, и читатель отсылается сюда, страница 13, за разъяснениями (ОБРАТИТЕ ВНИМАНИЕ: в пункте 2.2 доказательства у Китова опечатка: неравенство противоположное (не

≤

{\displaystyle \le}

, а

≥

{\displaystyle \geq}

)). Основная идея такова: с рангом все более-менее ясно:

r
g

U
K

=
K
,
r
g

V
K

=
r
g

V
K
T

=
K
,
r
g

Σ
K

=
K
⇒
r
g

U
K

Σ
K

=
r
g

Σ
K

V
K
T

=
K
⇒
r
g

U
K

Σ
K

V
K
T

=
K

{\displaystyle \begin{align}rg U\_K = K, rg V\_K = rg V\_K^T = K, rg \Sigma\_K = K \Rightarrow rg U\_K \Sigma\_K = rg \Sigma\_K V\_K^T\\ = K \Rightarrow rg U\_K \Sigma\_K V\_K^T = K \end{align}}

(следует из того, что ранг произведения не превосходит ранга каждого из сомножителей, а также неравенства Фробениуса:

r
g
A
B
C
≥
r
g
A
B
r
g
B
C
−
r
g
B

{\displaystyle rg ABC \ge rg AB + rg BC - rg B }

), мдауш; вторая часть базируется на связи SVD-разложения и PCA.

# A
U
Σ

V

T

{\displaystyle A = U \Sigma V^{T} }

, где

# Σ
d
i
a
g

(

σ
1

,

σ
2

.
.
.

σ
R

)

{\displaystyle \Sigma = diag \left(\sigma\_1, \sigma\_2 ... \sigma\_R \right)}

. Ее усечённое сингулярное разложение порядка

K

{\displaystyle K}

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

A
^

K

=
U

Σ
K

V

T

{\displaystyle \hat{A}\_K = U \Sigma\_K V^{T} }

, где

Σ
K

=
d
i
a
g

(

σ
1

,

σ
2

.
.
.

σ
K

,
0
.
.
.
0

)

{\displaystyle \Sigma\_K = diag \left(\sigma\_1, \sigma\_2 ... \sigma\_K, 0 ... 0 \right) }

. Тогда ошибка аппроксимации записывается следующим образом:

E
K

=
A
−

A
^

K

=
U

Σ
~

V

T

{\displaystyle E\_K = A - \hat{A}\_K = U \tilde{\Sigma} V^{T} }

, где

Σ
~

=
d
i
a
g

(

0
.
.
.
0
,

σ

K
1

.
.
.

σ
R

)

{\displaystyle \tilde{\Sigma} = diag \left(0 ... 0, \sigma\_{K+1} ... \sigma\_R \right) }

. Используя теорему о том, что

A

F

2

=

∑

# i
1

R

σ
i
2

 (познакомиться с ней и ее доказательством поближе можно тут на страницах 16-18), легко получаем критерий выбора оптимального

K

{\displaystyle K}

: выбирать

K

{\displaystyle K}

 нужно таким образом, чтобы относительная ошибка аппроксимации была меньше некоторого порога

t

{\displaystyle t}

, т.е.

# K

a
r
g
m
i
n

K

{

E
K

F

2

A

F

2

=

∑

# i
K
1

R

σ
i
2

∑

# i
1

R

σ
i
2

<
t
}

.

## Ссылки

Неплохое доказательство тут, страница 7

Лекции Китова, страница 11