Алгоритм К внутригрупповых средних

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

Алгоритм:

Шаг 1. Выбирается К исходных центров кластеров z1(1), z2(1), …, zK(1). Этот выбор производится произвольно, и обычно в качестве исходных центров используются первые К результатов выборки из заданного множества образов.

Шаг 2. На k – ом шаге итерации заданное множество образов {х} распределяется по К кластерам по следующему правилу:

х Sj(k), если ||х – zj(k)|| < ||х – zi(k)||

для всех i=1, 2, …, K, i≠j, где Sj(k) – множество образов,

входящих в кластер с центром zj(k).

В случае равенства решение принимается произвольным образом.

Шаг 3. На основе результатов шага №2 определяются новые центры кластеров zj(k+1), j=1, 2, …, K, исходя из условия, что сумма квадратов расстояний между всеми образами, принадлежащими множеству Sj(k), и новым центром кластера должна быть минимальной. То есть новые центры кластеров zj(k+1) выбираются таким образом, чтобы минимизировать показатель качества

Jj= , j=1, 2, …, K.

Центр zj(k+1), обеспечивающий минимизацию показателя качества, является, в сущности, выборочным средним, определенным по множеству Sj(k). Следовательно, новые центры кластеров определяются как

zj(k+1)= , j=1, 2, …, K, где Nj – число выборочных

изображений, входящих в множество Sj(k).

Шаг 4. Равенство zj(k+1) = zj(k) при j=1, 2, …, K является условием сходимости алгоритма, и при его достижении выполнение алгоритма заканчивается. В противном случае алгоритм повторяется от шага №2.

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

Пример:

 
Шаг1. k=2. z1(1)=x1; z2(1)=x2;

Шаг2.. Поскольку ||x3-z1(1)|| < ||x3-z2(1)|| то S1(1) = {x1,x3}. Аналогичным образом устанавливаем, что остальные образы расположены ближе к образу z2(1) и S2(1) = {x2,x4, x5}.

Шаг3. Коррекция назначения центров кластеров:

z1(2)= (x1+x3) =(0,0.5)’.

z2(2)= (x2+x4+x5)=(2.3, 2.6)’.

Шаг4. Так как z1(2)!=z1(1) и z2(2)!=z2(1), то возврат к шагу2.

Шаг2. ||xi-z1(2)|| < ||xi-z2(2)|| для i=1,3, а также ||xi-z2(2)|| < ||xi-z1(2)|| для i=2,4,5. Таким образом, S1(2)={x1,x3}; S2(2)={x2,x4,x5}.

Шаг3. Коррекция назначения центров кластеров:

z1(3)= (x1+x3) =(0, 0.5)’.

z2(3)= (x2+x4+x5)=(2.3, 2.6)’.

Получаем те же результаты, что и на предыдущей итерации

Шаг4. Так как z1(3)=z1(2) и z2(3)=z2(2), то алгоритм сходится и заканчивает свою работу.

Получены следующие центры классов:

z1= ; z2=


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: