Построение классификационной модели на основе кластерного анализа с использованием машинного обучения
|
Введение 3
1 Анализ путей совершенствования алгоритмов машинного обучения 6
1.1 Анализ данных с использованием машинного обучения 6
1.2 Сравнительный анализ алгоритмов для классификации объектов на изображении 14
1.3 Пути развития технологий машинного обучения 19
2 Разработка технологии классификации данных на основе алгоритма k-means 24
2.1 Математический аппарат метрических алгоритмов кластеризации 24
2.2 Способ построения классификатора и классификации данных на основе результатов кластерного анализа 31
3 Проведение тестирования предложенных подходов 38
3.1 Программной реализация алгоритма построения классификатора и классификации данных на основе алгоритма k-means 38
3.2 Вычислительный эксперимент на наборе данных «Fisher's Iris» 50
3.3 Вычислительный эксперимент на наборе данных «Machine» 56
3.4 Вычислительный эксперимент на наборе данных «DryBean» 60
Заключение 67
Список используемой литературы 69
1 Анализ путей совершенствования алгоритмов машинного обучения 6
1.1 Анализ данных с использованием машинного обучения 6
1.2 Сравнительный анализ алгоритмов для классификации объектов на изображении 14
1.3 Пути развития технологий машинного обучения 19
2 Разработка технологии классификации данных на основе алгоритма k-means 24
2.1 Математический аппарат метрических алгоритмов кластеризации 24
2.2 Способ построения классификатора и классификации данных на основе результатов кластерного анализа 31
3 Проведение тестирования предложенных подходов 38
3.1 Программной реализация алгоритма построения классификатора и классификации данных на основе алгоритма k-means 38
3.2 Вычислительный эксперимент на наборе данных «Fisher's Iris» 50
3.3 Вычислительный эксперимент на наборе данных «Machine» 56
3.4 Вычислительный эксперимент на наборе данных «DryBean» 60
Заключение 67
Список используемой литературы 69
Актуальность и научная значимость исследования определена необходимостью увеличения универсальности алгоритмов машинного обучения за счет развития технологии перекрёстного использования алгоритмов.
Мировой опыт применения алгоритма машинного обучения предполагает приведение решаемой задачи к одному из стандартных типов (классификации, регрессии, кластеризации, аффинитивного анализа, оптимизации, поиска аномалий и т.д. ) [1], [12], [24]. С каждым типом решаемой задачи связан свой список алгоритмов машинного обучения предназначенных для их решения. Поэтому перспективным направлением в области машинного обучения является развитие технологий прекрасного использования алгоритмов, расширяющих области применения (применение в других типах задач) уже существующих алгоритмов.
В магистерской диссертации разрабатывается способ применения алгоритма кластеризации k-means для решения задач классификации.
Объектом исследования является классификация данных, предметом исследования - разработка технологии перекрёстного использования алгоритма k-means для классификации данных.
Цель исследования - разработка и тестирование концепции использования алгоритма k-means для решения задач классификации данных.
Гипотеза исследования состоит в том, что возможно построение эффективного классификатора данных на основе результатов кластерного анализа, полученных с помощью алгоритма k-means.
Для достижения поставленной цели необходимо решить следующие задачи:
• Анализ путей развития алгоритмов машинного обучения.
• Разработка технологии использования алгоритма k-means для построения классификационных моделей.
• Проектирование, разработка и апробация программного обеспечения реализующего предложенную технологию.
• Тестирование технологии на данных из открытого репозитория.
В работе применялись методы теоретического исследования, в их числе, анализ международных научных работ по теме решения практических задач с использованием алгоритмов машинного обучения. Так же в работе использовались и практические методы исследования, так кие как вычислительные эксперименты, анализ результатов вычислительных экспериментов, программное моделирование предложенных алгоритмов.
Научная новизна исследования - доказано, что алгоритм k-means можно использовать для получения классификатора данных. Это возможно путем анализа кластерной структуры и генерирования на его основе правил классификации. Также установлено, что, в этом случае, максимальная точность работы классификатора достигается при количестве кластеров, заданном из диапазона 1,5-с.. ,2,5-с, где с - количество классов в обучающей выборке.
Теоретическая значимость заключается в разработке подходов использования алгоритма k-means для построения классификатора данных. Также разработаны рекомендации, обеспечивающие максимальную точность работы получаемых классификаторов. Также показаны примеры использования предложенных подходов на реальных данных из репозитория «The UCI Machine Learning Repository».
Практическая значимость работы заключается в разработке программного обеспечения реализующего предложенные подходы.
Достоверность и обоснованность результатов исследования обеспечивалась тестированием предложенных подходов на выборках данных «Fisher's Iris», «Machine», «DryBean» из репозитория «The UCI Machine Learning Repository» и сопоставление полученных результатов с другими алгоритмами машинного обучения (случайный лес, деревья классификации, k-ближайших соседей).
Личное участие автора в организации и проведения исследования состоит в разработке технологии применения алгоритма k-means для решения задач классификации данных, разработке программного обеспечения, реализующего предложенные подходы, а также в проведении вычислительных экспериментов и обработке полученных результатов.
Апробация и внедрение результатов работы велись в течение всего исследования. Его результаты докладывались на Всероссийской студенческой научно-практической междисциплинарной конференции «Молодежь. Наука. Общество»
На защиту выносятся:
• Технология построения классификатора данных с использование результатов работы алгоритма k-means. В соответствии с этой технологией проводится кластеризация данных (без учета значений меток классов) с использование алгоритма k-means. В результате кластеризации исследуемые объекты распределяются по группам (кластерам) и рассчитываются центры кластеров. Затем проводиться статистический анализ каждого кластера для определения преобладающего в нем класса. Классификатор включает в себя параметры центров кластеров, а также для каждого кластера - метку преобладающего класса. При классификации исследуемого объекта определяется его принадлежность к одному из кластеров путем расчёта расстояния от объекта до центра кластеров. Считается, что исследуемый объект относится к тому кластеру, расстояние, до центра которого наименьшее. Исследуемому объекту присваивается метка класса, преобладающего в данном кластере.
• Результаты применения предложенной технологии построения классификаторов на наборах данных «Fisher's Iris», «Machine», «DryBean» из репозитория «The UCI Machine Learning Repository».
Мировой опыт применения алгоритма машинного обучения предполагает приведение решаемой задачи к одному из стандартных типов (классификации, регрессии, кластеризации, аффинитивного анализа, оптимизации, поиска аномалий и т.д. ) [1], [12], [24]. С каждым типом решаемой задачи связан свой список алгоритмов машинного обучения предназначенных для их решения. Поэтому перспективным направлением в области машинного обучения является развитие технологий прекрасного использования алгоритмов, расширяющих области применения (применение в других типах задач) уже существующих алгоритмов.
В магистерской диссертации разрабатывается способ применения алгоритма кластеризации k-means для решения задач классификации.
Объектом исследования является классификация данных, предметом исследования - разработка технологии перекрёстного использования алгоритма k-means для классификации данных.
Цель исследования - разработка и тестирование концепции использования алгоритма k-means для решения задач классификации данных.
Гипотеза исследования состоит в том, что возможно построение эффективного классификатора данных на основе результатов кластерного анализа, полученных с помощью алгоритма k-means.
Для достижения поставленной цели необходимо решить следующие задачи:
• Анализ путей развития алгоритмов машинного обучения.
• Разработка технологии использования алгоритма k-means для построения классификационных моделей.
• Проектирование, разработка и апробация программного обеспечения реализующего предложенную технологию.
• Тестирование технологии на данных из открытого репозитория.
В работе применялись методы теоретического исследования, в их числе, анализ международных научных работ по теме решения практических задач с использованием алгоритмов машинного обучения. Так же в работе использовались и практические методы исследования, так кие как вычислительные эксперименты, анализ результатов вычислительных экспериментов, программное моделирование предложенных алгоритмов.
Научная новизна исследования - доказано, что алгоритм k-means можно использовать для получения классификатора данных. Это возможно путем анализа кластерной структуры и генерирования на его основе правил классификации. Также установлено, что, в этом случае, максимальная точность работы классификатора достигается при количестве кластеров, заданном из диапазона 1,5-с.. ,2,5-с, где с - количество классов в обучающей выборке.
Теоретическая значимость заключается в разработке подходов использования алгоритма k-means для построения классификатора данных. Также разработаны рекомендации, обеспечивающие максимальную точность работы получаемых классификаторов. Также показаны примеры использования предложенных подходов на реальных данных из репозитория «The UCI Machine Learning Repository».
Практическая значимость работы заключается в разработке программного обеспечения реализующего предложенные подходы.
Достоверность и обоснованность результатов исследования обеспечивалась тестированием предложенных подходов на выборках данных «Fisher's Iris», «Machine», «DryBean» из репозитория «The UCI Machine Learning Repository» и сопоставление полученных результатов с другими алгоритмами машинного обучения (случайный лес, деревья классификации, k-ближайших соседей).
Личное участие автора в организации и проведения исследования состоит в разработке технологии применения алгоритма k-means для решения задач классификации данных, разработке программного обеспечения, реализующего предложенные подходы, а также в проведении вычислительных экспериментов и обработке полученных результатов.
Апробация и внедрение результатов работы велись в течение всего исследования. Его результаты докладывались на Всероссийской студенческой научно-практической междисциплинарной конференции «Молодежь. Наука. Общество»
На защиту выносятся:
• Технология построения классификатора данных с использование результатов работы алгоритма k-means. В соответствии с этой технологией проводится кластеризация данных (без учета значений меток классов) с использование алгоритма k-means. В результате кластеризации исследуемые объекты распределяются по группам (кластерам) и рассчитываются центры кластеров. Затем проводиться статистический анализ каждого кластера для определения преобладающего в нем класса. Классификатор включает в себя параметры центров кластеров, а также для каждого кластера - метку преобладающего класса. При классификации исследуемого объекта определяется его принадлежность к одному из кластеров путем расчёта расстояния от объекта до центра кластеров. Считается, что исследуемый объект относится к тому кластеру, расстояние, до центра которого наименьшее. Исследуемому объекту присваивается метка класса, преобладающего в данном кластере.
• Результаты применения предложенной технологии построения классификаторов на наборах данных «Fisher's Iris», «Machine», «DryBean» из репозитория «The UCI Machine Learning Repository».
В заключении приведем основные выводы по проделанной работе:
1. Анализ литературных источников по теме исследования показал, что алгоритмы машинного обучения разрабатывались для решения универсальных типов задач (классификации, регрессии, кластеризации, аффинитивного анализа, оптимизации, поиска аномалий).
2. Анализ научных статей показал, что в настоящее время сформировались две тенденции развития алгоритмов машинного обучения : увеличение доли участия алгоритмов в различных этапах анализе данных (рисунок 1.12) и разработка способов по расширению перечня типов задач, решаемых существующими алгоритмами машинного обучения (рисунок 1.14)
3. Показана связь, между типом решаемых задач и алгоритмами машинного обучения (рисунок 1.13). Также для каждого типа задачи приведены практические примеры использования алгоритмов.
4. Предложена технология синтеза классификаторов данных на основе результатов кластерного анализа (рисунок 2.8). В соответствии с этой технологией проводится кластеризация данных (без учета значений меток классов) с использование алгоритма k-means. В результате кластеризации исследуемые объекты распределяются по группам (кластерам) и рассчитываются центры кластеров. Затем проводиться статистический анализ каждого кластера для определения преобладающего в нем класса. Классификатор включает в себя параметры центров кластеров, а также для каждого кластера - метку преобладающего класса (рисунок 2.9). При классификации исследуемого объекта определяется его принадлежность к одному из кластеров путем расчёта расстояния от объекта до центра кластеров. Считается, что исследуемый объект относится к тому кластеру, расстояние, до центра которого наименьшее. Исследуемому объекту присваивается метка класса, преобладающего в данном кластере.
5. На языке Python разработано программное обеспечение, реализующее: загрузку данных из указанного файла, построение классификатора данных на основе алгоритма k-means и оценку точности работы классификаторов.
6. Тестирование предложенной технологии синтеза классификатора на основе результатов кластерного анализа проводилось на трех различных выборках данных из репозитория UCI Machine Learning Repository. Результаты тестирования показали, что точность работы получаемых классификаторов, основанных на предложенных в исследовании подходах, сопоставима с точностью стандартных классификаторов - k-nearest neighbors, Decision Tree, Random Forest.
7. Установлено, что если задавать количество кластеров равное в 1.5-2.5 раза больше количества классов в обучающей выборке, то можно добиться максимальной точности работы классификатора на большинстве выборок исходных данных.
На основании всего вышеизложенного можно сделать вывод, что цель исследования достигнута.
1. Анализ литературных источников по теме исследования показал, что алгоритмы машинного обучения разрабатывались для решения универсальных типов задач (классификации, регрессии, кластеризации, аффинитивного анализа, оптимизации, поиска аномалий).
2. Анализ научных статей показал, что в настоящее время сформировались две тенденции развития алгоритмов машинного обучения : увеличение доли участия алгоритмов в различных этапах анализе данных (рисунок 1.12) и разработка способов по расширению перечня типов задач, решаемых существующими алгоритмами машинного обучения (рисунок 1.14)
3. Показана связь, между типом решаемых задач и алгоритмами машинного обучения (рисунок 1.13). Также для каждого типа задачи приведены практические примеры использования алгоритмов.
4. Предложена технология синтеза классификаторов данных на основе результатов кластерного анализа (рисунок 2.8). В соответствии с этой технологией проводится кластеризация данных (без учета значений меток классов) с использование алгоритма k-means. В результате кластеризации исследуемые объекты распределяются по группам (кластерам) и рассчитываются центры кластеров. Затем проводиться статистический анализ каждого кластера для определения преобладающего в нем класса. Классификатор включает в себя параметры центров кластеров, а также для каждого кластера - метку преобладающего класса (рисунок 2.9). При классификации исследуемого объекта определяется его принадлежность к одному из кластеров путем расчёта расстояния от объекта до центра кластеров. Считается, что исследуемый объект относится к тому кластеру, расстояние, до центра которого наименьшее. Исследуемому объекту присваивается метка класса, преобладающего в данном кластере.
5. На языке Python разработано программное обеспечение, реализующее: загрузку данных из указанного файла, построение классификатора данных на основе алгоритма k-means и оценку точности работы классификаторов.
6. Тестирование предложенной технологии синтеза классификатора на основе результатов кластерного анализа проводилось на трех различных выборках данных из репозитория UCI Machine Learning Repository. Результаты тестирования показали, что точность работы получаемых классификаторов, основанных на предложенных в исследовании подходах, сопоставима с точностью стандартных классификаторов - k-nearest neighbors, Decision Tree, Random Forest.
7. Установлено, что если задавать количество кластеров равное в 1.5-2.5 раза больше количества классов в обучающей выборке, то можно добиться максимальной точности работы классификатора на большинстве выборок исходных данных.
На основании всего вышеизложенного можно сделать вывод, что цель исследования достигнута.





