§4. Быстрые алгоритмы
В 1978 г. М. Брюиношем было введено важное понятие редуктивности (сводимости) мер отдалённости. Оно заключается в том, что для произвольного условия и влекут выполнение хотя бы одного из неравенств или .
Иными словами, -окрестность множества, полученного объединением двух -близких классов, включена в объединение -окрестностей этих двух классов.
Можно дать другую формулировку свойства редуктивности: если , а и , то . Обладают ли этим свойством и — вопрос 5.
Смысл по-пацански: если два класса слиплись, новый ком не может оказаться ближе к постороннему, чем был хотя бы один из кусков. Слияние не «притягивает» соседей — значит, тех, кто был далеко, можно пока не трогать.
Для редуктивных мер отдалённости можно построить быстрые алгоритмы, позволяющие классифицировать тысячи объектов. Разберём их принципиальную схему.
Схема с порогом δ
При -м шаге иерархической процедуры приходится искать минимальный элемент в матрице мер отдалённостей классов, то есть минимум из чисел. Ясно, что минимальный элемент находится среди элементов, не превосходящих некоторый порог . При соответствующем выборе массив таких элементов имеет размер намного меньший, чем . В этом и состоит основная причина большой скорости работы алгоритмов и экономии компьютерной памяти.
Обозначим через множество пар номеров классов таких, что , а через — массив из номеров классов, присутствующих в .
- На первом этапе попарно объединяются классы из , пока текущее не станет пустым.
- Затем берётся новое значение порога , и формируются множества и .
- И так далее, до полного слияния всех объектов в один класс.
Пример: пять точек, метрика города
Рассмотрим работу алгоритма на данных рис. 15 у Лагутина — пять точек на целочисленной решётке: , , , , . В качестве расстояния используем метрику города D1, мерой отдалённости классов будем считать .
Матрица расстояний:
| 1 | 2 | 3 | 4 | 5 | |
|---|---|---|---|---|---|
| 1 | 0 | 1 | 4 | 7 | 9 |
| 2 | 0 | 3 | 6 | 8 | |
| 3 | 0 | 5 | 5 | ||
| 4 | 0 | 2 | |||
| 5 | 0 |
Ход алгоритма:
- Зададим . Тогда и .
- Объединяем наиболее близкие объекты 1 и 2 в новый класс под номером 6. Матрица межклассовых мер для классов 3, 4, 5, 6: , , , остальные прежние.
- При этом изменятся и : , , и т. д.
- Объединяются 4 и 5 (уровень 2) в класс 7, затем 3 и 6 (уровень 3) в класс 8.
- После этого уже нет пар классов, для которых : осталось . Поэтому приходится увеличить порог до , что и позволяет завершить процедуру.
При выполнении свойства редуктивности алгоритм строит точно такую же дендрограмму, что и обычная иерархическая процедура. Для присоединения класса 3 к классам 1, 2 достаточно просмотреть окрестности 1 и 2, а не проверять связь 1–4.
Выбери «40 случайных точек» и поиграй с методами. Для ближнего и дальнего соседа, средней связи и Уорда дендрограмма совпадает с обычной, а в памяти держится лишь малая доля из пар. Метод центров масс не редуктивен, и для него совпадение не гарантировано.
Смысл по-пацански: не ищи ближайшую пару среди всех — сперва отбери «подозрительно близких» по порогу и разбирайся только с ними. Закончились — подними планку.
Как выбирать пороги
Эффективность алгоритма существенно зависит от выбора последовательности порогов :
- если слишком велико, то включает почти все пары классов, и мы практически возвращаемся к традиционной иерархической процедуре;
- если же величина порога слишком мала, то придётся часто формировать множества и .
Обычно используют следующие два способа выбора порогов.
Первый способ (на основе гистограммы ). Порог находится из условия достаточности выделенной компьютерной памяти для хранения всех .
Пусть, например, число объектов равно 100. Тогда на первом шаге имеется пар классов. При этом задано, что их количество в памяти не должно превышать 200. Предположим, что первые четыре интервала гистограммы содержат 180 пар, а пятый — ещё 40 пар. В таком случае можно поместить в память только 180 пар, причём порог будет равен наибольшему значению этих пар.
Смысл по-пацански: не держи в голове весь телефонный справочник района — держи только соседей по подъезду. Порог — это и есть «подъезд»: 180 номеров вместо 4950, а позвонить всё равно придётся только ближайшему.
Второй способ («изменяющееся среднее»). Вычисляется среднее арифметическое всех ; пусть это будет . Если возможно размещение в памяти всех , то полагается . Иначе удаляются пары, у которых , а для оставшихся снова подсчитывается среднее арифметическое и т. д. — до тех пор, пока все не уместятся в заданной компьютерной памяти.
Замечание 4. Е. Диде и В. Моро (1984 г.) показали, что если слегка ужесточить условия теоремы 1 из §3, заменив неравенство в) на неравенство
то меры отдалённости, удовлетворяющие (5), будут редуктивными.
По кирпичикам — проверим на таблице из §3:
- ближний и дальний сосед, средняя связь: и — условие выполнено;
- Уорд: — выполнено;
- центры масс: , но , и сумма меньше 1 — условие нарушено.