zoukankan      html  css  js  c++  java
  • 图计算框架解决矩阵分解

      1.矩阵分解是推荐系统常用的手段,经常用来做用户偏好预测.在当下的推荐系统中,我们得到用户对于物品的评分矩阵往往是非常稀疏的,一个有m个用户,n个商品的网站,它所收集到的m*n用户评分矩阵R可能只有不到万分之一的数据非零.矩阵分解算法常用来构造出多个矩阵, 用这些矩阵相乘的结果R’来拟合原来的评分矩阵R,目标是使得到的矩阵R’在R的非零元素那些位置上的值尽量接近R中的元素,同时对于R中非零值进行补全.我们定义R和R’之间的距离,把它作为优化的目标,那么矩阵分解就变成了最优化问题,而这类最优化问题常用梯度下降的方法来求出一个局部最优解。最近我们就对于这个问题进行了一下预研,发现用分布式图计算框架来解决这类问题比较方便流畅,尤其是在矩阵非常稀疏的时候..

      2.我们希望任何一个p_u, q_i的值都不能过大,这样容易出现过拟合的现象,所以我们给(1)加上一个正则化项,于是(1)式变为_2

    其中_2_1分别是p_u,q_i 的二范数,之所以选择二范数是因为我们认为用户偏好,物品特性这些维度上的分值分布是符合正态分布的,这种情况下常使用二范数,即向量所有元素的平方和.(对于L0,L1,L2的深入探讨详见参考资料1).我们的目标就是找到矩阵P和矩阵Q,使得(2)的值最小.因为(2)是左边是个连续函数,所以极值出现在梯度为0的时候,所以我们可以通过求梯度的方法得到使得L最小的Q和P。

  • 相关阅读:
    Monogb基本概念及基本操作
    高级查询与索引
    查询、索引和聚合
    更新和删除文档
    数据查询
    数据库和集合的基本操作
    dedecms 文章排列方式
    dedecms flag标签属性
    Iis 日志文件默认路径
    php中的require() 语句的使用方法
  • 原文地址:https://www.cnblogs.com/hxsyl/p/4885484.html
Copyright © 2011-2022 走看看