- 博客(79)
- 收藏
- 关注

原创 博客导航
推荐系统推荐系统算法—协同过滤算法详解推荐系统算法—隐语义模型(LFM)GBDT + LR 理解与实践(附数据 + 代码)FM系列—FM+FFMFM系列—DeepFFM、DeepFM Deep & Cross Network (DCN) 与 xDeepFMDIN(Deep Interest Network)模型解读与Deepctr实现DIEN(Deep Interest Evolution Network)模型解读与Deepctr实现
2020-10-14 08:24:09
946
3
原创 DSIN模型解读
文章目录模型结构User Behaviors 部分其他部分深度会话兴趣网络Deep Session Interest Network for Click-Through Rate Prediction,跟DIN,DIEN 相比,最大的不同在于对用户的历史点击行为划分为不同session,对每个session使用Transformer学习session embedding,最后使用BiLSTM对session序列建模。在推荐系统中,用户兴趣是十分广泛的,但在一个较短的时间内,用户的兴趣是集中的,我们称这段
2021-01-26 21:06:34
1198
原创 GAT基本原理与tensorflow2.0实现
文章目录Attention的基本形式GAT基本原理GAT的原理tensorflow2.0 实现GATAttention的基本形式图注意力模型(Graph Attention Network GAN)将attention引入图神经网络。在GAN中有两种思路:(1)Global graph attention即在更新图中某一个节点的Embedding时,图上的每一个顶点 iii 都参与到attention运算。优点:完全不依赖于图的结构,对于inductive任务无压力缺点:忽略了图结构的这个特征
2020-12-07 21:28:52
2141
1
原创 【Graph Neural Network】 GraphSAGE 基本原理与tensorflow2.0实现
文章目录GraphSAGE 前向传播算法采样算法&聚合(aggragator)操作参数学习基于tensorflow2.0实现Graph SAGEGCN是一种利用图结构和邻居顶点属性信息学习顶点Embedding表示的方法,GCN是直推式学习(只能在一个已知的图上进行学习),不能直接泛化到未知节点,当网络结构改变以及新节点的出现,直推式学习需要重新训练(复杂度高且可能会导致embedding会偏移),很难落地在需要快速生成未知节点embedding的机器学习系统上。**GraphSAGE(Grap
2020-11-24 21:33:54
2892
1
原创 GCN基本原理与tensorflow2.0实现
文章目录基本符号定义图神经网络的公式定义GCN基本结构GCN层的tensorflow2.0实现图卷积神经网络(GCN)的核心思想:学习一个映射f(.)f(.)f(.),通过该映射图中的节点viv_ivi可以聚合它自己的特征xix_ixi与它的邻居特征xj (j∈N(vi))x_j \;(j \in N(v_i))xj(j∈N(vi))来生成节点的新viv_ivi表示。图卷积本质上是一种aggregation(聚合)操作,是一种局部加权平均运算。在图中"局部"是指他的邻居,简单起见,把有边的权
2020-11-20 21:30:30
6118
3
原创 Bert模型的基本原理与Fine-tuning
本文主要讲解Bert模型的基本原理与Fine-tuning。基本原理BERT是一种 预训练语言模型 ,即首先使用大量无监督语料进行语言模型预训练(Pre-training),再使用少量标注语料进行微调(Fine-tuning)来完成具体NLP任务(分类、序列标注、句间关系判断和机器阅读理解等)。BERT的全称是Bidirectional Encoder Representation from Transformers,即:基于transformer的双向Encoder,所以在学习BERT之前先对Sel
2020-10-25 18:27:30
7231
原创 SDNE(Structural Deep Network Embedding )的原理,实现与应用
文章目录SDNE基本思想二阶相似度(无监督)一阶相似度(有监督)核心代码库实现应用—阿里凑单算法SDNE基本思想SDNE(Structural Deep Network Embedding )主要目标是保持网络的一阶相似性和二阶相似性。(相似性定义参考 【Graph Embedding】LINE的原理、核心代码及其应用)一阶相似度指:具有边相连的节点的Embedding向量具有相似性。主要反映了 Graph 的局部特征二阶相似性指:拥有共同邻居但不是直接相连的两个顶点之间应该具有相似性。反映了 Gr
2020-10-18 17:22:26
6045
4
原创 tensoflow2.0常见函数速查
文章目录concat & concatenate & addFlatten & Embedding乘法tf.multiply(x,y)tf.tensordot(a,b,axes)tf.matmul其他tf.sequence_mask()tf.split()tf.tiletf.gather & tf.slice()tf.expand_dims & tf.squeezetf.where()tf.cast()concat & concatenate & a
2020-10-18 15:34:43
608
原创 【Graph Embedding】node2vec的原理、核心算法及其应用
文章目录node2vec的同质性和同构性node2vec的基本思想模型采样策略学习算法应用不同于基于DFS邻域的DeepWalk和基于BFS邻域的LINE。node2vec是一种综合考虑DFS邻域和BFS邻域的graph embedding方法,可以看作是deepwalk的一种扩展,是结合了DFS和BFS随机游走的deepwalk。node2vec的同质性和同构性(1)网络的同构性是指距离近的节点的Embedding的结果应相似,如下图的u和s1u和s_1u和s1;如何使Graph Embeddi
2020-10-17 17:25:49
7192
1
原创 【Graph Embedding】LINE的原理、核心代码及其应用
文章目录LINE基本思想一阶相似度二阶相似度优化技巧核心代码库实现LINE基本思想LINE: Large-scale Information Network Embedding与DeepWalk相似都是基于领域相似假设的方法,DeepWalk是基于深度优先搜索,LINE是基于广度优先搜索。LINE还可以应用在带权图中(DeepWalk仅能用于无权图)。不同graph embedding方法之间的一个主要区别是图中顶点之间的相似度的定义不同,在LINE中有两种相似度的定义方法。如下图:图中的边可以是
2020-10-16 09:44:43
1310
原创 【Graph Embedding】图嵌入的最佳实践—EGES(Enhanced Graph Embedding with Side Information)
DeepWalk理论DeepWalk的来源图嵌入是指在图中随机游走生成顶点的序列,构成训练集,然后采用word2vec中的Skip_gram方法为图中的每个结点学习一个低维向量表示,这是一个无监督训练生成表示向量的过程。DeepWalk 出自论文:DeepWalk: Online Learning of Social Representations,最初提出是用于社交网络关系的提取。给定一个关系:GL=(V,E,X,Y),G_L= (V, E, X, Y ),GL=(V,E,X,Y), 利用图结构中的
2020-10-15 11:25:39
3309
2
原创 [CTR模型] DIEN(Deep Interest Evolution Network)模型解读与Deepctr实现
文章目录背景基本原理1. 模型的输入2. Interest Extractor Layer3. Interest Evolving LayerDeepctr实现背景DIEN(Deep Interest Evolution Network)是DIN的改进版,先回顾一下DIN模型:DIN模型的核心思想是:在用户兴趣多样性的推荐背景下,利用用户的历史行为数据,通过Attention机制来捕捉被推荐物品的相对兴趣。DIN模型没有考虑到用户的兴趣的动态变化,如何在CTR中捕捉到用户兴趣的发展变化,就是DIEN
2020-10-10 19:12:45
2350
原创 [CTR模型] DIN(Deep Interest Network)模型解读与Deepctr实现
文章目录基本想法基准模型DIN模型基本原理训练技巧mini-batch aware激活函数GAUC 评估指标Deepctr实现基本想法首先说说DIN(Deep Interest Network)到底在干嘛,DIN主基本想法是:利用用户的历史行为序列(下单,点击等)提高推荐物品的点击率。论文中有这样一幅图:图中显示了一个女生的行为序列,被推荐物品是一个女大衣。传统的推荐物品的CTR计算方法是不会区别对待历史行为中的物品与被推荐物品的相关度,也就是下文提到的基础模型。DIN最大的特点是在计算推荐物品的
2020-10-10 10:57:08
3237
5
原创 tensorflow2.0自定义loss,metrics,callback
本文主要介绍在tensorflow2.0中如何自定义loss,metric,以及如何动态检测loss 实现提前停止。以手写数字数据集作为模型的输入,构造一个简单的模型用于说明。(1)引入必要的库,加载数据集import tensorflow as tfimport tensorflow.keras.layers as layersimport tensorflow.keras as keras(x_train, y_train), (x_test, y_test) = keras.datase
2020-10-05 11:37:42
4475
5
原创 tensorflow2.0教程—快速入门
文章目录模型的序列化API基本示例模型细节查看查看序列化模型中间层的输出序列化API型缺陷模型的函数式API基本步骤应用模型的训练和评估(1)加载数据集(2)模型的compile(3)模型的训练(4)模型的评估、预测多输入多输出模型模型的保存与读取本文主要讲解tensorflow 2.0 搭建网络结构的技术细节。在使用tensorflow 之前首先导入tensorflowimport tensorflow as tffrom tensorflow import kerasfrom tensorfl
2020-10-05 09:35:23
4929
原创 tensorflow2.0实现复杂神经网络(多输入多输出nn,Resnet)
文章目录常见的‘融合’操作具有多个输入和输出的模型ResNet 模型常见的‘融合’操作复杂神经网络模型的实现离不开"融合"操作。常见融合操作如下:(1)求和,求差# 求和layers.Add(inputs)# 求差layers.Subtract(inputs)inputs: 一个输入张量的列表(列表大小至少为 2),列表的shape必须一样才能进行求和(求差)操作。例子:input1 = keras.layers.Input(shape=(16,))x1 = keras.layers
2020-10-03 19:52:59
10405
1
原创 基于tensorflow2.0的RNN实战(单向RNN,双向RNN,Attention+RNN)
文章目录基本结构实战—单向RNN实战—双向RNN实战—Attention+RNN基本结构RNN常见的结构如下:其中的单元AAA可以是全连接RNN,LSTM,GRU。tensorfow2.0中将这三个封装到以下接口中:keras.layers.SimpleRNNkeras.layers.GRUkeras.layers.LSTM对于序列预测,如机器翻译,我们需要同时获得所有的单元A的输出(h0,h1⋯ ,ht)(h_0,h_1\cdots,h_t)(h0,h1⋯,ht)。对于分类和回归问
2020-09-27 16:18:37
5792
3
原创 CNN的基本原理与实战(基于tensorflow2.0)
文章目录CNN基本原理卷积层池化层全连接层CNN的实现手写数字识别图片的编码解码CNN基本原理主要包括卷积层,池化层,全连接层。卷积层1、二维卷积(1)卷积(Conv2D)主要负责提取图像钟的局部特征,卷积核进行卷积运算的过程如下:注:蓝色图是输入,而青色图是输出,下同。具体计算细节如下图:每一个卷积核都可以从不同的角度提取图片中的信息。假定输入图片大小 W×W,Filter大小 F×F ,步长 S,padding的像素数 P。于是我们可以得出 输出图片大小为NxN,其中 N =
2020-09-25 16:40:45
3963
原创 AutoInt原理+实现代码+deepctr库实现
文章目录简介核心结构输入和嵌入InteractingLayer(交互层)损失函数tensorflow 2.0 实现AutoInt引入必要的库数据预处理模型的构建embedding层dense特征Embeddingsparse特征Embedding合并embedding层Interacting Layer输出层模型的编译模型的训练与验证deepctr库实现AutoInt简介AutoInt: Automatic Feature Interaction Learning viaSelf-Attentive N
2020-09-23 19:22:44
3545
1
原创 tensorflow2.0实现xDeepFM
文章目录数据预处理模型的构建part1—Linear层Part2—CINpart3—DNN部分part4—输出部分模型的编译与运行本文基于tensorflow2.0实现的 xDeepFM 结构。数据集: Criteo 的500000条数据子集。必要的库import numpy as npimport pandas as pdimport tensorflow as tffrom tensorflow.keras.layers import *from tensorflow.keras.mode
2020-08-16 19:17:59
1146
6
原创 tensorflow2.0实现Deep & Cross Network(DCN)
本文基于tensorflow2.0实现Deep & Cross Network(DCN)结构,数据集:Criteo 的500000条数据子集。预处理必要的库:import numpy as npimport pandas as pdimport tensorflow as tffrom tensorflow.keras.layers import *from tensorflow.keras.models import Modelimport tensorflow.keras.bac
2020-08-15 13:49:43
2564
1
原创 Deep & Cross Network (DCN) 与 xDeepFM 解读
文章目录Deep & Cross NetworkxDeepFMDeep & Cross Network在CTR模型中,FM可以自动组合特征,但也仅限于二阶叉乘。Deep & Cross 主要解决CTR模型中如何自动学习高阶的特征组合。Deep & Cross Network(DCN)自动构造有限高阶的交叉特征,并学习对应权重,告别了繁琐的人工叉乘。Deep & Cross的网络结构如图所示:主要包括四个部分,输入部分,Cross network部分,Deep
2020-08-13 16:40:53
1706
原创 tensorflow2.0实现DeepFM
文章目录数据预处理模型的构建与训练FM部分一阶特征二阶(交叉)特征DNN部分组合FM和DNN模型训练本文基于tensorflow2.0实现的DeepFM 结构。数据集: Criteo 的500000条数据子集。必要的库import pandas as pdimport numpy as npimport tensorflow as tffrom tensorflow.keras.layers import *from sklearn.preprocessing import LabelEnco
2020-08-12 19:16:25
2733
4
原创 剑指offer-持续更新.....
文章目录题1题1在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。它考察的是程序员的沟通能力,先问面试官要时间/空间需求!!!只是时间优先就用字典,还有空间要求,就用指针+原地排序数组,如果面试官要求空间O(1)并且不能修改原数组,还得写成二分法!!!。Python3 方法一: 先排序,然后看相邻元素是否有相同的,有直接return。 不过很慢,时间O(nlo
2020-07-27 10:07:18
204
原创 深入理解 Bert核心:Self-Attention与transformer
文章目录Attention机制基本思想Attention机制的权值transformer中的self-Attentionself-Attention多头机制self-Attention位置信息的表达Transformer本文主要讲解Bert模型的核心:transformer。transformer利用self-attention机制实现快速并行。并且Transformer可以增加到非常深的深度,充分发掘DNN模型的特性,提升模型准确率。通过先讲解Attention机制,再讲解Transformer模型,理
2020-07-24 16:42:03
3365
原创 FM系列—DeepFFM、DeepFM 结构详解
通过FM系列—FM+FFM详解我们知道:FM通过对于每一维特征的隐变量内积来提取特征组合。虽然理论上来讲FM可以对高阶特征组合进行建模,但实际上因为计算复杂度的原因一般都只用到了二阶特征组合。那么对于高阶的特征组合,则通过多层的神经网络即DNN去解决。背景DeepFM模型包含FM和DNN两部分,FM模型可以抽取low-order特征,DNN可以抽取high-order特征。在CTR中,通常将特征转为one-hot的形式,但如果将这些特征输入到DNN中,会导致网络参数太多,如下图所示:为了解决这个问
2020-07-23 20:30:29
5579
1
原创 FM系列—FM+FFM详解
文章目录FM基本思想模型学习FM vs SVMFFM基本思想模型学习FFM应用预估CTR/CVR,业界常用的方法有人工特征工程 + LR(Logistic Regression)、GBDT(Gradient Boosting Decision Tree) + LR、FM(Factorization Machine)和FFM(Field-aware Factorization Machine)模型。本文先介绍FM,然后介绍FM的改进FFM。FM基本思想FM(Factorization Machine)
2020-07-22 21:47:26
2880
原创 厦门国际银行 “数创金融杯”TOP方案学习
文章目录赛题亮点一亮点二亮点三亮点4亮点5亮点六模型赛题比赛来源:https://www.dcjingsai.com/v2/cmptDetail.html?id=319感谢大佬开源:TOP1方案: 2019厦门国际银行“数创金融杯”数据建模大赛-top1TOP2方案: 2019厦门国际银行“数创金融杯”数据建模大赛-top2本博客只是单纯的对TOP方案进行整理学习。数据总体概述本次数据共分为两个数据集,train_x.csv、train_target.csv和test_x.csv,其中trai
2020-07-20 11:23:37
2055
原创 推荐系统基本了解
推荐系统基本架构图推荐系统的基本架构图如下:A 负责从数据库或者缓存中拿到用户行为数据,通过分析不同行为,生成当前用户 的特征向量。不过如果是使用非行为特征,就不需要使用行为提取和分析模块了。该模 块的输出是用户特征向量。在利用用户行为计算特征向量时需要考虑以下因素:用户行为的种类 ,用户行为产生的时间,用户行为的次数,物品的热门程度。B 负责将用户的特征向量通过特征-物品相关矩阵转化为初始推荐物品列表。C 负责对初始的推荐列表进行过滤、排名等处理,从而生成最终的推荐结果。过滤模块会过滤掉以
2020-07-17 09:27:18
283
转载 模型融合—GBDT + LR 理解与实践(附数据 + 代码)
本文转载:广告点击率(CTR)预测经典模型 GBDT + LR 理解与实践(附数据 + 代码)
2020-07-16 18:25:37
522
原创 推荐系统算法—隐语义模型(LFM)详解
文章目录基本思想数学原理协同过滤算法主要包括基于用户的协同过滤(User-Based CF)、基于物品的协同过滤(Item-Based CF)、隐语义模型(Latent Factor Model)等。LFM(latent factor model)隐语义模型从诞生到今天产生了很多著名的模型和方法。其实该算法最早在文本挖掘领域被提出,用于找到文本的隐含语义。相关的算法有LSI、pLSA、LDA和Topic Model。推荐系统的用户行为分为显性反馈和隐性反馈。LFM在显性反馈数据(也就是评分数据)上解决评分
2020-07-16 15:13:52
3703
原创 推荐系统算法—协同过滤算法详解
文章目录基于用户的协同过滤(UserCF)基本思想例子基于物品的协同过滤(ItemCF)基本思想例子ItemCF 改进归一化UserCF 与 ItemCF 对比协同过滤简单来说是利用某兴趣相投、拥有共同经验之群体的喜好来推荐用户感兴趣的信息。具体的又分为基于用户的协同过滤(User Collaboration Filter)和基于商品的协同过滤(Item Collaboration Filter)基于用户的协同过滤(UserCF)基本思想基于用户的协同过滤推荐的基本原理是,根据所有用户对物品的偏好,
2020-07-15 20:45:53
1431
原创 机器学习(分类回归问题)常用评估指标
文章目录分类常用指标基于混淆矩阵的评价指标AUC回归模型常用评价指标均误差方(MSE)平均绝对误差(MAE)平均绝对比例误差(MAPE)R方分类常用指标基于混淆矩阵的评价指标以二分类为例,由于模型预测存在误差,真实值和预测值之间存在差异,于是有以下四种情况:真实值是positive,模型预测为positive(True Positive=TP)真实值是positive,模型预测为negative(False Negative=FN)真实值是negative,模型预测为positive(Fals
2020-07-15 15:21:11
2191
原创 LightGBM教程
参数参数说明boosting /boost/boosting_type用于指定弱学习器的类型,默认值为 ‘gbdt’,表示使用基于树的模型进行计算。还可以选择为 ‘gblinear’ 表示使用线性模型作为弱学习器。可选参数有:gbdt’,使用梯度提升树rf’,使用随机森林‘goss’,使用单边梯度抽样算法,速度很快,但是可能欠拟合。objective用于指定学习任务及相应的学习目标,常用的可选参数值如下:regression”,使用L2正则项的回归模型(默认值)。“regre
2020-07-11 15:24:20
3453
原创 Xgboost使用教程
文章目录参数通用参数(General Parameters)Booster参数(Booster Parameters)学习目标参数(Task Parameters)实例XGBClassifierXGBRegression调参参数Xgboost的参数分为三种:通用参数(General Parameters)该参数控制在提升(boosting)过程中使用哪种booster,常用的booster有树模型(tree)和线性模型(linear model)。参数说明booster有两种
2020-07-11 11:09:32
2742
原创 sklearn中RandomForest详解
文章目录随机森林基本原理RandomForestClassifier参数说明实例RandomForestClassifier随机森林基本原理随机森林是一种bagging算法。bagging是一种随机采样(bootsrap)算法,与boosting不同,bagging弱学习器之间没有依赖关系,bagging通过采样训练不同的模型,然后进行组合。随机森林通过采样训练不同的决策树模型,然后进行组合。注:注意到这和GBDT的子采样是不同的。GBDT的子采样是无放回采样,而Bagging的子采样是放回采样。
2020-07-10 14:15:37
10392
原创 sklearn中的LogisticRegression
sklearn中的逻辑回归接口如下:sklearn.linear_model.LogisticRegression(penalty='l2', *, dual=False, tol=0.0001, C=1.0, fit_intercept=True, intercept_scaling=1, class_weight=None, random_state=None, solver='lbfgs', max_iter=100, multi_class='auto', verbose=0, warm_star
2020-07-09 17:07:21
11413
2
原创 sklearn中的线性回归,岭回归
文章目录线性回归ParametersAttributesMethods实例岭回归参数说明实例网格调参调参结果应用Lasso回归线性回归线性回归数学模型如下:y^(w,x)=w0+w1x1+...+wpxp\hat {y}(w,x)= w_0 + w_1 x_1 + ... + w_p x_py^(w,x)=w0+w1x1+...+wpxp其目标函数如下:minw∣∣Xw−y∣∣22\min_ {w} || X w-y || _2 ^ 2wmin∣∣Xw−y∣∣22模型的
2020-07-09 14:05:34
1591
原创 常见数据可视化
必须要的可视化库import matplotlib.pyplot as pltimport seaborn as sns缺失值查看缺失值分布import missingno as msnomsno.matrix(data)查看缺失值比例missing = train.isnull().sum()missing = missing[missing > 0]missing.sort_values(inplace=True)missing.plot.bar()相关性分析#
2020-06-27 14:31:05
522
原创 用户套餐个性化推荐TOP方案学习
文章目录赛题要求数据说明数据探索TOP2解决方案亮点1-利用word2vec亮点2-预测概率作为新的特征亮点3 - 不同的数据用不同的模型预测赛题比赛来源:https://www.datafountain.cn/competitions/311/details/data-evaluation感谢大佬开源:TOP2方案: 用户套餐个性化匹配TOP2本博客只是单纯的对TOP方案进行整理学习。要求此题利用已有的用户属性(如个人基本信息、用户画像信息等)、终端属性(如终端品牌等)、业务属性、消费习惯及
2020-06-26 16:51:36
1035
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人