个性推荐①——系统总结个性化推荐系统

article/2025/7/1 10:07:51

个性推荐系列目录
个性推荐②—基于用户协同过滤算法原及优化方案
个性推荐③—基于物品的协同过滤算法及优化方案

本文是整理于个性推荐经典之作《推荐系统实战》,将会以十个大家最想问的问题,揭开个性化推荐系统的神秘面纱(文末有免费下载方式

一、你觉得个性推荐系统是什么?

分类查询,搜索引擎查询,再到个性推荐,都是解决信息过载的问题
前两者是在用户有明确需求时,可以非常方便地找到自己感兴趣的信息,而个性推荐是要解决当用户没有明确需求,或者无法用文字进行描述时,根据用户的历史行为,推荐给他感兴趣的信息
个性推荐的作用就是连接用户和信息:一是帮助用户发现自己感兴趣的信息,二是让信息尽可能展现给对它感兴趣的用户面前,实现用户和信息的双赢
在电商行业,个性推荐还可以根据用户的个性化需求,将用户感兴趣的长尾物品推荐给用户。零售货架成本高昂,因此20% 的主流商品可以实现80%的销售额,但是电商,由于货架非常便宜,
可以卖出更多平时难以见到的商品,这些商品小众但是数量多,总销售额也未必比主流商品低。

二、个性推荐系统一般有哪些方法?

1、社交推荐——问朋友,问社群
2、基于内容推荐——看过的电影导演,演员等,物品上的标签等
3、基于协同过滤算法——基于用户相似,或物品相似

三、个性推荐系统如何实现?

通过分析大量的用户行为日志,给用户提供不同的个性化页面展示,进而提高页面的点击率和转化率
主要应用领域:电商,影视,阅读,音乐,社交
主要由三部分组成:前端展示 + 后端的日志系统 + 推荐算法

四、个性推荐做得好的有哪些?

1、电商
亚马逊,贡献了20%的销售额,包括2类:
个性化推荐
① 基于物品的协同过滤——给用户推荐他们之前喜欢过的物品相似的物品
② 基于社交推荐——给用户推荐他们好友感兴趣的物品
相关推荐——打包销售,给予一定折扣
③ 基于购买——购买过这个商品的用户也会购买的其它商品
④ 基于浏览——浏览过这个商品的用户经常购买的其它商品

2、影视
网飞(Netflix)——60%用户通过个性推荐找到感兴趣的电影——基于物品的协同过滤
Youtube——基于物品协同过滤——与热门排行榜点击率相比,个性化推荐是2倍

3、音乐电台
Pandora(潘多拉电台)——基于内容推荐,音乐专家听了成千上万首不同歌手的歌曲,对特征(旋律,节奏,歌词,风格,编曲)等进行了标注,也就是音乐的基因,
根据基因计算不同歌曲的相似度,给用户推荐相似度高的歌曲
Last.fm——基于用户的协同过滤,基于用户历史的听歌记录和反馈,计算不同用户在歌曲上的喜好相似度,给用户推荐其它与用户有相似爱好的用户喜欢的歌曲

4、个性化邮件
谷歌邮箱——基于用户对邮件的历史行为,找到用户感兴趣的邮件,展示在一个专门的收件夹里,用户可以优先浏览——节约了6%的时间

五、使用个性推荐系统的前提是什么?

1、存在信息过载,如果没有信息过载,就不需要个性化推荐,比如直播行业,主播并不多,推来推去就那几个
2、用户在大多数时候并没有明确的需求

六、好的推荐系统有哪些标准?

1、是否能满足用户需求,推荐给他们真正感兴趣的物品
2、是否可以尽可能让所有的物品都能展示给对他感兴趣的用户,而不是仅仅热门或主流的物品
3、推荐系统是否可以跟用户进行互动,得到高质量的反馈,进而进行自我优化

七、推荐系统有哪些评价指标?

1、用户满意度
① 用户问卷调查——从不同侧面询问用户的感受
② 在线行为统计——电商(推荐购买率),反馈按钮,一般是点击率,用户停留时长和转化率等度量用户的满意度
2、预测准确度——可以离线实现计算,方便研究
① 评分预测
通过用户的历史评分,习得用户的兴趣模型,并预测该用户将来看到一个没有评分的物品,会给多少分
用均方根误差和平均绝对误差计算,前者加大了对预测不准的用户物品评分项的惩罚,因而对系统的评测更加严苛
②TOPN推荐
给用户提供一个个性化的推荐列表
准确率和召回率计算,一般会选取不同长度的推荐列表N,计算出一组准确率和召回率,然后画出曲线
3、覆盖率
定义1:推荐系统推荐出来的物品占总物品集合的比例,热门排行榜的覆盖率是很低的
定义2:研究物品在推荐系统中出现次数的分布,如果推荐系统能推荐出所有的物品,且推荐的物品出现次数都差不多,就说明可以发掘长尾的能力。
用信息熵和基尼系数计算(流行度作为概率),基尼系数是用面积计算。SA/(SA+SB),从最不热门到最热门的累计流行度占比面积图
在这里插入图片描述
在这里插入图片描述
4、多样性
推荐列表要满足用户多种多样的兴趣,而不是只推荐他最感兴趣的
多样性是描述推荐列表中物品两两的不相似性,多样性和相似性是对应的

5、新颖性
推荐给用户他们之前没有听说过的物品,把用户之前有过行为的物品从推荐列表中去掉,但这不能去除他们在其余平台上看过的
最简单方法就是看推荐物品的平均热门程度,如果较低,则新颖性越高

6、惊喜度
找到与用户历史上喜欢的物品不相似,但是却能用户觉得满意
如果获得用户观看电影历史,根据内容找到用户可能感兴趣的电影集合,然后再推荐一个不属于此集合的电影,而用户看了还特别满意

7、信任度
① 给予推荐解释,并增加用户与推荐系统的交互
② 利用社交网络信息,用好友信息给用户做推荐

8、实时性
新闻,微博等具有很强实效性,要在物品还具有实效性时就推荐给用户才行。
① 实时更新推荐列表来满足用户新的需求(买了瑜伽垫,推荐其它一些健身产品)
② 将新加入的物品推荐给用户(用户推荐列表中有多大比例是当天新加的物品)

9、鲁棒性,健壮性
健壮性就是衡量一个推荐系统抗击作弊的能力,利用算法规则增加推荐的次数和排名(购买过A的商品也经常购买B,注册大量账号,同时购买A,B,A是非常热门的商品,而B是想要作弊的商品)
评测采用模拟攻击,用常用的攻击方法给数据集注入噪声数据,再次给用户生成推荐列表,比较前后推荐列表的相似度,如果没啥变化就较好
防止措施:
① 涉及推荐系统尽量使用代价较高的用户行为,比如点击和购买,肯定优先用购买
② 使用数据建模前,先进行攻击检测,清理掉那些明显是刷出来的数据

对于离线优化目标:在限定覆盖率,多样性,新颖性等条件下,优化预测准确度
在这里插入图片描述

八、推荐系统有哪些评测维度?

除了评测指标,还要考虑评测维度,比如有的推荐算法,虽然整体性能不佳,但是在某些情况下很好。找到看上去弱的算法的优化,以及强的算法的缺点,融合不同算法找到最好的整体性能
用户维度: 人口统计学信息,活跃度及是否是新用户
物品维度:物品属性,流行度,平均分是不是新加入的物品
时间维度:季节,工作日或周末,白天还是晚上等

九、推荐系统上线从开发到上线需要经历哪些过程?

1、离线算法——仅需要数据集,不需要用户参与,可以方便快速地计算多个算法,缺点是无法获得很多商业上关注的指标,比如点击率,转化率等
① 通过日志系统获得用户行为数据,并按照一定格式生成一个标准的数据集
② 将数据集分成训练集和测试集
③ 在训练集上训练用户兴趣模型,在测试集上进行预测
④通过事先定义的离线评测指标对算法在测试集上的预测结果进行评测
2、用户调研——需要真实用户,可以获得离线时无法知晓的用户主管感受,缺点成本高昂,不能进行大规模的测试,样本过少得到的结论又很难具有统计学意义
① 找到一批与真实用户分布类似的用户群体
② 让他们在测试的推荐系统上完成一些任务,观察他们的行为,并回答一些问题
③ 分析他们的行为和答案来了解推荐系统的性能
3、A/B TEST——获得不同算法在实际在线时的性能指标,包括商业感兴趣的指标,缺点是测试周期比较长。
① 设定流量分配规则,将用户分成不同的组
② 对不同的组采用不同的算法,统计不同组用户的各项评测指标来比较不同的算法(点击率)

概括如下:
通过离线实验证明它在很多离线指标上优于现有算法
通过用户调查证明它的用户满意度不低于现有算法
通过A/B test 证明它在我们关系的指标上优于现有算法

十、个性化系统中常说的长尾分布到底是什么?

幂次分布,也叫做长尾分布,最早是在研究英文单词的词频时发现,将单词出现的频率从高到低排序,发现单词出现的词频与热门排行榜排名的常数次幂成反比,说明经常使用的单词其实很少
在这里插入图片描述
用户行为数据也包含这种分布,比如用户活跃度和物品流行度(前者是用用户产生过行为的商品数,后者是给物品产生过行为的用户数),以用户活跃度为横坐标,此活跃度下的用户数为纵坐标,取双对数就是一条直线
在这里插入图片描述
用户活跃度和物品流行度的关系,横坐标是用户活跃度,纵坐标是此活跃度下用户产生过行为的物品的平均流行度。用户越活跃,越倾向于浏览冷门的商品
在这里插入图片描述
下一篇将会总结最经典的个性推荐算法-基于用户协同过滤算法,感兴趣的小伙伴可以关注下我喔


本人互联网数据分析师,目前已出Excel,SQL,Pandas,Matplotlib,Seaborn,机器学习,统计学,个性推荐,关联算法,工作总结系列。


微信搜索并关注 " 数据小斑马" 公众号
1、回复“推荐”就可以领取文中书籍一本
2、回复“数据分析”可以免费获取下方15本数据分析师必备学习书籍一套

在这里插入图片描述


http://chatgpt.dhexx.cn/article/tGiCLm0L.shtml

相关文章

个性化推荐算法(推荐系统)概要

读者读完本文后,你会知道每类范式常用的算法有哪些、实现的思路是什么、以及常用的应用场景。本文也可以作为读者落地推荐算法到真实推荐场景的参考指南。 一、推荐算法与产品介绍 什么是推荐系统? 在介绍推荐算法之前需要先介绍一下什么是信息过载。…

深度解析京东个性化推荐系统

向AI转型的程序员都关注了这个号👇👇👇 人工智能大数据与深度学习 公众号:datayx 作者简介: fisherman,时任推荐部门推荐系统负责人,负责推荐部门的架构设计及相关研发工作。Davidxiaozhi&…

个性化推荐系统实践

个性化推荐已经成为现代人们生活的一部分, “猜你喜欢”、“相关阅读”你一定并不陌生。计算机如何做到对用户投其所好?企业在做个性化推荐时要如何精准把握用户兴趣?如何解决冷启动问题?如何避免推荐结果的单调与重复&#xff1f…

Scratch Paper Minecraft

Paper Minecraft Scratch 也能创造奇迹 几乎还原了Paper Minecraft,我的世界2D版。| o | 注:文章末尾有下载链接。❤

指纹传感器和Blackfin处理器增强了生物识别设备的设计

生物识别与安全 在当今世界,对有效安全实施和有效实施的需求日益明显。必须确定个人身份以允许或禁止访问安全区域,或使他们能够使用计算机,个人数字助理(PDA)或移动电话。生物特征签名或生物特征用于通过测量某些独特…

js学到什么程度学框架_如何学到什么

js学到什么程度学框架 Set a target, learn just enough to hit it, teach someone, repeat. 设定目标,学习足以达到目标的目标,教某人,然后重复。 JavaScript’s my craft. JavaScript是我的技能。 Despite my young career, no other ski…

java开发简单解释器,实现一个简单的解释器(5)

你如何处理和了解像创建解释器或编译器这样复杂的事情?在开始时,一切看上去都像是一团乱七八糟的纱线,你需要解开缠结才能得到完美的球。 到达那里的方法是将它解开一个线,一次解开一个结。不过有时候,你可能会觉得自己…

【“笨办法”学Python】43.基本的面向对象分析和设计——自顶向下、自底向上

43.基本的面向对象分析和设计 文章目录 前言一、解决问题的方法——流程1、自顶向下(top down)2、自底向上 二、代码示例三、运行Python程序总结 前言 使用Python,尤其是通过面向对象编程(OOP)方式构建一些东西的流程。 一、解决问题的方法——流程 所谓按照流程就是…

5大代码规则,守护程序猿世界的爱与和平!

全文共2878字,预计学习时长9分钟 图源:Unsplash 编码规则是程序编码所要遵循的规则,要注意代码的正确性、稳定性、可读性。 而对于这些条条框框,一些不拘小节的程序猿们往往并不在意,这导致常常会发生一些意想不到的问题和状况,让大家苦恼不已。 现在,小芯整理了一份…

【AI产品】认猫、认花、认车、认吃,请认准识别全能王

欢迎来到《AI产品》专栏,本专栏面向所有热爱人工智能技术的朋友、同学。在本专栏中,会多多分享给大家不同种类的且新奇有趣的AI产品,对产品中的核心技术进行深度剖析。文章底部会推荐相关核心技术学习资料,全部原创! 请…

【杂谈】什么文章可以给有三AI投稿?你能得到什么

我们公众号的风格是做系统性的原创,除了一些资源类的东西,大多数是专栏,大部分是有三本人在写,还有一些是其他的专栏作者,那么现在有哪些专栏可以自由投稿,新手也可以来练练手呢,今天就来汇总一…

听声音做钥匙?!慢放开锁音轨,黑客就能破解常用门锁

作者|牛婉杨 出品|大数据文摘 你熟悉的黑客是不是这样的?比如上个月,黑客造成推特史上最严重的安全事故,马斯克奥巴马等多位大V账号被黑;或者像8月初英特尔的那起数据泄露事故,足足20GB数据被黑…

【AI产品】爱做短视频的你,真的很需要一款配音软件

欢迎来到《AI产品》专栏,本专栏面向所有热爱人工智能技术的朋友、同学。在本专栏中,会多多分享给大家不同种类的且新奇有趣的AI产品,对产品中的核心技术进行深度剖析。文章底部会推荐相关核心技术学习资料,全部原创! 请…

怎样设计宝藏游戏_宝藏! 免费的移动设计资源

怎样设计宝藏游戏 Being a designer usually requires staying in the know of resources that you could use to get better at your craft as well as resources you could use in your work. 成为设计师通常需要了解可以用来提高自己的Craft.io水平的资源以及可以在工作中使…

webaudio_WebAudio Deep Note,第5部分:增益节点

webaudio Previously on "Deep Note via WebAudio": 以前在“通过WebAudio进行深度注释”中: intro 介绍play a sound 播放声音 2.1. boots and cats2.1。 靴子和猫play a sound 播放声音 loop and change pitch循环并改变音高multiple sounds多种声音no…

web audio api_带有Web Audio API的动态声音

web audio api This article is part of a web dev series from Microsoft. Thank you for supporting the partners who make SitePoint possible. 本文是Microsoft的Web开发系列的一部分。 感谢您支持使SitePoint成为可能的合作伙伴。 Before the Web Audio API, HTML5 gave…

Apache Spark【从无到有从有到无】【编程指南】【AS5】结构化流编程指南

目录 1.概观 2.快速示例 3.编程模型 3.1.基本概念 3.2.处理事件时间和延迟数据 3.3.容错语义 4.使用数据集和数据框架的API 4.1.创建streaming DataFrames 和 streaming Datasets 4.1.1.输入源(Input Sources) 4.1.2.流式数据帧/数据集&#x…

王者荣耀scratch版

现在,防沉迷使我每周都玩不了王者了,不对,不是周5,6,7,八点到九点能玩吗,偶不,那时候我正在上课。。。。。。 现在我,正式想你介绍“Scrach版王者荣耀”!&…

编程斐波那契数列_通过斐波那契序列记忆和制表法进行动态编程的简介

编程斐波那契数列 Lately I have been studying algorithms and data structures while trying to prepare for technical interviews. Some of it comes easier than the rest, but I always enjoy a good challenge. I love the whiteboard problems that feel like a puzzle…

javascript编程题_JavaScript中的鼠标滚轮编程

javascript编程题 In this article Ill describe cross-browser techniques for using the mouse wheel (or "scroll wheel") in your JavaScript programming for HTML pages. Ill show example Javascript for option selection and image zooming. 在本文中&…