Авт. обработка текстов на естественном языке и комп. лингвистика. Большакова (2014) (1185448), страница 57
Текст из файла (страница 57)
Поиска точек, чьё õör÷ X}Zсодержит хотя быминимальное число точек (MinPt) не достаточно, так как точки бывают двух видов:ядровые и граничные.Определение 2. Точка } непосредственно плотно-достижима из точки ø (призаданных Eps и MinPt), если } ∈ õör÷ X}Z и |õör÷ X}Z| ¶ a ±`( (рис. 9).Рис. 9. Пример точек, находящихся в отношении непосредственно плотнойдостижимостиОпределение 3. Точка } плотно-достижима из точки ø (при заданных Eps иMinPt), если существует последовательность точек ø }, , }V … , }ù }: } u,непосредственно плотно-достижимы из } . Это отношение транзитивно, но несимметрично в общем случае, однако симметрично для двух ядровых точек.Определение 4.
Точка } плотно-связана с точкой ø (при заданных Eps и MinPt),если существует точка o: } и ø плотно-достижимы из o (при заданных Eps и MinPt),см. рис. 10.Рис. 10. Пример точек, находящихся в отношении плотной связанностиТеперь мы готовы дать определения кластеру и шуму.Определение 5. Кластер j(при заданных Eps и MinPt) – это не пустоеподмножество документов, удовлетворяющее следующих условиям:1981) ∀}, ø: если } ∈ ž и ø плотно-достижима из } (при заданных Eps и MinPt), тоø∈ž.2) ∀}, ø ∈ ž : } плотно-связана с ø (при заданных Eps и MinPt).Итак, кластер – это множество плотно-связанных точек. В каждом кластересодержится хотя бы MinPt документов.Шум – это подмножество документов, которые не принадлежат ни одному1, |ž| .кластеру: } ∈ "| ∀ : } ∉ g ,Алгоритм DBSCAN для заданных значений параметров Eps и MinPt исследуеткластер следующим образом: сначала выбирает случайную точку, являющуюсяядровой, в качестве затравки, затем помещает в кластер саму затравку и все точки,плотно-достижимые из неё.Алгоритм в общем виде.DBSCANВход: множество индексированных документов , Eps и MinPt.Шаг 1.
Установить всем элементам множества флаг «не посещён». Присвоитьтекущему кластеру С нулевой номер, j := 0. Множество шумовых документов Noise:= ∅.Шаг 2. Для каждого ∈ такого, что флаг( ) = «не посещён», выполнить:Шаг 3.флаг( ) := «посещён»;Шаг 4.õ := õör÷ X Zø ∈ "| ?(X , øZ = Ê}?Шаг 5.Если |õ | < MinPt, тоNoise := Noise + { }иначеномер следующего кластера j := j + 1;EXPANDCLUSTER( , õ , g , Ê}?, a ±`();Выход: множество кластеровС .EXPANDCLUSTER, его eps-соседство õ , текущий кластер g иВход: текущий документÊ}?, a ±`(.Шаг 1.
g ∶ g f;Шаг 2. Для всех документов ) ∈ õ :Шаг 3.Если флаг( ) ) = «не посещён», тоШаг 4флаг( ) ) := «посещён»;Шаг 5.õ ) := õör÷ X ) Z;Шаг 6.Если |õ ) | >= MinPt, то õ ≔ õ f õ ) ;Шаг 7.Если ∄}: ) ∈ gr , } 1, |ž|, то g ∶ g f ) ;Выход: кластер g .Эвристический подход к заданию начальных параметров. Для некоторогозначения k, построить график, на котором каждому документу коллекции поставить всоответствие значение k-dist – расстояние до его k-ого соседа, при этом документыдолжны быть отсортированы по убыванию значения k-dist.
Тогда полученный графикможет породить догадки о распределении плотности в массиве документов. Ищемпороговую точку p на графике с наибольшим значением k-dist для «самогоразреженного» кластера: предполагаем, то это первая точка первой «равнины».199Точки, расположенные левее, предположительно считаются шумовыми, а правее –принадлежащими одному из кластеров. Тогда значения параметров Eps = k-dist(p) иMinPt=k.Пример. Воспользуемся эвристикой авторов DBSCAN для настройкиначальных параметров, построим 3-dist: (d2;1,43), (d3;1,39), (d1;1,36), (d4;1,36),(d5;1,32), (d6;1,30).Итак, Eps = 1,36 и MinPt = 3.j := 0; Noise := ∅; Флаг := [0 0 0 0 0 0], где 0 соответствует«не посещён».1) ∶ d1.
Флаг = [1 0 0 0 0 0]. õ1, 2, 4, 5, 6 .|õ | = 5 > MinPt; j = 1;2) g = {d1}.3) ) := d2; Флаг = [1 1 0 0 0 0] õ ) = {d1, d2, d5}; |õ ) | = 3 >=1, 2, 4, 5, 6 . g = {d1, d2}.MinPt; õ4) ) := d4; Флаг = [1 1 0 1 0 0] õ ) = {d1, d4,d5,d6}; |õ ) | = 4Рис. 11. Поиск1, 2, 4, 5, 6 . g = {d1, d2, d4}.>= MinPt; õзначений входныхпараметров алгоритма 5) ) := d5; Флаг = [1 1 0 1 1 0] õ ) = {d1, d2, d4, d5,d6}; |õ ) |= 5 >= MinPt; õ1, 2, 4, 5, 6 .
g = {d1, d2, d4, d5}.DBSCAN6) ) := d6; Флаг = [1 1 0 1 1 1] õ ) = {d1, d4, d5,d6}; |õ ) | = 41, 2, 4, 5, 6 . g = {d1, d2, d4, d5, d6}.>= MinPt; õ7) ∶ d3. Флаг = [1 1 1 1 1 1]. õ3 . |õ | = 1 < MinPt; Noise := {d3}.Получаем один кластер и шумовые документы:1 = {d1, d2, d4, d5, d6} и Noise = {d3}. Разницу между ожиданиями, связаннымис графиком 3-dist (2 шумовых документа), можно объяснить особенностьюпостроения графика 3-dist для данного частного примера: при вычислении расстояниядо k-ого соседа k-соседом становился тот, расстояние до которого отлично отрасстояния до (k-1)-соседа.Вычислительная сложность.
В общем случае алгоритм DBSCAN имеетквадратичную вычислительную сложность из-за поиска Eps-соседства. Однакоавторы алгоритма использовали для этой цели специальную структуру данных – R*деревья, в результате поиск Eps-соседства для одной точки – O(log n). Общаявычислительная сложность DBSCAN – O(n * log n).§ 2.4.Нечёткий алгоритм с-среднихНечёткий алгоритм с-средних был предложен Джоном С.
Данном в 1973 году(позднее усовершенствован Дж. Беждеком в 1981 году) как решение проблемымягкой кластеризации, то есть присвоения каждого документа более чем одномукластеру. Как и его чёткий вариант – алгоритм k-средних – данный алгоритм, начинаяс некоторого начального разбиения данных, итеративно минимизирует целевуюфункцию, которой является следующее выражение:|"| |ž|(44)VÌ $ŽÌ X", žZ A A ü £ C Ÿ$ £ ,E, E,где m – спепень нечёткости, 1 © M © ∞;ü – степень принадлежности i-ого документа j-ому кластеру,200|ž|ü ∈ Š0; 1‹, ∑ E, üü1 для любого1∈;VÌ~,(45)£$ C $£´£ $ C $) £Ÿ – центроид, кластера g ,1, |ž|, вычисляющийся по формуле:| | Ì(46)$∑ E, üŸ###$.∑| E,| üÌАлгоритм в общем виде.Вход: множество проиндексированных документов , количество кластеров| |=k.Шаг 1.
Инициализация матрицы ý v +ü .,1, |"|1, *, например,случайными числами.t = 0, где t – номер итерации.Шаг 2. t := t +1.jШаг 3. Вычислить текущие центроиды кластеров Ÿ$ ,1, * по формуле (46).Шаг 4. Обновить матрицу нечёткого разбиения, то есть вычислить ý j +ü . поформуле (45).Шаг 5. Если не достигнуто условие остановки, например, ‖ý j C ý j~, ‖ © þ, где0 © þ © 1, то повторить с шага 2.Выход: матрица степеней принадлежности документов кластерам ý j +ü ..∑|ž|)E, ³Пример. Пусть k=2; m=2; þ = 0,01.Итерация 0. Инициализация матрицы ý v0.9572 0.04280.4854 0.51460.8003 0.19970.1419 0.85810.4218 0.57820.9157 0.0843Итерация 1.ý, +ü .
=0.8442 0.15580.4953 0.50470.6191 0.38090.0788 0.92120.0889 0.91110.8160 0.1840И т. д.0.16600.2687+ü . случайными числами:0.55350.0056201Ÿ$0.08160.1875,0.22190.02820.05570.68310.20210.2915Итерация 4.ý t +ü . =0.8801 0.11990.5411 0.45890.5537 0.44630.0560 0.94400.0493 0.95070.8369 0.1631tŸ$0.1589 0.6297 0.1369 0.1489 0.00240.2860 0.0168 0.0933 0.0843 0.68320.19200.3314Выполнено условие остановки: ‖ý t C ý s ‖ © þ.Если привести результат к чёткой кластеризации, то получим следующие двакластера:1 = {d2, d3, d4}; 2 = {d1, d5, d6}.Вычислительная сложность.
Алгоритм имеет линейную сложность – ОX|"|Z.§ 2.5.Инкрементный алгоритм C2ICMАлгоритм C2ICM (Cover-Coefficient-based Incremental Clustering Methodology),алгоритм инкрементной кластеризации на основе анализа коэффициентов покрытия,был предложен Фазли Кэном и коллегами в 1991 как решение проблемы поддержкиактуальности кластерной структуры в пополняемых базах документов. Всерассмотренные нами ранее алгоритмы кластеризации не учитывают динамическуюприроду массивов документов, будем называть их статическими алгоритмами.
Если вмассив будут добавлены новые документы или удалены некоторые старые, то спомощью статических алгоритмов возможно только класстеризовать обновленныймассив с самого начала. Ф. Кэн предлагает инкрементный алгоритм С2ICM,позволяющий время от времени модифицировать кластерную структуруизменившегося массива документов.В основе инкрементного алгоритма С2ICM лежит статический алгоритм C3M(Cover-Coefficient-based Clustering Methodology), алгоритм кластеризации на основеанализа коэффициентов покрытия, предложенный в Ф. Кэном и коллегами 1990 г.Первичное разбиение массива документов выполняется с помощью C3M.Анализируется сходство между документами, автоматически определяетсяколичество кластеров, каждый документ коллекции оценивается на возможностьстать затравкой для кластера (оценивается затравочная сила каждого документа).Затем все остальные документы присваиваются тем кластерам, чей документ-затравкаближе других.
Алгоритм С2ICM используется, когда массив документов обновлён.Снова анализируется сходство между документами, автоматически определяетсяновое количество кластеров, каждый документ коллекции оценивается навозможность стать затравкой для кластера. В итоге формируется подмножестводокументов r, которые следует кластеризовать. В него попадают новые документы идокументы из тех кластеров, которые теперь признаны недействительными. Кластерпризнаётся недействительным, если: (а) его документ-затравка больше не являетсязатравкой (это действует и в случае, когда затравка удаляется из массива) и (б) одинили более документов, не являющихся ранее затравками, после обновления массивастали затравочными. Затем полученное подмножество снова разбивается алгоритмомC3M.202Таким образом, не происходит повторное разбиение всей коллекции, а только еёчасти.