Post on 03-Nov-2018
1
Universidade de São PauloInstituto de Ciências Matemáticas e de Computação
Francisco A. Rodrigues
Departamento de Matemática Aplicada e Estatística - SME
2
Conceitos básicos
• Naive Bayes
• K-vizinhos mais próximos
• Redes Neurais
• Outros classificadores
• Combinação de classificadores
4
• Se em uma dimensão para N pontos temos N dados,
em l dimensões termos Nl dados.
• Assim, se l é grande, a estimação de uma fdp
multidimensional é difícil de se obter.
• Logo, devemos fazer algumas concessões acerca da
precisão que esperamos obter na estimação de uma
fdp.
Naive Bayes
5
• Uma das suposições que podemos fazer é que os
atributos individuais são estatisticamente
independentes. Assim:
• Para fazer essa estimação será necessário lN (l
pontos para cada fdp 1D) ao invés de Nl pontos.
Naive Bayes
6
• O classificador Naive Bayes associa o vetor de
atributos x à classe:
• Apesar da limitação em assumir independência dos
atributos, o classificador Naive Bayes é robusto e
apresenta boa performance para muitos dados reais.
Naive Bayes
9
Naive Bayes
• Naive Bayes no Weka:
@RELATION iris
@ATTRIBUTE sepallength REAL@ATTRIBUTE sepalwidth REAL@ATTRIBUTE petallength REAL@ATTRIBUTE petalwidth REAL@ATTRIBUTE class {Iris-setosa,Iris-versicolor,Iris-virginica}
@DATA5.1,3.5,1.4,0.2,Iris-setosa4.9,3.0,1.4,0.2,Iris-setosa4.7,3.2,1.3,0.2,Iris-setosa4.6,3.1,1.5,0.2,Iris-setosa5.0,3.6,1.4,0.2,Iris-setosa5.4,3.9,1.7,0.4,Iris-setosa...
13
• Os elementos das classes são pontos no Rn
• Em geral, os vizinhos são definidos por uma
distância, que pode ser a euclidiana
• ou outras métricas, como Mahalanobis.
k-vizinhos mais próximos (knn)
14
• Algoritmo:
• Identifique os k-vizinhos mais próximos do vetor de
atributos x que se quer classificar.
• Determine o número de vizinhos em cada classe.
• Classifique x com pertencente à classe que resultou
em um maior número de vizinhos.
k-vizinhos mais próximos (knn)
16
• Propriedades:
• A versão mais simples do método considera k=1, que é
conhecida como nearest neighbor rule (NN).
• Dado que o conjunto de treinamento seja relativamente
grande, pode-se provar que:
• Ou seja, o erro cometido na classificação é no máximo duas
vezes maior do que o classificador bayesiano, que é ótimo.
k-vizinhos mais próximos (knn)
17
• Propriedades:
• Para o caso de duas classes, pode-se mostrar que:
• Ou seja, quando k tende ao infinito, a performance do knn
tende à performance ótima (igual à performance do
classificador bayesiano).
k-vizinhos mais próximos (knn)
19
function z=k_nn_classifier(Z,v,k,X) [l,N1]=size(Z); [l,N]=size(X); c=max(v); % The number of classes % Computation of the (squared) Euclidean distance% of a point from each reference vectorfor i=1:N
dist=sum((X(:,i)*ones(1,N1)-Z).^ 2); %Sorting the above distances in ascending order[sorted,nearest]=sort(dist); % Counting the class occurrences among the k-closest% reference vectors Z(:,i) refe=zeros(1,c); %Counting the reference vectors per classfor q=1:k
class=v(nearest(q)); refe(class)=refe(class)+1;
end[val,z(i)]=max(refe);
end
k-vizinhos mais próximos (knn)
20
function clas_error=compute_error(y,y_est) [q,N]=size(y); % N= no. of vectorsc=max(y); % Determining the number of classes clas_error=0; % Counting the misclassified vectorsfor i=1:N
if(y(i)~ =y_est(i)) clas_error=clas_error+1;
endend
% Computing the classification error clas_error=clas_error/N;
k-vizinhos mais próximos (knn)
• Cálculo do erro na classificação:
22
Redes neurais artificiais
•Motivação
• O cérebro humano possui em torno de 1011
neurônios.
• O funcionamento desses neurônios constitui a base
para o estudo das redes neurais.
25
Redes neurais artificiais
•Histórico
•Um histórico resumido sobre Redes Neurais Artificiais deve começar por três das
mais importantes publicações iniciais, desenvolvidas por: McCulloch e Pitts (1943),
Hebb (1949), e Rosemblatt (1958).
•Estas publicações introduziram o primeiro modelo de redes neurais simulando
“máquinas”, o modelo básico de rede de auto-organização, e o modelo Perceptron de
aprendizado supervisionado, respectivamente.
•Alguns históricos sobre a área costumam “pular” os anos 60 e 70 e apontar um
reínicio da área com a publicação dos trabalhos de Hopfield (1982) relatando a
utilização de redes simétricas para otimização e de Rumelhart, Hinton e Williams
que introduziram o poderoso método Backpropagation.
•Entretanto, para se ter um histórico completo, devem ser citados alguns
pesquisadores que realizaram, nos anos 60 e 70, importantes trabalhos sobre
modelos de redes neurais em visão, memória, controle e auto-organização como:
Amari, Anderson, Cooper, Cowan, Fukushima, Grossberg, Kohonen, von der
Malsburg, Werbos e Widrow.
26
Aprendizado
• O que é aprender?
• Incrementar o conhecimento
• adaptar-se melhor às novas situações do ambiente
• ...
• Como se aprende?
• Observando
• Memorizando
• Generalizando
• Especializando
• .....
27
O que é necessário para o aprendizado?
• Aspecto externo (do ambiente)
exemplos, experiências, ensino, ....
• Aspecto estrutural (do agente)
sentidos
cérebro (baixo nível)
memória e processador de símbolos (alto nível)
• Aspecto funcional (mecanismos de aprendizado)
modelo simbólico: representação de conhecimento, indução, dedução
modelo conexionista: redes neurais
28
Redes neurais
• Técnica de aprendizado que tem como modelo o cérebro.
Q_ _m n_ _ Ch_ r _ , n_ _ m _ m _ !
• Você consegue identificar a frase?
• Pegar uma borracha sendo arremessada
• Apesar de não ser tão rápido quanto um computador,
nosso cérebro consegue calcular a trajetória da borracha
muito bem.
• O cérebro humano é formado por 100 bilhões de
neurônios, cada um, ligado a outro ou a 100.000 outros!
29
Redes neurais artificiais
• Neurônio
• Dendritos: Têm por função receber informações ou impulsos nervosos,
oriundos de axônios de outros neurônios e conduzi-los até o corpo celular.
• Corpo celular: os sinais recebidos são somados e de acordo com um
limiar, estabelece se o neurônio deve ser ativado ou não. O limiar é um
valor ou taxa de valores que determinam a ativação do neurônio. Se o
somatório ultrapassar este valor o neurônio dispara
• Axônio: Os impulsos ou disparos são transmitidos a outros neurônios,
passando através do axônio até os dendritos dos neurônios seguintes.
30
Redes neurais artificiais
• Neurônio
• Fisicamente não há contato entre os neurônios, porém entre
a terminação axônica de um neurônio e o dendrito de outro, há
um espaço chamado de espaço sinaptico.
• Através das sinapses os neurônios se unem funcionalmente,
formando redes neurais.
• As sinapses funcionam como válvulas, sendo capazes de
controlar a transmissão de impulsos entre os neurônios.
• http://www.youtube.com/watch?v=HXx9qlJetSU
31
Redes neurais artificiais
• Neurônio
• As sinapses podem ser excitatórias ou inibitórias:
•Excitatória: ocorre quando a ativação do neurônio é alta e a
soma dos impulsos recebidos pelo neurônio supera o seu limiar,
disparando então uma substância dita Neurotransmissora, no
espaço sinaptico.
• Esta substância altera o potencial elétrico da membrana pós-
sinaptica, preparando para o envio de impulsos eletricos;
• Inibitória: reduz a capacidade de recepção do outro neurônio.
34
Redes neurais artificiais
• Devido à similaridade com a estrutura do cérebro, as
redes neurais exibem características similares ao
comportamento humano, tais como:
35
Redes neurais artificiais
• Devido à similaridade com a estrutura do cérebro, as
redes neurais exibem características similares ao
comportamento humano, tais como:
36
Redes neurais artificiais
• Devido à similaridade com a estrutura do cérebro, as
redes neurais exibem características similares ao
comportamento humano, tais como:
37
Redes neurais artificiais
• Devido à similaridade com a estrutura do cérebro, as
redes neurais exibem características similares ao
comportamento humano, tais como:
38
Redes neurais artificiais
• Devido à similaridade com a estrutura do cérebro, as
redes neurais exibem características similares ao
comportamento humano, tais como:
41
Neurônios artificiais
• A estrutura de um neurônio é formada por:
• Um conjunto de links de conexão com outros neurônios
(sinapses)
• Os links podem ser de
•entrada (dendritos): há um peso associado a cada link (W)
•saída (axônio): o peso da saída é dado por uma função de ativação
• Alguns neurônios podem ser conectados diretamente ao
ambiente externo.
• Uma função de transferência (ativação) que dispara a
saída.
42
Neurônios artificiais
• Descrito por Frank Rosemblat (psicólogo, 1957) o neurônio do tipo
perceptron (aprende!) serve para classificar dois tipos de padrões.
• Será ativado quando a soma dos pesos dos links de entrada (função de
entrada) atingem um certo limiar, então, o neurônio é disparado ativando a
saída (função de ativação):
Onde:n: é o número de entradas do neurônio wi: é o peso associado à entrada xiΘ: é o limiar (threshod) do neurônio
Sendo assim, a saída y do neurônio será:Y = 1 Se Σ xi wi > θY = -1 Se Σ xi wi <= θ
47
Conceitos fundamentais
• Funções de ativação:
• É a função que determina o nível de ativação do
neurônio artificial: sj= F(netj)
54
Limitações
• Um único Perceptron consegue
resolver funções linearmente
separáveis
(por exemplo And, Or e Not).
• Em funções do tipo xor, o
perceptron não consegue classificar
visto que ser um tipo de função não
linearmente separável, isto é, não se
consegue traçar um hiperplano
(linha) que separe
os valores “+” (verdadeiro), dos
valores “-” (falso).
56
Redes neurais artificiais
• Se com um único perceptron é possível computar And, Or,
Nor então com várias camadas de perceptrons
interconectados é possível computar todos os tipos de
funções (inclusive XOR).
• Normalmente, existem dois tipos de algoritmos:
1. Perceptron Rule
2. Delta Rule
60
Perceptron training rule
1. Inicializar todos os pesos aleatoriamente
2. Iterativamente aplicar cada par de treinamento ao
perceptron
3. Modificar os pesos do perceptron enquanto as amostras não
estiverem classificadas
4. Efetuar o procedimento tantas vezes quanto necessário até
que todos o conjunto de treinamento esteja classificado
corretamente.
61
Perceptron training rule
• O treinamento envolve a alteração do peso de wi associado
com xi
• Alteração dos pesos: wi <= wi + ∆wi
• Onde: ∆wi = η (d – Y) xi
• η é uma constante positiva chamada taxa de aprendizado e serve
para moderar a forma como cada peso é alterada a cada passo.
Normalmente possui valor pequeno (0.1) e diminui a medida em que
as iterações aumentam.
• d é a saída desejada do neurônio
• Y é a saída atual do neurônio
62
Perceptron training rule
• Porque o algoritmo converge?
• Sendo os pesos alterados por: wi <= wi + ∆wi e ∆wi = η
(d – Y) xi.
1. Supondo que os pares de treinamento estão
corretamente classificados: Então: d – Y = 0 assim os
pesos não são mais atualizados.
2. Supondo que a saída do perceptron é Y =-1, ao invés de
d=+1 (desejado):
Os pesos deverão ser alterados para aumentar o produto
||w || * ||x||
63
Perceptron training rule
• Sendo os pesos alterados por: wi <= wi + ∆wi e ∆wi = η (d – Y) xi
1. Supondo Y = -1 e d = +1 Os pesos deverão ser alterados para
aumentar o produto ||w || * ||x||
Se xi = 0.8 e η = 0.1 então: ∆wi = 0.1 (1 – (-1)) 0.8 = 0.16
2. Se d = -1 e Y = +1 então os pesos serão associados com o xi positivo
serão decrementados ao invés de incrementados:
Se xi = 0.8 e η = 0.1 então: ∆wi = 0.1 (-1 – 1) 0.8 = -0.16
• O aprendizado converge:
• Dentro de um número finito de aplicações
• Classificam corretamente todos os exemplos de treinamento
• Desde que os exemplos de treinamento são linearmente separáveis e
que seja utilizado um valor de suficientemente pequeno de η
64
Perceptron training rule
• Portanto:
• Redes neurais, aprendem a partir de exemplos, podendo
interpolar e extrapolar o que aprenderam.
• É a alteração da intensidade das conexões entre os
neurônios que sugere o aprendizado.
• Existem dezenas de diferentes algoritmos de aprendizado,
cada um adaptado a uma determinada aplicação.
65
Escolha da arquitetura
• A definição da arquitetura de uma RNA é um parâmetro
importante, visto que pode restringir o tipo de problema a ser
tratado, por exemplo:
• Redes de uma camada, tipo A), só conseguem tratar problemas
linearmente separáveis. Por outro lado redes de múltiplas camadas,
tipo B), tratam também os problemas linearmente não separáveis.
Enquanto redes de múltiplas camadas e recorrentes, tipo C, são
mais apropriadas para resolver problemas que envolvem
processamento temporal.
66
Taxonomia
• Quanto ao tipo de
algoritmo de
aprendizado
1. Pesos fixos
2. Supervisionado: o
conjunto de treinamento é
classificado por um
especialista
3. Não-supervisionado: o
conjunto de treinamento
não tem um parecer de
classificação associado a
cada valor.
• Quanto à arquitetura
1. Feedforward: todas as
sinapses se ligam somente
aos neurônios da camada
seguinte.
2. Recorrente: há sinapses
com os neurônois da
mesma camada (feed-
lateral) e com da camada
anterior (feed-back)
3. Multi-camada
67
Recuperação de dados
• Assumindo que um conjunto de padrões tenha sido
armazenado, a Rede Neural pode executar as
seguintes tarefas:
68
Recuperação de dados
• Assumindo que um conjunto de padrões tenha sido
armazenado, a Rede Neural pode executar as
seguintes tarefas:
69
Recuperação de dados
• Assumindo que um conjunto de padrões tenha sido
armazenado, a Rede Neural pode executar as
seguintes tarefas:
76
• Support vector machine (SVM)
• Redes bayesianas
• Classificador de máxima entropia
Outros métodos de classificação
78
• A motivação básica se baseia no fato de que mesmo o
melhor classificar pode errar em alguns padrões que
outros classificadores podem acertar.
• A combinação de classificadores pode oferecer uma
informação complementar sobre a classificação.
• Assim, é possível usar diferentes classificadores e
combinar os resultados obtidos de acordo com
determinandas regras.
Motivação
79
• Qual estratégia é a mais adequada?
• Devemos combinar os resultados de saídas
individuais através de regras do produto, soma,
mínimo, máximo ou mediana?
• Todos os classificadores devem ser alimentados com
os mesmos vetores de características ou diferentes
propriedades devem ser selecionadas para
classificadores específicos?
Motivação
81
• Assuma que cada um dos L classificadores forneça
como saída as probabilidades à posteriori:
• Há diferentes regras para combinar os resultados
dos classificadores:
Combinação de classificadores
, ..., M, ixP i 21 ),|( =ω
82
• Regra do produto: Associe o padrão x a classe ωi se
• onde é a respectiva probabilidade a
posteriori do j-ésimo classificador.
Regras
( )∏=
=L
jkj
kxPi
1
|maxarg ω
( )xP kj |ω
• Regra da soma: Associe o padrão x a classe ωi se
( )∑=
=L
jkj
kxPi
1
|maxarg ω
83
• Votos da maioria: Associe o padrão x a classe em
que há um consenso entre os classificadores ou
quando ao menos lc dos classificadores concordam
com a classificação de x, onde:
• caso contrário, a decisão é rejeição e nenhuma
decisão é tomada.
Regras
+
+=
odd L ,2
1
even L ,12L
L
cl
84
• Utilize os atributos extraídos de formas de imagens e
faça a classificação usandos os classificadores:
• k-vizinhos
• Redes neurais (use o Weka)
• Obtenha as matrizes de confusão para cada
classificador (dica, procure por matriz de confusão no
Google e veja a importância desse conceito).
Projeto