好玩的来了!让我们来搜刮一个片子并看看四个最类似的推荐。让我们试着搜刮《盗前哨》,在左手边第一个,后面是四部推荐的片子。

《盗前哨》是1995年上映的一部美公法法片子,由罗伯特·德·尼罗、阿尔·帕西诺主演。搜刮结不雅看起来不错。但《分开拉斯维加斯》可能不是一个好的建议,我猜原因是因为片子《勇闯夺命岛》里有尼古拉斯·凯奇,《The Rock》,以及对爱好 《盗前哨》的不雅众而言,它是一个不错的推荐。这可能是类似性矩阵和协同过滤的缺点之一。让我们尝尝更多的例子。

因为新上映的片子没有太多的应用数据,指望协同过滤向用户推荐任何新片子很不实际。
在前面的评论辩论中,我们简单地计算了用户和片子的余弦类似度,并以词攀来猜测用户对片子的评分,还根据某片子推荐其它片子。如今,我们可以把问题做为一个回归问题;对所有的片子参加潜在特点y,对所有效户参加权重向量x。目标是将评分猜测的(在 2-norm 的┞俘则化前提下)MSE最小化。

雷锋网 ("大众,"号:雷锋网) 提示:权重向量和特点向量都是决定计划变量。显然,这不是一个凸函数问题,如今也不须要过分担心┞封个非凸函数的收敛性。有很多办法能解决非凸函数的优化问题。办法之一就是以瓜代方法()解决权重向量(对用户)和特点向量(对片子)。处理权重向量时,假设特点向量是常向量;处理特点向量时,假设权重向量是常向量。解决这个回归问题的另一种办法,是将权重向量与特点向量的更新结合起来,在同一个迭代中更新它们。别的,还可以借助随机梯度降低来加快计算。这里,我用随机梯度降低来解决这个回归问题,我们的MSE猜测如下:

在推荐体系中有几种应用深度进修的办法:
-
这个MSE比用类似性矩阵获得的,要小得多。当然,我们也可以应用网格搜刮和交叉验证对模型、算法调参。再看看片子搜刮的推荐:
看起来并不是很好。我认为这四部片子不该该经由过程搜刮《盗前哨》推荐给我,他们看起来竽暌闺《盗前哨》完全不相干,这四个片子是浪漫、戏剧类。如不雅我找的是一部有大年夜明星的美公法法片子,我凭什么会想要看戏剧片子? 这让我很困惑——一个好的MSE的结不雅可能会给我们一个风马牛不相干的推荐。是以,我们评论辩论一下基于协同过滤的推荐体系的弱点。
-

协同过滤办法经由过程应用数据,来发明类似的用户和片子,这将导致热点片子比小众片子更轻易被推荐。
-
接下来,我们将推敲采取另一种办法来处理协同过滤问题——用深度进修推荐片子。
深度进修
我们将在Keras顶用VGG16来练习神经收集。我们的数据集中没有目标,只是将倒数第四层作为一个特点向量。我们用这个特点向量,来描述数据集中的每一个片子。雷锋网提示,在练习神经收集之前,还须要做一些预处理,练习过程如下。
- df_id = pd.read_csv('links.csv', sep=',')
- idx_to_movie = {}
- for row in df_id.itertuples():
- idx_to_movie[row[1]-1] = row[2]
- total_movies = 9000
- movies = [0]*total_movies
- for i in range(len(movies)):
-
推荐阅读
脚本下载 【编辑推荐】亚信安然成功抵抗全球第一只勒索蠕虫WannaCry收集病毒入侵!国度网信安然中间教你如许做前端安然之XSS进击收集安然始创公司存活之道小议验证码的安然性及若何绕过【义>>>详细阅读
地址:http://www.17bianji.com/lsqh/35259.html
1/2 1
-

网友点评
精彩导读
科技快报
品牌展示