大数据课程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维矩阵。这两个矩阵也称作因子矩阵。它们的乘积便是原始评级矩阵的一个近似。值得注意的是,原始评级矩阵通常很稀疏,但因子矩阵却是稠密的(满秩的),如下图所示:
这类模型试图发现对应“用户-物品”矩阵内在行为结构的隐含特征(这里表示为因子矩阵),所以也把它们称为隐特征模型。隐含特征或因子不能直接解释,但它可能表示了某些含义,比如对电影的某个导演、种类、风格或某些演员的偏好。
由于是对“用户-物品”矩阵直接建模,用这些模型进行预测也相对直接:要计算给定用户对某个物品的预计评级,就从用户因子矩阵和物品因子矩阵分别选取相应的行(用户因子向量)与列(物品因子向量),然后计算两者的
相关文章:
![](https://img-blog.csdnimg.cn/7aeda74bb5db45e3bfe8ec2db61bc272.png)
大数据课程K18——Spark的ALS算法与显式矩阵分解
文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 掌握Spark的ALS算法与显式矩阵分解; ⚪ 掌握Spark的ALS算法原理; 一、ALS算法与显式矩阵分解 1. 概述 我们在实现推荐系统时,当要处理的那些数据是由用户所提供的自身的偏好数据,这些…...
![](https://img-blog.csdnimg.cn/6495f29d9ba74771a10434236e8b80e7.png#pic_center)
Android Jetpack架构组件库:Hilt
一、开发者官网关于Hilt库使用链接如下 使用 Hilt 实现依赖项注入 Hilt版本说明 二、工程目录图 请点击下面工程名称,跳转到代码的仓库页面,将工程 下载下来 Demo Code 里有详细的注释 代码:LearnJetpack-hilt:hilt版本2.48 代…...
![](https://img-blog.csdnimg.cn/img_convert/9ee45be17c5574f4f6fe960325e32c73.png)
企业帮助中心如何在线搭建,还能多场景使用呢?
搭建一个企业帮助中心的在线平台可以帮助企业提供高效的客户支持和解决方案。同时,这个平台还可以用于其他场景,例如内部员工培训、知识共享等。下面我将详细介绍如何在线搭建一个企业帮助中心,并且使其能够多场景使用。 选择合适的在线平台…...
![](https://www.ngui.cc/images/no-images.jpg)
C++ primer plus第十五章编程练习答案
1.对Tv 和 Remote 类做如下修改: a,让它们互为友元; b.在 Remote类中添加一个状态变量成员,该成员描述遥控器是处于常规模式还是互动模式: c,在 Remote 中添加一个显示模式的方法 d.在T类中添加一个对 Remote 中新成员进行切换的方法…...
![](https://img-blog.csdnimg.cn/1bfbac1e27c843f98ce5319485d2a972.png)
【精品】商品规格 数据库表 设计
特点 同一类商品的规格项分组一样同一类商品的规格项一样不同商品的规格值是不同的 规格参数规格组规格项:规格值本博客对应的SQL文件下载地址:https://download.csdn.net/download/lianghecai52171314/88306884 方案一 数据库设计 查询17号商品的规…...
![](https://img-blog.csdnimg.cn/img_convert/74042672b0e760325ca3afcd880ab768.png)
无人机集群路径规划MATLAB:孔雀优化算法POA求解无人机集群三维路径规划
一、无人机模型简介 单个无人机三维路径规划问题及其建模_IT猿手的博客-CSDN博客 二、孔雀优化算法POA介绍 孔雀优化算法( Peafowl Optimization Algorithm, POA), 是由 Jingbo Wang 等于2022 年提出的一种群体智能优化算法。其灵感来源于孔雀的群体行为。 智能优化算法&am…...
![](https://www.ngui.cc/images/no-images.jpg)
Dockerfile创建镜像异常问题解决
Dockerfile创建 dockerfile文件一定要在Linux创建,windows会默认结尾带 /r 会导致生成的镜像文件无法启动,且报错十分诡异。 镜像启动查看日志可以通过 docker logs [容器ID] 来查看 由于是启动jar包,docker logs 显示的报错是:…...
![](https://www.ngui.cc/images/no-images.jpg)
使用libcurl请求https的get/post
最近有个需求,需要用c请求下我自己的服务器,周末看了一下怎么发起http请求。 官方文档见: https://curl.se/libcurl/c/example.html 官网的demo是基于c的,我用的时候报错了。下面是我写的get/post的方法,同步执行。 n…...
![](https://www.ngui.cc/images/no-images.jpg)
AUTOSAR规范与ECU软件开发(实践篇)7.3 MCAL模块配置方法及常用接口函数介绍之GPT的配置
目录 1、前言 2 、Gpt模块 (1) Gpt General配置 (2) GptChannelConfigSet配置 (3) GptClockReferencePonit配置...
![](https://img-blog.csdnimg.cn/img_convert/07d5843252002b60fdbefcc14ef5f846.webp?x-oss-process=image/format,png)
Android 性能优化--内存优化分析总结
一、内存优化概念 1.1 为什么要做内存优化? 内存优化一直是一个很重要但却缺乏关注的点,内存作为程序运行最重要的资源之一,需要运行过程中做到合理的资源分配与回收,不合理的内存占用轻则使得用户应用程序运行卡顿、ANR、黑屏&…...
![](https://img-blog.csdnimg.cn/c851a276cb9547d19109e5925baa777f.png)
buuctf web 前5题
目录 一、[极客大挑战 2019]EasySQL 总结: 二、[极客大挑战 2019]Havefun 总结: 三、[HCTF 2018]WarmUp 总论: 四、[ACTF2020 新生赛]Include 总结: 五、[ACTF2020 新生赛]Exec 总结: 一、[极客大挑战 2019]…...
![](https://www.ngui.cc/images/no-images.jpg)
stable diffusion实践操作-提示词-人物服饰
系列文章目录 stable diffusion实践操作-提示词 文章目录 系列文章目录前言一、提示词汇总1.1 人物服饰11.2 人物服饰2 前言 本文主要收纳总结了提示词-人物服饰。 一、提示词汇总 1.1 人物服饰1 耳饰帽子内裤内衣上身饰品手部[月牙耳环][头顶光环][丁字裤][胸罩][披风][太…...
![](https://www.ngui.cc/images/no-images.jpg)
Tomcat加载静态资源--防止SpringMVC拦截
最简洁方式:使用API 在配置文件下写配置类SpringMvcSupport,并且让SpringMVC扫描到此文件夹ComponentScan({"com.itheima.controller","com.itheima.config"}) SpringMvcSupport配置类如下 Configuration public class SpringMvcS…...
![](https://www.ngui.cc/images/no-images.jpg)
【AI数字人】如何基于ER-NeRF自训练AI数字人
文章目录 环境配置前期准备数据预处理音频预处理训练bug测试度量标准用指定的声音进行推理参考ER-NeRF,能够以更小的模型尺寸和更快的速度训练合成逼真的3D talking portrait。 环境配置 ER-NeRF项目开源于两个月前,相比于两年前的AD-NeRF,使用更新版本的tensorflow和各种…...
![](https://img-blog.csdnimg.cn/img_convert/edde62ea1ead7df007aeef1338a85140.png)
多目标应用:基于多目标哈里斯鹰优化算法(MOHHO)的微电网多目标优化调度研究MATLAB
一、微网系统运行优化模型 参考文献: [1]李兴莘,张靖,何宇,等.基于改进粒子群算法的微电网多目标优化调度[J].电力科学与工程, 2021, 37(3):7 二、多目标哈里斯鹰优化算法MOHHO 多目标哈里斯鹰优化算法(Multi-Objective Harris Hawks Optimizer&#…...
![](https://www.ngui.cc/images/no-images.jpg)
[运维|中间件] 东方通TongWeb忘记密码后修改密码
参考文献 Tongweb忘记密码处理办法 修改密码 以下步骤将thanos用户密码修改为 thanos123.com 编辑twusers.properties文件 vim /path/to/TongWeb7.0/conf/security/twusers.properties将thanos的内容修改为默认的密码信息: thanos3d6391e41e9c4319$3$6774c6fc9…...
![](https://img-home.csdnimg.cn/images/20230724024159.png?be=1&origin_url=https://www.learnfk.com/guide/images/wuya.png)
无涯教程-Android Mock Test函数
本节介绍了与 Android 相关的各种模拟测试。您可以在本地计算机上下载这些样本模拟测试,并在方便时离线解决。每个模拟测试均随附一个模拟测试键,可让您验证最终分数并为自己评分。 Mock Test I Mock Test II Mock Test III Mock Test IV Q 1 -什么是Android? A -A…...
![](https://img-blog.csdnimg.cn/img_convert/c78ed8982f37ee7b946b985d7bb67ee9.png)
保留网络[02/3]:大型语言模型转换器的继任者”
一、说明 在这项工作中,我们提出保留网络(RETNET)作为基础架构大型语言模型的结构,同时实现训练并行, 推理成本低,性能好。我们从理论上推导出这种联系 复发与关注之间。然后我们提出保留机制 序列建模&…...
![](https://www.ngui.cc/images/no-images.jpg)
微信小程序-生成canvas图片并保存到手机相册
wxml页面 <button class"rightbtn bottomBtnCss" catch:tap"canvasImg"><image src{{imgUrl}}/images/mine/jspj-icon.png class"restNumImg"></image><text class"btnText">生成图片</text></but…...
![](https://www.ngui.cc/images/no-images.jpg)
设计模式8:代理模式-动态代理
上一篇:设计模式8:代理模式-静态代理 目录 如何理解“动态”这两个字?动态代理简单的代码实例一个InvocationHandler代理多个接口有动态代理,为什么还要用Cglib代理? 如何理解“动态”这两个字? “动态”…...
![](https://www.ngui.cc/images/no-images.jpg)
tcp字节传输(java)-自定义包头和数据识别
1、背景 tcp传输的时候会自动拆包,因此服务端接收的数据段可能跟客户端发送过来的数据段长度不一致,比如客户端一次发送10000个字节。但是服务端接收了两次才接收完整(例如第一次接收6000字节,第二次接收4000字节)。但…...
![](https://img-blog.csdnimg.cn/f00dec8d7afd4fe8b82dd41e80a595c1.png)
pyspark 系统找不到指定的路径; \Java\jdk1.8.0_172\bin\java
使用用具PyCharm 2023.2.1 1:pyspark 系统找不到指定的路径, Java not found and JAVA_HOME environment variable is not set. Install Java and set JAVA_HOME to point to the Java installation directory. 解决方法:配置正确环境变量…...
![](https://img-blog.csdnimg.cn/bb979891816b4423aa4580125d7db4c4.png)
UE4 Physics Constraint Actor 实现钟摆效果
放入场景,然后将一个球体放入场景 选择小球 将小球改为Movable 选择模拟物理,并将小球移除平衡点 就实现了...
![](https://img-blog.csdnimg.cn/5ebef20348f44126b08d47fd30a8924a.png)
UE4/UE5 动画控制
工程下载 https://mbd.pub/o/bread/ZJ2cm5pu 蓝图控制sequence播放/倒播动画: 设置开启鼠标指针,开启鼠标事件 在场景中进行过场动画制作 设置控制事件...
![](https://www.ngui.cc/images/no-images.jpg)
Springboot整合shiro
导入依赖 <!-- 引入springboot的web项目的依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency> <!-- shiro --><depende…...
![](https://img-blog.csdnimg.cn/2ac1819a6b464c43bfa46258b24ad95c.png)
阻塞/非阻塞、同步/异步(网络IO)
1.阻塞/非阻塞、同步/异步(网络IO) 【思考】典型的一次 IO 的两个阶段是什么? 数据就绪 和 数据读写 数据就绪 :根据系统 IO 操作的就绪状态 阻塞 非阻塞 数据读写 :根据应用程序和内核的交互方式 同步 异步 陈硕:在处理 IO …...
![](https://img-blog.csdnimg.cn/ab3491966cd847abb5da3cb967123637.png)
为什么大家会觉得考PMP没用?
一是在于PMP这套知识体系,是一套底层的项目管理逻辑框架,整体是比较抽象的。大家在学习工作之后,会有人告诉你很多职场的一些做事的规则,比如说对于沟通,有人就会告诉如何跟客户沟通跟同事相处等等,这其实就…...
![](https://img-blog.csdnimg.cn/1c4c9f2ccab24a5a97e02435df6d9bb6.png#pic_center)
AVR128单片机 USART通信控制发光二极管显示
一、系统方案 二、硬件设计 原理图如下: 三、单片机软件设计 1、首先是系统初始化 void port_init(void) { PORTA 0xFF; DDRA 0x00;//输入 PORTB 0xFF;//低电平 DDRB 0x00;//输入 PORTC 0xFF;//低电平 DDRC 0xFF;//输出 PORTE 0xFF; DDRE 0xfE;//输出 PO…...
![](https://img-blog.csdnimg.cn/5a1896f9332a474c839408d5ed286d5c.png)
为什么5G 要分离 CU 和DU?(4G分离RRU 和BBU)
在 Blog 一文中,5G--BBU RRU 如何演化到 CU DU?_5g rru_qq_38480311的博客-CSDN博客 解释了4G的RRU BBU 以及 5G CU DU AAU,主要是讲了它们分别是什么。但是没有讲清楚 为什么,此篇主要回答why。 4G 为什么分离基站为 RRU 和 BBU…...
![](https://www.ngui.cc/images/no-images.jpg)
Python中的数据输入
获取键盘输入 input语句 使用input()可以从键盘获取输入,使用一个变量来接收 print("你是谁?") name input() print(f"我知道了,你是{name}")# print("你是谁?") name input("你是谁&…...
![](http://www.duozhishidai.com/static/image/public/banner.jpg)
找网站开发项目/友链大全
如何理解“分布式”? 经常听到”分布式系统“,”分布式计算“,”分布式算法“。分布式的具体含义是什么?狭义的分布是指,指多台PC在地理位置上分布在不同的地方。 分布式——一个高大上的名词,是计算机软件…...
![](/images/no-images.jpg)
织梦开发网站/网站设计培训
开始学习tensorflow了,张量是tensorflow最基础的概念,我发现自己还不会。学习的视频中,老师也没讲到,只是一带而过,刚刚参考了几篇博客,对张量大概有个了解,但是里面的数学用语还是不懂…...
![](https://img-blog.csdnimg.cn/img_convert/fbfbf6a9a3df93e785c9cb2c3ecfb2c7.png)
谷歌上怎样做网站/郑州网站建设
thinkphp和wordpress区别ThinkPHPThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,遵循Apache2开源协议发布,从Struts结构移植过来并做了改进和完善&a…...
![](http://shumeipai.nxez.com/wp-content/uploads/2017/02/20170207145829868-0.jpg)
注册网站公司/潍坊seo按天收费
MySQL占用内存太大,而SQLite是一款轻量级零配置数据库,非常适合在树莓派和其他嵌入式系统中使用。SQLite文档详细资料丰富,本文不会详细解释SQLite数据库操作的方方面面,只能结合具体场景按需说明。本文介绍的SQLite技巧也可以在其…...
![](/images/no-images.jpg)
犬舍网站怎么做/ks免费刷粉网站推广
// // ViewController.m // UI-AutoLayout // // Created by Bruce on 15/9/6. // Copyright (c) 2015年 Bruce. All rights reserved. // /* frame 原点 自身的尺寸 来确定 自身位置 autoLayout 根据参照视图的位置 来定义自己的位置 autoLayout相对布局 约束视图和视…...
![](/images/no-images.jpg)
上海网站建设优势/青岛网站建设制作推广
题目 输入一个链表,从尾到头打印链表每个节点的值。返回新链表。 分析 可以借助栈也可以使用递归 代码 /*** 从尾到头打印列表*/ public class PrintListReverse {public static void main(String[] args) {ListNode node1 new ListNode();ListNode node2 ne…...