Міжнародний науково-навчальний центр інформаційних технологій та систем Поиск по сходству и случайное проецирование Відділ нейромережевих технологій обробки інформації Рачковський Дмитро Андрійович докт. техн. наук, пров. наук. співробітник dnipt.irtc.org.ua dar@infrm.kiev.ua 15.03.2016 1 I. Поиск по сходству Рост объемов, сложности и разнообразия информации 500*109 Gigabytes / год Задача поиска по сходству (similarity search, proximity search, best match retrieval) состоит в нахождении объектов базы, сходных с объектомзапросом. Такой поиск часто называют поиском ближайшего соседа (nearest neighbor search) или задачей ближайшего соседа (nearest neighbor problem). Предполагается, что сходные объекты удовлетворяют информационную потребность пользователя или являются релевантными запросу. 2 Ускорение поиска по сходству Аннотация. Монография посвящена изложению подходов, стратегий, методов, структур данных, алгоритмов поиска по сходству – варианта информационного поиска, при котором релевантные объекту-запросу объекты базы определяются по некоторым мерам сходства или различия. Проанализированы причины трудностей точного поиска, связанные с "проклятием размерности". Рассмотрены подходы к ускорению точного и приближенного поиска на основе индексных структур (деревья, хэштаблицы, и др.), которые позволяют получать результат поиска без просмотра всех объектов базы, а также способы ускорения быстрой оценки мер сходства и расстояний. Представлены как классические методы и алгоритмы, так и появившиеся недавно (локальночувствительное хэширование, рандомизированные деревья, скетчи и др.), включая результаты исследований автора. Для научно-технических работников, программистов, аспирантов, студентов и читателей, интересующихся новыми перспективными направлениями информатики, искусственного интеллекта и проблематикой поиска по сходству. 3 Ускорение поиска по сходству Введение в поиск по сходству Часть 1. Поиск по сходству Часть 2. Сложность поиска по сходству Подход сокращения Часть 3. Индексные структуры на основе расстояний Часть 4. Индексные структуры для векторных данных Часть 5. Индексные структуры на основе локально-чувствительного хэширования LSH Часть 6. Поиск по сходству для бинарных векторов Подход упрощения Часть 7. Быстрая оценка сходств/расстояний для невекторных данных Часть 8. Скетчи для оценки сходств/расстояний векторов 4 Часть 1. Поиск по сходству * Основные понятия * Подходы к ускорению поиска по сходству * Меры сходства и расстояния * Применения поиска по сходству Меры сходства и расстояния * Векторов: расстояние Минковского, Махаланобиса, угловое, дивергенции. Сходство: скалярное произведение, косинус угла * Множеств: расстояние Жаккара, Хаусдорфа, Фреше * Последовательностей: расстояние Хэмминга, редактирования, наибольшая общая подпоследовательность * Деревьев: расстояние редактирования для неупорядоченных и упорядоченных деревьев, и др. * Графов: изоморфизм графов, подграфа, максимальный общий подграф, расстояние редактирования * Ядерные функции сходства Евклидово расстояние векторов: ||x-y||2 = (i=1,…,D (xi-yi)2)1/2 Сходство векторов: скалярное произведение: x,y = i=1,…,D xiyi Сложность определения изоморфизма графов является квазиполиномиальной? Old exp(O(n log n)1/2) vs New exp((log n)O(1)) Babai, László (2015), Graph Isomorphism in Quasipolynomial Time, arXiv:1512.03547 5 Часть 1. Поиск по сходству Типы запросов точного поиска по сходству Диапазонный запрос и запрос r-ближнего соседа Диапазонный запрос (range query) rБС(q, dist,r) определяется объектом запроса q, радиусом запроса r, типом расстояния dist и возвращает объекты x базы X, расположенные в пределах расстояния r от q: rБС(q, dist,r) = { x X | dist(q,x) ≤ r }. Объект x называют r-ближним соседом объекта q, если dist (q,x) ≤ r. Запрос k ближайших соседей Запрос k ближайших соседей kБС (k-nearest neighbor query) возвращает множество A объектов базы X, состоящее из k ближайших соседей объекта-запроса q: kБС(q, dist,k) = {A: A X, |A| = k, x A, y X–A, dist(q,x) ≤ dist (q,y) }. 6 Часть 1. Поиск по сходству Линейный поиск по сходству Вычисление расстояния/сходства объекта-запроса с каждым объектом базы Сложность линейного поиска O(N SimCompl) где N – число объектов базы, SimCompl – сложность вычисления расстояния/сходства объекта-запроса с объектом базы. Для базы N векторов размерности D время выполнения запроса линейным поиском по сходству для расстояний Минковского O(ND) 7 Часть 1. Поиск по сходству Подходы к ускорению поиска по сходству I. Подход сокращения Сокращение количества вычислений сходств объекта-запроса с другими объектами по сравнению с линейным поиском II. Подход упрощения Быстрая оценка сходства между объектами Двухэтапная стратегия фильтрации и уточнения Этап 1. Быстрая подготовка объектовкандидатов для обработки на этапе 2 Этап 2. Результаты этапа 1 уточняются с использованием вычисления исходных сходств/расстояний Методы и алгоритмы ускорения поиска по сходству используют преобразование представлений объектов В конкретных алгоритмах для ускорения поиска по сходству применяются разные комбинации стратегии фильтрации и уточнения и подходов сокращения и упрощения 8 Часть 2. Сложность поиска по сходству (1,1) * Проклятие размерности * Концентрация меры и концентрация расстояний * Внутренняя размерность данных * Сложность алгоритмов поиска по сходству * Свойства многомерных пространств (0.5,0.5) r0.28 (0.3,0.3) (0,0) 0.7 1. Пространство (гиперкуб) с центром в (0.5,…,0.5) и длиной стороны 1 Сфера с центром (0.3,…,0.3) и радиусом 0.7 Евклидово расстояние до центра ((x)2D)1/2. x =0.2, D=16. 0.2*4=0.8>0.7 2. Есть N=106 точек. Пространство разбито на непересекающиеся гиперпрямоугольные ячейки, одно разбиение на измерение. Число ячеек 2D. Размерность D=100. Число ячеек 21001030. Пространство редко «заселено». 3. Запрос - гиперкуб. Нужно вернуть n=30 точек. Объем гиперкуба запроса n/N = 30*10-5. Какова сторона 2r гиперкуба? 2r 0.9 (0.9100=2.66*10-5). Гиперкуб пересечет все ячейки. 9 Часть 2. Сложность поиска по сходству * Концентрация расстояний Расстояние между случайно выбранными точками становится (примерно) одинаковым rNN q (1+)rNN rmax Все точки являются? могут считаться? ближайшими соседями Beyer, K., Goldstein, J., Ramakrishnan, R., Shaft, U.: When is nearest neighbor meaningful? In: Proc. ICDT, pp. 217–235 (1999) http://www.loria.fr/~berger/Enseignement/Master2/Exposes/beyer.pdf A. Kaban. Non-parametric detection of meaningless distances in high dimensional data, Statistics and Computing, vol. 22, no. 2, pp. 375–385, 2012. http://www.cs.bham.ac.uk/~axk/dcfin2.pdf M. Talagrand, A new look at independence, Annals of Probability 24 (1996), 1–34. http://www.cmat.edu.uy/~lessa/tesis/Talagrand%20-%20newlook.pdf Boucheron S., Lugosi G., Bousquet O. Concentration inequalities // in O. Bousquet, U.v. Luxburg, and G. Rätsch (editors), Advanced Lectures in Machine Learning. — Springer, 2004. — С. 208-240. http://www.econ.upf.edu/~lugosi/anu.pdf 10 Часть 2. Сложность поиска по сходству * Сложность сублинейных алгоритмов поиска по сходству O(log N exp D) * От точного к приближенному поиску по сходству Задача 0. Поиск детерминированного приближенного БС Объект x является детерминированным (1+)приближенным ближайшим соседом (ПБС) объекта-запроса q, если dist(x, q) ≤ (1+ ) dist(y,q), где ε > 0, объект y есть точный ближайший сосед q. Задача 1. Поиск вероятностного приближенного r-ближнего соседа Возвратить по объекту-запросу q любой объект x, находящийся не далее (1+eps)r, с вероятностью не меньше 1−δ, если существует объект, расстояние которого от q не более r) Возвратить "нет", если такого объекта не существует Задача 2. Поиск вероятностных точных r-ближних соседей Возвратить по объекту-запросу q все объекты x, находящиеся не далее r, с вероятностью возвратить каждый такой объект x не меньше 1−δ. 11 Часть 3. Индексные структуры на основе расстояний * Варианты неравенства треугольника для обрезки * Метрические деревья * Неиерархические метрические индексы * Другие индексные структуры на основе расстояний 1. Рассматриваются область индекса и область запроса Если они не пересекаются: r<dist(q,o1)-r1cov, область индекса можно отбросить Если пересечение есть: r>dist(q,o2)-r2cov, надо далее обрабатывать эту область индекса Если область индекса содержится внутри области запроса r>dist(q,o3)+r3cov, значит все ее объекты являются ответом на запрос 2. Рассматриваются объект базы и объект-запрос Известно расстояние dist(x,o) объекта базы x до некоторых опорных объектов o. Вычисляем dist(q,o). Отбрасываем объекты x, для которых dist(x,o) < dist(q,o) – r или dist(x,o) > dist(q,o) + r. Остальные x – кандидаты на ответ на запрос 12 Часть 4. Индексные структуры для векторных представлений * Классические деревья * Индексирование без иерархии * Индексные структуры на основе одномерного индексирования * Рандомизированные индексные структуры * Другие индексные структуры для векторов Деревья kd, R, K-средних и их разновидности Леса и др. 13 Часть 5. Индексные структуры на основе локально-чувствительного хэширования LSH * Базовые схемы поиска по сходству на основе LSH * Локально-чувствительные функции для разных типов расстояний/сходств * Поиск в LSH-схемах с модификацией запроса * LSH-функции с адаптацией к данным * LSH-схемы для поиска ближайших соседей 1 P{h(x)=h(y)} p1 p2 0 r r(1+) dist(x,y) LSH-cемейство H функций h называется (r1,r2,p1,p2)-чувствительным, если для любых объектов x,у из исходного метрического пространства (X,dist) выполняются условия: если dist(x,y) r1, то PH [h(x)=h(y)] p1 если dist(x,y) r2, то PH [h(x)=h(y)] p2 где PH [h(x)=h(y)] – вероятность совпадения хэшей, сгенерированных функциями семейства, r1, r2, р1, р2 – константы, 0<p1,p2<1 Полезны LSH-семейства с r1<r2 и p1>p2 (полагают r1=r, r2=(1+)r) Пример. LSH-функция для расстояния Хэмминга между бинарными векторами: hi(x) = xi. P(hi(x) = hi(y)) = P(xi = yi) = 1 – distHam(x,y)/D. Поэтому p1=1–r1/D, p2=1–r2/D, и если r1<r2 то p1> p2. 14 Часть 5. Индексные структуры на основе локально-чувствительного хэширования LSH * Базовая схема поиска по сходству на основе LSH Indyk, Andoni и др. gj (x) = (h1j(x), h2j(x), ..., hmj(x)) hij (1im, 1jL) выбираются независимо и равномерно из LSH-семейства 1 P{g(x)=g(y)} p1 p2 p1 2 p22 0 m=1 m=2 r r(1+) dist(x,y) 15 Часть 5. Индексные структуры на основе локально-чувствительного хэширования LSH 1 P{g(x)=g(y)} p1 p m=1 * Расчет параметров базовой схемы LSH p m=2 0 r r(1+) dist(x,y) Задача 1. Поиск вероятностного приближенного r-ближнего соседа Возвратить по объекту-запросу q любой объект x, находящийся не далее (1+)r, с вероятностью не меньше 1−δ, если существует объект, расстояние которого от q не более r). Возвратить "нет", если такого объекта не существует p2 1 2 2 (r1,r2,p1,p2)-чувствительное семейство если dist(x,y) r1, то P [h(x)=h(y)] p1 если dist(x,y) r2, то P [h(x)=h(y)] p2 2 r1=r r2=(1+)r Извлекается до 3L точек. Две причины неудачи поиска: 1. 3L далеких точек (ложных кандидатов) r2; 2.Нет близкой точки-ответа r1 1. LSH-функция g является (r1,r2,(p1)m,(p2)m)-чувствительной Выбором m сделаем вероятность ложного кандидата 1/N = (p2)m, m=log 1/p2 N. М.о. числа ложных кандидатов для всех N точек базы – не более 1. А для L функций м.о. – не более L. Так как P(|X|a) M[|X|]/a, то P(общее число коллизий хэш-кодов запроса с точками базы далее r2=(1+)r >3L) <1/3 2. Вероятность несовпадения хэшей запроса и валидного ответа (1–p1m)Lexp(– p1mL). При L=p1–m , exp(– p1mL)=1/e. Общая вероятность неудачи δ < 1/3+1/e < ¾. Дублируя LSH структуру несколько раз (с разными LSH-функциями), снижаем вероятность неудачи δ до нужной 16 Часть 5. Индексные структуры на основе локально-чувствительного хэширования LSH * Расчет параметров базовой схемы LSH Время поиска состоит из – времени вычисления хэш-функций O(mL) и – времени вычисления расстояний до кандидатов O(DL) Перепишем (p1)m = (p1)^(log1/p2N) = N^(log 1/p2 p1) = N^(ln p1/ ln 1/p2) = 1/N, где ρ = ln 1/p1 / ln 1/p2 Тогда L = p1–m = N Время поиска O((m+D)L) = O((log N +D) N) При p1>p2 получаем ρ<1, т.е. обеспечивается сублинейное относительно размеров базы N время поиска. Поиск прекращается при нахождении (проверкой по исходным расстояниям) первого же валидного ответа. Параметр ρ характеризует "качество" LSH-функций (насколько они позволяют ускорить поиск). Например, LSH-семейство для бинарных векторов имеет ρ = 1/(1+). Для =1, ρ=1/2, т.е. находим (1+)r-соседа с точностью до множителя 2 при просмотре только O(√N) точек базы. Сублинейное время поиска! Но не логарифмическое 17 Часть 6. Поиск по сходству для бинарных векторов * Поиск с использованием деревьев * Модификации LSH-поиска * Схемы динамического и статического поиска на основе таблиц Поиск в шаре Хэмминга 0,1,1 1,1,1 0,1,0 1,1,0 0,0,1 0,0,0 1,0,1 1,0,0 r=1 r=2 r=3 18 Часть 6. Поиск по сходству для бинарных векторов * Поиск с использованием деревьев * Модификации LSH-поиска * Схемы динамического и статического поиска на основе таблиц Разбиение вектора на части Если разбить векторы на L>r частей, то не менее L–r частей запроса будут совпадать с векторами, которые отличаются от него на r или менее бит. Это следствие из [HmSearch]: Для двух векторов x, y, таких что distHam(x,y) r при разделении D компонентов каждого вектора на L частей будет получено, по крайней мере, a = L – r/(1+r/L) частей, таких Поискчто по dist_H(x совпадению i,yi) r/L , (для любого) ia Поиск в шаре1 Хэмминга 19 Часть 7. Быстрая оценка сходств/расстояний для невекторных данных * Типы вложений * Вложения на основе расстояний/сходств * Вложения специальных метрик * Введение в скетчи * Ядра и вложения в векторы для графов Вложения. Качество вложений f оценивают искажением A dist1(x, y)≤dist2 (f(x),f(y))≤B dist1(x, y), 0<A ≤1, B1. (1–) dist1(x, y) ≤ dist2 (f(x), f(y)) ≤ (1+) dist1(x, y). c dist1(x, y) ≤ dist2 (f(x), f(y)) ≤ c B dist1(x, y). Искажение B/A Искажение 0<<1 Искажение В Скетчи. Оценка может быть не по расстоянию между скетчами (по медиане, по доле совпадающих единичных компонентов и др.). Часто скетчи бинарные. Ядра. K(x,y) = f(x), f(y) . 20 Часть 7. Быстрая оценка сходств/расстояний для невекторных данных Примеры детерминированных изометрических вложений 1. Из общей конечной метрики в LmaxLinf Вложение Фреше для N точек базы: f(x)i=dist(u,xi). Тогда ||f(u)–f(v)||inf = maxi | f(u)i–f(v)i | | f(u)v– f(v)v | = |dist(u,v) – dist(v,v)| = dist(u,v). Но | f(u)i– f(v)i | = |dist(u,xi) – dist(v,xi)| dist(u,v). Поэтому || f(u)– f(v) ||inf = dist(u,v), т.е. вложение изометрическое. Недостатки: большая размерность вектора, определено для точек базы. 2. Из общей конечной метрики в L2. Для положительно полуопределенной матрицы dist2(x0,xi) + dist2(x0,xj) – dist2(xi,xj) для i,j=1,…,N возможно изометрическое вложение Недостатки: большая размерность вектора, определено для точек базы, сложность решения 3. Все пространство L1 в Linf fy(x)= x,y, где y={–1,+1}D (всего 2D векторов). || f(u) – f(v) ||inf = || f(u–v) ||inf = maxy u-v,y= || u–v||1 Недостатки: очень большая размерность вектора. 21 Часть 8. Скетчи для оценки сходств/расстояний векторов * Вещественные скетчи для вещественных векторов * Дискретные скетчи для вещественных векторов * Скетчи для бинарных векторов (плотных и разреженных) z1 z2 z3 zd z ... u ... 1 d R 1 x1 x2 x3 ... ... D xD x 22 II. Случайное проецирование * Вещественные скетчи для вещественных векторов * Дискретные скетчи для вещественных векторов Rx=u Ry=v Размерность x,y равна D. Размерность u равна d. Размерность R равна d x D. D=106, d=10. По векторам u,v будем оценивать величину * скалярного произведения x,y * (квадрата) евклидова расстояния || x–y||2 Случайная матрица R с элементами из * гауссова распределения * {–1,+1} бинарные плотные * {–1,0,+1} тернарные * {0,+1} бинарные разреженные 23 RX=Y D R R11 R12 R13 R14 ... R1D R21 R22 R23 R24 ... R2D R31 R32 R33 R34 ... R3D ... d Rd1 Rd2 Rd3 Rd4 ...RdD X X11 X21 X31 X41 ... D XD1 sj = sumk=1,...,D Xkj s1 j=1,...,N N X12 X22 X32 X42 ... ... XD2 Y Y11 Y12 N Y1N Y22 Y2N X1N X2N Y21 X3N X4N = Y31 ... XDN d Yd1 s2 ... sN Y32 ... Y3N ... Yd2 YdN Yij=sumk=1,...,D RikXkj i=1,...,d, j=1,...,N R11X11 + R12X21 + R13X31 + R14X41 + ... + R1DXD1 = Y11 R21X11 + R22X21 + R23X31 + R24X41 + ... + R2DXD1 = Y21 ... Rd1X11 + Rd2X21 + Rd3X31+ Rd4X41 + ... + RdDXD1 = Yd1 R11X12 + R12X22 + R13X32 + R14X42 + ... + R1DXD2 = Y12 ... Rd1X12 + Rd2X22 + Rd3X32 + Rd4X42 + ... +RdDXD2 = Yd2 ... R11X1N+ R12X2N + R13X3N + R14X4N + ...+R1DXDN= Y1N ... Rd1X1N+ Rd2X2N + Rd3X3N + Rd4X4N + ...+RdDXDN= YdN X11 + X21 + X31 + X41 + ... + XD1 = s1 = sum(X1) X12 + X22 + X32 + X42 + ... + XD2 = s2 = sum(X2) ... X1N + X2N + X3N + X4N + ... + XDN = sN= sum(XN) 24 R q=1/3 D=6 1 0 0 1 0 0 X –1 0 0 1 0 1 0 8 –5 1 0 0 0 0 1 6 d=4 0 1 0 1 0 0 D=6 12 0 N=3 1 –1 3 1 5 –1 4 6 1 1 2 7 sj = sumk=1,...,6 Xkj 19 16 13 j=1,...,3 s1 s2 s3 = Yij=sumk=1,...,6 RikXkj i=1,...,4, j=1,...,3 Y N=3 5 5 5 Y11 Y12 Y13 –1+0+0+6 + 0+0 1+0+0+4+0+0 –1+0+0+6+0+0 0+0–5+0+12+0 0+0+5+0+1+0 0+0–1+0+1+0 –1+0+0+0+ 0+0 1+0+0+0+0+2 –1+0+0+0+0+7 0+8+0+6+ 0+0 0+3+0+4+0+0 0+1+0+6+0+0 Y41 Y42 Y43 = 7 6 0 –1 3 6 d=4 14 7 7 25 Преобразование векторных данных случайными бинарными матрицами Rachkovskij D.A. Vector data transformation using random binary matrices // Cybernetics and Systems Analysis — 2014 — V. 50 — Issue 6 — P. 960-968 rij – i.i.d. (независимые, одинаково распределенные с.в.) rij =1 c вероятностью q rijr =0 c вероятностью 1-q D ui ri , x j 1 rij x j E{uir } E{ j 1 rij x j } j 1 x j E{rij } q j 1 x j D D D E{rij } 1q 0(1 q ) q так как D u i u ir E{uir } uir q j 1 x j ΡRq j xj j ij rij q k yk k Независимые при ui j 1 rij x j q j 1 x j j 1 (rij q) x j j 1 ij x j D D D D E{ ij } E{rij q} (1 q)q (0 q)(1 q) 0 E{ j } x j E{ j } 0 E{ k } 0. jk 26 Преобразование векторных данных случайными бинарными матрицами Скалярное произведение. Матожидание E{ u, v } i1 E{ui vi }. u j 1 j d D uv ui vi j 1 j j j k j k D j k v k 1 k D E{ j k } j k E{ j }E{ k } 0 E{uv} E{ j 1 j j } j 1 x j y j E{ 2j } E{ 2 } x, y q(1 q) x, y D D E{ 2 } (1 q) 2 q (0 q) 2 (1 q) q q 2 . E u, v i 1 E{ui vi } q(1 q) x, y d d x, y * u, v / d / E{ 2 } - несмещенная оценка E x, y * E u, v / d / E{ 2 } x, y x, y * u, v / q(1 q) / d x, y V x, y * V { u, v / d / E{ 2 }} V u, v / d 2 / E 2 { 2 } V x, y * V { u, v / q(1 q) / d} V u, v / q 2 (1 q) 2 / d 2 27 Преобразование векторных данных случайными бинарными матрицами Скалярное произведение. Дисперсия V { u, v } i 1V {ui vi }. V {uv} E{uv } E 2 {uv} d u j 1 j 2 E{2 } 0 j 1 j j j k j 2 D j 1 2 D (uv) 2 j 1 k j j 1 j j 2 j j 1 2 j j k j j k j k k j D j k j k D j 2 D j j 2 D v k 1 k D 2 k j k j k 2 2 2 k j k j j k k j j k D j 1 j j k j j k E{( uv) 2 } j 1 E{ j2 j2 } j k E{ j2 k2 } 2 j k E{ j j k k } D E{ 4 } j 1 x 2j y 2j E 2{ 2 } j k x 2j yk2 2 E 2{ 2 } j k x j y j xk yk D E { }E{ } E { } 3 E 2{ 2 } E{ 4 } E 2{ 2 } j 1 x 2j y 2j j k x 2j yk2 2 j k x j y j xk yk D 2 2 4 2 2 x y j 1 x 2j j 1 y 2j j 1 x 2j y 2j j k x 2j yk2 2 2 D D D D D 2 2 x y 2 x, y x y j 1 j j x, y 2 2 2 x y j 1 j j D 2 2 x 2 y 2 j k x j y j xk yk j 1 j j D D 28 Преобразование векторных данных случайными бинарными матрицами Скалярное произведение. Дисперсия 2 V { u, v } i 1V {ui vi }. V {uv} E{uv } E 2 {uv} d 2 2 2 4 2 2 2 2 2 E{uv } E { } E{ } E { } 3 j 1 x j y j 2 x, y x y D 2 2 2 E{uv} E{ j 1 j j } j 1 x j y j E{ 2j } E{ 2 } x, y q(1 q) x, y D D V {uv} E{uv } E 2 {uv} E 2 { 2 } E{ 4 } E 2 { 2 } 3 x 2j y 2j x, y j 1 2 D 2 x y 2 2 V { u, v } i 1V {u j v j } V {uv}d d V x, y * V { u, v / d / E{ 2 }} V u, v / d 2 / E 2 { 2 } V x, y * V { u, v / q(1 q) / d} V u, v / q 2 (1 q) 2 / d 2 29 Преобразование векторных данных случайными бинарными матрицами Евклидово расстояние. Матожидание u j 1 j E{ u v } i 1 E{(ui vi ) } d 2 (u v) 2 D 2 v k 1 k D 2 ( ) ( ) j k ( j j )( k k ) j j j j j 1 j 1 2 D D E{(u v)2 } j 1 E{( j j )2 } j k E{( j j )( k k )} D j k E{( j j )( k k )} j k E{( j j )}E{( k k )} 0 E{( u v) 2 } j 1 E{( j j ) 2 } j 1 E{ 2j }( x j y j ) 2 E{ 2 } x y D D E{ u v } E{ 2 } x y d 2 2 x y * u v / d / E{ 2 } 2 2 2 E{ u v } (q q 2 ) x y d . 2 2 x y * u v / d / q(1 q ) 2 2 - несмещенная оценка 30 Преобразование векторных данных случайными бинарными матрицами Евклидово расстояние. Дисперсия 1 V { u v } i 1V {(ui vi )2} d 2 v k 1 k u j 1 j D D V {(u v)2} E{(u v)4 } E 2{(u v)2}. (u v) 4 D j 1 D j 1 ( j j ) j k ( j j )( k k ) 2 2 ( j j ) 2 2 2 D j 1 ( j j ) 2 j k ( j j )( k k ) 2 j k ( j j )( k k ) . 2 4 2 2 ( ) ( ) ( ) ( ) j j j j j j k k j 1 j 1 j k 2 D D ( j j )( k k ) 2 j k ( j j ) 2 ( k k ) 2 ... 2 j k E{2 j 1 ( j j ) 2 D j k ( j j )( k k ) } 0 E{...} 0 31 Преобразование векторных данных случайными бинарными матрицами Скалярное расстояние. Евклидово произведение. Дисперсия Дисперсия 2 E{( u v) 4 } j 1 E{( j j ) 4 } 3 j k E{( j j ) 2 ( k k ) 2 } D E{ 4 } j 1 ( x j y j ) 4 3E 2{ 2 } j k ( x j y j ) 2 ( xk yk ) 2 D E 2{ 2 } E{ 4 } E 2{ 2 } 3 j 1 ( x j y j ) 4 3 x y D (x y ) V {( u v) } E{( u v) } E {( u v) } E { }E{ } E { } 3 xy xy 4 2 4 2 2 4 2 D (x j y j ) j 1 2 2 2 2 D j 1 2 4 4 j j 2 2 2 2 ( x y ) ( x y ) j j k k jk D 4 ( x y ) 2 xy j j j 1 4 V { u v } i 1V {(ui vi )2} V {(u v)2}d 2 d 32 Преобразование векторных данных случайными бинарными матрицами. Анализ 1 E x, y * E u, v / d / E{ 2 } x, y V x, y * V { u, v / d / E{ 2 }} V u, v / d 2 / E 2 { 2 } V 1 / 2 { x, y *} / E{ x, y *} V 1 / 2 { u, v } / E{ u, v } V 1/ 2 {|| x y ||2 *} / E{|| x y ||2 *} V 1/ 2 { u v } / E{ u v } 2 2 1 D 2 2 2 1/ 2 4 2 2 2 2 E { } E { } 3 x y x , y x y V { u, v } / E{ u, v } j 1 j j x, y d 1 D 4 4 2 2 4 2 2 1/ 2 E { } E { } 3 ( x y ) 2 x y j 1 j j V { u v } / E{ u v } 2 xy d 1/ 2 Для R из {0,1} 1/ 2 E{ 4 } (1 q) 4 q (0 q) 4 (1 q) (q q 2 )(1 3(q q 2 )) E{ 4 } E 2{ 2 } (q q 2 )(1 3(q q 2 )) /( q q 2 ) 2 1 /( q q 2 ) 3 Для R из {-1/q,0,1/q} E{ 2 } (1 / q ) 2 q / 2 (1 / q ) 2 q / 2 1 E{ 4 } (1 / q ) 4 q / 2 (1 / q ) 4 q / 2 1 / q E{ 4 } E 2{ 2 } 1 / q Для R из Gauss E{ 4 } E 2{ 2 } 3 33 Преобразование векторных данных случайными бинарными матрицами. Анализ 2 1 D 2 2 E{ 4 } E 2{ 2 } 3 j 1 x 2j y 2j x, y x y V { u, v } / E{ u, v } x, y d 1/ 2 E{ 4 } E 2{ 2 } 1 /( q q 2 ) 3 1 / q 2 1/ 2 E{ 4 } E 2 { 2 } 3 q 2/3 11 10 Tern 9 Bin 8 7 Для R из Gauss 6 V { u, v } / E{ u, v } 4 5 1/ 2 1 2 2 x, y x y x, y d V 1/ 2 3 2 1/ 2 1 /( q q 2 ) 6 0 1 0 -1 0 2 { u v } / E{ u v } d 2 2 2 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 q -2 -3 1 / 2 1 /( 2 3 ) q 1 / 2 1 /( 2 3 ) q [0.2113;0.7887] 34 Преобразование векторных данных случайными бинарными матрицами. Эксперименты 1 2 Dist D=10 q=0.01 Std(dist)/dist 1.5 T-Norm T-Tern q=0.5 T-Bin q=0.5 E-Tern q=0.5 E-Bin q=0.5 T-Tern q=0.1 T-Bin q=0.1 E-Tern q=0.1 E-Bin q=0.1 T-Tern q=0.01 T-Bin q=0.01 E-Tern q=0.01 E-Bin q=0.01 1 q=0.1 0.5 q=0.5 d 0 10 100 1000 35 Преобразование векторных данных случайными бинарными матрицами. Эксперименты 2 D=10000 d 10 100 1000 T-Norm 0.447214 0.141421 0.044721 T-Tern q=0.5 0.447173 0.141409 0.044717 T-Bin q=0.5 0.447133 0.141396 0.044713 E-Tern q=0.5 0.442526 0.140829 0.04454 E-Bin q=0.5 0.448362 0.142213 0.04466 T-Tern q=0.1 0.447495 0.14151 0.044749 T-Bin q=0.1 0.447419 0.141486 0.044742 E-Tern q=0.1 0.441405 0.141205 0.044144 E-Bin q=0.1 0.446487 0.14008 0.044195 T-Tern q=0.01 0.451096 0.142649 0.04511 T-Bin q=0.01 0.451017 0.142624 0.045102 E-Tern q=0.01 0.452649 0.142631 0.044639 E-Bin q=0.01 0.44236 0.141008 0.045312 36 Формирование отражающих сходство бинарных векторов с использованием случайных бинарных проекций 1. Rx=u 2. zi 1 при zi 0 иначе ui ti p( z 1) p(u t p ) p( z1,i 1, z 2,i 1 | , t1 , t 2 ) p(u i t1 , vi t 2 | ) 1 2 e 2 /2 d 1 (t p ) tp 1 e 2 (1 cos 2 ) t1 t2 12 21 2 cos 22 2 (1 cos2 ) d1d 2 Rachkovskij D., Misuno I., Slipchenko S. Randomized projective methods for construction of binary sparse vector representations // Cybernetics and Systems Analysis — 2012 — V. 48 — Issue 1 — P. 146-156 Rachkovskij D.A. Formation of similarity-reflecting binary vectors with random binary projections // Cybernetics and Systems Analysis — 2015 — V. 51 — Issue 2 — P. 313-323 Rachkovskij D.A. Estimation of vector similarity by their randomized binary projections // Cybernetics and Systems Analysis — 2015 — V. 51 — Issue 5 — P. 808-818 37 Формирование отражающих сходство бинарных векторов с использованием случайных бинарных проекций Сходимость к гауссову распределению 1 ,..., D E{ j } 2j V { j } E{( j E{ j }) 2 } S D u j 1 j D E{S D } AD j 1 j ( S D AD ) / BD , BD BD2 D (0,1) 2 , 0 E{| j E{ j } | 2 } V {S D } BD2 j 1 2j D 2 E {| E { } | } j j j 1 D D Условие Ляпунова 1 B 2 D D j 1 E{| j E{ j } | 2 } 0 Условие Линдеберга 1 BD2 2 E {( E { }) }I { j E{ j } BD } 0 j j j 1 D 38 Формирование отражающих сходство бинарных векторов с использованием случайных бинарных проекций Проверка условия Ляпунова порядка 3 1 BD3 3 E {| E { } | } 0 j j j 1 D E{ j } E{r j x j } E{r j }x j 3 3 3 V {S D } BD2 j 1 2j D 3 E{ j E{ j } } E{ r j x j E{r j }x j } x j E{ r j E{r j } } S D u j 1 j D D E{ j E{ j } } E{ r j E{r j } } j 1 x j j 1 B 3 D 3 D j 1 2 j 3/ 2 3 D 3 ( j 1 E{ j E{ j } }) 3 / 2 V 3 / 2 {u} V 3 / 2 {S D } 2 D 2 2 2 E{ j E{ j } } x j E{ r j E{r j } } 2 j 3 LD E{ r E (r ) } E{ r E(r ) } 2 3/ 2 j 1 x j D x 3 2 3 B x 3 D E{ r E{r } } 2 3 j 2 E{ r E (r ) } j Lr E{ r E(r) } 2 3/ 2 j 1 x j D 3 Lr L x 3/ 2 Lx x 3 3 2 39 Формирование отражающих сходство бинарных векторов с использованием случайных бинарных проекций Проверка условия Ляпунова порядка 3 Lx D j 1 x j 1 x j / D xj 3 D 3 1 Lx 3 D 2 j 1 3/ 2 2 D xj / D 3 E{ x j } j 1 x j / D E{ x j } D j 1 x j / D Lx D D 3 j 1 x j / D E{ x j } D 2 2 3 D 1 3 D 2 xj / D j 1 3/ 2 a D 3 a E{ x j } E{ x } 2 3/ 2 j 40 Формирование отражающих сходство бинарных векторов с использованием случайных бинарных проекций Проверка условие Ляпунова порядка 3 при бинарной случайной матрице E{ r E (r ) } 3 E{ r E{r} } E{ r q } 3 3 Lr E{r} 1q 0(1 q) q E{ r E(r) } 2 3/ 2 E{ r q } (1 q) 3 q 0 q (1 q) (q q 2 )((1 q) 2 q 2 ) (q q 2 )(1 2(q q 2 )) 3 3 E{ r q } (1 q) 2 q 0 q (1 q) (q q 2 ) 2 Lr 2 1 2(q q 2 ) 0 q 1 (q q 2 ) 3 LD E{ r E (r ) } E{ r E(r ) } 1 /( q q 2 ) D 2 0 3/ 2 D xj j 1 x 0.5 1 2(q q 2 ) 1 3 3 Lr L x Lx D 1 3 D j 1 D j 1 2 D Lr 1 /( q q 2 ) xj / D 2 xj / D 3/ 2 a D 1 /( q q 2 ) o( D) 41 Скорость сходимости к гауссову распределению Неравенство Берри-Эссеена D sup t FD (t ) (t ) C0 LD C0 C0 ( 1) C0 C E CE 10 3 6 2 1 2 0.01079 0.40973 3 C0 7.59 C0 0.5583(0.4690) LD E{ r E (r ) } E{ r E(r ) } 2 3/ 2 j 1 x j D x 3 3 Lr L x 2 39. Berry A. C. The accuracy of the Gaussian approximation to the sum of independent variates // Transactions of the American Mathematical Society. – 1941. – 49. – P. 122-136. 40. Esseen C. G. On the Liapunov limit of error in the theory of probability // Arkiv för Matematik, Astronomi och Fysik. – 1942. – 28A, N 9. – P. 1-19. 41. Esseen C. G. A moment inequality with an application to the central limit theorem // Skandinavisk Aktuarietidskrift. – 1956. – 39. – 160-170. 42. V. Korolev V. and Shevtsova I. An improvement of the Berry-Esseen inequality with applications to Poisson and mixed Poisson random sums // Scandinavian Actuarial Journal. – 2012. – 2012, N 2. – P. 81-105. 43. Shevtsova I. G. On the absolute constants in the Berry-Esseen-type inequalities // Doklady Mathematics. – 2014. – 89, N 3. – P. 378-381. 44. Тюрин И. С. Уточнение остаточного члена в теореме Ляпунова // Теория вероятностей и ее применение. – 2011. – 56, № 4. – С. 808–811. I. S. Tyurin An improvement of the residual in the Lyapunov theorem // Theory of Probability & Its Applications. – 2011. – 56, N 4. – P. 693--696. 42 Скорость сходимости к гауссову распределению Эксперименты 1 11 0.7 10 1.3 Tern Lr Lx Bin 9 Lx min Lx mean-std Lx mean Lx mean+std Lx max √D Lx mean 0.6 Norm 8 0.5 7 0.4 6 1.25 1.2 1.15 5 0.3 4 1.1 0.2 3 2 1.05 0.1 1 q 0 0 0 0.1 0.2 0.3 0.4 0.5 10 100 1 1000 D 43 Скорость сходимости к гауссову распределению Эксперименты 2 D * D , N sup u FD , N (u ) (u ) D sup t FD (t ) (t ) C0 LD 10 1 100 D 1000 , C0LD 10 T-Tern q=0.5 E-Tern q=0.5 T-Tern q=0.1 E-Tern q=0.1 T-Tern q=0.01 E-Tern q=0.01 T-Bin q=0.5 E-Bin q=0.5 T-Bin q=0.1 E-Bin q=0.1 T-Bin q=0.01 E-Bin q=0.01 T-Gauss E-Gauss 0.1 0.01 44 Ошибка оценки угла. d=1000 Параметры преобразования входных векторов T-Tern q=0.5 p=0.5 E-Tern q=0.5 p=0.5 T-Bin q=0.5 p=0.5 E-Bin q=0.5 p=0.5 T-Tern q=0.5 p=0.1 E-Tern q=0.5 p=0.1 T-Bin q=0.5 p=0.1 E-Bin q=0.5 p=0.1 T-Tern q=0.1 p=0.5 E-Tern q=0.1 p=0.5 T-Bin q=0.1 p=0.5 E-Bin q=0.1 p=0.5 T-Tern q=0.1 p=0.1 E-Tern q=0.1 p=0.1 T-Bin q=0.1 p=0.1 E-Bin q=0.1 p=0.1 T-Tern q=0.01 p=0.5 E-Tern q=0.01 p=0.5 T-Bin q=0.01 p=0.5 E-Bin q=0.01 p=0.5 T-Tern q=0.01 p=0.1 E-Tern q=0.01 p=0.1 T-Bin q=0.01 p=0.1 E-Bin q=0.01 p=0.1 T-Gauss p=0.5 E-Gauss p=0.5 T-Gauss p=0.1 E-Gauss p=0.1 Значения ошибки определения угла (град2) D =10 28.7 28.1 28.8 29.0 36.6 39.7 34.7 113.9 31.7 7430.6 31.8 7103.3 41.0 385.5 33.8 487.9 7.5 47633.6 8.1 46822.0 33.7 526.2 33.9 284.2 28.8 29.1 36.3 39.0 D =20 D =40 28.5 29.3 28.5 28.4 35.8 38.6 35.8 37.4 31.3 898.1 31.4 970.2 36.5 42.7 33.9 233.0 13.9 39165.4 14.6 38201.8 37.3 77.8 33.9 276.7 28.6 26.6 35.9 36.1 28.1 28.7 28.0 28.4 35.2 36.8 35.1 35.6 29.3 120.5 28.8 61.3 36.2 59.6 35.1 38.3 20.9 29886.3 21.3 29259.1 44.3 1162.9 40.2 469.5 28.1 28.2 35.3 36.0 D =100 27.8 27.2 27.8 27.5 35.0 32.9 34.9 37.5 27.9 27.9 28.2 36.5 35.1 36.2 34.5 46.2 31.7 8993.8 31.8 8408.0 40.6 639.2 36.9 135.2 27.9 27.8 35.0 33.7 D =250 D =500 29.0 31.6 29.0 28.8 36.6 37.4 36.6 37.7 29.0 29.8 29.2 31.8 36.6 35.1 36.3 41.3 31.3 688.5 31.1 539.3 38.2 82.6 36.4 41.2 29.0 28.1 35.8 36.6 28.8 28.9 28.8 30.4 36.4 35.5 36.3 38.6 28.8 27.8 28.9 27.1 36.3 37.9 36.4 34.0 29.3 46.6 29.1 35.2 36.9 42.6 36.8 40.6 28.823 30.785 36.3 37.8 D =1000 28.8 29.2 28.8 29.4 36.4 37.6 36.3 35.6 28.8 27.0 28.8 27.9 36.4 36.1 36.4 35.4 28.9 27.4 28.9 26.7 36.5 34.6 36.7 38.5 28.8 28.6 36.4 40.6 45 Лемма Джонсона-Линденштраусса JL Лемма JL. Пусть D, d – целые числа – размерность входного и целевого векторных пространств, ε (0, 1). Любая N-точечная метрика L2 (независимо от входной размерности D) может быть вложена в L2 размерности d=O(log N /2). Лемма случайных проекций. Пусть F – нормализованное случайное линейное отображение (из некоторого класса, см. ниже). с – константа, не зависящая от N, d, ε. Тогда для любого вектора x справедливо: Prob {(1 − ε)||x||≤ ||F(x)|| ≤ (1 + ε)||x|| } ≥ 1 − 2 exp(–c ε2 d) = 1 − . Доказательство Леммы JL. x = yi–yj . ||F(yi–yj)|| = ||F(yi)–F(yj)|| Пусть d настолько велико, что = 2 exp(–c ε2 d) =1/N2 (т.е. d = (1/c) log N /2) Для N точек число расстояний между ними СN2, поэтому вероятность, что любая из пар расстояний искажается F более чем в (1 ± ε) раз, не более СN2 / N2 < 1/2. То есть F, при котором выполняется Лемма JL, существует с вероятностью более 1/2. 46 Лемма Джонсона-Линденштраусса JL Доказано, что Лемма случайных проекций выполняется для следующих «нормализованных случайных линейных отображений» F: F(x)i = (1/k) rijxj, где rij- независимые случайные переменные с E{rij} = 0, Var{ rij} = 1 и равномерным субгауссовым хвостом. a>0, λ >0 Prob{ |X| > λ} ≤ 2 exp(−aλ2) – с.в. X c субгауссовым хвостом. Например • rij из гауссова распределения • rij из {-1,+1} Jiri Matousek Lecture notes on metric embeddings http://kam.mff.cuni.cz/~matousek/ba-a4.pdf Для случайной матрицы с равномерными субгауссовыми хвостами u имеет субгауссовый хвост и сконцентрировано вокруг нормы. 47 Дерандомизация Для линейного вложения для выполнения Леммы JL нужны рандомизированные вложения Rx=0 Для D>d число решений бесконечно D – rank(R) Известен набор N векторов. Конструирование матрицы для выполнения Леммы JL L. Engebretsen, P. Indyk, and R. O’Donnell, Derandomized dimensionality reduction with applications, Proceedings of the 13th Annu ACM-SIAM Symposium on Discrete Algorithms, ACM, New York. 2002, pp. 705–712 Сложность O(DN2 (log N +1/)O(1) ) D. Sivakumar, Algorithmic derandomization via complexity theory, 34th Annual ACM Symposium on Theory of Computing, Montreal, QC, 2002, ACM, New York, 2002, pp. 619–626. Сложность (2b DN/) O(1) Произвольный набор N векторов. Уменьшение числа случайных битов для генерации случайной матрицы Daniel M. Kane and Jelani Nelson. Sparser Johnson-Lindenstrauss transforms. Journal of the ACM, 61(1):4, 2014. O(log(1/δ) log d) случайных битов vs O(αD log d), α=dq 48 Спасибо за внимание! 49