Уровень алгоритма

Восполнение матриц с дополнительной информацией: различия между версиями

Материал из Алговики
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Строка 19: Строка 19:
Нам известно, что <math>Im(X) \subset L_A, \ Im(X^T) \subset L_B </math>. Пусть <math>dim(L_A) = s_1, \  dim (L_B) = s_2</math>. Зададим ортонормированные матрицы <math>A \in \mathbb{R}^{n_1 \times s_1}</math> и <math>B \in \mathbb{R}^{n_2 \times s_2}</math> <math>-</math> базисы этих пространств, соответственно. Тогда <math>X = AZB^T, Z \in \mathbb{R}^{s_1 \times s_2}</math>. Матрицы <math>X</math> и <math>Z</math> имеют взаимно однозначное соответствие, а матрица <math>Z</math> имеет существенно меньшие размеры, поэтому мы будет решать некоторую оптимизационную задачу для матрицы <math>Z</math>, а именно:
Нам известно, что <math>Im(X) \subset L_A, \ Im(X^T) \subset L_B </math>. Пусть <math>dim(L_A) = s_1, \  dim (L_B) = s_2</math>. Зададим ортонормированные матрицы <math>A \in \mathbb{R}^{n_1 \times s_1}</math> и <math>B \in \mathbb{R}^{n_2 \times s_2}</math> <math>-</math> базисы этих пространств, соответственно. Тогда <math>X = AZB^T, Z \in \mathbb{R}^{s_1 \times s_2}</math>. Матрицы <math>X</math> и <math>Z</math> имеют взаимно однозначное соответствие, а матрица <math>Z</math> имеет существенно меньшие размеры, поэтому мы будет решать некоторую оптимизационную задачу для матрицы <math>Z</math>, а именно:


<tr>
<table style="width:100%">
<td align="center" width="90%"><math>\min_{Z} f(Z) = \frac{1}{2} ||\mathcal{P}_{\Omega}(AZB^T - X)||^2_2, \; \; rank(Z) \leq r\</math></td>
  <tr>
</tr>
  <td align="center" width="90%"><math>\min_{Z} f(Z) = \frac{1}{2} ||\mathcal{P}_{\Omega}(AZB^T - X)||^2_2, \; \; rank(Z) \leq r, \text{ где } </math></td>
  </tr>
</table>
<math>\Omega \subset [n_1] \times [n_2] - </math> множество известных нам индексов, а <math>\mathcal{P}_{\Omega} = \mathds{1}[(i, j) \in \Omega] \circ X</math> - проектор на это множество.
 
Эта задача эквивалента задачи восполнения <math>X</math>, если <math>X</math> единственная матрица ранга не выше <math>r</math>, для которой \mathcal{P}_{\Omega}(X) совпадает с известными нам элементами, и для которой столбцы и строки лежат в <math>L_A</math> и <math>L_B</math>. Это верно не всегда (что приводит к расходимости алгоритма), но при о


=== Макроструктура алгоритма ===
=== Макроструктура алгоритма ===

Версия от 20:02, 26 октября 2021


Восстановление матриц
Последовательный алгоритм
Последовательная сложность $O(n^3)$
Объём входных данных [math]\displaystyle{ \frac{n (n + 1)}{2} }[/math]
Объём выходных данных [math]\displaystyle{ \frac{n (n + 1)}{2} }[/math]
Параллельный алгоритм
Высота ярусно-параллельной формы [math]\displaystyle{ O(n) }[/math]
Ширина ярусно-параллельной формы [math]\displaystyle{ O(n^2) }[/math]


Свойства и структура алгоритма

Общее описание алгоритма

