ISBN 5-7262-0634-7. НЕЙРОИНФОРМАТИКА – 2006. Часть 2 Л.Б. ЛИТИНСКИЙ, Д.Е. РОМАНОВ Институт оптико-нейронных технологий РАН, Москва [email protected], [email protected] НЕЙРОСЕТЕВОЙ ПОДХОД К ЗАДАЧЕ КЛАСТЕРИЗАЦИИ ОБЪЕКТОВ Аннотация Предлагается алгоритм кластеризации многомерных объектов, в котором для отыскания центров классов используется нейроподобная процедура. Излагаются результаты компьютерного моделирования. Алгоритм позволяет пользователю составить представление о классах, объективно существующих в обрабатываемом материале. Введение Целью кластеризации набора N m-мерных точек является выявление неравномерностей в распределении точек по пространству R m . Под «неравномерностями» понимаются сгущения точек, образование ими компактных групп или, как говорят, классов. Эта – традиционная задача распознавания образов без учителя [1]-[3]. За последние 40 лет предложено множество подходов к ее решению, основанных либо на той или иной теоретико-вероятностной модели, либо – на той или иной правдоподобной эвристике. К последним можно отнести популярные в течение уже довольно длительного времени метод k-средних [4] и алгоритм Forel [5]. Алгоритм метода k-средних: 1) задаемся числом классов k, а в качестве центров классов случайным образом выбираем k точек исходного набора; 2) каждую точку набора относим к тому классу, к центру которого данная точка ближе всего; 3) пересчитываем координаты центров классов и возвращаемся к п.2. Как только при переходе от одной итерации к другой координаты центров не изменились – завершаем кластеризацию. Алгоритм Forel: 1) задаёмся некоторым значением T радиуса m-мерной сферы, который в дальнейшем используется как порог для радиуса взаимодействия между точками; 2) помещаем в произвольную точку центр сферы выбранного радиуса; 3) находим координаты центра тяжести точек, попавших внутрь сферы; 4) переносим центр сферы в эту точку и возвращаемся к п.3; 5) как только при переходе от одной итерации к другой сфера осталась на месте – полагаем точки внутри неё за класс и удаляем их из множества, а затем переходим к п.2 алгоритма. УДК 004.032.26(06) Нейронные сети 203 ISBN 5-7262-0634-7. НЕЙРОИНФОРМАТИКА – 2006. Часть 2 Легко понять недостатки, присущие обоим методам кластеризации. Во-первых, в сколько-нибудь общем случае результат кластеризации будет зависеть от произвольно выбираемых начальных условий. Во-вторых, оба метода ориентированы на работу с координатным представлением точек и не работают, когда известны только расстояния между точками. Предлагаемый нами метод кластеризации позволяет преодолеть, по крайней мере, перечисленные недостатки. Так же как и Forel он основан на введении эффективного радиуса взаимодействия T, и разнесении точек по сферам радиуса T. Точки, попавшие внутрь сферы, относятся к одному классу. Центры сфер определяются в результате работы нейросетевой процедуры, подобной той, которая характерна для сети с латеральным торможением. В результате, центрами сфер оказываются такие точки исходного набора, которые (при данном радиусе T) взаимодействуют с максимальным числом окружающих точек. Можно сказать, что центры сфер локализуются внутри областей сгущения исходных точек. Одновременно определяется число классов M, которые характерны для обрабатываемого материала при данном радиусе взаимодействия T. Затем порог T прогоняется от нуля до очень большого значения и строится график M(T), выражающий зависимость числа классов от T. По числу протяженных «плато» на этом графике можно судить о числе истинных классов, которые можно обнаружить в обрабатываемом материале. Вычислительная сложность алгоритма оценивается как ~ O ( N 2 ) . В настоящем сообщении излагается алгоритм кластеризации и результаты его тестирования на модельных задачах и известном эмпирическом материале «Ирисы Фишера» [4]. 1. Алгоритм кластеризации По заданному набору m-мерных точек xi ( xi(1) , xi(2) ,.., xi( m ) ) , i 1, 2,..., N , образуем квадратную (NxN)-матрицу евклидовых расстояний между ними: D ( Dij )iN, j 1 . Будем считать, что в каждую точку x i помещен нейрон с начальной активностью Si (0) , которую определим ниже. 1) Для фиксированного значения порога взаимодействия T положим величину связи wij между i-м и j-м нейронами равной УДК 004.032.26(06) Нейронные сети 204 ISBN 5-7262-0634-7. НЕЙРОИНФОРМАТИКА – 2006. Часть 2 T2 T2 , если 2 0.5, 2 2 Dij T 2 Dij T wij T2 0 , если 2 0.5. Dij T 2 Как видим, связь между нейронами отсутствует, если расстояние между точками больше T. Обратим внимание на то, что wii (T ) 1 . 2) Начальная активность каждого нейрона полагается равной N Si (0) wij 1 . j 1 Максимальную начальную активность будут иметь нейроны, лежащие внутри скоплений точек – они обладают большим числом отличных от нуля связей, чем нейроны, находящиеся на периферии скоплений. 3) Запускаем процесс «перекачки» активностей: N Si (t 1) Si (t ) wij (Si (t ) S j (t )) , j 1 где – параметр, характеризующий скорость перекачки. Легко видеть, что обладающий большой начальной активностью нейрон в процессе перекачки «отбирает» на себя активности у нейронов с меньшими активностями, с которыми он взаимодействует. Активности же этих, окружающих нейронов, неуклонно падают. 4) Если в процессе перекачки активность какого-то нейрона становится отрицательной, Si (t ) 0 , то полагаем: Si 0 , и из дальнейшей перекачки этот нейрон исключается (у него уже нечего перекачивать). Ясно, что постепенно будут выбывать из рассмотрения периферийные нейроны, отдавая свою активность нейронам, находящимся внутри скоплений точек. Постепенно все сойдется к ситуации, когда останется только несколько, далеко отстоящих друг от друга невзаимодействующих нейронов с отличными от нуля активностями. Дальнейшая перекачка активностей становится невозможной и процедура останавливается. 5) Пусть в результате перекачки активностей осталось M далеко отстоящих друг от друга нейронов. Соответствующие им точки объявляются центрами классов, а все остальные точки распределяются по классам на основе критерия наибольшей близости к тому или иному центру. Пункты 1)-5) проделываются для фиксированного значения порога взаимодействия T. Ясно, что когда T 0 , ни один нейрон не будет взаиУДК 004.032.26(06) Нейронные сети 205 ISBN 5-7262-0634-7. НЕЙРОИНФОРМАТИКА – 2006. Часть 2 модействовать ни с каким другим нейроном ( wij 0 при i j ). Все они будут иметь одинаковые активности Si wii 1 . Никакой перекачки активностей происходить не будет, и мы получим большое число N классов, состоящих (каждый!) всего из одной точки. С другой стороны, если порог взаимодействия T взять очень большим (например, большим, чем max ( Dij ) ), все нейроны будет взаимодействовать друг с другом, а в результате перекачки активным останется только один нейрон, находящийся, условно говоря, внутри «облака» исходных точек. В этом предельном случае получается всего один класс, включающий в себя все предъявленные для обработки точки. Прогоняя T от нуля до максимального значения, строим график зависимости числа классов от величины порога взаимодействия M (T ) . И оказывается, что (по крайней мере, на рассмотренных модельных примерах) для графика характерно наличие длинных, протяженных «плато». Иначе говоря, на нескольких интервалах изменения T число классов M не меняется (примеры см. ниже). Эти «плато» позволяют судить о числе классов, объективно существующих в обрабатываемом материале. 2. Результаты компьютерного моделирования Самый простой случай показан на рис. 1. На панели слева приведено распределение 20 точек плоскости по двум скоплениям, на панели справа – получившийся график M(T). Видно, что на начальной стадии изменения T число классов стремительно меняется, а затем стабилизируется на уровне M = 2 и остается неизменным в широком интервале изменения T. На рис. 2 показан аналогичный пример с пятьюдесятью точками, распределенными по 5 плотным скоплениям. На графике M(T) отчетливо видны 4 плато. Первое плато – на уровне M = 5; эмпирические точки при этом распределяются в точности по 5 исходным скоплениям. Следующее плато – при M = 4; здесь в один класс объединяются точки, принадлежащие двум внутренним, близко расположенным скоплениям. Следующее плато – при M = 3; здесь в один класс объединены точки 3-х, близко расположенных друг к другу внутренних скоплений. И, наконец, последнее плато на уровне M = 2; здесь в один класс объединяются все точки из верхней части рисунка. УДК 004.032.26(06) Нейронные сети 206 ISBN 5-7262-0634-7. НЕЙРОИНФОРМАТИКА – 2006. Часть 2 700 20 18 600 16 14 500 M Y 12 400 10 8 300 6 4 200 2 100 100 200 300 400 X 500 600 0 700 0 100 200 300 400 500 600 700 T Рис. 1. Слева – 2 плотных скопления, образованных двадцатью точками на плоскости (X, Y); справа – график M(T) 50 1000 45 900 40 700 35 600 30 500 25 M Y 800 400 20 300 15 200 10 100 5 0 0 100 200 300 400 500 X 600 700 800 900 1000 0 0 100 200 300 400 T 500 600 700 800 Рис. 2. То же, что на рис. 1 для 50 точек плоскости в 5 скоплениях В случае 10 классов (см. рис. 3) небольшие плато наблюдаются на графике и при M = 10, и при M = 9, однако самое широкое плато наблюдается при M = 6. Это плато отвечает разнесению точек по шести классам которые достаточно отчетливо проступают в материале. Подчеркнем, что для исследователя интерес представляет не только разделение на 6 классов, но и разделение на 10 мелких классов, и то, как эти мелкие классы объединяются по мере увеличения порога T. УДК 004.032.26(06) Нейронные сети 207 1100 100 1000 90 900 80 800 70 700 60 M 600 500 40 400 30 300 20 200 100 100 50 10 200 300 400 500 600 700 800 900 0 1000 X 0 50 100 150 200 250 300 350 T Рис. 3. То же, что на предыдущем рисунке для 100 точек Последний пример – классическая задача кластеризации «Ирисов Фишера». Исходный набор – это 150 четырехмерных точек (каждый ирис характеризуется четырьмя параметрами). Все они были кластеризованы вручную, при этом получилось 3 класса, два из которых лежат несколько ближе друг к другу, чем третий. Наш алгоритм показал именно такую картину распределения ирисов по классам (рис. 4). Сперва исходный набор точек разделяется на три класса, а затем два из них объединяются в один. Разнесение ирисов по классам совпадает с полученным вручную. 150 100 Рис. 4. График для «Ирисов Фишера» M Y ISBN 5-7262-0634-7. НЕЙРОИНФОРМАТИКА – 2006. Часть 2 50 0 0 5 10 15 20 УДК 004.032.26(06) Нейронные сети 25 T 30 35 40 45 50 208 ISBN 5-7262-0634-7. НЕЙРОИНФОРМАТИКА – 2006. Часть 2 3. Обсуждение В реальных эмпирических данных, кроме плотных скоплений непременно присутствуют «шумовые» точки, попадающие в промежутки между скоплениями. В таком случае наш алгоритм будет выдавать плато с большим числом классов на ранних стадиях изменения порога T. При этом будет образовываться большое число «паразитных» классов, состоящих – каждый – всего из одной «шумовой» точки. Бороться с этим эффектом легко: достаточно принимать во внимание только те классы, в которые попало много точек, а остальные – игнорировать. Описанный алгоритм выполняет кластеризацию не только при координатно заданной выборке, но и по матрице расстояний между точками, что является его преимуществом. Наша ближайшая цель – трансформировать алгоритм так, чтобы можно было решать аналогичные задачи на материалах, заданных только мерой близости между объектами произвольной природы. Работа выполнялась в рамках проекта «Интеллектуальные компьютерные системы» (программа 2.45) при финансовой поддержке грантом РФФИ 04-07-90038. Список литературы 1. М.А. Айзерман, Э.М. Браверман, Л.И. Розоноэр. Метод потенциальных функций в теории обучения машин. – М.: Наука, 1970. 2. Дж. Ту, Р. Гонсалес. Принципы распознавания образов. М.: Мир, 1978. 3. А.А. Дорофеюк. Алгоритмы автоматической классификации (обзор). Автоматика и телемеханика (1971) №12, с. 23-31. 4. С.А. Айвазян, В.М. Бухштабер, И.С. Енюков, Л.Д. Мешалкин. Прикладная статистика. Классификация и снижение размерности. М.: Финансы и статистика, 1989. 5. Н.Г. Загоруйко. Прикладные методы анализа данных и знаний. Новосибирск: 1999, с. 38-45. УДК 004.032.26(06) Нейронные сети 209