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