Распределенная иерархическая кластеризация

Да. Большинство плагинов и все плагины, которые выполняют немедленную манипуляцию с DOM, должны быть инициализированы, когда существуют элементы. Поэтому, если они загружаются ajax, вам необходимо инициализировать их в обратном вызове ajax после того, как они вставлены в DOM

. Можно сделать что-то вроде:

jQuery('#div-custom')
      .html(result)
      .show()
      .find('.selectpicker')
      .selectPluginName(/* options*/);
21
задан cynicalman 19 September 2008 в 14:57
поделиться

4 ответа

Во-первых, необходимо решить, собираетесь ли Вы создать свою иерархию вверх дном или сверху вниз.

Восходящий назван Иерархической агломерационной кластеризацией. Вот простой, хорошо зарегистрированный алгоритм: http://nlp.stanford.edu/IR-book/html/htmledition/hierarchical-agglomerative-clustering-1.html .

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

Нисходящую конструкцию иерархии называют Разобщающая кластеризация . K-средство является одной опцией решить, как разделить узлы Вашей иерархии. Эта бумага смотрит на K-средства и Главное направление разобщающее разделение (PDDP) для расщепления узлов: http://scgroup.hpclab.ceid.upatras.gr/faculty/stratis/Papers/tm07book.pdf . В конце просто необходимо разделить каждый родительский узел на относительно хорошо сбалансированные дочерние узлы.

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

, Кроме того, каждое разделение могло быть выполнено параллельно. Два примера для k-средств:

17
ответ дан 29 November 2019 в 21:50
поделиться

Clark Olson рассматривает несколько распределенных алгоритмов для иерархической кластеризации:

C. F. Olson. "Параллельные Алгоритмы для Иерархической Кластеризации". Параллельные вычисления , 21:1313-1325, 1995, doi:10.1016/0167-8191 (95) 00017-I .

Parunak и др. описывает алгоритм, вдохновленный тем, как муравьи сортируют свои вложенные множества:

H. Van Dyke Parunak, Richard Rohwer, Theodore C. Belding и Sven Brueckner: "Динамичный Децентрализованный В любое время Иерархическая Кластеризация". В Proc. 4-й Международный семинар в Технических Самоорганизующих системах (ESOA) , 2006, doi:10.1007/978-3-540-69868-5

2
ответ дан 29 November 2019 в 21:50
поделиться

Вы могли посмотреть на часть работы, сделанной с Самоорганизующимися картами (метод нейронной сети Kohonen)... парни в , Венский технический университет сделал некоторую работу над распределенным вычислением их растущего иерархического алгоритма карты.

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

0
ответ дан 29 November 2019 в 21:50
поделиться

Посмотрите этот очень читаемый, хотя и немного устаревший обзор Олсона (1995) , С тех пор для доступа к большинству документов требуется плата. : -)

Если вы используете R, я рекомендую попробовать pvclust , который обеспечивает параллелизм с использованием snow , другого модуля R.

2
ответ дан 29 November 2019 в 21:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: