前言

如果你一直在跟着Fanstuck博主的脚步探索AI大模型的相关内容,从最初的大模型Prompt工程解析,DeepSeek全面解析,到实际的私有化大模型开发部署,再到深入NL2SQL、知识图谱大模型和ChatBI等更高阶应用.我是Fanstuck,致力于将复杂的技术知识以易懂的方式传递给读者,热衷于分享最新的行业动向和技术趋势。如果你对大模型的创新应用、AI技术发展以及实际落地实践感兴趣,那么请关注Fanstuck。

1、推荐算法分类

推荐系统的发展历史可以看作是一场技术迭代的缩影。从最早的协同过滤,到后来基于深度学习的方法,再到近几年火热的图神经网络与强化学习,直到今天我们谈论的大模型(LLM)推荐,这条路线背后反映的是行业不断追求更高精度、更强泛化能力以及更好的用户体验的过程。

在这一章里,我们先来回顾一下常见的几类推荐算法,理解它们的原理、优势与不足,同时配合一些实际案例,帮助你从整体上把握推荐系统技术的发展脉络。

1.1基于传统方法的推荐

在互联网早期,用户行为数据相对有限,模型复杂度也无法做得太高。于是,简单直观的推荐方法成了主流。这里面最典型的就是协同过滤基于内容的推荐。除此之外,还有基于知识的推荐,以及将多种方法融合的混合推荐。

名称

核心思想

典型模型/做法

优点

局限与风险

适用场景

协同过滤(CF)

“物以类聚、人以群分”:利用用户–物品交互矩阵中的相似性做外推

User-KNN / Item-KNN、MF(SVD/ALS/BPR)、item2vec

简单有效、可解释性较强(特别是 Item-CF)

冷启动、数据稀疏、易受噪声影响

老练业务、交互较丰富的场景

基于内容(Content-Based)

比较物品内容与用户画像的相似度

TF-IDF/BM25、特征工程 + 余弦相似度、词向量/句向量

冷启动友好、偏好可迁移

内容表征质量决定上限,易“窄化”

媒体/长文本、属性丰富的品类

基于知识(Knowledge-Based)

注入领域知识与规则,约束与增强推荐

规则库、知识图谱、约束检索

冷启动与合规友好、精准可控

知识获取/维护成本高,多样性受限

强合规/强约束场景(金融/医疗/政企)

混合(Hybrid)

多策略组合、取长补短

加权融合、切换、分区展示、分层(Meta-Level)

综合表现最好、鲁棒

复杂度高、参数调优难

大规模线上业务的主流工程范式

1.1.1 基于协同过滤的推荐

协同过滤(Collaborative Filtering,CF)可能是最广为人知的推荐算法了。它的直觉非常贴近人类社交:如果我和你兴趣相似,那么你喜欢的东西,我大概率也会喜欢。

协同过滤有两种经典形式:

  • 基于用户的协同过滤:寻找一群和目标用户兴趣相似的人,再把他们喜欢的物品推荐给目标用户。
  • 基于物品的协同过滤:找出和用户喜欢过的物品相似的候选物品,再推送给用户。

举个例子。在一个电影网站上,我们收集了用户对电影的打分,构建出一个用户–电影的评分矩阵。如果我们想预测 user5 对《盗梦空间》的喜好,可以先找到和 user5 观影口味最接近的几位用户,看看他们对这部电影的打分,再综合这些打分推测 user5 的偏好。

迷你案例(电影):构建用户–电影矩阵 → 计算 Item-Item 相似度 → 对目标用户做 Top-N 候选 → 结合近邻权重打分 → 推荐。

计算流程展示: 矩阵填充示例,预估user5对 movie1 的评分

步骤:

①数据收集:首先,需要收集用户与电影之间的交互数据,例如用户对电影的评分、浏览记录、购买记录等。

②创建矩阵:根据用户与电影的交互数据,构建一个用户-项目(电影)评分矩阵。

③选择协同滤波算法,此处默认选择与用户的协同过滤,该算法通过计算用户之间的相似度

