1 - Obrigado pelo artigo, ele me fascinou durante o tempo livre mais próximo e, assim que eu tiver um dia livre, vou me aprofundar no assunto.
2 - Uma observação: o código não compila. Aparentemente, você escreveu exemplos simplificando seus desenvolvimentos, mas não verificou os exemplos resultantes na prática. Acho que os erros de impressão estão expressos, pelo menos os que eu notei. Ainda não terminei de ler o artigo. E do ponto de vista da programação, nos métodos de criação de novos neurônios e outras coisas, você não exclui os anteriores se o índice não exceder o valor anterior, você obtém objetos zumbis em potencial...
3 - Pergunta. Os pesos da grade não devem somar um, aparentemente, certo?
2 - A rede implementada funcionará muito lentamente, porque ela é implementada por meio de objetos..., pelo menos os pesos deveriam ser implementados por meio de matrizes simples. Além disso, você pode ver que há erros no projeto da rede do ponto de vista da OOP, é no próprio projeto, por isso surgiram tantos objetos.
3 - Os pesos da rede podem ter quaisquer valores, não são limitados por nada, quando próximos a valores zero eles reduzem sua influência....
Você deve ter confundido o valor único de um neurônio, o valor final, mas depois da função sigmoide... nesse caso, sim, a saída de cada neurônio da rede é de 0 a 1, mas no artigo havia uma tankence como ativação de um neurônio, e sua saída é de -1 a 1.
Outra grande desvantagem desse artigo é que nenhuma palavra foi dita sobre a preparação dos dados, normalização, etc., e isso é muito importante, pois a rede neural não funciona com os dados originais
Daniil Kurmyshev:
2 - A rede implementada funcionará muito lentamente, pois é implementada por meio de objetos..., pelo menos os pesos deveriam ser implementados por meio de matrizes simples. Além disso, você pode ver que há erros no projeto da rede do ponto de vista da OOP, que está no próprio projeto, por causa do surgimento de tantos objetos.
Não haverá perda de desempenho, eu testei, e você pode dar uma olhada nas postagens do administrador Renat, ele mostrou que a OOP na MQL5 funciona tão rápido quanto o estilo procedural.
Quanto ao artigo, a apresentação é boa, mas o material já foi abordado muitas vezes em artigos sobre esse recurso, embora possa ser útil.
"Se quisermos alimentar a entrada de uma rede neural com uma matriz de dados de 10 elementos, a camada de entrada da rede deverá conter 10 neurônios. Isso permitirá que todo o conjunto de dados seja aceito. Os neurônios de entrada redundantes serão apenas um lastro."
Não, não deveria, um pode ser suficiente
"O número de camadas ocultas é determinado pela relação causal entre os dados de entrada e o resultado esperado. Por exemplo, se estivermos construindo nosso modelo em relação à técnica dos "5 porquês", é lógico usar 4 camadas ocultas, que, somadas à camada de saída, nos darão a oportunidade de fazer 5 perguntas aos dados originais."
o que são "5 porquês" e o que 4 camadas têm a ver com isso? Pesquisei, uma árvore de decisão simples responde a essa pergunta. O aproximador universal é um NS de 2 camadas, que responderá a qualquer número de "porquês" :) As outras camadas são usadas principalmente para o pré-processamento de dados em projetos complexos. Por exemplo, comprimir uma imagem a partir de um grande número de pixels e depois reconhecê-la.
"Como a saída de um neurônio é um resultado lógico, as perguntas feitas à rede neural devem assumir uma resposta inequívoca."
Se a saída não for um somador simples, presume-se que a resposta seja probabilística.
Eu estava com medo de olhar o código, pois há muitas implementações de alta qualidade na Internet )).
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso


Novo artigo Redes Neurais de Maneira Fácil foi publicado:
A inteligência artificial é frequentemente associada a algo fantasticamente complexo e incompreensível. Ao mesmo tempo, a inteligência artificial é cada vez mais mencionada na vida cotidiana. Notícias sobre conquistas relacionadas ao uso de redes neurais geralmente aparecem em diferentes mídias. O objetivo deste artigo é mostrar que qualquer pessoa pode criar facilmente uma rede neural e usar as conquistas da IA na negociação.
Na Wikipedia é fornecida a seguinte definição de rede neural:
As redes neurais artificiais (RNA) são sistemas computacionais vagamente inspirados nas redes neurais biológicas que constituem os cérebros de animais. Uma RNA é baseada em uma coleção de unidades ou nós conectados chamados neurônios artificiais, que modelam livremente os neurônios em um cérebro biológico.
Ou seja, uma rede neural é uma entidade composta por neurônios artificiais, entre os quais existe um relacionamento organizado. Essas relações são semelhantes a um cérebro biológico.
A figura abaixo mostra um diagrama de rede neural simples. Aqui, os círculos indicam os neurônios e as linhas visualizam as conexões entre os neurônios. Os neurônios estão localizados em camadas que são divididas em três grupos. Em azul indica a camada de neurônios de entrada, que significa a entrada de informações da fonte. Em verde e azul são os neurônios de saída, que emitem o resultado da operação da rede neural. Entre eles, os neurônios cinzentos formam uma camada oculta.

Apesar das camadas, toda a rede é construída dos mesmos neurôAutor: Dmitriy Gizlyk