Метод нечёткой кластеризации C-средних

Материал из testwiki
Перейти к навигации Перейти к поиску

Метод нечёткой кластеризации C-средних (Шаблон:Lang-en) позволяет разбить имеющееся множество элементов мощностью N на заданное число нечётких множеств k. Метод нечеткой кластеризации C-средних можно рассматривать как усовершенствованный метод k-средних, при котором для каждого элемента из рассматриваемого множества рассчитывается степень его принадлежности (Шаблон:Lang-en) каждому из кластеров.

Алгоритм был разработан J.C. Dunn в 1973[1] и улучшен J.C. Bezdek в 1981[2].

Алгоритм:

  1. Задать случайным образом k центров кластеров cj , j=1..k;
  2. Рассчитать матрицу принадлежности элементов к кластерам r. В случае нормального распределения: rij=𝒩(d(xi,cj)|μ=0,σ)jk𝒩(d(xi,cj)|μ=0,σ), где xii-й элемент множества, cj— центр кластера j, d(xi,cj) — расстояние между точками xi и cj, 𝒩— плотность вероятности нормального распределения в точке d(xi,cj).
  3. Переместить центры кластеров cjirijxiirij;
  4. Рассчитать функцию потерь (например, исходя из принципа максимального правдоподобия). В случае нормального распределения функция потерь будет равна: J=jkiNd(xi,cj)2rij;
  5. Если значение функции потерь уменьшается, то повторить цикл с п.2.

Метод нечеткой кластеризации C-средних имеет ограниченное применение из-за существенного недостатка — невозможность корректного разбиения на кластеры, в случае когда кластеры имеют различную дисперсию по различным размерностям (осям) элементов (например, кластер имеет форму эллипса). Данный недостаток устранен в алгоритмах Mixture models и GMM (Gaussian mixture models).

Ссылки

Шаблон:Примечания Шаблон:Машинное обучение