发表于NIPS2010 workshop on deep learning的一篇文章,看得半懂。
主要内容:
是针对文本表示的一种方法。文本表示可以进一步应用在文本分类和信息检索上面。通常,一篇文章表示为V大小的一个向量,|V|是词表的大小。传统的方法,向量中每个值是tf/idf计算得到的权重。不过|V|比较大的时候,对于文本分类和信息检索来讲,时空复杂度都比较大。这时候需要对|V|进行降维。通常的方法是LDA系列的方法,将文章表示成若干个topic上面的分布。不过实验效果并不好。本文作者用deep stack auto-encoders来做。
具体做法:
构建deep stack auto-encoders。输入还是bag of words想法,即用|V|的词语向量来做。向量的每个维度是词表中的词语,取值采用了归一化的词语在文章中的出现次数,对于没有出现在文章中的词语,采用了类似ngram模型中的加法平滑,也给一个很小的数值。在这种输入的情况下,做auto-encoders,来训练神经网络。隐含层的维数要远小于|V|,从而达到降维的目的。在auto-encoders的基础上,在训练分类器g,以配合实际应用,如:文本分类。
注意,这时候,每个输入就是 一篇文章(所形成的|V|维向量),输入的顺序是随机的,即在文章集合中随机游走。另外,auto-encoders的能量函数还可以再加上网络本身权重的L1或者L2范式。
用训练好的神经网络来计算test corpus中文章的迷惑度。
这个看的不是太懂。感觉大概是这样的过程:把test corpus中的文章,先表示成|V|的向量形式,然后用训练好的deep stack auto-encoders进行encode和decode,而decode的结果作为这篇文章在整个词语集合V上的词语概率分布(需要加入softmax层),在这个分布上,就可以计算文章的迷惑度了。
在实验中,这种计算出来的迷惑度比LDA(用相似过程)计算出来的迷惑度要小,所以性能要高。
在实验中,还用股市预测来验证auto-encoders,即分析股市相关新闻的倾向性,从而判断股票走向。写的不多,没看懂具体怎么做的。