推荐系统概述(一)Jamest

推荐系统是一种信息过滤系统,用于预测用户对物品的评分或偏好。解决的是信息过载和长尾问题(长尾理论)。它的本质是通过一定的方式将用户和物品联系起来。推荐系统在为用户推荐物品时通常有两种方式:1.评分预测2.TopN推荐

主流的推荐系统算法可以分为协同过滤推荐(CollaborativeFilteringRecommendation)、基于内容推荐(Content-basedRecommendation)和混合推荐等。

仅仅基于用户行为数据设计的推荐算法一般称为协同过滤算法。主要包括基于邻域的方法(neighborhood-based)、隐语义模型(latentfactormodel)、基于图的随机游走算法(randomwalkongraph)等。而基于邻域的方法主要包含基于用户的协同过滤算法和基于物品的协同过滤算法。

基于用户的协同过滤算法主要包括两个步骤。(1)找到和目标用户兴趣相似的用户集合。(2)找到这个集合中的用户喜欢的,且目标用户没有听说过的物品推荐给目标用户步骤(1)的关键就是计算两个用户的兴趣相似度。可以通过Jaccard(杰卡德)公式或者通过余弦相似度计算Jaccard(杰卡德)公式:

余弦相似度:

基于物品的协同过滤(item-basedcollaborativefiltering)算法是目前业界应用最多的算法。基于物品的协同过滤算法主要分为两步。(1)计算物品之间的相似度。(2)根据物品的相似度和用户的历史行为给用户生成推荐列表

UserCF和ItemCF的综合比较

核心思想是通过隐含特征(latentfactor)联系用户兴趣和物品,找出潜在的主题和分类。LFM(latentfactormodel)通过如下公式计算用户u对物品i的兴趣:

定义P矩阵是user-class矩阵,矩阵值\(P_{ij}\)表示的是useri对classj的兴趣度;Q矩阵式class-item矩阵,矩阵值Qij表示的是itemj在classi中的权重,权重越高越能作为该类的代表。那么,用户U对物品I的兴趣度为:

使用LFM后,我们不需要关心分类的角度,结果都是基于用户行为统计自动聚类的;不需要关心分类粒度的问题,通过设置LFM的最终分类数就可控制粒度,分类数越大,粒度约细在user-item集K={(U,I)},其中如果(U,I)是正样本,则RUI=1,否则RUI=0。损失函数如下所示:

对\(p_{u,k}\),\(q_{k,i})\)分别求偏导数,根据随机梯度下降法,将参数沿着最速下降方向向前推进

优点:

缺点:

其中,r是m+n行,1列的矩阵,每一行代表该顶点对固定顶点的PR值;是m+n行,1列的矩阵,负责选取某一个顶点作为固定顶点,其数值只有1行为1,其余为0。M是m+n行,m+n列的矩阵,是转移矩阵,其值\(M_{ij}=\frac{1}{out(i)},j\inout(i)\else\0\),即为顶点的出度倒数,若没有连接边则为0。上式可转换为:

其中,\((E-\alphaM^T)^{-1}\)可以看做所有顶点的推荐结果,每一列代表一个顶点项,对该顶点的PR值。

协同过滤算法优缺点:

矩阵分解乃是实现隐语义模型的基石。矩阵分解根据用户对物品的评分,推断出用户和物品的隐语义向量,然后根据用户和物品的隐语义向量来进行推荐。推荐系统用到的数据可以有显式评分和隐式评分.显式评分时用户对物品的打分,显式评分矩阵通常非常稀疏.隐式评分是指用户的浏览,购买,搜索等历史记录,表示的是用户行为的有无,所以是一个密集矩阵。矩阵分解也有FunkSVD,BiasSVD,SVD++等常用形式,三种形式的差别就是在不同的预置Bias做了不同考虑

奇异值分解(SVD)原理与主要应用在数据降维中,可以将这个用户物品对应的m×n矩阵M进行SVD分解,并通过选择部分较大的一些奇异值来同时进行降维API:sklearn.decomposition.importTruncatedSVD问题:1.基于稠密向量分解,稀疏向量无法计算2.O(n^3)的计算计算复杂度,计算复杂,智能用在简单数据降维,不可用在大数据推荐

ALS是交替最小二乘的简称,在机器学习上下文中,ALS特指使用交替最小二乘求解的一个协同过滤推荐算法。它通过观察到的所有用户给物品的打分,来推断每个用户的喜好并向用户推荐合适的物品。例如:将用户(user)对商品(item)的评分矩阵分解为两个矩阵:一个是用户对商品隐含特征的偏好矩阵,另一个是商品所包含的隐含特征的矩阵。在这个矩阵分解的过程中,评分缺失项得到了填充,也就是说我们可以基于这个填充的评分来给用户最商品推荐了。API:pyspark.mllib.recommendationimportALS说明:1,利用了梯度下降求解,考虑了正则化过拟合2.没解决样本偏差

在LFM中提到的\(\hat{r_{u,i}}\)中加入偏置项,即得到SVD模型。

其中\(\mu\)表示训练集中物品的所有评分的平均值,\(b_u\)是用户偏置项,表示一个用户评分的平均值,\(b_i\)是物品偏置项,表示一个物品被评分的平均值。偏置项是固有属性,每个用户和物品都有自己的值,代表该物品被大众喜爱程度或某个用户对物品的苛刻程度。新的代价函数为:

通过随机梯度下降,可以得到

说明:1,利用了梯度下降求解,正在了正则化,增加了偏置项2,没有解决反馈回执

SVD++算法就是在BiasSVD算法上进一步做优化,增加考虑用户的隐式反馈。

我们从上一步的BiasLFM(即SVD)继续演化就可以得到SVD++。SVD++在前面的基础上增加了隐式反馈和用户属性等基本信息,在学习的过程中又多了两个向量:隐式反馈的物品向量,用户属性的特征向量。假设某个用户对某个物品进行了评分,这样的行为事实上蕴含了一定的信息,从侧面反映了用户的喜好,可以将这样的反映通过隐式参数的形式体现在模型中,从而得到一个更为精细的模型

主要的优势如下:

矩阵分解的不足主要有:

常用的频繁项集的评估标准有支持度,置信度和提升度三个

该算法主要包含两个步骤:首先找出数据集中所有的频繁项集,这些项集出现的频繁性要大于或等于最小支持度;然后根据频繁项集产生强关联规则,这些规则必须满足最小支持度和最小置信度。算法原理:如果一个项集是频繁项集,则它的所有子集都是频繁项集如果一个集合不是频繁项集,则它的所有父集(超集)都不是频繁项集关联分析的目标:发现频繁项集:发现满足最小支持度的所有项集发现关联规则:从频繁项集中提取所有高置信度的规则Apriori算法采用了迭代的方法1.先搜索出候选1项集及对应的支持度,剪枝去掉低于支持度的1项集,得到频繁1项集。2.对剩下的频繁1项集进行连接,得到候选的频繁2项集,筛选去掉低于支持度的候选频繁2项集,得到真正的频繁二项集,3.以此类推,迭代下去,直到无法找到频繁k+1项集为止,对应的频繁k项集的集合即为算法的输出结果

在FP-growth算法中,通过两次扫描事务数据库,把每个事务所包含的频繁项目按其支持度降序压缩存储到FP—tree中。在以后发现频繁模式的过程中,不需要再扫描事务数据库,而仅在FP-Tree中进行查找即可,并通过递归调用FP-growth的方法来直接产生频繁模式,因此在整个发现过程中也不需产生候选模式。该算法克服了Apriori算法中存在的问颢.在执行效率上也明显好于Apriori算法。FP-growth算法通过构建FP-tree来压缩事务数据库中的信息,从而更加有效地产生频繁项集。FP-tree其实是一棵前缀树,按支持度降序排列,支持度越高的频繁项离根节点越近,从而使得更多的频繁项可以共享前缀。

关于嵌入维度数量(NewEmbedding维度)的一般经验法则:embedding_dimensions=number_of_categories**0.25

