推荐系统知识的文摘和总结1

2024-05-13 05:48

本文主要是介绍推荐系统知识的文摘和总结1,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

     感觉自己这个初学者也许太急功近利了。之前的一些基本概念看得都忘了差不多了,今晚特此总结。希望可以得到更深刻的理解和认识。我是参考IBM的《探索推荐引擎内部的秘密》这里面第一部分---推荐引擎初探来总结。下面是主要内容:

    1.分清楚搜索引擎和推荐引擎的区别。

     搜索引擎就是你有个固定的关键词,然后你在百度,google里面去搜索,得到你想要的资料。也就是你有个明确的目标,这样找肯定可以很快的找到。但是,事情总是变化的,有时候你想找的东西总是不好描述,也就是你的目标不明确,这样寻找对于搜索引擎来说就很麻烦了。所以就出现了推荐引擎,它或许可以帮助大家解决问题。随着推荐引擎的出现,用户获取信息的方式从简单的目标明确的数据的搜索转换到更高级更符合人们使用习惯的信息发现。

    备注:区别就是目标是明确的还是不明确的。记得一个人的搜索能力是很重要,你不可能掌握很多的知识和事情,但是当你不知道你可以借助网络来帮你解答。这个就是你需要准备定位你的关键词或者推荐引擎很好都可以帮助你更快的找到问题的答案。还有个需要说明的,文章中说了这是个信息极度爆炸的时代,也就是大数据的时代,我们需要根据这些数据来帮助我们解决问题。

    2.推荐系统的工作原理。

 

这个是推荐系统的工作原理图。我们可以把推荐系统当做一个黑盒,来考虑输入和输出。输入是推荐的数据源,数据源包括:

  • 要推荐物品或内容的元数据,例如关键字,基因描述等;
  • 系统用户的基本信息,例如性别,年龄等
  • 用户对物品或者信息的偏好,根据应用本身的不同,可能包括用户对物品的评分,用户查看物品的记录,用户的购买记录等。

推荐引擎根据不同的推荐机制可能用到数据源中的一部分,然后根据这些数据,分析出一定的规则或者直接对用户对其他物品的喜好进行预测计算。这样推荐引擎可以在用户进入的时候给他推荐他可能感兴趣的物品。这样,一个推荐引擎就可以了。

  3.推荐引擎的分类。

   3.1推荐引擎是不是为不同的用户推荐不同的数据

   根据这个可以分为:基于大众的推荐引擎和个性化的推荐引擎。这个应该比较好理解,就是某天你打开一个网站,你看看他为你推荐的,然后你转个身看你座位旁边的推荐,如果和你一样拿就是基于大众的推荐引擎,不一样那就是个性化的推荐引擎。基于大众的推荐引擎比较简单,也可以看到用的地方,比如一些比较门的东西或者季节性的东西。显然,每个人的兴趣和爱好什么的都不会一样,这样它的缺点也就出来了。所以出现了个性化的推荐引擎。后面讨论的大多数是个性化的推荐引擎,这才智能化,呵呵……

  3.2根据推荐引擎的数据源

分为三个:

    1.根据用户的基本信息发现用户的相关性,称为基于人口统计学的推荐(Demographic-based Recommendation)。

    2.根据物品或者内容发现物品或者内容的相关性,称为基于内容的推荐(Content-based Recommendation)。

    3.根据用户对物品或者内容的偏好,发现物品或者内容的相关性,或者发现用户的相关性,称为基于协同过滤的推荐(Collaborative Filtering-based Recommendation)。

  3.3根据推荐模型的建立方式

    1.基于物品和用户本身的,就是把每个用户和每个物品都看做是个独立的个体,预测每个用户对每个物品的喜欢程度。我们可以用二维矩阵来描述,很明显是个稀疏矩阵。我们不可能对每个物品都感兴趣。当然这也是个巨大的矩阵,计算起来比较复杂。所以,为了减少计算量,我们可以对物品和用户进行聚类,然后记录和计算一类用户对一类物品的喜欢程度。但是这样的模型肯定在准确性上有损失,但只要我们能接受就可以。

    2.基于关联规则的推荐。典型的就是购物篮的问题和啤酒和尿布的实例。通过关联规则来分析用户经常把哪些物品在一起购买。我们可以基于这些规则来推荐。大家可以在购物网站上看到买这个物品的人还买了什么的推荐或者是还浏览了什么的推荐。这个就是典型的基于关联规则的推荐。

    3.基于模型的推荐。这是个机器学习的问题,可以把已有的用户爱好数据作为训练样本,训练出一个预测用户爱好的模型。下次,只要用户进入系统,就可以用这个模型给予推荐。这种方法在于我们怎么样去寻找模型,从而得到更好的准确度。

     介绍完分类,说一个比较重要的问题。其实在现在的推荐系统中,很少有只使用了一个推荐策略的推荐引擎,一般都是在不同的场景下使用不同的推荐策略从而达到最好的推荐效果,例如 Amazon 的推荐,它将基于用户本身历史购买数据的推荐,和基于用户当前浏览的物品的推荐,以及基于大众喜好的当下比较流行的物品都在不同的区域推荐给用户,让用户可以从全方位的推荐中找到自己真正感兴趣的物品。

 

