2026-02-19 23:10 7
。

它既有协同过滤的血统#xff0c;又有机器学习的基因#xff0c;可以说是非常优秀了#xff1b;但即便如此#xff0c;传统的矩阵分解无论是在处理显式反馈又有机器学习的基因可以说是非常优秀了但即便如此传统的矩阵分解无论是在处理显式反馈还是
前面讲过的两种矩阵分解本质都是在预测用户对一个物品的偏好程度哪怕不是预测评分只是预测隐式反馈也是这个事实。
得到矩阵分解结果后常常在实际使用时又是用这个预测结果来排序。
原来的目标是让模型的预测误差最小化到最后还是只想要一个好点的排序。
这种针对单个用户对单个物品的偏好程度进行预测得到结果后再排序的问题在排序学习中的叫做point-wise,其中point意思就是只单独考虑每个物品每个物品
像是空间中孤立的点一样。
与之相对应的还有直接预测物品两两之间相对排序的问题叫做pair-wise
前面将的矩阵分解都属于point-wise模型。
这类模型的尴尬是只能收集到正样本没有负样本于是认为缺失值就是负样本再以预测误差为评判标准去逼近这些样本。
逼近正样本没有问题但同时逼近的负样本只是缺失值而已并不能确认用户到底是不喜欢还是喜欢。
虽然这些模型采取了一些措施来规避这个问题比如负样本采样但尴尬还是存在的为了排序而绕路也是事实。
来看待矩阵分解呢当然可以。
实际上更直接的推荐模型应该是能够较好地为用户排列出更好的物品相对顺序而非更精确的评分。
这个问题已经有专业的从业者们提出了方法贝叶斯个性化排序简称BPR模型。
下面我们就一探究竟。
在前面的专栏文章中已提到均方根误差用于评价模型预测准确度的。
现在要关注的是相对排序用什么指标比较好呢AUC,全称是Area
这个值在数学上等价于模型把关心的那一类样本排在其他样本前面的概率。
最大是1完美结果而0.5是书籍排列0就是完美的全部排错。
这个非常适合来评价模型的排序效果比如说得到一个推荐模型后按照它计算的分数能不能把用户真正想消费的物品排在前面。
这个模型上线前是可以用日志完全计算出来的。
1、用模型给样本计算推荐分比如样本都是用户和物品这样一对一对的同时还包含了有无反馈的标识
2、得到打过分的样本每条样本保留两个信息第一个是分数第二个是0或者1,1标识消费过是正样本0标识没有负样本
4、给每一个样本赋一个排序值第一位r1n,第二位r2n-1,以此类推其中要注意如果几个样本分数一样需要将其排序值调整为他们的平均值
\frac{\sum_{i∈(样本)}{T_i-\frac{M*(M
第一部分分母是我们关心的那类样本也就是正样本有M个以及其他的样本有N个这两类样本相对排序总共的可能性有M*N种
第二部分分子是这样计算的第一名的排序值是r_1它在排序上不但比过了所有的负样本而且比过了自己以外的正样本。
种组合以此类推排序值为rm的就贡献了rm-1,把这些加起来就是分子
关于AUC越接近1越好是肯定的但是并不是越接近0就越差最差的是接近0.5如果AUC很接近0的话只需要把模型预测的结果加个负号就能让AUC接近1
BPR模型它提出了一个优化准则和学习框架那到底BPR做了什么事情呢主要有三点
前面介绍的矩阵分解在训练时候处理的样本是用户、物品、反馈这样的三元组形式
其中反馈又包含真实反馈和缺失值缺失值充当负样本。
BPR则不同提出要关心的是物品之间对于用户的相对排序于是构造的样本是用户、物品1、物品2、两个物品相对排序这样的四元组形式其中两个物品的相对排序取值是
1、如果物品1是消费过的而物品2不是那么相对顺序取值为1是正样本
3、样本中不包含其他情况物品1和物品2都是消费过的或者都是没消费过的。
学习的顺序是反应用户偏好的相对顺序而在使用时面对的是所有用户还没消费过的物品这些物品仍然可以在这样的模型下取得相对顺序这就比三元组point-wise
现在每条样本包含的是两个物品样本预测目标是两个物品的相对排序。
BPR完成矩阵分解依然需要像交替最小二乘那样的思想。
先假设矩阵分解结果已经有了于是计算出用户对于每个物品的推荐分数只不过这个推荐分数可能并不满足均方根误差最小而是满足物品相对排序最佳。
得到了用户和物品的推荐分数后就可以计算四元组的样本中物品1和物品2的分数差这个分数可能是正数也可能是负数还可能是0
希望的情况是如果物品1和物品2相对排序为1那么希望两者分数之差是个正数而且越大越好如果物品1和物品2的相对排序时0则希望分数之差是负数且越小越好
Xu12,表示的是对于用户u,物品1和物品2的矩阵分解预测分数差。
然后再用sigmoid函数把这个分数差压缩到0到1之间。
用这种方式预测了物品1排在物品2前面的似然概率所以最大化交叉熵就是目标函数了。
目标函数通常还要防止过拟合加上正则项正则项其实认为模型参数有个先验概率这也是BPR这个名字中有’贝叶斯’的来历。
BPR认为模型的先验概率符合正态分布对应到正则化就是说L2正则。
,和似然概率的乘积最大化这个目标函数就能够得到分解后的矩阵参数其中theta就是分解后的矩阵参数。
这个目标函数化简和变形后和把AUC当成目标函数是非常相似的正因为如此BPR模型宣称该模型是为AUC而生。
有了目标函数之后就要有训练方法。
梯度下降可以梯度下降又分为批量梯度和随机梯度两个选择前者收敛慢后者训练快但不稳定。
因此BPR使用了一个介于两者之间的训练方法结合重复抽样的梯度下降。
具体如下
今天是矩阵分解三篇的最后一篇传统的矩阵分解无论是隐式反馈还是显示反馈都是希望更加准确地预测用户对单个物品的偏好而实际上如果能够预测用户对物品之间的相对偏好则更加符合实际需求的直觉。
BPR就是这样一整套针对排序的推荐算法它事实上提出了一个优化准则和一个学习框架至于其中优化的对象是不是矩阵分解并不是它的重点。
但我在这里结合矩阵分解对其进行了讲解同时还介绍了排序时最常用的评价指标AUC及其计算方法。
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback