推荐系统(recommender systems):均值归一化(mean normalization)

均值归一化可以让算法运行得更好。

现在考虑这样一个情况:一个用户对所有的电影都没有评分,即上图所示 的Eve用户。现在我们要学习特征向量(假设n=2) 以及用户5的向量θ(5),因为用户Eve没有对任何电影打分,所以前面的一项为0,只有后面正则化的项,所以影响θ取值的只有后面的θ的正则化的项。所以要使它最小,即θ的取值为0.所以当我们预测用户5对所有电影的评分的时候,这时的评分都为0.所以我们会预测所有的电影的评分都为0.这样是毫无意义的,因为我们还是没有办法知道我们应该向用户5推荐什么电影(没有一部电影评分要高些),所有的电影预测为0也没有意义,因为事实是有的电影评分要高些,有的电影评分要低些。

均值归一化可以让我们解决上面的问题

首先计算每部电影所得评分的均值,将其放在向量u中,将所有的电影评分减去平均评分,即将每部电影的评分归一化,让其平均值变为0.

现在我们将这个评分数据集Y使用协同过滤算法,来学习θ(j)与x(i).

对于用户j对于电影i的评分,我们使用(θ(j))T(x(i))+u(i)

所以对于user5我们学习到的θ为[0,0],这样再加上u值,这样user5对于电影1的预测分为2.5,对于电影2的预测分也为2.5....它的意思其实是在说,如果用户5没有给任何电影评分,我们要做的是预测他对每部电影的评分为这些电影的平均得分

均值归一化Y,使得每行的平均值为0,如果有些电影是没有评分的,这种情况我们可以将Y的列进行均值归一化,但是这种情况可能不好,因为当一部电影没有一个用户对它进行评分时,这种情况我们是不会将这部电影推荐给用户的。所以当用户没有对一部电影进行评分时,我们可以使用行无值归一化来处理,这种情况比列均值归一化要常见些

总结

协同过滤算法的预处理过程--均值归一化,根据数据集的不同,可以让算法运行得更好

时间: 2024-11-03 22:06:44

推荐系统(recommender systems):均值归一化(mean normalization)的相关文章

Ng第十六课:推荐系统(Recommender Systems)

16.1  问题形式化 16.2  基于内容的推荐系统 16.3  协同过滤 16.4  协同过滤算法 16.5  矢量化:低秩矩阵分解 16.6  推行工作上的细节:均值归一化 16.1  问题形式化 16.2  基于内容的推荐系统 16.3  协同过滤 16.4  协同过滤算法 16.5  矢量化:低秩矩阵分解 16.6  推行工作上的细节:均值归一化

斯坦福第十六课:推荐系统(Recommender Systems)

16.1  问题形式化 16.2  基于内容的推荐系统 16.3  协同过滤 16.4  协同过滤算法 16.5  矢量化:低秩矩阵分解 16.6  推行工作上的细节:均值归一化 16.1  问题形式化 16.2  基于内容的推荐系统 16.3  协同过滤 16.4  协同过滤算法 16.5  矢量化:低秩矩阵分解 16.6  推行工作上的细节:均值归一化

【读书笔记】《推荐系统(recommender systems An introduction)》第五章 混合推荐方法

第五章 混合推荐方法 推荐问题可以转换成效用函数,函数的输入为用户和物品,输出为用户和物品的效用--效用是指物品满足某种抽象目标的能力,如:满足用户某方面的需求.或者是满足零售转化率.等等 任何一个推荐系统都是从众多物品中选取N个物品,使得这N个物品的效用总和最大 1. 整体式混合设计 从最底层的特征开始考虑整合 1.1 特征混合方案 如果有多种特征可以用,例如:用户浏览.点击.搜索.购买.等行为,要预测用户下一步要购买什么,显然搜索和购买行为比浏览.点击行为更加重要.对于不同重要性的特征的利用

【读书笔记】《推荐系统(recommender systems An introduction)》第九章 针对协同过滤推荐系统的攻击

