Метод скользящего контроля для оценки качества рекомендательных интернет-сервисов

Описание современных алгоритмов, применяемых в рекомендательных системах. Способ оценки их качества в терминах точности и полноты предсказаний. Проведение экспериментов на реальных и синтетических наборах данных. Сервисы для рекомендации пользователю.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 18.01.2018
Размер файла 150,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Метод скользящего контроля для оценки качества рекомендательных интернет-сервисов

Д.И. Игнатов

А.Ю. Каминская

Р.А. Магизов

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

Введение

Современному Интернет-пользователю довольно часто приходится сталкиваться с рекомендательными системами. Например, приобретая книгу X в Интернет-магазине, пользователь такой системы получает рекомендации вида "другие пользователи вместе с книгой X приобрели также книги Y и Z". Также существует множество сервисов для рекомендации пользователю интересных сайтов, известных как сервисы социальных закладок. Нетехнологичным способом получения рекомендаций можно назвать совет друзей и знакомых. С ростом числа вещей, для выбора которых вам нужна рекомендация, мнения знакомых становится недостаточно, они могут просто не знать о новинках. В этой затруднительной ситуации помогает так называемая коллаборативная фильтрация [Golberg et al., 1992]. Методы рекомендательных систем, основанные на коллаборативной фильтрации, часто работают по довольно простой схеме. Они просматривают большую группу людей, находят тех из них, предпочтения которых близки к вашим, а затем создают список выбранных ими вещей и ранжируют его, в итоге предлагая вам N верхних предметов такого списка. Другим менее очевидным, но востребованным приложением является рекомендация словосочетаний в системах контекстной рекламы, где фирмы приобретают рекламные словосочетания, по которым поисковые системы могут находить их и выдавать рекламу на такой запрос. алгоритм пользователь синтетический

Существующие модели рекомендательных систем

В нашей работе представлены две группы методов, ставших классическими в рассматриваемой области: user-based (основанные на сходстве пользователей) и item-based (основанные на сходстве признаков) (см. [Badrul et al., 2000]). Ключевым для работы этих методов является понятие сходства (математически это может быть мера Жаккара, корреляция Пирсона, мера косинусов и т.п.). Исходные данные представлены объектно-признаковыми матрицами, в которых столбцам соответствуют признаки (товары), а строкам объекты (пользователи). На пересечении строк и столбцов записаны 1 или 0, которые означают факт покупки или ее отсутствие. Также значениями ячеек таблицы могут быть рейтинги или оценки товаров, например, фильмов, поставленные пользователями.

Рекомендации, основанные на сходстве пользователей (User-based)

В методах группы user-based сходство ищется между пользователями и в качестве рекомендаций пользователю u0 выдается n самых часто покупаемых товаров k наиболее похожими на него покупателями. Введем обозначения: u0 - "целевой" пользователь, u0I - предметы, которые он оценивал, sim(u0, u)- сходство пользователя u0 с пользователем u. В нашей работе для подсчета сходства мы использовали коэффициент корреляции Пирсона. Определим множество ближайших соседей (соседство) для целевого пользователя по формуле:

.

На самом деле удобнее брать top-k ближайших соседей, т.е. top-k определяет . Таким образом, во множество ближайших соседей попадают те пользователи, сходство которых с целевым выше некоторого порога. После упорядочения пользователей по убыванию сходства, нужно отбирать не только первые k, но и проверить значение сходства у следующего (k+1) по списку. Если это значение совпадает с последним, включать и k+1-го пользователя в соседство. И так до тех пор, пока сходство не изменится. Поскольку мы предсказываем оценку целевым пользователем конкретного предмета i, нам интересны только те пользователи из этого соседства, которые оценивали предмет i:

.

Обозначив оценку предмета i пользователем u через rui, получаем итоговую формулу для предсказанной оценки:

.

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

Рекомендации, основанные на сходстве признаков (Item-based)

Идея метода item-based аналогична идее вышеописанного метода user-based, однако сходство уже ищется по признакам, то есть по предметам. Введем обозначения: u0 - "целевой" пользователь, u0I - предметы, которые он оценивал, sim(i,j) - сходство товара i с товаром j. Определим соседство для предмета i аналогично тому, как определяли его для целевого пользователя:

.

Это top-k ближайших к i товаров, top-k определяет . Чтобы предсказать оценку целевому пользователю, нужно сравнивать те предметы, которые он оценивал, с теми, которые нет. Поэтому "уточним" формулу для соседства в отношении к целевому пользователю:

