0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

推荐系统是什么

电子设计 来源:电子设计 作者:电子设计 2020-12-10 19:50 次阅读

声明:本文转载自王的机器,仅作为学习使用,不作为商业用途,如有侵权请私信我,最短时间为您处理!

我还是推荐系统小白,因此对此课题理解相当浅显,但一定很好懂。这才是学一样新东西的正确开始方式。

介绍

1

故事的背景包括 4 个小孩和 5 部动画,每个小孩为每部动画打分

1 分代表最不喜欢

5 分代表最喜欢

2

悠悠觉得「小猪佩奇」还可以,给了 3 分。建立一个 4 × 5 的矩阵

每行代表一个小孩给所有动画打的分数

每列代表一部动画被所有小孩打的分数

当悠悠给「小猪佩奇」打完分后,在矩阵第 1 行第 1 列填入 3 分。

3

假设 4 个小孩为 5 部动画打分完毕,哪一个打分矩阵最像真的?

最左边不像,小孩的喜好不会这么千篇一律

最右边不像,小孩的喜好不会这么毫无联系

中间的最像,小孩的喜好会有一定的规律

4

悠悠和丫丫年龄差不多,总在一起看动画片,她俩的对动画的品位出奇相似(5 部动画给出同样的评分),比如大爱「小猪佩奇」,小爱「狮子王」,不喜欢「冰雪奇缘」「超人特工队」「玛莎和熊」。

规律 1:不同用户的喜好可能相似。

5

乐乐喜欢看带「人物」的动画,他给「冰雪奇缘」和「超人特工队」高分;丫丫喜欢看带「动物」的动画,她给「小猪佩奇」和「狮子王」高分;多多还比较小,只要是动画都喜欢,他给所有动画高分(多多给的分是乐乐和丫丫给的分之和)。

规律 2:一个用户的喜好可能包含其他多个用户的喜好。

6

「玛莎和熊」的评分是「狮子王」和「冰雪奇缘」的评分的均值。可能原因是「狮子王」里只含有动物,「冰雪奇缘」里绝大部分是人,而「玛莎和熊」里既有动物又有人,而且数目相当。

规律 3:一个动画内容可能包含其他多个动画内容。

7

先看一个最简单的推荐系统。

当所有人给所有电影打 3 分,问丫丫应该给「超人特工队」打多少分?

从评分矩阵来看,每个人对每个电影喜欢一样,因此预测出丫丫会给「超人特工队」打 3 分。

8

再看一个稍微复杂的推荐系统。

问丫丫应该给「玛莎和熊」打多少分?

从评分矩阵第一行和第三行来看,悠悠和丫丫的喜欢相同,因此预测出丫丫会给「玛莎和熊」打 2 分,和悠悠一样。

9

上面例子太简单,如果小孩有很多个,动画有很多部,我们怎么才能从评分矩阵中学到所有的规律呢?

答案:找到隐含特征

回到上面的例子,如果特征是动画片的类别,那么特征值有两个,人物类动物类。那么根据不同小孩对这两类动画特征的喜好,

悠悠和丫丫喜欢动物类,不喜欢人物类

乐乐喜欢人物类,不喜欢动物类

多多都喜欢

我们可以将 4 × 5 的评分矩阵分解成

4 × 2 的「小孩-特征」矩阵

2 × 5 的「特征-动画」矩阵

如下。

10

因此我们要做的事情就是讲评分矩阵分解成两个非负矩阵的乘积,专业术语是非负矩阵分解(Non-negative Matrix Factorization, NMF), 机器学习包 Scikit-Learn 里有实现哦。

import numpy as np
from sklearn.decomposition import NMF

用上面数据试了下,虽然分别的矩阵不是完全一样,但矩阵中是 0 的还是 0,其他元素只是差了一个缩放因子(scaling factor),你看最后把两个分解矩阵相乘,差不到能得到原来的评分矩阵。

