CUR分解算法及Python实现
生活随笔
收集整理的這篇文章主要介紹了
CUR分解算法及Python实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
CUR分解
要理解CUR分解,需要先看下SVD分解。SVD理論以及Python實現
算法流程
給定輸入的矩陣A。
A=C?U?RA = C* U *RA=C?U?R
- 隨機選r個列構成C和r個行構成R(也可以使用,平方和加權過的行和列(常用))
- 然后選取W矩陣(C和R的交集,也就是被選出來的部分,在C和R中同時出現的A矩陣中的位置。)
- 對W做SVD分解,得到X∑YTX\sum Y^TX∑YT
- 對∑\sum∑做廣義逆矩陣(∑)+(\sum)^+(∑)+,也就是只有非0元的部分才變成原來的倒數。
- U=Y?(∑)+?XTU = Y*(\sum)^+* X^TU=Y?(∑)+?XT
Python實現
- 導入包
- 數據
- 算法
- 調用
總結
以上是生活随笔為你收集整理的CUR分解算法及Python实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SVD理论以及Python实现
- 下一篇: PySpark安装和测试