推荐系统知识的文摘和总结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

相关文章

MySQL基本查询示例总结

《MySQL基本查询示例总结》:本文主要介绍MySQL基本查询示例总结,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Create插入替换Retrieve(读取)select(确定列)where条件(确定行)null查询order by语句li

C++ HTTP框架推荐(特点及优势)

《C++HTTP框架推荐(特点及优势)》:本文主要介绍C++HTTP框架推荐的相关资料,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Crow2. Drogon3. Pistache4. cpp-httplib5. Beast (Boos

Python多进程、多线程、协程典型示例解析(最新推荐)

《Python多进程、多线程、协程典型示例解析(最新推荐)》:本文主要介绍Python多进程、多线程、协程典型示例解析(最新推荐),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定... 目录一、multiprocessing(多进程)1. 模块简介2. 案例详解:并行计算平方和3. 实现逻

ubuntu20.0.4系统中安装Anaconda的超详细图文教程

《ubuntu20.0.4系统中安装Anaconda的超详细图文教程》:本文主要介绍了在Ubuntu系统中如何下载和安装Anaconda,提供了两种方法,详细内容请阅读本文,希望能对你有所帮助... 本文介绍了在Ubuntu系统中如何下载和安装Anaconda。提供了两种方法,包括通过网页手动下载和使用wg

Spring Boot集成SLF4j从基础到高级实践(最新推荐)

《SpringBoot集成SLF4j从基础到高级实践(最新推荐)》SLF4j(SimpleLoggingFacadeforJava)是一个日志门面(Facade),不是具体的日志实现,这篇文章主要介... 目录一、日志框架概述与SLF4j简介1.1 为什么需要日志框架1.2 主流日志框架对比1.3 SLF4

ubuntu系统使用官方操作命令升级Dify指南

《ubuntu系统使用官方操作命令升级Dify指南》Dify支持自动化执行、日志记录和结果管理,适用于数据处理、模型训练和部署等场景,今天我们就来看看ubuntu系统中使用官方操作命令升级Dify的方... Dify 是一个基于 docker 的工作流管理工具,旨在简化机器学习和数据科学领域的多步骤工作流。

使用Python和SQLAlchemy实现高效的邮件发送系统

《使用Python和SQLAlchemy实现高效的邮件发送系统》在现代Web应用中,邮件通知是不可或缺的功能之一,无论是订单确认、文件处理结果通知,还是系统告警,邮件都是最常用的通信方式之一,本文将详... 目录引言1. 需求分析2. 数据库设计2.1 User 表(存储用户信息)2.2 CustomerO

Linux系统调试之ltrace工具使用与调试过程

《Linux系统调试之ltrace工具使用与调试过程》:本文主要介绍Linux系统调试之ltrace工具使用与调试过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、ltrace 定义与作用二、ltrace 工作原理1. 劫持进程的 PLT/GOT 表2. 重定

Springboot实现推荐系统的协同过滤算法

《Springboot实现推荐系统的协同过滤算法》协同过滤算法是一种在推荐系统中广泛使用的算法,用于预测用户对物品(如商品、电影、音乐等)的偏好,从而实现个性化推荐,下面给大家介绍Springboot... 目录前言基本原理 算法分类 计算方法应用场景 代码实现 前言协同过滤算法(Collaborativ

Linux区分SSD和机械硬盘的方法总结

《Linux区分SSD和机械硬盘的方法总结》在Linux系统管理中,了解存储设备的类型和特性是至关重要的,不同的存储介质(如固态硬盘SSD和机械硬盘HDD)在性能、可靠性和适用场景上有着显著差异,本文... 目录一、lsblk 命令简介基本用法二、识别磁盘类型的关键参数:ROTA查询 ROTA 参数ROTA