SparkALS算法基本思想

ALS算法是基于模型的推荐算法。起基本思想是对稀疏矩阵进行模型分解,评估出缺失项的值,以此来得到一个基本的训练模型。然后依照此模型可以针对新的用户和物品数据进行评估。ALS是采用交替的最小二乘法来算出缺失项的。交替的最小二乘法是在最小二乘法的基础上发展而来的。由于本人数学有限,就大体的介绍下最小二乘法的思想

最小二乘法

以下是用户A、B、C对物品A、B、C的打分

用户\物品 物品A(id=1) 物品B(id=7)) 物品C(id=9)
用户A(id=4) 5 ? 4
用户B(id=2) ? ? 3
用户C(id=3) 1 3 5

上图的矩阵可以按照(用户id,物品id)=评分的方式,在一个X/Y轴的一个点,只不过这些点有的有具体的值,有的没有,那么我们可以根据已经有值的点计算出一个函数F,使得这个函数F的曲线近似的穿插这些点,并使这些点的真值(表中的评分)与函数F测算值的方差之和最小(可以认为方差之和为0)。这样就可以获得一个方差函数FF,针对方差函数FF求偏导,就可以计算出函数F。
描述的不太清楚,可以参见博客http://blog.csdn.net/yauphy1/article/details/43735763

ALS算法的基本思想相关推荐

  1. java als算法实现_ALS算法实现用户音乐打分预测

    很多人在决定是否看一部电影之前都会去豆瓣看下评分作为参考,看完电影也会给一个自己的分数.每个人对每个商品或者电影或是音乐都有一个心理的分数,这个分数标明用户是否对这个内容满意.作为内容的提供方,如果可 ...

  2. 机器学习(十三)——机器学习中的矩阵方法(3)病态矩阵、协同过滤的ALS算法(1)

    http://antkillerfarm.github.io/ 向量的范数(续) 范数可用符号∥x∥λ\|x\|_\lambda∥x∥λ​表示.常用的有: ∥x∥1=∣x1∣+⋯+∣xn∣\|x\|_ ...

  3. 机器学习(十三)——机器学习中的矩阵方法(3)病态矩阵、协同过滤的ALS算法(1)...

    http://antkillerfarm.github.io/ 向量的范数(续) 范数可用符号∥x∥λ表示. 经常使用的有: ∥x∥1=|x1|+⋯+|xn| ∥x∥2=x21+⋯+x2n−−−−−− ...

  4. 人工智能算法之梯度下降法、协同过滤、相似度技术、ALS算法(附案例分析)、模型存储与加载、推荐系统的冷启动问题

    梯度下降法 求解机器学习算法的模型参数,即无约束优化问题时,梯度下降法是最常采用的方法之一,另一种常用的方法是最小二乘法.这里对梯度下降法做简要介绍. 最小二乘法法适用于模型方程存在解析解的情况.如果 ...

  5. 探索强化学习算法背后的思想起源!

    https://www.toutiao.com/a6630657888442384909/ 接受生物大脑的混乱和电子大脑的秩序 人们对人工智能的追求总是与另一场斗争交织在一起,更富有哲理.更浪漫.更不 ...

  6. 基于Spark ALS算法的个性化推荐

    今天来使用spark中的ALS算法做一个小推荐.需要数据的话可以点击查看初识sparklyr-电影数据分析,在文末点击阅读原文即可获取. 其实在R中还有一个包可以做推荐,那就是recommenderl ...

  7. 【数据挖掘】数据挖掘算法 组件化思想 示例分析 ( 组件化思想 | Apriori 算法 | K-means 算法 | ID3 算法 )

    文章目录 一. 数据挖掘算法组件化思想 二. Apriori 算法 ( 关联分析算法 ) 三. K-means 算法 ( 聚类分析算法 ) 四. ID3 算法 ( 决策树算法 ) 一. 数据挖掘算法组 ...

  8. 【数据挖掘】数据挖掘算法 组件化思想 ( 模型或模式结构 | 数据挖掘任务 | 评分函数 | 搜索和优化算法 | 数据管理策略 )

    文章目录 一. 数据挖掘算法组件化 二. 组件一 : 模型或模式结构 三. 组件二 : 数据挖掘任务 四. 组件三 : 评分函数 五. 组件四 : 搜索和优化算法 六. 组件五 : 数据管理策略 七. ...

  9. als算法参数_Spark2.0协同过滤与ALS算法介绍

    ALS矩阵分解 一个 的打分矩阵 A 可以用两个小矩阵和的乘积来近似,描述一个人的喜好经常是在一个抽象的低维空间上进行的,并不需要把其喜欢的事物一一列出.再抽象一些,把人们的喜好和电影的特征都投到这个 ...

  10. 对下图所示的连通网络G,用克鲁斯卡尔(Kruskal)算法求G的最小生成树T,请写出在算法执行过程中,依次加入T的边集TE中的边。说明该算法的基本思想及贪心策略,并简要分析算法的时间复杂度

    对下图所示的连通网络G,用克鲁斯卡尔(Kruskal)算法求G的最小生成树T,请写出在算法执行过程中,依次加入T的边集TE中的 边.说明该算法的基本思想及贪心策略,并简要分析算法的时间复杂度

最新文章

  1. 活动 | 参与《我的 ,2019 不一样》投稿,千元奖品,等你拿!
  2. Python中文处理(转)
  3. 第四范式送上2022虎年祝福
  4. ML.NET机器学习、API容器化与Azure DevOps实践(一):简介
  5. .Net Core开发日志——Peachpie
  6. Python 爬虫利器一之 Requests 库的用法
  7. java Operator ‘/‘ cannot be applied to ‘java.math.BigInteger‘, ‘int‘
  8. 解析力 (2)空间采样 和 奈奎斯特
  9. 数据结构4:静态链表
  10. HttpServletRequest--request.getParameter /getParameterValues/getParameterNames()/getParameterValues
  11. python中表示类的公有成员_在Python中定义类时,如果某个成员名称前有2个下划线则表示是私有成员。...
  12. 浏览器(V8)的垃圾回收机制
  13. 【C语言】寻找隐藏字母游戏
  14. Exchange Web Service(EWS) 协议同步邮件
  15. window.print()手动设置纸张的宽高
  16. Excel VBA 讲座04 - 过程,变量,循环和IF语句
  17. 【系统分析师之路】第六章 多媒体基础知识
  18. 弹性云服务器的优势有哪些
  19. imaplib 模块登陆163邮箱及下载
  20. 简易售货机JAVA sql_JAVA基础---简易自动售货机

热门文章

  1. 读取jpeg图像数据
  2. 描述性物理海洋学 --第五章学习笔记(大洋中水、盐和热收支以及风应力)
  3. C# TCP/IP通讯协议的整理(二)附带——与欧姆龙PLC通讯
  4. Python完全平方数
  5. input中加入图标实现搜索框
  6. C#实现百度翻译功能
  7. 名人名言页面的效果图HTML,名人名言书签制作方法图片
  8. OpenCV:边缘检测算法
  9. P2037 电话号码
  10. php5.4 eregi,帮助将PHP eregi转换为preg_match