个人评价:很有意思的一个话题,我在实际工作中也遇到过,不过这本书写的一般,有点儿"掉书袋",太学术化.太YY.前提假设条件太强.姑且看看做借鉴吧. 通常推荐系统利用用户数据的时候,是假定用户是善良的.诚实的.而攻击,就只值认为设法影响系统的结果.性能. 攻击的维度:1. 针对某个物品,抬高或者降低其评分:2. 针对特定的用户群:3. 针对某个系统,然系统推荐不准确,甚至系统崩溃. 所有的攻击都是通过某种方式(例如:模拟用户行为)来向推荐系统中注入某种特定数据来达到目的的. 攻击类型:

【读书笔记】《推荐系统(recommender systems An introduction)》第二章 协同过滤推荐

输入:"用户-物品"评分矩阵 输出:(1)用户对某个物品喜欢程度的评分:(2)对于用户,n个推荐的物品列表 1. 基于用户的最近邻推荐(user-based cf) 算法基本假设:(1)如果用户过去有相似的偏好,那么他们未来也会有相似的偏好:(2)用户的偏好不随时间变化而变化 用户相似度计算:user-based cf中pearson相关系数比较好:item-based cf中余弦相似度比较好.学术界在相似度方面有较为深入的研究,例如:很多领域都存在一些所有人都喜欢的物品(热门物品),

【读书笔记】《推荐系统(recommender systems An introduction)》第一章 引言

很久没上来写blog,前两个月赶上校招季节,都忙校招去了. 这本书我早就买来了,不过我从前看过项亮的<推荐系统实践>,看这本书的目录结构和项亮那本差不多,就一直放着没看.最近在做一个推荐系统,遇到一些实际问题,想翻开项亮的书再找找灵感,不过对于自己看过了的东西,就不愿意再翻看第二遍了.恰好这本书和项亮那本很像,就直接看这本书了.顺便记记笔记,贴到这里,供更多人参考. 1. 协同过滤的推荐 基本思想:用户在过去有相同的偏好,e.g. 他们浏览或者买过相同的书,那么他们在未来也有相似的偏好. 关键

【读书笔记】《推荐系统(recommender systems An introduction)》第十章至第十三章

第十章 在线消费决策 这一张主要写消费者的心理,更贴近于心理学,而不是技术方面. 1. 传统的决策模型是认为人们的兴趣始终如一,不会发生变化:不过现代研究表明,用户在决策过程中偏好并不稳定 2. 人们会根据物品的展示环境做决策:同样的商品,放到不同环境下面展示,身价就不同 3. 首位/新近效应:位于列表首位和末尾的物品,更容易被记住 4. 框架效应:展现框架决定用户决策 5. 启动效应 6. ... 个人评价,如果想深入了解这一张说的内容,还不如找一本消费心理学的书来看 ============

【读书笔记】《推荐系统(recommender systems An introduction)》第六章 推荐系统的解释

如何给推荐系统的结果给予解释? 1. 基于约束的推荐系统:这种系统的商品都有各种属性,用户只知道个大概,但是不完全清楚各种属性,推荐系统在帮助用户一步步接近用户最终的期望.属性就是产生推荐理由的关键.本书中采用了一些推理方法来生成理由,挺玄乎的.我理解,直接告诉用户,我猜你最关心的是xx属性,根据这个属性,我来给你推荐xxx,这样就应该行了. 2. 基于实例的推荐系统:产生的理由和上面差不多,都是关键属性,过程根据推荐新算法不同而有所不同,个人感觉,不值得细看 3. 协同过滤的推荐系统:一般来讲

推荐系统(recommender systems):预测电影评分--构造推荐系统的一种方法:协同过滤(collaborative filtering )

协同过滤(collaborative filtering )能自行学习所要使用的特征 如我们有某一个数据集,我们并不知道特征的值是多少,我们有一些用户对电影的评分,但是我们并不知道每部电影的特征(即每部电影到底有多少浪漫成份,有多少动作成份) 假设我们通过采访用户得到每个用户的喜好,如上图中的Alice喜欢爱情电影,不喜欢动作电影,则我们将θ(1)设为[0,5,0],如此设置θ(2),θ(3),θ(4)的值,这样我们有了每个用户的θ的值以及他们对电影的打分,就可以推断出每部电影的x(特征)的值.