Departamento de Ciência da Computação
Por: Carlos Shacal • 12/8/2017 • Artigo • 572 Palavras (3 Páginas) • 106 Visualizações
Página 1 de 3
UFRJ - Instituto de Matemática – Departamento de Ciência da Computação
Curso de Bacharelado em Informática
Disciplina - Tópicos Especiais em Inteligência Computacional – Redes Neurais - 2003/2
Aula 13 – MLP com MatLab
Abaixo estão alguns comandos do MatLab para a criação, treinamento e utilização de MLP’s.
Para os comandos abaixo faremos a seguinte notação:
N – número de variáveis de entrada da MLP(X1, X2, ..., XN).
L – número de camadas da MLP.
- newff (R,[C1 C2 ... CL], {funcStr1,funcStr2, ..., funcStrL}, trainStr);
Onde R é uma matriz Nx2, onde número de linhas desta matriz é igual a quantidade de variáveis de entrada da MLP, e cada linha de índice i indica na 1a coluna o valor mínimo que a variável i pode assumir, enquanto que a 2a coluna indica o valor máximo, assim como no caso do perceptron e do adaline.
O vetor [C1 C2 ... CL] contém a quantidade de neurônios para cada uma das L camadas. Ci – quantidade de neurônio da i-ésima camada.
O vetor célula {funcStr1,funcStr2, ..., funcStrL} contém o nome das funções de propagação de cada uma das L camadas. O valor default para as funções de propagação é ‘tansig’ (tangente hiperbólica). funcStri – string que corresponde ao nome da função de propagação da i-ésima camada.
A variável trainStr corresponde ao nome do algoritmo de treinamento a ser usado. O valor default é ‘trainlm’.
A função newff possui outros parâmetros, mas estes são os mais importantes para o escopo da matéria. - sim – Após a criação da MLP, podemos utilizá-lo através desta função. A forma mais simples de se usar é a seguinte, resp = sim(net,P);. Onde:
net – é a estrutura que contém a MLP criada pela função newff.
P – é uma matriz de dimensão NxK, onde cada coluna da matriz corresponde a um vetor de entrada e K corresponde ao número de padrões de entrada.
resp – é a saída dos neurônios da MLP contido em net para cada entrada contida em P. Sendo assim, resp será uma matriz do tipo MxK, aonde cada coluna de índice i corresponde à saída de cada neurônio para a entrada contida na coluna de índice i da matriz P. Por isso o número de colunas de resp é igual ao de P. O funcionamento é análogo ao do Perceptron e ADALINE. - train – Esta função treina a MLP para executar uma determinada tarefa. Apesar de poder ser chamada de maneiras diferentes, a forma mais simples é, netTreinada = train(net,P,T). onde net e P são definidos como nos itens anteriores e T é uma matriz MxK aonde cada coluna contém a saída desejada para a entrada contida na mesma coluna na matriz P. A função train retorna a nova rede treinada.
O treinamento, como vimos em aula, é um processo iterativo e contém alguns parâmetros, como taxa de aprendizado, número máximo de iterações, momentum e erro máximo desejado.
O número máximo de iterações pode ser configurado no próprio net através do campo net.trainParam.epochs (número de épocas), basta modificarmos este campo para o valor máximo de iterações desejado.
O erro máximo desejado pode ser modificado no campo net.trainParam.goal, o valor deste campo é o valor máximo que o erro quadrático pode assumir.
A taxa de aprendizado é configurada no campo net.trainParam.lr.
O momentum é configurado no campo net.trainParam.lm.
Com a função train é possível utilizar o método de treinamento usando uma base de validação, como visto em aula.
Demos interessantes:
1) Generalization
2) Steepest descent backpropation
...
Disponível apenas no TrabalhosGratuitos.com