基于模型协同过滤推荐离线召回:ALS
召回与排序业务流程
als(alternative least square),即交替最小二乘法,是用于计算损失函数最小化的一种方法,当然更为熟知的还有随机梯度下降法。
再正式介绍als之前,需要先引入矩阵分解的思想。
假定已有user对item的评分矩阵R,希望通过矩阵分解来预测user对其它item的评分,可以通过构造两个矩阵P和Q,使得
R~=PQT\tilde{R}=P Q^{T}R~=PQT
然后通过不断迭代,来使R~\tilde{R}R~不断逼近 R 的值。
在这里,P代表user的特征矩阵,Q代表item的特征矩阵,特征的每一维代表一个隐形因子,特征维度一般可通过根据经验设定,而隐形因子的具体值是由机器学到的。
以单用户 uuu 对商品 iii 为例,则公式可变为 r~ui=pu∗qi⊤\tilde{r}_{u i}=p_{u} * q_{i}^{\top}r~ui=pu∗qi⊤ 构造损失函数为:
J=minq∗,p∗∑u,i∈K(rui−qi⊤pu)2+λ(∥qi∥2+∥pu∥2)J=\min _{q^{*}, p^{*}} \sum_{u, i \in K}\left(r_{u i}-q_{i}^{\top} p_{u}\right)^{2}+\lambda\left(\left\|q_{i}\right\|^{2}+\left\|p_{u}\right\|^{2}\right) J=q∗,p∗minu,i∈K∑(rui−qi⊤pu)2+λ(∥qi∥2+∥pu∥2)
交替二乘法的基本思想是:
- 随机初始化矩阵QQ,
- 将Q当做已知,对损失函数求导=0,得到P的值;
- 得到矩阵P后,再将P当作已知,重新去计算矩阵Q,
- 两个过程交替进行,直到误差达到可以接受的程度。
当学习到user矩阵 P和特征矩阵 Q 以后,则可以计算任意user对item的预测评分了,可从候选item集中,选择top N个评分最高的items作为召回集合。
基于模型协同过滤推荐离线召回:ALS相关推荐
- 协同过滤推荐之基于模型协同过滤
目录 (1)基于模型协同过滤的核心思想 (2)矩阵分解详解 (3)矩阵分解图例及数据演化过程 (4)SVD算法之交替最小二乘(ALS)详解 (5)基于SVD算法之交替最小二乘(ALS)完成推荐开发 几 ...
- (附源码)ssm+mysql+基于ssm协同过滤推荐算法的电影院购票系统 毕业设计131124
基于ssm协同过滤推荐算法的电影院购票系统 摘 要 随着信息技术的飞速发展以及Internet的迅速普及,以Web2.0为代表的互联网技术使得网络数据呈爆炸式增长,越来越多的信息和服务充斥着网络.人们 ...
- 基于协同过滤推荐+余弦相似度算法实现新闻推荐系统
针对海量的新闻资讯数据,如何快速的根据用户的检索需要,完成符合用户阅读需求的新闻资讯推荐?本篇文章主要采用余弦相似度及基于用户协同过滤算法实现新闻推荐,通过余弦相似度算法完成针对不同新闻数据之间的相似 ...
- 基于大数据分析架构设计采用基于协同过滤推荐+余弦相似度算法+springboot+vue.js 实现新闻推荐系统
针对海量的新闻资讯数据,如何快速的根据用户的检索需要,完成符合用户阅读需求的新闻资讯推荐?本篇文章主要采用余弦相似度及基于用户协同过滤算法实现新闻推荐,通过余弦相似度算法完成针对不同新闻数据之间的相似 ...
- “泰迪杯”挑战赛 - 基于用户协同过滤算法的电影推荐系统(附算法代码)
目录 第 1 章 绪论 1.1.研究背景 1.2.国际发展形势第 2 章 基于用户协同过滤推荐技术 第 2 章 基于用户协同过滤推荐技术 2.1 电子商务推荐系统概述 2.2 协同过滤推荐技术 第 3 ...
- 电商推荐系统(上):推荐系统架构、数据模型、离线统计与机器学习推荐、历史热门商品、最近热门商品、商品平均得分统计推荐、基于隐语义模型的协同过滤推荐、用户商品推荐列表、商品相似度矩阵、模型评估和参数选取
文章目录 第1章 项目体系架构设计 1.1 项目系统架构 1.2 项目数据流程 1.3 数据模型 第2章 工具环境搭建 2.1 MongoDB(单节点)环境配置 2.2 Redis(单节点)环境配置 ...
- 电商推荐系统四: 基于隐语义模型的协同过滤推荐
四.离线推荐服务建设(基于隐语义模型的协同过滤推荐) 目录 四.离线推荐服务建设(基于隐语义模型的协同过滤推荐) 4.1 离线推荐服务 4.2 离线统计服务 4.3 基于隐语义模型的协同过滤推荐 4. ...
- 基于项目的协同过滤推荐算法单机版代码实现(包含输出电影-用户评分矩阵模型、项目相似度、推荐结果、平均绝对误差MAE)
基于项目的协同过滤推荐算法单机版代码实现(包含输出电影-用户评分矩阵模型.项目相似度.推荐结果.平均绝对误差MAE) 一.开发工具及使用技术 MyEclipse10.jdk1.7.movielens数 ...
- 基于云模型的协同过滤推荐算法代码实现(附源代码)
基于云模型的协同过滤推荐算法代码实现(附源代码) 一.云模型介绍 针对传统推荐系统数据稀疏.相似性计算方法导致共同评分用户少的问题,提出利用云模型概念与定量数值转换的优势,研究云模型(百度百科查看概念 ...
最新文章
- MyBatis的扩展点(plugins)
- BERT 预训练模型及文本分类(情感分类)
- 皮尔·卡丹的管理思想精髓:从小做到大
- Java 洛谷 P1425 小鱼的游泳时间
- grep 显示前后几行
- JavaOne演讲者选择了您不应该错过的10个会话
- 2022最新Spring相关大厂常问技术面试题大全 —— 金三银四好时机
- oracle报609,ORA-609 错误分析及解决方法
- C++例4.11 求两个或三个正整数中的最大数,用带有默认参数的函数实现。
- MATLAB 标定工具箱使用教程
- C++:堆排序算法详解
- 印度软件外包领军企业上演安然门
- mysql 加权_mysql/stats:加权平均值以突出平均值的差异
- pythonidle是什么_Python入门 | IDLE的介绍和使用方法
- datastage错误之Consumed more than 100,000 bytes looking for record delimiter; aborting
- python科赫曲线画树叶_Python——科赫曲线绘制
- 文件包含漏洞—allow_url_fopen和allow_url_include详解
- Photoshop 快速抠图:使用快速选择工具
- ArcGIS案例学习笔记2_1
- 使用java在后台将数据导出为excel文件
热门文章
- Docker上部署FTP服务器(基于stilliard/pure-ftpd)
- 【Pyhton爬虫】中国大学排名爬虫
- 一些关于网页标题的动态js特效
- C#LeetCode刷题之#40-组合总和 II(Combination Sum II)
- C#LeetCode刷题-二叉搜索树
- gradle kotlin_我对Gradle Kotlin DSL的第一印象
- array_agg_探索强大SQL模式:ARRAY_AGG,STRUCT和UNNEST
- 进度计划软件哪个好用_斑马进度计划软件学习视频-资源管理
- dictionary在python中什么意思_Python 字典(Dictionary)操作详解
- deepin20系统选择手动安装盘_深度系统Deepin 20最新正式版发布:全面升级