machine learning - RBM for collaborative filtering -
my algorithm rbm collaborative filtering not converge... idea of think rbm for collaborative filtering
initial w , b , c , random @ [0,1]
for user clamp data -> visible (softmax)
hidden = sigmoid(b+w*v)
run gibbs on hidden -> hidden_gibbs
positive = hidden*visible
hidden -> reconstruct -> reconstruct_visible
run gibbs on reconstruct_visible -> reconstruct_visible_gibbs
negative = hidden_gibbs*reconstruct_visible_gibbs
end for
update
w = w + (positive-negative)/number_user
b = b + (visible - reconstruct_visible_gibbs)/number_user
c = c + (hidden - hidden_gibbs)/number_user
i have seen lots of paper or lecture, , have no idea wrong
this not easy problem! description of learning procedure looks fine. but, there's lot of room mistakes description actual code. also, cf, "vanilla" rbm won't work.
how did implemented visible "softmax" units?
did train rbm "single-user" dataset, recommended in original work[1]?
there 2 more details weight updates , prediction procedure different vanilla's rbm
[1] salakhutdinov http://www.machinelearning.org/proceedings/icml2007/papers/407.pdf
Comments
Post a Comment