.

Обозначим оценку предмета i пользователем u, таким образом, итоговая формула имеет вид:

.

Далее ранжируем оценки по убыванию и выдаем первые n в качестве рекомендаций.

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

У этих методов есть ряд недостатков, например, в случае "холодного старта", когда нам ничего неизвестно о новом клиенте, такие системы не смогут ничего порекомендовать, но они успешно справляются со своей задачей, когда известна история пользователя.

Меры сходства

Чтобы определить сходство между объектами или признаками, используют различные меры (метрики) сходства. Обычно эти величины принимают значения от 0 до 1 (при абсолютном сходстве). Рассмотрим некоторые из таких метрик.

Сходство, основанное на расстоянии

Для определения сходства можно сначала вычислить расстояние одним из способов:

Евклидово расстояние.

В данном случае каждый объект представляется как вектор в пространстве признаков (или наоборот). Тогда между любыми двумя точками можно найти Евклидово расстояние по известной формуле.

Расстояние Хемминга.

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

Для выбранного расстояния сходство часто ищется по формуле:

.

Вернемся к метрике Хемминга. Поскольку d может принимать только натуральные значения и 0, максимальное значение s равняется 1 (при нулевом расстоянии), но уже при d = 1 значение s = 1/2, что является очевидным недостатком: если имеется два 100-мерных бинарных вектора, у которых различие лишь в одной из координат, то согласно формуле получаем, что они сходны лишь наполовину. Такой "несглаженный" характер значений сходства можно видеть на графике (рис.1):

Рис.1. Зависимость сходства от расстояния Хемминга

Корреляции как сходства

В данном случае сходство считается с помощью известной формулы для корреляции из математической статистики (корреляция Пирсона):

.

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

Именно поэтому мы можем терять рекомендации. В качестве примера рассмотрим два вектора: и . Если представить эти векторы как набор оценок двух пользователей, интуитивно понятно, что такие пользователи достаточно схожи. Однако корреляция посчитана не будет, поскольку она считается только по тем координатам, которые не равны нулю у обоих векторов. В нашем примере нужно посчитать корреляцию для и . Но, как было показано выше, для первого вектора она не определена. Некоторые авторы предлагают в данном случае считать корреляцию нулевой [Сегаран, 2008], но на наш взгляд, это некорректно.

Другие меры сходства

Для определения сходства существует несколько десятков разных мер. Например, косинусная мера или коэффициент Жаккара.

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

В этой работе мы предлагаем методику оценки качества рекомендаций, выдаваемых такими системами. Пусть исходные данные представлены объектно-признаковой таблицей, бинарное отношение T UЧI показывает, совершил ли пользователь uU покупку iI, что выражается как uTi. Для оценки качества рекомендаций в терминах точности и полноты можно применить подход, использующий разбиение исходной выборки (множество U) на два подмножества: тестовое Utest и обучающее Utraining. Размер тестового множества, как правило, меньше размера обучающего, например, 20% и 80% соответственно. Полнота и точность поиска оценивается на тестовой выборке. Каждый элемент u тестовой выборки Utest в свою очередь разбивается на две части, на оцененные признаки Ivisible и неоцененные Ihidden, т.е. такие, которые мы намеренно скрываем. Отметим, что в существующей научной литературе отношение размеров Ivisible и Ihidden не обсуждается. Далее, например, алгоритм рекомендаций по пользователям использует сходство объектов из тестовой и обучающей выборки для формирования рекомендаций. Каждый пользователь из Utest получает рекомендации в виде множества фиксированного размера rn(u)={i1,i2,…,in}. Далее точность и полнота вычисляются следующим образом:

,

,

где uI - множество всех купленных пользователем u товаров из I. Значения этих мер вычисляются для каждого посетителя и усредняются. Эксперимент проводится для разбиения исходной выборки на тестовое и обучающее множество несколько раз, например, 100. Значения мер вновь усредняются. Помимо этого существует возможность отбора признаков для множества Ihidden скрытых признаков, процедура разбиения выполняется случайным образом, но необходимо задавать их долю, например, 20%. Идея метода оценки позаимствована из машинного обучения, и носит название скользящего контроля (cross-validation), но в случае рекомендательных систем претерпевает ряд модификаций. Нами использована модификация метода, называемая m-кратный скользящий контроль, идея которого состоит в том, что искомая выборка разбивается на m подмножеств объектов, каждое из которых затем используется в качестве тестовой выборки, а оставшиеся - в качестве обучающей. В дополнение к стандартным способам вычисления точности и полноты мы предлагаем нетрадиционные варианты раскрытия неопределенностей, возникающих при их оценке. Если , то . Если и то , иначе

