Производительность поиска для k-средних и KSOM - PullRequest
0 голосов
/ 02 октября 2009

В k-средних и KSOM (самоорганизующаяся карта Кохонена), какая из них дает лучшую производительность поиска? И как рассчитать эту производительность?

Ответы [ 2 ]

1 голос
/ 02 октября 2009

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

  1. Инициализация: лучшие результаты получаются от случайных кластерных центроидов, так как сам алгоритм не содержит никакого правила "избежания локальных минимумов".
  2. Количество кластеров: вы должны заранее знать, сколько кластеров вы собираетесь отобразить на данные
  3. Нет зависимости от «формы» кластеров: цель K-средних состоит в том, чтобы сбалансировать размер разделов в пространстве, а в литературной реализации нет способа (почти) настроить поток с другими параметрами (статистика второго порядка, меры компактности и т. д.).

С другой стороны, SOM (или KSOM, как вы его называете) в основном используется для таксономий или для подразделений в пространствах с высокой степенью пригодности и может использовать преимущества более структурированных априоров, чем K-Means. Вы можете выбрать свою собственную функцию ядра, чтобы наложить ограничения на форму сети и многие другие передовые методы, которые должны заслуживать большего места для описания, чем просто пара строк. Недостаток: стадия обучения, не такая быстрая, как у K-Means, бесполезная в определенных областях (когда функция ядра плохо приближается к локальной дисперсии данных).

Надеюсь, это поможет вам.

0 голосов
/ 02 октября 2009

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

Что еще хуже, вы часто обнаруживаете, что довольно небольшие изменения в запросах вносят существенные изменения в реальную производительность.

Так что я боюсь, что вам нужно провести собственный тест и тестирование для ваших конкретных приложений.

...