什么是协同过滤?
协同过滤是一种基于记忆的推理方法,特别适用于支持个性化推荐的应用。协同过滤系统从用户偏好历史开始。距离函数决定相似性取决于偏好的重叠,喜欢相同事物的人彼此靠近。
此外,投票权重由距离决定,因此较近邻居的投票对认可的影响更大。换句话说,它是一种通过使用同行群体(选择具有相同品味的群体)的判断来发现适合特定用户当前偏好的音乐、书籍、葡萄酒或其他事物的方法。这种方法被称为社会信息过滤。
协同过滤自动化了利用口碑来确定他们是否可能喜欢某件事的流程。知道有几个人喜欢某件事是不够的。每个人对某些推荐的重视程度都高于其他推荐。一位亲密朋友的推荐(其之前的推荐一直都很准确)足以让您去看一部新电影,即使它属于您通常不喜欢的类型。
使用自动协同过滤系统为新用户准备推荐包含三个步骤,如下所示:
可以通过让新客户对包括电影、歌曲或餐厅在内的一系列项目进行评分来构建用户画像。
可以使用某种相似性度量将新用户的画像与其他用户的画像进行比较。
可以使用具有相同画像的用户评分的某种组合来预测新用户可能对尚未评分的项目的评分。
协同过滤的一个挑战是,需要评分的项目数量远远超过一个人可能完成或愿意评分的数量。也就是说,画像通常是稀疏的,这意味着用户之间在偏好方面几乎没有重叠,从而难以创建推荐。可以将用户画像视为一个向量,每个向量组件对应于要评分的元素宇宙中的一个项目。向量的每个元素都定义了画像所有者对相应元素的评分,评分范围为 -5 到 5,其中 0 表示中立,空值表示没有意见。
如果向量中有数千个组件,并且每个用户都决定要评分哪些组件,那么任何两个用户画像都可能最终出现一些重叠。换句话说,强制用户对特定子集进行评分可能会错过有趣的数据,因为更模糊元素的评分可能比一般元素的评分更能说明用户的情况。
广告