Collaborative Filtering, Matrix Factorization, Recommender Systems, Gradient Descent, Neural Networks.
parameter updates self.optimizer = torch.optim.SGD(self.parameters(), lr=lr) def forward(self): return self.U @ self.V.T def calculate_loss(self, R, R_hat): return self.MSE(R, R_hat) def optimize(self, loss): # Send in the loss tensor from `calculate_loss` to update parameters