感觉有点多了,至于具体的模型总结放在下篇博客吧。欢迎大家指正。

 

 

 

 

这篇关于推荐系统知识的文摘和总结1的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/984841

相关文章

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

Linux系统之dns域名解析全过程

《Linux系统之dns域名解析全过程》:本文主要介绍Linux系统之dns域名解析全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、dns域名解析介绍1、DNS核心概念1.1 区域 zone1.2 记录 record二、DNS服务的配置1、正向解析的配置

java常见报错及解决方案总结

《java常见报错及解决方案总结》:本文主要介绍Java编程中常见错误类型及示例,包括语法错误、空指针异常、数组下标越界、类型转换异常、文件未找到异常、除以零异常、非法线程操作异常、方法未定义异常... 目录1. 语法错误 (Syntax Errors)示例 1:解决方案:2. 空指针异常 (NullPoi

查看Oracle数据库中UNDO表空间的使用情况(最新推荐)

《查看Oracle数据库中UNDO表空间的使用情况(最新推荐)》Oracle数据库中查看UNDO表空间使用情况的4种方法:DBA_TABLESPACES和DBA_DATA_FILES提供基本信息,V$... 目录1. 通过 DBjavascriptA_TABLESPACES 和 DBA_DATA_FILES

Linux系统中配置静态IP地址的详细步骤

《Linux系统中配置静态IP地址的详细步骤》本文详细介绍了在Linux系统中配置静态IP地址的五个步骤,包括打开终端、编辑网络配置文件、配置IP地址、保存并重启网络服务,这对于系统管理员和新手都极具... 目录步骤一:打开终端步骤二:编辑网络配置文件步骤三:配置静态IP地址步骤四:保存并关闭文件步骤五:重

最新Spring Security实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)

《最新SpringSecurity实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)》本章节介绍了如何通过SpringSecurity实现从配置自定义登录页面、表单登录处理逻辑的配置,并简单模拟... 目录前言改造准备开始登录页改造自定义用户名密码登陆成功失败跳转问题自定义登出前后端分离适配方案结语前言

OpenManus本地部署实战亲测有效完全免费(最新推荐)

《OpenManus本地部署实战亲测有效完全免费(最新推荐)》文章介绍了如何在本地部署OpenManus大语言模型,包括环境搭建、LLM编程接口配置和测试步骤,本文给大家讲解的非常详细,感兴趣的朋友一... 目录1.概况2.环境搭建2.1安装miniconda或者anaconda2.2 LLM编程接口配置2

Java反转字符串的五种方法总结

《Java反转字符串的五种方法总结》:本文主要介绍五种在Java中反转字符串的方法,包括使用StringBuilder的reverse()方法、字符数组、自定义StringBuilder方法、直接... 目录前言方法一:使用StringBuilder的reverse()方法方法二:使用字符数组方法三:使用自

Windows系统下如何查找JDK的安装路径

《Windows系统下如何查找JDK的安装路径》:本文主要介绍Windows系统下如何查找JDK的安装路径,文中介绍了三种方法,分别是通过命令行检查、使用verbose选项查找jre目录、以及查看... 目录一、确认是否安装了JDK二、查找路径三、另外一种方式如果很久之前安装了JDK,或者在别人的电脑上,想

国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)

《国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)》本文给大家利用deepseek模型搭建私有知识问答库的详细步骤和遇到的问题及解决办法,感兴趣的朋友一起看看吧... 目录1. 第1步大家在安装完ollama后,需要到系统环境变量中添加两个变量2. 第3步 “在cmd中