- 博客(28)
- 收藏
- 关注
原创 Tensorflow实现部分参数梯度更新
在深度学习中,迁移学习经常被使用,在大数据集上预训练的模型迁移到特定的任务,往往需要保持模型参数不变,而微调与任务相关的模型层。本文主要介绍,使用tensorflow部分更新模型参数的方法。1. 根据Variable scope剔除需要固定参数的变量 def get_variable_via_scope(scope_lst): vars = [] for sc in sc...
2018-12-04 21:00:03 10095 3
原创 迁移学习在自然语言处理领域的应用
迁移学习近年来在图形领域中得到了快速的发展,主要在于某些特定的领域不具备足够的数据,不能让深度模型学习的很好,需要从其它领域训练好的模型迁移过来,再使用该模型进行微调,使得该模型能很好地拟合少量数据的同时又具备较好的泛化能力(不过拟合)。 在迁移学习任务中,需要事先定义一组源数据集合,使用该集合训练得到预训练好的模型,该模型具备了源数据集合中的一些知识,在目标数据...
2018-12-01 12:10:58 1765
原创 tensorflow模型打包成PB文件及PB文件读取
1. tensorflow模型文件打包成PB文件import tensorflow as tffrom tensorflow.python.tools import freeze_graphwith tf.Graph().as_default(): with tf.device("/cpu:0"): config = tf.ConfigProto(allow_s...
2018-11-02 20:31:41 6504 1
原创 tensorflow的模型文件ckpt参数获取
已知模型文件的ckpt文件,通过pywrap_tensorflow获取模型的各参数名import tensoflow as tffrom tensorflow.python import pywrap_tensorflowmodel_dir = "./ckpt/"ckpt = tf.train.get_checkpoint_state(model_dir)ckpt_path = ...
2018-11-01 18:57:12 7259 3
原创 Tensorflow常见模型实现之二(CNN)
1. multi-channel CNN import tensorflow as tfimport tensorflow.contib as contribfrom tensorflow.python.ops import array_opsfrom tensorflow.python.framework import dtypesclass cnn(object): d...
2018-10-21 15:59:02 505
原创 Tensorflow常见模型实现之一(LSTM/BiLSTM)
1. LSTMimport tensorflow as tfimport tensorflow.contrib as contribfrom tensorflow.python.ops import array_opsclass lstm(object): def __init__(self, in_data, hidden_dim, batch_seqlen=None, f...
2018-10-13 20:44:23 8376
原创 样本不均衡常见解决方法
分类时,由于训练集合中各样本数量不均衡,导致模型训偏在测试集合上的泛化性不好。解决样本不均衡的方法主要包括两类:(1)数据层面,修改各类别的分布;(2)分类器层面,修改训练算法或目标函数进行改进。还有方法是将上述两类进行融合。
2018-10-11 10:18:11 17767 1
原创 nlp文本常见预处理方法
1. 去除标点 def removeBianDian(self,word): if isinstance(word,str): word = word.decode("utf8") string = re.sub("[\.\!\/_,$%^*(+\"\']+|[+——!,。??、~@·#¥%……&*(:)\)-]+".de...
2018-10-09 14:46:25 3839
原创 Pytorch实现CNN时间序列预测
曾经推出过PyTorch实现的LSTM时间序列预测,并开源了其源码。细心的童鞋可能发现了,我之前使用的LSTM是生成式模型,而不是使用判别式进行预测。换言之,就是将序列本身作为输入,下一时刻作为输出,模型表达的是序列的联合概率分布。有兴趣的可以将其改写为判别模型。此处将使用卷积神经网络(CNN)用于时间序列预测。区别于图像处理(二维卷积如图所示)模型如下:C1表示卷积操作1S2表示max-pool...
2018-03-04 13:05:26 17166 3
原创 大话文本分类
概述文本分类是自然语言处理的重要应用,也可以说是最基础的应用。常见的文本分类应用有:新闻文本分类、信息检索、情感分析、意图判断等。本文主要针对文本分类的方法进行简单总结。传统机器学习方法分类问题一般的步骤可以分为特征提取、模型构建、算法寻优、交叉验证等。对于文本而言,如何进行特征提取是一个很重要也很有挑战性的问题。文本的特征是什么,如何量化为数学表达呢。最开始的文本分类是基于规则的,特征就是关键词...
2018-02-14 09:49:26 4560
原创 Pytorch实现逻辑(Logistics)回归分类
详解可以参考文章一 、模型结构逻辑回归实质是Linear线性函数(wx+b)与一个sigmoid函数的结合。二、数据说明数据来源:UCI German Credit分类数据,下载如下https://archive.ics.uci.edu/ml/machine-learning-databases/statlog/german/数据说明:24个属性数量,分类结果2种(la
2018-02-02 23:13:53 3587
原创 Pytorch变量类型转换
Pytorch的数据类型为各式各样的Tensor,Tensor可以理解为高维矩阵。与Numpy中的Array类似。Pytorch中的tensor又包括CPU上的数据类型和GPU上的数据类型,一般GPU上的Tensor是CPU上的Tensor加cuda()函数得到。通过使用Type函数可以查看变量类型。一般系统默认是torch.FloatTensor类型。例如data = torch.Tensor(
2018-01-24 19:19:28 90952 5
原创 Pytorch常用函数解析(一)
torch模块下的数学操作符1. torch.numel() 返回一个tensor变量内所有元素个数,可以理解为矩阵内元素的个数2. torch.squeeze() 对于tensor变量进行维度压缩,去除维数为1的的维度。例如一矩阵维度为A*1*B*C*1*D,通过squeeze()返回向量的维度为A*B*C*D。squeeze(a),表示将a的维数位1的维度删掉,squeeze(a,N)
2018-01-06 17:15:00 44626 1
原创 自然语言处理(五 文本相似度)
简单共有词判断模型TFIDF向量表示TFIDFWord2vecLMSentence Embedding表示简单共有词判断模型假设现在有文本A和B,Num(A∩B)Num(A\cap B) 表示A和B中相同词的数量,Num(A∪B)Num(A\cup B)表示A和B中所有词的数量。那么定义A和B的相似程度为: Similarity(A,B)=Num(A∩B)Num(A∪B)\begin{equ
2017-12-16 12:40:36 4923 4
原创 Pytorch LSTM 时间序列预测
详情可以参见文章import torchimport torch.nn as nnfrom torch.autograd import *import torch.optim as optimimport torch.nn.functional as Fimport matplotlib.pyplot as pltimport numpy as npdef SeriesGen(N)...
2017-12-02 16:44:06 15496 8
原创 自然语言处理(三 RNNLM优化)
RNN LM性能改进数据预处理模型结构改进改变模型输入数据正则化RNN LM性能改进主要改进trick:输入数据预处理,改进模型结构,改变输入数据格式,正则化数据预处理(1)随机选取句子中的部分词语进行表示(使用drop rate选取句子中的词语); (2)bigram 内插、平滑等模型结构改进(1)SRNN->LSTM->GRU->minimal RNN (2)LSTM前添加CNN,选
2017-12-01 18:52:54 948
原创 自然语言处理(二 RNN语言模型)
RNN语言模型RNN语言模型语言模型RNN语言模型模型扩展语言模型语言模型就是指语言产生的规律,一般用来预测所使用语言语序的概率,或者是当前上下文使用某个词语的概率。换句话说,就是用来表示语言产生顺序的建模,用某个词是否恰当,这样的语序构造句子是否妥当这样的。于是,训练出一个语言模型就需要相当大的样本数据。语言模型可以分为:文法型的语言模型(就是定义相关的文法结构,例如主语+谓语+宾语构成陈述
2017-11-26 18:13:35 3418 1
原创 自然语言处理(一 神经网络背景介绍)
神经网络NLP神经网络结构文本特征表示前馈神经网络损失函数CNN应用于文本RNNRecursive NN神经网络NLP对于自然语言处理技术,传统机器学习算法例如SVM、LR等,对映射到高维空间的文本特征进行处理,大部分应用在文本分类、情感分析等。近年来,一些非线性模型在自然语言处理来领域取得了极大的成功,这里简单介绍一些神经网络的背景知识以及在文本处理中的应用。神经网络结构常用于自然语
2017-11-18 16:39:06 5279
原创 Spark中文文本聚类
Spark文本聚类Spark文本聚类Spark mlib简介中文文本分词TFIDF特征word2vec介绍文本表示Kmeans LDA聚类聚类是常见的无监督学习算法,用于找到相似的Item,在无标记数据的情况下经常使用。这里考虑,当我们拥有大量文本,需要找到相似的文本(粗分类)时,使用Spark进行实验。Spark mlib简介mlib是Spark提供的机器学习算法库,提供特征工程、分类
2017-11-17 20:21:33 3191
原创 Spark安装搭建与使用
Spark安装搭建与使用Spark安装搭建与使用Spark简介Spark框架Spark常见API功能Spark RDDSpark下载与安装Spark windows集成开发环境搭建利用Spark调用Ansj进行中文分词Spark简介Apache Spark是一个开源分布式的数据处理平台,支持集群进行数据处理。类似于hadoop,却又能提供灵活的编程接口(而不是map和reduce过程)
2017-10-28 15:31:40 994
原创 Ubuntu忘记密码
Ubuntu忘记密码,重新修改密码1. 重启电脑,进入Recovery模式(1)选择Advanced options for ubuntu(2)选择如下recovery mode进入2. 进入带有root权限的shell3. 输入passwd “username” 重新设置对应用户username的密码4. 如果出现以下错误,未设置成功(
2017-02-10 12:23:13 391
原创 ubuntu下7z文件的压缩与解压
zip压缩文件依旧很大的情况下,往往采用7z的压缩方式,或者采用分卷压缩的方式。在这里,仅仅介绍7z文件的压缩与解压(1)安装 sudo apt-get install p7zip 进行安装(2)压缩 7z a filename (3)解压 7z x filename.7z详情可以查看 7z --help (4)分卷压缩与解压压缩:7z a file
2014-07-01 10:50:55 2298
转载 中文文献BibTeX制作
BibTeX 是一种格式和一个程序, 用于协调LaTeX的参考文献处理. BibTeX 使用数据库的的方式来管理参考文献. BibTeX 文件的后缀名为 .bib . 先来看一个例子 @article{name1, author = {作者, 多个作者用 and 连接}, title = {标题}, journal = {期刊名}, volume = {卷20},
2014-05-25 22:35:59 6388
转载 使用LaTeX书写数学公式简要入门
LATEX 使用一种特殊的模式来排版数学符号和公式。段落中的数学表达式应该置于( 和), $ 和$ 或者begin{math} 和end{math} 之间。$c^{2}=a^{2}+b^{2}$对于较大的数学式子,最好的方法是使用显示式样来排版:将它们放置于[ 和] 或begin{displaymath} 和end{displaymath} 之间。这样排版出的公式是没有编号
2014-05-23 20:35:25 1628
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人