首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何构造训练数据?

如何构造训练数据?
EN

Stack Overflow用户
提问于 2015-06-30 20:49:10
回答 2查看 1K关注 0票数 2

我所看到的关于Encog神经网络的每一个例子都涉及到XOR或一些非常简单的东西。我有大约10,000个句子,句子中的每个单词都有一些标签。输入层需要接受两个输入,前一个字和当前字。如果没有前面的单词,那么第一个输入就根本没有激活。我需要像这样把每句话都读一遍。每个单词都取决于前面的单词,所以我不能只拥有一个类似于XOR示例的数组。此外,我真的不想把所有的单词从10,000+语句加载到一个数组中,我宁愿一次扫描一个句子,一旦到达EOF,从开始开始。

我该怎么做呢?我对Encog并不太满意,因为我看到的所有例子要么是异或的,要么是极其复杂的。

有两个输入..。每个输入由30个神经元组成。单词是一个特定的标记的机会被用作输入。因此,大多数神经元得到0,其他神经元得到概率输入,如.5、.3和.2。当我说“没有激活”时,我的意思是所有的神经元都被设置为0。输出层表示所有可能的标记,因此,它的30个。无论哪个输出神经元有最高的数目,都是被选择的标记。

我不知道如何在我见过的Encog的“演示”中,遍历所有的10,000个句子,并查找每个句子中的每个单词(输入和激活输入)。

网络似乎是由一个存储所有训练数据的阵列来训练的,并且一直循环到网络被训练为止。我想用许多不同的数组(每个句子一个数组)来训练网络,然后再看一遍它们。

显然,这种格式对我所做的工作是行不通的:

代码语言:javascript
复制
    do {
    train.iteration();
    System.out.println(
    "Epoch #" + epoch + " Error:" + train.getError());
    epoch++;
    } while(train.getError() > 0.01);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-30 20:56:01

所以,我不知道该怎么告诉你,但这不是神经网络的工作原理。你不能仅仅用一个词作为输入,你也不能只是“不激活”一个输入。在一个非常基本的层次上,这就是在一个问题上运行一个神经网络所需要的:

  1. 一个固定长度的输入向量(不管你输入什么,它都必须用固定的长度来表示。)向量中的每个条目都是一个数字)
  2. 一组标签(每个输入向量必须对应于一个固定长度的输出向量)。

一旦你有这两个,神经网络分类一个例子,然后编辑自己,以尽可能接近标签。

如果您希望使用单词和深度学习框架,则应该将您的单词映射到现有的向量表示(我强烈建议使用手套,但word2vec也不错),然后在表示的基础上学习。

在对你的尝试有了更深入的理解之后,我认为问题是,你要处理的是60个输入,而不是一个。这些输入是对两个单词的现有预测的连接(在没有第一个单词的情况下,前30个条目是0)。您应该自己处理映射(应该非常简单),然后将其视为试图预测60个数字的30个数字。

我不得不告诉你,你设计问题的方式,你会看到糟糕的表现。在处理稀疏(大部分为零)向量和这样小的数据集时,与其他方法相比,深度学习技术将显示出非常差的性能。您最好在现有数据上使用手套+ svm或随机森林模型。

票数 2
EN

Stack Overflow用户

发布于 2015-06-30 20:59:09

除了MLDataSet,您还可以使用BasicMLDataSet的其他实现。

我遇到了一个类似的问题,窗口的DNA序列。构建所有窗口的数组都是不可伸缩的。

相反,我实现了自己的VersatileDataSource,并将其封装在一个VersatileMLDataSet中。

VersatileDataSource只有几个实现方法:

代码语言:javascript
复制
public interface VersatileDataSource {
    String[] readLine();
    void rewind();
    int columnIndex(String name);
}

对于每个readLine(),您可以返回上一个/当前单词的输入,并将位置提升到下一个单词。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31148242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档