- 浏览: 119280 次
- 性别:
- 来自: 北京
最新评论
-
ustcter:
u010223750 写道LinApex 写道应用场景在哪?最 ...
java版本的神经网络——开源框架JOONE实践 -
u010223750:
LinApex 写道应用场景在哪?最近在做文本分类的事情,正好 ...
java版本的神经网络——开源框架JOONE实践 -
LinApex:
应用场景在哪?
java版本的神经网络——开源框架JOONE实践
文章列表
之前几篇文章讲到了文档主题模型,但是毕竟我的首要任务还是做分类任务,而涉及主题模型的原因主要是用于text representation,因为考虑到Topic Model能够明显将文档向量降低维度,当然TopicModel可以做比这更多的事情,但是对于分类任务,我觉得这一点就差不多了。
LDA之前已经说到过,是一个比较完善的文档主题模型,这次试用的是JGibbsLDA开源的LDA代码做LDA的相关工作,简单易用,用法官网上有,也可以自行谷歌。
按照官网上的参数和格式规范,就可以训练生成语料相关的结果了,一共会产生以下几个文件:
model-final.twords:top ...
LDA:Latent Dirichlet Allocation 是一个很著名的文本模型,最初是在2003年被一群大牛提出的,包括David M.Blei 、Andrew Y.Ng等。和之前的pLSA文本模型相比,LDA算是贝叶斯观点的pLSA,所谓贝叶斯观点,就是什么都是不确定的,不像pLSA中 ...
“庙小妖风大,水浅王八多”。还是这句话,这是业余研究生的文本建模系列之二:关于pLSA。前述就到此。
pLSA:Probabilistic Latent Senmantic Indexing.是Hoffman在1999年提出的基于概率的隐语义分析【1】。之所以说是probabilistic,是因为这个模型中还加入了一个隐变量:主题Z ,也正因为此,它被称之为主题模型。
在pLSA中,一片文档可能有多个主题,而一个主题对应着多个单词的分布,以【2】LDA数学八卦一文中的描述为例,可以比较生动的阐述在pLSA模型中,一篇文档是如何生成的。
因此,对于文档d中的一个单词w,其概 ...
俗话说“庙小妖风大,水浅王八多”,作为一名自然语言处理的水货研究生,通常只是对论文有着一知半解的了解,然而因为毕竟人老了年纪大容易忘事,有时候还是想把这一知半解的想法用文字写出来,以便之后回顾,看官勿 ...
梯度下降中,计算完各个参数的导数之后就需要更新参数值了,最常用的更新参数方法就是:
【SGD】:
x += - learning_rate * dx
但是这种方法收敛速度非常慢,其实除了这个更新参数的方法,还有很多的方法可以进行参数更 ...
Recurrent Neural Networks
Humans don’t start their thinking from scratch every second. As you read this essay, you understand each word based on your understanding of previous words. You don’t throw everything away and start thinking from scratch again. Your thoughts have persistence.
Traditional ...
使用神经网络训练,一个最大的问题就是训练速度的问题,特别是对于深度学习而言,过多的参数会消耗很多的时间,在神经网络训练过程中,运算最多的是关于矩阵的运算,这个时候就正好用到了GPU,GPU本来是用来处理图形的,但是因为其处理矩阵计算的高效性就运用到了深度学习之中。Theano支持GPU编程,但是只是对英伟达的显卡支持,而且对于Python编程而言,修改一些代码就可以使用GPU来实现加速了。
一,首先需要安装GPU环境(说明:我开始按照官网步骤发生了错误,下面是我综合网上一些资料最后安装成功之后的环境配置,本人机器能用)
安装Cuda,Cuda是英伟达公司提供的GPU开发环境 ...
上一篇说到windows下面的Theano安装,在前面的文章中也介绍了几种常见的神经网络形式,今天就使用Theano来编写一个简单的神经网络
我把Theano形容成一个模子,这个模子提供了一些计算方法,然后我们只需要定义模子的形状 ...
RNN,也就是Recurrent Neural Network,循环神经网络,是非线性动态系统,将序列映射到序列,主要参数有五个:[Whv, Whh, Woh, bh, bo, h0] ,典型的结构图如下:
解释一下上图:
和普通神经网络一样,RNN有输入层输出层和隐含层,不一样的是RNN在不同的时间t会
最近考虑做些英文词语词干化的工作,听说coreNLP这个工具不错,就拿来用了。
coreNLP是斯坦福大学开发的一套关于自然语言处理的工具(toolbox),使用简单功能强大,有;命名实体识别、词性标注、词语词干化、语句语法树的构造还有指代关系等功能,使用起来比较方便。
coreNLP是使用Java编写的,运行环境需要在JDK1.8,1.7貌似都不支持。这是需要注意的
coreNLP官方文档不多,但是给的几个示例文件也差不多能摸索出来怎么用,刚才摸索了一下,觉得还挺顺手的。
环境:
前面看过了CNN的基本结构,经典的模式如下图:
上图经典的CNN模型主要可以概括为三个部分:
convolution层:convolution是将原来的输入向量映射成多个feature map,每个feature map的权重和偏移量都是一样的
sub-sampling层:sub-sampling ...
最近在学习深度学习的一些内容,需要用到深度学习的库:theano。但是theano这玩意在Linux或者mac OS 下面比较好安装,只需要先装Anaconda然后使用python的安装命令符,pip install theano即可,但是在windows中,之前装的时候经常报错出现 no module named gof这个错误让人烦躁不已,看了一些资料,后来终于在windows下安装了theano,把安装步骤说一下:
安装环境:windows7 64位 旗舰版
step1:安装Anaconda,这个直接去官网down就行了,下载完成之后,就点击安装就行,安装完之后其实A ...
由于实验室事情缘故,需要将python写的神经网络转成Java版本的,但是python中的numpy等啥包也不知道在Java里面对应的是什么工具,所以索性直接寻找一个现成可用的Java神经网络框架,于是就找到了JOONE,JOONE是一个神经网络的开源框架,使用的是BP算法进行迭代计算参数,使用起来比较方便也比较实用,下面介绍一下JOONE的一些使用方法。
JOONE需要使用一些外部的依赖包,这在官方网站上有,也可以在这里下载。将所需的包引入工程之后,就可以进行编码实现了。
首先看下完整的程序,这个是上面那个超链接给出的程序,应该是官方给出的一个示例吧,因为好多文章都用这个, ...
前几篇接触了关于神经网络的学习方法,总结起来的要点有以下几点:
1,BP算法
2,激励函数
3,正则化与交叉验证等其他防止过拟合的方法
BP神经网络在之前的工作中取到了不错的效果,但是在Micheal Nilson的数的第五章,描述了之前的神经网络在增加多个隐含层之后训练效果会大大下降,也就是说,对于层数过多的网络训练效果不理想,如何训练深层的神经网络成了一个问题,这就是深度学习的由来
深度学习近些年来很火,尤其是在自然语言处理领域,其取得的成就也是巨大的。之前我对深度学习是有畏惧心理的,因为我觉得挺难的,后来慢慢接触,发现这个也是一个循序渐进的过程,还是要有信心。