I have a user-user model which which users can rate their friendships(r) with others and also can have activities with them(a). I am using Matrix Factorization and Gradient Descent for updating the vectors. Now, I am randomly initialize my 2 vectors. I was told to use a method called "shrinkage" for initializing my program instead of random. What I was told was this:
using linear regression, find the weight vector for each user using:
r = w * a => w = pinv(a) * r
Now I can use the w matrix(localWeight) to initialize my two vectors instead of random. One more thing I can do is I can find the global weight and use the following for each user:
initialValue = globalWeight - localWeight
So, I've searched a lot to find a paper to describe "shrinkage" for initializing variables but couldn't find any. Can anyone cite a paper? Thanx
Here is a famous paper on shrinkage. http://www.ledoit.net/honey.pdf