[mlpack] Apply for the implementation of the QUIC-SVD collaborative filtering

Ryan Curtin gth671b at mail.gatech.edu
Tue Mar 18 15:37:31 EDT 2014


On Mon, Mar 17, 2014 at 12:55:50PM +0800, Wilson Cao wrote:
> Hello,
> 
> My name is Wilson Cao, a Chinese students from South China University of
> Technology. I am really interested in the implementation of the QUIC-SVD
> collaborative filtering.

Hi Wilson,

I'm sorry for the slow response.

> The most important part of this SVD-based collaborative filtering is the to
> implement the svd method to mlpack API. The QUIC-SVD method use the new
> data structure -- cosine tree. It is more efficient than the previous Monte
> Carlo linear algebra methods.

Efficient in what way?

> What API can we use to implement the QUIC-SVD algorithm? I think maybe we
> should create the abstract class or the template class, and this class
> constructor should take the user-item matrix as an input. Also, the
> collaborative filtering algorithm should be include in the in this class.
> 
> Sometimes, the rates of the item from the users are not always be the
> number, so I think we need to implement a kind of API so that the
> programmer can define the type of "rate".

No.  We have arma::mat (and other numerical matrix data types) as data
types, and if we wanted to start supporting other types of features, it
takes a lot of overhead and will be slow.  If anything, a transition
layer to convert non-numeric categorical features into numerical
features is the way to go.

> I really believe that the performance is the key to this algorithm, so I am
> wondering if we can use the cluster distributed system to implement is
> algorithm? I haven't find out whether this is feasible.

If you have any ideas that can balance API cleanliness and simplicity
with scalability, I'm all ears.  Making trees work in a distributed
setting is not an easy task, in general.

> I am really interested in the project! However, I have been in the trouble
> that I have my TOEFL exam in Mar 23 (UTC + 8:00), which means that I can't
> get myself full prepared for the proposal. I have to apology for my lack
> preparation for this project. I am wondering whether I can send the draft
> proposal first? I promise I will get full prepared for the project and show
> my deep passion on it right after my TOEFL exam.

I'm sorry, but we can't accept late proposals.  If you upload your
proposal to Melange (which I think you already have) I will look at it
and comment.

Thanks,

Ryan

-- 
Ryan Curtin    | "Sometimes, I doubt your commitment to Sparkle
ryan at ratml.org | Motion!"  - Kitty Farmer



More information about the mlpack mailing list