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

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


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

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

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

Расчеты по методу 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[править]