Файл: Методическое пособие для курсовой работы санктпетербург 2021 2 содержание.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 03.12.2023
Просмотров: 85
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
12
В результате мы получим следующую визуализацию (рис. 5), которая показывает потенциальные возможности классификации набора.
Рис. 5. Визуализация MNIST по двум главным компонентам PCA
Анализ визуализации рис. 5 не позволяет нам сделать никаких однознач- ных выводов о достижимой точности классификации набора MNIST.
3. Алгоритм t-SNE
t-распределенное стохастическое соседнее вложение t-SNE (t-Distributed
Stochastic Neighbor Embedding) - это алгоритм нелинейного уменьшения раз- мерности, используемый для исследования данных большой размерности. Он отображает многомерные данные в двух или более измерениях, подходящих для наблюдения человеком. Алгоритм t-SNE (2008), в ряде случаев намного эффективнее PCA (1933). Важно подчеркнуть, что большинство нелинейных методов, кроме t-SNE, не способны одновременно сохранять локальную и гло- бальную структуру данных [L.J.P. van der Maaten and G.E. Hinton. Visualizing
High-Dimensional Data Using t-SNE. Journal of Machine Learning Re- search 9(Nov):2579-2605, 2008].
SNE начинается с преобразования многомерной евклидовой дистанции между точками в условные вероятности, отражающие сходство точек. Мате- матически это выглядит следующим образом:
????
!∥#
=
???????????? %&−(????
#
− ????
!
(
$
/2????
#
$
,-
∑
????????????
%
&(−‖????
#
− ????
%
‖
$
/2????
#
$
),
13
Формула показывает, насколько точка x
j
близка к точке x
i
при гауссовом распределении вокруг x
i
с заданным отклонением σ. Сигма будет различной для каждой точки. Она выбирается так, чтобы точки в областях с большей плотностью имели меньшую дисперсию. Для этого используется оценка пер- плексии (perplexity):
????????????????(????
#
) = 2
'()
!
)
, где
????(????
#
) = 6 ????
#∥#
log
$
????
#∥!
!
- энтропия Шеннона.
Перплексия может быть интерпретирована как сглаженная оценка эф- фективного количества «соседей» для точки x
i
. Она задается в качестве пара- метра метода t-SNE и рекомендуется использовать ее значение в интервале от
5 до 50. Сигма определяется для каждой пары x
i
и x
j
при помощи алгоритма бинарного поиска.
Таким образом, t-SNE алгоритм нелинейного уменьшения размерности, находит закономерности в данных, идентифицируя наблюдаемые кластеры на основе сходства точек данных с несколькими функциями. Но это не алгоритм кластеризации, а алгоритм уменьшения размерности, который просто отобра- жает многомерные данные в более низкоразмерное пространство, а не иденти- фицирует входные объекты. Таким образом, вы не можете делать никаких вы- водов, основываясь только на t-SNE. По сути, это в основном техника иссле- дования и визуализации данных. Но алгоритм t-SNE можно использовать в процессе классификации и кластеризации, используя его выходные данные в качестве входных характеристик для других алгоритмов классификации.
Алгоритм t-SNE можно использовать практически для всех многомер- ных наборов данных. Он особенно широко применяется в обработке изобра- жений, естественного языка и геномных данных.
Ниже приведены распространенные ошибки, которых следует избегать при интерпретации результатов анализа с использованием алгоритма t-SNE:
- Чтобы алгоритм работал правильно перплексия должна находится в диапазоне от 5 до 50 и должна быть меньше количества перемен- ных.
- Размеры кластеров на любом графике t-SNE не должны оцени- ваться на предмет стандартного отклонения, дисперсии или лю- бых других аналогичных показателей. Это связано с тем, что t-
SNE расширяет более плотные кластеры и сжимает более разре- женные кластеры для выравнивания размеров кластеров. Это одна из причин получения четких и ясных графиков.
- Расстояния между кластерами могут измениться, потому что гло- бальная геометрия тесно связана с оптимальной сложностью. А в наборе данных с множеством кластеров с разным количеством
14 элементов одна перплексия не может оптимизировать расстояния для всех кластеров.
- Шаблоны также могут быть обнаружены в случайном шуме, по- этому необходимо проверить несколько запусков алгоритма с раз- ными наборами гиперпараметров, прежде чем решать, существует ли шаблон в данных.
- Различные формы кластеров могут наблюдаться на разных уров- нях сложности.
- Топология не может быть проанализирована на основе одного гра- фика t-SNE, перед проведением какой-либо оценки необходимо наблюдать несколько графиков.
4. Примеры использования алгоритма t-SNE
Пример 1.
Рассмотрим пример использования алгоритма t-SNE для анализа набора данных MNIST и сравним его возможности с результатом полученным ранее с использованием метода РСА (листинг 3):
Листинг 3. Анализ MNIST методами PCA и t-SNE
По отношению к предыдущему листингу в листинг 3 добавлена функция
Rtsne (строка 9) для реализации алгоритма t-SNE. Она имеет много входных параметров для настройки.
Для наглядности в строке 15 параметр par(mflow = c(1,2)) определяет вы- вод двух графиков рядом в оной строке. В результате мы получим следующую визуализацию (рис. 6).
15
Рис. 6. Визуализация MNIST по двум компонентам с использованием PCA и tSNE
Анализ визуализации рис. 6 справа позволяет сделать вывод о достижи- мой точности классификации набора MNIST гораздо более оптимистичным.
Пример 2.
Рассмотрим пример исследования данных по 250000 заемщиков, пред- ставленных в [https://www.kaggle.com/c/GiveMeSomeCredit/data] и оценим эф- фективность их использования для кредитного скоринга. Банки играют реша- ющую роль в рыночной экономике. Они определяют, кто может получить фи- нансирование и на каких условиях, а также могут принимать или отменять ин- вестиционные решения. Для функционирования рынков и общества отдель- ным лицам и компаниям необходим доступ к кредитам. Алгоритмы кредит- ного скоринга банки используют для определения того, следует ли предостав- лять ссуду. По-сути, скоринг позволяет оценить вероятности дефолта для от- дельных групп заемщиков.
Посмотрим насколько алгоритм t-SNE подходит для решения подобной задачи. Загрузим файл cs-test.csv из [] в рабочий директорий RStudio. Ниже представлен листинг использования этого алгоритма для скоринга (листинг 4).
Сначала загружаем необходимые библиотеки (строки 1-6) и читаем ис- следуемый файл из рабочего директория (строка 8). Затем подготавливаем за- груженные данные для анализа:
- удаляем неинформативные столбцы (строка 10, 11);
- преобразуем данные в форму data.table (строка 13);
- удаляем строки с пропущенными значениями атрибутов (строка
15).
В строке 18 уточняем размерность анализируемых данных после прове- денных преобразований (осталось 81400 векторов для анализа). Для сокраще- ния времени анализа возьмем только 500 случайных образцов (общая тенден- ция не изменится).
16
Используем функцию Rtsne в цикле для различных значений перплек- сии и визуализируем результаты.
Листинг 4. Использование алгоритма t-SNE для скоринга
Результатом визуализации будут графики представленные на рис. 7. Хо- рошо заметна тенденция упрощения представления исследуемых векторов при увеличении значения перплексии.
17
Рис. 7. Визуализация результатов скоринга
Поскольку перплексия фактически задает число, которое устанавли- вает обоснованное предположение относительно количества близких соседей для каждой точки данных, то ее назначение состоит в том, чтобы сбаланси- ровать локальные и глобальные аспекты ваших данных. t-SNE - инструмент для визуализации многомерных данных. Он преоб- разует аффинитеты точек данных в вероятности. Аффинитеты в исходном пространстве представлены гауссовыми совместными вероятностями, а аф- финитеты во вложенном пространстве представлены t-распределениями Сть- юдента. Это обеспечивает t-SNE особую чувствительность к локальной структуре и дает несколько других преимуществ над существующими мето- дами [https://www.ibm.com/docs/ru/spss-modeler/SaaS?topic=nodes-t-sne-node ].
5. Алгоритм UMAP
Аппроксимация и проекция однородного многообразия UMAP (
Uniform
Manifold Approximation and Projection
) - это метод уменьшения размерности, который можно использовать для визуализации аналогично t-SNE, но также для общего нелинейного уменьшения размерности. Алгоритм основан на трех предположениях о данных:
- данные равномерно распределены на римановом многообразии;
- метрика Римана локально постоянна (или может быть аппроксимиро- вана как таковая);
- многообразие локально связно.
Исходя из этих предположений, можно смоделировать многообразие с нечеткой топологической структурой. Вложение находится путем поиска низ- коразмерной проекции данных, которая имеет наиболее близкую возможную эквивалентную нечеткую топологическую структуру.
18
Подробности лежащей в основе математики можно найти у авторов этого ал- горитма в [
https://arxiv.org/pdf/1802.03426.pdf
].
UMAP
— это новый алгоритм уменьшения размерности, библиотека с реализацией которого вышла совсем недавно.
Авторы алгоритма считают
, что
UMAP способен бросить вызов современным моделям снижения размерности, в частности, t-SNE, который на сегодняшний день является наиболее популяр- ным. По результатам их исследований, у UMAP нет ограничений на размер- ность исходного пространства признаков, которое необходимо уменьшить, он намного быстрее и более вычислительно эффективен, чем t-SNE, а также лучше справляется с задачей переноса глобальной структуры данных в новое, уменьшенное пространство.
6. Пример использования алгоритма UMAP
Рассмотрим пример использования алгоритма UMAP (листинг 5) для анализа набора данных MNIST и сравним его возможности с результатом по- лученным ранее с использованием методов РСА и t-SNE
в листинге 3.
Код листинга 5 максимально идентичен коду листингов 2 и 3, с той лишь разницей, что здесь используется функция umap().
Листинг 5. Анализ MNIST методом UMAP
В результате мы получим следующую визуализацию (рис. 8), которая показывает потенциальные возможности классификации набора.
19
Рис. 8. Визуализация MNIST по двум компонентам с использованием UMAP
Анализ визуализации рис. 8 позволяет сделать вывод о достижимой точ- ности классификации набора MNIST еще более оптимистичным, чем визуали- зации рис. 6.
7. Графика в формате SVG
Технология масштабируемой векторной графики SVG (Scalable Vector
Graphics) позволяет объединить в одном формате текст, графику, анимацию и интерактивные компоненты и базируется на трех типах графических изобра- жений: векторных формах, рисунках и тексте. Объекты, как это принято в век- торной графике, представлены либо прямолинейными и криволинейными кон- турами, либо графическими примитивами (прямоугольниками, эллипсами и др.), а рисунки представляют собой импортированные растровые изображе- ния. Помимо этого формат SVG поддерживает различные виды анимационных
(напоминающих GIF и flash-анимацию) и интерактивных объектов, таких как гиперссылки, реакции на внешние события и прочие элементы навигации.
Важно и то, что поскольку данный стандарт основан на языке XML, то SVG- файл наряду с элементами, предназначенными для визуального отображения, может содержать также различные метаданные. Указанные особенности вы- двигают SVG-технологии на лидирующие места в области проектирования и разработки веб-ресурсов.
Для знакомства с SVG-технологией полезно обратиться к одному из луч- ших веб-ресурсов, расположенного по адресу https://svg-art.ru/. Кроме того, вся информация, необходимая для выполнения третьего задания курсовой ра- боты, приведена в [14-15].
20
КОМПЛЕКТ ЗАДАНИЙ
Курсовая работа предполагает выполнение трех заданий.
Первое задание относится к изучению технологий понижения размерно- сти анализируемых данных, позволяющих существенно снизить объем обра- батываемой информации. Для выполнения задания №1 следует изучить лите- ратуру, посвященную методу главных компонент, например [1-5] и ознако- миться с доступными библиотеками программ, реализующими данный метод.
Второе задание связано с использованием технологий, позволяющих оценить возможности качественной кластеризации исследуемого набора дан- ных. Современными эффективными алгоритмами, позволяющими решить по- добную задачу, являются алгоритмы t-SNE и UMAP. Для выполнения задания
№2 следует изучить особенности реализации данных алгоритмов, например, с использованием материалов ресурсов [6 – 10].
Третье задание позволить приобрести практические навыки в работе с графической информацией на базе перспективной технологии SVG. Данная технология тесно сопряжена с языком разметки HTML.
Первое и второе задание может выполняться в любой программной среде, с использованием любых языков программирования и библиотек. Тем не менее, рекомендуется использовать среду RStudio и язык программирова- ния R, широко используемых IT-специалистами.
Задание № 1: Понижение размерности данных
Исследовать эффективность методов PCA и SVD для понижения размер- ности данных.
В качестве исходных данных для анализа следует самостоятельно вы- брать изображение в формате jpg. Размер изображения должен быть не менее
400 х 400 пикселей.
В ходе исследования необходимо проделать следующее:
- выбрать и обосновать количество главных компонент, достаточ- ное для качественной визуализации;
- оценить выигрыш сжатого изображения по объему, по сравнению с оригиналом;
- оценить количество «утраченной» информации;
- выяснить зависит ли достаточное число компонент для качествен- ной визуализации от характера изображения (если да, то оценить эту зависимость).
Контрольные вопросы
1) Как вычислить матрицу счетов метода РСА исследуемой матрицы Х, используя син- гулярное разложение Х?
21 2) Опишите процесс выделения главных компонент в многомерном случае своими словами.
3) Что такое собственные значения матрицы счетов метода РСА и что они характери- зуют?
4) Как связаны между собой сингулярные значения SVD разложения и собственные значения матрицы счетов метода РСА?
5) Какие критерии выбора числа главных компонент используются на практике?
22
Задание № 2: Кластеризация данных
Исследовать возможности классификации данных с использованием алгоритмов t-SNE и UMAP.
Исходные данные для анализа загрузить из ресурса Wine Quality
(http://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality /) репози- тария [10]. Варианты заданий (номер варианта определяется последней циф- рой номера зачетки) приведены в табл. 2.
Таблица 2
Варианты задания
Вариант
Обучающая выборка
Четная цифра
winequality-red.csv
Нечетная цифра
winequality-white.csv
Анализируемые данные включают 11 объективных параметров различ- ных сортов вина:
- фиксированная кислотность;
- летучая кислотность;
- лимонная кислота;
- остаточный сахар;
- хлориды;
- свободный диоксид серы;
- общий диоксид серы;
- плотность;
- pH;
- сульфаты;
- спирт.
Последний, 12-ый параметр является субъективной оценкой качества, проставляемой экспертом и имеет несколько градаций.
Основная задача исследования состоит в определении качества субъек- тивной оценки экспертов и формированию обоснованной кластеризации вин.
Исследование должно содержать:
- описание исследуемого набора данных,
- подготовку данных для анализа,
- план и решаемые задачи,
- выбор используемых функций и описание их параметров,
- результаты исследования,
- аргументированные выводы.
Программный код должен быть снабжен подробным комментарием.
23
Контрольные вопросы
1) Как можно интерпретировать назначение и выбирать адекватное значение перплек- сии при использовании алгоритма t-SNE?
2) Как решается проблема скученности точек в пространстве отображения в алго- ритме t-SNE?
3) Чем распределение Стьюдента отличается от нормального распределения?
4) Что пытается сохранить алгоритм UMAP: глобальную структуру анализируемых данных или локальные расстояния между отдельными точками?
Задание № 3: Обработка графической информации
Визуализировать отрывок сказки К.И.Чуковского «Муха-цокотуха» с использованием технологии SVG, соответствующий номеру фрагмента. Но- мер своего фрагмента определяется последней цифрой номера зачетной книжки:
0) Муха, Муха-Цокотуха,
Позолоченное брюхо!
Муха по полю пошла,
Муха денежку нашла.
Пошла Муха на базар
И купила самовар:
"Приходите, тараканы,
Я вас чаем угощу!"
1) Тараканы прибегали,
Все стаканы выпивали,
А букашки -
По три чашки
С молоком
И крендельком:
Нынче Муха-Цокотуха
Именинница!
2) Приходили к Мухе блошки,
Приносили ей сапожки,
А сапожки не простые -
В них застежки золотые.
Приходила к Мухе
Бабушка-пчела,
Мухе-Цокотухе
Меду принесла...