④来找到与目标用户相似的其他用户,然后根据这些相似用户的喜好为目标用户推荐电影。

这种方法实现简单,而且在数据相对稠密的情况下表现很不错。但它的问题也很明显:

  • 新用户、新物品没有数据时,系统很难做出推荐,这就是所谓的冷启动问题;
  • 评分矩阵往往非常稀疏,很多地方都是空的,导致算法难以找到可靠的相似性。

为了缓解稀疏性,人们后来引入了矩阵分解(Matrix Factorization)方法,把用户和物品都映射到一个低维向量空间里,用向量点积来预测用户的兴趣。这类方法在 Netflix Prize 比赛中大放异彩,也推动了工业界的广泛应用。

1.1.2 基于内容的推荐

如果协同过滤强调的是“人以群分”,那么基于内容的推荐强调的就是“物以类聚”。它关注的是物品本身的特征,而不是依赖大量的用户行为。

比如,我们有一部电影的简介:“一支探索队进入虫洞,寻找人类的新家园。”如果用户之前喜欢过《星际穿越》,那么这部电影很可能也会吸引他。这里的关键在于如何把“电影的内容”转化为可计算的特征向量。

常见做法是对文本类特征使用 TF-IDF、BM25 或词向量来表示,对离散属性(类型、导演、演员)做独热编码,对数值属性(时长、评分)直接使用。最后,通过余弦相似度计算用户偏好和候选物品之间的距离。

基于内容的推荐在冷启动时比协同过滤更有优势,因为它不依赖用户行为。但它也容易陷入“越推越窄”的陷阱:如果你看了几部科幻片,系统就会一直推荐科幻,难以拓展到多样化的兴趣。

比如构建一个电影推荐系统,首先需要准备电影数据,这里假设有一个包含电影信息的 DataFrame,其中包括电影的标题、类型、导演、演员以及剧情简介等字段。

根据用户历史观看的电影(如“星际穿越”和“盗梦空间”),系统推荐了具有相似特征(如科幻类型、相同导演等)的电影。在这个例子中,BM25 算法有效地计算了用户偏好与候选电影之间的相似度,并为用户推荐了最相关的电影。

流程: ①特征提取:使用文本处理技术(如分词、去停用词等)对电影的剧情简介进行预处理,并构建词袋模型或 TF-IDF模型来表示电影的内容特征。

②用户偏好学习:根据用户历史观看的电影,提取这些电影的内容特征,并计算用户偏好的特征向量。例如,可以将用户观看过的电影的特征向量求平均作为用户的偏好向量

③相似度计算:使用余弦相似度、BM25 等算法计算用户偏好向量与候选电影特征向量之间的相似度。

1.1.3 基于知识/混合的推荐算法

除了协同过滤和内容推荐,还有一种方法是基于知识的推荐。它常见于强约束领域,例如医疗或金融。在这些场景里,推荐结果不仅要符合用户偏好,还必须满足一系列严格的业务规则。比如,在金融推荐中,用户的资质、风险等级、合规要求,都会影响能不能推荐某个理财产品。

工业界更常用的是混合推荐。这是因为单一方法往往有局限,而混合能取长补短。举例来说,电商网站可能会同时展示“基于内容的个性化推荐”、“热门商品推荐”、“知识规则约束下的必推品”,并通过加权或分区的方式综合展示给用户。像亚马逊、当当这样的大型平台,几乎都是混合推荐的典型代表。

1.2 基于深度学习的推荐

随着深度学习的兴起,推荐系统也逐渐进入“深度建模”的阶段。深度学习的优势在于能够自动学习复杂的特征表示和交互关系,而不需要人工设计大量特征。

例如,DSSM、YouTube DNN、双塔模型等架构擅长处理大规模向量召回;Wide&Deep、DeepFM类模型可以同时捕捉特征的记忆性与泛化性;DIN、DIEN则通过注意力机制对用户的行为序列进行建模,能够理解用户兴趣的动态变化。

