個性推薦算法的Spark和Tensorflow實現對比

個性推薦算法說的不少了,經常使用的模型是:算法

U*V= Q框架

其中Q是評分表,通常共3列:用戶id,物品id,評分值函數

U是用戶特徵表,V是物品特徵表。學習

算法的最終目標就是從Q算出U和V。那麼Spark Mllib裏有ALS算法能夠作矩陣分解,其基本原理是最小交叉二乘法,用到了Breeze庫的矩陣函數庫。所謂交叉二乘就是輪流固定U或V,來算出V或U。好比第一輪固定U,來算出V,第二輪固定算出的V,來算出U。直到最後偏差收斂。優化

Spark裏主要是用RDD框架來對數據分塊計算,達到並行的特色。.net

而Tensorflow裏用深度學習的方法來實現矩陣分解就更簡便了,其基本原理是根據U*V和Q的差值來自動優化,深度學習的特色就是隻要你搭建好了學習模型,那麼只要自動訓練就能夠找到最優解,所以實現起來也很方便。blog

TensorFlow的代碼能夠參考:get

https://blog.csdn.net/m0_38045485/article/details/81174728深度學習

相關文章
相關標籤/搜索