Восполнение матриц с дополнительной информацией: различия между версиями
| [непроверенная версия] | [непроверенная версия] |
| Строка 17: | Строка 17: | ||
=== Математическое описание алгоритма === | === Математическое описание алгоритма === | ||
Нам | Нам известно, что <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>. | ||
=== Макроструктура алгоритма === | === Макроструктура алгоритма === | ||
Версия от 19:33, 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].
Макроструктура алгоритма
Схема реализации последовательного алгоритма
Последовательная сложность алгоритма
Информационный граф
Ресурс параллелизма алгоритма
Входные и выходные данные алгоритма
Свойства алгоритма
Программная реализация алгоритма
Особенности реализации последовательного алгоритма
Локальность данных и вычислений
Локальность реализации алгоритма
Структура обращений в память и качественная оценка локальности
Количественная оценка локальности
Возможные способы и особенности параллельной реализации алгоритма
Масштабируемость алгоритма и его реализации
Масштабируемость алгоритма
Масштабируемость реализации алгоритма
Динамические характеристики и эффективность реализации алгоритма
Выводы для классов архитектур
Существующие реализации алгоритма
Литература
[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