- Быстрые алгоритмы для матриц расстояний в различных метриках
- Randomized Block Krylov Method для частичной задачи на сингулярные числа матрицы расстояний
- Пусть имеется датасет
. - Матрица расстояний
содержит расстояния , где - некоторая метрика. - Запросом к матрице
будем называть матрично-векторное умножение . - Запросы позволяют решать численные задачи линейной алгебры без хранения матрицы
k-ая координата для query
Сложность
Основная особенность — отсутствие preprocessing
Для каждого признака
Перегруппируем значения в скобках:
-
Препроцессинг - поиск перестановок
-
Cложность препроцессинга
-
Cложность query =
Randomized Block Krylov Method [MM15]:
Вход:
Выход:
-
Вернуть
Подробности в bksvd.py.
Теорема (10, 11, 12 из [MM15]). С вероятностью
Для этого требуется
Теорема (1.3 из [BCW22]). Для
требует
Время svds | 120.7 сек | 77.3 сек |
---|---|---|
Время постр. dist matrix | 10.55 сек | 17.46 сек |
Время preproc | 0.227 сек | - |
Время svds | 13.95 сек | 11.68 сек |
---|---|---|
Время постр. dist matrix | 525.2 сек | 819.41 сек |
Время preproc | 3.1 сек | - |
Просто заменить matvec на query не получится:
-
Предобуславливатели
-
Уравнение коррекции Якоби
Возможное решение: использовать и запросы, и матрицу расстояний.
- [IS22] Indyk, P., Silwal, S.. (2022). Faster Linear Algebra for Distance Matrices.
- [MM15] Musco, C., & Musco, C.. (2015). Randomized Block Krylov Methods for Stronger and Faster Approximate Singular Value Decomposition.
- [BCW22] Bakshi, A., Clarkson, K., & Woodruff, D.. (2022). Low-Rank Approximation with
Matrix-Vector Products.