Wenqian Blog

从现在开始就不算晚

「经典网络解读」:门控循环单元——GRU

LSTM的一种有效替代

GRU是什么 GRU的全称是Gated Recurrent Unit,是一种相比LSTM更加简单的循环神经网络结构。由于上一篇文章中已经对LSTM的结构进行了介绍,因此这里直接先给出GRU的网络结构,然后我们再进一步探寻其效果背后的原因。GRU的网络结构如下图所示,这里引用了《神经网络与深度学习》中相关章节的图片: 从图中我们可以看到,LSTM中的c和h被简化为只有h,并且门控的数量也...

「经典网络解读」:长短时记忆网络——LSTM

LSTM为什么这么有效

LSTM简介 LSTM的全称叫Long Short Term Memory,即长短时记忆。它的主要优点就如名字中所说——可以同时记住长时间或短时间内的信息(或者说比较久远或者最近的信息)。网上也有很多相关的文章介绍LSTM,这里我们主要聚集几个方面: LSTM的网络结构有哪些特点? 这些特点可以带来哪些优势? LSTM的缺点有哪些? LSTM的网络结构特点 LSTM是RN...

「机器学习论文解读」:广告点击率预估算法-Deep Interest Evolution Network

让兴趣也可以进化和演变

论文简介 本文收录于AAAI2019,和DIN一样来自于阿里妈妈的精准定向检索及基础算法团队。从思路上来说,DIEN可以看做是DIN的一种扩展,不过具体的结构和实现还是改动比较大。DIEN主要想解决的问题是两个:一是如何更准确地得到兴趣的表示,二是如何捕获兴趣变化的过程。第一个问题可以理解为是DIN上不足的一个扩展,因为DIN其实比较简单的把用户行为看做是用户兴趣,但事实上兴趣很难由这些行为...

「机器学习论文解读」:广告点击率预估算法-Deep Interest Network

用局部激活单元来自适应学习用户兴趣

论文简介 本文收录于KDD18,来自于阿里妈妈的精准定向检索及基础算法团队。文章的创新点主要有三个: Deep Interest Network(DIN)—— 通过一个局部激活单元(local activation unit)来自适应地从用户历史行为中学习他对于某个广告的兴趣。 Mini-batch Aware Regularization —— 即一个针对mini-batch S...

「机器学习论文解读」:推荐算法-DeepFM

经典回顾

论文简介 这篇文章可以称得上是深度推荐系统领域的一篇经典论文了。文章其实思路很简单,那就是利用FM和DNN分别构建低阶和高阶交叉特征,从而提升模型的效果。在此之上,作者还提出了一些细节上的优化,较少了模型的复杂度并提升了效果。不过就我个人而言,这篇文章的创新点似乎不是很多,更像是对前人工作的融合和改进。为什么这么说呢?我们先来看看这里的“前人工作”有哪些。 前人工作 FM 第一个就是...

「机器学习论文解读」:推荐算法-FNN和PNN

如何在FM之上利用DNN做高阶特征

论文简介 这两篇文章的本质都是在探寻一种将DNN运用于CTR领域的方式。由于CTR场景下特征多是离散类别特征,并且每个特征的取值个数不同,在经过One-hot后往往比较稀疏,所以并不适合直接接入DNN。一来参数量太大,二来特征过于稀疏,三来无法捕获特征间的local dependency。一个很自然的想法就是对原始特征进行一种通用的处理,然后将处理后的稠密特征输入DNN进行训练,得到更高阶的...

「机器学习论文解读」:推荐算法-xDeepFM

一起看看CIN的巧妙之处

论文简介 这篇文章发表于KDD 18,对DeepFM的FM端进行了改进(也可以理解为是对现有的显式交叉特征构建+DNN结构的这些算法的一种改进)。其最大的贡献在于提出了CIN(Compressed Interation Network)来显式地生成向量维度(vector-wise)的交叉特征。 向量维度(vector-wise) 什么是向量维度? 在介绍CIN之前,我们需要先搞清楚作者说的...

「机器学习论文解读」:推荐算法-DCN

Deep & Cross Network for Ad Click Predictions

论文简介 这篇论文[1]来自谷歌,算是做特征组合的文章中比较有名的,一般用在CTR预估中。 网络结构 正如文章标题所写,DCN可以分为深度网络(Deep Network)和交叉网络(Cross Network)两部分。深度网络就是一个简单的DNN,激活函数是ReLU;而交叉网络算是这里最大的一个创新点,用来生成高阶的交叉特征。我们先看一下论文中给出的网络结构图,再对它进行介绍。 作者...

「Learning Spark系列」:环境准备

Spark Setup

Before All 在教程之前我想先说明一下通过本教程大家能学到什么。 这里说的“环境准备”是什么? 简单来说就是让你的电脑上能够运行Spark,并且可以构建依赖Spark的项目,例如自己做些小实验或者进行基于Spark的项目开发。当然,Spark本身是存在多种运行模式的,例如local、standalone和Spark on Yarn等等,那么这里说的是local模式的Spark,至于...

「算法总结系列」:并查集

Union Find

什么是并查集 并查集(Union Find)其实就是一种将元素归类的方法。它由归并(Union)和查找(Find)两部分组成。其中查找部分就是查找某个元素所在的集合,而归并部分则是将两个元素所在的集合进行合并(如果两个元素已经在同一集合中,则不做任何操作)。 什么情况下会用到并查集 并查集一般用在将元素进行分类的情形下,而且分类的标准是元素是否“连通”。比如: 连通图。题目可能给...