自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 搜索系统中的文本相关性实践经验

文本相关性问题就是判断两个文本之间的相关程度,也是搜广推中的重点问题之一。本篇文章主要粗略总结这方面的一些实践经验,包括特征、模型以及部署上需要注意的问题,都是本人在工作中积累的实际经验,非综述类文章,只总结用过的。总体包括特征和模型两个方面,特征一般指类似 BM25、tf-idf 之类的统计特征,模型则是指各类双塔、交互深度学习模型。...

2022-08-17 14:25:45 1584

原创 深入理解transformer源码

参考资料:transformer原论文深入理解transformer及源码图解Transformer(完整版)The Annotated Transformer前言  本来今年(2020)七月份就想写这篇博客,因为毕业、工作入职等一系列事情一直拖到了现在(主要是因为懒)。transformer的实现不止一个源码,本文主要讲解哈佛大学利用torch实现的版本。相对更“高级”的C系源码,这个版本显得不是那么底层,但我们大多数人阅读源码的主要目的还是为了更多的理解这个算法的细节然后去更好的使用它。 

2020-12-10 00:09:59 19351 52

原创 xgboost 中的二阶导数为什么收敛更快?

面试中一直以来有个热门问题就是:「xgboost 二阶泰勒展开为什么收敛快?」一般来说网上的背诵答案为:「一阶导数可以找到当前最陡峭的方向,二阶导数可以掌握一阶导数未来的变化信息,等于说二阶导数有更长远的规划。」但这个答案未免太不优雅了,过于make sense了,缺少一些数学上的严谨性。下面这篇短文来记录一下最近针对这个问题的一些思考。...

2022-08-21 14:21:13 855 1

