Позволять быть функцией, которую мы называем функцией подобия . Примерами функции подобия являются косинусное расстояние, норма, расстояние Хэмминга, сходство Жакара и т. д.
Рассматривать двоичные векторы длины : ,
Наша цель - сгруппировать векторы, которые похожи. Более формально, мы хотим вычислить граф подобия, где узлы - это векторы, а ребра - векторы, которые похожи ().
а также очень большие числа, и сравнивая две длины векторы дорогие, мы не можем сделать всю грубую силу операции. Мы хотим вычислить граф подобия с существенно меньшим количеством операций.
Это возможно? Если нет, мы можем вычислить приближение к графу, которое содержит все ребра в графе подобия плюс, возможно, самое большее другие края?
Ответы:
Там может быть способ вставить теорему Джонсона-Линденштраусса в эту проблему. По сути, JL заявляет, что вы можете проецировать данные больших размеров в пространства меньших размеров таким образом, что попарные расстояния почти сохраняются. С практической точки зрения, у Ахлиоптаса есть статья под названием « Случайные проекции , удобные для баз данных»: Джонсон-Линденштраусс с бинарными монетами, которая делает эту проекцию случайным образом, что довольно хорошо работает на практике.
Теперь, конечно, ваша функция подобия не совсем совпадает с той, что вписывается в теорему JL. Тем не менее, это похоже на функцию расстояния, и, возможно, некоторые из приведенных выше теорий могут помочь.
источник