Научная статья на тему 'МЕТОДЫ СНИЖЕНИЯ РАЗМЕРНОСТИ ДЛЯ ЗАДАЧ АНАЛИЗА ДАННЫХ'

МЕТОДЫ СНИЖЕНИЯ РАЗМЕРНОСТИ ДЛЯ ЗАДАЧ АНАЛИЗА ДАННЫХ Текст научной статьи по специальности «Математика»

CC BY
237
26
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
снижение размерности / анализ данных / рекомендательная система / сингулярное разложение / dimensional reduction / data analysis / recommender system / singular value decomposition

Аннотация научной статьи по математике, автор научной работы — Малич Виктория Олеговна, Нестеров Сергей Александрович

В статье рассматриваются методы снижения размерности данных. В качестве примера используется сингулярное разложение, в результате которого декомпозируется разрежённая матрица с оценками пользователей. Восстановленная матрица проверяется на точность с помощью регрессионных метрик. Полученная модель используется для вывода пользовательских рекомендаций.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Малич Виктория Олеговна, Нестеров Сергей Александрович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

DIMENSIONAL REDUCTION METHODS FOR DATA ANALYSIS

The paper discusses methods to reduce the dimensionality of the data. As an example, a singular decomposition is used which decomposes a sparse matrix with user ratings. The reconstructed matrix is tested for accuracy using regression metrics. The resulting model is used to derive user recommendations.

Текст научной работы на тему «МЕТОДЫ СНИЖЕНИЯ РАЗМЕРНОСТИ ДЛЯ ЗАДАЧ АНАЛИЗА ДАННЫХ»

УДК 004.85

doi:10.18720/SPBPU/2/id23 -510

Малич Виктория Олеговна 1,

студент магистратуры;

л

Нестеров Сергей Александрович ,

доцент, канд. техн. наук, доцент

МЕТОДЫ СНИЖЕНИЯ РАЗМЕРНОСТИ ДЛЯ ЗАДАЧ АНАЛИЗА

ДАННЫХ

1 2

' Россия, Санкт-Петербург,

Санкт-Петербургский политехнический университет Петра Великого, 1 2 malichvo@gmail.com, nesterov@spbstu.ru

Аннотация. В статье рассматриваются методы снижения размерности данных. В качестве примера используется сингулярное разложение, в результате которого декомпозируется разрежённая матрица с оценками пользователей. Восстановленная матрица проверяется на точность с помощью регрессионных метрик. Полученная модель используется для вывода пользовательских рекомендаций.

Ключевые слова: снижение размерности, анализ данных, рекомендательная система, сингулярное разложение.

Viktoria O. Malich 1,

Master's Student;

л

Sergey A. Nesterov ,

Candidate of Technical Sciences, Associate Professor

DIMENSIONAL REDUCTION METHODS FOR DATA ANALYSIS

1 2

, Peter the Great St. Petersburg Polytechnic University,

St. Petersburg, Russia, 1 2 malichvo@gmail.com, nesterov@spbstu.ru

Abstract. The paper discusses methods to reduce the dimensionality of the data. As an example, a singular decomposition is used which decomposes a sparse matrix with user ratings. The reconstructed matrix is tested for accuracy using regression metrics. The resulting model is used to derive user recommendations.

Keywords: dimensional reduction, data analysis, recommender system, singular value decomposition.

Введение

Многомерные данные можно преобразовать в вектор чисел. Например, матрицу пикселей изображения можно записать в виде вектора. Однако, такие векторы обычно достаточно длинные и содержащиеся в них признаки неинформативны.

Снижение размерности данных позволяет получить компактное множество информативных признаков, поскольку избыточные или неинформативные признаки приводят к понижению эффективности и точности модели.

Одним из примеров задачи анализа данных, где используется методы снижения размерности, является построение рекомендаций.

Рекомендательные системы прочно закрепились в различных сферах деятельности человека и улучшают пользовательский опыт. Персонали-зация пользовательского опыта напрямую влияет на доход компании, поскольку повышается вовлеченность клиентов. Рекомендательные системы предлагают товары в интернет-магазинах, составляют плейлисты или подборку научных статей, рекомендуют к просмотру видео или фильмы. В связи с большим количеством информации человек физически не имеет возможности ознакомиться со всем разнообразием, поэтому тема рекомендательных систем актуальна для принятия решения.

1. Методы снижения размерности

Снижение размерности данных достигается методами выбора признаков или извлечения признаков.

При выборе признаков остается некоторое подмножество исходного набора признаков, в котором отсутствуют избыточные и слабо информативные признаки, а также не создаются новые сложные признаки.

При извлечении признаков уменьшают размерность входных данных, составляя из исходных признаков новые, полностью описывающие пространство набора данных.

