【数据挖掘】推荐系统
admin
2024-02-03 03:11:11
0

1. What is Recommender System

推荐系统提出的动机是什么呢?

  • 对于商家:更好的卖产品,更好的宣传
  • 对于个人:有一个比较感兴趣导向,可以以引起多巴胺回路兴奋
  • 对于信息:能够快速从大量信息中找到想要的

🎉 推荐系统

  • 自动列出一个合适用户兴趣的简短列表

理念

  • 使用历史数据,如用户过去的喜好(past preferences)或类似用户过去的喜好来预测未来的喜好
  • 通过观察过去用户或群体的喜好,试着预测他们未来的喜好,然后就可以试着给他们一些推荐了

基本假设

  • 用户的偏好可能会保持稳定,并随着时间的推移而平稳变化
  • 品味相似的用户对某一物品的评价也相似

通过这个基本假设,我们可以发现,推荐系统是将人们的过去数据(喜好什么的)当作聚类点进行聚类了,相似的簇具有类似的行为,而且这个行为在时间序列上是平稳变化(或者周期性变化)

从形式上讲,推荐系统采用一组用户UUU和一组项目III,学习函数fff使其满足关系RRR
f:U×I→Rf:U\times I\to R f:U×I→R
推荐系统与搜索引擎最大的区别在于,搜索引擎并没有考虑用户的喜好,而是考虑内容的相关性。


2.Recommendation Algorithms

2.1 Content-based Method

  • 基于内容的方法基于这样一个事实:用户的兴趣应该与ta应该被推荐的项目的描述相匹配。

  • 商品的描述与用户感兴趣的描述越相似,用户就越有可能觉得商品的推荐有趣。

核心思想

  • 核心理念:找到用户和所有现有物品之间的相似性

步骤

  • 描述向用户推荐的项目
  • 创建用户画像,描述用户感兴趣的内容
  • 将项目与用户简介进行比较,以决定推荐什么

评价指标

  • 我们用一组向量表示项目和用户属性:

    • Ij=(ij,1,ij,2,...,ij,k)I_j=(i_{j,1},i_{j,2},...,i_{j,k}) Ij​=(ij,1​,ij,2​,...,ij,k​)

    • Ui=(ui,1,ui,2,...,uj,k)U_i=(u_{i,1},u_{i,2},...,u_{j,k}) Ui​=(ui,1​,ui,2​,...,uj,k​)

  • 他们之间(用户uuu和项目iii)的相似性扩压用余弦距离度量:

  • sim(Ui,Ij)=cos(Ui,Ij)=∑l=1kui,lij,l∑l=1kui,l2∑l=1kij,l2sim(U_i,I_j)=cos(U_i,I_j)=\frac{\sum_{l=1}^ku_{i,l}i_{j,l}}{\sqrt{\sum_{l=1}^ku_{i,l}^2}\sqrt{\sum_{l=1}^k}i_{j,l}^2} sim(Ui​,Ij​)=cos(Ui​,Ij​)=∑l=1k​ui,l2​​∑l=1k​​ij,l2​∑l=1k​ui,l​ij,l​​

接着就是计算最接近的top(k)项目啦!

上面的算法只是用用户去评价一个商品,比较适合喜好推荐,并没有基于用户群体给出一个客观的评价。

我们知道,某些商品虽然描述的很好,但可能并不受到群体喜欢(比如某些盗版),除却考虑推荐内容的相关性,还需要考虑目标群体,那怎么办呢?


2.2 Collaborative Filtering Algorithm

协同过滤算法基于用户-项目矩阵:

举个例子:User-Item Matrix

Lion KingAladdinMulanAnastasia
John3033
Joe5402
Jill1242
Jane3?10
Jorge2201

在商品评价中,得分可以由用户显示打分给出(explicit)

也可以从其他用户的行为中推测得到(implicit)

算法的具体步骤为:

  • 权衡所有用户/项目与当前用户/项目的相似性
  • 选择用户/项(邻居)的一个子集作为推荐器
  • 使用邻居对相同(或类似)物品的评级来预测用户对特定物品的评级
  • 推荐预测排名最高的项目

