自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 论文:Attention-Based Recurrent Neural Network Models for Joint Intent Detection

Attention-Based Recurrent Neural Network Models for Joint Intent Detection基于attention的encoder-decoder神经网络模型在机器翻译领域取得成功,本文将该模型用于意图识别和槽位填充的联合学习。由于槽位填充任务不像机器翻译任务,槽位填充中输入文本和输出标签的对齐是明确的,文中探索了不同的方法,将对齐信息融入到模型中。另外,在基于attention的encoder-decoder的模型的基础上,进一步提出一种结合了注意

2020-08-07 13:49:30 691

原创 论文:Attention-Based Bidirectional Long Short-Term Memory Networks for Relation Classification

论文:Attention-Based Bidirectional Long Short-Term Memory Networks for Relation Classification关系分类中的的一个挑战是决定分类的重要信息再句子中的位置是不确定的,本文提出基于注意力机制的bi-lstm模型,能捕获句子中最重要的语义层面的信息。模型主要由五个部分组成:(1)输入层:输入句子(2)Embedding层:将词映射到低维稠密向量(3)LSTM层:获取高阶特征(4)Atte..

2020-08-06 17:13:28 1149

原创 关于智能客服、聊天机器人的算法分享

五八同城智能客服系统“帮帮”技术揭秘58智能客服QABot问答机器人算法实践帮帮智能问答机器人中TaskBot任务对话算法实践

2020-07-31 17:28:55 1477

原创 YOLO v3 原理总结

YOLO3主要的改进有:调整了网络结构;利用多尺度特征进行对象检测;对象分类用Logistic取代了softmax。新的网络结构Darknet-53在基本的图像特征提取方面,YOLO3采用了称之为Darknet-53的网络结构(含有53个卷积层),它借鉴了残差网络residual network的做法,在一些层之间设置了快捷链路(shortcut connections)。利...

2020-05-09 16:52:53 1084

原创 YOLO v2 原理总结

论文地址:YOLO9000: Better, Faster, Stronger预测更准确(Better)1) Batch Normalization CNN在训练过程中网络每层输入的分布一直在改变, 会使训练过程难度加大,但可以通过normalize每层的输入解决这个问题。YOLO v2在每一个卷积层后添加batch normalization,通过这一方法,mAP获得了2%的提升。batch normalization 也有助于规范化模型,可以在舍弃dropout优化后依然不...

2020-05-09 15:00:03 835

原创 YOLO v1原理总结

论文原文:https://arxiv.org/pdf/1506.02640.pdf1 网络结构1)结构YOLO的结构非常简单,就是单纯的卷积、池化最后加了两层全连接。单看网络结构的话,和普通的CNN对象分类网络几乎没有本质的区别,最大的差异是最后输出层用线性函数做激活函数,因为需要预测bounding box的位置(数值型),而不仅仅是对象的概率。2)输入和输出的映射关系...

2020-05-07 14:55:59 394

原创 激活函数总结RELU,Leaky RELU

ReLU修正线性单元(Rectified linear unit,ReLU)是神经网络中最常用的激活函数。ReLu激活函数的优点是:1,相比Sigmoid/tanh函数,使用梯度下降(GD)法时,收敛速度更快2,相比Sigmoid/tanh函数,Relu只需要一个门限值,即可以得到激活值,计算速度更快缺点是:Relu的输入值为负的时候,输出始终为0,其一阶导数也始终为0,这样...

2020-04-29 11:26:33 6968 1

原创 Batch Normalization原理总结

Batch Normalization 是Google于2015年提出的一种归一化方法。BN带来以下优点:加速训练过程; 可以使用较大的学习率; 允许在深层网络中使用sigmoid这种易导致梯度消失的激活函数; 具有轻微地正则化效果,以此可以降低dropout的使用。ICS(Internal Covariate Shift)我们知道在网络训练过程中,随着上一层参数的改变,下一层...

2020-04-29 11:05:25 462