这些模型大幅提升了推荐的精度,让系统能够更准确地捕捉用户的细粒度兴趣。不过,它们对算力和数据规模的要求也更高,因此更适合头部平台。

1.3基于图的推荐

有些场景下,用户和物品之间的关系本质上是一张复杂的网络。比如,在知识图谱中,用户、物品、属性、标签都可以看作节点,而交互就是连接它们的边。推荐的任务就是在图上挖掘潜在的连接。

典型方法包括 PersonalRank(类似 PageRank,从用户节点出发迭代传播权重),以及 DeepWalk / node2vec 这样的图嵌入方法(通过随机游走生成节点序列,再用 Word2Vec 把节点表示成向量)。近年来,图神经网络(GNN)也逐渐应用到推荐中,比如 LightGCN 就通过层次聚合邻居节点的信息,捕捉更复杂的兴趣关系。

1.4 基于强化学习的推荐

强化学习是一种机器学习方法,通过代理在环境中进行交互来学习如何实现最佳行为。在推荐系统中,代理可以理解为推荐系统,环境可以理解为用户行为空间,状态可以理解为用户在系统中的不同情况,动作可以理解为推荐不同的内容,奖励可以理解为用户对推荐内容的反馈。

典型算法:

  • Q-Learning:基于 Q值的强化学习算法,用于学习代理在环境中实现最佳行为。
  • Deep Q-Network(DQN):基于深度神经网络的 Q-Learning 算法,用于解决推荐系统中的数据稀疏性问题。
  • Policy Gradient:基于策略梯度的强化学习算法,用于学习多种策略以适应各种不同的用户需求。

1.5 基于大模型的推荐

最后,我们来到大模型(LLM)的时代。虽然 LLM 本身并不是专门为推荐系统设计的,但它们具备强大的语义理解与生成能力,能够在推荐中发挥独特作用。

它们可以帮助推荐系统更好地理解复杂文本、跨模态信息;可以生成自然的推荐理由,提升用户体验;还能在冷启动时快速为新物品构建语义画像。可以说,大模型的引入,为推荐系统提供了一种全新的思路。后续我们将在第三章中深入展开这部分的应用。

2、推荐系统的详细方案理解

很多初学者一开始会以为“推荐系统 = 推荐算法”,但实际上这是一种误解。真正的推荐系统更像是一条复杂的流水线,算法只是其中的一个环节。它既要保证推荐的精准度,又要在合规性、可解释性和用户体验之间找到平衡。

理解了推荐算法之后,我们需要意识到:一个真正能在生产环境中运行的推荐系统,远远不只是一个“模型”。它更像是一条流水线,既包括数据采集与特征工程,也包括召回、排序、重排,最后还要有合规、安全与监控保障。

为了说明这一点,我们不妨继续用短视频平台作为案例。

视频推荐的完整流程

首先是内容审核。在视频进入推荐前,平台会先进行多模态审核:利用计算机视觉模型识别画面中的违规元素,用 NLP 模型分析标题和文案,过滤掉敏感信息。机器筛查之后,仍然会把部分视频交给人工审核员进一步把关。只有通过这一关的视频,才能进入推荐系统。

接下来是冷启动分发。系统会把新视频随机推送给一个小规模的测试人群,比如两三百个用户。平台会观察这些用户的反馈指标,例如完播率、点赞、评论、转发、是否关注作者等。如果反馈良好,视频就会获得更多曝光机会。

当视频表现优异时,它就会进入更大流量池,同时系统会利用标签机制,把它推荐给兴趣更匹配的用户。例如,一个关于“科幻主题”的视频会更容易推送给平时爱看科幻短片的观众。

一旦视频进入精品推荐池,它就能获得大规模曝光。这个阶段系统会弱化标签限制,让内容接触到更广泛的人群,有时甚至会触发“爆款效应”。

除此之外,系统还会周期性地重新挖掘旧视频。如果一个视频和当下的热点事件产生了新的联系,它可能会再次被推荐,形成“延迟爆款”。

