Redes Neurais No Matlab
Short Description
Download Redes Neurais No Matlab...
Description
UNIVERSIDADE FEDERAL DE SERGIPE CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA DEPAR DEPART TAMENTO DE ENGENHARIA ENGENHA RIA ELÉTRICA ELÉTRIC A ORIENTARDOR: ORIENTARDOR: PROF PRO F. CARLOS ALBERTO ALBERTO V. V. CARDOSO ALUNA: TARCIANA ALVES ALVES ALMEIDA ALM EIDA
REDES NEURAIS NO MATLAB
INTRODUÇÃO
DEFINIÇÕES: 1. Técnica inspirada no funcionamento do cérebro, onde neurônios artificiais, conectados em rede, são capazes de aprender e de generalizar. 2.Isso significa que se a rede aprende a lidar com um certo problema, e lhe é apresentado um similar, mas não exatamente o mesmo, ela tende a reconhecer esse novo problema, oferecendo a mesma solução.
Componentes do neurônio artificial –
–
–
As sinapses (entradas), com seus pesos associados A junção somadora; e A função de ativação.
wk0=bk (bias)
entrada fixa x0=+1
wk0
x1
wk1
sinais de entrada
x2
wk2
função de ativação uk
yk f(uk )
saída junção aditiva xm
wkm pesos sinápticos
Princípio de funcionamento A operação de um neurônio artificial se resume em: •
•
•
•
•
Sinais são apresentados à entrada (x 1 à xm); Cada sinal é multiplicado por um peso que indica sua influência na saída da unidade (w k); É feita a soma ponderada dos sinais que produz um nível de atividade (uk); A função de ativação f(u k) tem a função de limitar a saída e introduzir não-linearidade ao modelo. O bias bk tem o papel de aumentar ou diminuir a influência do valor das entradas.
Expressão Matemática do Neurônio Artificial Matematicamente a saída pode ser expressa por:
m yk f (uk ) f wkj x j bk j 1
Características Típicas de Redes Neurais Artificiais
Características Positivas
Capacidade de Aprendizado: RNA não são programadas, mas treinadas com padrões de
treinamento. Podem ser adaptadas através das entradas.
Paralelismo: RNA são massivamente paralelas e são portanto muito bem adequadas para
uma simulação/implementação em computação paralela.
Representação distribuída do conhecimento: O conhecimento é armazenado de forma
Tolerância à falhas: O sistema pode ser mais tolerante a falhas de neurônios individuais que
Armazenamento associativo da informação: Para um certo padrão de entrada a RNA
Robustez contra perturbações ou dados ruidosos: Quando treinadas para tanto as redes
distribuída em seus pesos. O que aumenta muito a tolerância do sistema a falhas de neurônios individuais; permite o processamento paralelo. algoritmos convencionais. A rede deve, no entanto, ser treinada para apresentar esta característica. Nem toda rede é automaticamente tolerante a falhas. fornece o padrão que lhe é mais próximo. O acesso não é feito por endereçamento. neurais são mais robustas a padrões incompletos
Características Típicas de Redes Neurais Artificiais Características Negativas
Aquisição de conhecimento só é possível através de aprendizado:
Principalmente devido à representação distribuída é muito difícil (exceção: rede de Hopfield para problemas de otimização) introduzir conhecimento prévio em uma RNA. Isto é muito comum em sistemas de IA simbólicos.
Não é possível a introspecção: Não é possível analisar o conhecimento ou
percorrer o procedimento para a solução,como é possível com os componentes de explicação de sistemas especialistas.
Difícil dedução lógica (seqüencial): É virtualmente impossível obter-se cadeias
de inferência lógica com redes neurais.
Aprendizado é lento: Principalmente redes completamente conectadas e quase todas as variantes dos algoritmos backpropagation são muito lentas.
Aplicações de redes neurais •
•
•
•
•
•
classificação de dado análise de imagens; análise de voz; análise de aroma e odor (nariz eletrônico); Reconhecimento de assinatura Reconhecimento de faces e outros biométricos
Criando Redes Neurais Existem vários tipos de rede neural. A mais comum é o modelo MLP (multi layer perceptron). ENTRADA
Camada 1
Camada 2
Camada 3
SAÍDA
Rede feedforward de Múltiplas Camadas (Multilayer Perceptron - MLP)
Treinamento da rede neural Durante o treinamento, a rede neural receberá a matriz de dados e o alvo. Todos os pesos de todos os neurônios serão modificados para obter a classificação desejada.
Exemplo 01
% cria a estrutura da RNA com um perceptron
% [min; max], número de neurônios net = newp([-2 2; -2 2], 1) P = *0 0; 0 1; 1 0; 1 1+’; % entradas T = [0 1 1 1]; % saídas figure; % cria nova figura plotpv(P, T); % plota as entradas/saídas lh = plotpc(net.IW{1}, net.b{1}) % plota linha que separa as classes hold on for cont=1:6, net = adapt(net, P, T); % treinamento lh = plotpc(net.IW{1}, net.b{1}, lh); drawnow; pause; Y = sim(net, P) % propagação end; hold off;
Criação e treinamento de um Percepton
Criação e treinamento de um Percepton
Criação e treinamento de um Percepton
Criação e treinamento de um Percepton
Exemplo 02 % cria uma rede BP para solucionar o problema do XOR P = [-1 -1; -1 1; 1 -1; 1 1]; % entradas T = [-1 1 1 -1]; % saídas net = newff([-1 1; -1 1], [2 1]); % criação da rede BP a = sim(net, P.’) net = train(net, P.’, T); a = sim(net, P.’)
TREINAMENTO a= 0.4012 0.6344 -0.5085 0.6298
a= -0.9996 0.9995 0.9996 -0.9985
Exemplo 03 FUNÇÃO SENO x = -pi:pi/16:pi; y = sin(x); plot(x,y); pause;
Criação e treinamento de uma rede BackPropagation % cria uma rede BP para aproximar a função seno % entradas podem variar de -pi até pi % 20 neurônios na camada oculta % 1 neurônio na camada de saída net = newff([-pi pi], [20 1]); a = sim(net, x); plot(x, a); pause; % a rede inicia com pesos aleatórios. Então...
Criação e treinamento de uma rede BackPropagation
Criação e treinamento de uma rede BackPropagation % treina a rede BP para aproximar a função seno net = train(net, x, y); a = sim(net, x); plot(x, a); pause;
Criação e treinamento de uma rede BackPropagation
Criação e treinamento de uma rede BackPropagation % repetindo para 500 épocas de treinamento net = init(net); % inicializa novamente os pesos net.trainParam.epochs = 500; net = train(net, x, y); a = sim(net, x); plot(x, a);
Criação e treinamento de uma rede BackPropagation
View more...
Comments