您的位置:首页 > 编程语言 > Python开发

svd++

2014-03-13 14:28 309 查看
 


svd++

分类: 推荐系统 机器学习2013-05-31
20:50 836人阅读 评论(0) 收藏 举报

目录(?)[-]
CONTENTS
MODEL FORMALIZATION
GENERAL FORMALIZATION FOR USER FEEDBACK INFORMATION
LEARNING
LITERATURE
IMPLEMENTATIONS

SVD++ refers to a matrix factorization model which makes use of implicit
feedback information. In general, implicit feedback can refer to any kinds of users'
history information that can help indicate users' preference.


CONTENTS

  [hide
1 Model
Formalization
2 General
Formalization for User Feedback Information
3 Learning
4 Literature
5 Implementations


MODEL FORMALIZATION

The SVD++ model is formally described as following equation:



where 

 is the set of implicit information( the set of items user
u rated ).


GENERAL FORMALIZATION FOR USER FEEDBACK INFORMATION

A more general form of utilizing implicit/explicit information as user factor can be described in following equation



Here 

 is the set of user feedback information( e.g: the web pages
the user clicked, the music on users' favorite list, the movies user watched, any kinds of information that can be used to describe the user). 

 is
a feature weightassociates with the user feedback information. With the most two common choices: (1) 

 for
implicit feedback, (2) 

 for explicit
feedback.

(一直搞不清楚上面公式当中yi到底是什么,现在清楚了,yi就是上面所写出来的隐式反馈!)


LEARNING

SVD++ can be trained using ALS.

It is slow to train a SVD++-style model using stochastic
gradient descent due to the size of user feedback information, however, an efficient SGD training algorithm can be used. [1] describes
efficient training with user feedback information in section 4


LITERATURE

Yehuda
Koren: Factorization meets the neighborhood: a multifaceted collaborative filtering model, KDD 2008, http://portal.acm.org/citation.cfm?id=1401890.1401944


IMPLEMENTATIONS

The GraphLab Collaborative
Filtering Library has implemented SVD++ for multicore: http://graphlab.org/pmf.html
SVDFeature is a toolkit designed for feature-based matrix factorization,
can be used to implement SVD++ and its extensions.
LibFM can
also be used to implement SVD++
wooflix is
a (not very fast) Python implementation
of SVD++
MyMediaLite: SVD++
source code on GitHub; see also [2]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息