THE END
1.书籍数据分析和可视化系统毕设源码在此基础上,他们为读者提供了丰富的书籍推荐功能,以帮助其更有效地获取和利用书籍资源。例如,美国学者通过对图书销售数据进行数据挖掘和分析,发现了一些与读者购买行为相关的潜在趋势,如读者在书籍购买中的地域偏好、购买时段和书籍类型偏好等。这些发现为读者提供了更准确、更个性化的书籍推荐,有助于提高读者对书籍的https://blog.csdn.net/fufulove/article/details/144366037
2.图书管理系统数据模型ER图经管文库(原现金交易图书管理系统数据模型ER图 https://bbs.pinggu.org/forum.php?mod=viewthread&tid=13095880&ordertype=2
3.科学网—[转载]榜单发布丨21世纪图情领域高影响力图书TOP10010月24日,清华大学图书馆、浙江大学图书馆与中国知网联合主办的“第二届高校图书馆评价服务高质量发展研讨会”在杭州顺利召开,来自全国80余所高校的 ,科学网https://blog.sciencenet.cn/blog-554179-1463892.html
4.资源动态丨中国知网数据库资源推介广州新华学院它通过文献或知识的聚类功能,将不同文献或知识之间的内在关系进行有机整合,将CNKI数据库中期刊、学位论文、报纸、会议论文、图书等不同类型的文献进行关联,在此基础上,进一步形成了文献知网节、作者知网节、基金知网节、机构知网节等,从而构建系统的知识网络和内容解释体系。https://library.xhsysu.edu.cn/info/1531/4157.htm
5.ER图关系模式的转换数据库系统原理---ER图转化成关系模式 E-R图转换 ? E-R图是由实体、实体的属性和实体之间的联系三个要素组成的。将E-R图转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系转化为关系模式 。 实体集向关系模式的转换 一般转换遵循的原则 实体集的转换规则:一个实体型转换为一个关系模式。实体https://www.pianshen.com/article/7895168137/
6.TKDE2023为推荐系统注入先验知识:基于近邻增强的对比学习推荐嘿,记得给“机器学习与推荐算法”添加星标 TLDR: 本文针对协同过滤技术固有的数据稀疏问题,提出了两种监督对比损失函数,将锚定节点的近邻信息视为最终目标损失函数内的正样本。通过对所提出的损失函数进行梯度分析,可以发现锚点节点表征的更新将同时受到多个正样本和增强负样本的共同影响。最后通过大量的实验验证了所提出https://cloud.tencent.com/developer/article/2408024
7.ER图中通常用()来表示实体。D. 一个包含用户个人信息的数据库 查看完整题目与答案 海外社交媒体的客户体验历程指什么?() A. 消费者购买历程 B. 消费者调研历程 C. 消费者E. 极轻度 查看完整题目与答案 根据资本资产定价模型的建议,一个资产分散状况良好的投资组合,最容易受()因素的影响。 A. 系统性风险 B. 投资分配比https://www.shuashuati.com/ti/8a36878f3a114bbfb927fcd7c5097012.html?fm=bd48484da6b7cb8798fd0b0e1931dec828
8.awesomegoNoSQL数据库驱动程序 检索及分析资料库 日期和时间 分布式系统 动态域名 电子邮件 可嵌入的脚本语言 错误asciigraph star:2132 在命令行中构建轻量级ASCII线图╭┈╯,应用程序中没有其他依赖项。 uiprogresscmdr star:118 一个POSIX/GNU风格的、类似getopt的命令行UI Go库。 env star:102 基https://gitea.mrx.ltd/Go-pkg/awesome-go-cn/src/commit/c5a36a9329cd55bce92df7888f09e744ebea35b5/README.md
9.图数据库发展综述图数据库管理系统(以下简称图数据库)是一种经过优化的用于存储、查询和更新图结构数据的数据库管理系统[5], 它支持对图数据模型的增、删、查、改(CRUD)方法. 图数据库以数学中的图论作为理论基础, 以图模型为特点进行数据存储, 主流的图模型有3种, 分别是属性图、RDF和超图. 相对于RDF和超图属性图模型目前https://c-s-a.org.cn/html/2022/8/8713.html
10.库+网络库+视频库+微服务框架+视频教程+音频音乐库+图形图片库优秀的第三方库 音频和音乐 数据结构:Go中的通用数据结构和算法 分布式系统:Go中的通用数据结构和算法基于ringbuffer实现的队列 https://github.com/eapache/queue 拼音 https://github.com/go-ego/gpygo-rquad 具有有效点定位和邻居发现功能的区域四叉树。 gocache 具有多个存储(内存,memcache,redis等https://github.com/r14152/golangFamily
11.精选了千余项目,包括机器学习深度学习NLPGNN推荐系统推荐系统 机器视觉 因果推断 金融股票与时间序列 强化学习 语音识别与合成 生物医药 图数据库 图算法 图神经网络GNN 大数据 虚拟化 安全与渗透 硬件 网络与前后端开发 其他项目 机器学习与深度学习 Coursera-ML-AndrewNg-Notes [教程/笔记]吴恩达老师的机器学习课程个人笔记 d2l-ai/d2l-zh [教程/笔记]《动手学深https://openi.pcl.ac.cn/gzoftju/gzoft202308011423431
12.机器学习与数据科学(基于R的统计学习方法)第2章:连接数据。机器学习的第一步是连接到一个合适的数据集,在R环境下得到数据内容,然后开始对其进行分析。在这一章中,我们使用R来连接数据,使用不同数据源(逗号分割文件格式CSV、Excel、JSON、Twitter和谷歌分析)用多种方式连接。我们也会铺设一条在SQL数据库中连接数据的通路。一旦数据连接到R环境中,我们就能开https://www.epubit.com/bookDetails?id=N17365
13.MKR模型在电影推荐系统中的应用研究摘要: 针对电影推荐系统中推荐结果的准确性和可解释性不高的问题,研究了基于多任务特征学习的知识图谱增强推荐(multi-task learning for knowledge graph enhanced recommendation, MKR)。通过构建知识图谱,将其作为辅助信息构建了MKR模型,并将其应用到电影推荐系统中。采用预测用户满意度评分的方法根据评分结果来判定用户http://hanspub.org/journal/PaperInformation?paperID=41485
14.新闻推荐系统python新闻推荐系统ER图柳随风的技术博客新闻推荐系统 python 新闻推荐系统ER图 E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。 用矩形表示实体型,矩形框内写明实体名;用椭圆表示实体的属性,并用无向边将其与相应的实体型连接起来;用菱形表示实体型之间的联系,在菱形框内写明联系https://blog.51cto.com/u_14276/7307966
15.计算机支持的协同学习7篇(全文)UACFRAC流程图如图1所示。 该模型,首先通过数据集得出用户i的相似度集合和用户u对项目v评分r的共同属于聚类k的概率; 再通过条件选择以及相应计算得到用户i对于项目v的最近邻用户集合; 最后预测评分,并由预测评分排序,评分高的项目推荐给用户。本文的增量更新机制采用文献[11]中改进的增量更新机制,其基本原理是: 当https://www.99xueshu.com/w/ikeyrku0so8e.html
16.河南财大成教《大数据基础》高起专原题及答案1、关于推荐系统的说法错误的是() A.推荐系统的架构为离线计算-在线计算-推荐引擎APP B.推荐系统的相关技术包括机器学习及数据挖掘算法等 C.推荐系统的常见9、在数据库设计中,将E-R图转换成关系数据模型的过程属于() A.需求分析阶段 B.物理设计阶段 C.逻辑设计阶段 D.概念设计阶段 答案:C 10、在合并分Ehttp://www.ehnzk.com/forum.php?mod=viewthread&tid=1820&page=1
17.跨媒体科技大数据的知识图谱构建与动态精准画像图神经网络模型的特征交互建模 文/张晓宇,李泽坤,吴书 36 面向开放协同的科技大数据汇聚融合与演化分析平台研究 文/陈浩,陈建国 42 慧科研:基于科技大数据计算的智能知识服务平台 文/钱力,谢靖,胡吉颖 48 FedCube: 面向隐私数据的数据联邦计算平台 文/刘吉,熊昊一,季石磊,李徐泓,边江,窦德景 54 科技情报分析系统https://new.caai.cn/index.php?s=/home/file/download/id/456.html
18.图计算人工智能之图计算图(Graph)是一种重要的数据结构,它由节点V(或称为顶点,即个体),与边E(即个体之间的联系)构成,我们一般将图表示为G(V,E)。图数据的典型例子有网页链接关系、社交网络、商品推荐等。对应互联网来说,可以把web网页看作顶点,页面之间的超链接关系作为边;对应社交网络来说,可以把用户看作顶点,用户之间建立的关系https://www.zhuanzhi.ai/document/5d59a34bbf23eccbe8589070a95fc534