推荐系统个人理解(理论部分)

推荐系统是随着互联网的发展而形成的一个系统,他主要是为了解决信息过载的一些问题。随着互联网的深入发展,越来越多的信息在互联网上传播,产生了严重的信息过载,假设不採取一定的手段用户非常难从如此多的信息中找到对自己有价值的信息。

推荐系统的任务就是联系用户和信息,一方面帮助用户发现对自己有价值的信息,另外一方面让信息能够展如今对它感兴趣的用户面前。推荐系统不须要用户提供明白的需求,而是通过分析用户的历史行为给用户的兴趣建模。从而主动给用户推荐能够满足他们兴趣和需求的信息。为了解决信息过载问题主要是通过两个方面。一方面是通过搜索。另外一方面是通过推荐。搜索是解决用户明白的需求,推荐是解决用户不明白的需求。推荐系统广泛地应用于电子商务。电影视频站点,社交站点,个性化广告等领域。

推荐系统经常使用的方法

1.基于用户的推荐

基于用户的推荐就是将目标用户和其它用户的数据进行比較,来实现推荐,主要是找到和目标用户兴趣同样的其它用户喜欢的商品,并且目标用户没有听说过的物品,推荐给目标用户。

2.基于物品的推荐

基于用户的协同过滤算法有自身的缺点,随着站点的用户数目越来越大,用户类似度矩阵也越来越大。计算用户兴趣类似度矩阵就变得越来越困难,运算的时间复杂度和空间复杂度会随用户的增长而变大。

并且基于用户的协同过滤也非常难对推荐结果作出解释。基于物品的协同过滤算法并不利用物品的内容属性来计算类似度。它主要通过分析用户的行为记录来计算物品之间的类似度。一般来说,物品a和物品b有非常大的类似度是由于喜欢物品a的用户大都也喜欢物品b。

3.基于内容的推荐

此方法在新闻站点,电商站点中用的比較多,由于电商站点其中,可能非常多商家卖同一种商品,然后须要对商品名做分词处理,然后依据用户的查询keyword来触发。

4.基于位置的推荐

不同的位置反映了不同的用户场景。我们能够依据目标用户的当前位置,依据用户的历史消费历史浏览记录。找出区域消费热单。区域购买热单。

5.基于标签的推荐

基于标签的推荐主要是给目标用户推荐那些具有目标用户喜欢的特征的物品,这些特征有不同的表现方式能够表现为物品的属性,或者有同样的隐含意义。标签主要有两种,一种是系统内部设定,第二种是系统的外部用户设定,如常见的UGC标签。

无论採用何种算法,都要涉及到类似度的计算。类似度的计算方法一般有欧式距离。明可夫斯基距离,马氏距离,向量的余弦值,皮尔逊相关系数,简单匹配系数。jaccard系数。广义jaccrd(tanimoto)系数,一般来说。推荐系统的预測精确性不受类似度度量方法选择的影响。在实际应用中,向量的余弦值。皮尔逊相关系数等用的比較多。

一般来说,不可能一种推荐算法就能够解决我们碰到的问题。在实际应用中我们通常是组合各种不同的推荐算法,给不同的推荐算法赋予不同的权重,然后通过排序输出结果。

时间: 2024-10-12 05:16:45

推荐系统个人理解(理论部分)的相关文章

达观数据分析推荐系统和搜索引擎关系

推荐系统和搜索引擎的关系达观陈运文 从信息获取的角度来看,搜索和推荐是用户获取信息的两种主要手段.无论在互联网上,还是在线下的场景里,搜索和推荐这两种方式都大量并存,那么推荐系统和搜索引擎这两个系统到底有什么关系?区别和相似的地方有哪些?本文作者有幸同时具有搜索引擎和推荐系统一线的技术产品开发经验,结合自己的实践经验来为大家阐述两者之间的关系.分享自己的体会(达观数据陈运文博士) 图1:搜索引擎和推荐系统是获取信息的两种不同方式 主动或被动:搜索引擎和推荐系统的选择 获取信息是人类认知世界.生存

推荐系统:技术、评估及高效算法

这篇是计算机类的优质预售推荐>>>><推荐系统:技术.评估及高效算法> 内容简介 本书汇聚不同领域专家学者的理论成果和实践经验,全面介绍推荐系统的主要概念.理论.趋势.挑战和应用,详细阐释如何支持用户决策.计划和购买过程.书中既详细讲解了经典方法,又介绍了一些新研究成果,内容涵盖人工智能.人机交互.信息技术.数据挖掘.统计学.自适应用户界面.决策支持系统.市场和客户行为等领域,无论是从事技术开发,还是从事产品营销的读者,都能从中受益. 本书可分成五部分,共25章.第1章

0909对编译原理的理解