Эксперименты проведены на наборах данных MovieLens о рейтингах фильмов и синтетических наборах данных, сгенерированных нами.

Результаты экспериментов

Мы провели серию экспериментов на наборе данных рейтингов фильмов, в котором представлено 1682 фильма, 943 пользователя, каждый из которых оценил не менее 20 фильмов. Все эксперименты проведены на компьютере с процессором Intel Core 2 Duo 2.0 Гц, 3МБ ОП, под управлением Windows Vista. Алгоритмы реализованы на языке Python 2.6. Мы приводим результаты эксперимента по исследованию зависимости точности (рис.2) и полноты (рис.3) поиска от количества скрываемых признаков для указанных данных (применялся 10-кратный скользящий контроль при фиксированном количестве соседей 10).

Рис.2. Зависимость точности от числа скрытых признаков

Рис.3. Зависимость полноты от числа скрытых признаков

Как видим по точности поиска методы практически одинаково себя ведут, а по полноте в диапазоне от 1 до 10 скрытых признаков сходство по пользователям работает точнее. Также мы провели аналогичные эксперименты на наборе данных рейтингов фильмов, в которых поэтапно скрывали признаки от 1% до 20%. На графиках (рис.4, рис.5) для этих экспериментов метод Item-based показывает лучшие результаты только при скрывании малого количества признаков (~1%). В дальнейшем его показатели значительно ухудшаются, тогда как User-based ведет себя достаточно стабильно, более того, начиная с 6-7% полнота начинает возрастать.

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

Рис.4. Зависимость точности от числа соседей

Рис.5. Зависимость полноты от числа соседей

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

Заключение

Предложенная методика оценки качества рекомендательных Интернет-сервисов позволяет сравнивать методы рекомендательных систем и настраивать их параметры. В ходе экспериментов было установлено, что классические методы группы user-based ведут себя лучше с точки зрения точности и полноты поиска при количестве скрытых признаков около 10 на реальных данных. Данная методика также позволяет сравнивать любые другие методы поиска рекомендаций, в том числе и основанные на алгоритмах бикластеризации [Ignatov et al., 2008], [Игнатов и др., 2008]. Сравнительные исследования этой группы методов представляют дальнейшее направление развития нашей работы.

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

1. [Игнатов и др., 2008] Игнатов Дмитрий Игоревич, Кузнецов Сергей Олегович. Методы разработки данных (Data Mining) для рекомендательной системы Интернет-рекламы.// Труды одиннадцатой национальной конференции по искусственному интеллекту с международным участием, 2008. Т. 2. № КИИ-2008.

2. [Сегаран, 2008] Тоби Сегаран. Программируем коллективный разум, СПб.: Символ-плюс, 2008.

3. [Badrul et al., 2000] Badrul M. Sarwar, George Karypis, Joseph A. Konstan, John Riedl, "Analysis of recommendation algorithms for e-commerce", ACM Conference on Electronic Commerce, 2000.

4. [Golberg et al., 1992] David Goldberg, David A. Nichols, Brian M. Oki, Douglas B. Terry. Using Collaborative Filtering to Weave an Information Tapestry. Communications of the ACM , volume 35(12), 1992.

5. [Ignatov et al., 2008] Ignatov, Dmitry I., Kuznecov, Sergey Olegovich. Concept-based Recommendations for Internet Advertisement. // Proceedings of the Sixth International Conference on Concept Lattices and Their Applications, 2008.

Размещено на Allbest.ru

...

