Как я могу получить матрицу подобия от minhash LSH?

Я прочитал много руководств и попробовал несколько minhash LSH, но он не может сгенерировать матрицу подобия, вместо этого он возвращает просто похожие данные, которые превышают порог. Как я могу его сгенерировать? Я намерен использовать результаты LSH для кластеризации.


person z3r0    schedule 04.01.2018    source источник


Ответы (1)


Весь смысл LSH заключается в том, чтобы избегать попарных расстояний, потому что это не масштабируется.

Если вы затем поместите данные в матрицу расстояний, вы снова получите все проблемы с масштабируемостью!

Вместо этого рассмотрите такой алгоритм, как кластеризация DBSCAN. Ему не нужна матрица расстояний, только соседи на расстоянии эпсилон.

person Has QUIT--Anony-Mousse    schedule 05.01.2018
comment
Спасибо за ваше предложение. Я попытался использовать unionfind по рангу для кластеризации, но я не удовлетворен результатом, так как кластеры сформированы неправильно. DBSCAN звучит как хорошая идея, так как он может отделить шум от кластеров. А HDBSCAN? Кажется, это лучший алгоритм, чем DBSCAN. Есть ли какой-нибудь код или учебник, который может помочь мне использовать его с LSH? - person z3r0; 06.01.2018
comment
HDBSCAN не будет работать с LSH, потому что он не использует порог диапазона. - person Has QUIT--Anony-Mousse; 07.01.2018
comment
Понятно, но мне просто интересно, может ли DBSCAN обрабатывать кластеры очень разной плотности? - person z3r0; 08.01.2018
comment
Вы можете запустить его с разными эпсилонами. Если вы хотите использовать LSH, вы не можете ожидать, что произвольные плотности будут работать. См. определение LSH, чтобы понять, почему. Вы должны оставаться ниже порога. ОПТИКА будет опцией, но производительность будет ухудшаться по мере того, как вы выбираете свои пороговые значения. И поскольку вся причина LSH заключается в том, чтобы максимизировать производительность, вы хотите иметь как можно меньший порог. - person Has QUIT--Anony-Mousse; 08.01.2018