You can ignore alpha. In the implicit feedback version, the loss
function weights squared errors for each cell differently. The weight
is "1 + alpha * r" where r is the user-item value (could be a rating)
and is usually a positive integer. alpha is high-ish, like 40 in the
paper. So it suggests that the algorithm tries to reconstructs the 0
for empty values in the input with weight "1" while the weight on the
error in reproducing the 1 for specified values is far higher -- 41
when r = 1. At large-ish values -- and that's probably right -- it
makes little difference.

lambda matters but different papers use different definitions IIRC.
The non-implicit-feedback paper multiplies lambda times the number of
values for each user/item, so even though the values they try are like
0.001, the effective overfitting term is much larger. I think that for
the implicit feedback paper you would use values more like 0.1 - 1.

Things converge fairly quickly here; 10 iterations from a random
starting point is probably about done. If you wanted to be precise you
could evaluate how much the (weighted) reconstruction error is
changing. You could also just look at how much the basis vectors in U
and V are changing, though that's cruder.

IIRC maxRating was just a cap, yes, to clamp the result.


On Wed, Jan 2, 2013 at 4:27 PM, Pat Ferrel <[email protected]> wrote:
> What is the intuition regarding the choice or tuning of the ALS params?
>
> Job-Specific Options:
>   --lambda lambda                                       regularization 
> parameter
>   --implicitFeedback implicitFeedback           data consists of implicit 
> feedback?
>   --alpha alpha                                         confidence parameter 
> (only used on
>                                                                         
> implicit feedback)
>   --numFeatures numFeatures                     dimension of the feature space
>   --numIterations numIterations                 number of iterations
>
> I've set up an iterative search for the lambda that gets the lowest rmse but 
> what is the likely range? Can the range to search be determined from the data 
> (all 1 or nothing in my case).
>
> I do plan to include implicit feedback (values less than 1) eventually. Not 
> sure what this controls. I would think implicit feedback means preferences of 
> varying strengths and that could be seen in the input so I'm unsure about 
> this flag's meaning and use.
>
> No idea what the confidence factor should be or how it is used.
>
> Features? I suppose the number should be much less than the number of items 
> but there is a rule of thumb that applies to SVD so I wonder if there is also 
> one for ALS-WR?
>
> Iterations seems straightforward since the greater the number the better the 
> results. I just need to see where the improvement is too small to warrant the 
> time spent.
>
> The only parameter I wonder about for recommendfactorized is the maxRating? I 
> assume it is just a scaling factor so all ratings are between 0 and 
> maxRating? It doesn't do something unexpected like return anything > 
> maxRating as maxRating? In my case I have prefs 0-1 so maxRating is 1? I 
> imagine that the math might sometimes produce a rating higher than the max 
> pref so this is to clean up the returned ratings range?

Reply via email to