个性推荐算法的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深度学习

相关文章
相关标签/搜索