目標函數:
$ J = \frac{1}{2} \left\| R - PQ \right\|^{2} + \lambda \left( \left\|P \right\|^{2} +\left\| Q \right\|^{2} \right) $
矩陣R為$ m \times n$的稀疏矩陣(sparse matrix),考慮用 $ P_{m \times r}$ 和 $ Q_ {r \times n }$ 兩個矩陣的乘積 $ \hat{R} $ 去逼近矩陣R,誤差用SSE,后面面 兩項為 正則項。

1,Gradient Descent
$ J = \frac{1}{2}\sum _{\left(i,j \right) \in D} \left( r_{ij} - \sum_{k=1}^{r} p_{ik} q_{kj}\right)^2 + \lambda \left ( \left \| P \right \| ^2+ \left \| Q \right \|^2 \right )$
整體誤差$ J $對 因子矩 P 中某元素 $ p_{ik} $ 的偏導數:
$\frac{\partial J}{\partial p_{ik}} = \sum _{\left(i,j \right) \in D} \left( r_{ij} - \sum_{k=1}^{r} p_{ik} q_{kj}\right)q_{kj}+ \lambda p_{ik} $
偏導數矩陣應注意的幾項:
1 $ \sum _{\left(i,j \right) \in D} \left( r_{ij} - \sum_{k=1}^{r} p_{ik} q_{kj}\right)q_{kj} $ 中並不是所有項都有定義的,只取有定義位置。
2 對於給定的元素 $ p_{ik} $,i,k都是確定的,$ \sum _{\left(i,j \right) \in D} \left( r_{ij} - \sum_{k=1}^{r} p_{ik} q_{kj}\right)q_{kj} $所以可以看成$ \left ( \hat{R} -R \right )$ 和 Q 紅色非空部分的內積, 進一步還能得到因子矩陣的梯度矩陣 $ \frac{\partial J}{\partial P} = \left ( R-\hat{R} \right ) Q^T + \lambda P $
也可以直接用矩陣求導的方法來求解:

當然,做乘法時依然只是那些有記錄的位置參與計算。
