Neural network 利用神经网络提取模式

Neural network 利用神经网络提取模式,neural-network,deep-learning,pattern-recognition,Neural Network,Deep Learning,Pattern Recognition,我试图提取每当某个事件发生时总是出现的常见模式 例如,患者A、B和C都有心脏病发作。利用那里的脉搏读数,我想找出心脏病发作中风前的常见模式 在下一个阶段中,我想使用多个维度来实现这一点。例如,使用患者脉搏、体温和血压的读数,考虑到每个维度之间的时间和顺序,三个维度中出现的常见模式是什么 使用神经网络解决这个问题的最佳方法是什么?哪种类型的网络最好? (只需要指向正确的方向) 感谢大家阅读所描述的问题看起来像一个时间序列预测问题。这意味着由一些现有的过程生成的连续或离散现象的基本预测问题。作为原始

我试图提取每当某个事件发生时总是出现的常见模式

例如,患者A、B和C都有心脏病发作。利用那里的脉搏读数,我想找出心脏病发作中风前的常见模式

在下一个阶段中,我想使用多个维度来实现这一点。例如,使用患者脉搏、体温和血压的读数,考虑到每个维度之间的时间和顺序,三个维度中出现的常见模式是什么

使用神经网络解决这个问题的最佳方法是什么?哪种类型的网络最好? (只需要指向正确的方向)


感谢大家阅读

所描述的问题看起来像一个时间序列预测问题。这意味着由一些现有的过程生成的连续或离散现象的基本预测问题。作为原始数据对于这个问题,我们将有一系列样本x(t),x(t+1),x(t+2),…,其中x()表示所考虑的过程的输出,t表示一些任意时间点

对于人工神经网络的求解,我们将考虑一个时间序列预测,在这里我们将<强>组织< <强> >我们的原始数据到一个新的序列。正如你应该知道的,我们认为X作为输入向量的矩阵,将用于神经网络学习。对于时间序列预测,我们将在以下模式上构造一个新集合

在最基本的形式中,您的输入向量x将是在某个任意时间点t处采集的样本序列(x(t-k),x(t-k+1),…,x(t-1),x(t)),并将来自时间点t-k,t-k+1,…,t-1的前置样本附加到其上。您应该为每个可能的时间点生成每个示例

但关键是对数据进行预处理,以获得最佳的预测结果

假设你的数据(现象)是连续的,你应该考虑应用一些<强>采样< /强>技术。您可以从一个简单的采样周期Δt的实验开始,但有更强大的方法。例如,关键思想是允许从离散x(Δt)样本恢复连续x(t)。这是合理的,当我们考虑到我们可能希望我们的ANN做到这一点。 假设您的数据是离散的。。。您仍然需要尝试采样,因为这将加快计算速度,并可能提供更好的泛化。但关键的建议是:做实验因为最佳体系结构取决于数据,并且需要正确预处理数据

接下来是网络输出层。从您的问题来看,这似乎是一个二进制类预测。但也许更广泛的预测向量值得考虑?如何预测所考虑样本的未来,即x(t+1),x(t+2),并在不同的视野下进行试验(未来的长度)

进一步阅读:

  • 有人在这里提到了Python。下面是一些关于Keras时间序列预测的好教程:
  • 如果你需要一些真实的例子,这篇文章很好:

  • 我鼓励使用Python中的Tensorflow或Theano库来开发分类器。谷歌发布,查一查。谢谢@pzelasko,我已经下载了TensorFlow,但是我需要帮助确定体系结构如果你处理的是时态数据,那么你可能想尝试递归神经网络,特别是LSTM(课程中会解释它们)。请记住,您可能需要大量数据。如果它不是暂时的,那么你可以使用一个前馈网络,并用层数、神经元、激活等进行实验。再次感谢@pzelasko,所以你认为我不需要尝试卷积网络,或者RBM?你发送的链接是非常好的,我一定会采取的课程!在构建模式时,数据将处于静止状态,然后在使用模式预测事件时,数据将是实时的。当然,您可以尝试使用卷积(或其他架构)。在你尝试之前,你不会知道什么最有效。至于RBMs AFAIK,它们更多地以无监督的方式用作自动编码器/特征提取器,或作为预训练分类器的一种手段。我希望这将为您指出一些合理的方向,即数据预处理的重要性。确定数据形状(不要与Python numpy库中的
    numpy.shape
    相混淆)后,正确定义问题将有助于选择模型(网络)。是的,人工神经网络将确定类,但请记住,学习过程是基于显示标记有这些类的示例(或用其他数据“标记”,如时间序列未来)。网络本身将确定不同的连接,如特征重要性,但这些东西对于不同形状的数据有不同的含义。@Haz,大部分是肯定的。本质上,输入和输出(标签)层的形状在这里很重要,但是,对于你当前的问题,假设你的输入层是有意义的,你将要为不同形状的输出层检测不同的模式。考虑二进制输出(1 -心脏攻击存在,0 -相反)。和时间序列窗口的输入。直觉说,在这里使用感知器不会有效,因为我们想要识别后续时间点之间不同关系的“模式”。如果没有隐藏层,这是不可能的。对于“预测未来”机会增加了,因为每个时间点t可能会影响时间点t+1、t+10等。换句话说,不同的形状意味着不同的问题和可能的解决方案——从模型选择到学习的模型解释。我希望这突出了需要深度和卷积网络的时间和原因。我没有这样的解释形式上的经验