评价指标

  • 余弦距离

  • 皮尔逊相关系数

    • sim(Ui,Uj)=∑k(ri,k−rˉi)(rj,k−rˉj)∑k(ri,k−rˉi)2∑k(rj,k−rˉj)2sim(U_i,U_j)=\frac{\sum_k(r_{i,k}-\bar r_i)(r_{j,k}-\bar r_j)}{\sqrt{\sum_k(r_{i,k}-\bar r_i)^2}\sqrt{\sum_k(r_{j,k}-\bar r_j)^2}} sim(Ui​,Uj​)=∑k​(ri,k​−rˉi​)2​∑k​(rj,k​−rˉj​)2​∑k​(ri,k​−rˉi​)(rj,k​−rˉj​)​

    • 相较于余弦距离,皮尔逊系数做了中心缩放

  • 更新指数

    • ru,i=rˉu+∑v∈N(u)sim(u,v)(rv,i−rˉv)∑v∈N(u)Sim(u,v)r_{u,i}=\bar r_u+\frac{\sum_{v\in N(u)}sim(u,v)(r_{v,i}-\bar r_v)}{\sum_{v\in N(u)}Sim(u,v)} ru,i​=rˉu​+∑v∈N(u)​Sim(u,v)∑v∈N(u)​sim(u,v)(rv,i​−rˉv​)​

    • 其中,ru,ir_{u,i}ru,i​表示用户uuu对商品iii的得分,rˉu\bar r_urˉu​表示用户的平均分,v∈N(u)v\in N(u)v∈N(u)表示与用户uuu最相似的邻居组

举个例子

Lion KingAladdinMulanAnastasia
John3033
Joe5402
Jill1242
Jane3?10
Jorge2201

我们现在要评价JaneJaneJane对AladdinAladdinAladdin的评分,需要怎么做呢?

