Нейросетевой подход к задаче кластеризации объектов

advertisement
ISBN 5-7262-0634-7. НЕЙРОИНФОРМАТИКА – 2006. Часть 2
Л.Б. ЛИТИНСКИЙ, Д.Е. РОМАНОВ
Институт оптико-нейронных технологий РАН, Москва
litin@iont.ru, demaroman@yandex.ru
НЕЙРОСЕТЕВОЙ ПОДХОД К ЗАДАЧЕ
КЛАСТЕРИЗАЦИИ ОБЪЕКТОВ
Аннотация
Предлагается алгоритм кластеризации многомерных объектов, в котором для отыскания центров классов используется нейроподобная процедура. Излагаются результаты компьютерного моделирования. Алгоритм
позволяет пользователю составить представление о классах, объективно
существующих в обрабатываемом материале.
Введение
Целью кластеризации набора 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
Download