Алгоритм k-средних (k-means) При большом количестве наблюдений иерархические методы кластерного анализа не пригодны. В таких случаях используют неиерархические методы, основанные на разделении, которые представляют собой итеративные методы дробления исходной совокупности. В процессе деления новые кластеры формируются до тех пор, пока не будет выполнено правило остановки. Такая неиерархическая кластеризация состоит в разделении набора данных на определенное количество отдельных кластеров. Существует два подхода. Первый заключается в определении границ кластеров как наиболее плотных участков в многомерном пространстве исходных данных, т.е. определение кластера там, где имеется большое "сгущение точек". Второй подход заключается в минимизации меры различия объектов Наиболее распространен среди неиерархических методов алгоритм k-средних, также называемый быстрым кластерным анализом. Алгоритм k-средних строит k кластеров, расположенных на возможно больших расстояниях друг от друга. Основной тип задач, которые решает алгоритм k-средних, - наличие предположений (гипотез) относительно числа кластеров, при этом они должны быть различны настолько, насколько это возможно. Выбор числа k может базироваться на результатах предшествующих исследований, теоретических соображениях или интуиции. В методе k-средних объект относится к тому классу, расстояние до которого минимально. Расстояние понимается как евклидово расстояние, т.е. объекты рассматриваются как точки евклидова пространства. Расстояние между объектом и классом есть расстояние между объектом и центром класса. «Но как вычислить центр класса?» - спросите вы. Например, взять средние по каждому параметру. Тогда расстояние между объектом и группой объектов вполне определено и алгоритм может работать. Представьте, что число объектов в группе равно 2. Соедините эти точки отрезком прямой и найдите его середину. Это и будет центр тяжести группы, состоящей из двух точек. Расстояние от этого центра до исходной точки будет искомым расстоянием. Принципиально метод k-средних «работает» таким образом: 1) вначале задается некоторое разбиение данных на кластеры (число кластеров определяется пользователем); вычисляются центры тяжести кластеров; 2) происходит перемещение точек: каждая точка помещается в ближайший к ней кластер; 3) вычисляются центры тяжести новых кластеров; 4) шаги 2, 3 повторяются, пока не будет найдена стабильная конфигурация (т.е. кластеры перестанут изменяться) или число итераций не превысит заданное пользователем. Итоговая конфигурация и является искомой. На рис. 5 приведен пример работы алгоритма k-средних для k, равного двум.  Рис. 5.Пример работы алгоритма k-средних (k=2) Выбор числа кластеров является сложным вопросом. Если нет предположений относительно этого числа, рекомендуют создать 2 кластера, затем 3, 4, 5 и т.д., сравнивая полученные результаты. После получений результатов кластерного анализа методом k-средних следует проверить правильность кластеризации (т.е. оценить, насколько кластеры отличаются друг от друга). Для этого рассчитываются средние значения для каждого кластера. При хорошей кластеризации должны быть получены сильно отличающиеся средние для всех измерений или хотя бы большей их части. Достоинства алгоритма k-средних: · простота использования; · быстрота использования; · понятность и прозрачность алгоритма. Недостатки алгоритма k-средних: · алгоритм слишком чувствителен к выбросам, которые могут искажать среднее. Возможным решением этой проблемы является использование модификации алгоритма - алгоритм k-медианы; · алгоритм может медленно работать на больших базах данных. Возможным решением данной проблемы является использование выборки данных. В модуле Cluster Analysis, меню Statistics àMultivariate Exploratory Techniques реализуются следующие методы кластеризации: · Соединения (древовидная кластеризация), Joing (tree clustering); · Метод k-средних (k-means clustering); · Двухвходовое обьединение (Two-way joining). |