Хорошо, давайте построим матрицу смежности W для этого графа следующий простой процедуры: , если оба смежных вершин я-й и J-го такого же цвета, то вес ребра между ними W_ {i, j} - большое число (которое вы будете настраивать в своих экспериментах позже), а также небольшое количество, которое вы найдете аналогичным образом.
Теперь давайте напишем лапласиан матрицы как L = D - W, где D - диагональная матрица с элементами d_ {i, i}, равными сумме W i-й строки.
Теперь нетрудно показать, что значение fLf^T, где f - некоторый произвольный вектор, мал, если вершины с огромными весами регулировки имеют близкие значения f. Вы можете думать об этом как о способе установки системы координат для графа с i - вершина имеет координату f_i в 1D пространстве.
Теперь выберем некоторое число таких векторов f^k, которые дают нам представление графа как множество точек в некотором евклидовом пространстве, в котором, например, k-означает работу: теперь у вас есть i-я вершина начального графа, имеющего координаты f^1_i, f^2_i, ..., а также смежные векторы того же цвета на начальном графе будут близки в этом новом координатном пространстве.
Вопрос о том, как выбрать векторы f, является простым: просто возьмите пару собственных векторов матрицы L как f, которые соответствуют малым, но отличным от нуля собственным значениям.
Это хорошо известный метод, называемый спектральная кластеризация.
Дополнительная информация: Элементы статистического обучения: интеллектуальный анализ данных, вывод и прогноз. по Тревор Гесте, Роберт Tibshirani и Джером Фридман
, который доступен бесплатно со страницы авторов http://www-stat.stanford.edu/~tibs/ElemStatLearn/
для Разве это не то, что реализуется в scikit освоении SpectralClustering? –
@Juh_ наверное, я не знал о scikit-learn на момент написания. – Moonwalker