Transcript

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

3

NaiveNaive BayesBayes

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

7

Naive Bayes

• Naive Bayes no Weka:

http://www.cs.waikato.ac.nz/ml/weka/

8

Naive Bayes

• Formato:

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...

10

Naive Bayes

11

kk--vizinhosvizinhos mais prmais pr óóximosximos

knnknn

12

k-vizinhos mais próximos (knn)

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)

15

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)

18

• Regiões de separação: Telhas de Voronoi

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:

21

Redes neurais artificiaisRedes neurais artificiais

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.

23

Redes neurais artificiais

•Motivação

24

Redes neurais artificiais

•Motivação

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.

32

Redes neurais artificiais

• Definição

33

Redes neurais artificiais

• Aquisição do conhecimento: Aprendizado

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:

39

Redes neurais artificiais

• Generalização:

40

Redes neurais artificiais

• Aplicações

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 <= θ

43

Conceitos fundamentais

• Neurônio artificial

44

Redes neurais artificiais

•Histórico

45

Redes neurais artificiais

• Conceitos fundamentais

46

Conceitos fundamentais

• Elementos básicos

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)

48

Conceitos fundamentais

• Tipos de processadores

49

Conceitos fundamentais

• Neurônio artificial

50

Neurônios artificiais

•Modelo de McCulloch-Pitts (1943)

51

Redes neurais artificiais

•Modelo de McCulloch-Pitts

52

Redes neurais artificiais

•Modelo de McCulloch-Pitts

53

Conceitos fundamentais

• Exemplo

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).

55

Conceitos fundamentais

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

57

Topologias

58

• ..

Topologias

59

Processamento neural

• Processamento

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:

70

Aprendizado

71

Treinamento supervisionado

72

Treinamento supervisionado

Minimizar a funcao de erroMinimizar a funcao de erro

73

Treinamento não-supervisionado

74

Treinamento não-supervisionado

75

Redes neurais: Weka

76

• Support vector machine (SVM)

• Redes bayesianas

• Classificador de máxima entropia

Outros métodos de classificação

77

CombinaCombina çção de ão de

classificadoresclassificadores

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

80

Combinação de classificadores

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

85

• I. Witten e E. Frank, Data Mining: Practical

Machine Learning Tools and Techniques, Elservier.

• Sergios Theodoridis, Konstantinos Koutroumbas,

Pattern Recognition. Elsevier (2006).

• Exemplo de classificação usando o Weka:

http://www.youtube.com/watch?v=8Zi8dFtcPJU

Referências


Recommended