Подобные документы

  • История появления Интернета. Сервисы для хранения мультимедийных ресурсов. Социальные поисковые системы. Сервисы, позволяющие пользователю вести записи, редактировать текст сайта. Персональные рекомендательные сервисы. Общение в трехмерной реальности.

    реферат [34,3 K], добавлен 12.10.2014

  • Исследование рынка банковских программ. Анализ эффективности различных рекомендательных алгоритмов. Обзор имеющихся подходов выработки рекомендаций. Архитектура разрабатываемой системы. Методы коллаборативной фильтрации. Использование контентных методов.

    курсовая работа [678,2 K], добавлен 31.08.2016

  • Идеи по использованию сервисов поисковой системы Google для совместной работы с учащимися в блоге "Учимся с Google". Организация коллективной деятельности с помощью сервисов Google. Характеристика функций основных сервисов, их достоинства и недостатки.

    реферат [24,5 K], добавлен 27.11.2012

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

    курсовая работа [938,4 K], добавлен 24.06.2013

  • Технологии распределённой обработки данных, в которой компьютерные ресурсы и мощности предоставляются пользователю как Интернет-сервис. Виды облаков, достоинства и недостатки "облачных" вычислений. Компании, которые предоставляют "облачные" сервисы.

    контрольная работа [28,1 K], добавлен 10.03.2012

  • Метод оценки максимального правдоподобия. Основные методы вычисления 95% доверительного интервала. Сознание программы-функции на Matlab для исследования точности оценки параметра экспоненциального распределения методом максимального правдоподобия.

    курсовая работа [175,6 K], добавлен 18.05.2014

  • Методика расчётов показателей ликвидности предприятия. Требования к программному продукту: описание решаемых задач, внутренней структуры системы (базы данных), рекомендации программисту и пользователю. Порядок контроля и приемки программного продукта.

    курсовая работа [1010,9 K], добавлен 28.05.2013

  • Критерии оценки сайтов при проведении Интернет-конкурса. Примеры популярных ресурсов с возможностью оценивания. Программная реализация плагина с использованием языков программирования HTML, CSS, PHP, JavaScript. Оценка качества разработанного продукта.

    дипломная работа [2,6 M], добавлен 27.10.2017

  • Исследование программы "База данных "Зимний сад БелГУ". Инструкция пользователю, алгоритм разработки программы; базовое значение показателей качества. Сравнительный анализ программного средства в соответствии с отечественными и зарубежными стандартами.

    курсовая работа [2,6 M], добавлен 15.01.2013

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

    презентация [442,0 K], добавлен 06.04.2014

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

    курсовая работа [3,5 M], добавлен 14.12.2011

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

    курсовая работа [4,1 M], добавлен 16.09.2011

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

    контрольная работа [16,0 K], добавлен 19.03.2015

  • Архитектура интерактивного сервиса Internet; программное обеспечение, применяющее протоколы передачи данных в глобальных сетях; аудио- и видеоконференции, сервисы для общения; принципы IP-телефонии. Формирование ведомости зарплаты средствами MS Excel.

    курсовая работа [408,0 K], добавлен 23.04.2013

  • Особенности создания набора web-сервисов, учитывающих функцию кредитоспособности покупателя. Учет возможности управления статусом заказа. Анализ функциональной декомпозиции системы. Использование разработанных сервисов и технологий, их эффективность.

    курсовая работа [2,0 M], добавлен 24.02.2012

  • Изучение в реальных условиях способов представления знаний во Всемирной сети. Представления данных в интернет и способы эффективной публикации данных. Конфигурация Web-сервера на виртуальном хостинге. Настройка и отладка работы сайтов на разных CMS.

    отчет по практике [947,2 K], добавлен 09.02.2012

  • Метод аналитического описания экспериментальных данных, основанный на использовании в качестве аппроксимирующих операторов ОДУ. Разработка итерационного МАЧ, в котором предложен критерий качества подстройки неизвестных параметров объектов управления.

    дипломная работа [953,3 K], добавлен 14.07.2012

  • Формализация и стандартизация данных, необходимых для разработки веб-сайта. Описание среды программирования. Требования к техническому обеспечению. Алгоритмизация данных и защитное программирование. Анализ результатов решения и инструкция пользователю.

    дипломная работа [3,7 M], добавлен 30.06.2014

  • Основные особенности эволюционных алгоритмов. Описание алгоритмов селекции, мутации, скрещивания, применяемых для реализации генетических алгоритмов. Вычисление функции приспособленности. Программная реализация. Тестирование и руководство пользователя.

    курсовая работа [1,3 M], добавлен 11.03.2014

  • Файлообменные и облачные сервисы. Типы организации файлообменных сетей. Сравнительная характеристика облачных и файлообменных сервисов. Загрузка и скачивание файла с DropBox. Шаринг файлов в DropBox. Загрузка, поиск и скачивание файла с DepositFiles.

    курсовая работа [2,6 M], добавлен 25.05.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.