首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >推荐系统 —— 概述

推荐系统 —— 概述

作者头像
solve
发布2019-10-30 18:31:54
5400
发布2019-10-30 18:31:54
举报
文章被收录于专栏:大数据技术栈大数据技术栈

前言

好久没有更新了!!! 最近一直在研究推荐相关的知识,也算是有一点感悟吧,暂且打算写一系列推荐入门的文章, 一为分享,共同学习。二为对知识做一个系统的整理。 这是第一篇,不打算说太多关于技术的问题,我们就来随便聊聊推荐系统,然后本篇文章也作为该系列的一个导航文章吧!

推荐系统概述

1. 推荐系统是什么

我想大家应该都对推荐系统不会陌生,不管你是逛淘宝还是刷抖音,你都能看到推荐的存在,也是因为推荐的存在,才能让你才海量的信息中看到自己感兴趣的东西。其实我相信大家都知道什么是推荐系统,这里我仅以我个人的观点阐述一下。我们从以下两点来说:

  1. 推荐 我们可以将推荐理解为推荐算法,也是推荐系统的核心驱动。
  2. 系统 一 整套的实际可行的工具,一般的来说,推荐的系统包括 前端的展示和互动,后端的数据和服务,以及核心的推荐算法

2. 推荐系统有什么用

  1. 解决信息过载问题,现今社会是个信息泛滥的社会,如何在这海量信息中找到用户所关心的东西,就是推荐系统产生的最主要原因
  2. 发掘长尾物品的潜在价值,个人的喜欢总是有一定特异性的,很多时候,我们喜欢某类比较偏门的物品,因为其偏门,所以想要发现并不是一件容易的事情,那么就把它交给推荐系统把。

根据28法则,20%的热门物品产生 80%的利润,过去人们也一直将精力放在发掘这20%热门物品的价值,但是长尾理论则认为,80%的偏门物品如果能找到其正确需求用户,其潜在价值远大于20%的热门物品,这80%的偏门物品我们就叫做 长尾物品

3. 推荐系统怎么做

怎么做?我们从一个简单的例子来看

一个美好的周末,突然你心仪的女神问你最近有什么好看的电影,这时候,最为女神的推荐系统,就该是你发挥你本事的时候了:

  1. 对于你的女神,想必你不会缺少她的各种信息,比如 爱好,性格 甚至是三围什么的,收集信息这步我们就省略了,但是不可否认,这是相当重要的一步
  2. 然后你可能: 2.1 去问寻求她的朋友帮助,问最近有没有看什么好看的电影 2.2 看一下一些影视网站的排行榜 2.3 根据女神的爱好和喜欢的类型,去找一下类似的电影 2.4 总之,你要想尽一切办法尽可能的获取到女神可能感兴趣的电影
  3. 不能一股脑的把收集到的电影进行推荐,得从你找到的电影列表中,进行筛选,你可能需要考虑,巴拉巴拉,肯定有一堆了,然后挑选出最有可能收到女神喜欢的电影进行推荐。
  4. 然后虽然你历尽千辛万苦给女神推荐了,她真的会喜欢吗?所以这时候你一定得看看女神得反应,说不定别人对你的推荐一脸嫌弃,这时候一定需要进行意见收集,查漏补缺。。。但是如果她很喜欢呢?说明你推荐的还不错,很大可能下次还会找你推荐,并且对你推荐的电影会有很大的信赖感,但是。。。也就这样啦,能不能报的美人归可不是一个推荐电影就能搞定滴。。。哈哈哈哈

这里没有涉及什么具体的推荐算法怎么弄的,主要还是推荐的一个流程: 1. 收集用户信息 2. 通过推荐算法产生候选集 3. 从候选池中选取topn 进行推荐 4. 对推荐的结果进行评测,改进

4. 推荐系统如何评测

推荐系统的评测在实际工作工程中可能比 推荐系统的实现更加重要 和 复杂,这一块我们有机会后面来聊一聊,这里仅以 推荐系统实战 这本书列举一下评测方法,大概了解一下就好,这块不是一下就能说明白的

  1. 用户满意度 用户作为推荐系统的重要参与者,其满意度是评测推荐系统的最重要指标。但是,用户满意度没有办法离线计算,只能通过用户调查或者在线实验获得。
  2. 预测准确度 预测准确度度量一个推荐系统或者推荐算法预测用户行为的能力。这个指标是最重要的推荐系统离线评测指标,从推荐系统诞生的那一天起,几乎99%与推荐相关的论文都在讨论这个指标。 这主要是因为该指标可以通过离线实验计算,方便了很多学术界的研究人员研究推荐算法。 一般来说,我们训练一个模型的时候,会将数据按一定比例分为 训练集 和 测试集,用训练集训练出模型之后,将测试集代入模型模拟预测,评测模型的效果
    • 评分预测:测试数据的预测评分 和 测试数据的实际评分 的差异(RMSE 或者 MAE)作为 评分测试的标准。
    • TopN推荐:通过预测的 正确率 和 召回率 来作为 TopN的评测标准
  3. 覆盖率 覆盖率(coverage)描述一个推荐系统对物品长尾的发掘能力。一般用 信息熵 或者 基尼系数 来作为评测标准
  4. 多样性 用户的兴趣是广泛的,我可能既喜欢恐怖片也喜欢喜剧片,你应该两者兼顾而不是只考虑一种类型,我们要根据去各种兴趣去做推荐,而不要只推荐某一种兴趣的东西,所以也叫推荐应该多样性。
  5. 新颖性 新颖的推荐是指给用户推荐那些他们以前没有听说过的物品,但是推荐的这个物品是有根据的。
  6. 惊喜度 惊喜度(serendipity)一般来说是推荐那些他们以前没有听说过的物品,并且用户也不知道你为什么推荐给他,但是他还是很喜欢你这个推荐的
  7. 信任度 你好朋友说你买卡宴比较好,和一个卡宴汽车的销售说,你买卡宴好。。。你更会信任哪个推荐?这就是信任度。
  8. 实时性 2月1号,某某股神预测 2月10号 x股会大涨,2月10号,x股果然大涨,然后2月11号,你把这个消息推荐给股民。。。。然后。。。这就是实时性
  9. 健壮性 好的推荐系统,要能顶的住别人的恶意攻击,比如刷好评 刷单什么的。。。
  10. 商业目标 很多时候,网站评测推荐系统更加注重网站的商业目标是否达成,而商业目标和网站的盈利模式是息息相关的。嗯,要赚钱!

上面说的都是各种评测标准,但是评测的环境其实也是很重要的,同一个模型,不同的测试环境,得出的效果可能会迥异,所以某些时候,推荐系统的模型可能不只有一个,根据不同的 时间,用户,或者物品 都可能用不同的模型。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.04.02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 推荐系统概述
    • 1. 推荐系统是什么
      • 2. 推荐系统有什么用
        • 3. 推荐系统怎么做
          • 4. 推荐系统如何评测
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档