Artigo: Previsão de preços com redes neurais - página 13

 
Ulterior:

Dobrovo vam vremia sutok i izvinite za translit.

NÃO POR FAVOR!

 
Neutron:

OK, mas eu gostaria de uma teoria.

Aqui está o raciocínio em voz alta. Para uma única camada NS com número de entradas N, temos N sinapses cujos pesos determinam exclusivamente o sistema N no caso geral de equações não lineares. É claro que para resolver tal sistema precisamos de uma amostra de treinamento de vetores N, cada um consistindo de N elementos. Neste caso, não funciona de outra forma. Com duas camadas NS, o número de entradas deve ser menor que o número total de vetores de treinamento N por n, onde n é o número de sinapses na segunda camada, de modo que o comprimento dos vetores de treinamento tem comprimento N-n.

Para um NS de 3 camadas, a ordem de raciocínio é a mesma.

Assim:

1. procedemos da profundidade de imersão que precisamos e determinamos a dimensionalidade da entrada NS.

2. Depois, considerando a arquitetura (número de camadas) do NS, contamos o número de sinapses e obtemos o tamanho ideal da amostra de treinamento.


O raciocínio é bom, mas é empírico ... ou seja, é difícil construir um algoritmo que depende apenas do tipo e da representação dos dados de entrada neles.

 
Sergey_Murzinov:

Uma das coisas mais importantes (na minha opinião) é a preparação de dados, para fazer isso

1. Tente reduzir a correlação dos insumos. Em outras palavras, as entradas devem ser o mais estatisticamente independentes possível.

2. Na normalização dos vetores de entrada, é necessário obter um aumento da entropia - aumentando assim a quantidade das informações submetidas à NS na preservação do mesmo volume dos dados de entrada.

Uma verificação da qualidade dos dados é obrigatória, por exemplo, usando o método Kolmogorov-Smirnov ou/e com o expoente Hurst.


Ao selecionar a arquitetura da rede, podemos reduzir o erro.

Não concordo, qualquer transformação de dados é uma mudança na informatividade da amostra inicial. Onde está o critério para avaliar o critério de mudança de dados? Acho que todos os envolvidos na NS conhecem a velha piada que aconteceu durante o próximo boom da NS. Quando os militares dos EUA tentaram usar NS para sistemas de queima terra-terra. Um dos componentes foi uma rede de reconhecimento de padrões, que teve muito sucesso no aprendizado etc., mas por alguma razão reconheceu tanques em tempo chuvoso, e quando foi apresentado com dados de uma estrutura paisagística diferente, cometeu um erro grave. A razão era que a rede tinha aprendido a reconhecer bem uma paisagem, mas não um tanque.


Se alterarmos os dados, o problema pode ser o mesmo - a rede selecionará apenas as seqüências (modos) que pertencem à série normalizadora, pois em princípio podemos considerar o processo de normalização em si como um componente das flutuações das séries temporais.

 
Criei agora um NS não linear de duas camadas e vejo que sua capacidade de previsão é ligeiramente maior em comparação com o NS não linear de camada única. Mas a dispersão das previsões é visivelmente menor, o que é bom. Também pode ser observado que o NS exibe propriedades de suavização perceptíveis quando o número de entradas é aumentado. No meu caso, entretanto, o número de vetores de treinamento aumenta proporcionalmente, talvez o motivo leve a um aumento na amostra de treinamento. É necessário separar esses efeitos de alguma forma...
 

Isto mostra os resultados dos testes da capacidade de previsão das duas NS.


A figura mostra em vermelho a série temporal original (RT), em azul a previsão a 1 barra à frente da rede linear de uma camada, e em verde a rede não linear de duas camadas. A profundidade de imersão é a mesma em ambos os casos. Pode-se ver que para este caso artificial existe um resíduo marcado dos dados previstos no gráfico de tendência da BP. Será que meus colegas experientes observam esse efeito e, em caso afirmativo, a que poderia estar relacionado?

 

rip писал (а):


Não concordo, qualquer conversão de dados é uma mudança na informatividade da amostra original. Onde está o critério para avaliar o critério de mudança de dados? Acho que todos os envolvidos na NS conhecem a velha piada que aconteceu durante o próximo boom da NS. Quando os militares dos EUA tentaram usar NS para sistemas de queima terra-terra. Um dos componentes foi uma rede de reconhecimento de padrões, que teve muito sucesso no aprendizado etc., mas por alguma razão reconheceu tanques em tempo chuvoso, e quando foi apresentado com dados de uma estrutura paisagística diferente, cometeu um erro grave. A razão era que a rede tinha aprendido a reconhecer bem uma paisagem, mas não um tanque.


Se alterarmos os dados, o problema pode ser o mesmo - a rede só escolherá seqüências (modos) que pertencem à série normalizadora, porque, em princípio, podemos considerar o próprio processo de normalização como um componente das flutuações da série temporal.

Eu não estou contente. Esta é a opinião que é sustentada pela maioria. Estou contente.

 
Sergey_Murzinov:

rip escreveu (a):


Eu discordo, qualquer transformação dos dados, é uma mudança na informatividade da amostra original. Onde está o critério para avaliar o critério de mudança de dados? Acho que todos os envolvidos na NS sabem de uma velha piada que aconteceu durante o próximo boom da NS. Quando os militares dos EUA tentaram usar NS para sistemas de queima terra-terra. Um dos componentes foi uma rede de reconhecimento de padrões, que teve muito sucesso no aprendizado etc., mas por alguma razão reconheceu tanques em tempo chuvoso, e quando foi apresentado com dados de uma estrutura paisagística diferente, cometeu um erro grave. A razão era que a rede tinha aprendido a reconhecer bem uma paisagem, mas não um tanque.


Se alterarmos os dados, o problema pode ser o mesmo - a rede só escolherá seqüências (modos) que pertencem à série normalizadora, porque, em princípio, podemos considerar o próprio processo de normalização como um componente das flutuações da série temporal.

Eu não estou contente. Esta é a opinião que é sustentada pela maioria. Estou contente.

A opinião é uma opinião, mas na prática é diferente. Eu tentei usar algoritmo genético para otimizar a arquitetura da rede - dá resultados interessantes, mas leva muito tempo para calcular.

 

Aqui está outra comparação do poder preditivo da rede.


Este é um trabalho de previsão de um NS não linear de camada única (linha azul) e de um NS não linear de duas camadas. Aqui a camada única parece preferível.

É interessante comparar estes resultados de teste com os de outras arquiteturas NS. Qualquer pessoa pode publicar seus resultados para comparação?

 

rip писал (а):


Opinião é opinião, mas na prática é diferente. Eu tentei usar algoritmo genético para otimizar a arquitetura da rede, o resultado é interessante - mas leva muito tempo para calcular.

Se cerca de 24 horas é muito, então sim. Basta observar que quando se lida com redes (operando-as), isso é feito uma vez.

 

ao Neutron

Nenhum resultado até o momento, aos poucos, pegando-lhe o jeito.

Em relação ao primeiro posto (com a primeira foto) tentando entender o que você quer dizer. Pessoalmente, eu não vi um atraso notável. Pelo contrário, em áreas onde há algum tipo de padrão (a rede) é muito boa para identificá-lo, e o erro está apenas nas quebras de tendência (e são aleatórias aqui, ou o tamanho da amostra não é suficiente para estabelecer algum tipo de padrão em sua aparência).