Сведения о вопросе

nikolya

11:02, 7th August, 2020

Алгоритм поиска схожих объектов?

Просмотров: 270   Ответов: 4

Здравствуйте!


Предполагаем, что схожесть некоторых объектов мы можем вычислить путем вычисления метрики относительно классификации объектов разными классификаторами.


Т.е. у каждого объекта для каждого классификатора имеем своё соответствие.


Вопрос:


как быстро найти n наиболее (или наименее) схожих объектов для объекта X, когда порядок объектов исчисляется десятками миллионов, а классификаторов десятками тысяч?



  Сведения об ответе

park

04:45, 22nd August, 2020

Если нужно сгруппировать очень большое количество объектов то стоит попробовать создать хеш-функцию для результатов классификатора (такую чтоб она обязательно выдавала одинаковые хешы для объектов предположительно одной группы, но не гарантировала что объекты с одинаковым хешем были в одной группе).

Имея хеш функцию мы уже спокойно можем отсортировать объекты по ее значению даже если все значения хешей не помещаются в оперативную память (можно использовать B-tree например).

А вот уже после сортировки на группы с одинаковыми хешами можно применять более точные алгоритмы чтоб разбить эти группы на искомы подгруппы, так как область поиска будет уже значительно меньше.


  Сведения об ответе

ITSME

15:23, 9th August, 2020

Отсортировать и сгруппировать по критериям. MapReduce.


  Сведения об ответе

lourence

12:12, 25th August, 2020

Может попробовать использовать самоорганизующуюся карту Кохонена?


  Сведения об ответе

PHPH

17:07, 25th August, 2020

Я бы использовал кластерный анализ для этого. Алгоритм ФОРЕЛЬ работает достаточно быстро, можно посмотреть в его сторону.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться