guia_ia5

5
CENTRO UNIVERSITÁRIO DO LESTE DE MINAS GERAIS – UnilesteMG Disciplina: Introdução à Inteligência Artificial Curso: Sistemas de Informação Professor: Luiz Carlos Figueiredo 1 GUIA DE LABORATÓRIO RN 01 Assunto: Neurônio Binário - Perceptron Objetivo: Apresentar o funcionamento de uma rede neural binária do tipo Perceptron, bem como sua implementação no MatLab PERCEPTRON a = hardlim (w*p + b) Passos para criar, inicializar, simular e treinar uma rede usando o MatLab. 1. Criar a rede com a função NNT2P; 2. Inicializar a rede com a função INIT; 3. Treinar a rede usando um dos seguintes métodos: a. Passo a passo i. Simular o perceptron com a função SIM; ii. Calcular o erro; iii. Calcular os ajustes de peso e polarização com a função LEARNP; b. Treinar a rede com um conjunto de entradas e saídas usando a função TRAIN; 4. Usar a rede para calcular a saída para um determinado conjunto de entradas com a função SIM. Função NNT2P Sintaxe rede = nnt2p(pr,w,b,tf,lf)

Upload: lslima

Post on 12-Sep-2015

215 views

Category:

Documents


1 download

DESCRIPTION

dad

