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

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

Материал из Алговики
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Строка 17: Строка 17:
  
 
=== Математическое описание алгоритма ===
 
=== Математическое описание алгоритма ===
Нам известны <math>Im(\tX) \subset L_A, \ Im(\tX^T) \subset L_B <\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>.
  
 
=== Макроструктура алгоритма ===
 
=== Макроструктура алгоритма ===

Версия 22:33, 26 октября 2021


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


Содержание

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

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

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

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

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

Нам известно, что [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].

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3 Литература

[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