Matrix factorization is a class of algorithms used for recommendation systems in machine learning. Matrix factorization algorithms work by decomposing dimensionality.
Here ∣∣⋅∣∣Fro denotes the so-called Frobenius norm, i.e.:
∥X∥Fro:=i=1∑sj=1∑n∣xij∣2
Then we can add regularization to the model for W and Z:
W,ZminWZT−XFro2+R1(W)+R2(Z)
Here we need to choose suitable regularization functions R1 and R2.
Since W⋅ZT is equal to a value with more than one solution, thus this optimization problem is not a convex problem. We could use coordinate descent also called alternating minimization to solve this problem.
Coordinate Descent / Alternating Minimization
keep one fixed. 其基本思路是一次优化一个参数(坐标),轮流循环,将复杂优化问题分解为简单的子问题
Example:
Wk+1=argWminW(Zk)T−X2
{Wk+1=XZk((Zk)TZk)−1Zk+1=((Wk+1)TWk+1)−1(Wk+1)TX
Singular Value Decomposition
We can obtain other kinds of matrix factorizations. A very popular one is the singular value decomposition:
奇异值分解 (Singular Value Decomposition),它能将任意矩阵分解为两个正交阵和一个对角阵,并揭示出矩阵的许多性质.
Every matrix X∈Rs×n can be written as
X=UΣVT
U∈Rs×s is unitary matrix, i.e. UTU=I
V∈Rn×n is unitary matrix, i.e. VTV=I
Σ=σ10⋮00σ2⋮0……⋱…000σs0000…………0000∈Rs×n= diagonal for s less than n