Sei sulla pagina 1di 3

DICAS DE SIMULACAO DE REDES NEURAIS *********************************** => Usando SNNS, JavaNNS, Batchman (Scripts) e SNNS2C ============================================================== Como treinar

uma rede: PASSO ZERO: - Criar o arquivo com os dados de treino (.pat) e de validao (.pat) VER ABAIXO => Criando arquivos .pat - Criar a descrio da rede neural (.net), com uma topologia especfica para o problema (nro. entrada, nro. hidden e nro. sadas) que seja obviamente compatvel com os dados do arquivo .pat! VER ABAIXO => Criando arquivos .net A seguir veja como usar o SNNS, JavaNNS e Batchman == Como usar as ferramentas do SNNS: 1. Baixe os programas SNNS para executar no Windows (em uma janela DOS) http://www.inf.unisinos.br/~osorio/protect/neural/software/pc/snnsv4.2.win32bin.zip ( login: aluno senha: unisinos ) Voc tambm pode baixar o JavaNNS direto do site original: http://www-ra.informatik.uni-tuebingen.de/software/JavaNNS/welcome_e.html 2. Coloque no diretrio BIN os dados que esto no arquivo disponibilizado junto com estas dicas: xor.dat meu_xor.dat xor-2-2-1.net aprende.txt => Arquivo com dados de teste => Arquivo com dados de treino => Definicao de uma rede MLP com 2 entradas, 2 hidden e 1 sada => Script para ser usado com o batchman (passo3)

3. Execute em uma janela DOS os comandos conforme descrito no "como-usar.txt", executando o BATCHMAN.exe: batchman -f aprende.txt > log-erro.txt Este comando executa o "scritp" do batchman que est no Voc pode editar este arquivo de script em um editor de ou alterando seus comandos... Note que o uso do JavaNNS opo do script fosse sendo executada atravs dos menus arquivo "aprende.txt". textos, adicionando quase como se cada desta aplicao.

O manual do Batchman pode ser obtido em: http://www.inf.unisinos.br/~osorio/protect/neural/software/pc/doc-batchman.p df e o manual do SNNS pode ser obtudo em: http://www.icmc.usp.br/~andre/research/neural/snns.htm 4. Veja os resultados... log-erro.txt e xor-saida.txt Esta rede est configurada para usar o RPROP (backpropagation acelerado). Voc pode apagar a linha do script que define o RPROP e o SNNS, na falta da indicao do tipo de "learning function" (setLearnFun), vai adotar

o BackProp padro... voc pode ento verificar a diferena junto aos arquivos de resultado (aprendizado mais lento). Lembre-se: - Todo treinamento deve ser analisado e validado, ou seja, deve se verificar se a rede est "acertando" as repostas da base de aprendizado e de validao; - Use um aprendizado do tipo cross-validation! (70/30 ou 10-fold); - Realize mltiplas simulaes e registre o desempenho mdio da rede (mdia e desvio), para no ser influenciado por uma inializao especfica e aleatria dos pesos. Se quiser podes fazer as mesmas experincias interativamente usando o JavaNNS, mas neste caso ter que seguir os passos feitos no Script (carregar exemplos, inicializar, etc) direto na interface grfica. Para baixar o JavaNNS, acesse: http://www-ra.informatik.uni-tuebingen.de/software/JavaNNS/welcome_e.html Se quiser o SNNS tem uma verso para Linux que tambm apresenta uma interface grfica para realizar e controlar as simulaes. Voc tambm pode usar o SNNS2C.exe para compilar a rede .net salva pelo script (xor-trained.net) ou qualquer outra rede salva pelo JavaNNS ou SNNS, gerando um programa em "C" que pode ser embutido dentro de outro... BOAS SIMULAES! ==== COMO CRIAR UM ARQUIVO .DAT ************************** O formato de dados do SNNS (e do JavaNNS) o dos arquivos .DAT (arquivo texto), onde os exemplos esto junto ao link desta pgina de dicas. O arquivo xor.dat est todo "enfeitado" com comentrios que comeam com o "#" no incio da linha... mas o SNNS aceita um formato mais simples, basta guardar o cabealho e depois segue uma srie de linhas com as entradas (no caso do xor, so 2 valores 0/1) e na linha de baixo a sada desejada (no caso do xor um valor nico podendo ser 0/1). O arquivo meu_xor.dat d um exemplo deste tipo de arquivo, onde contm 4 linhas assim: 0 0 0 => padro "0 0" de entrada que deve responder na sada com "0" O XOR tem 4 exemplos, por isso seguem mais 3 conjunto de linhas como a acima. Note que o arquivo .dat um arquivo texto e pode ser aberto direto no Notepad ou no Wordpad do Windows. ==== COMO CRIAR UM ARQUIVO .NET ************************** Para criar uma rede do tipo MLP com 3 camadas... Entre no JavaNNS e use a opo: Tools - Create - Layers => Crie o layer de entrada (input), a camada oculta (hidden)

e a camada de sada (output). Usual: Input use ativao do tipo Act_Identity Hidden use ativao do tipo Act_Logistic Output use ativao do tipo Act_Logistic (se for um classificador) ou Output use ativao do tipo Act_Identity+Bias (se for para uma tarefa de aproximao/regresso) Tools - Create - Connections => Use a opo Feed-Forward Salve a rede na opo SAVE AS. ======================= F. Osrio - Nov. 2006 ===============================================

Potrebbero piacerti anche