当前位置: 首页 > news >正文

大数据课程K18——Spark的ALS算法与显式矩阵分解

文章作者邮箱:yugongshiye@sina.cn              地址:广东惠州

 ▲ 本章节目的

⚪ 掌握Spark的ALS算法与显式矩阵分解;

⚪ 掌握Spark的ALS算法原理;

一、ALS算法与显式矩阵分解

1. 概述

我们在实现推荐系统时,当要处理的那些数据是由用户所提供的自身的偏好数据,这些数据被称作显式偏好数据,由显示偏好数据建立的矩阵称为显式矩阵。这类数据包括如物品评级、赞、喜欢等用户对物品的评价。

这些数据可以转换为以用户为行、物品为列的二维矩阵。矩阵的每一个数据表示某个用户对特定物品的偏好。大部分情况下单个用户只会和少部分物品接触,所以该矩阵只有少部分数据非零(即该矩阵很稀疏)。在生产环境下,偏好矩阵一般的是稀疏的。

举个简单的例子,假设我们有如下用户对电影的评级数据:

Tom, Star Wars, 5

Jane, Titanic,  4

Bill, Batman,  3

Jane, Star Wars, 2

Bill, Titanic, 3

它们可转为如下评级矩阵:

为了更好的实现推荐系统,我们需要对这个稀疏的矩阵建模。一般可以采用矩阵分解(或矩阵补全)的方式。

具体就是找出两个低维度的矩阵,使得它们的乘积是原始的矩阵。因此这也是一种降维技术。假设我们的用户和物品数目分别是U和I,那对应的“用户-物品”矩阵的维度为U×I,如下图所示:

要找到和“用户-物品”矩阵近似的k维(低阶)矩阵,最终要求出如下两个矩阵:一个用于表示用户的U×k维矩阵,以及一个表征物品的k×I维矩阵。这两个矩阵也称作因子矩阵。它们的乘积便是原始评级矩阵的一个近似。值得注意的是,原始评级矩阵通常很稀疏,但因子矩阵却是稠密的(满秩的),如下图所示:

这类模型试图发现对应“用户-物品”矩阵内在行为结构的隐含特征(这里表示为因子矩阵),所以也把它们称为隐特征模型。隐含特征或因子不能直接解释,但它可能表示了某些含义,比如对电影的某个导演、种类、风格或某些演员的偏好。

由于是对“用户-物品”矩阵直接建模,用这些模型进行预测也相对直接:要计算给定用户对某个物品的预计评级,就从用户因子矩阵和物品因子矩阵分别选取相应的行(用户因子向量)与列(物品因子向量),然后计算两者的

http://www.lryc.cn/news/158135.html

相关文章:

  • Android Jetpack架构组件库:Hilt
  • 企业帮助中心如何在线搭建,还能多场景使用呢?
  • C++ primer plus第十五章编程练习答案
  • 【精品】商品规格 数据库表 设计
  • 无人机集群路径规划MATLAB:孔雀优化算法POA求解无人机集群三维路径规划
  • Dockerfile创建镜像异常问题解决
  • 使用libcurl请求https的get/post
  • AUTOSAR规范与ECU软件开发(实践篇)7.3 MCAL模块配置方法及常用接口函数介绍之GPT的配置
  • Android 性能优化--内存优化分析总结
  • buuctf web 前5题
  • stable diffusion实践操作-提示词-人物服饰
  • Tomcat加载静态资源--防止SpringMVC拦截
  • 【AI数字人】如何基于ER-NeRF自训练AI数字人
  • 多目标应用:基于多目标哈里斯鹰优化算法(MOHHO)的微电网多目标优化调度研究MATLAB
  • [运维|中间件] 东方通TongWeb忘记密码后修改密码
  • 无涯教程-Android Mock Test函数
  • 保留网络[02/3]:大型语言模型转换器的继任者”
  • 微信小程序-生成canvas图片并保存到手机相册
  • 设计模式8:代理模式-动态代理
  • tcp字节传输(java)-自定义包头和数据识别
  • pyspark 系统找不到指定的路径; \Java\jdk1.8.0_172\bin\java
  • UE4 Physics Constraint Actor 实现钟摆效果
  • UE4/UE5 动画控制
  • Springboot整合shiro
  • 阻塞/非阻塞、同步/异步(网络IO)
  • 为什么大家会觉得考PMP没用?
  • AVR128单片机 USART通信控制发光二极管显示
  • 为什么5G 要分离 CU 和DU?(4G分离RRU 和BBU)
  • Python中的数据输入
  • cms系统稳定性压力测试出现TPS抖动和毛刺的性能bug【杭州多测师_王sir】