0 系列文章目录

0.1 基于协同过滤算法的电影推荐系统设计(一) - 项目简介

0.2 基于协同过滤算法的电影推荐系统设计(二) - 推荐系统介绍

ALS是alternating least squares的缩写 , 意为交替最小二乘法,而ALS-WR是alternating-least-squares with weighted-λ -regularization的缩写,意为加权正则化交替最小二乘法.

该方法常用于基于矩阵分解的推荐系统中.
例如:将用户(user)对商品(item)的评分矩阵分解为两个矩阵

在这个矩阵分解的过程中,评分缺失项得到了填充,也就是说我们可以基于这个填充的评分来给用户最商品推荐了。

由于评分数据中有大量的缺失项,传统的矩阵分解SVD(奇异值分解)不方便处理这个问题,而ALS能够很好的解决这个问题。
对于R(m×n)的矩阵,ALS旨在找到两个低维矩阵X(m×k)和矩阵Y(n×k),来近似逼近R(m×n),即:

实际中,一般取k<<min(m, n), 也就是相当于降维了。这里的低维矩阵,有的地方也叫低秩矩阵。

为了找到使低秩矩阵X和Y尽可能地逼近R,需要最小化下面的平方误差损失函数:

损失函数一般需要加入正则化项来避免过拟合等问题,我们使用L2正则化,所以上面的公式改造为:

至此,协同过滤就成功转化成了一个优化问题。
由于变量xu和yi耦合到一起,这个问题并不好求解,所以我们引入了ALS,也就是说我们可以先固定Y(例如随机初始化X),然后利用公式(2)先求解X,然后固定X,再求解Y,如此交替往复直至收敛,即所谓的交替最小二乘法求解法。

具体求解过程

先固定Y

将损失函数L(X,Y)对xu求偏导,并令导数=0,得到:

同理固定X

可得:

  • ru(1×n)是R的第u行
  • ri(1×m)是R的第i列
  • I是k×k的单位矩阵。

迭代步骤

首先随机初始化Y,利用公式(3)更新得到X, 然后利用公式(4)更新Y, 直到均方根误差变RMSE化很小或者到达最大迭代次数。

上文提到的模型适用于解决有明确评分矩阵的应用场景,然而很多情况下,用户没有明确反馈对商品的偏好,也就是没有直接打分,我们只能通过用户的某些行为来推断他对商品的偏好。
比如,在电视节目推荐的问题中,对电视节目收看的次数或者时长,这时我们可以推测次数越多,看得时间越长,用户的偏好程度越高,但是对于没有收看的节目,可能是由于用户不知道有该节目,或者没有途径获取该节目,我们不能确定的推测用户不喜欢该节目。
ALS-WR通过置信度权重来解决这些问题:对于更确信用户偏好的项赋以较大的权重,对于没有反馈的项,赋以较小的权重。ALS-WR模型的形式化说明如下:

ALS-WR的目标函数

  • α是置信度系数。

求解方式还是最小二乘法

其中Cu是n×n的对角矩阵,Ci是m×m的对角矩阵;Cuii = cui, Ciii = cii。

参考

初识交替最小二乘ALS

联系我


1.Java开发技术交流Q群

2.完整博客链接

3.个人知乎

4.gayhub

基于协同过滤算法的电影推荐系统设计(二) - ALS算法详解相关推荐

  1. 毕业设计之基于协同过滤算法的电影推荐系统设计(一) - 项目简介

    由于本人今年毕业,为完成毕设特地想着实现一个简单的推荐系统设计,思来想去,小电影不就是很好的切入点嘛! 于是诞生该项目,将会一步步带着大家实现一个自己的电影推荐系统. 1 研究目标 从应用场景来看,基 ...

  2. 基于python+django的个性化电影推荐系统设计与实现

    目录 第 1 章 绪论 1 1.1 研究背景及意义 1 1.2 国内外研究现状 1 1.3 本文研究目标和研究内容 4 1.4 论文结构安排 4 第 2 章 推荐算法的研究 7 2.1 推荐算法简介 ...

  3. 基于XMPP的即时通信系统的建立(二)— XMPP详解

    XMPP详解 XMPP(eXtensible Messaging and Presence Protocol,可扩展消息处理和现场协议)是一种在两个地点间传递小型结构化数据的协议.在此基础上,XMPP ...

  4. 最新基于协同过滤的毕业设计题目

    基于协同过滤的毕业设计题目1-10题 1.基于协同过滤理论的民机智能故障诊断方法 2.基于协同过滤的图书个性化推荐研究 3.基于协同过滤的全球AI挑战赛社区的设计与实现 4.基于协同过滤的专利TRIZ ...

  5. Python推荐系统学习笔记(3)基于协同过滤的个性化推荐算法实战---ItemCF算法(下)

    本文在 Python推荐系统学习笔记(2)基于协同过滤的个性化推荐算法实战---ItemCF算法 一文的基础上,对其基本的ItemCF算法做出改进. 一.相关概念 1.ItemCF中,基于行为(喜好) ...

  6. Python推荐系统学习笔记(5)基于协同过滤的个性化推荐算法实战---UserCF算法(下)

    本文在 Python推荐系统学习笔记(4)基于协同过滤的个性化推荐算法实战---UserCF算法(上) 一文的基础上,对其基本的UserCF算法做出改进. 一.相关概念 1.UserCF中,基于行为( ...

  7. 基于协同过滤算法的书籍推荐 毕业设计-附源码101555

    摘  要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到准 ...

  8. (附源码)python+mysql+基于协同过滤算法的书籍推荐 毕业设计101555

    摘 要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到准确 ...

  9. 【推荐系统案例】基于协同过滤的电影推荐

    案例--基于协同过滤的电影推荐 1. 数据集下载 2. 数据集加载 3. 相似度计算 4. User-Based CF 预测评分算法实现 5. Item-Based CF 预测评分算法实现 前面我们已 ...

最新文章

  1. shodan 撒旦 新手入坑指南
  2. cent os 下使用hashmap + string
  3. 传递类型为参数的方法
  4. Java 对象引用以及对象赋值
  5. angular 示例项目
  6. 使用UltraEdit来拷贝粘贴二进制
  7. java和golang性能_Java本质和性能
  8. 原生JS与Jquery删除iframe并释放内存(IE)
  9. 从入门到放弃之promise用法(上)
  10. jQuery Validate插件验证
  11. SEO小白利用老域名将2个百度指数1000+的词快速上排名的案例
  12. 皮影机器人ppt_机器人皮影戏装置的制作方法
  13. apache和nginx对比
  14. AI 赋能教育,松鼠 AI 智适应学习方案大揭秘
  15. word文档合并的几种方式
  16. MDCC 2014移动开发者大会 小礼品展商活动
  17. 3.0时代,公关传播在人文营销中的应用
  18. PTA 6-1 类的继承和派生
  19. 洛杉矶警局用 AI “预测犯罪”;北欧银行拟裁员六千,用智能机器取而代之
  20. Autoware实车测试记录(一)--前期准备以及使用Autoware Maptool插件进行矢量地图的绘制

热门文章

  1. 吴裕雄--天生自然 诗经:小儿垂钓
  2. VS工程文件常见后缀名文件含义
  3. c语言输入一批正整数 求其中的偶数和,编程,输入一批整数,先求出其中的偶数和及奇数和,然后输出偶数和与奇数和的差...
  4. UVA 1637 - Double Patience(概率DP)
  5. 游戏中的脚本语言原理与发展
  6. 【整理分享】2019年▪尔雅通识课▪《移动互联网时代的信息安全与防护》▪期末考试答案
  7. 微信小程序文本输入<textarea/> 详解
  8. RT-Thread 入门学习笔记 - 熟悉$Sub$$main与$Super$$main
  9. 手机投屏到电脑_低延迟,传声音
  10. CentOs网络管理:ifconfig家族,iproute家族及配置文件