Baixe o app para aproveitar ainda mais
Prévia do material em texto
Nome do Aluno: Rubrica Curso: Engenharia Elétrica Disciplina: Inteligência Computacional Exercício 3 Professor Nome do Professor: Dr. Nilton Alves Maia 1) As redes Multi-Layer Perceptron (MLP) podem tratar problemas que não são linearmente separáveis? Explique. 2) Quais são as funções de ativação utilizadas nas redes MLP? 3) O algoritmo Backpropagation implementa um aprendizado supervisionado ou não-supervisionado? Explique. 4) Explique as duas fases do algoritmo backpropagation. 5) O algoritmo backpropagation apresenta dificuldades de aprendizado? Explique. 6) O que são mínimos locais? O que são mínimos globais? Explique. 7) O que é Overfitting? O que se pode fazer para evitar o Overfitting? Explique. 8) O que é Underfitting? Explique. 9) Considerando redes Multi-Layer Perceptrons (MLP) treinadas com o algoritmo Back Propagation, responda às seguintes questões: (a) Para que servem os termos Taxa de aprendizado e Momentum do algoritmo Back Propagation? Como e por que eles influenciam no aprendizado da rede neural? (b) Qual a diferença entre o treinamento BATCH e INCREMENTAL? Quais as vantagens e desvantagens de cada um? 10) Estude e teste o código em Matlab abaixo e depois responda as seguintes questões: (a) Qual a estrutura da rede neural? Desenhe uma figura que ilustre a estrutura da rede. (b) Quais as funções de ativação são utilizadas nas camadas escondida e de saída? (c) Qual o tipo de treinamento utilizado neste programa? BATCH ou INCREMENTAL? Explique. 12) O Programa abaixo implementa uma Rede Neural Artificial utilizando MLP com as entradas P e as saídas desejadas T. Estude e teste o programa. % Here is a problem consisting of inputs P and targets T that we would like to solve with a network. P = [0 1 2 3 4 5 6 7 8 9 10]; T = [0 1 2 3 4 3 2 1 2 3 4]; % Here a two-layer feed-forward network is created. The network's input ranges from [0 to 10]. The first layer has five % TANSIG neurons, the second layer has one PURELIN neuron. The TRAINLM network training function is to be used. net = newff([0 10],[5 1],{'tansig' 'purelin'}); % Here the network is simulated and its output plotted against the targets. Y = sim(net,P); plot(P,T,P,Y,'o') % Here the network is trained for 50 epochs. Again the network's output is plotted. net.trainParam.epochs = 50; net = train(net,P,T); Y = sim(net,P); plot(P,T,P,Y,'o') 13) Programe e treine uma rede MLP no MATLAB para reproduzir o funcionamento de uma porta XOR. Documente os resultados exibindo: (i) a curva de aprendizagem (ii) Os pesos e bias finais obtidos (iii) As saídas da RNA para as entradas binárias (x1 e x2) com os pesos e bias finais obtidos. 14) Seja o seguinte cadastro de pacientes: (a) Utilizando o Matlab, ensine uma rede do tipo MLP a distinguir pacientes potencialmente saudáveis de doentes. (b) Teste a rede para novos casos: 15) O Programa abaixo implementa uma Rede Neural Artificial utilizando MLP. Estude, teste e depois responda: clear all % clear all data and initializing % process of making a data set for MLP training %-------------------------------------------------- x=[-15 -10 -5 0 5 10 15]; % input for training y=0.05*x.^3-0.2*x.^2-3*x+20; % output for training %-------------------------------------------------- % Process of drawing the picture of trained MLP %-------------------------------------------------- x1=[-15:1:15]; y1=0.05*x1.^3-0.2*x1.^2-3*x1+20; figure(1); % making a new figure window plot(x,y,'b*',x1,y1,'b') % drawing the graph (x,y), (x1,y1) title('Training Vectors'); % a title of figure xlabel('Input Vector x'); % x label of figure ylabel('Target Vector y for trainning'); % y label of figure legend({'input point','desired output y=0.05*x^3-0.2*x^2-3*x+20'}) % legend of figure %-------------------------------------------------- % training the MLP Neural network using the newff toolbox function %----------------------------------- % input range : -15 ~ 15 % number of neurons of first hidden layer : 5, Log-Sigmoid Transfer function % number of neurons of second hidden layer : 5, Log-Sigmoid Transfer function % ouput layer : 1 Linear Transfer function net = newff([-15 15],[5 5 1],{'logsig' 'logsig' 'purelin'}); % define the MLP neural network architecture % ex) ------------------------------------------------- % MLP neural network with 10 neurons at single hidden layer % newff([-15 15],[10 1], {‘logsig’ ‘purelin’ } ) % MLP neural network with three hidden layers % newff([-15 15],[5 5 5 1], {‘logsig’ ‘logsig’ ‘logsig’ ‘purelin’ } ) %-------------------------------------------------- % Setting the parameters for training %-------------------------------------------------- net.trainParam.epochs = 10000; % Maximum epochs is 10000 ( iteration number of optimization ) net.trainParam.goal = 0.000001; % Error limit is 0.000001 %-------------------------------------------------- % training the MLP by using a training pattern %-------------------------------------------------- net = train(net,x1,y1); % training the MLP neural network by using a train function to draw the result making the test pattern %-------------------------------------------------- Test=[-15:0.1:15]; % making the input of test pattern Output=sim(net,Test); % simulate the MLP network by using a sim function % Output is the result of simulation %-------------------------------------------------- % drawing the figure of result of simulation %-------------------------------------------------- figure(2); plot(x,y,'b*',x1,y1,'b',Test,Output,'r') title('Testing MLP Network'); xlabel('Input Vector'); ylabel('Output'); legend({'Input point','Desired output','Test output'}) (a) O que faz o programa? 16) Uma cidade é cortada por um rio que provoca inundações sistemáticas. Diante desta situação é necessário implementarum sistema de previsão e alerta que possa fornecer os níveis previstos para um ponto de controle na cidade com antecedência de 12 horas. Desenvolver uma rede MLP para realizar a previsão do nível de água no posto de controle do rio que corta uma cidade. Considerar como entrada os níveis nos três postos de medição definidos e como saída o nível de água dentro da cidade 12 horas depois. As seis medições de nível de água que serão utilizadas para o treinamento da MLP são apresentadas a seguir: (a) Qual a arquitetura da MLP para resolver este problema? (b) Treine a rede MLP por pelo menos três ciclos. Calcule os erros obtidos. O número de ciclos foi suficiente para treinar a rede? (c) Qual a previsão do nível a ser atingido na cidade quando os postos 1, 2 e 3 indicarem respectivamente 0,70 m, 0,60m e 0,85m? Utilize os pesos determinados no fim do 3º ciclo. (d) Treine a rede MLP estabelecendo um número máximo de ciclos igual a 12. Calcule os erros obtidos. O número de ciclos foi suficiente para treinar a rede? e) Após o treinamento realizar a previsão do nível a ser atingido na cidade quando os postos 1, 2 e 3 indicarem respectivamente 0,70 m, 0,60m e 0,85m. Utilize os pesos determinados no fim do 12º ciclo. f) Treine a rede MLP estabelecendo um número máximo de ciclos igual a 150. Calcule os erros obtidos. O número de ciclos foi suficiente para treinar a rede? (g) Após o treinamento realizar a previsão do nível a ser atingido na cidade quando os postos 1, 2 e 3 indicarem respectivamente 0,70 m, 0,60m e 0,85m. Utilize os pesos determinados no fim do 150º ciclo.
Compartilhar