1

我的任务是使用 MATLAB 和任何神经网络框架对时间序列数据进行分类。

更具体地描述任务:是计算机视觉领域的一个问题。是一个场景边界检测任务。

源数据是来自视频流的 4 个相邻帧直方图相关性数组。基于这些数据,我们必须将此时间序列分为 2 类:

  • “场景中断”
  • “没有场景中断”

因此,每个源数据条目的网络输入是 4 个双精度值,输出是一个二进制值。我将在下面展示 src 数据的示例:

0.997894,0.999413,0.982098,0.992164
0.998964,0.999986,0.999127,0.982068
0.993807,0.998823,0.994008,0.994299
0.225917,0.000000,0.407494,0.400424
0.881150,0.999427,0.949031,0.994918

问题是来自 Matlab 神经工具箱的模式识别工具(如 patternnet)威胁源数据,如独立实体。但我坚信,只有当 net 根据之前相关性的历史做出决定时,结果才会准确。

但我也没有设法从服务时间序列分析的递归网络(如延迟网络和 narxnet)中获得有效响应。

narxnet 和 delaynet 返回糟糕的结果,看起来这些类型的网络不应该解决分类任务。我没有在这里插入任何代码,而它几乎完全是使用 Matlab 神经工具箱 GUI 自动生成的。

我会很感激任何帮助。特别是,一些建议哪种工具更适合完成我的任务。

4

1 回答 1

1

我不确定对这个问题进行分类有多难。给定您的样本,4 个输入和 1 个输出的前馈神经网络就足够了。

如果您坚持使用历史输入,您只需预处理您的输入d,这样

您的新输入D(t)(在 time 的一个向量t)由d(t)一个在 time 的 1x4 向量组成td(t-1)在时间是 1x4 向量t-1;...并且在时间d(t-k)是 1x4 向量t-k

如果t-k <0,则将其视为'0'。

所以你有一个 1x(4(k+1)) 向量作为输入和 1 个输出。与 Dan 提到的类似,您需要找到一个好的k.

说到权重,我认为没有必要对输入进行额外的预处理,如窗口方法,因为神经网络将被训练为每个输入维度分配权重。

这听起来有点混乱,因为神经网络会独立考虑每个输入维度。这意味着您将信息丢失为四个相邻的相关性。

One possible solution is the pre-processing extracts the neighborhood features, e.g. using mean and std as two features representative for the originals.

于 2012-12-18T15:29:34.713 回答