Escolar Documentos
Profissional Documentos
Cultura Documentos
INTELIGÊNCIA ARTIFICIAL
Técnicas de classificação
Nodos de Entrada
x1
w1 Nodo de
Saída
w2 y
x2 ∑
w3
x3 t=x
Perceptron
X1, X2, ..., Xn são os sinais de entrada
(estímulos)
W1, W2, ..., Wn, são os pesos (força da conexões
sinápticas).
Limitador t
◦ Define o limiar de separação de classes
O nível de atividade do neurônio é dado pela
soma ponderada das entradas e pesos:
a = w1X1 + w2X2 + ... + wpXp
A saída y é pode ser dada por:
Função de
1, se w1x1 + w2x2+w3x3-t>0 ativação
y=
0, se w1x1 + w2x2+w3x3-t<=0
Exemplo
Atributos Preditivos
Atributo de classe Nodos de Entrada
x1 x2 x3 y x1
0.3 Nodo de
1 0 0 -1 Saída
1 0 1 1 0.3 y
x2 ∑
1 1 0 1
1 1 1 1 0.3
0 0 1 -1 x3 t=0.4
0 1 0 -1 Função de
ativação
0 1 1 1
1, se 0.3x1 + 0.3x2+0.3x3-0.4>0
0 0 0 -1 y=
-1, se 0.3x1 + 0.3x2+0.3x3-0.4<0
Conjunto de Dados
Exemplo
Se x1=1, x2=1, x3=0 então y=1 porque o resultado
da soma ponderada subtraída pelo limitador é
positiva
(0.3x1)+(0.3x2)+(0.3x3) - 0.4 =
(0.3x1)+(0.3x1)+(0.3x0) - 0.4= 0.2
(0.3x1)+(0.3x2)+(0.3x3) - 0.4 =
(0.3x0)+(0.3x1)+(0.3x0) - 0.4= -0.1
Perceptron - Aprendizagem
Usa-se um conjunto de registros de
treinamento que dão a saída desejada.
Ou seja, registros conhecidos, ou com
rótulos de classe
Perceptron - Aprendizagem
De forma semelhante aos neurônios
biológicos, um perceptron aprende
ajustando os pesos das suas conexões
sinápticas.
x1 x2 x3 y x1
W1 Nodo de
1 0 0 -1 Saída
1 0 1 1 W2 y
x2 ∑
1 1 0 1
1 1 1 1 W3
0 0 1 -1 x3 t=0.4
0 1 0 -1 Função de
ativação
0 1 1 1
1, se 0.3x1 + 0.3x2+0.3x3-0.4>0
0 0 0 -1 y=
-1, se 0.3x1 + 0.3x2+0.3x3-0.4<0
Conjunto de Dados
Perceptron - Aprendizagem
Assim, durante a fase de aprendizagem os
parâmetros de peso w são ajustados até
que a saída do perceptron fique
consistente com as saídas reais dos
registros do conjunto de treinamento
1, se w1x1 + w2x2-t>=0
y=
0, se w1x1 + w2x2-t<0
A • B
wj = wj + (dj - yj ) • wj = wj + (dj - yj )
xj xj
wj = 0 + 0.1 (1 - 0).1
• wj = 0 + 0.1 (1 - 0).1
• wj = 0 + 0.1 (1).1
wj = 0 + 0.1 (1).1
• wj = 0 + 0.1 (1)
wj = 0 + 0.1 (1)
• wj = 0 + 0.1
wj = 0 + 0.1
• wj = 0.1
wj = 0.1
Exercício
AND
– Solução AND
Limiar = 0.2
A B Saída
Taxa de Aprendizagem = 0.1
0 0 0 A
0.1
0 1 0
T=0.
1 0 0 2
1 1 1
B 0.1
1, se w1x1 + w2x2-t>=0
y=
0, se w1x1 + w2x2-t<0
1, se w1x1 + w2x2-t>=0
y=
0, se w1x1 + w2x2-t<0
A • B
wj = wj + (dj - yj ) • wj = wj + (dj - yj )
xj xj
wj = 0 + 0.1 (1 - 0).0
• wj = 0 + 0.1 (1 - 0).1
• wj = 0 + 0.1 (1).1
wj = 0 + 0.1 (1).0
• wj = 0 + 0.1 (1)
wj = 0 + 0.1 (0)
• wj = 0 + 0.1
wj = 0 + 0
• wj = 0.1
wj = 0.0
Exercício – Solução OR
OR
Limiar = 0.1
A B Saída Taxa de Aprendizagem = 0.1
0 0 0 A
0.0
0 1 1
T=0.
1 0 1 1
1 1 1
B 0.1
1, se w1x1 + w2x2-t>=0
y=
0, se w1x1 + w2x2-t<0
• A • B
• wj = wj + (dj - yj ) • wj = wj + (dj - yj )
xj xj
• wj = 0 + 0.1 (1 - 0).1 • wj = 0.1 + 0.1 (1 - 0).0
• wj = 0 + 0.1 (1).1 • wj = 0.1 + 0.1 (1).0
• wj = 0 + 0.1 (1) • wj = 0.1 + 0.1 (0)
• wj = 0 + 0.1 • wj = 0.1 + 0
• wj = 0.1 • wj = 0.1
Exercício – Solução OR
OR Limiar = 0.1
A B Saída Taxa de Aprendizagem = 0.1
0 0 0 A
0.1
0 1 1 T=0.
1 0 1 1
1 1 1 0.1
B
1, se w1x1 + w2x2-t>=0
y=
0, se w1x1 + w2x2-t<0
Y=sign(w3x3+w2x2+w1x1-t)
Perceptron
Perceptron é uma rede neural simples.
Porque possui apenas uma camada de nodos - a
camada de saída - que executa as operações
matemáticas complexas
Nodos de Entrada
x1
w1 Nodo de
Saída
w2 y
x2 ∑
w3
x3 t=x
Exemplo de Perceptron
Perceptron
Perceptron é usado apenas para problemas
linearmente separáveis, onde registros de dados são
separados em duas regiões ou classes (Ex.: 1,-1)
x1 x2 x3 y
1 0 0 -1 1.5-
1 0 1 1 1- X3
1 1 0 1 0.5-
1 1 1 1 -1.5
0- X1
0 0 1 -1 X2 -1
-0.5
0 1 0 -1 -0.5-
0 0.5 -0
1 1.5
0 1 1 1
0 0 0 -1
Perceptron
Se o problema lida com dados não
separáveis linearmente, como o problema
XOR, o perceptron não vai conseguir
classificá-los
O perceptron não pode encontrar a
solução certa para separar os dados
porque não há um hiperplano linear que
possa separar perfeitamente os mesmos.
Problema XOR
Conjunto de Dados
1.5
x1 x2 y
0 0 -1 1
1 0 1
0 1 1
x2 0.5
1 1 -1
-0.5
-0.5 0 0.5 1 1.5
x1
Um hiperplano linear não consegue separar as duas classes
Problema XOR
No problema XOR, os dados podem ser
classificados usando dois hiperplanos que
particionam o conjunto de dados de entrada
em suas respectivas classes
Este problema pode ser abordado usando uma
rede neural artificial multicamadas
É possível combinar vários perceptrons lineares
para gerar redes neurais multicamadas
Perceptrons de múlticamadas
No caso do problema XOR
◦ Podemos pensar numa rede onde uma
camada intermediaria com perceptrons que
tentam construir um dos dois hiperplanos
Enquanto que a camada de saída combina
os resultados dos perceptrons
Perceptrons de múlticamadas
Exemplo
Perceptrons de múlticamadas
Um perceptron de múltiplas camadas
possui uma estrutura mais complexa.
A rede pode conter diversas camadas
intermediárias entre as camadas de
entrada e de saída.
Contém três tipos de camadas:
1. camada de entrada
2. camada(s) intermediárias(s) ou ocultas(s)
3. camada de saída
Perceptrons de múlticamadas
Camada de
Entrada
Camada
Oculta
Camada de
Saída
Y
Problema XOR
x1 w13
n1 n3
w35
w14
n5 y
w23
x2 n2 n4 w45
w24
Perceptron de múlticamadas
Problema XOR
Conjunto de Dados
1.5
x1 x2 y
0 0 -1 1
1 0 1
0 1 1
x2 0.5
1 1 -1
-0.5
-0.5 0 0.5 1 1.5
x1
0.5
-0.5
-1 -0.5 0 0.5 1
Função Tangente
1
0.5
-0.5
-1 -0.5 0 0.5 1
Função de Sinal
1
0.5
-0.5
-1 -0.5 0 0.5 1
Aprendizagem Perceptrons de múltiplas camadas
INTELIGÊNCIA ARTIFICIAL
Técnicas de classificação