The way I trained my factorization model GraphLab Create 0.9.1 doesn't seem to work in 1.0. Why?

User 89 | 10/20/2014, 5:43:07 PM

In cleaning up the API and models for 1.0, one of the changes we made to all the factorization models is to how the value of the <code class="CodeInline">regularization</code> and <code class="CodeInline">linear_regularization</code> parameters affect the model. Version 0.9.1 had the regularization term balancing a total loss, which is a loss function <i class="Italic">summed</i> over all the observations. Version 1.0 balances the regularization term with an average loss, which is a loss function <i class="Italic">averaged</i> over all the observations. We made this change as the second version is the standard form in most of the research literature.

To translate the regularization parameters in your old model over to the new model, divide them by the number of observations in your training set -- thus <code class="CodeInline">regularization=100000</code> with a 40,000,000 observation dataset becomes <code class="CodeInline">regularization=(100000. / 4e7) = 0.0025</code>.

No Comments