在整个流程中,平台必须时刻关注合规性与用户隐私。任何推荐内容都不能触碰法律和道德的红线;同时,用户数据必须经过严格的保护和最小化使用。

算法在其中的角色

需要强调的是,在这一整条链路中,推荐算法虽然只是其中的一个环节,但却是最核心的“心脏”。没有好的算法,视频无法精准匹配用户;但如果缺少审核、冷启动、合规、反馈闭环的支持,再好的算法也难以真正落地。

因此,一个推荐系统的成功,往往来自“算法 + 工程 + 规则”的协同。算法解决“精确性”,工程保障“效率与可扩展性”,规则确保“安全与合规”。三者缺一不可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/96455.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/96455.shtml
英文地址,请注明出处:http://en.pswp.cn/web/96455.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【已解决】Echarts 力学布局图谱切换图例的时候线条残留在了画布上

在用Vue3封装 ECharts 的力导向图(graph force)时,我遇到一个问题:点击图例切换节点显隐后,线条残留在原位置,画布出现“脏线条”。(问题如下:)这个问题本质上是因为…&…

Vue动态实时字数限制

文章目录🚀 Vue.js 动态实时字数限制指南1. 核心实现方法1.1 使用计算属性 (Computed Property)1.2 结合计算属性的 Setter/Getter1.3 使用监听器 (Watcher)1.4 使用自定义指令 (Custom Directive)1.5 原生 maxlength 属性结合 Vue2. 特殊场景处理2.1 处理粘贴操作2…

荣耀手机无法连接win11电脑,错误消息:“无法在此设备上加载驱动程序 (hn_usbccgpfilter.sys)。”解决方案

