Thank you Kyle for clearing my doubts about this approach.
Nice concise explanation!

~Issam

On 9/13/2013 2:42 AM, Kyle Kastner wrote:
Take a look at the "missing values" section in Hinton's guide (http://www.cs.toronto.edu/~hinton/absps/guideTR.pdf <http://www.cs.toronto.edu/%7Ehinton/absps/guideTR.pdf>),

You may be able to use the Imputer from sklearn.preprocessing to start with a "good guess" for the rating, which will then be modified as the RBM regenerates the input during contrastive divergence. You may also be able to drop the training cases with N/A data, and train a different RBM for each movie (or each user - what is your input vector?) while tying the weights somehow - though this seems difficult.

There is also probabilistic matrix factorization, which may be an alternate approache to investigate. I have done some work with this at https://github.com/kastnerkyle/School/blob/master/atpr/matrix_factorization.py

Kyle


On Thu, Sep 12, 2013 at 12:40 PM, Issam <issamo...@gmail.com <mailto:issamo...@gmail.com>> wrote:

    Is it easy to perform collaborative filtering with scikit's
    "Restricted Boltzmann Machines" (RBM)?

    Assume given are user ratings of 3 movies and for the fourth movie
    the rating is missing. Clearly, using RBMs the reconstruction
    values constitute the missing data. But, I'm not sure how the RBM
    knows which movie ratings are missing. An approach includes
    assigning arbitrary missing values during initialization; although
    this might not be effective as inference would depend on the
    initial values.

    Thanks!


    
------------------------------------------------------------------------------
    How ServiceNow helps IT people transform IT departments:
    1. Consolidate legacy IT systems to a single system of record for IT
    2. Standardize and globalize service processes across IT
    3. Implement zero-touch automation to replace manual, redundant tasks
    http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk
    _______________________________________________
    Scikit-learn-general mailing list
    Scikit-learn-general@lists.sourceforge.net
    <mailto:Scikit-learn-general@lists.sourceforge.net>
    https://lists.sourceforge.net/lists/listinfo/scikit-learn-general




------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk


_______________________________________________
Scikit-learn-general mailing list
Scikit-learn-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/scikit-learn-general

------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk
_______________________________________________
Scikit-learn-general mailing list
Scikit-learn-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/scikit-learn-general

Reply via email to