原创 排序模型(learning to rank)发展史(偏推荐系统

「排序」是一个非常业务化的任务,其实践场景也多为搜索、广告、推荐,被用于解决排序任务的模型也被人一统称作了「排序模型」,但其实「排序模型」也是「普通模型」,只不过或多或少在业务层面针对排序做了一些针对。观察每一类算法模型的发展,最重要的不是事无巨细的记住所有迭代模型的细节,而是明白每一次发生迭代,每一次技术革新,都或多或少解决了上一代模型存在的某一些问题。记住他们迭代的契机,才是通晓了整个历史。这次就来梳理一下排序模型的发展史。提起推荐系统中的算法,最经典的莫过于协同过滤。协同顾虑最早可以追溯到 1992

2022-06-30 23:59:54 1878

原创 thrift IDL

Base Types(基本类型)bool:布尔值,true 或 false,对应 Java 的 booleanbyte:8 位有符号整数,对应 Java 的 bytei16:16 位有符号整数,对应 Java 的 shorti32:32 位有符号整数,对应 Java 的 inti64:64 位有符号整数,对应 Java 的 longdouble:64 位浮点数,对应 Java 的 doublestring:utf-8编码的字符串,对应 Java 的 Stringtips:thrift 并

2022-01-21 17:21:18 984 2

原创 搜索算法框架综述

[1] jieba分词_从语言模型原理分析如何jieba更细粒度的分词[2] 全面理解搜索Query:当你在搜索引擎中敲下回车后,发生了什么?[3] 新词发现"算法探讨与优化-SmoothNLP[4] 新词发现(一):基于统计[5] 一文带你了解搜索功能设计[5] 搜索中的纠错问题初探[6] 美团机器学习实践[7] 浅谈Query理解和分析[8] 搜索中的命名实体识别[9] 深入理解搜索引擎-搜索召回[10] 策略算法工程师之路-召回策略(搜索部分)query理解query预处理q

2021-05-31 12:37:08 2084

转载 transformer中的attention为什么scaled?

原文链接:transformer中的attention为什么scaled?——LinT的回答———————————————————————————————————————————————————————这个问题困扰良久,一直没研究清楚,只知道个大概,不知其所以然,这里专门开一篇总结一下。由于有人珠玉在前,写得极其精彩,所以直接转载了,以下为原文。谢邀。非常有意义的问题,我思考了好久,按照描述中的两个问题分点回答一下。1. 为什么比较大的输入会使得softmax的梯度变得很小?......

2021-04-03 11:35:04 370

原创 为什么LSTM可以缓解梯度消失?

参考资料:Why LSTMs Stop Your Gradients From Vanishing: A View from the Backwards PassRNN前言  早些时候写了一篇关于RNN/LSTM的博客,介绍了RNN、LSTM的基本原理,其中提到了RNN梯度消失的问题,借机引出了LSTM。当时的文章中只写到了LSTM可以缓解梯度消失,但没有写明原因,原因是当时太想当然了,没有仔细思考这个问题。由于那篇博文的阅读量很多,本着负责的态度,现在重新把这个问题翻出来好好解释一下。  本文

2021-03-11 01:38:03 10548 1

原创 为什么逻辑回归(logistic)可以表示概率?

参考资料:The equivalence of logistic regression and maximum entropymodels从最大熵模型解释逻辑回归最大熵模型原理小结——刘建平1 前言早期的博客中写过一篇逻辑回归的介绍,这篇博文中对逻辑回归的“输入为何能代表概率“这个问题做了浅层的探讨,但碍于当年太过年轻,对问题理解不够深刻,这次回过头来把这个问题重新梳理一遍。这个问题还可以换种问法,那就是——逻辑回归sigmoid函数的形式到底是怎么来的。先说结论,逻辑回归的形式其实存在一个起源

2021-03-07 01:05:19 3894

原创 MapReduce小结

参考资料什么是MapReduce,MapReduce的工作流程和原理是什么mapreduce中split划分分析(新版api)mr!shuffle详细全过程MapReduce概况MapReduce是谷歌提出的一种分布式计算框架,用于大规模数据集的并行运算。MapReduce更像是一种思想,而框架只是这种思想的实现。MapReduce将数据的处理过程提炼成两个足够通用的步骤,即Map和Reduce,通过使用代码自定义这两部分,MapReduce几乎可以处理所有形式的需求。MapReduce的设计理念

2021-02-11 12:27:46 822 1

原创 HDFS小结

参考资料:1、百度百科——Hadoop2、初识HDFS(10分钟了解HDFS、NameNode和DataNode)3、大牛笔记——【Hadoop】HDFS的运行原理简介  Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力进行高速运算和存储。Hadoop主要由HDFS、MapReduce和HBase组成。受启发于谷歌的三篇论文:分别关于GFS、MapReduce和BigTable,也可以说是这三种技术的一个实

2021-02-09 14:53:49 290 3

原创 从零实现基于sequence2sequence的中英翻译模型(torch版)

前言初学torch,复现了一波官网的tutorial的聊天机器人,只不过把任务场景换成了中英翻译并且简化了一些步骤,力求做到对初学者友好,如果是初学nlp,那这个案例将是一个很好的入门案例。官网链接在此。这篇博客仅对代码做一个记录和简单的说明,不涉及算法的数学原理。阅读此博客需要的知识储备有:1、nlp中的基本概念,如word embedding2、sequence2sequence架构的...

2020-04-18 13:01:30 1348 1

原创 深入理解熵、交叉熵、KL散度、极大似然估计与最大后验估计

参考资料:【知乎】信息熵是什么?————YJanjo的回答熵和编码长度熵(Entropy),交叉熵(Cross-Entropy),KL-松散度(KL Divergence)前言交叉熵与KL散度是两个很相似的概念,极大似然估计与最大后概率验估计也经常被相互比较,交叉熵与极大似然估计更是有千丝万缕的联系。这篇文章就把这四个概念放在一起讲解,目的是从数学角度理清这四个概念的联系与区别。本文首先...

2020-02-16 01:30:55 2524 1

原创 tensorflow2.0学习笔记——张量

创建张量#by numpy,listtf.convert_to_tensor(np.ones([2,3])) #喂进去一个numpy或者list#by zeros,ones,filltf.zeros([2,2]) #喂进去一个shape,返回一个相应shape的全0 Tensortf.zeros_like(a) #喂进去一个张量,返回一个a.shape的全0 Tensortf.ones...

2019-09-17 17:36:18 884

原创 排序方法python实现

冒泡#标准版本def bubble_sort(array): n = len(array) for i in range(n): # i从0到n for j in range(1, n-i): # 1开始,即j-1=0开始 if array[j-1] > array[j]: array[j-1],...

2019-07-10 20:15:13 267

原创 XGBoost原论文阅读翻译

虽然之前转过一篇XGBoost的不错的文章,但那篇在很多细节部分做了省略,所以还是翻出原论文来精读一遍,顺带翻译一波。其中斜体字为我的观点,不是原文中的内容。愿论文:XGBoost: A Scalable Tree Boosting System————————————————————————————————————————————ABSTRACT提升树是一种高效且被广泛使用的机器学习方法...

2019-04-15 22:01:01 7548 8

原创 LightGBM原论文阅读翻译

我在学习lightGBM的时候苦于找不到质量高的学习资料,后来突然想起最好的资料难道不就是作者的原论文吗?所以本文主要是对lightGBM原论文的阅读翻译,一方面督促自己把论文精度一遍,一方面分享给有需要的朋友。参考资料:原文:LightGBM: A Highly Efficient Gradient Boosting Decision Tree———————————————————————...

2019-03-11 23:34:22 4559

原创 提升树/GBDT原理总结

参考资料:李航,《统计学习方法》刘建平博客,梯度提升树(GBDT)原理小结知乎,关于GBDT的几个不理解的地方?知乎,gbdt的残差为什么用负梯度代替?知乎,梯度提升树中为什么说目标函数关于当前模型的负梯度是残差的近似值?————————————————————————————————————————————之前说过Adaboost算法,Adaboost没有限制基学习器是什么。提升树...

2019-03-05 16:27:50 1232

转载 机器学习中防止过拟合的处理方法

本文转载自:一只鸟的天空,http://blog.csdn.net/heyongluoyao8/article/details/49429629crb_day_day_up, https://blog.csdn.net/m0_38045485/article/details/82147817————————————————————————————————————————————过拟合我们...

2019-03-04 12:13:03 1113

原创 评价指标/性能度量

本文参考:https://www.jianshu.com/p/9ee85fdad150https://blog.csdn.net/xyu66/article/details/80044991http://lidequan12345.blog.163.com/blog/static/28985036201303181045965/《机器学习》周志华评价指标指的就是用什么标准去评价你,评价对...

2019-03-03 20:59:04 1348

转载 Apriori算法原理总结

转自 博客园——刘建平Pinard原文地址:https://www.cnblogs.com/pinard/p/6293298.html————————————————————————————————————Apriori算法是常用的用于挖掘出数据关联规则的算法,它用来找出数据值中频繁出现的数据集合,找出这些集合的模式有助于我们做一些决策。比如在常见的超市购物数据集,或者电商的网购数据集中,如...

2018-12-10 19:47:42 3404 2

原创 AdaBoost数学原理

参考资料:《机器学习》周志华《统计学习方法》李航【知乎】adaboost为什么不容易过拟合呢?集成学习AdaBoost原理小结——刘建平————————————————————————————————————简介关于集成学习中的boosting和bagging我就不多说了,都是将弱学习器通过不同的集成方法变成强学习器的过程。而AdaBoost是Boosting算法中最著名的代表。A...

2018-12-05 12:16:14 1238 1

原创 主成分分析(PCA)

本文参考:《机器学习》周志华主成分分析(PCA)原理总结——刘建平有关Pca的使用:样本数目和降维数目的关系————————————————————————————————————主成分分析(Principal Component Analysis)简称PCA,是一种最常用的降维方法。从名字里就可以看出,它追求的是找到主成分,在低维度的情况下尽可能的代表原来的数据情况。从上图就可以看...

2018-11-14 21:14:14 955

转载 XGBoost原理

这篇博客是我在学习XGBoost的过程中看到的最好的一篇博客,对于直接看陈天奇论文有压力的同学这篇博客绝对是最好的选择。我会在个人认为不好理解的地方加写自己的理解,其他说明部分在修改了一些原作者的笔误后搬运了过来。原文地址:http://djjowfy.com/2017/08/01/XGBoost的原理/————————————————————————————————————这篇博客的由来(...

2018-10-16 22:04:15 3424 2

转载 从极大似然估计到EM算法

EM(期望最大化算法)本来想自己写一篇关于EM算法的博客,但在学习过程中在知乎上看到了一篇质量非常高的文章,举例丰富又不脱离其数学本质,深入浅出又不省略其公式推导,故在征得原作者的同意后搬运至此与大家分享。Ok,let’s get it!作者:August原文链接:https://zhuanlan.zhihu.com/p/35698329估计有很多入门机器学习的同学在看到EM算法的...

2018-09-20 16:56:32 2165

原创 朴素贝叶斯

本文章参考: 周志华 《机器学习》 李航《统计学习方法》很多人谈朴素贝叶斯都喜欢从它每个属性独立的特点来入手,我更想写写朴素贝叶斯的来源,也就是说,为什么我们需要它假设每个属性独立。贝叶斯决策论贝叶斯决策论其实就是基于概率的一种决策方法,说白了核心原理就是我们概率论中学的贝叶斯公式。贝叶斯决策论的目的是最小化总体风险。我们面对一个分类问题,假设可能的类别有n种,针对一个...

2018-09-10 14:23:37 423

原创 Numpy杂记

#创建多维数组m=np.array([np.arange(2),np.arange(2)])out:[[0 1] [0 1]]m=np.array([[1,2],[3,4]])out:[[1 2] [3 4]]#选取数组元素m=np.array([[1,2],[3,4]])m[0,1]out:2#数组的形式m=np.array([[1,2],[3,4]])...

2018-08-23 19:07:24 595

原创 逻辑斯蒂回归(Logistic Regression)

logistic回归logistic回归经常被人译为“逻辑回归“,虽然我个人认为貌似并没有什么关联,但下面就姑且这么叫吧。逻辑回归虽然是名字里带着回归,但其实是一种解决分类问题的算法,说到分类就有分几类的区别,本篇我们只讨论用于二分类问题的逻辑回归。基本的线性回归的形式为: y=ωTx+by=ωTx+by=\omega^{T}x+b 线性回归模型产生的预测值是一系列实值。为了使得输...

2018-08-12 13:54:22 44997 2

转载 正则化方法:L1和L2 regularization、数据集扩增、dropout

原文:http://blog.csdn.net/u012162613/article/details/44261657 本文是《Neural networks and deep learning》概览 中第三章的一部分,讲机器学习/深度学习算法中常用的正则化方法。(本文会不断补充)正则化方法:防止过拟合,提高泛化能力在训练数据不够多时,或者ov...

2018-08-03 19:42:15 317

原创 RNN

RNN(Recurrent Neural Network)是一类用于处理序列数据的神经网络。首先我们要明确什么是序列数据,摘取百度百科词条:时间序列数据是指在不同时间点上收集到的数据,这类数据反映了某一事物、现象等随时间的变化状态或程度。这是时间序列数据的定义,当然这里也可以不是时间,比如文字序列,但总归序列数据有一个特点——后面的数据跟前面的数据有关系。 ...

2018-06-06 23:40:03 318692 102

原创 决策树

首先决策树是一种分类算法,长得像是一个根在上枝朝下的树。在介绍决策树之前首先介绍一下信息熵,这是决策树中一个非常重要的知识点。信息熵有些地方把信息熵叫做信息量,其实也能大致这样理解。信息量就是你知道一件事以后能得到的信息的多少,说白了是一种度量单位,然而得到信息的多少跟事件发生的概率有关系。最常举的例子,若有人告诉你,”太阳从东方升起从西方落下”,那你得到的信息量就为0,因为这件事...

2018-05-30 23:28:56 1787

原创 K近邻——KNN

KNN(emmmmm……..原计划要写的支持向量机,感觉内容有点多,先写个KNN过度一下吧,以后一定会补上的!)k近邻,简称kNN,全称k-Nearest Neighbor,是机器学习算法中最简单的算法之一。其基本原理是:根据与待测样本最近的k个邻居的标签来判断待测样本的标签,是一种监督学习方法。简单来说就是“物以类聚,人以群分”、“近朱者赤,近墨者黑”。这种算法严格来说甚至是不需要去...

2018-04-25 18:46:12 494

原创 SVM预备——拉格朗日对偶问题

拉格朗日对偶问题我在学习支持向量机的时候遇到了拉格朗日对偶问题,查资料了解后发现是个挺有意思的东西,于是乎打算把这个问题简要总结一下,为以后介绍支持向量机做知识储备。本文涉及到了拉格朗日乘子法,这个方法在本科高等数学中有介绍,没有了解过或忘了的朋友点击这里,这是百度百科的介绍,文中的图片已经很好的解释了这个问题。 ok,我们开始先观察一个优化问题: minf(x)minf(x)mi...

2018-04-18 21:28:12 714 1

空空如也

空空如也

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

TA关注的人

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