美文网首页
(9)推荐算法

(9)推荐算法

作者: 顽皮的石头7788121 | 来源:发表于2019-03-07 18:50 被阅读0次

(1)ALS交替最小二乘算法

            ALS指使用交替最小二乘法求解的协同过滤算法。通过观察到的所有用户给产品打分,来推断每个用户的喜好并向用户推荐合适的产品。

            具体推荐是 通过用户评分矩阵来实现的,用户评分矩阵每一行代表一个用户,每一列代表一个产品,每一个元素代表一个用户对某一种产品的打分。用户评分矩阵通过用户特征矩阵和物品特征矩阵得到。A= U*V。通过U和V来近似A。这样算法的自由度就从O(mn)变为了O((m+n)k)

            算法的目标使得U*A尽可能近似A。则算法的优化目标就是||A-UV||_{F}^2-》min\sum_{i,(i,j)\in R}  (a_{ij}-u_{i} v_{j}  ).F 代表Frobenius范数。

            最小化每一个元素和 重构之间的误差平方和。该优化问题就是采用ALS来实现。

            ALS的目标函数不是凸的,而且变量相互耦合。如果固定用户特征矩阵U或者产品特征矩阵V就可以使问题变得简单。原问题就转换为凸函数且可拆分。就可以使用最小二乘法求解。

            这里的交替最小二乘法就是先随机生成U,然后固定U去求解V;在固定V去求解U,这样一直交替下去,直到收敛。但由于问题本质上是非凸的,因此ALS不保证最终可以得到全局最优解。在实际使用中,ALS对初始点不是很敏感,是不是全局最优解影响不大。

            在使用MLlib中,算法最重要的是通过合理的数据分区和RDD缓存来减少数据交换,并设计良好的数据结构来进行结构优化,优化内存使用。

            在实际训练时候,类方法为ALS。输入数据为一个三元元组{用户id,物品id,评分}

            val model = ALS.train(data,rank,numIterations,lambda);其中rank代表特征数量,numIterations代表迭代次数;lambda代表正则化因子,0.01;

            预测时 val predictions = model.predict(userProducts).map{

                        case Rating(user,product,rate)=>  #这里的rate 只有一个值 原始值

                        ((user,product),rate)  #这里的rate有两个值 原始值和预测值

            }

            而userProduct为随机生成的(用户id,产品id)

(2)协同过滤推荐算法

            协同过滤算法是通过分析用户兴趣,在用户群中找到指定用户的相似用户,综合这些相似用户对某一物品的评价,形成指定用户对某一物品的预测。

            首先是收集用户偏好。通常通过评分,投票,转发,保存书签,购买,点击流以及页面停留时间等。然后将这些行为分组加权减噪和归一化。然后通过计算相似度对用户分组。相似度可以通过欧式距离、皮尔逊相关系数、Jacccard距离(文档类数据)等得到。

            而推荐部分也可以基于两个角度,根据用户分组和物品分组。

相关文章

  • (9)推荐算法

    (1)ALS交替最小二乘算法 ALS指使用交替最小二乘法求解的协同过滤算法。通过观察到的所有用户给产品...

  • 个性化推荐浅析

    个性化推荐算法: 推荐算法分为三类:基于内容的推荐算法,协同过滤推荐算法和混合推荐算法 基于内容的推荐算法,将用户...

  • 从算法原理,看推荐策略

    推荐算法简介 目前的推荐算法一般分为四大类: 协同过滤推荐算法 基于内容的推荐算法 混合推荐算法 流行度推荐算法 ...

  • 带你从算法原理看推荐策略

    推荐算法简介 目前的推荐算法一般分为四大类: 协同过滤推荐算法 基于内容的推荐算法 混合推荐算法 流行度推荐算法 ...

  • 推荐算法入门

    推荐算法入门 1. 推荐算法知识架构 ​ 推荐算法有很多种,大体上可以将推荐算法分为以下几种: 协同过滤推荐算...

  • 阿里巴巴搜索事业部推荐算法内推

    【阿里巴巴 - 推荐算法】组内直聘 推荐算法工程师 机器学习专家【阿里巴巴 - 推荐算法】组内直聘 推荐算法工程师...

  • 算法笔记二:内容推荐算法

    目前推荐算法分为四大类: 【1】协同过滤推荐算法 【2】基于内容的推荐算法 【3】流行度推荐算法 这种方法是对it...

  • 必须掌握的算法

    逻辑回归 SVM XGBoost LDA FM FMM 推荐算法常用推荐算法

  • 商品推荐算法有哪些

    基于内容的推荐 协同过滤 基于知识的推荐 推荐补足算法 多算法融合 【购物网站的商品推荐算法有哪些?】陈运文:… ...

  • 推荐算法学习笔记(一)——推荐算法(Recommended Al

    推荐算法基本介绍 推荐算法分类 1 个性化推荐 1.1 基于用户推荐(Demographic-based Reco...

网友评论

      本文标题:(9)推荐算法

      本文链接:https://www.haomeiwen.com/subject/ysicpqtx.html