错误发生背景: 本人于2024年月底买了一部荣耀Magic7 RSR手机,当时在win10的rog电脑上可以正常连接,但是后面换了一个acer的win11电脑后,一开始可以正常连接,但是要我下载荣耀Hisuite(荣耀手机助理&#xff…

springboot env 多环境配置入门与实战

Spring Boot3 Env 项目地址 https://gitee.com/supervol/loong-springboot-study (记得给个start,感谢) Env 概述 在 Spring Boot 3 开发中,多环境配置是核心能力之一,其目的是为不同场景(如开发、测试、…

利用conda打包/复刻生信环境

01、写在前面 大家拿到自己的服务器(趁开学| 入手足够完成硕博生涯的生信环境)后可能需要安装很多的软件与包,Linux中许多包的安装依赖过多、安装复杂。而conda作为一个能够直接安装超过90%软件的"管家",能够像Windows和手机中的应用商店那样…

数据分析:合并

🔷 DA37:统计运动会项目报名人数(仅输出有人报名的项目)✅ 题目描述给定两个 CSV 文件:items.csv:包含项目信息(item_id, item_name, location)signup.csv:包含员工报名信…

高并发内存池(一):项目介绍和ThreadCache(线程缓存)实现

前言:本文将要介绍的高并发内存池,它的原型是Google的⼀个开源项⽬tcmalloc,全称Thread-Caching Malloc,近一个月我将以学习为目的来模拟实现一个精简版的高并发内存池,并对核心技术分块进行精细剖析,分享在…

RK3399平台ffmpeg-VPU硬编码录制USB摄像头视频、H264或MJPEG编码

文章目录 1 前言2 项目内容详细说明2.0 功能2.1 工程文件夹说明 3 代码3.1 CameraThread类3.1 CameraThreadImpl类 4 资源下载 1 前言 在某项目中需要在RK3399平台实现USB摄像头画面的实时预览、视频录制、拍照存储等功能。   先来看需要实现的最终效果。    ffmpeg USB摄…

解决蓝牙耳机连win11电脑画质依托答辩问题

以wh910n蓝牙耳机为例 设置-系统-声音-输出(耳机)-常规(输出点不允许)然后删除wh910n蓝牙设备 重新配对蓝牙耳机

独立显卡和集成显卡切换电脑卡住了怎么办?

你是不是也遇到过这种情况——正忙着切换显卡呢,电脑突然就卡住了,鼠标不动、屏幕定格,怎么按都没反应?其实这种问题挺常见的,尤其是用了双显卡的笔记本或者工作站。别急着强制关机,嗯,咱们一步…

Java根据模版导出PDF文件

问题 工作中经常有这样的需求,将一些数据,导出为下图的PDF文件,那Java怎么做呢?今天手把手教你 准备模版 模版地址:https://download.csdn.net/download/ZHUSHANGLIN/91923381 修改模版使用AcrobatProPortable工具…

力扣hot100:环形链表(快慢指针法)(141)

一、题目描述二、思路分析这是链表题目中的经典问题,核心就是 如何判断链表是否有环。 常见的两种方法有:哈希表法:用一个集合存储访问过的节点,如果再次遇到相同节点说明有环。缺点:需要额外的空间,空间复…

AI 智能编码工具:重塑开发效率的革命,从 GitHub Copilot 到国产新秀的全面解析

目录 引言 一、主流智能编码工具深度测评:从功能到实战 1. GitHub Copilot:AI 编码的 “开山鼻祖” 核心特性与实战代码 优缺点总结 2. Baidu Comate:文心大模型加持的 “国产之光” 核心特性与实战代码 优缺点总结 3. 通义灵码&…

Server 13 ,CentOS 上使用 Nginx 部署多个前端项目完整指南( 支持多端口与脚本自动化 )

目录 前言 一、实际背景 1.1 并行部署 1.2 接口代理 1.3 刷新问题 二、安装脚本 2.1 创建脚本 2.2 不同系统 2.3 执行完成 三、配置文件 3.1 配置文件 3.2 目录结构 3.3 重新启动 四、验证访问 五、问题排查 5.1 访问 404 5.2 接口 502 六、本文总结 6.1 清理…

2025最新:彻底解决Docker拉取镜像超时问题

文章目录🐳 解决 Docker 拉取镜像超时:context deadline exceeded 完整指南(2025 亲测有效)🔥 问题描述🧩 根本原因分析✅ 解决方案汇总✅ 方案 1:配置多源镜像加速器(推荐&#xff…

小鹏汽车 vla 算法最新进展和模型结构细节

小鹏汽车在 VLA(视觉 - 语言 - 动作)算法领域的最新进展和模型结构细节,体现了其在端到端智驾系统和车端大模型部署上的技术突破。以下是基于 2025 年 9 月最新公开信息的深度解析: 一、最新进展:全场景 VLA 系统量产落…

斐波那契数列推广

目录 问题: 法一: 法二: 例题: 问题: 已知斐波那契数列的第一个和最后一个数字,如何求整个数列(即第二个数字) 法一: 主要是将数列拆分成两个数列的思想 法二: 暴力…

基于STM32设计的智慧路灯(华为云IOT)_281

文章目录 一、前言 1.1 项目介绍 【1】项目开发背景 【2】设计实现的功能 【3】项目硬件模块组成 【4】设计意义 【5】国内外研究现状 【6】摘要 1.2 设计思路 1.3 系统功能总结 1.4 开发工具的选择 【1】设备端开发 【2】上位机开发 1.5 参考文献 1.6 系统框架图 1.7 系统原理…

实验十 合理定义分布列实现性能优化-分布式表关联

实验介绍本实验通过分析普通查询过程中存在的性能瓶颈点,通过执行计划的分析找到可能的性能优化点并加以实施,最终达到优化的效果,重点关注分布式关联相关查询语句的优化。实验目的了解通过合理定义分布列实现分布式关联的性能优化。实验步骤…

C#,RabbitMQ从入门到精通,.NET8.0(路由/分布式/主题/消费重复问题 /延迟队列和死信队列/消息持久化 )/RabbitMQ集群模式

为什么使用消息队列 消息队列(MQ)在分布式系统中用于解耦生产者和消费者,提高系统的异步处理能力、削峰填谷、增强可扩展性和可靠性。通过消息队列,任务可以异步执行,避免系统因瞬时高并发而崩溃。 消息队列场景 异…