Upload
internet
View
111
Download
9
Embed Size (px)
Citation preview
EE-214/2011
Neurônio
a.5
.5
x1x2
-1
.25
x3
a
.5
.5
x1x2
-1
.25
-1
.25
x3
.3
Perceptron AND
• Entradas 0 or 1
• Saída é 1 quando ambos x1 e x2 são 1
1
0
10
x1
x2
.5*0+.5*0+.75*-1= -.75 output = 0
.5*1+.5*1+.75*-1= .25 output = 1
.5*1+.5*0+.75*-1= -.25 output = 0
a.5
.5
x1
x2
-1
.75
aa.5
.5
.5
.5
x1
x2
x1
x2
-1
.75
-1
.75
EE-214/2011
Perceptron OR
1
0
10
x1
x2
.5*0+.5*0+.25*-1= -.25 output = 0
.5*1+.5*1+.25*-1= .75 output = 1
.5*1+.5*0+.25*-1= .25 output = 1
aa.5
.5
.5
.5
x1
x2
x1
x2
-1
.25
-1
.25• Entradas 0 or 1
• Saída é 1 quando pelo menos
um dos dois, x1 ou x2 é 1
EE-214/2011
EE-214/2011
Discriminante Linear via Perceptron
clear all
P = [-1 -1 1 1; -1 1 -1 1];T = [0 0 0 1];
net=newp(minmax(P),1);net.trainParam.epochs = 20;net = train(net,P,T);
plotpv(P,T);plotpc(net.IW{1},net.b{1});
EE-214/2011
Perceptron XOR
1
0
10
x1
x2
• Entradas 0 or 1
• Saída é 1 quando somente
um dos dois, x1 ou x2 é 1
???
a.5
.5
x1
x2
-1
???
aa.5
.5
.5
.5
x1
x2
x1
x2
-1
Não separável por hiperplano
Tentar Associaçõesde Neurônios
EE-214/2011
Timeline
• 1943 – Warren S. McCulloch e Walter H. Pitts, modelo de neurônios com limiares binários
• 1957 – Frank Rosenblatt, classe de máquinas com aprendizado denominados perceptrons
• 1969 – Marvin Minsky e Seymour Papert – apresentam o problema do XOR.
• 1980’s – David E. Rumelhart, Geoffrey E. Hinton e Ronald J. Williams, generalized delta rule for learning by back-propagation para treinamento de MLP
EE-214/2011
O.5
-.5
.75
.5
.5
.5
.5
.25 OR
AND
x1
x2
aa.5
.5
.5
.5
x1
x2
x1
x2
-1
.25
-1
.25
a.5
.5
x1
x2
-1
.75
aa.5
.5
.5
.5
x1
x2
x1
x2
-1
.75
-1
.75
1
0
10
x1
x2
1
0
10
x1
x2
EE-214/2011
Redes Neurais Artificiais
Camada 1
Camada 3
Camada 2
Camada 1
Camada 3
Camada 2
EE-214/2011
Tipos de Redes
• Perceptron Simples• Perceptron Multicamadas• Redes de Base Radial• Redes de Hopfield• SOM (Kohonen)• Types of neural networks• Recurrent network• The echo state network • Stochastic neural networks• Boltzmann machine• Modular neural networks• Committee of machines• Associative neural network (ASNN)• Instantaneously trained networks• Spiking neural networks (SNNs) • Neuro-fuzzy networks• ART• Grossberg
Kohonen Hopfield
ART
MLP
Elman
EE-214/2011
Cérebro Humano
• Número de Neurônios: 4 x 1010 a 1011 • Número de Conexões: até 104 per neuron • Taxa de Mortalidade de Neurônios: 105 per day • Taxa de Aumento de Neurônios: ~0• Velocidade nas Sinapses: 1 kHz (computer 3.0 GHz)• Reestruturação: Bebê < 2anos 106 connections/s• Consumo de Energia: 10-16 J/operação/s (computador
10-6)
• Adaptação por meio de aprendizado• Comportamento sensível ao contexto• Tolerância a incertezas• Capacidade de manipular informações incompletas• Grande capacidade de memória• Capacidade de processamento em tempo real
EE-214/2011
Vantagens de Redes Neurais Artificiais
• A prendizado a partir de dados, sem necessidade de Engenheiro de Conhecimentos • Capacidade de generalização • Capacidade de tratar multicolinearidade• Obtenção de modelos a partir de dados ruidosos • Obtenção de modelos a partir de dados incompletos• Permite tratar modelos não lineares• Permite tratar dados discontínuos• Sem dependência do tipo de distribuição • Computação simples em arquitetura massivamente paralela• Processamento rápido no modo de aplicação• Apresenta conhecimento distribuído• Tolerante a falhas nos nós• Pode ser dinâmico
EE-214/2011
• Dificuldade de interpretação (caixa preta) • Dificuldade de debug, por causa da representação distribuída • Treinamento pode ser lento • Dificuldade em definir topologia• Treinamento pode falhar por captura em um mínimo local• O problema pode não ser descritível em termos de números
Principais Desvantagens de Redes Neurais Artificiais
Caixa Preta
Entradas Saídas
EE-214/2011
Aplicações de RNA
• Classificação• Agrupamento • Aproximação de funções• Previsão• Otimização• Memória endereçável por conteúdo• Controle• outros ...
EE-214/2011
Aplicações de RNA
• Classificação• Agrupamento • Aproximação de funções• Previsão• Otimização• Memória endereçável por conteúdo• Controle• outros ...
A tarefa de classificação de padrões é atribuir a das classes pré-especificadas um objeto ou dado (como forma de onda vocal ou símbolo
manuscrito) representado por um vetor de caracteristicas.
EE-214/2011
Aplicações de RNA
• Classificação• Agrupamento • Aproximação de funções• Previsão• Otimização• Memória endereçável por conteúdo• Controle• outros ...
• O agrupamento (clustering) consiste em colocar os padrões similares em um mesmo grupo.
EE-214/2011
Estrutura XORClasses
Não-ConvexasConfigurações
Possíveis
1 camada
2 camadas
3 camadas
A
AB
B
A
AB
B
A
AB
B
BA
BA
BA
Estruturas de RNA Requeridas para Separação
EE-214/2011
Aplicações de RNA
• Classificação• Agrupamento • Aproximação de funções• Previsão• Otimização• Memória endereçável por conteúdo• Controle• outros ...
Dado um conjunto de N pares entrada-saída, (x1, y1), (x2,y2), ..., (xN,yN), gerados por uma função desconhecida f(x), sujeito a ruído, a tarefa da
aproximação de função é achar uma estimativa, fRNA(x,W).
-3 -2 -1 0 1 2 3-4
-3
-2
-1
0
1
2
3
4Pol. grau = 30 (Pol. orig. grau = 5), No de pontos = 31
yk
xk
f(x) + ruído
fRNA(x,W)
EE-214/2011
Aplicações de RNA
• Classificação• Agrupamento • Aproximação de funções• Previsão• Otimização• Memória endereçável por conteúdo• Controle• outros ...
Dado um conjunto de N amostras (y(t1), y(t2), ..., y(tN)) de uma sequência no tempo, estimar o valor de y(tN+k), k > 0.
0 5 10 15 20 25 300.5
1
1.5
2
2.5
3
3.5
4
4.5
5
x
yPrevisão
y
t
EE-214/2011
Aplicações de RNA
• Classificação• Agrupamento • Aproximação de funções• Previsão• Otimização• Memória endereçável por conteúdo• Controle• outros ...
O problema de otimização consiste em selecionar um ponto de um conjunto (de pontos viáveis) que resulta no melhor valor de uma função objetivo.
O ponto pode pertencer a Rn ou em espaço de funções como L2 (controle ótimo).A função objetivo J(.) pode ser custo (min) ou retorno (max).O conjunto de pontos viáveis é caracterizado por equações h(x) ou inequações g(x).
min J(x)
s.a.
h(x) = 0g(x) 0
x X
EE-214/2011
Aplicações de RNA
• Classificação• Agrupamento • Aproximação de funções• Previsão• Otimização• Memória endereçável por conteúdo• Controle• outros ...
Pelo Endereço
EndereçoConteúd
o
0000 1010110
0001 1100101
0010 1000111
0011 0010100
...
1111 0101111
Endereço Conteúdo
0000 1010110
0001 1100101
0010 1000111
0011 0010100
...
1111 0101111
Pelo Conteúdo
10xx111Existe algum dado do tipo ?
EE-214/2011
EE-214/2011
Aplicações de RNA
• Classificação• Agrupamento • Aproximação de funções• Previsão• Otimização• Memória endereçável por conteúdo• Controle• outros ...
Pelo Endereço
EndereçoConteúd
o
0000 1010110
0001 1100101
0010 1000111
0011 0010100
...
1111 0101111
Endereço Conteúdo
0000 1010110
0001 1100101
0010 1000111
0011 0010100
...
1111 0101111
Pelo Conteúdo
10xx111Existe algum dado do tipo ?
Search
EE-214/2011
Aplicações de RNA
• Classificação• Agrupamento • Aproximação de funções• Previsão• Otimização• Memória endereçável por conteúdo• Controle• outros ...
Dado um sistema dinâmico descrito por
onde u(t) é a entrada do sistema e y(t) é a saída, o problema de controle consiste em obter uma lei de controle u(t) que faça o sistema evoluir conforme especificações desejadas.
)t,u,x(hy
x)t(x
t,u,xfdt
dx
00
Mecanismode Ajuste
Plantar1
r2
u1
u2
y1
y2
+––
+
Controlador
EE-214/2011
EE-214/2011
Métodos de Treinamento (Aprendizado)
• Particionar os dados em:– Conjunto de Treinamento– Conjunto de Teste– Conjunto de Validação
• Ajustar os Pesos– Variar os pesos de modo que resultem em diminuição do erro na saída
para o dados do conjunto de treinamento.– Se o erro na saída para o dados do conjunto de teste começar a
aumentar, terminar o treinamento.– Verificar se a rede obtida produz bons resultados para o cojunto de
validação.• Overfitting: A rede ajustou-se ao ruído• Generalização: Produz resultados adequados para dados não utilizados no
treinamento (por exemplo, os do conjunto de teste).
Treinamento Supervisionado de RNA
EE-214/2011
Métodos de Otimização
• Back Propagation (mais utilizado)• Método dos Momentos• Métodos Superlineares (Newton, Kalman)• Algoritmos Bioinspirados (p.ex., Genético)• Poliedros Flexíveis• Otimização Multi-Objetivos• ...
EE-214/2011
Algoritmo Back-Propagation
1. Inicializar os pesos da rede (por exemplo, aleatoriamente)2. While (not_critério_parada)
For i = 1:Num_Amostras_Entrada_Saída
forward pass: Calcular saída Oi para entrada Xi
Calcular ei = (Ti - Oi) onde Ti é o target
backward pass: Calcular wj,i para cada camada j end
atualizar pesos
EE-214/2011
Aplicações de RNA
• Classificação• Agrupamento • Aproximação de funções• Previsão• Otimização• Memória endereçável por conteúdo• Controle• outros ...
EE-214/2011
EE-214/2011
Previsão de Séries Temporais
Previsão de Séries Temporais
Dado um conjunto de N amostras (y(t1), y(t2), ..., y(tN)) de uma sequência no tempo, estimar o valor de y(tN+k), k > 0.
0 5 10 15 20 25 300.5
1
1.5
2
2.5
3
3.5
4
4.5
5
x
y
Previsão
y
t
EE-214/2011
Propriedade de Aproximação Universal: Dada uma função f(x) sobre umdomínio X Rm e > 0, é possível construir fRNA(x,W) de modo que:
| f(x) - fRNA(x,W) | < , x X
RedeNeural
x1x2xn
yRNA = fRNA(x,W)
W
FunçãoAlvo
x1x2xn
y = f (x) x y
Propriedade de Aproximação Universal
EE-214/2011
EE-214/2011
Propriedade de Aproximação Universal
•Barron, A. R.: Universal approximation bounds for superpositions of a sigmoidal function, IEEE Transactions on Information Theory, 39, 1993, pp. 930-945. •Cybenko, G.: Approximation by superposition of a sigmoidal function, Mathematics of Control, Signals, and Systems, 2, 1989, pp. 303-314. •K. Funahashi, On the approximate realization of continuous mappings by neural networks, Neural Networks, v.2 n.3, 1989, pp.183-192.•Hecht-Nielsen, R.: Kolmogorov's mapping neural network existence theorem, In: International Conference on Neural Networks, vol. 3, IEEE, Washington DC, 1989, pp. 11-14. •K. Hornik , M. Stinchcombe , H. White, Multilayer feedforward networks are universal approximators, Neural Networks, v.2 n.5, 1989 , pp.359-366.•J. Park , I. W. Sandberg, Universal approximation using radial-basis-function networks, Neural Computation, v.3, n.2, Summer 1991, pp.246-257.•F. Scarselli , A. C. Tsoi, Universal approximation using feedforward neural networks: a survey of some existing methods, and some new results, Neural Networks, v.11 n.1, jan, 1998, pp.15-37.
EE-214/2011
% Se x é nx1 e há N pares (x,y)%% Fornecer entradas P na forma% [x1(1) x1(2) ... x1(N) ; ... ; xn(1) xn(2) ... xn(N)]%% Fornecer saida ou target T na forma% [y(1) ... y(N)]
P=...;T=...;
% Especificar estrutura da rede: no caso ‘new feed forward’net = newff(minmax(P),[2 15 1]);% Treinamento com as entradas P e saidas Tnet.trainParam.epochs = 200;net = train(net,P,T);% Calcula saidas da rede para as entradas PY = sim(net,P);
Alternativa 1 para Previsão de Séries TemporaisAproximação de Funções
EE-214/2011
-3 -2 -1 0 1 2 3-4
-3
-2
-1
0
1
2
3
4Pol. grau = 30 (Pol. orig. grau = 5), No de pontos = 31
Alternativa 1 para Previsão de Séries TemporaisAproximação de Funções
EE-214/2011
% Supondo que os pares y(k),x(k) já estão definidos
> coef = polyfit(x,y,10)
> plot(x,y,’r’)
> hold on
> ychapeu = polyval(coef,x)
> plot(x,ychapeu)
Alternativa 2 para Previsão de Séries TemporaisAjuste de Polinômio
yk = fRNA (yk-1,yk-2,...,yk-n,xk,xk-1,xk-2,...,xk-m)
z-1 z-1 z-1
z-1 z-1 z-1
xk xk-
1
xk-2 xk-
n
xk-n+1
RedeNeural
yk
yk-
1
yk-
2
yk-
n
yk-
n+1
Alternativa 3 para Previsão de Séries TemporaisNARMA via RNA
EE-214/2011
EE-214/2011
Alternativa 4 para Previsão de Séries TemporaisARMA
ARMAX Computes the prediction error estimate of an ARMAX model. M = ARMAX(Z,[na nb nc nk]) or M = ARMAX(Z,'na',na,'nb',nb,'nc',nc,'nk',nk) M : returns the estimated model in an IDPOLY object format along with estimated covariances and structure information. For the exact format of M see also help IDPOLY. Z : The estimation data in IDDATA object format. See help IDDATA [na nb nc nk] are the orders and delays of the ARMAX model A(q) y(t) = B(q) u(t-nk) + C(q) e(t) If the data have several inputs, nb and nk are row vectors with lengths equal to the number of input channels.
EE-214/2011
Agrupamento eClassificaçãode Padrões
Agrupamento e Classificação
A tarefa de classificação de padrões é atribuir a das classes pré-especificadas um objeto ou dado (como forma de onda vocal ou símbolo
manuscrito) representado por um vetor de caracteristicas.
A
V
TACMOT
J,B
BAT
Imot
,
EE-214/2011
Agrupamento e Classificação
A tarefa de classificação de padrões é atribuir a das classes pré-especificadas um objeto ou dado (como forma de onda vocal ou símbolo
manuscrito) representado por um vetor de caracteristicas.
A
V
TACMOT
J,B
BAT
Imot
,
Imot
E
B
C
Q
T
TT
EE
EE
NN
N
N
N
BB B
B
C
Q QQ
Q
E – Escova com RN – NominalB – Bateria com VC – CurtoT – Eixo TravadoQ – Eixo Quebrado
Imot
E
B
C
Q
T
TT
EE
EE
NN
N
N
N
BB B
B
C
Q QQ
Q
Imot
E
B
C
Q
T
TT
EE
EE
NN
N
N
N
BB B
B
C
Q QQ
Q
E – Escova com RN – NominalB – Bateria com VC – CurtoT – Eixo TravadoQ – Eixo Quebrado
EE-214/2011
EE-214/2011
% Agrupamento Hierárquico - Dendrograma>> y=pdist(x,'euclidean');>> z=linkage(y,'average');>> dendrogram(z)
% k-means>> [idx,c]=kmeans(x,2)
% Fuzzy c-means>> [CENTER, U, OBJ_FCN] = FCM(x,N_CLUSTER)
% Expectation-Maximization>> [W,M,V,L] = EM_GM(x,3,[],[],1,[])
% Competitive Network >> net=newc([0 10 ; 0 20],3);>> net=train(net,x’);>> xsim = sim(net,x’);>> Yc = vec2ind(xsim);
% SOM>> net=newsom([0 10;0 20],[13],'gridtop','dist',0.9,200,0.01,0); >> net.trainParam.epochs=100;>> net=train(net,x’);
Alternativas para Agrupamento: Métodos já vistos
EE-214/2011
0 1 2 3 4 5 6 7 8 92
4
6
8
10
12
14
16
x1
x2
-2 0 2 4 6 8 102
4
6
8
10
12
W(i,1)
W(i,2
)
Weight Vectors
0 1 2 3 4 5 6 7 8 92
4
6
8
10
12
14
16
x1
x2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
x1-norm
x2-n
orm
EE-214/2011
Muito Obrigado!