Skip to content

Instantly share code, notes, and snippets.

@minakhan01
Created November 14, 2014 16:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save minakhan01/eb53824a2ef83a93471b to your computer and use it in GitHub Desktop.
Save minakhan01/eb53824a2ef83a93471b to your computer and use it in GitHub Desktop.
for iter=1:iterations
for row_train=1:size(train_user,1)
i=train_user(row_train);
j=train_movie(row_train);
r= train_rating(row_train);
u_i=U(i);
v_j=V(j);
for p=1:nDims
dJ_u=alpha*sum((transpose(u_i)*v_j-r)*transpose(v_j))+lambda*V(j,p);
U(i,p) = U(i,p) - dJ_u;
dJ_v=alpha*sum((transpose(u_i)*v_j-r)*u_i)+miu*U(i,p);
V(j,p) = V(j,p) - dJ_v;
end
train_predictions(i) = predict(u_i, v_j);
valid_predictions(i) = predict(valid_user, valid_movie);
end
% train_predictions = predict(train_user, train_movie);
% valid_predictions = predict(valid_user, valid_movie);
train_rmse = rmse(train_predictions, train_rating);
valid_rmse = rmse(valid_predictions, valid_rating);
fprintf('train rmse = %.4f, validation rmse = %.4f\n', train_rmse, valid_rmse);
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment