自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

贝壳er的博客

不断学习,接收挑战

  • 博客(57)
  • 资源 (2)
  • 收藏
  • 关注

原创 推荐系统中的bias&&debias(二):position bias的消偏

前面提到过position bias,即用户倾向于点击排在前面的结果,这使得“优势位置”的item会获得更高的后验点击率。这本质上是和用户的注意力,用户对item的情绪有关,而和用户的真实兴趣无关,这显然是不利用推荐模型的学习的。关于position bias的消偏,主要有以下几种:方法一:将位置信息作为特征加入到模型的输入中这是最简单的一种消偏方式,在训练时把位置信息作为特征,online infer时,由于无法获取位置特征,模型会自动取一个默认值,比如0,这个值可以借助AB实验来调整,作为一个

2021-10-11 23:28:33 1614 1

原创 推荐系统中的bias&&debias(一):bias的成因、类型和影响

推荐系统中的bias在推荐业务中无可避免,且会对展示效果和推荐生态都会造成负面影响。推荐广告领域的海量论文大部分都聚焦在数据特征的表达,以及模型对用户行为数据的拟合上。如果不考虑固有的偏差,盲目地对数据进行拟合,会导致很多严重的问题,如线下评价与在线指标的不一致,损害用户对推荐服务的满意度和信任度等。前一段时间实习的时候接触到一些debias的工作,正好借此机会系统的学习和整理了下这块的一些方法,第一篇作为总览先介绍下推荐系统中bias产生的原因,bias的类型以及bias会造成的影响,至于debias后

2021-10-10 22:23:01 1459 1

原创 推荐系统中的用户兴趣建模(五):召回阶段的用户多兴趣建模

众所周知,业界的推荐系统是一个漏斗状的级联结构,大体可分为召回和排序两个阶段,召回阶段我们根据用户的兴趣从海量的商品中去检索出相关候选 Item,满足推荐相关性和多样性需求。而排序阶段,依据用户兴趣会对候选集进行打分排序截取TopN Item,最终给用户产生推荐。前面的一些文章的方法基本上都用于ranking阶段,即使是最简单的DIN模型,如果其用于召回阶段也是极其耗时的。而传统的matching阶段的用户embedding:协同过滤的隐向量。缺点:sparsity problem, 计算资源耗费大

2021-10-06 18:32:02 1215

原创 推荐系统中的用户兴趣建模(四):用户长期兴趣——超长序列的建模方法

前面说到的几个模型序列的长度都不会太长,也即考虑的是用户的短期兴趣,例如DIN 和 DIEN 保留的历史行为长度都小于 100。但有实验表明,增加序列的长度能取得效果的提升:从上图中可以发现,当用户行为序列长度增加到1000时,AUC会有1.5%的提升,这种幅度的提升在CTR预估任务当中是非常显著的提升了。但存在的问题是:随着用户历史行为特征序列长度越来越长,将其应用于线上系统变得越来越困难,因为线上系统(CTR预估)通常对耗时要求比较高(需要在一定时间内返回结果),系统的线上延迟和存储开销会随着用户历

2021-10-06 16:29:24 1742

原创 推荐系统中的用户兴趣建模(三):跨sessions间的用户兴趣建模网络——DSIN

第三篇介绍电商推荐场景下一个非常有意思的做法,跨sessions间的用户兴趣建模网络——DSIN(IJCAI 2019)。在前面两篇中,无论是DIN还是DIEN还是BST或BERT4REC,建模的主体都是整个用户行为序列,这忽略了序列内在的结构:序列由sessions组成,其中sessions是发生时间内独立的用户行为。paper指出用户行为在每个会话中都是高度同构的,但跨会话是异构的。如何理解呢?以某用户行为序列为例,如下图所示。用户通常在一个会话中有一个明确的独特意图,而她的兴趣可以急剧变化当她开始

2021-10-05 18:05:59 358

原创 推荐系统中的用户兴趣建模(二):NLP方法的迁移

前面说到的DIN提供了用户兴趣建模的一个很好的思路,本身算法是基于对实际业务的理解,而DIN本身却是一个很简单的模型,这也为后续的很多优化提供了一个基线。归根到底,用户兴趣建模还是属于序列建模,所以,nlp中的很多序列学习方法可以无缝衔接到这里来,比如LSTM,GRU,Transformer,Bert等,这里介绍几个较为出名的工作。(笔者认同奥科姆剃刀原则,如果DIN本身达到的效果足够好,大可不必将序列建模工作做的过于复杂,因为这还需要团队具有很强的工程能力,以及模型用到的建模方式并不会适用所有的业务场景)

2021-10-04 22:06:28 608

原创 推荐系统中的用户兴趣建模(一):经典之作DIN及query attention框架

1.用户兴趣建模随着深度学习的普及,Embedding&MLP的范式成为了排序模型经典范式,成为各个业务模型Base model的首选。在排序模型中通常的特征类型有user profile 、item feature、context feature,user behavior feature, 其中第一类特征是静态的,很粗粒度的刻画了不同用户,第二、三类特征对于不同用户是相同的,只有第四类特征即用户兴趣,是实时更新的且”千人千面“,所以通常说的个性化也是通过这个特征来进行表达的,即用户兴趣是用

2021-10-03 22:35:49 942 1

原创 OJ编程的输入输出问题

OJ输入输出练习使用input()来获取控制台的输入信息(python3中将raw_input()一起整合到input()中了),每执行一次input()会获取到控制台输入到一行信息,并且为string格式:例:控制台输入:a,c,bbf,ddddnowcoder执行下面代码:print('1')print(input())print('2')print(input())执行代码后的输入:1a,c,bb2f,dddd一般处理输入到方法都是变成一个list去做

2021-08-21 12:00:43 385

原创 【AAAI2020】阿里DMR:融合Matching思想的深度排序模型

文章目录1.模型特征和整体结构2. I2I和U2I网络2.1 I2I2.2 U2I3. 一些细节和思考3.1 哪些结果concat到一起送入DNN中?3.2 关于item embedding3.3 关于模型架构的可移植性论文链接:Deep Match to Rank Model for Personalized Click-Through Rate Prediction推荐系统中 CTR 预估的重要性不言而喻,其中个性化是提升 CTR 模型效果的关键。对于CTR模型来说,个性化是增强用户体验的关键。而个

2021-06-11 17:50:20 342

原创 RecSys 2019:对in-batch负采样进行bias校正的Google双塔模型

文章目录1.总览2.考虑到bias的softmax损失修正3.如何计算batch内item的采样概率?4.其他的一些tricks梳理4.1 Embedding标准化4.2 softmax增强论文链接:Sampling-Bias-Corrected Neural Modeling for Large Corpus Item Recommendations1.总览目前,业界的推荐系统可以分成Retrieval和Ranking两个阶段,Retrieval需要从百万级以上的item库中召回到千级item作

2021-05-17 00:02:39 4137 1

原创 DSSM双塔模型原理及在推荐系统中的应用

1.整体结构:原始的DSSM是在搜索CTR预估任务,大概分为:embedding层MLP层cosine相似度logitsoftmax层;其中Q代表搜索词(用户),D1,2,…,n为检索文档(物料) 。如果将最左侧看作一个塔,并称为用户塔;那右侧就可以称为物料塔(或者物料塔1,2,…,n);双塔,多塔架构由此得来。注意:实际上使用DSSM解决不同的问题,我们通常使用不同的loss函数,双塔模型通过使用不同的label构造不同的模型,比如点击率模型采用用户向量和文章向量内积结果过sigmo

2021-05-14 23:02:49 2027

原创 重读KDD 2018 Best Paper:Airbnb的业务理解和Embedding技巧

文章目录1.业务背景1.基于click session的房源embedding(短期兴趣)1.1 如何确定click session?1.2 房源embedding方法1.2.1 业务思考:原始的word2vec是非监督的,怎样融入提升“预订率”这一业务目标?1.2.2 业务思考:如何缓解正样本在地域上的bias?1.2.3 业务思考:如何解决new listing的冷启动问题?2.基于booked session的用户 & 房源embedding(长期兴趣)2.1 如何解决booked sessi

2021-05-14 16:27:02 394 1

原创 Youtube视频推荐框架解读及若干算法细节

文章目录1. 总览2. 召回(Matching)2.1 什么特征?如何选择数据样本?2.2 训练方式及优化2.3 如何获取User和Item的Embedding2.4 线上Serving3. 排序(Ranking)4. 其他一些讨论1. 总览2016年,YouTube发表了深度学习推荐系统论文Deep Neural Networks for YouTube Recommendations,这是一篇理论和实践俱佳的论文。从Matching到Ranking到线上serving的各个环节,论文都

2021-05-12 22:54:46 1359 3

原创 图与推荐系统(一):Graph Embedding之node2vec (原理 + 代码实战)

文章目录一. 介绍二. 公式三. 代码细节四. 代码一. 介绍node2vec是一种综合考虑DFS邻域和BFS邻域的graph embedding方法。简单来说,可以看作是deepwalk的一种扩展,是结合了DFS和BFS随机游走的deepwalk。node2vec通过调整方向的参数来控制模型更倾向BFS还是DFS。BFS更能体现图网络的“结构性”,因为BFS生成的序列往往是由当前节点周边的组成的网络结构。这就能让最终生成的embedding具备更多局部结构化特征。DFS更能体现图网络的“同质性”,

2021-05-02 23:13:57 2017

原创 图与推荐系统(一):Graph Embedding之DeepWalk (原理 + 代码实战)

1.原理简述DeepWalk 的思想类似 word2vec,使用图中节点与节点的共现关系来学习节点的向量表示。那么关键的问题就是如何来描述节点与节点的共现关系,DeepWalk 给出的方法是使用随机游走 (RandomWalk) 的方式在图中进行节点采样。RandomWalk 是一种可重复访问已访问节点的深度优先遍历算法。给定当前访问起始节点,从其邻居中随机采样节点作为下一个访问节点,重复此过程,直到访问序列长度满足预设条件。DeepWalk的本质是在图结构上进行随机游走,生成Item序列,然后将这些

2021-04-29 23:27:14 2194 7

原创 【异常检测】XGBOD:用无监督表示学习改进有监督异常检测

论文来自于IJCNN 2018,本身结合有监督和无监督的思路比较直接,作为一个移植性比较好的框架,可以去尝试替换原论文中的一些Component,比如用更快的lightgbm替换xgboost,或者在无监督特征工程上尝试更多的组合。论文链接无监督模型包括基于计算特征相似度,基于密度估计等方法。不同的模型学习到的是不同的数据模式,根据模型的打分去判断样本的异常程度,这里的分数其实体现了无监督模型本身的一个feature engineering的过程。作者针对有label的异常检测数据,使用无监督的方法.

2021-02-05 17:18:55 2304

原创 【异常检测】DAGMM:结合深度自编码器器和GMM的端到端无监督网络(二):代码实战(PyTorch)

代码部分基于PyTorch1.6.0,使用网络入侵异常检测数据集KDDCUP99来训练和评测,完整代码见:GitHub。文章目录1.网络部分:2.GMM参数计算:3.似然函数和总体损失的计算:4.KDDCUP99数据集预处理和划分:5.完整代码1.网络部分:网络部分的实现较为简单,基本上就是DAE结构接一个全连接结构,最后输出一个softmax Tensor。要注意好Compression network和Estimation network的输入输出的Tensor shape:class D.

2021-01-30 17:13:18 1722 3

原创 【异常检测】DAGMM:结合深度自编码器器和GMM的端到端无监督网络(一):论文解读

这是一个我最近复现并产生较好应用效果的模型,论文来自于ICLR2018,思路非常有意思。花时间分别从模型原理和如何实现并使用它的角度整理出两篇博客。论文链接异常检测是区分样本集中的少量异常样本,一般有两个特点:异常样本很少,异常:正常分布很不均衡由于应用范围涵盖很多方面,往往很难获取标签,所以一般都是采用无监督和半监督的方式学习。本质上,可以认为异常检测的一种思路是通过密度估计找到异常样本的过程,诸如一些传统的聚类算法如K-means,GMM可以被用来异常检测,但这些方法很难推广到高维和.

2021-01-30 10:39:56 3565 3

原创 深度学习模型压缩与加速理论与实战(一):模型剪枝

记录以下最近实验室的工作:模型的压缩和加速,虽然针对的是yolov3,但是剪枝的对象还是CBL层(即Conv Layer + BNLayer + LeakyReLU Layer),因此我觉得可能有一些通用的参考价值。文章目录通道剪枝:稀疏训练策略层剪枝:微调精度恢复训练:github剪枝顾名思义,就是通过一些算法或规则删去一些不重要的部分,来使模型变得更加紧凑,减小计算或者搜索的复杂度,一种典型的模型剪枝方法如下图:它包括四个迭代步骤:评估一个预先训练的深度模型中每个组件的重要性;剔除对.

2020-12-27 21:50:21 3214 4

原创 树的遍历(总结自leetcode上2道easy和7道median)

目录1.二叉树的遍历1.1 DFS(前序、中序、后序)--->LC144、LC94、LC1451.1.1 递归1.1.2 模拟栈1.1.3 Morris遍历1.2 BFS(层序) --->剑指32-I、LC102、LC1032.N叉树的遍历 --->LC589、LC590、LC4291.二叉树的遍历前序:根左右中序:左根右后序:左右根层序:从上到下,每一层从左到右结果:前序:ABDFECGHI中序:DBEFAGHCI后序:DEFBHGICA层序:ABCDFGIEH1

2020-12-15 15:00:51 270

原创 DL知识拾贝(Pytorch)(六):信息流的传播和训练的稳定性

       前向传播和反向传播是在训练神经网络的过程中存在两个过程,从信息流的角度可以直观地解释神经网络的信息传播过程:       前向传播将输入信号通过现有参数矩阵的网络计算,直至输出产生误差,反向传播则根据误差信息更新权重矩阵。神经网络的训练,是一场以代价函数值为主导的反向传播运动,旨在得到最优的参数矩阵,进...

2020-12-15 14:54:57 351

原创 python中collections模块的使用

官方API链接目录namedtupledefaultdictnamedtuplecollections.namedtuple(typename, field_names, *, rename=False, defaults=None, module=None)namedtuple是一个函数,它用来创建一个自定义的tuple对象,并且规定了tuple元素的个数,并可以用属性而不仅仅是索引来引用tuple的某个元素。>>> # Basic example>>>

2020-12-15 14:52:31 224 1

原创 哈希算法leetcode刷题总结

题库1. 字母异位词分组(lc.49):Medium1. 字母异位词分组(lc.49):Medium题目链接给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”]输出: [[“ate”,“eat”,“tea”], [“nat”,“tan”], [“bat”] ]说明:所有输入均为小写字母。 不考虑答案输出的顺序。由于互为字母异位词的两个字符串包

2020-12-14 23:10:53 244 1

原创 贪心算法leetcode刷题总结

题库1. 分发饼干(lc.455):Easy2.分发糖果(lc.135):Hard3. 无重叠区间(lc.435):Medium1. 分发饼干(lc.455):Easy题目链接描述: 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标

2020-12-13 23:51:48 216

原创 环境配置流程细节摘要(持续更新)

文章目录1.pip conda换源1.conda虚拟环境 + pytorch + jupyterlab一键安装2.conda虚拟环境 + pytorch + jupyterlab一键安装1.pip conda换源1.conda虚拟环境 + pytorch + jupyterlab一键安装conda create -y -n my_env python=3.8 pytorch=1.6.0 jupyter_nb_conda_kernelspip install torchvison==0.7.0分开

