协同过滤

Use of Deep Learning in Modern Recommendation System: A Summary of Recent Works(笔记)

久未见 提交于 2019-11-28 13:04:54
   注意:论文中,很多的地方出现baseline,可以理解为参照物的意思,但是在论文中,我们还是直接将它称之为基线, 也 就是对照物,参照物. 这片论文中,作者没有去做实际的实验,但是却做了一件很有意义的事,他收罗了近些年所有推荐系统中涉及到深度学习的文章 ,并将这些文章进行分类,逐一分析,然后最后给出了一个推荐系统以后的发展方向的预估. 那么通过这篇论文,我们可以较为 系统的掌握这些年,在推荐系统方面,深度学习都有那些好玩的应用,有哪些新奇的方法,这片论文起到了一个简报的作用,下面是论文的一个粗糙翻译: 概述:   随着互联网上数字信息量的急剧增加,在线商店、在线音乐、视频和图像库、搜索引擎和推荐系统已经成为在短时间内查找 相关信息的最方便的方式。近年来,深度学习在语音识别、图像处理和自然语言处理等领域得到了广泛的关注。同时,最近的一 些研究也显示了深度学习在推荐系统和信息检索领域的应用。近年来,深度学习在语音识别、图像处理和自然语言处理等领域得 到了广泛的关注。同时,最近的一些研究也显示了深度学习在推荐系统和信息检索领域的一些应用。在这个简短的回顾中,我们 涵盖了最近在使用各种不同的深度学习技术在推荐领域取得的进展。我们将综述分为三个部分:协作系统、基于内容的系统和混 合系统。本文还讨论了深度学习集成推荐系统在多个应用领域中的贡献

[推荐系统] 两种协同过滤

|▌冷眼眸甩不掉的悲伤 提交于 2019-11-27 06:11:54
两种协同过滤 下午没事练练coding。 发现还是能写的出来的。虽然for循环写的比较二。 推荐系统这边还是比图像更有商业价值吧。 coding import numpy as np import itertools def cos_likelyhood(x,y): assert x.shape == y.shape return x.dot(y.T) / np.sqrt(x.dot(x.T)) / np.sqrt(y.dot(y.T)) class Mine_CF(): def __init__(self,M): self.M = M self.num_persons,self.num_items = M.shape[:2] likelyhood_user = np.zeros((self.num_persons,self.num_persons)) for i in range(self.num_persons): for j in range(self.num_persons): likelyhood_user[i,j] = cos_likelyhood(self.M[i,:],self.M[j,:]) self.likelyhood_user = likelyhood_user likelyhood_item = np.zeros((self.num_items,self

协同过滤推荐算法的原理及实现

我是研究僧i 提交于 2019-11-26 21:14:11
一、协同过滤算法的原理及实现 协同过滤推荐算法是诞生最早,并且较为著名的推荐算法。主要的功能是预测和推荐。算法通过对用户历史行为数据的挖掘发现用户的偏好,基于不同的偏好对用户进行群组划分并推荐品味相似的商品。协同过滤推荐算法分为两类,分别是 基于用户 的协同过滤算法(user-based collaboratIve filtering),和 基于物品 的协同过滤算法(item-based collaborative filtering)。简单的说就是:人以类聚,物以群分。下面我们将分别说明这两类推荐算法的原理和实现方法。 1.基于用户的协同过滤算法(user-based collaboratIve filtering) 基于用户的协同过滤算法是通过用户的历史行为数据发现用户对商品或内容的喜欢(如商品购买,收藏,内容评论或分享),并对这些喜好进行度量和打分。根据不同用户对相同商品或内容的态度和偏好程度计算用户之间的关系。在有相同喜好的用户间进行商品推荐。简单的说就是如果A,B两个用户都购买了x,y,z三本图书,并且给出了5星的好评。那么A和B就属于同一类用户。可以将A看过的图书w也推荐给用户B。 1.1寻找偏好相似的用户  我们模拟了5个用户对两件商品的评分,来说明如何通过用户对不同商品的态度和偏好寻找相似的用户。在示例中,5个用户分别对两件商品进行了评分

协同过滤

六月ゝ 毕业季﹏ 提交于 2019-11-26 20:09:54
推荐算法具有非常多的应用场景和商业价值,因此对推荐算法值得好好研究。推荐算法种类很多,但是目前应用最广泛的应该是协同过滤类别的推荐算法,本文就对协同过滤类别的推荐算法做一个概括总结,后续也会对一些典型的协同过滤推荐算法做原理总结。 协同过滤一般是在海量的用户中发掘出一小部分和你品位比较类似的,在协同过滤中,这些用户成为“邻居”,然后根据他们喜欢的其他东西组织成一个排序的目录作为推荐给你。 为了方便了解,举个简单的例子。 最近新上映了10部电影,你不知道看哪一部,问你周围的人,身边的人中你觉得有少数几个人跟你的观影品味一致,然后你会倾向于选择观看和你观影品味一致的人所推荐的电影,这个和你观影品味一致的人,就成了你的“邻居”。这就是协同过滤的核心思想。 协同过滤(Collaborative Filtering)作为推荐算法中最经典的类型,包括在线的协同和离线的过滤两部分。所谓在线协同,就是通过在线数据找到用户可能喜欢的物品,而离线过滤,则是过滤掉一些不值得推荐的数据,比如推荐值评分低的数据,或者虽然推荐值高但是用户已经购买的数据。   协同过滤的模型一般为m个物品,n个用户的数据,只有部分用户和部分数据之间是有评分数据的,其它部分评分是空白,此时我们要用已有的部分稀疏数据来预测那些空白的物品和数据之间的评分关系,找到最高评分的物品推荐给用户。   一般来说,协同过滤推荐分为三种类型。