![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
矩阵分解
玉心sober
机器学习自然语言处理的热爱者
展开
-
NMF(非负矩阵分解)的SGD(随机梯度下降)实现
NMF把一个矩阵分解为两个矩阵的乘积,可以用来解决很多问题,例如:用户聚类、item聚类、预测(补全)用户对item的评分、个性化推荐等问题。NMF的过程可以转化为最小化损失函数(即误差函数)的过程,其实整个问题也就是一个最优化的问题。详细实现过程如下:(其中,输入矩阵很多时候会比较稀疏,即很多元素都是缺失项,故数据存储采用的是libsvm的格式,这个类在此忽略)package NMF原创 2013-05-22 00:07:08 · 13494 阅读 · 18 评论 -
BSP编程模型(以NMF为例,试验基于消息传递的模型BSP过程)
对于需要迭代计算的算法,MapReduce显然不可用,迭代n次的IO量太大,而基于消息的传递模型,BSP和MPI的优势就出来了。BSP的编程模型,试验过了,确实容易入门,只要将求解问题(例如,优化问题、图的最短路径问题等等)抽象成图模型(顶点Vertex、边Edge)后,再通过消息Message,来不断迭代求解即可。拿前面有篇文章,NMF的矩阵分解这个优化问题,来实验:1)NMF的矩阵分解基本原创 2013-07-01 15:33:35 · 4785 阅读 · 4 评论