![](https://img-blog.csdnimg.cn/20190818140903366.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
推荐系统实践
文章平均质量分 97
记录自己学习推荐算法的过程,直接读paper,看code
马飞飞
乐于分享,痴迷技术
展开
-
推荐系统 - xDeepFM架构
说明1.xdeepFM并不是由deepFM延伸而来的,而是通过deep & cross延伸过来的,其继承了deep & cross可以控制高阶特征交互的特点。2.感觉xdeeoFM最难理解的是CIN的架构,从形式上来看确实是一种 RNN与 CNN相互结合的方式,很精妙。架构1.先看下整体的xDeepFM的架构吧。首先从大致的体系来看,包括五大部分(可参照d...原创 2019-08-15 23:53:30 · 6995 阅读 · 0 评论 -
推荐系统 - SR GNN架构详解(包含图神经网络GNN和门控图神经网络GGNN的介绍)
说明1.SR-GNN是中科院提出的一种基于会话序列建模的推荐系统,这里所谓的会话是指用户的交互过程(每个会话表示一次用户行为和对应的服务,所以每个用户记录都会构建成一张图),这里说的会话序列应该是专门表示一个用户过往一段时间的交互序列。基于会话的推荐是现在比较常用的一种推荐方式,比较常用的会话推荐包括循环神经网络、马尔科夫链。但是这些常用的会话推荐方式有以下的两个缺点: ...原创 2019-08-18 14:04:37 · 20131 阅读 · 17 评论 -
推荐系统 - 基于FFM算法的协同召回算法
理论参考:https://www.jianshu.com/p/781cde3d5f3dhttps://www.cnblogs.com/zhangchaoyang/articles/8157893.html说明1.在之前的文章中,已经讲述过FM的概念,而FFM是在FM基础上做了一些小的改进得到的,引入了Field(域)的概念,域表示特征所属的类型。域和特征之间是一种1:n的关系,多个特征...原创 2019-08-14 20:34:34 · 1055 阅读 · 0 评论 -
推荐系统 - DeepFM架构详解
说明理论部分请参照:https://www.jianshu.com/p/6f1c2643d31b,这里主要针对源码进行解读,填一些坑。简单介绍1.DeepFM可以看做是从FM基础上衍生的算法,将Deep与FM相结合,用FM做特征间低阶组合,用Deep NN部分做特征间高阶组合,通过并行的方式组合两种方法,使得最终的架构具有以下特点。 (1) 不需要预训练 FM 得到隐向量;...原创 2019-08-15 16:43:20 · 39346 阅读 · 12 评论 -
推荐系统 - 基于FM算法的协同召回算法
详细理论参照此处:https://zhuanlan.zhihu.com/p/58160982说明1.FM是一种LR基础上扩展的线性模型,在特征上做了两两组合上的信息挖掘,因为其高效性,既可以作为召回模型,也可以作为排序模型,并且在数据量非常大时,其相对于lightGBM这样的模型,可以做流式训练,能承载更大数据量的训练,比如在2018腾讯广告算法大赛中,top选手在复赛大数据量情况下,多使...原创 2019-08-14 13:56:26 · 3777 阅读 · 1 评论 -
推荐系统 - 基于SVD++的协同召回算法
说明1.SVD++相对SVD做了进一步的改进,主要的改进点还是在于兴趣矩阵的计算上, 相对于之前的兴趣度计算方式,就入了更多的特征项 来作为更好的评估依据,其主要增加了增加了用户对商品行为的隐式反馈向量的计算get_Yi ,训练,更新;以及用户对商品的行为集合构建。2.其相对SVD的调整主要在这里把兴趣公式改成下式,其相对SVD结构,加入了右边的形式,通过隐式参数形式讲用户的喜好体现在模型...原创 2019-08-10 00:54:40 · 625 阅读 · 0 评论 -
推荐系统 - 基于SVD的协同召回算法
说明SVD在进行用户i对商品j的评分时,考虑了用户特征向量和商品特征向量,以及评分相对于平均评分的偏置向量。数据在https://pan.baidu.com/s/1sQsHUgL__kwWAghe7TvMZA提取码:18bz代码# -*- coding: utf-8 -*-import numpy as npimport timeimport pickleclas...原创 2019-08-10 00:07:00 · 587 阅读 · 0 评论 -
推荐系统 - 基于图随机游走的PersonalRank召回算法
说明1.首先是图的构建,这里使用二元组来存储一个二部图,在一个二元字典中存储用户和物品之间的交互图结构。2.PersonalRank类包含训练和预测两个过程,这里的训练是训练出单个用户的 相关性二元组(通过图上的相关性关系挖掘得到),预测阶段是使用这一相关性二元组进行 指定潜在条件下的 top k推荐。代码# coding: utf-8 -*-import pickleimp...原创 2019-08-09 21:46:17 · 880 阅读 · 0 评论 -
推荐系统 - 基于用户的协同召回算法
说明 基于用户对物品交互的相似度进行top N推荐。代码 分为协同函数和主函数两个部分,数据集来源这里。链接:https://pan.baidu.com/s/1sQsHUgL__kwWAghe7TvMZA提取码:18bz# coding: utf-8 -*-import mathimport pandas as pdclass Us...原创 2019-08-09 19:36:10 · 957 阅读 · 0 评论 -
推荐系统 - 基于物品项的协同召回算法
说明这是基于商品项的协同过滤方法, 可以作为 一路的召回方式吧, 可以看到这里基本分为四个步骤吧 1.获取所有每个 用户产生过交互的商品集合 2.针对与用户产生交互的商品 之间的 共现情况 (计算共现矩阵,用于衡量商品项之间的相似度) 3.进行商品之间 相似度的计算,使用下面的式子吧 sim_score =...原创 2019-08-09 19:30:19 · 542 阅读 · 0 评论 -
推荐系统 - 隐语义LFM召回算法
说明分为三部分: (1)Corpus类:相当于是一个语料库吧,用来存储 训练用的样本的, 产生过交互的为正样本, 以没有在当前用户产生交互的样本为负例样本。 (2)LFM类:主模型部分,包含数据加载、训练、预测的过程。 这里是目的是构建一个兴趣矩阵, 这个兴趣矩阵的形状为(len(self.user_ids),len(self.item_ids)) 然而这...原创 2019-08-09 19:27:08 · 761 阅读 · 0 评论