Один из методов, который относится к выбору признаков, называется метод опорных векторов [1]. Данный метод является итеративным. По исходному набору данных обучается классификатор, благодаря которому происходит дальнейшее ранжирование по весам. Оптимальным образом по полученным весам отсекается определенное количество признаков. Новое множество используется для повторного обучения классификатора. Алгоритм повторяется до тех пор, пока не будет выполнено условие по достижению требуемого количества признаков.

К методам извлечения признаков относится метод главных компонент [2]. Основная идея заключается в линейном ортогональном преобразовании, за счет чего данные из исходного признакового пространства отображаются в новое подпространство с меньшей размерностью. В качестве осей нового подпространства выступают первая и вторая главная компонента. Дисперсия данных каждой из осей максимизируется.

2. Типы рекомендательных систем

Выделяют четыре типа рекомендательных систем [3].

В методе контентных рекомендаций по базовым данным товара рекомендуется аналогичный товар.

Рекомендации на основе знаний строятся на более подробной информации о свойствах предмета, в отличие от контентных рекомендаций.

В коллаборативной фильтрации рекомендации строятся по известным предпочтениям группы пользователей.

Гибридные рекомендательные системы совмещают возможности базовых подходов.

3. Постановка задачи

Заданы два множества. Множество пользователей:

и = {иь ..., ип},

множество объектов, с которыми пользователи взаимодействовали:

I = {il, ...., 1т}.

Результат взаимодействия пользователя и и объекта i - гш-. Необходимо восстановить зависимость и вычислить

/(и,/) = гш ъгиг. Задача сводится к минимизации ошибки:

\\к — г —> Ш1П .

|| г г ||2

(1) (2)

(3)

(4)

4. Уменьшение размерности

Рассмотрим алгоритм, использующийся в коллаборативных рекомендательных системах, который основывается на разложении матриц, что уменьшает размерность исходного набора данных.

Поскольку используемый набор данных представлен в виде разрежённой матрицы, применяем сингулярное разложение (БУБ) для сокращения признакового пространства и формирования нового, где эта разрежённость будет отсутствовать.

Матрица оценок ¥ е Япхт раскладывается на произведение трех матриц:

^ = увиТ=

| | | |

ц

I I I I

0 0 •••

| л 0 0 ••• 0 / 1

| 0 0 ак 0 ••• 0

и

п I 0 0 0 0 ••• 0

| ) 0 \

чО 0 0 0 0 0,

и

(5)

где V е Ятхп и иТ е Япхт — ортогональные матрицы, столбцами которых являются левые и правые сингулярные векторы матрицы ¥;

Б = сИа%(&х ,<х2 ,0,...,0) еЯпхп — диагональная матрица, где элементы а1>а2>...,>&к есть сингулярные числа матрицы Г, ¥||; при этом 0 < к < п;

F — разрежённая user-item матрица;

F — восстановленная матрица, т. е. используя к сингулярных векторов, раскладываем матрицу F на компоненты vk,Dk,UTk , результатом их перемножения является матрица F:

I I I

V

и

Vu

о ¥

о

J I I

= VkDkUrk*F,#( 6)

vo о

и,

и,.

V е Rmxk, D е Rkxk, U е Rkхи.

Для хранения данных матрицы F е Rnxm необходимо выделить память под пт элементов.

Для хранения данных матрицы FgRПУт необходимо выделить память под тк + к + кп = (m + п + 1)k элементов.

Таким образом, сингулярное разложение позволяет добиться уменьшения затрачиваемой памяти, а также увеличивает производительность.

5. Решение задачи

Набор данных, используемый для решения задачи, находится в открытом доступе на сайте kaggle.com [4] под названием «KinoPoisk movies and votes». Для получения уникальных идентификаторов пользователей и фильмов, а также оценок к фильмам используется файл movie_votes.csv, содержание файла изображено в таблице 1. Файл movie_info.csv содержит информацию о фильмах, необходим для вывода названия в рекомендательной системе.

Таблица 1

Содержание файла movie_votes.csv

T

№ user_id movie_id score time

0 15647798 568289 9 1542847800

1 15647798 435 8 1542847860

33219316 1510864 17176 6 1612831740

Создается матрица F размерности 13893*129570, в которую заносятся оценки каждого пользователя. В итоге получается разрежённая матрица, изображенная в таблице 2.

Таблица 2

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Матрица оценок пользователей__

0 0 0 0

6 8 0 0

0 0 0 0

Пусть количество сингулярных чисел к = 3681, что объясняет 90 % дисперсии (рис. 1). Тогда разряженная матрица ^ раскладывается на матрицы ¥к размерности 13893*3681, Ок размерности 3681*3681 и ик размерности 3681*129570.