实际情况下,不可能每个小孩对每部动画都给出评分,因此不能直接用 NMF,那些缺失值才体会推荐系统的价值,我们要根据已有的评分来预测未给的评分,再决定是否推荐。

11

实际情况,打 ?都是未给出评分,这时

设「小孩-特征」矩阵为 U

设「特征-动画」矩阵为 V

用以下误差函数(只考虑未缺失的 Ri,j)

(Ri,j – U 第 i 行和 V 第 j 列内积)2

怎么解?梯度下降呗!解完 U 和 V 后相乘发现 R4,4 = 5,那么妥妥的给多多推荐狮子王!

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 人工智能
    +关注

    关注

    1791

    文章

    47336

    浏览量

    238719
  • 推荐系统
    +关注

    关注

    1

    文章

    43

    浏览量

    10080
收藏 人收藏

    评论

    相关推荐

    基于Pancake系统的折反射成像系统

    1 摘要 ** 为了降低成本和重量,许多现代应用引入了智能方法来小型化其光学系统。该原理的一个特殊实现是折叠成像系统,其中聚焦透镜的属性分布在多个组件之间。通过巧妙地操纵传播光的偏振状态,该系统允许
    发表于 12-31 08:59

    小麦收获机电控系统 #小麦机 #收获机 #电控系统

    电控系统
    长沙硕博电子科技股份有限公司
    发布于 :2024年12月13日 17:11:04

    硕博电子 扫路车电控系统 环卫车电控系统 #电控系统定制

    电控系统
    长沙硕博电子科技股份有限公司
    发布于 :2024年08月20日 10:01:12

    Ubuntu系统安装之使用提供的ubuntu系统

    注意:学习资料可在ElfBoard官方网站“资料”专区获取。使用提供的ubuntu系统对于零基础的初学者,建议先使用ELF 1开发板资料包\\08-开发环境中提供的开发环境来进行ubuntu系统
    发表于 08-08 11:00

    VT系统——基于CANoe的测试系统简介#VTHiL #CANoe

    测试系统
    北汇信息POLELINK
    发布于 :2024年07月22日 21:39:51

    什么是HiL系统(硬件在环仿真测试系统)?#VTHiL

    仿真测试系统
    北汇信息POLELINK
    发布于 :2024年07月19日 17:30:39

    万界星空科技mes系统基础功能集成# mes#万界星空科技#生产管理系统

    管理系统
    jf_25320351
    发布于 :2024年07月03日 14:47:13

    SCADA系统与DCS系统的区别

    在工业自动化和能源管理领域,SCADA(Supervisory Control And Data Acquisition)系统和DCS(Distributed Control System)系统
    的头像 发表于 06-07 15:02 3321次阅读

    数控车间MES系统解决方案

    MES系统管理系统
    h1710143100.8307
    发布于 :2024年04月17日 15:11:19

    WMS仓库管理系统介绍

    MES系统管理系统
    h1710143100.8307
    发布于 :2024年04月17日 11:27:57

    如何选择合适的系统?MES系统和MOM系统的区别

    MES系统和MOM系统都是企业制造和管理中重要的软件系统,它们可以帮助企业实现生产过程的可视化和数字化,提高生产效率和生产质量。MES系统主要关注生产计划和生产执行,适用于需要进行生产
    的头像 发表于 04-03 10:56 557次阅读
    如何选择合适的<b class='flag-5'>系统</b>?MES<b class='flag-5'>系统</b>和MOM<b class='flag-5'>系统</b>的区别

    线束工厂MES系统

    MES系统
    hfmes
    发布于 :2024年03月27日 09:05:22

    电池工厂mes系统解决方案

    控制系统MES系统
    hfmes
    发布于 :2024年03月27日 09:02:27

    SPC统计过程控制系统

    控制系统MES系统
    hfmes
    发布于 :2024年03月27日 09:00:26