原创 正则化方法 L1和L2

模型训练是围绕解决模型的欠拟合问题展开的,通过最小化损失函数来减小模型预测值与真实值之间的误差。因为数据集中总会有一些噪声,模型在拟合数据时可能会把噪声也拟合进来,导致模型过拟合。正则化是对损失函数的一种惩罚,即对损失函数中的某些参数进行限制。一般认为,参数值较小的模型比较简单,能更好地适应不同的数据集,泛化能力更强。正则化中最常用的正则项是L1范数和L2范数。L1范数是权重向量中各元素的...

2020-04-26 14:08:07 449

原创 pyfasttext 安装报错 subprocess.CalledProcessError: Command '['sh', 'configure']'

pyfasttest依赖Cythonandcysignals.1 安装Cpython采用非编译方式安装 pip install Cython --install-option="--no-cython-compile"2 安装cysignals直接pip install cysignals 报以下错误。首先,clone cysignals的源码到本地。gi...

2020-04-24 14:34:49 1432

原创 TF-IDF和BM25算法原理及python实现

1 TF-IDFTF-IDF是英文Term Frequency–Inverse Document Frequency的缩写,中文叫做词频-逆文档频率。一个用户问题与一个标准问题的TF-IDF相似度,是将用户问题中每一词与标准问题计算得到的TF-IDF值求和。计算公式如下:TF-IDF算法,计算较快,但是存在着缺点,由于它只考虑词频的因素,没有体现出词汇在文中上下文的地位,因...

2020-03-27 16:03:40 1746 1

原创 EM算法原理总结

EM算法是一种迭代算法,用于含有隐变量的概率模型参数的极大似然估计。EM算法的每次迭代由两步字组成:E步,求期望;M步,求极大。所以EM算法也称为期望极大算法(expectation maximization algorithm)。如果概率模型的变量都是观测变量,那么给定数据,可以直接使用极大似然估计法或者贝叶斯估计法估计模型参数。但是,当模型含有隐变量时,就不能简单地用这些估计方法,只能...

2020-03-24 13:48:01 1200

原创 集成学习算法原理总结

目录1 Boosting2 Bagging和随机森林2.1 Bagging2.2 随机森林3 结合策略3.1 平均法3.2 投票法3.3 学习法- Stacking集成学习(ensemble learning)通过构建并结合多个学习器来完成学习任务。 ...

2020-03-23 18:48:26 828

原创 提升方法算法原理总结

1 提升方法Adaboost算法1.1提升方法的基本思路对分类问题而言,给定一个训练样本集,求比较粗糙的分类规则(弱分类器)要比求精确的分类规则(强分类器)容易得多。提升发方法就是从弱学习算法出发,反复学习,得到一系列的弱分类器,然后组合这些弱分类器,构成一个强分类器。对于提升方法来说,有两个问题需要解决:1.在每一轮如何改变训练数据的权值或概率分布?AdaBoost的做法是...

2020-03-23 16:34:52 1091

原创 BP反向传播算法原理及公式推导

BP(Back Propagation)神经网络通常是指具有三层网路结构的浅层神经网络。反向传播算法这个网络只有3层,分别是蓝色的输入层、绿色的隐藏层和红色的输出层。假设给了m个训练样本,第i个输入输出对表示为:其中,x和y是3维向量。对于输入x,我们把g称作神经网络的预测(输出)值。对于每个训练样本来说,有:给定输入x,我们要找到使得预测值g与输出值y相等或比较...

2020-03-21 18:54:29 1827

原创 决策树详细笔记及python实现

决策树优点:模型具有可读性、分类速度快。决策树的学习包括3个步骤:特征选择、决策树的生成、决策树剪枝。1 决策树模型与学习决策树的学习本质上是从训练数据集中归纳出一组分类规则。损失函数通常是正则化的极大似然函数。决策树学习 的算法通常是一个递归地选择最有特征,并根据该特征对训练数据集进行分割,使得对各个子数据集有一个最好的分类过程。这一过程对应着特征空间的划分,也对应着决策树的构建...

2020-03-21 13:58:53 280

原创 ALBERT与BERT的异同

论文地址:https://openreview.net/pdf?id=H1eA7AEtvS中文预训练ALBERT模型:https://github.com/brightmart/albert_zh1、对Embedding因式分解(Factorized embedding parameterization)在BERT中,词embedding与encoder输出的embedding维...

2020-01-21 15:59:15 6958

原创 深度学习优化器总结

Adam优化器计算t时间步的梯度:首先,计算梯度的指数移动平均数, 初始化为0。系数为指数衰减率,控制权重分配(动量与当前梯度),通常取接近于1的值。默认为0.9其次,计算梯度平方的指数移动平均数,初始化为0。 系数为指数衰减率,控制之前的梯度平方的影响情况。默认为0.999第三,由于初始化为0,会导致偏向于0,尤其在训练初期阶...

2020-01-21 13:54:19 303

原创 机器学习中,特征选择有哪些方法?

1 特征工程是什么?有这么一句话在业界广泛流传:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。那特征工程到底是什么呢?顾名思义,其本质是一项工程活动,目的是最大限度地从原始数据中提取特征以供算法和模型使用。通过总结和归纳,人们认为特征工程包括以下方面:特征处理是特征工程的核心部分,sklearn提供了较为完整的特征处理方法,包括数据预处理,特征选择,降维等。首次接触...

2020-01-19 14:45:02 1234

原创 Bert 预训练源码详解

本部分介绍BERT预训练过程,BERT针对两个任务同时训练。1.下一句预测。2.遮蔽词识别Bert预训练由两个脚本,create_pretraining_data.py和run_pretraining.py,前者为对数据进行预处理,保存数据成tfrecord格式的文件。后者构建bert网络并进行训练。1 数据预处理python create_pretraining_data.py \...

2020-01-15 14:33:40 2089

原创 python 中subprocess.Popen()的使用

subprocess允许你去创建一个新的进程让其执行另外的程序,并与它进行通信,获取标准的输入、标准输出、标准错误以及返回码等。subprocess.Popen()subprocess模块中基本的进程创建和管理由Popen类来处理.subprocess.popen是用来替代os.popen的.from subprocess import Popen, PIPEp = Pop...

2020-01-08 09:59:32 2391

原创 人脸识别mtcnn原理

人脸检测,也就是在图片中找到人脸的位置。输入是一张可能含有人脸的图片,输出是人脸位置的矩形框。人脸对齐。原始图片中人脸的姿态、位置可能有较大的区别,为了之后统一处理,要把人脸“摆正”。为此,需要检测人脸中的关键点(Landmark),如眼睛的位置、鼻子的位置、嘴巴的位置、脸的轮廓点等。根据这些关键点可以使用仿射变换将人脸统一校准,以尽量消除姿势不同带来的误差。MTCNN网络结构...

2020-01-04 14:11:54 1918

原创 RandomForest 调参

在scikit-learn中,RandomForest的分类器是RandomForestClassifier,回归器是RandomForestRegressor,需要调参的参数包括两部分,第一部分是Bagging框架的参数,第二部分是CART决策树的参数。一、Bagging框架的参数:1.n_estimators:最大的弱学习器的个数,默认是10。一般来说n_estimators...

2019-12-27 15:15:04 999

原创 Pytorch 用法总结

创建Tensor修改Tensor形状a = torch.randn(3,4)print(a.size()) # torch.Size([3, 4])print(torch.numel(a)) # 12b=a.reshape(1,12)print(b) # tensor([[ 0.1468, 1.4984, 0.9745, 1.0549, 0.81...

2019-12-20 11:17:58 300

原创 Numpy 用法总结

1 生成Numpy数组从已有数据中创建数组import numpy as npls1 = [1,2,3]nd1 = np.array(ls1)print(type(nd1))利用random模块生成数组np.random.seed(0) # 设置随机数种子nd = np.random.random([2,2]) # 生成0-1之间的随机数nd = np.rando...

2019-12-19 14:37:02 125

原创 GELU 激活函数

gelu(Gaussian error linear units,高斯误差线性单元)论文链接:https://arxiv.org/abs/1606.08415数学表达如下:相比Relu:Relu将小于0的数据映射到0,将大于0的给与 等于 映射操作,虽然性能比sigmoid好,但是缺乏数据的统计特性,而Gelu则在relu的基础上加入了统计的特性。python实现...

2019-12-16 10:19:55 560

原创 论文:Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context

Transformers具有学习长期依赖的潜力,但在语言模型的设置中受到固定长度上下文的限制。Transformer-XL引入了两点创新——循环机制(Recurrence Mechanism)和相对位置编码(Relative Positional Encoding),不仅可以捕获长距离依赖性,还可以解决上下文碎片问题。Transformer-XL学习的依赖性比RNN长80%,比vanilla Tr...

2019-12-11 15:54:14 256

原创 论文:Character-Level Language Modeling with Deeper Self-Attention

语言模型语言模型通常用条件概率分布进行表示:为了实现,使用causal attention将当前词后面的词mask掉。causal attention其实与transformer的decode部分中的masked attention是一样的。如下图所示:Multiple Positions在论文中,训练了一个64层的char-level的Transformer模型,因为训练...

2019-12-09 15:18:10 458

原创 论文:Self-Attention with Relative Position Representations

动机RNN的结构是通过隐状态对序列信息进行编码的。第二个 I 的输出和第一个 I 的输出是不同的,这是因为输入到其中的隐状态是不同的。对于第二个 I 来说,隐状态经过了单词"I think therefore",而第一个 I 是刚刚经过初始化的。因此,RNN的隐状态会使得处于不同位置的相同词具有不同的输出表示。恰恰相反的是,具有自注意力机制的Transformer(没有位置编码的)会使...

2019-12-06 15:46:49 977 1

原创 Attention Is All You Need

Motivation:靠attention机制,不使用rnn和cnn,并行度高 通过attention,抓长距离依赖关系比rnn强Scaled Dot-Product Attention其中,其中因子起到调节作用,使得内积不至于太大(太大的话softmax后就非0即1了,不够“soft”了)。1.给定输入数据,转换成对应的内容 embeddin...

2019-12-06 11:35:15 95

原创 Q Learning 和SARSA算法

1 Q Learning算法Q更新公式:∈-greedy策略在Q Learning的更新过程中,每一步都要根据当前的state以及Q函数确定一个合适的行动action。这里有一个如何平衡“经验”和“探索”的问题。如果完全按照经验行动,即每次都在Q(state, :)中选择对应值最大的action,那么很有可能一直局限在已有经验中,难以发现更具价值的新的行为。但如果智能体只专注于探索...

2019-11-26 15:25:12 765

原创 机器学习分类器评估指标:ROC和AUC

