MatrixFactorizationTrainer.Options.Alpha Field
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Importance of unobserved entries' loss in one-class matrix factorization. Applicable if LossFunction set to SquareLossOneClass
public double Alpha;
val mutable Alpha : double
Public Alpha As Double
Field Value
Remarks
Importance of unobserved (i.e., negative) entries' loss in one-class matrix factorization. In general, only a few of matrix entries (e.g., less than 1%) in the training are observed (i.e., positive). To balance the contributions from unobserved and observed in the overall loss function, this parameter is usually a small value so that the solver is able to find a factorization equally good to unobserved and observed entries. If only 10000 observed entries present in a 200000-by-300000 training matrix, one can try Alpha = 10000 / (200000*300000 - 10000). When most entries in the training matrix are observed, one can use Alpha >> 1; for example, if only 10000 in previous matrix is not observed, one can try Alpha = (200000 * 300000 - 10000) / 10000. Consequently, Alpha = (# of observed entries) / (# of unobserved entries) can make observed and unobserved entries equally important in the minimized loss function. However, the best setting in machine learning is always data-dependent so user still needs to try multiple values.