1.编译原理学什么? 编译原理旨在让人们学习编译程序构造的一般原理和基本方法.内容包括语言和文法.词法分析.语法分析.语法制导翻译.中间代码生成.存储管理.代码优化和目标代码生成,而且这门课程关注的是编译器方面的产生原理和技术问题.回归到本质上,学习编译原理其实也就是学习一个相对复杂的算法. 2.为什么学编译原理? 编译原理这门课程实际蕴含着计算机学科中解决问题的思路.形式化问题和解决问题的方法,这些思路和方法除了对应用软件和系统软件的设计与开发有一定的启发和指导作用外,在提倡学科的交叉不断创新

「4+1视图」学习与理解

声明:部分内容摘录了简书「橘色对白」作者的文章片段. 之前经常看到文章中提到「4+1视图」,对其也有片面的理解,但一直没有实践过,不清楚其真正的作用,这两天在业务需求分析中运用了其中的一部分,想谈谈自己的粗浅理解. 最近在调研「多租户」实现方案时,看到简友「橘色对白」的3篇关于多租户架构的文章,其中一篇「以CRM系统为例,浅析初级SaaS架构的构建方法」,以「4+1视图」的形式,覆盖了分析.设计.开发.部署等阶段,如何一步一步递进,形成最终的实施方案. 所谓「4+1视图」,是从5个不同视角来描述

数据结构与算法简记--动态规划理论

动态规划理论 一个模型三个特征 多阶段决策最优解模型 最优子结构 最优子结构指的是,问题的最优解包含子问题的最优解.反过来说就是,我们可以通过子问题的最优解,推导出问题的最优解. 如果我们把最优子结构,对应到我们前面定义的动态规划问题模型上,那我们也可以理解为,后面阶段的状态可以通过前面阶段的状态推导出来. 无后效性 无后效性有两层含义,第一层含义是,在推导后面阶段的状态的时候,我们只关心前面阶段的状态值,不关心这个状态是怎么一步一步推导出来的. 第二层含义是,某阶段状态一旦确定,就不受之后阶段

对比学习资料《深度学习入门:基于Python的理论与实现》+《深度学习原理与实践》+《深度学习理论与实战基础篇》电子资料

我认为<深度学习入门:基于Python的理论与实现>电子书代码基本原理,简洁清楚,所用数学基本就是大一水平,适合做第一本入门书. <深度学习入门:基于Python的理论与实现>书代码实现的神经网络全是用numpy,超级适合刚刚入门想了解神经网络,数学不好看公式看不懂的人,看完这本基本就懂深度学习是弄啥子了. 如果连这本都看不懂的话,可以去看<Python神经网络编程>.我个人认为这两本书是最简单直白的方式让人理解神经网络的了. <深度学习原理与实践>电子书代

编译原理简单介绍

编译原理学习导论 大学课程为什么要开设编译原理呢?这门课程关注的是编译器方面的产生原理和技术问题,似乎和计算机的基础领域不沾边,可是编译原理却一直作为大学本科的必修课程,同时也成为了研究生入学考试的必考内容.编译原理及技术从本质上来讲就是一个算法问题而已,当然由于这个问题十分复杂,其解决算法也相对复杂.我们学的数据结构与算法分析也是讲算法的,不过讲的基础算法,换句话说讲的是算法导论,而编译原理这门课程讲的就是比较专注解决一种的算法了.在20世纪50年代,编译器的编写一直被认为是十分困难的事情,第

学习编译原理

刚刚进入大二,初学习到编译原理,一门新的技术,而且学习起来会比较抽象,不过好在大一曾学习到VC这一门东西,在学习此门课程之前,已在网上了解到不少学习这门课该提前遇到道德东西,也了解到很多人学习这门课的问题,在他们的经验中知道了不少学习方法,希望自己能在日后中用得上.例如这个就觉得很不错:删繁就简,避重就轻.网上流传较广的一篇<编译原理学习导论>(作者四川大学唐良)就基本是这种思路,对于词法分析,作者避免了自动机理论和集合论推演的介绍,直接搬出源码来,大大降低了理解难度,对于语法分析,作者介绍了

0909对编译原理的初了解

1.编译原理学什么? "编译原理":研究设计和构造编译程序原理和方法以及主要实现技术.其中蕴含着计算机科学中解决问题的思路.形式化问题和解决问题的方法.通过本课程的学习,使学生掌握编译理论和方法方面的基本知识,同时也获得设计.实现.分析和移植编译程序方面的初步能力. 编译原理(第3版)共10章,内容包括语言及文法的基本知识.词法分析.语法分析.语义分析及中间代码生成.符号表组织.运行时的存储组织与分配.代码优化及目标代码生成等.此外编译原理是一门实践性较强的课程,要联系实际,多看实验参