1️⃣ 计算用户之间的相似度
KaTeX parse error: Undefined control sequence: \ at position 82: …+0^2}}=0.73 \\ \̲ ̲\\ sim(Jane,Joe…
2️⃣ 选择最相似的topk,并计算他们的平均分。例如,我们选两个:
rˉjoe=5+4+0+24=2.75\bar r_{joe}=\frac{5+4+0+2}{4}=2.75 rˉjoe​=45+4+0+2​=2.75
joe是个老好人
rˉjorge=2+2+0+14=1.25\bar r_{jorge}=\frac{2+2+0+1}{4}=1.25 rˉjorge​=42+2+0+1​=1.25
jorge给分不咋样

3️⃣ 基于最近的邻居计算得分
rJane,Aladdin=rˉJane+sim(Jane,Joe)(rJoe,Aladdin−rˉJoe)sim(Jane,Joe)+sim(Jane,Jorge)+sim(Jane,Jorge)(rJorge,Aladdin−rˉJorge)sim(Jane,Joe)+sim(Jane,Jorge)=1.33+0.88∗(4−2.75)+0.84∗(2−1.25)0.88+0.84=2.33r_{Jane,Aladdin}=\bar r_{Jane}+\frac{sim(Jane,Joe)(r_{Joe,Aladdin}-\bar r_{Joe})}{sim(Jane,Joe)+sim(Jane,Jorge)} \\ \ \\ +\frac{sim(Jane,Jorge)(r_{Jorge,Aladdin}-\bar r_{Jorge})}{sim(Jane,Joe)+sim(Jane,Jorge)} \\ \ \\=1.33+\frac{0.88*(4-2.75)+0.84*(2-1.25)}{0.88+0.84}=2.33 rJane,Aladdin​=rˉJane​+sim(Jane,Joe)+sim(Jane,Jorge)sim(Jane,Joe)(rJoe,Aladdin​−rˉJoe​)​ +sim(Jane,Joe)+sim(Jane,Jorge)sim(Jane,Jorge)(rJorge,Aladdin​−rˉJorge​)​ =1.33+0.88+0.840.88∗(4−2.75)+0.84∗(2−1.25)​=2.33


3.Evaluation of Recommender Systems

推荐系统偏向于数据导向,不同的算法在不同的数据集上会有不同的表现

早期的工作中,人们比较关注准确性,后来呢,也逐渐重视用户满意度和性能。所以说,决定在比较评价中应采用何种综合措施是一项挑战。

1️⃣ 平均绝对误差(MAE)
MAE=∑ij∣r^ij−rij∣nMAE=\frac{\sum_{ij}|\hat r_{ij}-r_{ij}|}{n} MAE=n∑ij​∣r^ij​−rij​∣​
2️⃣ 标准平均绝对误差(NMAE)
NMAE=MAErmax−rminNMAE=\frac{MAE}{r_{max}-r_{min}} NMAE=rmax​−rmin​MAE​
3️⃣ 均方根误差(RMSE)

更加强调偏差
RMSE=1n∑i,j(r^ij−rij)2RMSE=\sqrt{\frac{1}{n}\sum_{i,j}(\hat r_{ij}-r_{ij})^2} RMSE=n1​i,j∑​(r^ij​−rij​)2
4️⃣ 精度(Precision)
P=TPTP+NPP=\frac{TP}{TP+NP} P=TP+NPTP​
用来评价模型本身的性能

5️⃣ 召回率(Recall)

完整性(覆盖率)的度量,更像在数据上的性能
R=TPTP+FNR=\frac{TP}{TP+FN} R=TP+FNTP​
6️⃣ F-Score

精确率和召回率互相影响,理想状态下肯定追求两个都高,但是实际情况是两者相互“制约”,此时需要综合考虑二者
F=(1+β2)P⋅Rβ2P+RF=(1+\beta^2)\frac{P\cdot R}{\beta^2P+R} F=(1+β2)β2P+RP⋅R​
β\betaβ用于控制权重。

7️⃣ 斯皮尔曼相关系数
ρ=1−6∑i=1n(xi−yi)2n3−n\rho=1-\frac{6\sum_{i=1}^n(x_i-y_i)^2}{n^3-n} ρ=1−n3−n6∑i=1n​(xi​−yi​)2​
8️⃣ Kendall’s τ\tauτ

  • 按照预测顺序是否与实际顺序相同,计算得到consistentconcordant值,最终的结果为:

  • τ=c−dC2n\tau=\frac{c-d}{C_2^n} τ=C2n​c−d​

相关内容

热门资讯

股价腰斩,“章建平”割肉了 短短4个多月,江淮汽车股价腰斩,知名游资章建平也扛不住了。最新公告显示,6月10日至6月23日,章建...
扩张提速、店铺“加密”,“硬折... 北京“硬折扣”超市“迎新”。6月26日,盒马旗下平价社区超市超盒算NB首批6家门店同步开业,网点覆盖...
外媒:黄金白银遭遇“完美风暴” 参考消息网6月26日报道据西班牙《经济学家报》网站6月23日报道,贵金属在金融市场正经历一场名副其实...
原创 法... 巴黎《费加罗报》给中国扣上"拯救者"的帽子,纽约《华尔街日报》隔着大西洋默默点头。 两家立场南辕北辙...
金价大跌!有商家囤货资产缩水百... 近期,国际金价持续大幅下行。6月26日19时30分左右,伦敦金现货价格报4050美元/盎司,较年内高...
原创 人... 大家好,这里是史记文谭,闲中着色,笑里有情,不废观星问月,亦赏市井浮生。 前言 咱们每天兜里揣着的钱...
交运股份告别六年扣非亏损,更名... 本报记者 张蓓 陈炳衡 北京报道 日前,上海交运集团股份有限公司(600676.SH)召开2026年...
原创 星... 马斯克的手又伸长了。这次不是火箭回收,也不是把"星链"塞进乌克兰战壕,而是直接杀进美国消费者的手机号...
视频丨一部剧带火一座城 “追剧... 第31届上海电视节各奖项昨晚(26日)揭晓,谍战题材电视剧《沉默的荣耀》在5项重磅提名中,最终斩获评...
东京经济论坛现场观察:日本华商... 作者 | 东京谢社长 6月26日,我去东京丽嘉皇家酒店参加了东京国际商学院EMBA二期开学典礼暨...
苏州投资人问:土耳其20年免税... 苏州投资人问:土耳其20年免税到底怎么理解? 最近一段时间,苏州工业园区和外企圈子里,关于土耳其20...
刘强东为70万京东物流人员规划... 职业被智能化设备迭代替代,已经成为当下众多从业者共同的内心顾虑。近期刘强东在行业论坛的发言,再度引发...
富国基金换帅:裴长江退休卸任,... 6月26日,富国基金发布高级管理人员变更的公告,董事长裴长江因退休离任,申万宏源证券执行委员会成员王...
两部门最新发布!事关黄金及黄金... 6月26日,中国人民银行、海关总署联合发布通知,就《黄金及黄金制品进出口管理办法(征求意见稿)》向社...
中信重工重构全球矿山装备供应链... 文丨承承 编辑丨李壮 2026年盛夏,第四届“中国国际供应链促进博览会”在北京顺义拉开帷幕。在中信集...
全球爆火的ETF,纳入中国存储... 史上增长最快的新发ETF,刚刚把"中国存储龙头"买成了前十大重仓! 6月,Roundhill Mem...
金价暴跌!重回“3字头”时代 继6月24日、25日伦敦金现连续两日盘中跌破4000美元/盎司后,6月26日国际金价延续跌势。 截至...
一批站在“光”里的基金经理们,... 【导读】一批绩优“追光者”密集出手限购,年内业绩前十均已“闭门谢客” 中国基金报记者 曹雯璟 仅过了...
赛场出圈,多品类业务破局,蒙牛... 2026世界杯加持,股价逆势走高! 文/每日财报 南黎 夏日的墨西哥城阿兹特克体育场,伴随着202...
IPO抢着给科技输血,钱却在选... 2026年上半年,A股IPO市场交出81家上市、1057亿元募资的成绩单,新股首日回报率233%创近...