Пусть [math]\displaystyle{ X \in \mathbb{R}^{n_1 \times n_2} - }[/math] неизвестная малоранговая матрица. Нашей целью является восполнение матрицы [math]\displaystyle{ X }[/math], то есть нахождение всех её элементов, по некоторому малому набору и дополнительной информации. Под дополнительной информацией понимаются линейные пространства [math]\displaystyle{ L_A }[/math] и [math]\displaystyle{ L_B }[/math], содержащие столбцы и строки матрицы [math]\displaystyle{ X }[/math] соответственно. Если [math]\displaystyle{ L_A }[/math] и [math]\displaystyle{ L_B }[/math] тривиальные (то есть совпадают с [math]\displaystyle{ \mathbb{R}^{n_1} }[/math] и [math]\displaystyle{ \mathbb{R}^{n_2} }[/math]), то задача сводиться к задаче обычного восполнения матриц.

Для решения этой задачи применяется итеративный метод SVPWS, который является глубокой модификацией метода SVP. На каждой итерации мы будем делать градиентный шаг и проектироваться обратно на множество матриц малого ранга (с помощью SVD), получая тем самым очередное приближение к исходной неизвестной матрице [math]\displaystyle{ X }[/math].

Математическое описание алгоритма

Нам известно, что [math]\displaystyle{ Im(X) \subset L_A, \ Im(X^T) \subset L_B }[/math]. Пусть [math]\displaystyle{ dim(L_A) = s_1, \ dim (L_B) = s_2 }[/math]. Зададим ортонормированные матрицы [math]\displaystyle{ A \in \mathbb{R}^{n_1 \times s_1} }[/math] и [math]\displaystyle{ B \in \mathbb{R}^{n_2 \times s_2} }[/math] [math]\displaystyle{ - }[/math] базисы этих пространств, соответственно. Тогда [math]\displaystyle{ X = AZB^T, Z \in \mathbb{R}^{s_1 \times s_2} }[/math]. Матрицы [math]\displaystyle{ X }[/math] и [math]\displaystyle{ Z }[/math] имеют взаимно однозначное соответствие, а матрица [math]\displaystyle{ Z }[/math] имеет существенно меньшие размеры, поэтому мы будет решать некоторую оптимизационную задачу для матрицы [math]\displaystyle{ Z }[/math], а именно:

[math]\displaystyle{ \min_{Z} f(Z) = \frac{1}{2} ||\mathcal{P}_{\Omega}(AZB^T - X)||^2_2, \; \; rank(Z) \leq r, \text{ где } }[/math]

[math]\displaystyle{ \Omega \subset [n_1] \times [n_2] - }[/math] множество известных нам индексов, а [math]\displaystyle{ \mathcal{P}_{\Omega} = \mathds{1}[(i, j) \in \Omega] \circ X }[/math] - проектор на это множество.

Эта задача эквивалента задачи восполнения [math]\displaystyle{ X }[/math], если [math]\displaystyle{ X }[/math] единственная матрица ранга не выше [math]\displaystyle{ r }[/math], для которой \mathcal{P}_{\Omega}(X) совпадает с известными нам элементами, и для которой столбцы и строки лежат в [math]\displaystyle{ L_A }[/math] и [math]\displaystyle{ L_B }[/math]. Это верно не всегда (что приводит к расходимости алгоритма), но при о

Макроструктура алгоритма

Схема реализации последовательного алгоритма

Последовательная сложность алгоритма

Информационный граф

Ресурс параллелизма алгоритма

Входные и выходные данные алгоритма

Свойства алгоритма

Программная реализация алгоритма

Особенности реализации последовательного алгоритма

Локальность данных и вычислений

Локальность реализации алгоритма

Структура обращений в память и качественная оценка локальности
Количественная оценка локальности

Возможные способы и особенности параллельной реализации алгоритма

Масштабируемость алгоритма и его реализации

Масштабируемость алгоритма

Масштабируемость реализации алгоритма

Динамические характеристики и эффективность реализации алгоритма

Выводы для классов архитектур

Существующие реализации алгоритма

Литература

[1] Guaranteed Rank Minimization via Singular Value Projection.Raghu Meka, Prateek Jain, Inderjit S. Dhillon // arXiv:0909.5457

[2] Low-rank matrix completion by Riemannian optimization. Bart Vandereycken // arXiv:0909.5457