Initializing Variables using Shrinkage

60 Views Asked by At

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

1

There are 1 best solutions below

1
On

Here is a famous paper on shrinkage. http://www.ledoit.net/honey.pdf