java svd_svd++

SVD++ refers to amatrix factorization model which makes

use of implicit feedback information.In general, implicit feedback can refer to any kinds ofusers'

history information that can help indicate users' preference.

Model Formalization

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

47d6f600dc39d813fffd761636c1d4be.png

where

23fbad0b76c3b2886b8395fdb3dccc1f.png 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

f351765352c47807bd0b83cd0e84d2a6.png

Here

179a162c595520f6b733a6df330d136e.png 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).

90db017b80d63780533fbc74fb227dba.png

is afeature weight associateswith the user feedback information. With the most two common choices: (1)

f8dc16c343b4bc42a274892fbe43aff3.png

for implicit feedback, (2)

135d0778a7c07074bd985b15e23848fd.png for explicit feedback.

Learning

SVD++ can be trained usingALS.

It is slow to train a SVD++-style model usingstochastic

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++

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值