Saturday 29 July 2017

Média Móvel Da Rede Neural


Eu entendo redes neurais com qualquer número de camadas ocultas podem se aproximar de funções não-lineares, no entanto, pode se aproximar: eu não consigo pensar em como poderia. Parece uma limitação muito óbvia de redes neurais que podem potencialmente limitar o que pode fazer. Por exemplo, devido a essa limitação, as redes neurais provavelmente não podem se aproximar adequadamente de muitas funções usadas em estatísticas como a média móvel exponencial, ou mesmo a variância. Falando em média móvel, as redes neuronais recorrentes podem se aproximar adequadamente de que eu entendo como uma rede neural feedforward ou mesmo um único neurônio linear pode produzir uma média móvel usando a técnica da janela deslizante, mas como as redes neurais recorrentes o fazem sem X quantidade de camadas ocultas (X sendo o tamanho médio móvel) Além disso, vamos assumir que não conhecemos a função original f. O que acontece para obter a média das últimas 500 entradas e, em seguida, emitir um 1 se for superior a 3, e 0 se não for. Mas por um segundo, fingir que não sabemos isso, é uma caixa preta. Como uma rede neural recorrente se aproximaria de que primeiro precisaria saber quantos timestaps deveria ter, o que não fazemos. Talvez uma rede LSTM pudesse, mas mesmo assim, e se não for uma média móvel simples, é uma média móvel exponencial, não acho que mesmo o LSTM possa fazê-lo. Pior ainda, e se f (x, x1) que estamos tentando aprender é simplesmente. Isso parece muito simples e direto. Pode uma rede neural aprender isso? Eu não vejo como. Estou faltando algo enorme aqui ou são algoritmos de aprendizado de máquinas extremamente limitados. Existem outras técnicas de aprendizado além de redes neurais que podem realmente fazer qualquer um desses. O ponto chave para entender é compacto. As redes neurais (assim como qualquer outra estrutura de aproximação, polinômios, splines ou funções de base radiais) podem aproximar qualquer função contínua somente em um conjunto compacto. Em outras palavras, a teoria afirma que, dado: existe uma rede neural que se aproxima de f (x) com um erro de aproximação inferior a epsilon. Em todos os lugares dentro de um, b. Em relação ao seu exemplo de f (x) x 2. Sim, você pode aproximá-lo com uma rede neural dentro de qualquer intervalo finito: -1,1. 0, 1000. Etc. Para visualizar isso, imagine que você aproxima f (x) dentro de -1,1 com uma função Step. Você pode fazer isso em papel Note que, se você fizer as etapas suficientemente estreitas, você pode alcançar a precisão desejada. A forma como as redes neurais aproximam f (x) não é muito diferente disso. Mas, novamente, não existe uma rede neural (ou qualquer outra estrutura de aproximação) com um número finito de parâmetros que podem se aproximar de f (x) x 2 para todos os x in -,. Respondeu 20 de março às 18:06 Eu entendo que as redes neurais com qualquer número de camadas ocultas podem se aproximar de funções não-lineares, no entanto, pode se aproximar: A única maneira que eu posso entender essa questão é que você está falando sobre extrapolação. Então, e. Amostras de treinamento fornecidas no intervalo -1 lt x lt 1 pode uma rede neural aprender os valores certos para x gt 100. É isso o que você quer dizer, se você tivesse conhecimento prévio, que as funções que você está tentando aproximar são susceptíveis de ser de baixa ordem Polinômios (ou qualquer outro conjunto de funções), então você certamente poderia criar uma rede neural que pode representar essas funções e extrapolar x2 em todos os lugares. Se você não tem conhecimento prévio, as coisas são um pouco mais difíceis: existem infinitamente muitas funções suaves que cabem em x2 no intervalo -1..1 perfeitamente, e não há nenhuma boa razão pela qual esperamos que x2 dê melhores previsões do que qualquer outra função. Em outras palavras: se não tivéssemos conhecimento prévio de que a função estava tentando aprender, por que queremos aprender x - gt x2. No âmbito dos conjuntos de treinamento artificial, x2 pode ser uma função provável, mas no mundo real, provavelmente não é. Para dar um exemplo: Digamos que a temperatura na segunda-feira (t0) é 0, na terça-feira 1, na quarta-feira, 4. Não temos motivos para acreditar que as temperaturas se comportem como polinômios de baixa ordem, então não queremos inferir a partir desses dados Que a temperatura na próxima segunda-feira provavelmente será em torno de 49. Além disso, suponha que não conheçamos a função original f, que passa a obter a média das últimas 500 entradas e, em seguida, a saída de 1 se for superior a 3 e 0 se não é. Mas por um segundo, fingir que não sabemos isso, é uma caixa preta. Como uma rede neuronal recorrente se aproximaria que eu acho que são duas questões: primeiro, uma rede neural pode representar essa função, isto é, Existe um conjunto de pesos que dariam exatamente esse comportamento. Obviamente, depende da arquitetura de rede, mas acho que podemos criar arquiteturas que possam representar (ou pelo menos aproximar) esse tipo de função. Pergunta dois: Pode aprender esta função, tendo suficientes amostras de treinamento. Bem, se o seu algoritmo de aprendizado não ficar preso em um mínimo local, com certeza: Se você possui amostras de treinamento suficientes, qualquer conjunto de pesos que não se aproxima da função dá um erro de treinamento maior Que 0, enquanto um conjunto de pesos que se encaixam na função que você está tentando aprender tem um erro de treinamento0. Então, se você encontrar um ótimo global, a rede deve caber na função. A razão pela qual eu estava pensando em x2. E médias móveis simples ou exponenciais, especialmente porque é usado um bom negócio na previsão do mercado financeiro na análise técnica. Eu estava esperando que uma rede neural pudesse potencialmente aprender esses algoritmos e negociar com base neles antes de precisar codificá-los e inserir seus resultados. No entanto, estou tentando descobrir se uma rede neural pode mesmo aprender uma função como essa. Ndash Essam Al-Mansouri 1 de setembro 14 às 18:29 Compreendo como o x2 não é exatamente útil para a previsão do tempo e pode fazer com que a rede preveja 49 graus na próxima segunda-feira, mas I39m certeza de poder aprender uma função polinomial pode ser útil Para a previsão de preços FOREX, por exemplo. Eu entendo talvez uma arquitetura de rede diferente da que eu tivesse em mente poderia ser capaz, mas eu não conheço nenhuma arquitetura que possa representar f (x, x1) xx1. Eu acho que posso ter usado a palavra aproximada em vez de representar, mas eu acredito em você Ainda entendi o que eu estava tentando dizer bem. Desculpe, eu não poderia editar minha última publicação a tempo. Ndash Essam Al-Mansouri 1 de setembro 14 às 18:41 Eu entendo redes neurais com qualquer número de camadas ocultas podem se aproximar de funções não-lineares, no entanto, pode se aproximar: Sim, pode. Eu não sei o que faz você pensar que é uma função difícil de se aproximar, é muito fácil. Dado suficientes unidades ocultas, uma rede neural pode aproximar qualquer função a uma precisão arbitrária em um intervalo arbitrário. Falando em média móvel, as redes neuronais recorrentes podem se aproximar adequadamente daquele Sim, pode. É novamente um problema muito simples que você parece pensar é difícil por algum motivo, você não está compartilhando. Você pode ver a solução trivial simplesmente criando o estado oculto suficientemente grande para conter toda a história e o resto da rede para calcular a média do estado oculto recorrente. Primeiro, precisamos saber quantos timestaps deve ter, o que não temos. Isso é um problema de afinação de parâmetros, estes foram tratados antes. Você pode facilmente procurar mais informações sobre eles. Estou faltando algo enorme aqui ou são algoritmos de aprendizado de máquinas extremamente limitados. Existem outras técnicas de aprendizado além de redes neurais que realmente podem fazer isso. Sim, você parece estar perdendo qualquer compreensão real das redes neurais. Sua primeira afirmação de que eu entendo as redes neurais com qualquer número de camadas ocultas pode se aproximar das funções não-lineares, no entanto, pode se aproximar, mostra que você realmente não entende as palavras que você está usando. Há uma enorme variedade de tópicos que você pode estar falhando em entender ou combinar uns com os outros, e ninguém será capaz de configurá-lo diretamente em um formato QampA simples. Se você realmente quer entender o que está acontecendo, faça alguns cursos de pós-graduação em Aprendizado de Máquinas e Redes Neurais em particular. Um bom ponto de partida seria esses vídeos se você já possuir os conhecimentos necessários. Respondeu 1 de setembro às 16:37 Este não é o lugar apropriado para ensinar. Pegue um dos muitos livros sobre o assunto e leia isso. Você ainda não considera o tipo de função de ativação ou há mais de uma unidade por entrada ou pode haver muitas camadas ocultas (não que elas sejam necessárias, mas ajudem a entender). Ndash Raff. Edward 1 de setembro às 19:09 Raff Edward, você era rude e depreciante em suas respostas simplesmente porque VOCÊ, e não Essam, não entende as limitações teóricas das Redes Neurais. NÃO, NÃO, NÃO Nenhuma rede neural pode aprender a função f (x) xx Também não pode aprender um número infinito de outras funções, a menos que você considere impraticável: 1- um número infinito de exemplos de treino 2- um número infinito de unidades 3- uma quantidade infinita de tempo para convergir NNs são bons em aprender problemas de reconhecimento de padrões de baixo nível (sinais que, no final, possuem algum padrão estatístico que pode ser representado por alguma função contínua), mas isso não é mais. Heres uma dica: tente Para criar um NN que leva n1 entradas de dados (x0, x1, x2. Xn) e retornará true (ou 1) se (2 x0) estiver no resto da seqüência. E boa sorte. As funções infinitas especialmente as que são recursivas não podem ser aprendidas. Eles apenas são Raff Edward mal interpretado minha pergunta. Ele estava certo ao dizer que as redes neurais podem se aproximar de qualquer função, mas uma parte importante que ele e eu não especificamos corretamente é que ela pode aproximar qualquer função quotboundedot. Isso significa que ele pode se aproximar de f (x) se x tiver um alcance infinito, como Panagiotis apontou. Ndash Essam Al-Mansouri 10 de janeiro às 9: 03Implicação de modelos Auto-Regressive Integrated Moving Average utilizando lógica Fuzzy e Redes Neurais Artificiais (ANNs) A previsão de séries temporais é uma área de pesquisa ativa que atraiu considerável atenção para aplicações em uma variedade de áreas. Os modelos Auto-Regressive Integrated Moving Average (ARIMA) são um dos modelos de séries temporais mais importantes utilizados na previsão de mercado financeiro nas últimas três décadas. As recentes atividades de pesquisa na previsão de séries temporais indicam que duas limitações básicas prejudicam sua popularidade para a previsão de séries temporais financeiras: (a) Os modelos ARIMA assumem que os valores futuros de uma série temporal têm uma relação linear com os valores atuais e passados, bem como com o ruído branco , Então as aproximações por modelos ARIMA podem não ser adequadas para problemas complexos não-lineares e (b) os modelos ARIMA requerem uma grande quantidade de dados históricos para produzir resultados precisos. Ambos os achados teóricos e empíricos sugeriram que a integração de diferentes modelos pode ser um método efetivo de melhorar sua performance preditiva, especialmente quando os modelos do conjunto são bastante diferentes. Neste artigo, os modelos ARIMA são integrados com as Redes Neurais Artificiais (RNAs) e a Lógica Fuzzy, a fim de superar as limitações lineares e de dados dos modelos ARIMA, obtendo resultados mais precisos. Os resultados empíricos da previsão dos mercados financeiros indicam que os modelos híbridos exibem efetivamente uma melhor precisão de previsão, de modo que o modelo proposto possa ser usado como uma alternativa às ferramentas de previsão de mercado financeiro. Média de Mudança Integrada Auto-Regressiva (ARIMA) Previsão de séries temporais Redes Neurais Artificiais (RNAs) Lógica distorcida Mercados financeiros Taxa de câmbio Autor correspondente. Tel. 98xA0311xA03912550xA01 fax: 98xA0311xA03915526. Copyright copie 2008 Elsevier B. V. Todos os direitos reservados. Mehdi Khashei nasceu em 1979 em Esfahan, no Irã. Estudou engenharia industrial na Universidade de Tecnologia Isfahan (IUT) e recebeu o mestrado em engenharia industrial em 2005. É autor ou co-autor de cerca de 13 artigos científicos em revistas internacionais ou comunicações para conferências com comitê de revisão. Sua pesquisa atual combina modelos Auto-Regressive Integrated Moving Average (ARIMA) com Redes Neurais Artificiais (RNAs) e lógica difusa com a previsão de séries temporais. Os interesses da pesquisa incluem modelos computacionais do cérebro, lógica difusa, soft computing, aproximadores não-lineares e previsão de séries temporais. Mehdi Bijari recebeu seu licenciado em engenharia industrial, 1987, mestrado em planejamento de sistemas, 1990, ambos da Universidade de Tecnologia Isfahan (IUT) e doutorado em engenharia industrial 2002, Sharif University of Technology. Ele lecionou no Departamento de Engenharia Industrial na IUT desde 1991. Sua pesquisa está na área de gerenciamento de projetos, simulação, planejamento de produção, métodos de meta heurística, otimização, previsão de séries temporais e sistemas de informação. Ele publicou diversos trabalhos em planejamento de produção, previsão de séries temporais e otimização. Gholam Ali Raissi Ardali é professor assistente de engenharia industrial na Universidade de Tecnologia Isfahan (IUT). Ele obteve um BSc em estatística amp. Informática, 1975, do Instituto de Estatística e Informática, Teerã, Irã, mestrado em estatística aplicada, 1977, da Universidade Brunel, Inglaterra e doutorado em tecnologia industrial, 1980, da Universidade de Bradford, Inglaterra. Seus interesses de pesquisa são gerenciamento de qualidade total, controle de qualidade estatístico, previsão de séries temporais, redes neurais e gerenciamento da cadeia de suprimentos.9.3 Modelos de rede neural As redes neurais artificiais são métodos de previsão baseados em modelos matemáticos simples do cérebro. Eles permitem relações complexas não-lineares entre a variável de resposta e seus preditores. Arquitetura da rede neural Uma rede neural pode ser pensada como uma rede de neurônios organizados em camadas. Os preditores (ou entradas) formam a camada inferior e as previsões (ou saídas) formam a camada superior. Pode haver camadas intermediárias contendo neurônios escondidos. As redes mais simples não possuem camadas ocultas e são equivalentes a regressões lineares. A Figura 9.9 mostra a versão da rede neural de uma regressão linear com quatro preditores. Os coeficientes associados a esses preditores são chamados de pesos. As previsões são obtidas por uma combinação linear das entradas. Os pesos são selecionados na estrutura da rede neural usando um algoritmo de aprendizagem que minimiza uma função de custo, como MSE. Claro, neste exemplo simples, podemos usar a regressão linear, que é um método muito mais eficiente para treinar o modelo. Uma vez que adicionamos uma camada intermediária com neurônios ocultos, a rede neural torna-se não linear. Um exemplo simples é mostrado na Figura 9.10. Isso é conhecido como uma rede de encaminhamento em várias camadas onde cada camada de nós recebe entradas das camadas anteriores. As saídas de nós em uma camada são entradas para a próxima camada. As entradas para cada nó são combinadas usando uma combinação linear ponderada. O resultado é então modificado por uma função não-linear antes de ser exibido. Por exemplo, as entradas no neurônio oculto j na Figura 9.10 são combinadas linearmente para dar 91 zj bj soma 4 x xi. 93 Na camada oculta, isso é modificado usando uma função não-linear, como um sigmoide, para dar a entrada para a próxima camada. Isso tende a reduzir o efeito de valores de entrada extremos, tornando a rede um pouco robusta para valores aberrantes. Os parâmetros b1, b2, b3 e w, pontos, w são aprendidos com os dados. Os valores dos pesos são freqüentemente restritos para evitar que eles sejam muito grandes. O parâmetro que restringe os pesos é conhecido como o parâmetro de decaimento e é geralmente definido como igual a 0,1. Os pesos tomam valores aleatórios para começar, os quais são atualizados usando os dados observados. Conseqüentemente, há um elemento de aleatoriedade nas previsões produzidas por uma rede neural. Portanto, a rede geralmente é treinada várias vezes usando diferentes pontos de partida aleatórios, e os resultados são calculados como média. O número de camadas ocultas e o número de nós em cada camada oculta devem ser previamente especificados. Consideraremos como estes podem ser escolhidos usando a validação cruzada posteriormente neste capítulo. Exemplo 9.5 Pontuação de crédito Para ilustrar a previsão de rede neural, usaremos o exemplo de pontuação de crédito que foi discutido no Capítulo 5. Nós ajustamos o modelo de regressão linear a seguir: y beta beta x beta x beta 3x3 beta 4x4 e, Aqui log significa a transformação Log (x1). Isso pode ser representado pela rede mostrada na Figura 9.9 onde as entradas são x1, pontos, x4 e a saída é y. A rede neural mais sofisticada mostrada na Figura 9.10 poderia ser ajustada da seguinte forma. Biblioteca 40 caret 41 creditlog lt - dados. Quadro 40 pontuação atribuída, log. Log de poupança 40 créditos 1 41, log. Registro de renda 40 resultado de crédito 1 41, log. Log de endereços 40 créditos. Endereço 1 41, log. Log em uso 40 créditos. Empregado 1 41, fte creditfte, single creditsingle 41 fit lt - avNNet 40 log de resultados. Registro de poupança. Log de renda. Log de endereços. empregado. Registro de crédito de dados, repetições 25. tamanho 3. decadência 0,1, linout TRUE 41 A função avNNet do pacote de cadastro se encaixa uma rede neural de feed-forward com uma camada oculta. A rede especificada aqui contém três nós (tamanho3) na camada oculta. O parâmetro decay foi definido como 0.1. O argumento repete25 indica que 25 redes foram treinadas e as suas previsões devem ser calculadas de forma média. O argumento linoutTRUE indica que a saída é obtida usando uma função linear. Neste livro, sempre especificamos linoutTRUE. Autoregressão da rede neuronal Com dados da série temporal, os valores atrasados ​​da série temporal podem ser usados ​​como entradas para uma rede neural. Assim como usamos valores retardados em um modelo de autoregressão linear (Capítulo 8), podemos usar valores remanescentes em uma autorevenção de rede neural. Neste livro, consideramos apenas redes feed-forward com uma camada oculta, e use a NNAR de referência (p, k) para indicar que há entradas p atrasadas e nós k na camada oculta. Por exemplo, um modelo NNAR (9,5) é uma rede neural com as últimas nove observações (y, y, dots, y) usadas como entradas para prever a saída y t e com cinco neurônios na camada oculta. Um modelo NNAR (p, 0) é equivalente a um modelo ARIMA (p, 0,0), mas sem as restrições nos parâmetros para garantir a estacionaridade. Com dados sazonais, é útil adicionar também os últimos valores observados da mesma época que as insumos. Por exemplo, um modelo NNAR (3,1,2) possui entradas y, y, y e y e dois neurônios na camada oculta. Mais geralmente, um modelo NNAR (p, P, k) m possui entradas (y, y, dots, y, y, y, y) e k neurônios na camada oculta. Um modelo NNAR (p, P, 0) m é equivalente a um modelo ARIMA (p, 0,0) (P, 0,0) m, mas sem as restrições nos parâmetros para garantir a estacionaridade. A função nnetar () se ajusta a um modelo NNAR (p, P, k) m. Se os valores de p e P não forem especificados, eles serão selecionados automaticamente. Para séries temporais não sazonais, o padrão é o número ótimo de atrasos (de acordo com a AIC) para um modelo linear AR (p). Para as séries temporais sazonais, os valores padrão são P1 e p é escolhido a partir do modelo linear ótimo ajustado aos dados dessazonalizados. Se k não for especificado, é definido como k (pP1) 2 (arredondado para o inteiro mais próximo). Exemplo 9.6: Manchas solares A superfície do sol contém regiões magnéticas que aparecem como manchas escuras. Isso afeta a propagação de ondas de rádio e, portanto, as empresas de telecomunicações gostam de prever a atividade de manchas solares para planejar quaisquer dificuldades futuras. As manchas solares seguem um ciclo de duração entre 9 e 14 anos. Na Figura 9.11, as previsões de um NNAR (9,5) são mostradas nos próximos 20 anos. Ajuste ltnnetar 40 manchas solares 41 gráfico 40 previsão 40 ajuste, h 20 41 41 As previsões realmente são ligeiramente negativas, o que, é claro, é impossível. Se quisermos restringir as previsões para permanecermos positivas, poderíamos usar uma transformação logarítmica (especificada pelo parâmetro Box-Cox lambda 0): fit ltnnetar 40 espaço solar, lambda 0 41 gráfico 40 previsão 40 ajuste, h 20 41 41

No comments:

Post a Comment