IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 推荐系统笔记:矩阵分解+基于邻居的模型 -> 正文阅读

[人工智能]推荐系统笔记:矩阵分解+基于邻居的模型

????????由于其启发式性质,基于邻域的方法通常被认为与其他优化模型具有内在的不同。 尽管如此,结果表明基于邻域的方法也可以嵌入在其他优化模型的上下文中。 这是一个相当方便的框架,因为它为邻域模型与其他优化模型(例如潜在因子模型)的集成铺平了道路。

? ? ? ? 在本节中,我们假设评分矩阵 R 以均值为中心。 换句话说,评分矩阵的全局平均值 μ 已经从所有条目中减去,并且所有预测都将在以平均值为中心的值上执行。 全局平均值 μ 可以在后处理阶段加回到预测值中。?

? ? ? ? 同时,我们还是令S表示所有有观测值的(i,j)对的集合

?

1 非个性化的、以偏差为中心的模型

推荐系统笔记:无任何限制的矩阵分解_UQI-LIUWJ的博客-CSDN博客

????????非个性化的、以偏差为中心的模型预测 R 中的(以平均值为中心的)评级,纯粹是作为用户和项目偏差的叠加。

???????? 换句话说,评分完全由用户的慷慨度和项目的受欢迎程度来解释,而不是用户对项目的特定个性化兴趣。

???????? 令b_{user}^i为用户i 的偏差变量,b_{item}^j为项目j 的偏差变量。 那么,本小节介绍的模型的预测如下:

????????

? ? ? ? 我们的目标函数为:(带正则项之后)

? ? ? ? ?同样地,可以使用梯度下降解决这个优化问题

????????有趣的是,尽管具有非个性化的性质,但纯粹以偏差为中心的模型通常可以提供合理的预测。当评级数据量有限时尤其如此。求解b_{user}^ib_{item}^j后,我们根据公式 3.32 将 b_{user}^i+b_{item}^j=B_{ij} 设置为(i,j)条目的预测值。

???????因此,集成模型求解的第一步是通过求解非个性化模型来确定常数值B_{ij}。这个非个性化模型也可以被视为基准估计器,因为B_{ij}是对r_{ij}值的粗略基准估计。

????????通常,将每个有观测值的条目r_{ij}减去B_{ij}会产生一个新矩阵,该矩阵通常可以通过前面部分和章节中讨论的大多数协同过滤模型进行更稳健的估计

?

2?模型的邻域部分

2.1 用 回归的角度看邻域

????????我们认为,同一个用户的不同打过分的item之间存在着某些关联性。比如某件商品的打分,可以有和它最相似的同一用户对其他几件商品的打分加权求和得到。

?????????Qt(u) 中的相似项可以通过修正余弦相似度来衡量 (也就是这个用户对项目i的打分-这个用户的平均打分,这个的余弦值)

????????集合 Qt(u) 表示目标项目 t 的 k 个最相似的项的子集。(不一定正好是k个)

? ? ? ? 注意一点是,Qt(u)即使对于同一个项目t,不同的用户也会有不同的结果;但是w_{jt}^{item}衡量的是两个项目之间的关联度,和哪个用户是没有关系的

? ? ? ? 所以对某一个项目t,我们记给它打过分的用户的集合为U_t,那么这个项目的目标函数为

?????????

? ? ? ? 所有这个项目的实际打分和预测打分(通过近邻回归来预测)之间的差距

? ? ? ? ?需要注意的是,此优化问题是针对每个目标项 t 单独制定的。

????????然而,可以将不同目标项 t 的目标函数相加,对优化解决方案没有区别,因为各个目标函数中的未知系数w_{jt}^{item}在不同t值上不重叠 ∈ {1 ...n}。 因此,我们有以下合并公式:

?

? ? ? ? ?反之亦可,还可以以分解形式解决每个较小的优化问题(即目标函数 Jt),而不会影响整体的解决方案。

????????引入合并公式的优点是可以与其他优化模型相结合,例如矩阵分解方法

?2.2? 将邻域与偏差结合

我们有:?

?可以想成?\hat{r_{ij}}-b^{user}_i-b^{item}_j=\frac{\sum_{l \in Q_j(i)} w^{item}_{lj}(r_{il}-b^{user}_i-b^{item}_l)}{\sqrt{|Q_j(i)|}}?,就和前面的邻域回归差不多了,唯一的区别就是这个分母的系数,这是一个启发式的系数

?????????倘若我们用第一小节的方法 将右边的b^{user}_i+b^{item}_j?替换成?B_{ij}(就相当于看成常数了),那么目标函数可以变成

????????此时剩下的?b^{user}_ib^{item}_j就是需要被优化的参数

于是此时带正则项的目标函数为:?

[r_{ij}-b^{user}_i-b^{item}_j-\frac{\sum_{l \in Q_j(i)} w^{item}_{lj}(r_{il}-B_{il})}{\sqrt{|Q_j(i)|}}]^2+\frac{\lambda}{2}[\sum (b_i^{user})^2+\sum(b_j^{item})^2]+\frac{\lambda_2}{2} \sum (w_{ij}^{item})^2

那么此时我们对上述目标函数进行梯度下降,b^{user}_ib^{item}_jw_{jt}^{item}的梯度分别为:

?2.3?引入项-项隐式反馈变量

?????????通过引入项-项隐式反馈变量c_{lj} ,可以通过隐式反馈进一步增强该邻域模型。

???????? 基本思想是,如果项目 j 与许多相邻项目被同一用户 i 一起评分,那么这些相邻项与项目j之间的关联程度 应该对预测评分\hat{r_{ij}} 产生影响。

???????? 这种影响与 j 的这些相邻项目的评分的实际值无关。

? ? ? ? 这种影响等于?(分母还是那个启发式系数)

?于是,此时带有邻域、偏差、用户隐式反馈变量的模型可以写作:

?同样地,也可以对各项进行梯度下降操作

?

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-12-28 22:55:34  更:2021-12-28 22:56:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 23:23:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码