基于协同过滤算法的电影推荐系统设计(二) - ALS算法详解
0 系列文章目录
0.1 基于协同过滤算法的电影推荐系统设计(一) - 项目简介
0.2 基于协同过滤算法的电影推荐系统设计(二) - 推荐系统介绍
该方法常用于基于矩阵分解的推荐系统中.
例如:将用户(user)对商品(item)的评分矩阵分解为两个矩阵
在这个矩阵分解的过程中,评分缺失项得到了填充,也就是说我们可以基于这个填充的评分来给用户最商品推荐了。
实际中,一般取k<<min(m, n), 也就是相当于降维了。这里的低维矩阵,有的地方也叫低秩矩阵。
为了找到使低秩矩阵X和Y尽可能地逼近R,需要最小化下面的平方误差损失函数:
损失函数一般需要加入正则化项来避免过拟合等问题,我们使用L2正则化,所以上面的公式改造为:
具体求解过程
先固定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 研究目标 从应用场景来看,基 ...
- 基于python+django的个性化电影推荐系统设计与实现
目录 第 1 章 绪论 1 1.1 研究背景及意义 1 1.2 国内外研究现状 1 1.3 本文研究目标和研究内容 4 1.4 论文结构安排 4 第 2 章 推荐算法的研究 7 2.1 推荐算法简介 ...
- 基于XMPP的即时通信系统的建立(二)— XMPP详解
XMPP详解 XMPP(eXtensible Messaging and Presence Protocol,可扩展消息处理和现场协议)是一种在两个地点间传递小型结构化数据的协议.在此基础上,XMPP ...
- 最新基于协同过滤的毕业设计题目
基于协同过滤的毕业设计题目1-10题 1.基于协同过滤理论的民机智能故障诊断方法 2.基于协同过滤的图书个性化推荐研究 3.基于协同过滤的全球AI挑战赛社区的设计与实现 4.基于协同过滤的专利TRIZ ...
- Python推荐系统学习笔记(3)基于协同过滤的个性化推荐算法实战---ItemCF算法(下)
本文在 Python推荐系统学习笔记(2)基于协同过滤的个性化推荐算法实战---ItemCF算法 一文的基础上,对其基本的ItemCF算法做出改进. 一.相关概念 1.ItemCF中,基于行为(喜好) ...
- Python推荐系统学习笔记(5)基于协同过滤的个性化推荐算法实战---UserCF算法(下)
本文在 Python推荐系统学习笔记(4)基于协同过滤的个性化推荐算法实战---UserCF算法(上) 一文的基础上,对其基本的UserCF算法做出改进. 一.相关概念 1.UserCF中,基于行为( ...
- 基于协同过滤算法的书籍推荐 毕业设计-附源码101555
摘 要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到准 ...
- (附源码)python+mysql+基于协同过滤算法的书籍推荐 毕业设计101555
摘 要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到准确 ...
- 【推荐系统案例】基于协同过滤的电影推荐
案例--基于协同过滤的电影推荐 1. 数据集下载 2. 数据集加载 3. 相似度计算 4. User-Based CF 预测评分算法实现 5. Item-Based CF 预测评分算法实现 前面我们已 ...
最新文章
- shodan 撒旦 新手入坑指南
- cent os 下使用hashmap + string
- 传递类型为参数的方法
- Java 对象引用以及对象赋值
- angular 示例项目
- 使用UltraEdit来拷贝粘贴二进制
- java和golang性能_Java本质和性能
- 原生JS与Jquery删除iframe并释放内存(IE)
- 从入门到放弃之promise用法(上)
- jQuery Validate插件验证
- SEO小白利用老域名将2个百度指数1000+的词快速上排名的案例
- 皮影机器人ppt_机器人皮影戏装置的制作方法
- apache和nginx对比
- AI 赋能教育,松鼠 AI 智适应学习方案大揭秘
- word文档合并的几种方式
- MDCC 2014移动开发者大会 小礼品展商活动
- 3.0时代,公关传播在人文营销中的应用
- PTA 6-1 类的继承和派生
- 洛杉矶警局用 AI “预测犯罪”;北欧银行拟裁员六千,用智能机器取而代之
- Autoware实车测试记录(一)--前期准备以及使用Autoware Maptool插件进行矢量地图的绘制
热门文章
- 吴裕雄--天生自然 诗经:小儿垂钓
- VS工程文件常见后缀名文件含义
- c语言输入一批正整数 求其中的偶数和,编程,输入一批整数,先求出其中的偶数和及奇数和,然后输出偶数和与奇数和的差...
- UVA 1637 - Double Patience(概率DP)
- 游戏中的脚本语言原理与发展
- 【整理分享】2019年▪尔雅通识课▪《移动互联网时代的信息安全与防护》▪期末考试答案
- 微信小程序文本输入<textarea/> 详解
- RT-Thread 入门学习笔记 - 熟悉$Sub$$main与$Super$$main
- 手机投屏到电脑_低延迟,传声音
- CentOs网络管理:ifconfig家族,iproute家族及配置文件