Тема: ИССЛЕДОВАНИЕ АЛГОРИТМОВ ЗАДАЧИ КЛАСТЕРИЗАЦИИ
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
ГЛАВА 1. ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ ЗАДАЧИ КЛАСТЕРИЗАЦИИ 5
1.1 Формальная постановка задачи кластеризации 5
1.2 Актуальные проблемы кластерного анализа 6
1.3 Этапы кластерного анализа 8
1.4 Цели кластеризации 9
1.5 Функции расстояний 10
1.6 Алгоритмы кластеризации 12
1.6.1 Неиерархические методы 13
1.6.2 Иерархические алгоритмы 14
ГЛАВА 2. РЕАЛИЗАЦИЯ АЛГОРИТМОВ ЗАДАЧИ КЛАСТЕРИЗАЦИИ 15
2.1 Алгоритм k-means 15
2.2 Иерархический метод 17
2.3 DBSCAN 20
2.4 MaxFlow 21
ГЛАВА 3. РЕЗУЛЬТАТЫ РАБОТЫ РЕАЛИЗОВАННЫХ АЛГОРИТМОВ 23
ЗАКЛЮЧЕНИЕ 28
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ 30
ПРИЛОЖЕНИЕ
📖 Введение
Классификация развивалась с развитием науки как одна из ее фундаментальных граней, но до последнего времени данный процесс опирался на возможности человека распознавать образы и группировать объекты. Но с ростом научных знаний, растет объем и сложность информации, ввиду чего эффективный анализ становится практически недосягаемым для человека и требуются новые походы.
В таких условиях, автоматизация направлений человеческой деятельности затронула и процесс кластеризации. В настоящее время совокупность алгоритмов и методов, которые используются для автоматической группировки объектов, называют кластерным анализом.
Задача кластеризации (англ. clustering), в отличие от задач регрессионного анализа и задач классификации, а также от других известных классов задач машинного обучения, основывается на так называемом «обучении без учителя» (англ. «unsupervised learning»). Основная задача состоит в том, чтобы предоставить пользователю, который исследует данные инструмент для автоматического разделения имеющихся объектов на классы, с учетом сходств или различий характеристик (так называемых, факторов) этих объектов.
Основная проблема заключается в том, что ни количество классов, ни сами классы заведомо не известны. Возникает вопрос: как компьютер выполнит разбиение на классы, если сами эти классы неизвестны?
Все кластеры организованы таким образом, что факторы экземпляров одного класса достаточно близки между собой, но при этом достаточно отличаются от факторов экземпляров других кластеров. В данном определении, понятия какого-то “сходства” и “различия” весомо зависят от конкретной области и от задачи. В большинстве случаев, кластеризацию используют с той целью, чтобы произвести сжатие данных, а именно сократить объем исходных данных за счет того, что один класс исследуется как один цельный объект.
Кластеризация обеспечивает понимание исходных данных и упрощает дальнейшее исследование данных. Так же стоит учитывать, что при проведении кластеризации могут быть найдены “нетипичные” объекты, т.е. объекты, которые невозможно отнести ни к одному классу. Именно такие объекты дают новый полезный материал для дальнейшего изучения и исследования.
Цель данной работы заключается в ознакомлении с задачей кластеризации, а также в изучении и сравнении алгоритмов задачи кластерного анализа.
✅ Заключение
Существует огромное количество алгоритмов кластеризации. Интуитивно понятным является алгоритм k-means, однако у данного алгоритма существует ряд своих минусов. Существует две большие группы алгоритмов: иерархические и неиерархические.
Кластеризация относится к разделу “задач без учителя”. Это означает, что не требуется наличие обучающей выборки.
Цель данной работы заключалась в изучении и исследовании алгоритмов кластерного анализа.
В ходе работы были рассмотрены, изучены, реализованы и проанализированы следующие алгоритмы:
•K-mean;
•Ward;
•BDSCAN;
•MaxFlow (собственный метод).
Все графические результаты представлены в главе 3.
Проанализировав результаты работы алгоритмов, можно сказать, что не существует универсального метода кластеризации. Исходя из приоритетных свойств (простота и прозрачность, легкость реализации, быстрота выполнения, надобность “выделения” шумов, необходимость иметь полное решение - дендрограмму и т.д.), необходимо выбирать алгоритм, подходящий под конкретную ситуацию.
В главе 3 сделанные основные выводы и предположения, какие алгоритмы использовать в конкретной ситуации.
Наилучшие временные результаты показывает алгоритм k-means и DBSCAN, наилучшие качественные характеристики - DBSCAN и MaxFlow. Алгоритмами, которые способны распознать шум - DBSCAN и MaxFlow. Если имеется необходимость отслеживать каждый шаг разбиения/соединения кластеров, то имеет смысл использовать иерархический алгоритм Ward.
Стоит заметить, что алгоритмы MaxFlow и DBSCAN позволяют выделять кластеры произвольной формы, когда алгоритмы k-means и Ward выделяют кластеры сферической формы.
Данные выводы и алгоритмы являются только началом изучения задачи кластерного анализа. Проблема кластеризации всегда будет оставаться актуальной, так как с каждым днем область применения разбиения данных расширяется, растут объемы данных, что вызывает рост необходимости прибегать к дополнительным технологиям.



