- Быстрые алгоритмы для матриц расстояний в различных метриках
- Randomized Block Krylov Method для частичной задачи на сингулярные числа матрицы расстояний
- Пусть имеется датасет
$X\in\mathbb{R}^{n\times d}$ . - Матрица расстояний
$A\in\mathbb{R}^{n\times n}$ содержит расстояния$A_{ij}=\rho(x_i,x_j)$ , где$\rho(\cdot,\cdot)$ - некоторая метрика. - Запросом к матрице
$A$ будем называть матрично-векторное умножение$Ay,\ y\in\mathbb{R}^n$ . - Запросы позволяют решать численные задачи линейной алгебры без хранения матрицы
$A$
k-ая координата для query
$$ (Ay)k = \sum{j=1}^ny_j|x_k-x_j|2^2 = ||x_k||2^2 \sum{j=1}^ny_j + \sum{j=1}^ny_j||x_j||2^2 - 2\langle x_k, \sum{j=1}^ny_jx_j \rangle $$
-
$v = \sum_{i=1}^ny_ix_i$ -
$S_1 = \sum_{i=1}^ny_i$ -
$S_2 = \sum_{i=1}^ny_i||x_i||_2^2$ -
$\operatorname{ans}(k) = S_1||x_k||_2^2 + S_2 - 2\langle x_k, v\rangle$
Сложность
Основная особенность — отсутствие preprocessing
$$ (Ay)k = \sum{j=1}^ny_j|x_k-x_j|=\sum_{j=1}^n\sum_{i=1}^dy_j|x_{k,i}-x_{j,i}|=\sum_{i=1}^d\sum_{j=1}^ny_j|x_{k,i}-x_{j,i}| $$
Для каждого признака
$$ (Ay)k = \sum{i=1}^d\sum_{j=1}^ny_j|x_{k,i}-x_{j,i}| = \sum_{i=1}^d\Bigg(\sum_{j \ : \ \pi^i(k) \leqslant \pi^i(j)} y_j(x_{j,i}-x_{k,i}) \quad + \sum_{j \ : \ \pi^i(k) \gt\pi^i(j)} y_j(x_{k,i}-x_{j,i}) \Bigg) $$
Перегруппируем значения в скобках:
$$ (Ay)k = \sum{i=1}^d\Bigg(x_{k,i}\bigg(\sum_{j \ : \ \pi^i(k) \gt\pi^i(j)}y_j \quad- \sum_{j \ : \ \pi^i(k) \leqslant \pi^i(j)} y_j\bigg)\quad + \sum_{j \ : \ \pi^i(k) \leqslant \pi^i(j)}y_jx_{j,i} \quad- \sum_{j \ : \ \pi^i(k) \gt\pi^i(j)} y_jx_{j,i} \Bigg) $$ $$ (Ay)k = \sum{i=1}^d \bigg(x_{k,i}(S_3 - S_4) + S_2 - S_1 \bigg) $$
-
Препроцессинг - поиск перестановок
$\pi^i$ -
Cложность препроцессинга
$O(nd\log n)$ -
Cложность query =
$O(nd)$
Randomized Block Krylov Method [MM15]:
Вход:
Выход:
$q=\Theta\left(\log(d)/\sqrt{\epsilon}\right)$ $\Pi\sim\mathcal{N}(0,1)^{d\times k}$ $K:=[A^TA\Pi, (A^TA)^2\Pi, \ldots, (A^TA)^q\Pi]\in\mathbb{R}^{n\times qk}$ $K=QR,\ Q\in\mathbb{R}^{n\times qk}$ $\widehat{U},\widehat{\Sigma},\widehat{V}\leftarrow \operatorname{SVD}(AQ)$ -
Вернуть
$\widehat{U}_k, \widehat{\Sigma}_k, Q\widehat{V}_k$
Подробности в bksvd.py.
Теорема (10, 11, 12 из [MM15]). С вероятностью
$$ \begin{align} |A-\widehat{A}_k|_2&\leq (1+\epsilon)|A-A_k|_2\ |A-\widehat{A}_k|_F&\leq (1+\epsilon)|A-A_k|_F\ |\sigma_i-\widehat{\sigma}i|&\leq\epsilon\cdot\sigma{k+1}^2 \end{align} $$
Для этого требуется
Теорема (1.3 из [BCW22]). Для
$$ |A-Avv^T|^p_{S_p}\leq(1+\epsilon)\min_{|u|1=1}|A-Auu^T|^p{S_p}, $$
требует
Время 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 $1/ε^{1/3}$ Matrix-Vector Products.