Etiqueta de mercado ou boas maneiras em um campo minado - página 36

 
HideYourRichess писал(а) >>

Qualquer linha reta pode ser inscrita em tal círculo, em qualquer ângulo em relação à horizontal.

Ora, ora, ora!

Veja, não em nenhum ângulo! - É o ângulo certo...

 
Neutron >> :

Agora é o que parece!

Onde está a nuvem de treinamento prometida?

Coloque uma grade de escala no gráfico e me diga qual é sua tangente do ângulo de inclinação para a linha reta.

Estas foram as figuras obtidas da primeira diferença do seno de cinco membros por X e a previsão da grade com pesos aleatórios (ajuste inicial dos pesos +/-1) por Y. O resto ainda está sendo feito, em breve

 
Neutron >> :

Ora, ora, ora!

Como você pode ver, não qualquer um! - É o certo...

>> Sim, sim, sim.

 

Pronto, está feito. Aqui só falta uma amostra de treinamento, pois a amostra de treinamento é o vetor X. Portanto, é claro que você pode traçar no gráfico, mas será uma linha reta que cruzará o gráfico em um ângulo de 45". O neurônio foi treinado por três amostras:

1. Primeira diferença simples 5sin - vetor Y_simpl, cor verde (marta correspondente)

2. Hipertangente da primeira diferença 5sin - azul

3. entradas binárias (por 5sin) - roxo


As tangentes das linhas retas são assim:



E, no entanto, algo está errado. Ou eu não entendo a tarefa que você me deu.

Este neurônio é treinado em cada novo vetor de dados X, o mesmo vetor é usado como o eixo de abcissas do gráfico. Se você o exibir no ordenado...? Por quê?

Além disso, notei que se a folha de trabalho com os mesmos dados recalcular os resultados serão diferentes. É suposto ser assim? Ou seja, os resultados são muito dependentes dos ajustes iniciais de pesos.

Bem, quando eu não treinava neurônios a cada passo, mas apenas o executava no vetor de dados com pesos iniciais escolhidos aleatoriamente, recebi desenhos com uma nuvem no meio (às vezes).

Agora você tem o que vê. Aqui está outra foto.


Só para o caso de eu anexar a listagem Matkad

Arquivos anexados:
neyron.rar  114 kb
 
paralocus писал(а) >>

Bem, aí está. Não há amostra de treinamento, porque a amostra de treinamento é o vetor X. Portanto, você pode desenhá-la no gráfico, é claro, mas será uma linha cruzando o gráfico em um ângulo de 45".

Você tem um vetor de treinamento de comprimento n no qual a NS treina para reconhecer apenas uma amostra, n+1. Temos um conjunto de estatísticas N>100, que forma um conjunto de treinamento (mais exatamente, um conjunto de exemplos de como NS foi treinado) de amostras de comprimento N (este não é um vetor de treinamento, mas um conjunto de amostras, obtido a partir da série sinusite disponível, deslocando-o por uma amostra para a direita cada vez até N). Assim, temos N valores para os quais os NS foram treinados (estes são n+1 elementos dos vetores de treinamento) e também temos N valores de como os aprendeu. Coloque-os nos eixos de abcissas e ordenadas respectivamente e obtenha a nuvem que caracteriza o processo de aprendizagem. É evidente que esta nuvem não terá um declive de 45 graus. Isso decorre do fato de que o número de pesos da malha - w é muito menor que o comprimento ideal do vetor de treinamento P=w*w/d e, como conseqüência, o sistema de equações que NS resolve para encontrar os pesos ideais é superdeterminado e tem um número infinito de soluções. Portanto, busca-se uma aproximação que seja ótima no sentido de minimizar o erro de aprendizagem ao quadrado para todas as equações. Se o comprimento do vetor de treinamento fosse igual ao número de pesos, então seria de esperar 100% de aprendizado da rede, mas isto não é ótimo no sentido da capacidade da rede de generalizar o conhecimento acumulado no futuro e leva a erros grandiosos na amostra de teste. Uma grade devidamente treinada mostrará o ângulo de inclinação da amostra de treinamento próximo ao ângulo de inclinação da amostra de teste no diagrama de nuvens. Por outro lado, uma rede sobre-treinado mostrará um ângulo de 45 graus para a nuvem de treinamento com uma variação insignificante e um ângulo zero com variação infinita para a nuvem de teste. Este é exatamente o resultado que você obtém se tentar resolver um sistema de equações algébricas lineares para um único perseptron com precisão. Eu já mencionei isto acima. Esta é a razão pela qual é muito conveniente usar um diagrama de nuvens ao depurar uma rede (o que não se pode fazer em MQL).

O fato de que sua inclinação muda de experiência para experiência e se torna até mesmo negativa, indica claramente que sua garota vive sua vida secreta e não é treinável. Você precisa de uma lobotomia :-)

P.S. Salvar arquivos cdjb com extensão *.mcd para 2001i MathCad, caso contrário, não consigo lê-los.

 
Aqui, salvo como *.mcd para Matcad12 e 11. Não tenho nenhuma outra opção para arquivos mcd.
Arquivos anexados:
mathcad.rar  40 kb
 

Vou dar uma olhada agora.

A propósito, eis como minha garota funciona a série 5-sine:

É um NS de duas camadas com duas entradas válidas (sem contar o viés constante), k=2, que tem 2 neurônios ativados não lineares na camada oculta e um neurônio linear (sem função de ativação) na saída. A amostra de treinamento é mostrada em vermelho e a amostra de teste (previsões) é mostrada em azul. Re-treinamento em cada amostra. As estatísticas são 200 experiências. As tangentes dos ângulos são dadas no campo da trama.

 

Há muitas coisas em seu código que eu não entendi por bondade do meu coração. Mas, pelo que consegui compreender, o seguinte não corresponde às minhas idéias:

Você deve ter exatamente a soma acumulada em toda a época de treinamento P por quadrados de desvios S[k] . O que vejo é apenas uma re-designação das variáveis. Não há inicialização inicial dos pesos com números aleatórios.

Ainda não entendo que sub-rotina você introduziu método() e ranif() e onde procurá-lo?

Eu simplifiquei um pouco seu código (ver arquivo).

Arquivos anexados:
modif1_4.zip  16 kb
 
Acabo de chegar ao computador. Esse é o arquivo errado para você... na pressa da manhã para anexá-lo. Agora vou comentar sobre ele e post ranif() - é uma função integrada do Matcad - ele retorna um vetor de comprimento especificado no primeiro parâmetro com números aleatórios uniformemente distribuídos no intervalo entre o segundo e o terceiro parâmetros.
 

Comentou extensivamente, corrigiu alguns erros ao longo do caminho

Isto é o que ela desenha:


Anexo o arquivo em três formatos 11, 12 e 13 (*.xcmd)

Agora estou olhando para suas correções... Na verdade, eu deveria ter analisado as correções antes de comentar... -:)

No que você escreveu dois posts acima, estou pensando. O principal para mim é entender para que a "imagem" em minha cabeça se forme, então eu farei tudo.

Essa imagem até agora não estava muito correta - entendi mal "aprender fazendo", e ainda não há ninguém novo.

Arquivos anexados:
neyron_1.rar  197 kb