1 二分类评估指标针对一个二分类问题,将实例分成正类(postive)或者负类(negative)。但是实际中分类时,会出现四种情况:(1)若一个实例是正类并且被预测为正类,即为真正类(True Postive TP)(2)若一个实例是正类,但是被预测成为负类,即为假负类(False Negative FN)(3)若一个实例是负类,但是被预测成为正类,即为假正类(False Pos...

2019-11-19 10:29:22 650

原创 基于物品的协同过滤算法(ItemCF)

物品相似度计算余弦相似度公式: 其中,分别表示对物品,喜欢的用户数,为同时喜欢 和 的人数。我们这里还是使用漫威英雄举例:假设目前共有5个用户: A、B、C、D、E;共有5个漫威英雄人物:死侍、钢铁侠、美国队长、黑豹、蜘蛛侠。用户与人物之间的爱好程度如下图所示:共现矩阵,记录了同时爱好 i 和 j 的数量:根据余弦相似度公式计算相似度:python 实现im...

2019-11-06 16:15:16 593

原创 基于用户的协同过滤算法(UserCF)

用户相似度计算协同过滤算法主要利用行为的相似度计算兴趣的相似度。给定用户 和用户 ,令 表示用户 感兴趣的物品集合,令 为用户 感兴趣的物品集合。那么我们可以通过 公式或者余弦公式来计算用户 , 的相似程度:假设目前共有4个用户:、、、;共有5个漫威英雄人物:死侍、钢铁侠、美国队长、黑豹、蜘蛛侠。用户与人物之间的爱好程度如下图所示:建立物品到用户的倒排表,对于每...

2019-11-06 15:40:28 1189

原创 算法导论:4 快排及随机化算法

1 快速排序1.1 快速排序原理快速排序算法采用的分治算法,因此对一个子数组进行快速排序的三个步骤为:(1)分解:数组被划分为两个(可能为空)子数组]和,给定一个枢轴,使得中的每个元素小于等于,中的每个元素大于等于,下标是在划分过程中计算得出的。(2)解决:通过递归调用快速排序,对子数组和进行排序。(3)合并:因为两个子数组是就地排序,不需要合并操作,整个数组排序完成。快速排序伪...

2019-10-26 16:00:23 909

原创 算法导论:3 分治法

1 分治法算法思想:将一个问题划分为若干个子问题。 递归的解决每一个子问题。 将子问题的解合并成为整个大问题的解。2 归并排序算法思想:将一个数组分为两个子数组。 递归的对每一个子数组进行排序。 合并两个有序子数组。时间复杂度:3 二分查找在有序数组中查找数X。算法思想:把数X与数组中间元素比较,得到X所在的子数组。 递归的在这个子数组...

2019-10-26 11:56:15 203

原创 拼写纠错

拼写纠错(Spelling Correction),又称拼写检查(Spelling Checker),往往被用于文字处理软件、输入法和搜索引擎。1 拼写错误类型:1)None-word拼写错误指词本身就不合法,如错误的将“giraffe”写成“graffe”2)Real-word拼写错误拼写错误后的词仍然是合法的情况,如将“there”错误拼写为“three”(形近),将...

2019-10-25 14:57:56 673

原创 编辑距离(Edit Distance)

编辑距离(Minimum Edit Distance,MED),由俄罗斯科学家 Vladimir Levenshtein 在1965年提出,也因此而得名 Levenshtein Distance。Levenshtein Distance 是用来度量两个序列相似程度的指标。通俗地来讲,编辑距离指的是在两个单词之间,由其中一个单词转换为另一个单词所需要的最少单字符编辑操作次数。单字符编辑操作...

2019-10-25 14:34:38 535

原创 算法导论:2 渐进符号、递归及解法

1 渐进符号1.1符号存在常数与,对所有的,满足。的复杂度最多与一个数量级,即小于等于。例:宏出现在公式中的集合符号(如)表示集合中的某一个函数,而不是集合整体。例1:直观理解:表示了一个误差界限,即主要是由构成的,但也有一些的低阶项实际含义:存在一个函数,使得例2:直观理解:“=”应该理解成“是”,而不是“等于”。等号左边隐含任意量词,等号右边隐含...

2019-10-19 16:23:48 502

原创 关联规则(Association Rules)

1 前言关联规则反映一个事物与其他事物之间的相互依存性和关联性,是数据挖掘的一个重要技术,用于从大量数据中挖掘出有价值的数据项之间的相关关系。本篇的Apriori算法主要是基于频繁集的关联分析。其主要目的就是为了寻找强关联规则。常见的购物篮分析通过观察顾客放人其购物篮中的不同商品之间的联系,分析顾客的购买习惯,了解哪些商品频繁地被顾客同时购买,这种关联的发现可以帮助零售商制定营销策略...

2019-10-17 16:24:45 3111

空空如也

空空如也

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

TA关注的人

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