Минимальное остовное дерево
Материал из MachineLearning.
(Новая: == Минимальное остовное дерево (Minimum Spanning Tree, MST) == '''Минимальное остовное дерево''' (''Minimum Spanning Tree'', '''MST''')...) |
|||
| Строка 1: | Строка 1: | ||
| - | == Минимальное остовное дерево | + | == Минимальное остовное дерево == |
| - | '''Минимальное остовное дерево''' (''Minimum Spanning Tree'', | + | '''Минимальное остовное дерево''' (англ. ''Minimum Spanning Tree'', ''MST'') — это [[ациклический граф|ациклическое]] [[подмножество]] [[рёбер]] [[взвешенный граф|взвешенного]], [[связный граф|связного]], [[неориентированный граф|неориентированного графа]], которое соединяет все его [[вершина (теория графов)|вершины]] и обладает минимальным суммарным [[вес ребра|весом]] среди всех таких подмножеств. В контексте [[машинное обучение|машинного обучения]] и [[анализ данных|анализа данных]] MST является фундаментальным инструментом для выявления глобальной структуры данных, [[кластеризация|кластеризации]] и снижения размерности, позволяя улавливать нелинейные взаимосвязи без априорных предположений о форме [[распределение вероятностей|распределений]]. |
| - | + | == Формальное определение == | |
| + | Пусть задан связный неориентированный граф <tex>G = (V, E)</tex>, где <tex>V</tex> — множество вершин, <tex>E</tex> — множество рёбер, и [[весовая функция]] <tex>w : E \to \mathbb{R}</tex>, ставящая в соответствие каждому ребру его вес. Остовным деревом <tex>T</tex> графа <tex>G</tex> называется подграф, содержащий все вершины <tex>V</tex> и представляющий собой [[дерево (теория графов)|дерево]]. Минимальным остовным деревом называется такое остовное дерево <tex>T^*</tex>, для которого сумма весов его рёбер минимальна: | ||
| + | <tex>T^* = \arg\min_{T} \sum_{e \in T} w(e)</tex>. | ||
| + | Для полного графа с <tex>n</tex> вершинами число различных остовных деревьев равно <tex>n^{n-2}</tex> ([[формула Кэли]]), что делает задачу перебора NP-трудной в общем случае, поэтому на практике применяются эффективные жадные алгоритмы. | ||
| - | == | + | == Основные алгоритмы построения == |
| + | Все алгоритмы поиска MST опираются на [[лемма о безопасном ребре|лемму о безопасном ребре]], гласящую, что для любого разреза графа, не пересекающего уже построенный фрагмент остова, ребро минимального веса, пересекающее разрез, является безопасным и может быть добавлено в MST. | ||
| - | + | === Алгоритм Краскала === | |
| + | [[Алгоритм Краскала]] сортирует все рёбра графа по возрастанию веса и последовательно добавляет их в строящийся остов, пропуская те, которые образуют [[цикл (теория графов)|цикл]]. Принадлежность вершин различным компонентам связности эффективно отслеживается с помощью [[структура данных|системы непересекающихся множеств]] (Union-Find). Вычислительная сложность составляет <tex>O(E \log E)</tex>, что в основном определяется временем сортировки рёбер. Алгоритм предпочтителен для разреженных графов. | ||
| - | + | === Алгоритм Прима === | |
| + | [[Алгоритм Прима]] начинает с произвольной вершины и на каждом шаге присоединяет к уже построенному дереву ребро минимального веса, соединяющее вершину дерева с вершиной, ещё не входящей в него. При использовании [[двоичная куча|двоичной кучи]] для хранения рёбер сложность составляет <tex>O(E \log V)</tex>. Применение [[фибоначчиева куча|фибоначчиевой кучи]] теоретически улучшает сложность до <tex>O(E + V \log V)</tex>. Алгоритм Прима эффективен на плотных графах. | ||
| - | + | === Алгоритм Борувки === | |
| + | [[Алгоритм Борувки]] исторически является первым алгоритмом для решения задачи MST. На каждой итерации для каждой компоненты связности текущего леса выбирается инцидентное ей ребро минимального веса, после чего выбранные рёбра добавляются в остов, объединяя компоненты. Процесс повторяется, пока не останется одна компонента. Алгоритм хорошо поддается [[параллельные вычисления|распараллеливанию]] и имеет сложность <tex>O(E \log V)</tex>. | ||
| - | === | + | == Применение в машинном обучении и анализе данных == |
| + | MST служит мостом между [[теория графов|теорией графов]] и статистическим анализом, позволяя строить непараметрические оценки и выявлять структуру данных "без учителя". | ||
| - | + | === Кластеризация === | |
| + | Одним из прямых приложений является [[алгоритм кластеризации MST]], порождающий иерархическую структуру кластеров. Разрезы графа — удаление <tex>k-1</tex> самых длинных рёбер MST — разбивают множество объектов на <tex>k</tex> кластеров. Этот подход, в отличие от [[метод k-средних|k-means]], способен выделять кластеры произвольной невыпуклой формы и автоматически определять их количество через анализ распределения длин рёбер MST. В [[биоинформатика|биоинформатике]] MST-кластеризация применяется для анализа [[экспрессия генов|профилей генной экспрессии]]. | ||
| - | * ''' | + | === Снижение размерности и вложение многообразий === |
| + | Концепция MST лежит в основе ряда методов [[нелинейное снижение размерности|нелинейного снижения размерности]], восстанавливающих структуру низкоразмерного [[многообразие|многообразия]], вложенного в высокоразмерное пространство: | ||
| + | * '''[[Алгоритм Изомап|Isomap]]:''' Строит граф k ближайших соседей, а затем заменяет расстояния между удаленными точками длиной кратчайшего пути в этом графе (своего рода MST с избыточными связями). Идейно близкая концепция используется и при построении скелетона распределения данных. | ||
| + | * '''Минимальное остовное дерево как скелет многообразия:''' MST, построенное на всем наборе данных, образует древовидный скелет, аппроксимирующий геодезические расстояния на многообразии и устойчивый к шумам при правильном выборе метрики. | ||
| - | + | === Обнаружение аномалий === | |
| + | В задаче [[обнаружение аномалий|обнаружения аномалий]] объекты, соединенные с MST ребрами аномально большого веса, или вершины, удаление которых вызывает резкое увеличение суммарного веса дерева, могут классифицироваться как [[выброс]]ы. Этот непараметрический тест не требует допущений о типе распределения и основан на [[теория графов|графовых]] свойствах выборки. | ||
| - | + | === Тестирование многомерной однородности === | |
| + | Мультивариативный критерий на основе MST (''Multivariate Two-Sample Test'') используется для проверки гипотезы о том, что две выборки извлечены из одного и того же многомерного распределения. Процедура заключается в построении MST на объединенной выборке и подсчете числа рёбер, соединяющих точки из разных выборок. Принадлежность ребра к разным выборкам оценивается по [[гипергеометрическое распределение|гипергеометрическому распределению]] или при помощи [[пермутационное тестирование|пермутационных тестов]]. Критерий состоятелен против произвольных альтернатив и не требует предположений о виде распределений. | ||
| - | === | + | === Визуализация данных === |
| + | В задачах визуализации многомерных данных MST часто используется совместно с проекциями: например, [[метод главных компонент]] (PCA) используется для отображения вершин, а рёбра MST рисуются поверх проекции, чтобы продемонстрировать, как сильно проекционные соседи отличаются от "истинных" соседей, определенных через MST в исходном пространстве. | ||
| - | + | == Выбор метрики расстояния == | |
| + | Ключевой аспект практического применения MST в машинном обучении — выбор подходящей [[функция расстояния|метрики расстояния]] <tex>d(x_i, x_j)</tex> между объектами. Помимо стандартных расстояний ([[евклидово расстояние|евклидова]], [[манхэттенское расстояние|манхэттенского]]), в зависимости от природы данных применяются: | ||
| + | * '''[[Косинусное расстояние]]''' — для анализа текстов и [[разреженные данные|разреженных]] векторов признаков. | ||
| + | * '''Расстояние [[Махаланобис]]а''' — когда признаки коррелированы. | ||
| + | * '''[[Ядерные методы|Ядерные]] расстояния''', индуцированные нелинейным отображением в [[спрямляющее пространство|пространство признаков]]. | ||
| - | ==== | + | == Оценка устойчивости и продолжения == |
| + | Для оценки стабильности выделяемых структур в анализе данных применяют концепцию ''k-рёберно связного'' MST, добавляя в дерево ребра из оставшихся до тех пор, пока компонента не станет k-рёберно связной. Это приводит к идее [[минимальное остовное дерево с ограничениями|минимального остовного дерева с ограничениями]] (Degree-Constrained MST) и [[Евклидово минимальное остовное дерево|Евклидова MST]], широко исследуемых в [[вычислительная геометрия|вычислительной геометрии]]. | ||
| - | [[Алгоритм | + | == См. также == |
| + | * [[Теория графов]] | ||
| + | * [[Задача коммивояжёра]] | ||
| + | * [[Алгоритм Дейкстры]] | ||
| + | * [[Спектральная кластеризация]] | ||
| + | * [[Самоорганизующаяся карта Кохонена]] | ||
| - | + | == Литература == | |
| - | + | * {{книга | |
| - | + | | автор = Кормен, Т., Лейзерсон, Ч., Ривест, Р., Штайн, К. | |
| - | + | | заглавие = Алгоритмы: построение и анализ | |
| - | + | | оригинал = Introduction to Algorithms | |
| - | + | | издание = 3-е изд. | |
| - | + | | издательство = Вильямс | |
| - | + | | год = 2013 | |
| - | + | | страниц = 1328 | |
| - | + | | isbn = 978-5-8459-1794-2 | |
| - | + | }} | |
| - | + | * {{статья | |
| - | = | + | | автор = Friedman, J.H., Rafsky, L.C. |
| - | + | | заглавие = Multivariate Generalizations of the Wald-Wolfowitz and Smirnov Two-Sample Tests | |
| - | + | | издание = The Annals of Statistics | |
| - | + | | год = 1979 | |
| - | + | | том = 7 | |
| - | + | | номер = 4 | |
| - | + | | страницы = 697–717 | |
| - | + | }} | |
| - | + | * {{статья | |
| - | + | | автор = Xu, R., Wunsch, D. | |
| - | + | | заглавие = Survey of Clustering Algorithms | |
| - | + | | издание = IEEE Transactions on Neural Networks | |
| - | + | | год = 2005 | |
| - | * | + | | том = 16 |
| - | + | | номер = 3 | |
| - | = | + | | страницы = 645-678 |
| - | + | }} | |
| - | + | * {{книга | |
| - | + | | автор = Duda, R.O., Hart, P.E., Stork, D.G. | |
| - | + | | заглавие = Pattern Classification | |
| - | + | | издание = 2nd edition | |
| - | + | | издательство = Wiley-Interscience | |
| - | + | | год = 2000 | |
| - | + | | isbn = 978-0471056690 | |
| - | + | }} | |
| - | + | * {{статья | |
| - | + | | автор = Tenenbaum, J. B., de Silva, V., Langford, J. C. | |
| - | + | | заглавие = A Global Geometric Framework for Nonlinear Dimensionality Reduction | |
| - | + | | издание = Science | |
| - | + | | год = 2000 | |
| - | + | | том = 290 | |
| - | + | | номер = 5500 | |
| - | + | | страницы = 2319-2323 | |
| - | + | }} | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | * {{ | + | |
| - | * {{книга | автор = | + | |
| - | * {{статья | автор = | + | |
| - | + | ||
Версия 15:38, 14 июля 2026
Содержание |
Минимальное остовное дерево
Минимальное остовное дерево (англ. Minimum Spanning Tree, MST) — это ациклическое подмножество рёбер взвешенного, связного, неориентированного графа, которое соединяет все его вершины и обладает минимальным суммарным весом среди всех таких подмножеств. В контексте машинного обучения и анализа данных MST является фундаментальным инструментом для выявления глобальной структуры данных, кластеризации и снижения размерности, позволяя улавливать нелинейные взаимосвязи без априорных предположений о форме распределений.
Формальное определение
Пусть задан связный неориентированный граф , где
— множество вершин,
— множество рёбер, и весовая функция
, ставящая в соответствие каждому ребру его вес. Остовным деревом
графа
называется подграф, содержащий все вершины
и представляющий собой дерево. Минимальным остовным деревом называется такое остовное дерево
, для которого сумма весов его рёбер минимальна:
.
Для полного графа с
вершинами число различных остовных деревьев равно
(формула Кэли), что делает задачу перебора NP-трудной в общем случае, поэтому на практике применяются эффективные жадные алгоритмы.
Основные алгоритмы построения
Все алгоритмы поиска MST опираются на лемму о безопасном ребре, гласящую, что для любого разреза графа, не пересекающего уже построенный фрагмент остова, ребро минимального веса, пересекающее разрез, является безопасным и может быть добавлено в MST.
Алгоритм Краскала
Алгоритм Краскала сортирует все рёбра графа по возрастанию веса и последовательно добавляет их в строящийся остов, пропуская те, которые образуют цикл. Принадлежность вершин различным компонентам связности эффективно отслеживается с помощью системы непересекающихся множеств (Union-Find). Вычислительная сложность составляет , что в основном определяется временем сортировки рёбер. Алгоритм предпочтителен для разреженных графов.
Алгоритм Прима
Алгоритм Прима начинает с произвольной вершины и на каждом шаге присоединяет к уже построенному дереву ребро минимального веса, соединяющее вершину дерева с вершиной, ещё не входящей в него. При использовании двоичной кучи для хранения рёбер сложность составляет . Применение фибоначчиевой кучи теоретически улучшает сложность до
. Алгоритм Прима эффективен на плотных графах.
Алгоритм Борувки
Алгоритм Борувки исторически является первым алгоритмом для решения задачи MST. На каждой итерации для каждой компоненты связности текущего леса выбирается инцидентное ей ребро минимального веса, после чего выбранные рёбра добавляются в остов, объединяя компоненты. Процесс повторяется, пока не останется одна компонента. Алгоритм хорошо поддается распараллеливанию и имеет сложность .
Применение в машинном обучении и анализе данных
MST служит мостом между теорией графов и статистическим анализом, позволяя строить непараметрические оценки и выявлять структуру данных "без учителя".
Кластеризация
Одним из прямых приложений является алгоритм кластеризации MST, порождающий иерархическую структуру кластеров. Разрезы графа — удаление самых длинных рёбер MST — разбивают множество объектов на
кластеров. Этот подход, в отличие от k-means, способен выделять кластеры произвольной невыпуклой формы и автоматически определять их количество через анализ распределения длин рёбер MST. В биоинформатике MST-кластеризация применяется для анализа профилей генной экспрессии.
Снижение размерности и вложение многообразий
Концепция MST лежит в основе ряда методов нелинейного снижения размерности, восстанавливающих структуру низкоразмерного многообразия, вложенного в высокоразмерное пространство:
- Isomap: Строит граф k ближайших соседей, а затем заменяет расстояния между удаленными точками длиной кратчайшего пути в этом графе (своего рода MST с избыточными связями). Идейно близкая концепция используется и при построении скелетона распределения данных.
- Минимальное остовное дерево как скелет многообразия: MST, построенное на всем наборе данных, образует древовидный скелет, аппроксимирующий геодезические расстояния на многообразии и устойчивый к шумам при правильном выборе метрики.
Обнаружение аномалий
В задаче обнаружения аномалий объекты, соединенные с MST ребрами аномально большого веса, или вершины, удаление которых вызывает резкое увеличение суммарного веса дерева, могут классифицироваться как выбросы. Этот непараметрический тест не требует допущений о типе распределения и основан на графовых свойствах выборки.
Тестирование многомерной однородности
Мультивариативный критерий на основе MST (Multivariate Two-Sample Test) используется для проверки гипотезы о том, что две выборки извлечены из одного и того же многомерного распределения. Процедура заключается в построении MST на объединенной выборке и подсчете числа рёбер, соединяющих точки из разных выборок. Принадлежность ребра к разным выборкам оценивается по гипергеометрическому распределению или при помощи пермутационных тестов. Критерий состоятелен против произвольных альтернатив и не требует предположений о виде распределений.
Визуализация данных
В задачах визуализации многомерных данных MST часто используется совместно с проекциями: например, метод главных компонент (PCA) используется для отображения вершин, а рёбра MST рисуются поверх проекции, чтобы продемонстрировать, как сильно проекционные соседи отличаются от "истинных" соседей, определенных через MST в исходном пространстве.
Выбор метрики расстояния
Ключевой аспект практического применения MST в машинном обучении — выбор подходящей метрики расстояния между объектами. Помимо стандартных расстояний (евклидова, манхэттенского), в зависимости от природы данных применяются:
- Косинусное расстояние — для анализа текстов и разреженных векторов признаков.
- Расстояние Махаланобиса — когда признаки коррелированы.
- Ядерные расстояния, индуцированные нелинейным отображением в пространство признаков.
Оценка устойчивости и продолжения
Для оценки стабильности выделяемых структур в анализе данных применяют концепцию k-рёберно связного MST, добавляя в дерево ребра из оставшихся до тех пор, пока компонента не станет k-рёберно связной. Это приводит к идее минимального остовного дерева с ограничениями (Degree-Constrained MST) и Евклидова MST, широко исследуемых в вычислительной геометрии.
См. также
- Теория графов
- Задача коммивояжёра
- Алгоритм Дейкстры
- Спектральная кластеризация
- Самоорганизующаяся карта Кохонена
Литература
- Кормен, Т., Лейзерсон, Ч., Ривест, Р., Штайн, К. Алгоритмы: построение и анализ = Introduction to Algorithms. — 3-е изд.. — Вильямс, 2013. — 1328 с. — ISBN 978-5-8459-1794-2
- Friedman, J.H., Rafsky, L.C. Multivariate Generalizations of the Wald-Wolfowitz and Smirnov Two-Sample Tests // The Annals of Statistics. — 1979. — Т. 7. — № 4. — С. 697–717.
- Xu, R., Wunsch, D. Survey of Clustering Algorithms // IEEE Transactions on Neural Networks. — 2005. — Т. 16. — № 3. — С. 645-678.
- Duda, R.O., Hart, P.E., Stork, D.G. Pattern Classification. — 2nd edition. — Wiley-Interscience, 2000. — ISBN 978-0471056690
- Tenenbaum, J. B., de Silva, V., Langford, J. C. A Global Geometric Framework for Nonlinear Dimensionality Reduction // Science. — 2000. — Т. 290. — № 5500. — С. 2319-2323.

