Skip to content
DeepForgeby svx
All problems
MediumOptimizationop-116

Alternating Least Squares Scalar Step

Problem

Take one alternating-least-squares step for a scalar latent factor.

Given user factors U and ratings r, return sum(u_i * r_i) / (sum(u_i ** 2) + lam). An empty input with zero lam returns 0.0.

Hint

This is ridge regression with a single feature, solved in closed form.

Test cases

case 1
in: [[1,2],[2,4],0]
expected: 2
case 2
in: [[1,2],[2,4],5]
expected: 1
case 3
in: [[1,-1],[3,1],1]
expected: 0.6666666666666666
case 4
in: [[],[],0.5]
expected: 0
Starter codePython
def als_scalar_step(U, r, lam):
    # Your code here
    pass

4 test cases · run your code against them in the editor