Аннотация 3
Введение 2
1 Способы представления изображений в компьютере 3
1.1 Растровое представление изображений 3
1.2 Векторное представление изображений 4
2 Метрический алгоритм классификации 5
2.1 Обобщенный метрический классификатор 5
2.2 Метод ближайшего соседа 6
2.3 Метод k ближайших соседей 6
3 Нейронные сети 7
3.1 Линейные методы классификации 7
3.2 Метод градиентного спуска 7
3.3 Линейная модель нейрона МакКаллока-Питтса 8
3.4 Многослойные нейронные сети. Метод обратного распространения ошибок 10
4 Библиотеки машинного обучения 13
4.1 NumPy 13
4.2 Matplotlib 13
4.3 Scikit-learn 13
4.4 Keras 13
5 Практическая часть 14
5.1 База данных MNIST 14
5.2 Метод k ближайших соседей 14
5.3 Нейронные сети 17
Заключение 19
Список литературы 20
Приложение 1 21
Приложение 2 22
Классификация объектов, сигналов и явлений представляет собой действительно важнейший класс задач. Перечислим отрасли, в которых решаются эти задачи: робототехника, анализ визуальных данных, информационный поиск, наука и другие. Классифицировать изображения можно в системах видеонаблюдения, виртуальной реальности, безопасности, а также в поисковых системах. Среди прикладных задач, в которых используется классификация изображений, можно выделить системы распознавания рукописного текста, автомобильных номеров, отпечатков пальцев и лиц.
Вышеперечисленные задачи решаются с помощью методов машинного обучения.
Машинное обучение - это направление искусственного интеллекта, которое сосредоточено на создании моделей, которые обучаются и развиваются на основе получаемых ими данных. Данная научная область находится на пересечении компьютерных наук, математического анализа и статистики. В последние годы применение методов машинного обучения стало повсеместно. Эти методы используются в веб-сайтах, финансах, маркетинге, в индустрии развлечений, в промышленности и во многих других отраслях. Выйдя за пределы коммерческих приложений, машинное обучение оказало значимое влияние на научные исследования.
Данная работа посвящена классификации изображений и были поставлены следующие задачи выпускной квалификационной работы:
1. Ознакомление с двумя методами машинного обучения - метод k ближайших соседей и нейронные сети;
2. Реализация программ по распознаванию рукописных цифр с помощью вышеперечисленных методов машинного
В работе рассмотрены метод k ближайших соседей и нейронные сети. Были реализованы программы по распознаванию рукописных цифр на языке программирования Python.
Из результатов работы программ видно, что построенная нейронная сеть распознает рукописные цифры с точностью 0.975, а метод k ближайших соседей — с точностью 0.97. Небольшое преимущество в этом компоненте у нейронных сетей.
А также, обучение нейронной сети происходит гораздо быстрее, так как алгоритм поиска k ближайших соседей предполагает сравнение классифицируемого объекта со всеми объектами, находящимися в большой выборке. Значит, для реализации программы по распознаванию рукописных цифр предпочтительнее выбор нейронных сетей.
1 Демин А. Ю. Основы компьютерной графики: учебное пособие / А. Ю. Демин. - Томск: Изд-во Том. политех. ун-та, 2011. - 191 c.
2 Воронцов К. В. Математические методы обучения по прецедентам (теория обучения машин): текст лекций [Электронный ресурс] / К. В. Воронцов. - МФТИ, 2011. - 141 с.
3 Грас Д. Наука о данных с нуля. / Д. Грас. - СПб.: Изд-во БХВ-Петербург, 2021. - 416 с.
4 Документация keras [Электронный ресурс] - URL: https://keras.io/ (дата обращения 14.04.2023).
5 Документация scikit-learn [Электронный ресурс] - URL: https://scikit-learn.org (дата обращения 14.04.2023).
6 Балыкина Е. Н. Основы информатики и информационные технологии: учебно-метод. комплекс для студ. ист. фак: в 2 ч. Ч. 2 / Е. Н. Балыкина, Е. Э. Попова, Д. Н. Бузун. - Минск: БГУ, 2008. - 96 с.
7 Wikipedia [Электронный ресурс]. - Режим доступа: https://ru.wikipedia.org/wiki/ - Функция активации. - (Дата обращения: 01