[ 
https://issues.apache.org/jira/browse/MAHOUT-541?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13004098#comment-13004098
 ] 

Tamas Jambor commented on MAHOUT-541:
-------------------------------------

I would like to add two more small changes.

1, Collections.shuffle(cachedPreferences, random) could be done after training 
each feature (or even after each iteration)

2, Initializing the vector doesn't really look correct to me. This part:

defaultValue = Math.sqrt((average - 1.0) / numFeatures);
leftVectors[userIndex][feature] = defaultValue + (random.nextDouble() - 0.5) * 
randomNoise;
rightVectors[itemIndex][feature] = defaultValue + (random.nextDouble() - 0.5) * 
randomNoise;

0.5 should be replaced by something that depends on the number of features and 
the rating scale.

what do you think?

> Incremental SVD Implementation
> ------------------------------
>
>                 Key: MAHOUT-541
>                 URL: https://issues.apache.org/jira/browse/MAHOUT-541
>             Project: Mahout
>          Issue Type: Improvement
>          Components: Collaborative Filtering
>    Affects Versions: 0.4
>            Reporter: Tamas Jambor
>            Assignee: Sean Owen
>             Fix For: 0.5
>
>         Attachments: MAHOUT-541.patch, MAHOUT-541.patch, MAHOUT-541.patch, 
> MAHOUT-541.patch, SVDPreference.java, TJExpectationMaximizationSVD.java, 
> TJSVDRecommender.java
>
>
> I thought I'd put up this implementation of the popular SVD algorithm for 
> recommender systems. It is based on the SVD implementation, but instead of 
> computing each user and each item matrix, it trains the model iteratively, 
> which was the original version that Simon Funk proposed.  The advantage of 
> this implementation is that you don't have to recalculate the dot product of 
> each user-item pair for each training cycle, they can be cached, which speeds 
> up the algorithm considerably.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to