TRANSCRIPT

  • CENTRO UNIVERSITRIO DO LESTE DE MINAS GERAIS UnilesteMG Disciplina: Introduo Inteligncia Artificial

    Curso: Sistemas de Informao

    Professor: Luiz Carlos Figueiredo

    1

    GUIA DE LABORATRIO RN 01 Assunto: Neurnio Binrio - Perceptron Objetivo: Apresentar o funcionamento de uma rede neural binria do tipo Perceptron,

    bem como sua implementao no MatLab

    PERCEPTRON

    a = hardlim (w*p + b) Passos para criar, inicializar, simular e treinar uma rede usando o MatLab.

    1. Criar a rede com a funo NNT2P; 2. Inicializar a rede com a funo INIT; 3. Treinar a rede usando um dos seguintes mtodos:

    a. Passo a passo i. Simular o perceptron com a funo SIM; ii. Calcular o erro; iii. Calcular os ajustes de peso e polarizao com a funo

    LEARNP; b. Treinar a rede com um conjunto de entradas e sadas usando a funo

    TRAIN; 4. Usar a rede para calcular a sada para um determinado conjunto de entradas

    com a funo SIM. Funo NNT2P Sintaxe rede = nnt2p(pr,w,b,tf,lf)

  • CENTRO UNIVERSITRIO DO LESTE DE MINAS GERAIS UnilesteMG Disciplina: Introduo Inteligncia Artificial

    Curso: Sistemas de Informao

    Professor: Luiz Carlos Figueiredo

    2

    Descrio NNT2P(PR,W,B,TF,LF) utiliza estes argumentos, PR - matriz Rx2 de valores min e max para R entradas. W - Matriz SxR de pesos. B - Sx1 vetor de polarizao TF Funo de ativao, default = 'hardlim'. LF Funo de aprendizado, default = 'learnp'. e retorna um perceptron. A funo de ativao TF pode ser HARDLIM ou HARDLIMS. A funo de aprendizado LF pode ser LEARNP ou LEARNPN. Uma vez que a rede seja atualizada ela pode ser simulada, inicializada, adaptada ou treinada com adapted, or trained with SIM, INIT, ADAPT, e TRAIN. Funo SIM: Simula uma rede neural. Sintaxe [Y,Pf,Af,E,perf] = sim(rede,P,Pi,Ai,T) [Y,Pf,Af,E,perf] = sim(rede,{Q TS},Pi,Ai,T) [Y,Pf,Af,E,perf] = sim(rede,Q,Pi,Ai,T) Descrio SIM simula redes neurais. [Y,Pf,Af,E,perf] = SIM(rede,P,Pi,Ai,T) usa, rede - Estrutura da rede neural com parmetros. P - Entradas para a rede. Pi - Condies iniciais de atrasos nas entradas, default = zeros. Ai - Condies de atrasos iniciais na camada, default = zeros. T - Valor desejado para a sada da rede, default = zeros. e retorna: Y - Sadas calculadas. Pf - Condies finais de atraso para as entradas. Af - Condies finais de atraso para a camada. E - Erro da rede. perf Desempenho da rede. Note que os argumentos Pi, Ai, Pf, e Af so opcionais e precisam apenas serem utilizados em redes que tem atrasos nas entradas ou nas camadas. Exemplos Aqui NEWP usada para criar um perceptron com duas entradas (com faixa de [0 1]), num nico neurnio.

  • CENTRO UNIVERSITRIO DO LESTE DE MINAS GERAIS UnilesteMG Disciplina: Introduo Inteligncia Artificial

    Curso: Sistemas de Informao

    Professor: Luiz Carlos Figueiredo

    3

    net = newp([0 1;0 1],1); Aqui o perceptron simulado usando apenas 2 entradas, um conjunto de 3 vetores de 2 entradas, e uma sequncia de 3 vetores. p1 = [.2; .9]; a1 = sim(net,p1) p2 = [.2 .5 .1; .9 .3 .7]; a2 = sim(net,p2) p3 = {[.2; .9] [.5; .3] [.1; .7]}; a3 = sim(net,p3) FUNO INIT Inicializa uma rede neural. Sintaxe rede = init(rede) Descrio INIT(rede) retorna uma rede neural REDE com valores de pesos e polarizao atualizados de acordo com a funo de inicializao da rede, indicada por NET.initFcn, e os valores dos parmetros, indicados por NET.initParam. Exemplos, Aqui um perceptron criado com 2-entradas (com faixa de 0 a 1, e -2 a 2) e 1 neurnio. Uma vez que ele criado podemos mostrar os pesos e polarizao do neurnio. net = newp([0 1;-2 2],1); net.iw{1,1} net.b{1} O treinamento do perceptron altera seus pesos e polarizao. P = [0 1 0 1; 0 0 1 1]; T = [0 0 0 1]; net = train(net,P,T); net.iw{1,1} net.b{1} INIT reinicializa os valores de pesos e polarizao. net = init(net); net.iw{1,1} net.b{1} Os pesos e polarizaes so zeros outra vez, os quais eram os valores iniciais usados pelo perceptron (veja NEWP).

  • CENTRO UNIVERSITRIO DO LESTE DE MINAS GERAIS UnilesteMG Disciplina: Introduo Inteligncia Artificial

    Curso: Sistemas de Informao

    Professor: Luiz Carlos Figueiredo

    4

    FUNO LEARNP

    Calcula as variaes nos pesos e polarizaes de um conjunto de entradas P e o erro e ( e = t-a ), onde t a sada objetivada e a a sada obtida com os pesos atuais)

    Regra de treinamento do Perceptron

    Erro = Sada objetivada - sada calculada pelo perceptron Watual = Wanterior + W batual = banterior + b; Se Erro = 0, ento W = 0;

    b = 0; Se Erro =1, ento

    W = p; b = Erro;

    Se Erro = -1, ento

    W = - p; b = Erro;

    Em resumo: W = Erro * p; b = Erro;

    Exemplo:

    A = sim ( rede, P ) E = T-A, [dW, db] = learnp (P, E) w = w + dw b = b + db

    LEARNP

    Regra de aprendizado do Perceptron.

    [DW,DB] = LEARNP(P,E) P - RxQ matriz dos vetores de entrada. E - SxQ matriz dos vetores de erro. Retorna: DW - matriz de alteraes para os pesos. DB - vetor de alteraes para a polarizao (opcional). [DW,DB] = LEARNP(P,A,T) A - RxQ matriz dos vetores de sada. T - SxQ matriz dos vetores de sadas objetivadas.

  • CENTRO UNIVERSITRIO DO LESTE DE MINAS GERAIS UnilesteMG Disciplina: Introduo Inteligncia Artificial

    Curso: Sistemas de Informao

    Professor: Luiz Carlos Figueiredo

    5

    Retorna alteraes para pesos e polarizaes. FUNO TRAIN

    Se sim e learnp so repetidamente usadas parta apresentar entradas a um PERCEPTRON, e para mudar os pesos a polarizaes do PERCEPTRON de acordo com o erro, pode-se achar uma soluo para o problema A funo Train implementa este loop de treinamento Exemplo

    Tp = [disp. freq. max epoch] [ W, b, lp, tr ]= train (rede, P, T, tp )

    TRAIN

    Treina uma camada de um perceptron usando a regra do perceptron.

    [rede, TR,Y,E] = TRAIN(rede,P,T,TP) rede estrutura do perceptron P - RxQ matriz dos vetores de entrada. T - SxQ matriz dos vetores objetivados de sada. TP - Parmetros para treinamento (opcional). Retorna: Rede perceptron com novos pesos e polarizao TR - Registros do treinamento: erros num vetor linha. Y Sada do Perceptron; E Erro do Perceptron.

    Exerccios: 1) Rodar e observar o funcionamento exemplos apresentados neste texto. 2) Treinar um PERCEPTRON para executar a mesma funo de uma porta ou A B S P=[ 0 0 1 1 0 0 0 0 1 0 1 ] 0 1 1 1 0 1 T = [ 0 1 1 1 ] 1 1 1