SVD

$$M_{m\times n}=U_{m\times k}\Sigma_{k\times k} V^T_{k\times n}$$

SVD in Collaborative Filtering:
can not accept empty value

FunkSVD: fast and can accept empty value
$$M_{m\times n}=P^T_{m\times k}Q_{k\times n}$$

loss function:
$$\sum (m_{ij}-q^T_{j}p_{i})^2$$
by adding regularization
$$\sum (m_{ij}-q^T_{j}p_{i})^2+\lambda (||p_i||_2^2+||q_j||_2^2) $$
update formula
$$p_i=p_i+\alpha((m_{ij}-q^T_{j}p_{i})q_j-\lambda p_i)$$
$$q_j=p_i+\alpha((m_{ij}-q^T_{j}p_{i})p_i-\lambda q_j)$$

SVD in PCA
original formula
$$M_{m\times n}=U_{m\times k}\Sigma_{k\times k} V^T_{k\times n}$$
to reduce dimension from $n$ to $k$ (reduce column)
$$M_{m\times n}V_{k\times n}=U_{m\times k}\Sigma_{k\times k} $$
to reduce sample amount from $m$ to $k$ (reduce row)
$$U^T_{m\times k}M_{m\times n}=\Sigma_{k\times k} V^T_{k\times n}$$

Reference:
In PCA: http://www.cnblogs.com/LeftNo...

你可能感兴趣的:(线性代数)