Title: Reconhecimento de Padr
1Reconhecimento de PadrõesTipos de Aprendizagem
Universidade Federal de Ouro Preto
(UFOP) Programa de Pós-Graduação em Ciência da
Computação (PPGCC)
- David Menotti, Ph.D.
- http//www.decom.ufop.br/menotti
2Objetivos
- Introduzir diferentes tipos de aprendizagem
- Supervisionada
- Métodos paramétricos e não paramétricos.
- Não Supervisionada
- Incremental
- Com Reforço
3Aprendizagem Supervisionada
- Alguém (um professor) fornece a identificação
(rótulos) de cada objeto da base de dados. - Métodos Paramétricos Assumem que a distribuição
dos dados é conhecida(distribuição normal por
exemplo) - Métodos Não-Paramétricos Não consideram essa
hipótese.
4Aprendizagem Supervisionada
- Em muitos casos não se tem conhecimento da
distribuição dos dados. - Consequentemente, utilizar um método paramétrico
pode não ser adequado.
Distribuição Normal
5Aprendizagem Supervisionada
- Um algoritmo não-paramétrico para aprendizagem
supervisionada é o k-NN (k Nearest Neighbor). - Consiste em atribuir a um exemplo de teste x a
classe do seu vizinho mais próximo.
6k-NN
- Significado de k
- Classificar x atribuindo a ele o rótulo
representado mais frequentemente dentre as k
amostras mais próximas. - Contagem de votos.
- Uma medida de proximidade bastante utilizada é a
distância Euclidiana
7Distância Euclidiana
x (2,5)
1.41
y (3,4)
8Distância Euclidiana
9k-NN Um Exemplo
A qual classe pertence este ponto? Azul ou
vermelho?
Calcule para os seguintes valores de k
não se pode afirmar
k1
vermelho 5,2 - 5,3
k3
vermelho 5,2 - 5,3 - 6,2
k5
4
azul 3,2 - 2,3 - 2,2 - 2,1
k7
3
2
1
A classificação pode mudar de acordo com a
escolha de k.
1 2 3 4 5 6 7 8
10Matriz de Confusão
- Matriz que permite visualizar as principais
confusões do sistema. - Considere um sistema com 3 classes, 100 exemplos
por classe.
Erros de classificação
100 de classificação
c1 c2 c3
c1 90 10
c2 100
c3 5 95
c1 c2 c3
c1 100
c2 100
c3 100
10 exemplos de C1 foram classificados como C2
11Exercício
- Implementar em C um kNN.
- Mostrar a taxa de reconhecimento do sistema para
k 1,3,5,7 - Mostrar a matriz de confusão.
- Analisar o impacto da base de aprendizagem na
taxa de reconhecimento.
12Aprendizagem Não-Supervisionada
- O que pode ser feito quando se tem um conjunto de
exemplos mas não se conhece as categorias
envolvidas?
13Como classificar esses pontos?
- Por que estudar esse tipo de problema?
14Aprendizagem Não-Supervisionada
- Primeiramente, coletar e rotular bases de dados
pode ser extremamente caro. - Ex Gravar voz é barato, mas rotular todo o
material gravado é caro. - Segundo, muitas vezes não se tem conhecimento das
classes envolvidas. - Trabalho exploratório nos dados(ex. Data Mining.)
15Aprendizagem Não-Supervisionada
- Pré-classificação
- Suponha que as categorias envolvidas são
conhecidas, mas a base não está rotulada. - Pode-se utilizar a aprendizagem
não-supervisionada para fazer uma
pré-classificação, e então treinar um
classificador de maneira supervisionada.
16Clustering
- É a organização dos objetos similares (em algum
aspecto) em grupos.
Quatro grupos (clusters)
17Cluster
- Uma coleção de objetos que são similares entre
si, e diferentes dos objetos pertencentes a
outros clusters. - Isso requer uma medida de similaridade.
- No exemplo anterior, a similaridade utilizada foi
a distância. - Distance-based Clustering
18k-Means Clustering
- É a técnica mais simples de aprendizagem não
supervisionada. - Consiste em fixar k centróides (de maneira
aleatória), um para cada grupo (clusters). - Associar cada indivíduo ao seu centróide mais
próximo. - Recalcular os centróides com base nos indivíduos
classificados.
19Algoritmo k-Means
- Determinar os centróides
- Atribuir a cada objeto do grupo o centróide mais
próximo. - Após atribuir um centróide a cada objeto,
recalcular os centróides. - Repetir os passos 2 e 3 até que os centróides não
sejam modificados.
20k-Means Um Exemplo
Objetos em um plano 2D
21k-Means Um Exemplo
Passo 1Centróides inseridos aleatoriamente
22k-Means Um Exemplo
Passo 2 Atribuir a cada objeto o centróide mais
próximo
23k-Means Um Exemplo
Passo 3 Recalcular os centróides
24k-Means Um Exemplo
Impacto da inicialização aleatória.
25k-Means Um Exemplo
Fronteira Diferente
Impacto da inicialização aleatória
26k-Means Inicialização
- Importância da inicialização.
- Quando se têm noção dos centróides, pode-se
melhorar a convergência do algoritmo. - Execução do algoritmo várias vezes, permite
reduzir impacto da inicialização aleatória.
27k-Means Um Exemplo
4 Centróides
28Calculando Distâncias
- Distância Euclidiana
- Manhattan (City Block)
29Calculando Distâncias
- Minkowski
- Parâmetro r
- r 2, distância Euclidiana
- r 1, City Block
30Calculando Distâncias
- Mahalanobis
- Leva em consideração as variações estatísticas
dos pontos. Por exemplo ser x e y são dois pontos
da mesma distribuição, com matriz de covariância
C, a distância é dada pela equação - Se a matriz C for uma matriz identidade, essa
distância é igual a distância Euclidiana.
31A Importância das Medidas de Distâncias
- Suponha que dois exemplos pertencem ao mesmo
cluster se a distância Euclidiana entre eles for
menor que d. - É obvio que a escolha de d é importante.
- Se d for muito grande, provavelmente teremos um
único cluster, se for muito pequeno, vários
clusters.
32A Importância das Medidas de Distâncias
- Nesse caso, estamos definido d e não k.
33Critérios de Otimização
- Até agora discutimos somente como medir a
similaridade. - Um outros aspecto importante em clustering é o
critério a ser otimizado. - Considere um conjunto
composto de n exemplos, e que deve ser dividido
em c sub-conjuntos disjuntos . - Cada sub-conjunto representa um cluster.
34Critérios de Otimização
- O problema consiste em encontrar os clusters que
minimizam/maximizam um dado critério. - Alguns critérios de otimização
- Soma dos Erros Quadrados.
- Critérios de Dispersão
35Soma dos Erros Quadrados
- É o mais simples e usado critério de otimização
em clustering. - Seja ni o número de exemplos no cluster Di e seja
mi a média desse exemplos - A soma dos erros quadrados é definida
36Soma dos Erros Quadrados
Je grande
Je pequeno
Je pequeno
Adequado nesses casos - Separação natural
Não é muito adequado para dados mais
dispersos. Outliers podem afetar bastante os
vetores médios m
37Critérios de Dispersão
- Vetor médio do cluster i
- Vetor médio total
- Dispersão do cluster i
- Within-cluster
- Between-cluster
38Critérios de Dispersão
Caso ideal
Alto between (Sb) Clusters distantes um do outro.
Baixo within (Sw) (boa compactação)
39Critérios de Dispersão
Caso não ideal
Baixo between (Sb) Baixa distância entre os
clusters.
Clusters dispersos Alto within
40Critérios de Dispersão
- Podemos entender melhor os critérios de dispersão
analisando o seguinte exemplo
41Diferentes clusters para c2 usando diferentes
critérios de otimização
Erro Quadrado
Sw
Relação Sw/Sb
42Algumas Aplicações de Clustering
- Marketing Encontrar grupos de consumidores com
comportamento similares - Biologia Classificar grupos de plantas e
animais. - Bibliotecas Organização de livros.
- Administração Organização de cidades,
classificando casas de acordo com suas
características. - WWW Classificação de conteúdos.
43Problemas
- Vetores de característica muito grandes tempo de
processamento elevado. - Definição da melhor medida de distância Depende
do problema. As vezes é difícil, especialmente
quando se trabalha com grandes dimensões. - O resultado do clustering pode ser interpretado
de diferentes maneiras.
44k-Means - Simulação
- Um applet java para a simulação do k-Means pode
ser encontrado na seguinte URL - http//www.elet.polimi.it/upload/matteucc/Cluster
ing/tutorial_html/AppletKM.html
45Aprendizagem Incremental
- Também conhecida com aprendizagem on-line.
- Interessante quando a aquisição de dados é
difícil e cara. - Pequenos lotes de dados com o decorrer do tempo.
- Podem não estar disponível em um futuro próximo.
46Aprendizagem Incremental
- Isso torna necessário ter um classificador que
aprenda incrementalmente. - Processo incremental genérico
47Aprendizagem Incremental
- Dilema da Estabilidade-Plasticidade
- Aprender novas informações sem esquecer aquelas
aprendidas anteriormente - Tipos clássicos de redes neuronais, tais como MLP
não possuem essa propriedade. - Catastrophic forgetting (quando novos dados são
apresentados, aqueles aprendidos anteriormente
são esquecidos).
48Aprendizagem Incremental
- Um algoritmo de aprendizagem incremental deve
possuir as seguintes propriedades - Aprender a partir de novos dados.
- Não necessitar dos dados antigos.
- Preservar conhecimento adquirido.
- Acomodar novas classes, introduzidas com os novos
dados.
49Aprendizagem Incremental
- Quais classificador tem essas características?
- SOM (Self Organization Map) - Kohonen
50SOM (Self Organization Map)
- Evolução do Tamanho da Vizinhança
51SOM (Self Organization Map)
- Exemplo Visualização de dados
52Aprendizagem por Reforço ART (Adaptative
Resonance Theory)
Aprendizagem não supervisionada
53ART (Adaptative Resonance Theory)
- Outros tipos de ART têm sido propostos nos
últimos anos - FAM, ARTMAP-IC, etc...
54Aprendizagem com Reforço
- Aprendizagem com base na interação com o
ambiente. - Não se diz qual ação o classificador deve tomar.
- O classificador tenta diferentes ações e escolhe
aquela que oferece um melhor retorno. - Tentativa-e-erro.
- Uso
- Robótica.
- Recuperação de Informação Baseada no Conteúdo
55(No Transcript)
56http//www.ai-junkie.com/ann/som/som1.html