Полигон алгоритмов коллаборативной фильтрации
Материал из MachineLearning.
(7 промежуточных версий не показаны.) | |||
Строка 1: | Строка 1: | ||
- | == | + | {{TOCright}} |
+ | == Назначение системы == | ||
- | + | Система «Полигон алгоритмов коллаборативной фильтрации (collaborative filtering, CF)» будет служить платформой для испытания и тестирования новых алгоритмов CF, оценки успешности решения различных прикладных задач. Позволит сопоставить алгоритмы и построить выводы о целесообразности использования того или иного алгоритма для решения конкретной бизнес-задачи. А также позволит автору нового алгоритма выявить его недостатки, наметить области модернизации, направления совершенствования. | |
- | * | + | Пользователями Системы будут являться специалисты по анализу данных, эксперты в различных предметных областях, разработчики алгоритмов CF. |
- | * предоставлять данные на вход алгоритмам в стандартизованном виде | + | |
- | * обрабатывать | + | == Цели создания «Полигона» == |
+ | |||
+ | * Создать коллектив единомышленников – специалистов в области создания рекомендующих систем на основе алгоритмов CF; | ||
+ | * создать платформу для решения задач коллаборативной фильтрации, возникающих в различных предметных областях; | ||
+ | * предоставить технологию пополнения библиотеки алгоритмов и базы задач; | ||
+ | * предоставить методику тестирования различных алгоритмов CF; | ||
+ | * выработать критерии оценки качества решения задач; | ||
+ | * создать возможности для более удобного исследования свойств алгоритмов CF, в том числе собственных. | ||
+ | |||
+ | == Функциональные возможности системы == | ||
+ | === Требования === | ||
+ | '''Полигон должен:''' | ||
+ | * Поддерживать способ удобной загрузки новых алгоритмов CF; | ||
+ | * обеспечивать интерфейс удобного описания нового эксперимента; | ||
+ | * обеспечивать хранение и работу с репозиторием алгоритмов CF; | ||
+ | * предоставлять данные на вход алгоритмам в стандартизованном виде; | ||
+ | * обрабатывать данные и генерировать отчеты. | ||
+ | '''Пользователь должен иметь возможность:''' | ||
+ | * Загружать новый алгоритм в систему в виде независимого модуля/выполнимого файла; | ||
+ | * описывать параметры нового алгоритма; | ||
+ | * загружать новые данные в систему в установленном формате; | ||
+ | * тестировать все имеющиеся в репозитории алгоритмы на различных наборах данных. | ||
+ | '''Реализации алгоритмов CF должны:''' | ||
+ | * Принимать на вход данные в установленном формате; | ||
+ | * принимать на вход набор параметров алгоритма; | ||
+ | * генерировать скрытые профили пользователей и ресурсов. | ||
== Варианты постановок задач == | == Варианты постановок задач == | ||
Строка 36: | Строка 62: | ||
: 1628 объектов | : 1628 объектов | ||
: 2,811,983 оценок | : 2,811,983 оценок | ||
+ | |||
+ | ; [http://www.informatik.uni-freiburg.de/~cziegler/BX/ Book-Crossing Dataset] | ||
+ | : 278,858 пользователей | ||
+ | : 271,379 объектов | ||
+ | : 1,149,780 оценок | ||
+ | : 0.0015% заполненность | ||
; Neilsen Media Research dataset | ; Neilsen Media Research dataset | ||
Строка 47: | Строка 79: | ||
== Генераторы модельных данных, под какие алгоритмы CF заточены == | == Генераторы модельных данных, под какие алгоритмы CF заточены == | ||
== Оценка качества == | == Оценка качества == | ||
- | === Функционалы для оценки качества | + | === Функционалы для оценки качества === |
+ | Функционалы для оценки качества будут зависить от типа задачи. Существуют два основных типа задач CF: восстановление пропущенных значений в матрице расстояний и построение ранжированных списков ближайших пользоватлей и ресурсов (рекомендующих списков). | ||
+ | Для оценки качества необходимо знать "правильные" рекомендации для части пользователей и/или ресурсов. | ||
+ | Есть несколько вариантов получения таких рекомендаций: | ||
+ | * Ручная разместка части пользователей/ресурсов экспертами. | ||
+ | * Если заранее известна матрица, связывающая те сущности, которые нужно подобрать, то использовать ее. | ||
=== Графики, которые позволят судить о качестве алгоритмов и сравнивать их === | === Графики, которые позволят судить о качестве алгоритмов и сравнивать их === | ||
=== Графики, которые позволят следить за тем, что у конкретных алгоритмов происходит внутри, === | === Графики, которые позволят следить за тем, что у конкретных алгоритмов происходит внутри, === | ||
+ | |||
+ | == См. также == | ||
+ | * [[Анализ клиентских сред]] | ||
+ | * [[Коллаборативная фильтрация]] | ||
+ | * [[Анализ клиентских сред и коллаборативная фильтрация (виртуальный семинар)]] | ||
+ | |||
+ | == Ссылки == | ||
+ | * [http://ict.ewi.tudelft.nl/~jun/CollaborativeFiltering.html Collaborative Filtering Resources] (Dr.Jun Wang) | ||
+ | * [http://jamesthornton.com/cf/ Collaborative Filtering Research Papers] (James Thornton) | ||
+ | * [http://en.wikipedia.org/wiki/Collaborative_Filtering Википедия] | ||
+ | |||
+ | [[Категория:Коллаборативная фильтрация]] |
Текущая версия
|
Назначение системы
Система «Полигон алгоритмов коллаборативной фильтрации (collaborative filtering, CF)» будет служить платформой для испытания и тестирования новых алгоритмов CF, оценки успешности решения различных прикладных задач. Позволит сопоставить алгоритмы и построить выводы о целесообразности использования того или иного алгоритма для решения конкретной бизнес-задачи. А также позволит автору нового алгоритма выявить его недостатки, наметить области модернизации, направления совершенствования.
Пользователями Системы будут являться специалисты по анализу данных, эксперты в различных предметных областях, разработчики алгоритмов CF.
Цели создания «Полигона»
- Создать коллектив единомышленников – специалистов в области создания рекомендующих систем на основе алгоритмов CF;
- создать платформу для решения задач коллаборативной фильтрации, возникающих в различных предметных областях;
- предоставить технологию пополнения библиотеки алгоритмов и базы задач;
- предоставить методику тестирования различных алгоритмов CF;
- выработать критерии оценки качества решения задач;
- создать возможности для более удобного исследования свойств алгоритмов CF, в том числе собственных.
Функциональные возможности системы
Требования
Полигон должен:
- Поддерживать способ удобной загрузки новых алгоритмов CF;
- обеспечивать интерфейс удобного описания нового эксперимента;
- обеспечивать хранение и работу с репозиторием алгоритмов CF;
- предоставлять данные на вход алгоритмам в стандартизованном виде;
- обрабатывать данные и генерировать отчеты.
Пользователь должен иметь возможность:
- Загружать новый алгоритм в систему в виде независимого модуля/выполнимого файла;
- описывать параметры нового алгоритма;
- загружать новые данные в систему в установленном формате;
- тестировать все имеющиеся в репозитории алгоритмы на различных наборах данных.
Реализации алгоритмов CF должны:
- Принимать на вход данные в установленном формате;
- принимать на вход набор параметров алгоритма;
- генерировать скрытые профили пользователей и ресурсов.
Варианты постановок задач
Конкретныe прикладные задачи с данными
- Netflix Prize
- NetflixPrize.com, (данные)
- 480,000 пользователей
- 17,770 объектов
- 100,480,507 оценок
- 1.23% заполненность
- Jester dataset
- Anonymous Ratings from the Jester Online Joke Recommender System
- 73,421 пользователей
100 объектов
~4.1 миллиона оценок
54.5% заполненность - 63,974 пользователей
150 объектов
~1.7 миллионов оценок
17.7% заполненность
- 73,421 пользователей
- MovieLens datasets
- 100,000 ratings for 1682 movies by 943 users
- 1 million ratings for 3900 movies by 6040 users
- 10 million ratings and 100,000 tags for 10681 movies by 71567 users
- LibimSeTi dating agency dataset
- 135,359 пользователей
- 168,791 объектов
- 17,359,346 оценок
- 0.76% заполненность
- EachMovie dataset (supposed to be unavailable)
- 72,916 пользователей
- 1628 объектов
- 2,811,983 оценок
- Book-Crossing Dataset
- 278,858 пользователей
- 271,379 объектов
- 1,149,780 оценок
- 0.0015% заполненность
- Neilsen Media Research dataset
- Media Metrix
- UC Irvine Census data
TODO: check TheInfo Infochimps
Генераторы модельных данных, под какие алгоритмы CF заточены
Оценка качества
Функционалы для оценки качества
Функционалы для оценки качества будут зависить от типа задачи. Существуют два основных типа задач CF: восстановление пропущенных значений в матрице расстояний и построение ранжированных списков ближайших пользоватлей и ресурсов (рекомендующих списков). Для оценки качества необходимо знать "правильные" рекомендации для части пользователей и/или ресурсов. Есть несколько вариантов получения таких рекомендаций:
- Ручная разместка части пользователей/ресурсов экспертами.
- Если заранее известна матрица, связывающая те сущности, которые нужно подобрать, то использовать ее.
Графики, которые позволят судить о качестве алгоритмов и сравнивать их
Графики, которые позволят следить за тем, что у конкретных алгоритмов происходит внутри,
См. также
- Анализ клиентских сред
- Коллаборативная фильтрация
- Анализ клиентских сред и коллаборативная фильтрация (виртуальный семинар)
Ссылки
- Collaborative Filtering Resources (Dr.Jun Wang)
- Collaborative Filtering Research Papers (James Thornton)
- Википедия