12 2018 档案
摘要:注意力机制本质: 注意力机制的具体计算过程,可以归纳为两个过程。 第一个过程:根据query和key计算权重系数 第二个过程:根据权重系数对value进行加权求和
阅读全文
摘要:一层的lstm效果不是很好,使用两层的lstm,代码如下。
阅读全文
摘要:Batch_size参数的作用:决定了下降的方向 极端一: batch_size为全数据集(Full Batch Learning): 好处: 1.由全数据集确定的方向能够更好地代表样本总体,从而更准确地朝向极值所在的方向。 2.由于不同权重的梯度值差别巨大,因此选择一个全局的学习率很困难。Full
阅读全文
摘要:1.CNN网络中的池化方式选择 池化方式有两种:1)最大池化;2)平均池化 在实验中我发现,最大池化要比平均池化慢很多,效果也不如平均池化好。所以,池化的方式我们尽量选择平均池化。 2.CNN卷积核的设计 卷积的大小,遵守奇数设计原则,如【1,3,5,7】 3.CNN和RNN网络输出到全连接层数据s
阅读全文
摘要:有时我们的样本标签,都是标记从0开始直至到类别的个数。在模型训练的时候,这些标签需要变成one_hot向量,这样才能够跟softmax出来的概率做互熵损失,计算loss。 那么,映射的方法如下: y: 类型是list,样本的类别标签序列 n_class: 类别的个数 输出:
阅读全文
摘要:我们在文本数据预处理前,要将数据统一整理成需要的格式,其中有回车(\t)或者(\n)符号,会对我们的数据保存有影响,那么就需要将其过滤掉。 比较简单的方法,用replace()将这些符号替换为空,一定要一个一个的替换 这样就删除了你想要删除的符号
阅读全文
摘要:(1)语料库中56万条数据,分为14个类别 (2)现在训练模型,采样率设定为0.01,即5600条样本 (3)观察用于模型训练数据的分布 展示: 思考:模型训练的数据不是越多越好吗?何况使用深度学习模型,那作者为什么不不同56万条,而是用5600条训练模型。如果可以达到效果,那么说,对于小容量的数据
阅读全文
摘要:输出: {1: 3, 2: 2, 3: 1}
阅读全文
摘要:相信很多人都会有这种疑惑,我们用标准数据来训练,但是在真是的测试过程中,输入数据的并不会是标准数据,导致了训练与测试的两个过程中数据分布的不一致。 首先要说,训练集合与测试集合的分布完全一样,这个不太现实,因为相对于有限的训练集,测试集合理论上趋于无限大,所以无法穷尽。然而我们也不能为了单单去拟合我
阅读全文
摘要:(1)保证以后生成的随机数是一样的 (2)生成N行,M列的随机数 (3)对生成的随机数每个数据都增加数值 (4)按照顺序将元素堆叠起来,可以是元组,列表’ (5)生成网格采样点 start:开始坐标 stop:结束坐标(不包括) step:步长 举例子 res = np.mgrid[-3:3:.1,
阅读全文
摘要:36.什么时候你应该在不同分布上做训练和测试 当你的猫app已经上传10000张图,你已经人工标记它们有没有猫,同时你有200000张互联网上下载的图,这时你要怎么划分训练开发测试集呢? 当你训练深度学习模型时,可能必须用到那200000张图,那么训练和测试集的分布就不同,这会怎样影响你的工作呢?
阅读全文
摘要:命名实体的标注有两种方式:1)BIOES 2)BIO 实体的类别可以自己根据需求改变,通常作为原始数据来说,标注为BIO的方式。自己写了一套标注方法,大家可以参考下 原文:1.txt Inspired by energy-fueled phenomena such as cortical cytos
阅读全文
摘要:在进行模型训练前,我们要将数据打乱,以获得更好的训练效果。可以使用sklearn.utils中的shuffle,获得打乱后的数据索引,最后,迭代生成打乱后的batch数据,一个写好的模块如下。 思路是:1.先shuffle 2.再迭代生成
阅读全文
摘要:tf.abs() 求tensor中数据的绝对值 tf.sign() 每一个数据都执行sigmod函数,得到对应的数值 tf.reduce_sum() 对不同维度数据求和。注意:1:求和每一行 0:求和每一列 tf.cast() 数值转换 演示: 输出:
阅读全文
摘要:官网API是这么说的 This operation outputs a Tensor that holds the new value of 'ref' after the value has been assigned. This makes it easier to chain operatio
阅读全文
摘要:cross_val_score(model_name, x_samples, y_labels, cv=k) 作用:验证某个模型在某个训练集上的稳定性,输出k个预测精度。 K折交叉验证(k-fold) 把初始训练样本分成k份,其中(k-1)份被用作训练集,剩下一份被用作评估集,这样一共可以对分类器做
阅读全文
摘要:当我们训练的词向量保存为txt时候,如果不是直接读取到内存,找对应词的向量,这样会非常耗时 方法1.用gensim读取成model的形式,从内存中获得数据 方法2.读取txt文件,用enumerate()将数据放到字典里面,后期查找的时候用这个字典,主要代码如下:
阅读全文
摘要:eval()返回的数值标量 read_eval()返回的是这个变量的tensor,类型是read 直接上代码: 输出:
阅读全文
摘要:一、深度学习模型 1.CNN 2.LSTM 3.Attention 二、与传统机器学习模型的比较 1.SVM 2.LR 3.GBDT 4.XGBoost 5.RandomForest 6.LightGBM 三、文本特征选择 1.一般短文本的长度在200字符左右,需要更加精巧的模型来判别 2.对于网络
阅读全文
摘要:当我们训练自己的神经网络的时候,无一例外的就是都会加上一句 sess.run(tf.global_variables_initializer()) ,这行代码的官方解释是 初始化模型的参数。那么,它到底做了些什么? global_variables_initializer 返回一个用来初始化 计算图
阅读全文
摘要:感谢原著,原文出处:https://www.cnblogs.com/wangyaning/p/7853879.html 1.绪论 过去几年,深度神经网络在模式识别中占绝对主流。它们在许多计算机视觉任务中完爆之前的顶尖算法。在语音识别上也有这个趋势了。而中文文本处理,以及中文自然语言处理上,似乎没有太
阅读全文
摘要:一、原有模型的架构 biLSTM + CRF 二、对原有模型加入注意力机制 LSTM输出层加入注意力,参考文章:《Attention-Based Bidirectional Long Short-Term Memory Networks for Relation Classification》,该文
阅读全文
摘要:做nlp的时候,如果用到tf-idf,sklearn中用CountVectorizer与TfidfTransformer两个类,下面对和两个类进行讲解 一、训练以及测试 CountVectorizer与TfidfTransformer在处理训练数据的时候都用fit_transform方法,在测试集用
阅读全文
摘要:当你需要按照矩阵维度复制数据时候,可以使用tensorflow的tile函数
阅读全文
摘要:训练模型利用gensim.models.Word2Vec(sentences)建立词向量模型该构造函数执行了三个步骤:建立一个空的模型对象,遍历一次语料库建立词典,第二次遍历语料库建立神经网络模型可以通过分别执行model=gensim.models.Word2Vec(),model.build_v
阅读全文
摘要:查看机器上GPU情况 命令: nvidia-smi 功能:显示机器上gpu的情况 命令: nvidia-smi -l 功能:定时更新显示机器上gpu的情况 命令:watch -n 3 nvidia-smi 功能:设定刷新时间(秒)显示GPU使用情况 在终端执行程序时指定GPU CUDA_VISIBL
阅读全文
摘要:最近,使用python的logging模块,因为这个写入日志写完后就没有管它。在存储日志信息的时候,一直提示: UnicodeEncodeError: 'gbk' codec can't encode character '\xbb' in position 0: illegal multibyte
阅读全文
摘要:# 前提是必须安装: python -m spacy download ennlp = spacy.load('en')text = u"you are best. it is lemmatize test for spacy. I love these books. amines (when pr
阅读全文