Кластерный анализ в действии

Материал из Викиверситет
Перейти к: навигация, поиск
Эта статья — часть материалов: Факультет искусственного интеллекта


Здесь мы изучаем и реализуем различные алгоритмы кластерного анализа и проверяем их эффективность

Содержание

Исследуемые алгоритмы [править]

Теория [править]

Расчеты по методу K-средних [править]

  1. выбрать число кластеров N
  2. выбрать исходные центры кластеров
  3. Пересчитать центры кластеров
  • Для каждого кластера выполнить:
for (i=0; i< dimensions; i++)
{
    centroid[i] += point[i];    
    pointsInCluster++;
}
for (i=0; i< dimensions; i++)
{
    centroid[i] /= pointsInCluster;     
}

Обучение слоя Кохонена [править]

Обучения нейрона Кохонена выполняется итерационно, согласно уравнению:

w_{new} = w_{old} + k (x - w_{old}),

где w_{new} – новое значение веса, соединяющего входную компоненту х с выигравшим нейроном; w_{old} – предыдущее значение этого веса; k – коэффициент скорости обучения, который может варьироваться в процессе обучения.

Выбор начальных значений весовых векторов [править]

Одно из решений, известное под названием метода выпуклой комбинации, состоит в том, что все веса приравниваются одной и той же величине:

w_i = \frac {1} {\sqrt {n} },

где n – число входов (число компонент каждого весового вектора).

Но тогда каждая компонента входа x корректируется:

x_i = kx_i + \frac {1-k} {\sqrt {n} }

В начале обучения k мало, вследствие чего все входные векторы имеют длину, близкую к \frac {1} {\sqrt {n}}, и почти совпадают с векторами весов. В процессе обучения сети k постепенно возрастает, приближаясь к единице.

Метод выпуклой комбинации хорошо работает, но несколько замедляет процесс обучения, так как весовые векторы подстраиваются к изменяющейся цели. Но зато в отличии от метода K-средних, нет необходимости устанавливать центры произвольным образом, и они образуется плавно в зависимости от распределения значений компонентов в обучающей выборке.

Практика [править]

Задание №1 [править]

Задание №2 [править]