Treinamento, testes e validação conjuntos para LSTM bidirecional (BLSTM)

votos
1

Quando se trata de RNAs normais, ou qualquer uma das técnicas de aprendizado de máquina padrão, eu entendo o que o treinamento, testes e conjuntos de validação deve ser (tanto conceitual, e os rácios de regra-de-polegar). No entanto, para uma rede bidirecional LSTM (BLSTM), como dividir os dados está me confundindo.

Eu estou tentando melhorar a previsão em dados sujeito individual que consiste em valores de saúde monitoradas. No caso mais simples, para cada assunto, há uma série de tempo longo de valores (> 20k valores), e partes contíguas do que séries temporais são rotulados a partir de um conjunto de categorias, dependendo da saúde atual do assunto. Para uma BLSTM, a rede é treinado em todos os dados indo para a frente e para trás simultaneamente. O problema então é, como é que se dividir uma série tempo para um assunto?

  • Eu não posso simplesmente tomar os últimos 2.000 valores (por exemplo), porque tudo pode cair em uma única categoria.
  • E eu não posso cortar a série temporal aleatoriamente, porque então tanto o aprendizado quanto as fases de testes seria feito de pedaços desconexos.

Por fim, cada um dos temas (tanto quanto eu posso dizer) tem um pouco diferentes (mas semelhantes) características. Então, talvez, desde que eu tenho milhares de assuntos, posso treinar em alguns, teste em alguns, e validar sobre os outros? No entanto, uma vez que existem diferenças inter-sujeitos, como eu configurar os testes se eu só estava considerando um assunto para começar?

Publicado 23/01/2016 em 22:34
fonte usuário
Em outras línguas...                            


1 respostas

votos
0

Eu acho que isso tem mais a ver com o seu conjunto de dados particular do que Bi-LSTMs em geral.

Você está confundindo a divisão de um conjunto de dados para treinamento / teste vs. dividindo uma seqüência em uma amostra particular. Parece que você tem muitos assuntos diferentes, que constituem uma amostra diferente. Por uma fração de treinamento / teste padrão, você iria dividir o conjunto de dados entre os sujeitos, como você sugeriu no último parágrafo.

Para qualquer tipo de aplicação RNN, você NÃO dividir ao longo de sua sequência temporal; você introduzir toda a sua seqüência como uma única amostra para o seu Bi-LSTM. Portanto, a questão torna-se realmente se esse modelo é bem adequada para o seu problema, que tem vários rótulos em pontos específicos na seqüência. Você pode usar uma variante da sequência-to-seqüência do modelo LSTM para prever quais etiquetar cada ponto de tempo na seqüência pertence, mas novamente você não seria dividir a seqüência em várias partes.

Respondeu 12/07/2017 em 13:11
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more