9.3 低秩矩阵分解-机器学习笔记-斯坦福吴恩达教授
低秩矩陣分解(Low Rank Matrix Factorization)
我們將用戶對電影的評分表格:
用矩陣表示:
Y=[55005??0?40?00540050]Y=\left[\begin{matrix} 5&5&0&0\\ 5&?&?&0\\ ?&4&0&?\\ 0&0&5&4\\ 0&0&5&0\\ \end{matrix}\right]Y=???????55?00?5?400?0?055?00?40????????
我們發現,由于用戶不會對所有電影都進行打分,所以該矩陣是十分稀疏的。如果我們用預測來描述這個矩陣:
Predicated=[(θ(1))Tx(1)(θ(2))Tx(1)???(θ(nu))Tx(1)(θ(1))Tx(2)(θ(2))Tx(2)?(θ(nu))Tx(2)????(θ(1))Tx(nm)(θ(2))Tx(nm)?(θ(nu))Tx(nm)]Predicated=\left[\begin{matrix} (\theta^{(1)})^Tx^{(1)} & (\theta^{(2)})^Tx^{(1)} & \cdot\cdot\cdot & (\theta^{(n_u)})^Tx^{(1)} \\ (\theta^{(1)})^Tx^{(2)} & (\theta^{(2)})^Tx^{(2)} & \cdots & (\theta^{(n_u)})^Tx^{(2)} \\ \vdots & \vdots & \vdots & \vdots \\ (\theta^{(1)})^Tx^{(n_m)} & (\theta^{(2)})^Tx^{(n_m)} & \cdots & (\theta^{(n_u)})^Tx^{(n_m)} \\ \end{matrix}\right]Predicated=??????(θ(1))Tx(1)(θ(1))Tx(2)?(θ(1))Tx(nm?)?(θ(2))Tx(1)(θ(2))Tx(2)?(θ(2))Tx(nm?)????????(θ(nu?))Tx(1)(θ(nu?))Tx(2)?(θ(nu?))Tx(nm?)???????
令:
X=[(x(1))T(x(2))T?(x(nm))T],Θ=[(θ(1))T(θ(2))T?(θ(nu))T]X=\left[\begin{matrix} (x^{(1)})^T \\ (x^{(2)})^T \\ \vdots \\ (x^{(n_m)})^T \\ \end{matrix}\right],\quad \Theta=\left[\begin{matrix} (\theta^{(1)})^T \\ (\theta^{(2)})^T \\ \vdots \\ (\theta^{(n_u)})^T \\ \end{matrix}\right]X=??????(x(1))T(x(2))T?(x(nm?))T???????,Θ=??????(θ(1))T(θ(2))T?(θ(nu?))T???????
即 XXX 的每一行描述了一部電影的內容, ΘTΘ^TΘT 的每一列描述了用戶對于電影內容偏好程度,亦即,我們將原來稀疏的矩陣分解為了 XXX 和 ΘΘΘ 。現在預測可以寫為:
Predicated=XΘTPredicated=XΘ^TPredicated=XΘT
用這個方法求取 XXX 和 ΘΘΘ ,獲得推薦系統需要的參數,稱之為低秩矩陣分解,該方法不僅能在編程時直接通過向量化的手法獲得參數,還通過矩陣分解節省了內存空間。
總結
以上是生活随笔為你收集整理的9.3 低秩矩阵分解-机器学习笔记-斯坦福吴恩达教授的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 9.2 协同过滤-机器学习笔记-斯坦福吴
- 下一篇: 9.4 均值标准化-机器学习笔记-斯坦福