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

相关文章

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

MySQL 缓存机制与架构解析(最新推荐)

《MySQL缓存机制与架构解析(最新推荐)》本文详细介绍了MySQL的缓存机制和整体架构,包括一级缓存(InnoDBBufferPool)和二级缓存(QueryCache),文章还探讨了SQL... 目录一、mysql缓存机制概述二、MySQL整体架构三、SQL查询执行全流程四、MySQL 8.0为何移除查

Python中连接不同数据库的方法总结

《Python中连接不同数据库的方法总结》在数据驱动的现代应用开发中,Python凭借其丰富的库和强大的生态系统,成为连接各种数据库的理想编程语言,下面我们就来看看如何使用Python实现连接常用的几... 目录一、连接mysql数据库二、连接PostgreSQL数据库三、连接SQLite数据库四、连接Mo

MySql9.1.0安装详细教程(最新推荐)

《MySql9.1.0安装详细教程(最新推荐)》MySQL是一个流行的关系型数据库管理系统,支持多线程和多种数据库连接途径,能够处理上千万条记录的大型数据库,本文介绍MySql9.1.0安装详细教程,... 目录mysql介绍:一、下载 Mysql 安装文件二、Mysql 安装教程三、环境配置1.右击此电脑

在 Windows 上安装 DeepSeek 的完整指南(最新推荐)

《在Windows上安装DeepSeek的完整指南(最新推荐)》在Windows上安装DeepSeek的完整指南,包括下载和安装Ollama、下载DeepSeekRXNUMX模型、运行Deep... 目录在www.chinasem.cn Windows 上安装 DeepSeek 的完整指南步骤 1:下载并安装

深入理解Apache Airflow 调度器(最新推荐)

《深入理解ApacheAirflow调度器(最新推荐)》ApacheAirflow调度器是数据管道管理系统的关键组件,负责编排dag中任务的执行,通过理解调度器的角色和工作方式,正确配置调度器,并... 目录什么是Airflow 调度器?Airflow 调度器工作机制配置Airflow调度器调优及优化建议最

Git提交代码详细流程及问题总结

《Git提交代码详细流程及问题总结》:本文主要介绍Git的三大分区,分别是工作区、暂存区和版本库,并详细描述了提交、推送、拉取代码和合并分支的流程,文中通过代码介绍的非常详解,需要的朋友可以参考下... 目录1.git 三大分区2.Git提交、推送、拉取代码、合并分支详细流程3.问题总结4.git push

Spring Boot统一异常拦截实践指南(最新推荐)

《SpringBoot统一异常拦截实践指南(最新推荐)》本文介绍了SpringBoot中统一异常处理的重要性及实现方案,包括使用`@ControllerAdvice`和`@ExceptionHand... 目录Spring Boot统一异常拦截实践指南一、为什么需要统一异常处理二、核心实现方案1. 基础组件

C#实现系统信息监控与获取功能

《C#实现系统信息监控与获取功能》在C#开发的众多应用场景中,获取系统信息以及监控用户操作有着广泛的用途,比如在系统性能优化工具中,需要实时读取CPU、GPU资源信息,本文将详细介绍如何使用C#来实现... 目录前言一、C# 监控键盘1. 原理与实现思路2. 代码实现二、读取 CPU、GPU 资源信息1.