Mensagens enviadas por: mauro_schneider
Índice dos Fóruns » Perfil de mauro_schneider » Mensagens enviadas por mauro_schneider
Autor Mensagem
Olá Julio

Este é um erro constante (inclusive na literatura) e que aos poucos vem sendo modificado. Para lhe ajudar a entender o meu raciocínio, responda a seguinte pergunta:

Qual o objetivo do treinamento em uma rede do tipo MLP ?

Com a resposta da pergunta acima, você vai ver que não existe algoritmo de "backpropagation" e sim de otimização.

juliocbq wrote:
mauro_schneider wrote:Olá

Para predição veja sobre atraso de tempo nas entradas. Para obter um dado de hoje, se faz necessário as entradas serem t-1, t-2, ..., t-n

E Backpropagation não é algoritmo é método.


Ow mauro.... só uma correção, o método se refere a metodologia de como fazer, ou seja um algoritmo.

http://en.wikipedia.org/wiki/Backpropagation


Julio

Algoritmos são o QuickProp, LM, PLL, Cascor, etc, onde todos eles usam o método de Backpropagation
Olá

Para predição veja sobre atraso de tempo nas entradas. Para obter um dado de hoje, se faz necessário as entradas serem t-1, t-2, ..., t-n

E Backpropagation não é algoritmo é método.
Previsões

Caso queira fazer predição, como configurou as entradas ?
Olá gpmdf2

gpmdf2 wrote:
Aproveitando op que vc disse... Você já usou o Joone? Qual a classe que eu devo escrever pra implementar um novo método de aprendizado? Você tem algum exemplo? Estou ainda pesquisando alguns outros frameworks, como o neuroph e o encog.

Só fiz alguns testes com o Joone, nada relevante. Mas parece que agora o Encog (antigo JOONE) tem o algoritmo de LM (Levenberg?Marquardt algorithm) o qual é bastante eficiente para treinamento de uma MLP.

gpmdf2 wrote:
VocÊ indica algum deles? tem algum exemplo? O próximo passo para mim seria exatamente mudar o algoritmo de aprendizado. A função em todas as camadas que estou usando é a sigmóide (SigmoydLayer do Joone).

Use a tangente hiperbólica (-1,+1).

gpmdf2 wrote:
Como vocÊ desenvolveu essa sua rede? Que framework usou? Como escreveu o algoritmo de aprendizagem? Essas são as dúvidas que tão me deixando preocupado.

Eu tenhos redes escritas em Java e em Matlab. O interessante de você mesmo implementar, é o conhecimento adquirido, além das otimizações específicas para cada tipo de problema. No entanto, um conhecimento de cálculo se faz necessário, principalmente se adotar métodos de segunda ordem, por isto que acabei indo para o matlab.
Olá gpmdf2

Lembrando que RNA do tipo MLP não são lineares (ao menos que você coloque uma função degrau na saída) e resultados como este é "bem" normal de acontecer. Neste caso, deve-se aplicar um arredondamento do valor da saída, para obter os valores 0 ou 1, conforme as entradas do XOR.

Em relação ao valor 0.0468468468464645.. obtido com o JOONE, demonstra que o algoritmo de treinamento adotado por ele não é dos melhores, codifique você mesmo métodos de segunda ordem (newton) adaptado. Para você ter uma ideia, com o algoritmo de LM, meu treinamento do XOR se obtem valores muito próximo de zero (0,00000000151....)
gpmdf2 wrote:claro.


o que eu quis dizer é que há alguns algoritmos (por exemplo, pra aprendizado) que são clássicos. Alguns mais novos visam o aprendizado de forma mais rápida (por exemplo).

É isso que tô procurando.


Veja a tese de Mestrado do Leandro Nunes em http://www.dca.fee.unicamp.br/~vonzuben/research/lnunes_mest.html
juliocbq wrote:
amsterdatech wrote:BAlguns frameworks tornam certas coisas mais faceis, assim como ja possuem testes e versões estaveis, alem de um tempo de desenvolvimento maior!

Frameworks:

JOONES http://www.jooneworld.com
ANNEF http://www.inf.unisinos.br/~jrbitt/annef/
ENCOG http://www.heatonresearch.com/encog

Um otimo site seria o do Jeff Heaton, um grande pesquisador nesta area, onde existem artigos, exemplos e otimos livres de sua autoria disponiveis online:
http://www.jeffheaton.com/ai/

Em meu blog falo sobe computação distribuida, inteligencia artificial e java...visitem:
http://www.amsterdaintelligence.blogspot.com



Sim, mas codificando você fica por dentro de tudo que acontece no software, sem contar o conhecimento mque se ganha.


Além disto, os melhores algoritmos de aprendizado não estão inclusos nestes frameworks, desta forma, eles podem facilitar sim, mas para o aprendizado e na utilização de problemas simples.
Andre Brito wrote:Eu usei o Joone e não gostei. Nunca botei fé nos resultados que ele me retornava..


Estranho, fiz vários testes com o Joone, e não vi nada de anormal nele. Quais foram os testes que você fez com ele ?
No Grails esqueça o IceFaces, utilize só os componentes dele + Jquery + JSON, e seja Feliz.
Veja o JAI - Java Advanced Imaging

As dificuldades maiores são em treinar a Rede, para implementar, existem infinitos algoritmos e até mesmo códigos prontos em Java na Internet.


Se você quiser sentir um pouco como funciona, procure pelo JOONE na internet
Acho que este Link Java ME Location API vai lhe ajudar a coletar as coordenas, e para jogar no Banco de Dados, faça uma conexão via Http no seu Servidor de Aplicação.
Aqui tem um com Spring, que ajuda bastante
Veja este aqui
 
Índice dos Fóruns » Perfil de mauro_schneider » Mensagens enviadas por mauro_schneider
Ir para:   
Powered by JForum 2.1.8 © JForum Team