【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

分类模型与排序模型在推荐系统中的异同分析

  • 2019-04-29
  • 本文字数:2571 字

    阅读完需:约 8 分钟

分类模型与排序模型在推荐系统中的异同分析

前言

推荐系统是驱动内容分发的引擎,而个性化则是推荐系统的核心思想。分类模型和排序模型是业界常用的两种个性化建模方式。本文探讨两种方法的异同点,总结如下:


  1. 分类模型回答的是用户喜不喜欢这个物品,而排序模型回答的用户更喜欢哪一个;

  2. 在对事件发生的假设上,分类模型认为个样本之间相互独立且服从相同的分布,排序模型认为同组内部的样本是有关联关系和可以相互比较的;

  3. 从 Bayesian 的观点来看,分类模型刻画的是<user,item>的联合分布 P(user,item),而排序模型刻画的是条件分布 P(item|user);

  4. 从参数更新上来看,分类模型的参数更新由特征的绝对值确定,而排序模型由不同样本之间的特征的相对值确定。

背景知识

二项分布

在二项分布中事件只有两个取值 {0,1},1 表示事件发生,0 表示未发生。其中事件发生的概率为 p,不发生的概率为 1-p,用公式表达事件发生或者不发生的概率:




将上述两个式子联合在一起写:


分类模型与二项分布

分类模型试图回答这样一个问题:如果一个事件具备特征 x,那么根据以往的经验(和统计),事件为真的概率 (P(x=1)) 是多少?


为了回答这个问题,分类模型使用了两个函数,第一个函数将特征描述 x 映射为一个实数:



第二个函数将 _f(x)_映射为概率:



个人理解使用 sigmoid 函数, 有以下优点:


  1. 取值范围在 [0,1] 之间,符合概率定义的区间范围。

  2. 这种变换让 f(x) 有明确可解释的物理意义:对数几率



即 _f(x)_的物理意义是事件发生与否之比的对数。


  1. f(x) 值过大或者过小时 sigmoid(f(x)) 的导数趋近于 0,不会因为异常值导致模型难于收敛。




sigmoid 函数(上)及其导数(下)曲线


经过上述两次变换以后分类模型将一个特征描述 x 转换为一个概率值 P(x),下一步的工作是在训练集上让点击数据的 P(x) 接近于 1,而未点击数据的概率值接近于 0。我们引入辅助变量 P’(x),对于点击事件定义其值为 1,非点击事件定义其值为 0。所以我们要做的是在训练集上让 P(x) 接近于 P’(x)


对于点击事件,最大化:



,对于非点击事件最大化



两者合并,无论对于点击还是非点击事件,我们都是在最大化:



上述表达式在作用在一条日志上, 对于整个数据集我们最大化的是:



因为连乘数值计算存在精读损失问题,所以我们进行对数变换:



即分类模型的优化目标为:


排序模型

排序模型有多种实现,本篇文章只讨论 Pairwise 模型。在 Pairwise 模型中,首先对数据分组,在搜索中每次搜索是一个组,在推荐中可以根据请求 ID 分组,也可以根据用户 ID 分组,哪种效果更好需要看具体使用场景。


类似于分类模型,我们也是让模型的输出结果与真实事件一致,只不过这里的事件不是点击与否的单个事件,而是偏序关系是否成立这个事件。类比分类模型,我们定义以下变量:



用户对 i 的反馈是否比 j 更好。



:模型对文档 i 的打分



要比对 j 的打分



更高的概率。


优化函数可以类比分类模型得到:


分析比较

两种模型输出值的物理意义

根据分类模型和排序模型的建模过程可知,分类模型的输出值 f(x) 为正负概率比值对数,对其求 sigmoid 函数以后就是事件发生的概率。而排序模型的分数值却不能直接和输出概率等价,只能将不同文档的分数放在一起进行比较认为用户可能更喜欢哪一个。从这个观点来看,分类模型不要求输出概率绝对正确,而只要求相对关系正确。因此分类模型要对两个样本都有准确的预估才能保持正确的偏序关系,其要求更高;而排序模型是分类模型的一个简化版本,只要求偏序关系的正确,并不要求预估值的绝对准确。一个完美的分类模型必然会是一个完美的排序模型,反之不然。在机器学习领域我们知道存在“天下没有免费的午餐”定律,在相同的数据集下,如果对模型的要求更高,那么必然要付出更多的代价。如果付出的代价一定(数据集相同,底层模型一致),一个更简单的模型效果可能更好。

事件之间的相互独立性假设

分类模型(公式 2)的总体惩罚值是各个样本惩罚值之和,样本之间的惩罚值没有显示关系;排序模型(公式 3)的总体惩罚值是各个 Pair 之和,一个 Pair 内部的惩罚值之间有相互关系,要求两者对比关系显著。因此分类模型建立在每个样本相互独立的基础上,而排序模型建立在同组样本可相互对比的基础上。结合推荐系统的具体使用场景,用户其实是主动挑选了更感兴趣的内容,因此上述比较是更符合客观情况的,另外用户在选择买还是不买/看还是不看的时候不排除有“货比三家”的心智模型,对内容进行比较之后再进行消费(时间或者金钱),考虑到这些因素,排序模型更能反映客观世界的真实情况。

参数更新方式的区别

假设模型的参数为 w,损失函数对参数的导数为:



因此 Pointwise 参数更新:



Pairwise 参数更新:



其中



为参数 w 的第 t 次迭代结果,x_i 是第 i 个特征。


(注:上述公式满足的前提条件是



,FM 等线性模型满足此条件。)


由上述更新公式可以看出,pointwise 的参数由文档特征的绝对值确定。 而 pairwise 的参数由文档相对文档特征确定。对于统计特征,



要比



低一到两个数量级,比如点击率的差 0.11 – 0.10 = 0.01。也就是说 pairwise 模型降低了模型对统计特征的敏感度。对于 ID 特征,如果用户点击和展示的是不同的文档,其语义信息不一样,所以:



每个参数都会被正常更新(这里



表示正样本的语义向量,



表示负样本的语义向量)。 但是如果用户一直沉溺在类似的文档中,比如标题中都含有类似的色情词,他们的语义向量会比较接近一些,因此



近似于零向量,参数不会被更新,这些色情词就不会对模型造成影响。


综上,pairwise 模型相对于 pointwise 模型在抑制奇闻怪异,色情裸露文档方面有两个优点:


  1. 降低了对统计特征的敏感程度。

  2. 减小了沉溺用户对排序模型的干扰。

联合概率 vs 条件概率

为了方便讨论,我们暂时换用 Hinge Loss 作为排序模型的惩罚函数:



即模型对正样本



的打分高于负样本



时不予惩罚,反之惩罚值随着误判值线性增加。其中




因此在 Hinge Loss 函数下排序模型建模的是条件概率,比联合概率少了 P(u) 的先验概率计算过程。如果 P(u) 的计算精确,那么计算联合概率和条件概率效果一样,如果 P(u) 计算有误差,那么省略掉 P(u) 的模型更鲁棒。再次套用“没有免费午餐定律”,其实排序模型是减小了模型的复杂度。

作者介绍:

邹敏,现任 Opera 高级算法专家。毕业于中科院,曾先后在微软和阿里巴巴大文娱工作过。对本文感兴趣的同学,欢迎与作者邮件交流:minzou@live.com


本文来自 邹敏 在 DataFun 社区的演讲,由 DataFun 编辑整理。


2019-04-29 08:005169

评论 1 条评论

发布
用户头像
正好有这个疑问,很好的解答!
2020-05-13 09:59
回复
没有更多了
发现更多内容

六大新兴技术助力未来工作效率提升

不在线第一只蜗牛

区块链 人工智能 云计算 物联网

中小企业“数实融合”的新趋势与新特点——探索数字化转型的秘诀

快乐非自愿限量之名

低代码 企业转型 数字转型

猜字谜|构建生成式 AI 应用实践(一)

亚马逊云科技 (Amazon Web Services)

Alibaba Cloud Linux 解锁云算力-软硬协同构建云上最佳操作系统体验

OpenAnolis小助手

Java Linux 阿里云 操作系统 龙蜥社区

HUAWEI Pocket 2亮相 HarmonyOS 4软硬件结合再掀智慧风潮

Geek_2d6073

数智赋能,变革加速:人工智能技术与低代码开发利器

EquatorCoco

人工智能 AI 软件开发 低代码

责任链模式与spring容器的搭配应用

快乐非自愿限量之名

区块链 spring 容器 责任链

蓝戟英特尔锐炫A770驱动对比测评,游戏性能迎来全面提升!

E科讯

TiDB 社区智慧合集丨TiDB 相关 SQL 脚本大全

PingCAP

MySQL 数据库 TiDB

已解决org.springframework.web.HttpSessionRequiredException异常的正确解决方法,亲测有效!!!

小明Java问道之路

快手商品数据采集神器,助你轻松获取商品详情数据

tbapi

快手商品详情数据接口 快手API接口 快手API 快手商品详情数据采集

性价比拉满!英特尔锐炫新驱动,提升可达418%!

E科讯

Runaway Queries 管理:提升 TiDB 稳定性的智能引擎

PingCAP

MySQL 数据库 TiDB

数据价值在线化丨TiDB 在企查查数据中台的应用及 v7.1 版本升级体验

PingCAP

MySQL 数据库 开源 分布式 TiDB

记录 re:Invent 大会,使用 PartyRock 编写我们第一个 AI 应用以及心得

亚马逊云科技 (Amazon Web Services)

人工智能 API re:Invent 生成式人工智能

2024 年的第一次见面!这场开源数据技术沙龙不容错过

Apache IoTDB

创纪录:英伟达市值一日增 2770 亿美元;Xiaomi 14 Ultra 正式发布丨 RTE 开发者日报 Vol.150

声网

互联网人的副业探索指南

老张

第二曲线 码农副业

TimechoDB v1.3.1 发布 | 新增多种内置函数、脚本工具等功能,集群可观测性持续提升

Apache IoTDB

电竞赛事开发融合体育直播平台:促进产业协同发展的新引擎

软件开发-梦幻运营部

NOW 闹个元宵?与亚信安慧AntDB一起猜灯谜,抽奖品

亚信AntDB数据库

数据库 AntDB AntDB数据库

ERC404 + meme 文化叙事,Dancing Beans 会达到怎样的高度?

股市老人

2024年,技术圈的热点会是什么?

伤感汤姆布利柏

分类模型与排序模型在推荐系统中的异同分析_文化 & 方法_DataFunTalk_InfoQ精选文章