Введение 5
Глава 1 Анализ текущего состояния развития машинного обучения 8
1.1 Области применения алгоритмов машинного обучения 8
1.2 Сравнительный анализ алгоритмов классификации данных 14
Глава 2 Разработка алгоритма для сравнения эффективности различных алгоритмов машинного обучения 17
2.1 Постановка задачи классификации данных 17
2.2 Показатели для сравнения эффективности алгоритмов 18
Глава 3 Приложение для сравнения эффективности алгоритмов классификации данных 25
3.1 Обзор разработанного приложения 25
3.2 Графический интерфейс пользователя 26
3.3 Проектные решения используемые в приложении 31
3.4 Пример работы приложения 37
Заключение 42
Список используемой литературы и используемых источников 44
Рост популярности алгоритмов машинного обучения привело к развитию многих научных отраслей, таких как машинное зрение, экспертные системы, интеллектуальный анализ данных, обработка естественного языка [1, 2]. Популярность машинного обучения обусловлена возможностью этих алгоритмов самостоятельно, без участия человека, анализировать данные и описывать закономерности в них в виде моделей. Так, например, алгоритмы машинного обучения позволяют строить модели классификации и регрессии на основе имеющихся данных [3, 4].
Модели классификации используется при решении таких задач, как прогнозирование, диагностика, распознавание образов и идентификация [8, 9, 10]. Примером задачи классификации является построение, на основе исторических данных банка, модели, определяющей класс платежеспособности клиента по его имеющимся данным. Класс платежеспособности клиента используется для определения рекламируемых услуг в приложении банка и при формировании персональных условий кредитования.
Развитие области машинного обучения приводит к появлению все новых и новых алгоритмов классификации [11]. Каждый алгоритм основан на своем подходе к решению задачи классификации и имеет свой математический аппарат. Разнообразие алгоритмов машинного обучения связано с тем, что пока не существует такого одного универсального алгоритма, который бы подходил для любых исходных данных [5, 6, 7].
Некоторые алгоритмы не умеют работать с пропущенными значениями в данных, другие алгоритмы требовательны к количеству анализируемых данных, также существуют алгоритмы, которые не допускают наличие в данных неинформативных признаков, потому что не умеют их отсеивать и т.д.
Таким образом, можно выделить следующие проблемы в области интеллектуального анализа данных:
- большое разнообразие технологий машинного обучения приводит к необходимости подбора наиболее подходящего алгоритма под имеющиеся данные;
- никогда заранее не известно, какой из алгоритмов машинного обучения позволит построить наиболее точную модель классификации на основе имеющихся данных.
Для решения этих проблем в работе предложено разработать приложения для сравнения эффективности алгоритмов классификации данных.
Объектом исследования является классификация данных.
Предметом работы является автоматизация сравнения алгоритмов классификации данных.
Цель выпускной квалификационной работы - разработка приложения для сравнения эффективности алгоритмов классификации данных.
Поставленная цель в бакалаврской работе решается путем выполнения следующих задач:
- проведения сравнительного анализ алгоритмов классификации данных;
- определение показателей для сравнения эффективности
алгоритмов классификации данных;
- разработка и тестирование приложения для сравнения эффективности алгоритмов классификации.
В данной работе используются такие методы исследования, как программное моделирования алгоритмов машинного обучения и статистический анализ данных.
Практическая значимость работы заключается в разработке исследовательского программного обеспечения. Представленное программное обеспечение использоваться разработчиками интеллектуальных система для предварительного анализа эффективности алгоритмов на имеющихся данных.
Данная работа состоит из введения, трех глав, заключения, списка используемой литературы.
В первой главе освящаются вопросы практического применения алгоритмов машинного обучения и дается сравнительная характеристика алгоритмов классификации данных.
Вторая глава посвящена разработке методике для сравнения эффективности различных алгоритмов классификации данных.
В третьей главе разработанное программное обеспечение для сравнения эффективности алгоритмов классификации данных .
В заключении представлены результаты, полученные при написании бакалаврской работы.
Бакалаврская работа состоит из страниц 47 страниц текста, 23 рисунков, 1 таблицы и 20 источников.
Приведем в качестве заключения основные выводы и результаты, полученные при выполнении бакалаврской работы:
- анализ литературных источников показал, что развитие машинного обучения привело к возникновению большого числа алгоритмов, способных решать задачу классификации данных. Но так как заранее никогда не известно, какой из алгоритмов окажется наиболее эффективным при анализе имеющегося набора данных, актуальной задачей становится разработка программного обеспечения для сравнения эффективности алгоритмов;
- проведен анализ способов применения алгоритмов машинного обучения для решения практических задач из различных областей, выделены наиболее часто используемые алгоритмы классификации данных и проведен их сравнительный анализ с точки зрения взаимодействия с обучающей выборкой данных.
- рассмотрена формальная постановка задачи классификации, метрики, используемые для оценки точности работы классификаторов, особенности использования матрицы ошибок для контроля корректности работы классификаторов;
- разработана методика сравнения эффективности работы алгоритмов для классификации данных, которая включает в себя разделение исходных данных на обучающую и тестовую выборки, использование обучающей выборки данных для построения множества классификаторов основанных различных алгоритмах (knn, random forest, svm, decision tree, neural network), проверку точности работы классификаторов на тестовой выборке и визуализацию работы классификаторов с использованием матрицы ошибок;
- на языке Python разработано приложения для тестирования эффективности алгоритмов классификации, которое позволяет: импортировать данные для последующего анализа из файлов формата xslx и csv, строить классификаторы с использованием различных алгоритмов машинного обучения (knn, random forest, svm, decision tree, neural network), тестировать построенные классификаторы для оценки точности их работы, просматривать результаты работы классификаторов в виде матрицы ошибок и сравнивать эффективность работы алгоритмов классификации;
- показана работа приложения выборках данных «Ирисы Фишера», «Классификация вина», а результаты тестирования показали работоспособность программного обеспечения для сравнения эффективности работы классификаторов данных.
Таким образом можно заключить, что поставленная цель была достигнута, а все задачи исследования решены в полном объеме.
Практическая значимость работы заключается в разработке исследовательского программного обеспечения. Представленное программное обеспечение использоваться разработчиками интеллектуальных система для предварительного анализа эффективности алгоритмов на имеющихся данных.
1. Бутакова, М.А. Классификация потоков данных и метод статистического моделирования в системах и сетях телекоммуникаций на транспорте / М.А. Бутакова // Вестник ростовского государственного университета путей сообщения. №2, 2005. - Ростовский государственный университет путей сообщения (Ростов-на-Дону), 2005. - с. 38-43.
2. Власов, А.В. Машинное обучение применительно к задаче
классификации семян зерновых культур в видеопотоке / А.В. Власов, А.С. Федеев // Молодежь и современные информационные технологии - сборник трудов XIV Международной научно-практической конференции студентов, аспирантов и молодых учёных, 07-11 ноября 2016. - Национальный
исследовательский Томский политехнический университет (Томск), 2016. - с. 133-135.
3. Жуков, Д.А. Формирование контрольных выборок при технической диагностике объекта с применением машинного обучения / Д.А. Жуков, А.С. Хорева, Ю.Е. Кувайскова, В.Н. Клячкин // Математические методы и модели: теория, приложения и роль в образовании - международная научно-техническая конференция : сборник научных трудов, 28-30 апреля 2016 года. - Ульяновский государственный технический университет (Ульяновск), 2016. - с. 44-48.
4. Иванников Ю.Ю. Применение методов машинного обучения для выявления бот-трафика среди запросов к веб-приложению / Ю.Ю. Иванников, Е.Ю. Митрофанова // Сборник студенческих научных работ факультета компьютерных наук ВГУ, Факультет компьютерных наук, 2017. - ФГБОУ ВО «Воронежский государственный университет», 2017. - с. 119¬123.
5. Клячин В.Н. Использование агрегированных классификаторов при технической диагностике на базе машинного обучения / В.Н. Клячин,
Ю.Е. Кувайскова, Д.А. Жуков // Информационные технологии и нанотехнологии (ИТНТ-2017) - сборник трудов III международной
конференции и молодежной школы. Самарский национальный исследовательский университет имени академика С.П. Королева. 2017. - Предприятие "Новая техника" (Самара), 2017. - с. 1770-1773.
6. Кононова, Н.В. Исследование подсистемы контентной фильтрации с использованием методов машинного обучения / Н.В. Кононова, Ю.А. Андрусенко, Т.А. Самокаева // Студенческая наука для развития информационного общества - сборник материалов VI Всероссийской научно-технической конференции. 22-26 мая 2017. - Северо-Кавказский федеральный университет (Ставрополь), 2017. - с. 268-270.
7. Малинин, П.В. Иерархический подход в задаче идентификации личности по голосу c помощью проекционных методов классификации многомерных данных / П.В. Малинин, В.В. Поляков // Доклады томского государственного университета систем управления и радиоэлектроники. №21, 2010. - Томский государственный университет систем управления и радиоэлектроники (Томск), 2010. - с. 128-130.
8. Мелдебай, М.А. Анализ мнений покупателей на основе
машинного обучения / М.А. Мелдебай, А.К. Сарбасова // Прикладная математика и информатика: современные исследования в области
естественных и технических наук - материалы III научно-практической всероссийской конференции (школы-семинара) молодых ученых. 24-25 апреля 2017 года. - Издатель Качалин Александр Васильевич, 2017. - с. 360¬363.
9. Наумов, Д.П. Регулятор CAP на основе машинного обучения / Д.П. Наумов, Д.П. Стариков // Информационные технологии в управлении, автоматизации и мехатронике - сборник научных трудов Международной научно-технической конференции. 06-07 апреля 2017 года. - ЗАО "Университетская книга" (Курск), 2017. - с. 106-114.
10. Осколков, В.М. Использование метода машинного обучения для
повышения продуктивности на предприятии / В.М. Осколков, Н.И. Шаханов, И.А. Варфоломеев, О.В. Юдина, Е.В. Ершов // Автоматизация и энергосбережение машиностроительного и металлургического производств, технология и надежность машин, приборов и оборудования - материалы XII Международной научно-технической конференции, 21 марта 2017. -
Вологодский государственный университет (Вологда), 2017.
11. Рагимов Э.Р. Классификация угроз по сервисам безопасности на основе статистических данных / Э.Р. Рагимов // Информационное противодействие угрозам терроризма. №5, 2005. - Технологический институт Федерального государственного образовательного учреждения высшего профессионального образования "Южный федеральный университет", 2005. - с. 87-92.
12. Соловьев, А.Ю. Применение машинного обучения для
прогнозирования неблагоприятных исходов в ургентной хирургии / Соловьев А.Ю., Берегов М.М., Вахеева Ю.М., Баутин А.Н., Гусев А.В. // Медико-биологические, клинические и социальные вопросы здоровья и патологии человека - материалы III Всероссийской образовательно-научной конференции студентов и молодых ученых с международным участием в рамках XIII областного фестиваля "Молодые ученые - развитию Ивановской области". 2017. - Ивановская государственная медицинская академия
(Иваново), 2017. - с. 129-130.
13. Ткач, Т.Ч. Машинное обучение и обработка больших данных - обучение в основной и средней школе / Т.Ч. Ткач // Актуальные проблемы методики обучения информатике и математике в современной школе - материалы международной научно-практической интернет-конференции. Московский педагогический государственный университет, Москва, 24 апреля 2020 года. - Московский педагогический государственный университет (Москва), 2020. - с. 217-223.
14. Федотов, И.А. Применение технологий машинного обучения для прогнозирования ситуации на финансовых рынках / И.А. Федотов // Студенческая наука для развития информационного общества - сборник материалов VI Всероссийской научно-технической конференции. - Северо-Кавказский федеральный университет (Ставрополь), 2017. - с. 361-363.
15. Френкель, Ф.Е. Классификация триплетной периодичности последовательностей ДНК генов, собранных в банке данных KEGG / Ф.Е. Френкель, Е.В. Коротков // Молекулярная биология. №4, 2008. - Российская академия наук (Москва), 2008. - с. 707-720.
16. Jiang, S. A Combined Classification Algorithm Based on C4.5 and NB / ShengYi Jiang, Wen Yu // International Symposium on Intelligence Computation and Applications - Third International Symposium, ISICA 2008 Wuhan, China, December 19-21, 2008. Proceedings: Advances in Computation and Intelligence. - Springer-Verlag Berlin Heidelberg 2008. - pp. 350-359.
17. Kong, X. Principal Component Analysis Networks and Algorithms / Xiangyu Kong, Changhua Hu, Zhansheng Duan. - Springer Singapore, 2017 - 323 p.
18. Liu, J. Radial Basis Function (RBF) Neural Network Control for Mechanical Systems: Design, Analysis and Matlab Simulation. - Springer Berlin Heidelberg, 2014 - 365 p.
19. Min, F. A Competition Strategy to Cost-Sensitive Decision Trees / Fan Min, William Zhu // International Conference on Rough Sets and Knowledge Technology - 7th International Conference, RSKT 2012, Chengdu, China, August 17-20, 2012. Proceedings: Rough Sets and Knowledge Technology. - Springer-Verlag Berlin Heidelberg 2012. - pp. 359-368.
20. Silva, I.N. Artificial Neural Networks: A Practicle course / Ivan Nunes da Silva, Danilo Hernane Spatti, Rogerio Andrade Flauzino, Luisa Helena Bartocci Liboni, Silas Franco dos Reis Alves. - Springer International Publishing, 2017 - 307 p.