自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Ezail的博客

Recommendation System & Machine Learning & Natural Language Processing

  • 博客(32)
  • 收藏
  • 关注

原创 《Real-time Personalization using Embeddings for Search Ranking at Airbnb》论文总结

这次总结的文章是2018 kdd best paper,来自Airbnb的学长们。由于从去年年底到现在一直在百度feed实习,也接触到了大量的推荐业务,其实生成embedding更是家常便饭,今天这篇文章更是把embedding思想发挥到了极致。Airbnb作为全世界最大的短租网站,提供了一个连接房主(host)挂出的短租房(listing)和主要是以旅游为目的的租客(guest/user...

2019-04-24 17:33:45 447

原创 L1范数优化之近端梯度下降法

这里总结一下L1范数优化方法近端梯度下降法。由浅入深可以总结为三个层次:第一层次:直接记住结论第二层次:知道上面的proximal mamping的如何推导出结论的分段函数介绍一下上面的prox映射proximal映射是关于函数h的一个映射第三层次:知道proximal mapping在这里代表什么,知道如何从目标函数展开泰勒公式,从而得到proximal mappin...

2019-04-15 18:43:49 4910 1

原创 树模型特征重要性计算方法总结

最近在复习特征重要性时候,考虑到我们在使用GBDT、RF、Xgboost等树类模型建模时,往往可以通过feature_importance 来返回特征重要性,下面收集整理了一下各模型输出特征重要性的原理与方法;1. 计算特征重要性方法首先,目前计算特征重要性计算方法主要有两个方面:1.1 训练过程中计算训练过程中通过记录特征的分裂总次数、总/平均信息增益来对特征重要性进行量化。例...

2019-04-14 13:03:56 5446

原创 GBDT与Logistic Regression的区别总结

虽然还没有在面试中遇到面试官问这个问题,但是我认为这是一个考察算法工程师基础的很好的一个问题。在这里我从多方位总结一下我的理解,如有错误,欢迎指正。1. 从机器学习三要素的角度:1.1 模型本质上来说,他们都是监督学习,判别模型,直接对数据的分布建模,不尝试挖据隐含变量,这些方面是大体相同的。但是又因为一个是线性模型,一个是非线性模型,因此其具体模型的结构导致了VC维的不同:其中,L...

2019-04-06 23:37:20 1734

原创 《Deep Neural Networks for YouTube Recommendations》论文总结

最近继续总结之前读过的经典论文,正好看到知乎王喆老师提出的关于youtube的十大工程问题,研究之后发现自己第一遍阅读还是读的太粗陋,遂再次阅读,这里记下自己这几次阅读的一些思考与总结。总的来说youtube的推荐系统架构已经是如今各个互联网公司的基本操作了,十分具有纪念意义,那我我们来一起看看youtube的前辈们如果解决这个问题的。Youtube的用户推荐场景自不必多说,作为全球最大的UG...

2019-04-05 11:08:23 639

原创 排序算法总结

摘要:本文是对常见的排序算法进行总结和分析。排序算法稳定性的定义:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,ri=rj,且ri在rj之前,而在排序后的序列中,ri仍在rj之前,则称这种排序算法是稳定的;否则称为不稳定的。1.1冒泡排序的思想对相邻的元素进行两两比较,顺序相反则进行交换。这样每一趟将最小或最大的...

2019-04-02 16:37:43 171

原创 使用gbdt时类别特征的处理方法

在去年第一次参加ctr比赛中碰到类别特征时,第一反应是进行one-hot编码而不能使用序号编码,因为序号编码给类别的不同属性赋予了数值的意义,然而在实际比赛中发现,one-hot编码后的效果并不好,甚至和直接序号编码的效果不相上下,但是带来训练时间的增加非常大,那么为什么对类别进行one-hot编码和label编码效果差不多,而不是更好呢?在参加比赛之后我对这些有了更多的见解,在此总结。其实对...

2019-03-29 16:41:25 7493 3

原创 牛顿法与拟牛顿法

最近开始复习一些基础,查漏补缺。

2019-03-23 14:44:31 116

原创 UCB公式的理解

在解决探索与利用平衡问题时,UCB1 策略是一个很有效的方法,而探索与利用平衡问题中最经典的一个问题就是多臂赌博机问题(Multi-Armed Bandit)问题假设:按下摇臂后的回报取值为 1 或 0,每个摇臂获得回报的概率服从不同的分布,但事先并不知道问题目标:按照某种策略来按压摇臂以获得最大的累计回报(咦,这不就是强化学习的目标嘛)在这个问题中,探索与利用就是:利用(explo...

2019-03-21 18:11:17 1617

原创 LR进阶之softmax regression

在Logistic regression中,所学习的系统方程为:    其对应的损失函数为:    可以看出,给定一个样本,就输出一个概率值,该概率值表示的含义是这个样本属于类别’1’的概率,因为总共才有2个类别,所以另一个类别的概率直接用1减掉刚刚的结果即可。如果现在的假设是多分类问题,比如说总共有k个类别。在softmax regression中这时候的系统的方程为:...

2019-03-21 17:43:55 2900

原创 word2vec原理总结

Part I:背景Part II:训练模式(CBOW,Skip Gram)Part III:优化方法(Negative Sampling,Hierarchical SoftMax)Part IV:词向量衡量指标参考论文:Word2vec Parameter Learning ExplainedPart I:背景特征表达是很基础也很重要的一步,我们通常需要用一个向量去表示一个...

2019-03-20 22:40:26 940 1

原创 《A Decomposable Attention Model for Natural Language Inference》论文总结

问题介绍:Natural language inference,自然语言推断。其实就是文本蕴含任务(text entailment),任务的形式是:给定一个前提文本(premise),根据这个premise去推断假说文本(hypothesis)与premise的关系,一般分为蕴含关系(entailment)和矛盾关系(contradiction),蕴含关系(entailment)表示从prem...

2019-03-14 21:06:49 1983 1

原创 《Learning Deep Structured Semantic Models for Web Search using Clickthrough Data 》论文总结

1.背景DSSM是Deep Structured Semantic Model的缩写,即我们通常说的基于深度网络的语义模型,其核心思想是将query和doc映射到到共同维度的语义空间中,通过最大化query和doc语义向量之间的余弦相似度,从而训练得到隐含语义模型,达到检索的目的。DSSM有很广泛的应用,比如:搜索引擎检索,广告相关性,问答系统,机器翻译等。2. DSSM2.1简介...

2019-03-12 22:14:10 2705

原创 《Attention Is All You Need》论文总结

继续整理之前看过的论文,这一次看又明白了很多之前没有细究的问题,也参考了不少资料,昨晚看high了看到了2点多,学习大概就是这样一个过程吧。参考代码:https://github.com/Njust-taoye/transformer-tensorflow感谢开头先说创新点:提出self-attention,自己和自己做attention,使得每个词都有全局的语义信息(长依赖): ...

2019-03-06 15:44:17 573 1

原创 《Enhanced LSTM for Natural Language Inference》论文总结

ESIM,简称 “Enhanced LSTM for Natural Language Inference“。顾名思义,一种专为自然语言推断而生的加强版 LSTM。至于它是如何加强 LSTM,请继续往下看:Unlike the previous top models that use very complicated network architectures, we first dem...

2019-02-28 21:47:15 1052 1

原创 《Siamese Recurrent Architectures for Learning Sentence Similarity》论文总结

今天开始整理一些之前看过的论文,一是复习巩固基础,二是可以回过头来想一想有没有新的理解。论文链接:Siamese Recurrent Architectures for Learning Sentence SimilarityLearning Text Similarity with Siamese Recurrent NetworksSiamese Recurrent,中文名叫孪...

2019-02-28 16:55:37 2258

原创 RNN与梯度弥散的一记杂谈

今天打算复习一下RNN方面的基础,本篇博客会分三个部分讲:第一部分讲NN中的梯度弥散问题,第二部分讲RNN中的梯度弥散问题,并引出LSTM和GRU,第三部分聊一聊batch normalization和group normalization。关于第一NN和RNN中的梯度问题(弥散,爆炸),因为涉及到了BP(NN),BPTT(RNN)的推导,索性直接在纸上手推了,顺便巩固了:好的,现...

2019-02-24 23:59:11 477

原创 算法题总结之二分搜索

二分搜索小记二分查找法作为一种常见的查找方法,将原本是线性时间提升到了对数时间范围,大大缩短了搜索时间,具有很大的应用场景,博主这里对二分搜索进行了归类:第一类: 需查找和目标值完全相等的数这是最简单的一类,也是我们最开始学二分查找法需要解决的问题,比如我们有数组[2, 4, 5, 6, 9],target = 6,那么我们可以写出二分查找法的代码如下:int find(vector&lt...

2019-02-21 15:58:54 358 2

原创 深刻理解交叉熵损失函数

说起交叉熵损失函数「Cross Entropy Loss」,脑海中立马浮现出它的公式:我们已经对这个交叉熵函数非常熟悉,大多数情况下都是直接拿来使用就好。但是它是怎么来的?为什么它能表征真实样本标签和预测概率之间的差值?上面的交叉熵函数是否有其它变种?1.交叉熵损失函数的推导我们知道,在二分类问题模型:例如逻辑回归「Logistic Regression」、神经网络「Neural ...

2019-02-21 00:33:16 5720 1

原创 SQL知识梳理之修改篇(三)

SQL知识梳理之修改篇(三)INSERT当我们需要向数据库表中插入一条新记录时,就必须使用INSERT语句。INSERT语句的基本语法是:INSERT INTO <表名> (字段1, 字段2, ...) VALUES (值1, 值2, ...);例如,我们向students表插入一条新记录,先列举出需要插入的字段名称,然后在VALUES子句中依次写出对应字段的值:INSE...

2019-02-16 17:23:43 174

原创 SQL知识梳理之查询篇(二)

文章目录SQL知识梳理之查询篇(二)基本查询条件查询常用的条件表达式投影查询排序分页查询聚合查询分组多表查询连接查询小结SQL知识梳理之查询篇(二)基本查询SELECT * FROM <表名>select也可以用作计算,但不是他的强项,select语句可以用来判断数据库的连接是否有效例如:许多检测工具会执行一条SELECT 1;来测试数据库连接。条件查询SELECT * ...

2019-02-16 15:51:05 251

原创 SQL知识梳理之关系模型(一)

文章目录SQL知识梳理之关系模型(一)关系模型主键外键一对多多对多一对一索引索引的概念与用法唯一索引Tips:SQL知识梳理之关系模型(一)关系模型关系数据库是建立在关系模型上的。而关系模型本质上就是若干个存储数据的二维表,可以把它们看作很多Excel表。表的每一行称为记录(Record),记录是一个逻辑意义上的数据。表的每一列称为字段(Column),同一个表的每一行记录都拥有相同的若...

2019-02-15 11:31:39 1971

原创 算法题总结之动态规划

文章目录动态规划斐波那契数列爬楼梯强盗抢劫强盗在环形街区抢劫信件错排母牛生产矩阵路径矩阵的最小路径和矩阵的总路径数数组区间数组区间和数组中等差递增子区间的个数分割整数分割整数的最大乘积按平方数来分割整数分割整数构成字母字符串最长递增子序列最长递增子序列一组整数对能够构成的最长链最长摆动子序列最长公共子序列0-1 背包空间优化无法使用贪心算法的解释变种划分数组为和相等的两部分改变一组数的正负号使得它...

2019-02-13 17:35:46 916

原创 推荐系统之冷启动

我们之前讨论推荐系统的UserCF算法和ItemCF等算法都是以拥有大量用户行为数据为先决条件,并以此对物品或者用户进行自动聚类。但是对于一个刚刚开始运行推荐系统的应用的网站来说,如何在没有大量用户行为数据的情况下设计个性化推荐系统并且让用户对推荐系统满意,从而愿意使用推荐系统,这就是冷启动问题。对于冷启动问题,一般分为三类: 一)用户冷启动:如何对新用户做个性化推荐。 二)物品冷启动...

2019-02-12 23:02:42 322

原创 推荐系统之基于图的模型

本博文将介绍PersonalRank算法,以及该算法在推荐系统上的应用。将用户行为数据用二分图表示,例如用户数据是由一系列的二元组组成,其中每个元组(u,i)表示用户u对物品i产生过行为。将个性化推荐放在二分图模型中,那么给用户u推荐物品任务可以转化为度量Uv和与Uv  没有边直接相连  的物品节点在图上的相关度,相关度越高的在推荐列表中越靠前。图中顶点的相关度主要取决与以下因素: ...

2019-02-12 15:47:41 1828

原创 《Wide & Deep Learning for Recommender Systems》论文总结

文章目录Wide & Deep Learning for Recommender Systems1.论文名词解释1.1 Memorization 和 Generalization1.2 Wide 和 Deep1.3 Cross-product transformation2. Wide & Deep Model2.1 推荐系统概览2.1.1 介绍2.1.2 LR2.1.3 Embe...

2019-02-11 23:42:11 636 1

原创 推荐系统之LFM与邻域方法对比

LFM在topN推荐时,重要参数有四个:1.隐特征的个数F 2.学习率alpha 3.正则化参数lambda 4.正负样本比例ratio通过实验发现,ratio对算法性能影响最大(控制变量法)。随着负样本的增多,LFM的准确率和召回率有明显的提高,但是覆盖率不断降低,新颖度不断降低。在movielens数据集上的结果,可以发现LFM总是优于itemcf和usercf,但是LFM不适合稀疏的数据...

2019-02-10 15:16:35 1020

原创 推荐系统之Cotent-Based算法

简单的内容关联算法算法的基本原理是将一个item的基本属性、内容、一级/二级类别标签等信息提取出来,抽成一个taglist,为每个tag赋一个权重。将所有item对应的taglist做一下倒排转换,放到倒排索引服务器中存储起来。当需要对某一个item做相关推荐的时候,将该item对应的taglist拿出来拼成一个类似搜索系统中的query表达式,再将召回的结果做一下排序作为推荐结果输出。当需要...

2019-01-31 12:52:16 401

原创 推荐系统之LFM(隐语义模型)

最近在拜读项亮博士的《推荐系统实践》,系统的学习一下推荐系统的相关知识。今天学习了其中的隐语义模型在Top-N推荐中的应用,在此做一个总结。隐语义模型LFM和LSI,LDA,Topic Model其实都属于隐含语义分析技术,是一类概念,他们在本质上是相通的,都是找出潜在的主题或分类。这些技术一开始都是在文本挖掘领域中提出来的,近些年它们也被不断应用到其他领域中,并得到了不错的应用效果。比如,在推...

2019-01-28 00:02:51 974

原创 推荐系统之itemCF

上一讲讲到userCF算法,该算法是根据用户之间相似度,来给目标用户推荐与他们相似用户产生过行为的物品。该算法在某些应用场景并不适用。首先随着网站用户数目越来越大,计算用户兴趣相似矩阵越来越困难,运算时间复杂度和空间复杂度和用户增长近似于平方关系。其次,基于用户的协同过滤很难对推荐结果作出解释。由此产生了基于物品的协同过滤(itemCF)给用户推荐和他们之前喜欢的物品相似的物品。不过ItemC...

2019-01-26 23:12:33 12256 2

原创 推荐系统之UserCF

一: 推荐系统任务:联系用户和信息,一方面帮助用户发现对自己有价值的信息,另一方面让信息能够展现在对它感兴趣的用户面前,从而实现信息消费者和信息生产中的双赢。长尾理论:传统80/20(%80销售额来自于20%热门商品)原则在互联网加入下受到挑战。长尾商品销售额是个不容小觑的数字,也许会超过热门商品带来的销售额。热门商品代表绝大多数用户需求,而长尾商品代表一小部分用户个性化需求。因此要发掘长尾...

2019-01-26 18:45:45 830

原创 模型融合之Stacking技术

stacking的过程有一张图非常经典,如下:虽然他很直观,但是没有语言描述确实很难搞懂。   上半部分是用一个基础模型进行5折交叉验证,如:用XGBoost作为基础模型Model1,5折交叉验证就是先拿出四折作为training data,另外一折作为testing data。注意:在stacking中此部分数据会用到整个traing set。如:假设我们整个training s...

2018-08-02 11:57:02 8270 1

空空如也

空空如也

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

TA关注的人

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