Таким образом, для хранения матрицы оценок пользователей требуется выделять память под 13893*129570 элементов, а для хранения матриц ¥кБкик 3681(13893+129570+1) элементов, что в 3,4 раза меньше исходной матрицы.

Отношение дисперсии к количеству снгулярных чисел

20

О 2000 4000 6000 В000 10000 12000 14000

Сингулярные числа

Рис. 1. Количество сингулярных чисел, объясняющие 90 % дисперсии

Перемножив матрицы ¥кЭкик, новые значения восстановленной матрицы Р можно трактовать как прогноз оценки пользователей. Для получения рекомендаций необходимо упорядочить список предсказанных оценок по убыванию.

сильны, рекомендуемые пользователю 15647798:

[9.2250633 0.19538594 0.19399499 0.18270293 0.18170438 0.17852709] ['Восстание планеты обезьян", "Еще по одной", "Человек-паук: Через вселенные", "Не говори никому"Величайший шоумен"Планета обезьян: Революция"]

Рис. 2. Рекомендация фильмов пользователю

Персонализированные рекомендации для пользователя с уникальным идентификатором 15647798 с сайта kinopoisk, изображены на рисунке 2.

Построенная рекомендационная система выводит фильмы в порядке убывания предсказанного значения. Чем больше значение, тем больше вероятность, что фильм придется пользователю по вкусу.

6. Метрики точности предсказания

Не существует универсальной метрики для оценки точности рекомендательной системы, поэтому в зависимости от целей и задач, метрики делятся на категории:

- оценка точности предсказываемого рейтинга;

- оценка релевантности рекомендаций;

- оценка качества ранжирования рекомендаций.

Поскольку фильмы оцениваются по непрерывной шкале (1-10), для оценки точности предсказываемого рейтинга рекомендательной системы подойдут регрессионные метрики, которые изображены в таблице 3:

гг — фактическая оценка пользователя, к — предсказанная оценка, N — исходное количество фильмов.

Таблица 3

Регрессионные метрики

Название метрики Формула Описание

MAE (Mean Absolute Error) Y N-l —У k ivv Среднее абсолютное отклонение

MSE (Mean Squared Error) j N-1 2 — У ( r - r ) N УУ' г) Среднеквадратичная ошибка

RMSE (Root Mean Squared Error) Y N-1 2 Vn У(r - Г ) Корень из среднеквадратичного отклонения

Для вычисления MAE необходимо взять абсолютное значение разницы между предсказанной и фактической оценкой и вычислить их среднее значение [5].

MSE — ошибка вычисляется как среднеквадратичная разница между предсказанной и фактической оценкой.

RMSE — ошибка вычисляется как корень из среднеквадратичной разницы между предсказываемым значением и реальным значением.

Для созданной системы рекомендаций были построены функции вычисления метрик для ненулевых значений, результат работы программы приведен в таблице 4. Чем меньше значение ошибки, тем точнее прогноз. Чем больше сингулярных векторов используется при сингулярном разложении, тем точнее метрики.

Таблица 4

Влияние количества сингулярных чисел на точность

Название метрики к = 2000 к = 3681 к = 5000 к= 10000

MAE 1.755 0.842 0.455 0.023

MSE 5.8 1.932 0.811 0.019

RMSE 2.41 1.39 0.9 0.14

Заключение

В результате были изучены методы снижения размерности. Рассмотрен пример, в котором реализовано сингулярное разложение, что позволило при 3681 сингулярных элементах, которые описывают 90 % дисперсии, сократить объем хранения данных в 3,4 раза. Поскольку в восстановленной матрице элементы зависят от сингулярных значений, была построена рекомендательная система, в которой элементы интерпретируются как степень важности предсказанных значений. В итоге была дана рекомендация фильмов для пользователя.

Список литературы

1. Вьюгин В. Математические основы теории машинного обучения и прогнозирования. - М.: МЦМНО, 2013. - 390 с.

2. Вержбицкий В.М. Вычислительная линейная алгебра: учебное пособие для вузов. - Изд. 3-е. - Москва; Берлин: Директ-Медиа, 2021. - 354 c.

3. Falk K. Practical recommender systems. - Shelter Island, NY: Manning, 2019. - 432 p.

4. Kaggle [Электронный ресурс]. - URL: https://www.kaggle.com/ (дата обращения: 15.10.22).

5. Chai T., Draxler R.R. Root mean square error (RMSE) or mean absolute error (MAE)? - Arguments against avoiding RMSE in the literature // Geoscientific Model Development. - 2014. - Vol. 7, No. 3. - Pp. - 1247-1250. - DOI: 10.5194/gmd-7-1247-2014.

i Надоели баннеры? Вы всегда можете отключить рекламу.