2020-12-01 10:30:05 355 2

原创 【汇总篇】DL知识拾贝(Pytorch)系列(持续更新中......)

1.深度学习梳理笔记(Pytorch)(一):深度学习过程的通俗理解2.深度学习梳理笔记(Pytorch)(二):关于Pytorch,你所要知道的3.深度学习梳理笔记(Pytorch)(三):DL元素之一:激活函数4.深度学习梳理笔记(Pytorch)(四):DL元素之二:损失函数5.深度学习梳理笔记(Pytorch)(五):DL元素之三:优化器6.深度学习梳理笔记(Pytorch)(六...

2020-02-16 20:20:28 280 1

原创 DL知识拾贝(Pytorch)(五):如何调整学习率

文章目录1. 等间隔调整学习率2. 按指定区间调整学习率3. 指数衰减调整学习率4. 余弦退火调整学习率5. 自适应调整学习率6. 自定义调整学习率7. warm up (CVPR 2019)       学习率对于深度学习是一个重要的超参数,它控制着基于损失梯度调整神经网络权值的速度,大多数优化算法(SGD、RMSprop、Adam)对其都有所涉及。学习...

2020-02-13 21:33:24 1313

原创 DL知识拾贝(Pytorch)(四):DL元素之三:优化器

       这一系列的学习笔记是基于李沐等人的开源书《动手学深度学习》总结和扩展而来。感谢Pytorch版项目原作者:项目地址。

2020-02-13 17:45:13 513

原创 DL知识拾贝(Pytorch)(三):DL元素之二:损失函数

       这一系列的学习笔记是基于李沐等人的开源书《动手学深度学习》总结和扩展而来。感谢Pytorch版项目原作者:项目地址。       个人梳理了一下学习路线,并在知识体系中扩展了一些其他的东西,例如:讨论损失函数; 图卷积网络 ; 对抗生成网络; 注意力机制;模型压缩; 轻量化网络等等。  ...

2020-01-16 23:08:03 1041

原创 DL知识拾贝(Pytorch)(二):DL元素之一:激活函数

       这一系列的学习笔记是基于李沐等人的开源书《动手学深度学习》总结和扩展而来。感谢Pytorch版项目原作者:项目地址。       个人梳理了一下学习路线,并在知识体系中扩展了一些其他的东西,例如:讨论损失函数; 图卷积网络 ; 对抗生成网络; 注意力机制;模型压缩; 轻量化网络等等。  ...

2020-01-16 20:17:34 1150

原创 DL知识拾贝(Pytorch):关于Pytorch,你所要知道的

       这一系列的学习笔记是基于李沐等人的开源书《动手学深度学习(PyTorch 版本)》总结和扩展而来。感谢原作者:项目地址。       个人梳理了一下学习路线,并在知识体系中扩展了一些其他的东西,例如:讨论损失函数; 图卷积网络 ; 对抗生成网络; 注意力机制;模型压缩; 轻量化网络等等。&nbsp...

2020-01-16 18:07:08 421

原创 DL知识拾贝(Pytorch)(一):深度学习过程的通俗理解

       这一系列的学习笔记是基于李沐等人的开源书《动手学深度学习(PyTorch 版本)》总结和扩展而来。感谢原作者:项目地址。       个人梳理了一下学习路线,并在知识体系中扩展了一些其他的东西,例如:讨论损失函数; 图卷积网络 ; 对抗生成网络; 注意力机制;模型压缩; 轻量化网络等等。&nbsp...

2020-01-16 15:14:20 373

原创 基于自主巡航无人机和支持向量机算法的小麦叶部病害检测系统(一)

2017年4月我申请到了一个大学生创新项目——基于SVM和计算机视觉技术的小麦叶部病害检测系统。该项目利用摄像头捕捉叶部图像,通过病斑分割,提取特征向量,然后送到SVC分类器中训练得到结果。后期借助FPGA设计大赛的机会用FPGA设计了无人机来搭载摄像头。第一篇先来介绍计算机视觉部分,主要是病斑分割以及分类结果云端显示。一. 图像处理 图像预处理:畸变矫正由于摄像头拍摄的图像存在“鱼...

2020-01-05 23:13:23 1240 1

原创 【记录】30分快速搭建机器学习和深度学习环境(tensorflow 1.x +2.x ,pytorch, mxnet ,sklearn ,xgboost ,lightgbm ,catboost...)

       由于换了台服务器,所以需要重新配置机器学习和深度学习环境,sklearn,tensorflow, mxnet都配置的比较顺利, 唯独pytorch在安装的时候会出现http错误(之前也遇到过,国外的源,网速问题),这里记录一下环境搭建的流程,方便下次直接移植命令。(提前要装好cuda和cudnn和anaconda3,以及conda pip 替...

2019-11-22 21:55:47 506 3

原创 Pandas如何进行内存优化和数据加速度取(附代码详解)

       Pandas 是常用的 Python 软件库,可用于数据操作和分析。在进行数据分析时,导入数据(例如pd.read_csv)几乎是必需的,但对于大的CSV,可能会需要占用大量的内存和读取时间,这对于数据分析时如果需要Reloading原始数据的话会非常低效。       Dataquest.io 发布...

2019-11-05 20:02:17 1083 3

原创 为什么卷积神经网络中的“卷积”不是卷积运算?

       这是我在看代码的时候忽然发现到的一个问题,同时一查也是某TOP厂的一个面试问题,一个我以前从没注意到的一个细节性问题。也就是说(以二维卷积为例),CNN中的conv2d层执行的并不是数学上的卷积计算,而是数学上的互相关计算。那为什么可以用互相关运算代替这里面的卷积运算呢?作者知乎:https://www.zhihu.com/people...

2019-10-05 20:45:22 1308

原创 小白入门计算机视觉系列——ReID(四):再进阶:细粒度多特征融合

ReID(四):再进阶:细粒度多特征融合       小白入门系列是我和朋友准备一起做的一块内容,分模块分专题·,比如计算机视觉中的目标检测,ReID,OCR,语义分割以及大火大热的AutoML等等。       本次带来的是计算机视觉中比较热门的重点的一块,行人重识别(也叫Person ReID),车辆重识别和...

2019-09-22 13:43:22 5224

原创 小白入门计算机视觉系列——ReID(三):进阶:学习分块局部特征

ReID(三):进阶:学习分块局部特征       小白入门系列是我和朋友准备一起做的一块内容,分模块分专题·,比如计算机视觉中的目标检测,ReID,OCR,语义分割以及大火大热的AutoML等等。       本次带来的是计算机视觉中比较热门的重点的一块,行人重识别(也叫Person ReID),车辆重识别和行...

2019-09-22 13:14:35 4639

原创 小白入门计算机视觉系列——ReID(二):baseline构建:基于PyTorch的全局特征提取网络(Finetune ResNet50+tricks)

ReID(二):baseline构建:基于PyTorch的全局特征提取网络(Finetune ResNet50+tricks)       小白入门系列是我和朋友准备一起做的一块内容,分模块分专题·,比如计算机视觉中的目标检测,ReID,OCR,语义分割以及大火大热的AutoML等等。       本次带来的是计...

2019-09-22 00:03:33 8202 3

原创 小白入门计算机视觉系列——ReID(一):什么是ReID?如何做ReID?ReID数据集?ReID评测指标?

ReID(一):什么是ReID?如何做ReID?ReID数据集?ReID评测指标?       小白入门系列是我和朋友准备一起做的一块内容,分模块分专题·,比如计算机视觉中的目标检测,ReID,OCR,语义分割以及大火大热的AutoML等等。       本次带来的是计算机视觉中比较热门的重点的一块,行人重识别(...

2019-09-20 15:19:18 44172 12

NSL-KDD.zip(KDDCUP99改进版)

NSL-KDD.zip(KDDCUP99改进版)

2021-01-20

KDDCUP99.zip

网络入侵数据集,异常检测

2021-01-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除