Skip to main content

RKMF

A kernel function allows to transform the product of the factor matrices. Kernels like the s-shaped logistic function allow to impose bounds on the prediction (e.g. one to five stars) while still being differentiable.

The matrix factorization can be expressed as:

r^ui=bu,i+f=1kwu,fhi,f\hat{r}_{ui} = b_{u,i} + \sum_{f=1}^kw_{u,f}h_{i,f}

Like matrix factorization, kernel matrix factorization (KMF) uses two feature matrices that contain the features for users and items, respectively. But the interactions between the feature vector wuw_u of a user and the feature vector hih_i of an item are kernelized:

r^ui=a+c  K(wu,hi)\hat{r}_{ui} = a + c\ \cdot \ K(w_u,h_i)

The terms aa and cc are introduced to allow re-scaling the predictions. For the kernel K:Rk×RkRK : \mathbb{R}^k × \mathbb{R}^k → \mathbb{R} one can use any of the well-known kernels like linear, polynomial, RBF, logistic etc.

It is obvious that normal matrix factorization can be expressed with a=bu,ia = b_{u,i} and c=1c = 1 and the linear kernel KlK_l.

Training procedure