O "New Neural" é um projecto de motor de rede neural Open Source para a plataforma MetaTrader 5. - página 39
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Vamos construir redes de base radial?
eles têm um bug forte, enquanto aprendem rapidamente, eles predizem mal com dados desconhecidos.
Curso geral (de http://www.intuit.ru/de partment/expert/neuro/ você precisa se registrar lá, se você não quiser se registrar - nickname é Nic_Touch pas zdraste01 )
Palestras http://www.softcraft.ru/neuro/ni/p00.shtml
Exemplos de mapeamento http://www.statsoft.ru/home/products/version6/snn.htm
Livros sobre modelos e métodos de treinamento
u - entrada do ativador
y - fator de potência adicional.
Onde quer que haja um expoente, você deve evitar calcular expoentes de números positivos para evitar obter números grandes que excedam 32 bits. Por exemplo, para calcular a sigma, é melhor fazer o seguinte
duplo x = -y*u;
double e=exp(-|x|);
if(x<=0) retorno(1./(1.+e))
if(x>0)return(e/(1.+e));
Estas fórmulas são derivadas de forma bastante simples. Se o argumento do expoente for negativo, deixamos a fórmula inalterada. Se positivo, multiplicamos o numerador e denominador pelo expoente do mesmo argumento, mas com um sinal negativo.
Onde quer que haja um expoente, você deve evitar calcular expoentes de números positivos para evitar obter números grandes que excedam 32 bits. Por exemplo, o cálculo do sigma é melhor desta forma
duplo x = -y*u;
double e=exp(-|x|);
if(x<=0) retorno(1./(1.+e))
if(x>0)return(e/(1.+e));
Estas fórmulas são derivadas de forma bastante simples. Se o argumento do expoente for negativo, deixamos a fórmula inalterada. Se for positivo, multiplicamos o numerador e denominador pelo expoente do mesmo argumento, mas com um sinal negativo.
Estranhamente, o próprio sigmóide funciona corretamente mesmo com grandes entradas negativas, mas a função hipertangente falha, então eu adicionei um deslocamento sigmóide além dos algoritmos clássicos. A função funciona no mesmo limite que o hipertangente, mas é mais rápida e não tem problemas #IND.
Da mesma forma, com ajuste do ângulo de ataque (para pequenos valores de coeficiente y) o hipertangente não atinge -1;1, o sigmóide deslocado não tem tais problemas.
Em geral quem quer finalizar o hipertangente, mas acho que a função é pouco promissora, não só que tenho que salvar o resultado porque o expoente é usado duas vezes, então ainda preciso de verificações, além de problemas com o não alcance dos limites ao ajustar o ataque.
A minha conclusão é que o hipertangente é um não, as regras do sigmóide deslocado.
A minha conclusão é que o hipertangente é um não, as regras do sigmóide deslocado.
destacado.
É possível fazer uma implementação mais simples do sigmoid no limite [-1;1].
mas esta implementação também tem um problema com o #IND, por isso é melhor adicionar um par de operações simples do que passar inúmeros cheques
aqui adicionamos + - / , então 3 operações extras vs. muitos cheques
Esta é a melhor opção, tanto em termos de facilidade de trabalho [-1;1] como de velocidade de operação. A área de definição é toda a linha numérica.
Esta é exatamente a função de ativação que tenho usado ultimamente, tendo experimentado muitas alternativas e testado sua velocidade de execução.
E eu tenho esta como a minha favorita na grelha de eco:
A propósito.
É necessária uma função sigmóide.
Os requisitos são uma forma normal da própria função e da sua derivada (não muito difícil de calcular) e uma forma normal da função inversa e da sua derivada.