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

Эта статья — часть материалов: Факультет искусственного интеллекта


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

Исследуемые алгоритмы

править

Теория

править

Расчеты по методу 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;	
}

Обучение слоя Кохонена

править

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

 ,

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

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

править

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

 ,

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

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

 

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

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

Практика

править

Задание №1

править

Задание №2

править