自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 xgboost原理介绍与代码实现

1.引言2. xgboost原理2.1 正则化目标函数给定一个数据集,假设样本量为nnn,特征数为mmm,D={(xi,yi)}(∣D∣=n,xi∈Rm,yi∈R)\mathcal{D}=\left\{\left(\mathbf{x}_{i}, y_{i}\right)\right\}\left(|\mathcal{D}|=n, \mathbf{x}_{i} \in \mathbb{R}^{...

2019-12-23 00:01:19 824

原创 文档级情感分类

1. 什么是文档级情感分类文档级情感分类是指对一篇给定观点的文档(如产品评论)根据所持观点为正面或负面进行分类。正面或负面观点又称为情感的倾向性或急性。文档级情感分类不涉及文档中具体的实体或属性。文档级情感分类一般假设文档表达的观点仅针对一个单独的实体,并且只包含一个观点持有者的观点。不过这种假设在现实中是很难符合的,因此,文档级情感分类也是最简单的情感分析任务,一般通过文本分类即可完成。2...

2019-11-02 17:58:45 1918

原创 情感分析的相关基础概念

1. 什么是观点观点是一个广义的概念,包括了情感、评估、评价、态度,以及其他相关信息,包括观点持有者和观点评价对象。观点四元组表示。观点的结构化表示一般有四元组:(g,s,h,t)(g, s, h, t)(g,s,h,t)其中,ggg表示观点评价对象或者评价对象的属性,sss表示情感词,hhh是观点持有者,ttt表示观点的评价时间。不同的观点持有者,其评论的观点影响力可能会不一致,比如...

2019-11-02 14:22:35 1140

原创 XLNet原理介绍

1. 引言前面介绍了ELMo、BERT、CSE等语言模型,这些语言模型在很多下游NLP任务上都取得了不错的成绩,根据他们的目标函数和模型的结构,可以大致将这些模型分为两大类,即自回归模型(autoregressive,AR)和自编码模型(autoencoding,AE)。对于给定的一个文本序列x=(x1,⋯ ,xT)\mathbf{x}=\left(x_{1}, \c...

2019-08-23 16:39:06 1388

原创 Transformer XL原理介绍

1. 引言在自然语言处理中,当前深度学习主流的结构是RNN和Transformer,因为这两种结构能够比较好地捕捉文本的上下文信息,但是,我们知道RNN主要的问题是梯度消失和梯度爆炸的问题,而且其捕捉上下文的长度没有Transformer那么强大,而Transformer虽然能力比较强,但是在预测时会受到训练时所设定的最大长度限制,因此,本文将介绍一个Transformer模型的变体,即Tran...

2019-08-22 11:12:34 1286

原创 CSE命名实体识别

1. 引言前面介绍了Bilstm-CRF和NCRF++模型用于命名实体识别,但是这两个模型都是基于标注语料进行训练,由于标注语料一般都比较少,而且标注成本很高,因此,一般训练出来的模型泛化性会相对比较差。近两年,很多模型开始通过在大量未标注的语料上训练语言模型,然后通过Fine-tuning或者Feature-base的形式将训练好的模型迁移到具体的NLP任务中,很好地提高了模型的泛化能力,这里...

2019-07-31 10:43:56 646

原创 BERT原理介绍

1. 引言2018年,谷歌提出了一个新的模型BERT(Bidirectional Encoder Representations from Transformers),刷榜了11项NLP任务,可以说是NLP的一个新的里程碑。它的思想其实跟我们前面介绍的GPT模型非常相似,只是GPT只考虑单向语言模型,即GPT采用的是Transformer中decoder的结构,而BERT考虑的是深层双向语言模型...

2019-07-26 14:54:06 2785

原创 GPT原理介绍

1.引言前面我们介绍了ELMo算法的思想,通过在大量的语料上预训练语言模型,然后再将预训练好的模型迁移到具体的下游NLP任务,从而提高模型的能力。但是ELMo预训练的语言模型结构和下游的NLP任务的模型经常会不一致,因此,做迁移学习时经常没法将两者的模型直接进行融合,因此,本文将介绍OpenAI在2018年提出来的一个方法——GPT,该模型在预训练语言模型的基础上,只需要做一些微改即可直接迁移到...

2019-07-25 18:10:21 21180 2

原创 ELMo原理介绍

1. 引言在2018年之前,词向量表示的方法主要还是采用CBOW、skip-gram、GloVe等方法,这些方法都是采用一个固定维度的向量来表征每一个词汇或字符,虽然方法简单,但是会存在两个问题,一方面是没有考虑词汇在不同语境的信息,比如”apple"在一些场景下可以表示水果,在另一些场景下可能表示苹果公司,另一方面,采用一个固定的向量表示词汇,没有考虑到语法和语义的信息。因此,在2018年,M...

2019-07-25 13:03:51 4598

原创 GloVe原理介绍

1. 引言当前,学习词向量表示的方法主要有两种类型:一种是基于全局矩阵分解的方法,如LSA,另一种是局部上下文窗口的方法,如Mikolov在2013年提出来的CBOW和skip-gram方法。但是这两种方法都有各自的缺陷,其中,LSA虽然有效利用了统计信息,但是在词汇类比方面却很差,而CBOW和skip-gram虽然可以很好地进行词汇类比,但是因为这两种方法是基于一个个局部的上下文窗口方法,因此...

2019-07-24 19:27:53 21133 3

原创 Layer Normalization原理介绍

1. 引言前面介绍了Batch Normalization的原理,我们知道,BN层在CNN中可以加速模型的训练,并防止模型过拟合和梯度消失。但是,如果将BN层直接应用在RNN中可不可行呢,原则上也是可以的,但是会出现一些问题,因为我们知道Batch Normalization是基于mini batch进行标准化,在文本中,不同的样本其长度往往是不一样的,因此,如果在每一个时间步也采用Batch ...

2019-07-23 20:53:58 13026

原创 BILSTM-CRF原理介绍与tensorflow实现

1. 引言    在自然语言处理中,很多任务都涉及到序列标注,比如词性标注、分词、命名实体识别等,这些任务都有一个特点是输入序列和标签序列是等长的,因此,常用的解决方法有HMM、MEMM、CRF等,本文将介绍一个2015年提出来的非常经典模型,即BILSTM-CRF模型,该模型现在已经成为命名实体识别、词性标注、分词等任务的主流模型。论文地址:《Bidirectional LSTM-CRF ...

2019-06-25 20:21:23 9207 1

原创 条件随机场原理介绍

1. 引言    条件随机场(Conditional random field,CRF)是给定一组输入随机变量条件下另一组输出随机变量的条件概率分布模型,其特点是假设输出随机变量构成马尔可夫随机场。条件随机场常用于序列标注问题,比如命名实体识别等。本文主要介绍线性链条件随机场。2. 条件随机场原理介绍2.1 概率无向图模型    由于CRF要求输出随机变量构成马尔可夫随机场,因此,这一节先...

2019-06-14 11:07:02 16312 3

原创 隐马尔可夫模型原理介绍

1. 引言    隐马尔可夫模型(Hidden Markov Model,HMM)是可用于标注问题的统计学习模型,描述由隐藏的马尔可夫链随机生成观测序列的过程,属于生成模型,以下统一用简称HMM表示。HMM在语音识别、自然语言处理等都有着广泛的应用。2. HMM原理介绍2.1 HMM模型的定义    HMM模型是关于时序的概率模型,描述由一个隐藏的马尔可夫链随机生成不可观测的状态随机序列,...

2019-06-12 15:43:27 1895

原创 EM算法原理介绍

1. 引言    EM算法是Dempster等人在1977年提出来的一种迭代算法,用于含有隐变量的概率模型参数的极大似然估计或极大后验概率估计。EM算法的每次迭代由两步组成:E步,求期望;M步,求极大,因此,该算法也被称为期望极大算法,简称EM算法。2. EM算法原理介绍2.1 EM算法的原理    一般地,用YYY表示观测随机变量的数据,ZZZ表示隐随机变量的数据,YYY和ZZZ连在一起...

2019-06-11 15:31:53 1935

原创 文本生成任务常见评估指标

1. 引言    在传统的文本生成任务中,对于模型生成的文本,往往很难评估他们的质量,一般会采用人工投票的形式,来比较生成的文本和真实的参考文本之间的优劣或接近程度,因此,其评估过程是非常昂贵和耗时的,并且该过程没法重复,当研究人员对模型进行更新之后,又得重新雇人进行评估,或者需要对模型进行部署并实时监控时,也很难实施,因此,文本生成任务需要一个可被计算的数值指标,来衡量模型生成的文本与参考文本...

2019-05-16 15:40:55 8809

原创 Transformer文本生成与tensorflow实现

1. 引言    前面介绍了文本生成任务中的经典模型——Seq2Seq,以及一些常见的attention机制,虽然在文本生成任务中取得了相当出色的成绩,但是随着数据量的增大和语料长度的增大,RNN固有的序贯性严重阻碍了训练的速度,因此,本文将介绍另一个经典的模型——Transformer,该模型是由谷歌在2017年提出来的模型,模型完全摒弃了RNN和CNN的结构,只采用了attention的机制...

2019-05-10 11:04:32 13519 10

原创 如何提高文本生成任务中的文本多样性

1. 引言    前面的文章中我们介绍了文本生成中的经典模型Seq2Seq,虽然该模型在文本生成任务上取得了很大的进步,但是由于其目标函数采用的是极大似然估计,即:1/∣S∣∑(T,S)∈Slog⁡p(T∣S) 1 /|\mathcal{S}| \sum_{(T, S) \in \mathcal{S}} \log p(T | S) 1/∣S∣(T,S)∈S∑​logp(T∣S)其中,SSS...

2019-05-05 17:58:35 4641 1

原创 最大熵模型原理介绍与python实现

1. 引言    最大熵原理认为,学习概率模型时,在满足约束条件的模型集合中,熵最大的模型是最好的模型,因为在没有更多信息的情况下,我们一般会认为不确定的部分都是等可能的,而在前面决策树的介绍时我们知道,熵最大时刚好是要求概率的分布满足均匀分布,即等可能分布,因此,可以通过熵的最大化来表示等可能分布。2. 最大熵模型原理介绍2.1 最大熵模型的定义    对于分类模型,假设我们要学习的模型...

2019-05-04 14:22:30 2752

原创 Seq2Seq文本生成与tensorflow实现

1.引言 近年来,深度神经网络在很多任务上都取得了不错的成绩,比如文本分类、图像识别等等,但是我们知道,像DNN神经网络结构只能解决一些分类或回归问题,而很多日常的任务却是一个序列到一个序列的映射问题,比如语音识别、机器翻译、对话系统等等,他们的输入和输出都是边长,而DNN要求输入和输出都是固定维度的,因此,这时需要引入新的结构,才能解决这种序列到序列的生成问题。2014年,谷歌提出了...

2019-04-28 11:35:16 2985

原创 Res2Net模块介绍与tensorflow实现

1. 引言    在很多计算机视觉任务中,由于同一张图像中的物体往往会有不一样的尺寸,因此,我们经常需要提取图像中不同尺度的特征来提高模型的效果,在以往的经验中,我们知道可以通过堆叠不同的CNN层、采用不同size的卷积核、残差连接等来实现。在本文中,我们将介绍一种更加细粒度的方法——Res2Net,该方法是2019年由程明明等人提出来的一种新模块,通过简单修改ResNet中的Bottlenec...

2019-04-22 20:22:15 3473 5

原创 Logistic回归模型介绍与python实现

1. 引言    对于回归问题,我们知道可以通过回归模型进行拟合,并挖掘各个特征变量对模板变量的影响机制,但是,对于分类问题,由于目标变量是离散型变量,因此,不能直接应用回归模型进行解决,这时,可以使用Logistic回归模型进行解决。2. Logistic回归模型介绍2.1 Logistic回归模型的介绍    首先介绍Logistic分布,假设XXX是连续随机变量,XXX服从Logis...

2019-04-21 15:52:51 3397

原创 常用决策树模型介绍与python实现

1. 引言    决策树(decision tree)是一种基本的分类和回归方法,由于其采用的是一种树形的结构,因此,具有很强的解释性和计算速度,也正是因为这些特点,使得决策树在很多行业都得到了应用,比如风控行业等。决策树的建模过程一般分为三个步骤:特征选择、决策树的生成和决策树的剪枝,根据这三个步骤所采用的规则,衍生出了很多不同的模型,比较经典的有Quinlan在1986年提出的ID3算法和1...

2019-04-14 22:01:26 5730 2

原创 朴素贝叶斯模型介绍与python实现

1. 引言    朴素贝叶斯模型是j基于贝叶斯定理与特征条件独立假设的分类方法,它基于特征条件独立假设学习输入和输出的联合概率分布,然后采用贝叶斯定理求出后验概率最大的类别作为预测实例的类别,是生成模型中的一种。2. 朴素贝叶斯模型介绍2.1 朴素贝叶斯模型介绍    对于输入空间X⊆Rn\mathcal{X} \subseteq \mathbf{R}^{n}X⊆Rn为nnn维向量空间,输...

2019-04-06 16:49:39 1598

原创 KNN原理介绍与python实现

1. 引言    K近邻法(K-Nearest Neighbor,以下简称KNN)是由Cover和Hart于1968年提出来的基本分类和回归方法,KNN的基本思想是对于每一个样本,计算与其最邻近的K个样本点,然后基于某种分类规则的的方式将这K个邻近点的类别作为该样本的预测类别,因此,KNN并不具有显式的学习过程。2. KNN原理介绍2.1 KNN算法原理介绍    对于一个给定的训练数据集...

2019-04-05 19:26:08 589

原创 时间序列的平稳性检验与随机性检验

1. 引言

2019-04-05 14:42:56 36120 3

原创 平稳时间序列分析与python实现

3. 平稳时间序列分析    目前拟合平稳时间序列的模型主要有AR模型、MA模型和ARMA模型。3.1 线性差分方程3.1.1 线性差分方程的定义    在介绍这三个模型之前,先介绍一个知识点,即线性差分方程。一般来说,我们称具有如下形式的方程为序列{zt,t=0,±1,±2,⋯ }\left\{ z _ { t } , t = 0 , \pm 1 , \pm ...

2019-04-05 14:42:25 1564

原创 DBSCAN文本聚类与python实现

1. 引言    聚类算法作为分类任务中的无监督方法,在很多场景中都会用到,比如用户聚类、文档主题分类等等。常见的聚类算法大致可以分为两种,一种是基于分区的算法,如k-means等,这种方法虽然易于理解,但是有以下三个缺点:需要人为事先确定聚类的个数,当数据集比较大时,这是很难事先给出一个比较合适的值的。只适用于具有凸形状的簇,无法适用于具有任意形状的簇。对内存的占用资源比较大,很难推广...

2019-03-15 09:24:19 10123 11

原创 ResNet图像识别与tensorflow实现

1. 引言    前面我们介绍了VGGNet在图像识别中的应用,在VGGNet中,作者提出随着CNN网络层数的加深,模型的效果会进一步得到提升,但是在这篇论文提出来之后,有学者发现,随着层数的加深,当深度达到一定数值之后,模型的准确率不仅没有提升,反而下降了,如图所示:    最开始有学者以为是梯度消失或爆炸的问题导致的,但是这个问题可以被Batch Normalization解决,并且加了...

2019-03-11 18:31:46 11598 4

原创 VGGNet图像识别与tensorflow实现

1. 引言    随着卷积神经网络CNN在图像任务上不断取得的进展,很多学者对CNN的各个因素进行了探讨和改进,以进一步提高CNN在计算机视觉中的任务,比如CNN的卷积核大小、步伐等,在本文,我们将介绍一个非常经典的CNN模型——VGGNet,这个模型是在2014年由Karen Simonyan等人提出来的,在论文中,作者主要研究的是在控制其他变量不变的情况下,逐渐增加CNN的层数,是否可以对C...

2019-03-06 12:03:11 839

原创 HAN文本分类与tensorflow实现

1. 引言    前面介绍了LSTM_CNN、RCNN等文本分类方法,这几种方法都是将整个文本进行encoder,但是我们知道,RNN对于长句子或长文档其实编码能力是有限的,会丢失掉句子中的信息,因此,为了克服这个问题,Nikolaos等人在2017年提出了一个新的文本分类模型——HAN,该模型采用层叠的RNN,对文本的句子级别进行encoder,并且引入了神经机器翻译中的注意力机制,可以有效...

2019-02-15 16:47:49 4349 3

原创 RCNN文本分类与tensorflow实现

1. 引言    前面介绍了LSTM_CNN文本分类模型,虽然在CNN前加上一层LSTM层,可以提取文本中的序列信息,但是当文本的长度比较长时,LSTM提取信息的能力是有限的,并且,在LSTM中,每个词汇对应的隐藏状态都只包含了前面序列的信息,而没有考虑到后续序列的信息(BiLSTM除外),因此,本文将介绍一个新的模型结构,该结构采用一种递归CNN的形式,即每个词汇的向量表示既包括了其本身的词...

2019-02-15 11:03:35 3356 3

原创 常见注意力机制原理介绍与对比

1. 引言    自从2014年Seq2Seq提出以来,神经机器翻译取得了很多的进展,但是大部分模型都是基于encoder-decoder的结构,这就要求encoder对于输入序列的编码能力要足够强,才能确保得到的输入序列的上下文向量能够尽可能地保留输入序列的信息。而我们知道,随着句子的长度逐渐变长,上下文向量的表达能力其实是会逐渐下降的,因为它没法完全保留输入序列的大部分信息。因此,为了克服...

2019-02-13 21:03:00 19132 2

原创 LSTM_CNN文本分类与tensorflow实现

1. 引言    前面我们介绍了RNN、CNN等文本分类模型,并在情感分析任务上都取得了不错的成绩,那有没有想过将RNN、CNN两者进行融合呢?答案肯定是有的!这次,我们将介绍一个将LSTM和CNN进行融合的文本分类模型,该模型同时兼具了RNN和CNN的优点,在很多文本分类任务上直接超过了RNN和CNN单个模型的效果。论文的下载地址如下:论文地址:《Twitter Sentiment An...

2019-02-11 18:23:17 4332 3

原创 TextCNN文本分类与tensorflow实现

1.引言    我们知道,卷积神经网络(CNN)主要是在计算机视觉方面已经取得了很多很好的成就,但是,CNN在自然语言处理方面同样也可以拥有很好的应用。本文将介绍一个有关CNN的模型,用来对文本进行分类,并将它应用在文本分类的热门任务——情感分析上,模型的名称叫TextCNN,模型的论文地址如下:论文地址:《Convolutional Neural Networks for Sentenc...

2019-02-01 09:47:38 7206

原创 FastText文本分类与tensorflow实现

1.引言    文本分类是NLP很多任务中都作为一项基本的任务,也是一项非常重要的任务,比如文本检索、情感分析、对话系统中的意图分析、文章归类等等,随着深度学习的发展,神经网络在NLP文本分类中的模型越来越多,也取得了比较不错的效果,但是,当语料和类别比较大时,很多深度学习方法不管在训练还是预测时,速度都非常慢,因此,为了克服该缺点,facebook在16年提出了一个轻量级的模型——FastT...

2019-01-31 11:07:19 7230 8

原创 感知机原理介绍与python实现

1. 引言    感知机是1957年由Rosenblatt提出的一个线性分类模型,对应与输入空间(特征空间)中将实例分为正负两类的分离超平面,属于判别模型中的一种,也是神经网络和支持向量机的基础。原始论文的地址如下:论文地址:《THE PERCEPTRON: A PROBABILISTIC MODEL FOR INFORMATION STORAGE AND ORGANIZATION IN ...

2019-01-27 22:03:23 708

原创 CRNN文本识别与tensorflow实现

1.引言    文本识别即对一张文本图像进行识别,将其中的文字转化为文本信息,这样才能变成计算机可以理解的语言。前面我们介绍了两种文本检测方法,请参见《CTPN文本检测与tensorflow实现》、《EAST文本检测与Keras实现》,在文本检测之后,我们可以获得了一张图像中各个文本的位置,这时,我们可以将各个文本片段剪切出来,进行仿射变换,得到类似图1这样的文本图像,但是,这时计算机还是没法...

2019-01-13 16:28:35 17543 105

原创 CTC原理介绍

1. 引言    现实生活当中,序列标注任务随手可见,比如语音识别、图像文本识别、手势识别等,这些任务有一个共同的特点,就是输出是变长的,如果利用传统的RNN来进行预测,那么会遇到一个问题,就是需要将RNN的输出与真实标签进行一一对齐,这样一来,就会导致数据集的构造特别麻烦,需要耗费大量的人力和时间,因此,CTC方法的提出就是为了解决这个问题,该方法可以不用要求对输出的标签进行对齐,直接利用R...

2019-01-13 15:33:54 3363

原创 EAST文本检测与Keras实现

1. 引言    之前介绍了文本检测中的CTPN方法,详情可参见《CTPN文本检测与tensorflow实现》,虽然该方法在水平文本的检测方面效果比较好,但是对于竖直文本或者倾斜的文本,该方法的检测就很差,因此,在该方法之后,很多学者也提出了各种改进方法,其中,有一篇比较经典的就是旷世科技在2017年提出来的EAST模型,论文的全称为《EAST: An Efficient and Accura...

2018-12-08 21:56:09 7942 34

空空如也

空空如也

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

TA关注的人

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