Файл: Методическое пособие для курсовой работы санктпетербург 2021 2 содержание.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 03.12.2023
Просмотров: 83
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Ф.В. Филиппов
ТЕХНОЛОГИИ
ОБРАБОТКИ ИНФОРМАЦИИ
МЕТОДИЧЕСКОЕ ПОСОБИЕ
ДЛЯ КУРСОВОЙ РАБОТЫ
САНКТ-ПЕТЕРБУРГ
2021
2
СОДЕРЖАНИЕ
ВВЕДЕНИЕ ............................................................................................................. 3
ОБЩИЕ ТРЕБОВАНИЯ ......................................................................................... 3 1.
Требования к оформление курсовой работы ............................................. 3 2.
Требования к содержанию курсовой работы ............................................. 5
КРАТКИЕ СВЕДЕНИЯ .......................................................................................... 6 1.
Метод PCA .................................................................................................... 6 2.
Примеры использования метода PCA ........................................................ 8 3.
Алгоритм t-SNE .......................................................................................... 12 4.
Примеры использования алгоритма t-SNE .............................................. 14 5.
Алгоритм UMAP ......................................................................................... 17 6.
Пример использования алгоритма UMAP ............................................... 18 7.
Графика в формате SVG ............................................................................ 19
КОМПЛЕКТ ЗАДАНИЙ ...................................................................................... 20
Задание № 1: Понижение размерности данных ............................................ 20
Задание № 2: Кластеризация данных ............................................................. 22
Задание № 3: Обработка графической информации ..................................... 23
ПОЛЕЗНЫЕ РЕСУРСЫ ....................................................................................... 27
©
Филиппов Ф.В., 2021
3
ВВЕДЕНИЕ
Курсовая работа выполняется в рамках образовательной программы
«Информационные системы и технологии» («Интеллектуальные системы и технологии») и является неотъемлемой частью образовательного процесса.
Выполнение курсовой работы представляет собой решение студентом, под ру- ководством преподавателя, конкретных задач обработки информации.
Цель курсовой работы – углубить знания и умения студентов, получен- ные в процессе теоретических и практических занятий, улучшить навыки са- мостоятельного поиска и изучения материала по теме курсовой работы, а также развить компетенции аналитической, исследовательской и проектной деятельности. В частности, компетенции:
- ПК-1 - способность проводить исследования на всех этапах жизненного цикла программных средств;
- ПК-18 - способность выполнять работы по созданию (модификации) и сопровождению ИС, автоматизирующих задачи организационного управле- ния и бизнес-процессы;
- ПК-19 - способность выполнять работы и управлять работами по со- зданию (модификации) и сопровождению ИС, автоматизирующих задачи ор- ганизационного управления и бизнес-процессы.
ОБЩИЕ ТРЕБОВАНИЯ
Курсовая работа должна быть выполнена на основе тщательно прорабо- танных материалов научной и учебной литературы, собранных и обработан- ных эмпирических и теоретических сведений по изучаемой дисциплине.
Курсовая работа должна отличаться критическим подходом к изучению литературных источников и демонстрировать умение использования студен- том методов исследования в информационных технологиях, изученных в дис- циплинах учебного плана соответствующего курса обучения. Материал, при- влекаемый из литературных источников, должен быть переработан, органиче- ски увязан с решаемой студентом задачей. Изложение материала должно быть конкретным, насыщенным фактическими данными, анализом, расчетами, про- граммными кодами, графиками и таблицами.
Курсовая работа должна завершаться конкретными выводами и реко- мендациями.
1. Требования к оформление курсовой работы
Пояснительная записка курсовой работы должна содержать:
- Титульный лист.
- Содержание курсовой работы.
4
- Введение.
- Текстовое изложение курсовой работы (по разделам), а именно:
1. Постановка задачи.
1.1. Задание на курсовую работу.
1.2. Загрузка и подготовка исходных данных для анализа.
В зависимости от типа исходных данных подготовка данных может включать удаление объектов с пропущенными значениями атрибутов, стандартизацию и нормирование, ограничение объема анализируемых векторов с помощью случайной выборки заданного количества, преоб- разование типов и тому подобное.
2. Основные сведения необходимые для выполнения курсовой работы.
2.1. Главные теоретические положения лежащие в основе решения поставлен- ной задачи.
2.2. Описание используемых библиотечных функций с примерами.
3. Решение поставленной задачи.
3.1. Программный код с подробными комментариями.
3.2. Полученные результаты с выводами, пояснения полученных графиче- ских материалов.
- Заключение.
- Список использованных источников.
Текстовое изложение разделов 1 – 3 выполняются для каждого задания курсовой работы. Введение, заключение и список используемых источников является общим для всей работы.
Пояснительная записка курсовой работы выполняется на одной стороне листа формата А4, по обеим сторонам листа остаются поля размером 35 мм слева и 10 мм справа. Пояснительная записка должна быть написана 14 кеглем, используемый шрифт - Times New Roman, междустрочный интервал 1,5.
Все листы пояснительной записки должны быть пронумерованы и сбро- шюрованы. Каждый раздел в тексте должен иметь заголовок в точном соот- ветствии с названиями в содержании.
Новый раздел можно начинать на той же странице, на которой кончился предыдущий, если на этой странице кроме заголовка поместится несколько строк текста.
Таблицы, рисунки (графический и другой иллюстративный материал) необходимо размещать по ходу изложения, после соответствующей ссылки на них. Они должны иметь название и порядковый номер. Не рекомендуется пе- реносить таблицы и рисунки с одной страницы на другую, недопустимо раз- рывать заголовок с таблицей и рисунком, помещая их на разных страницах.
Номер формул проставляется в круглых скобках справа от формул.
В пояснительной записке можно использовать только общепринятые со- кращения и условные обозначения. Цитаты, цифровые и графические матери- алы, взятые из соответствующих источников, должны сопровождаться ссыл- ками на них. Эти ссылки могут быть сделаны в виде сносок в нижней части страницы с указанием автора, названия работы, издательства, года издания и
5 номера страницы, где находится данное высказывание, или с указанием в скобках сразу же после высказывания номера источника в списке литературы, если речь идет о содержании всего источника, например, [1]. Если же дается цитата, то источник приводится в скобках, как номер источника, так и номер страницы или страниц, например, [1, с.2]. Цитаты должны быть тщательно вы- верены и заключены в кавычки. Студент несет ответственность за точность данных, а также за объективность изложения мыслей других авторов.
Общий объем курсового проекта – до 20-30 страниц машинописного текста.
Курсовая работа должна быть подписана студентом.
2. Требования к содержанию курсовой работы
Во введении (1-2 страницы) обосновывается актуальность темы, опреде- ляются объект и предмет исследования, формируются цели, определяются за- дачи курсовой работы. Далее следует кратко раскрыть содержание отдельных разделов работы, отметить особенности применяемых методик и программ- ных библиотек.
Содержательная часть курсовой работы должна содержать постановку задачи для каждого задания, теоретический материал, программные коды с по- дробными комментариями и выводами по полученным результатам.
Теоретическая часть является результатом работы студента над литера- турными источниками, отражающими отечественный и зарубежный опыт, от- вечающий целям и задачам курсовой работы.
Основные теоретические положения и выводы желательно иллюстриро- вать цифровыми данными и статистическими данными из статистических справочников, монографий, журнальных статей и других источников. В дан- ной части работы студент должен показать умения критически подходить к рассмотрению проблемы, вытекающей из целей и задач курсовой работы, обобщать, анализировать и систематизировать собранный материал, раскры- вать проблемы рассматриваемого вопроса.
Следует обратить внимание на стилистику, язык изложения материалов и оформление пояснительной записки. Разделы работы должны быть взаимо- связаны. Поэтому особое внимание нужно обращать на логические переходы от одного раздела к другому. Каждый раздел должен заканчиваться выводами, позволяющими перейти к изложению материала следующего раздела.
В заключении следует сделать общие выводы. После заключения необ- ходимо привести список использованных источников (с соблюдением всех библиографических правил).
6
КРАТКИЕ СВЕДЕНИЯ
В курсовой работе необходимо выполнить три задания. Первое задание связано с изучением эффективных методов понижения размерности данных, второе – с исследованием алгоритмов визуальной классификации, а третье с освоением методики обработки графических данных в формате SVG.
Настоящий раздел включает минимальный набор сведений необходи- мых для решения поставленных задач. Сведения касаются основных методов, которые могут быть использованы в ходе выполнения заданий курсовой ра- боты.
1. Метод PCA
Методы понижения размерности играют важную роль в задачах обра- ботки данных. Они позволяют строить модели в пространствах меньшей раз- мерности, чем исходное признаковое пространство, с минимальными поте- рями информации. В ряде случаев полезно понижать размерность до двух, то есть проецировать данные на плоскость. Таким образом можно изучить струк- туру данных, например, посмотреть, насколько разделимы классы в задачах классификации.
Метод главных компонент PCA (Principal Component Analysis)— один из основных способов уменьшить размерность данных, с потерей наимень- шего количества информации. В совокупности основная цель анализа главных компонентов заключается в следующем:
• выявить скрытый паттерн в наборе данных,
• уменьшить размерность данных за счет устранения шума и избыточности,
• определить коррелированные переменные.
Метод главных компонент применяется к данным, записанным в виде матрицы X – прямоугольной таблицы чисел. Традиционно строки этой мат- рицы называются образцами, а столбцы – переменными (атрибутами).
Цель – извлечение из этих данных нужной информации. Шум и избыточность в данных обязательно проявляют себя через корреляционные связи между пе- ременными.
Суть метода главных компонент – существенное понижение размерно- сти данных. Исходная матрица X заменяется двумя новыми матрицами T и P
(рис. 1):
???? = ???? × ????
!
Матрица T называется матрицей счетов (scores) , а матрица P — матрицей нагрузок (loadings).
При этом, размерность матрицы Т, число ее столбцов k, меньше, чем число переменных m (столбцов) у исходной матрицы X.
7
Рис. 1. Представление матрицы Х двумя матрицами Т и Р
Вторая размерность – число образцов (строк) сохраняется. Если деком- позиция выполнена правильно – размерность k выбрана верно, то мат- рица T несет в себе практически столько же информации, сколько ее было в начале, в матрице X. При этом матрицы T и P в совокупности меньше, и, стало быть, проще, чем X.
Метод главных компонент тесно связан с другим методом – разложе- нием по сингулярным значениямSVD (Singular Value Decomposition). В этом случае исходная матрица X разлагается в произведение трех матриц (рис. 2):
???? = ???? × ???? × ????
!
матрицы U и V – ортогональные, S - диагональная, значения на ее диагонали называются сингулярными значениями σ
1
≥ ... ≥ σ
R
≥ 0, которые равны квад- ратным корням из собственных значений λ
r
:
????
!
= #????
!
Такое разложение обладает замечательной особенностью: если в мат- рице S оставить только k наибольших сингулярных значений, а в матрицах U и V только соответствующие этим значениям столбцы, то произведение полу- чившихся матриц будет наилучшим приближением исходной матрицы X к матрице меньшего ранга k.
Рис. 2. Разложение матрицы Х по сингулярным значениям
Связь между PCA и SVD определяется двумя простыми соотношениями:
???? = ???? × ???? и ???? = ????
8
Таким образом, оба метода можно использовать для решения задач пони- жения размерности данных с минимальными потерями информации. При ре- шении различных задач распознавания предполагается, что в наличии имеется некоторая выборка объектов, и для каждого объекта вычислен один и тот же набор признаков. На практике объекты могут быть представлены сложными многомерными данными, например, изображениями, набором кривых, тек- стом и так далее. Поэтому возникает задача извлечения из входных многомер- ных данных набора признаков, информативных с точки зрения дальнейшего решения задачи распознавания.
Любые многомерные данные всегда можно представить в виде вектора чисел. В случае изображений достаточно развернуть матрицу пикселей в век- тор. Для текстов можно вычислить количество раз, которое встречается каж- дое слово в тексте, и сформировать вектор чисел, длина которого определяется общим числом слов в словаре. Подобные векторы чисел имеют, как правило, большую длину, а содержащиеся в них признаки, как правило, малоинформа- тивны. Именно поэтому рассматривается задача сокращения размерности описания данных с целью получения относительно компактного множества информативных признаков.
2. Примеры использования метода PCA
Пример1.
Рассмотрим пример использования метода главных компонент для по- нижения размерности изображения и оценим потери визуально. Возьмем не- большой jpg файл и посмотрим, какое число главных компонент будет доста- точным для представления изображения в допустимом качестве.
Будем вычислять главные компоненты используя сингулярное разложе- ние матриц, которое выполняется с помощью функции svd, включенной в ба- зовое программное обеспечение языка R. Эта функция вычисляет три матрицы
S, U и V сингулярного разложения. Их мы будем использовать как основу и выбирать из них разное число главных компонент k, формируя сжатые изоб- ражения. Качество получаемых изображений будем оценивать чисто визу- ально.
Решение задачи выполним в среде RStudio (листинг 1). Для работы с jpg форматом воспользуемся библиотекой jpeg (строка2), позволяющей, в частно- сти читать (функция readJPEG) и визуализировать (функция rasterImage) изображения. Для перевода цветного изображения в черно-белое используем библиотеку biOps (строка 3). В настоящее время эта библиотека исключена из репозитория CRAN и там дается только ссылка на архив, где она хранится.
Прочитав архив по этой ссылке можно установить библиотеку с помощью сле- дующей команды: install.packages(path_to_file, repos = NULL, type="source"),
9 где path_to_file - путь к архивированному файлу. После чтения и перевода в черно-белое представление визуализируем оригинал изображения (строка 9,
10). Далее определяем размерность исходного изображения (dim(X) = 500 x
473) для дальнейшей оценки эффективности сжатия (строка 12). Наконец, находим сингулярное разложение X.svd (строка 14).
Листинг 1. Использование метода главных компонент для понижения размерности
В нашем случае полученное сингулярное разложение X.svd представ- лено в виде списка (Large list), состоящего из трех матриц, параметры которых можно посмотреть в закладе Environment правой верхней панели RStudio и на рис. 4.
Рис. 4. Сингулярное разложение X.svd
10
Как видно из рис. 4, диагональная матрица S имеет размер 473 х 473, матрица U размер 500 х 473 и матрица V размер 473 х 473.
Матрицы S, U и V будем использовать как основу и выбирать из них раз- ное число главных компонент k. Сформируем различные матрицы X
k
, форми- рование проведем в цикле (строки 22-31 листинга 1) для числа компонент k =
5, 20, 50 и 250.
Сначала сформируем усеченные матрицы Uk, Vk и Sk (строки 23-25). За- тем в строке 26 выполним умножение сформированных матриц (см. рис. 2) для формирования сжатых изображений. Результатом работы этой программы бу- дет четыре изображения, отличающихся по качеству (рис. 3):
Рис. 3. Изображения для k = 5, 20, 50, 250, соответственно
Полагаем, что допустимым качеством обладает изображение для k = 50 сингулярных значений. Посмотрим, какой выигрыш мы можем получить ис- пользуя его вместо оригинала.
Рис. 4. Сравнение размерностей оригинального и сжатого изображения
11
На рис. 4 приведено такое сравнение, где показано, что вместо 236500 пикселей нам потребуется всего 51150, то есть выигрыш составляет 4,6 раза.
Для оценки количества информации, которое мы потеряем, заменив оригинальное изображение на сжатое, можно поступить следующим образом.
Если суммарное количество значений всех главных компонент принять за
100% информационного наполнения оригинала, то сумма значений k главных компонент сжатого изображения определит его информационное наполнение.
Разность вычисленных таким образом величин и даст оценку «потерянной»
Пример 2.
Рассмотрим еще один пример использования метода PCA для анализа набора данных MNIST из [https://www.kaggle.com/oddrationale/mnist-in-csv].
Здесь имеется 60000 изображений рукописных цифр (mnist_train.csv) для обу- чения и 10000 изображений для тестирования (mnist_test.csv). Каждая цифра представлена вектором размерности 785, в котором изображение цифры зани- мает 28х28=784 компоненты и одна компонента label служит для идентифика- ции изображенной цифры.
Загрузим из ресурса файл mnist_test.csv в свой рабочий директорий.
Возьмем из него 6000 случайно выбранных образцов и рассмотрим как будут классифицироваться эти образцы с использованием двух главных компонент
(листинг 2).
После чтения исследуемого набора в память (строка 4), определяем ком- поненту вектора label, как фактор (строка 5). Для воспроизводимости экспери- мента устанавливаем фиксированную начальную фазу генератора случайных чисел set.seed(1), перед случайным выбором 6000 образцов (строка 6). Слу- чайно выбранные образцы записываем в матрицу train (строка 8) и вычисляем две главные компоненты с помощью функции princomp. Важно отметить, что при вычислении главных компонент данной функцией первая компонента la-
bel из матрицы образцов должна быть исключена train[,-1].
Листинг 2. Проецирование MNIST на плоскость с использованием PCA