Aprendizagem de Máquina
Prof. Paulo Martins Engel
Aprendizado não-supervisionadoFormação de agrupamentos
Informática
UFRGS Prof. Paulo Martins Engel
2
Aprendizado Não-Supervisionado• Classificação supervisionada: discriminar padrões com base num
modelo pré-definido de classes.• Classificação não-supervisionada: as classes não são pré-definidas
e devem ser aprendidas com base na similaridade entre os padrões.• Neste caso, o problema é colocado como uma tarefa de
categorização, ou identificação de agrupamentos (clustering):– Encontrar os grupos naturais em dados multidimensionais,
com base nas similaridades entre os padrões.• Classificação não-supervisionada é um problema muito difícil
porque dados multidimensionais podem formar agrupamentos com diversas formas e tamanhos, demandando ferramentas poderosas de modelagem.
Informática
UFRGS Prof. Paulo Martins Engel
3
Modelos Descritivos
– Determinação de uma configuração de centróides de agrupamentos dos dados
– Modelo de agrupamento dos dados
ModeloEntradas
• A tarefa de geração de um modelo descritivo consiste (em grande parte) em analisar os dados do domínio (entradas) e sugerir uma partição do domínio, de acordo com similaridades observadas nos dados.
Informática
UFRGS Prof. Paulo Martins Engel
4
Dados para agrupamento de subespécies da planta Iris
Modelocomprimento-sepala
largura-sepalacomprimento-petala
largura-petala
Rótulo de classe natural
Conjunto de medidas
uma amostra do domínio
............
1,85,82,56,7
1,86,32,97,3
............
1,54,53,26,4
1,44,73,27,0
............
0,21,73,45,4
0,31,53,85,1
l_petalac_petalal_sepalac_sepala
Informática
UFRGS Prof. Paulo Martins Engel
5
Dados da planta Iris
comprimento-sepala
largura-sepala
comprimento-petala
largura-petala
Informática
UFRGS Prof. Paulo Martins Engel
6
Modelo de agrupamento para os dados da planta IrisClasses de interesse versus classes naturais
largura-petalalargura-sepala
setosa
virginica
versicolor
setosa
comprimento-petala
virginica
versicolor
comprimento-sepala
Classes de interesse
3 agrupamentosclasses naturais
Informática
UFRGS Prof. Paulo Martins Engel
7
Avaliação de modelos descritivos• Questão fundamental: quantos grupos representam
mais adequadamente os dados?• Usualmente, adotam-se métricas estatísticas de
qualidade da configuração de agrupamento: média de distâncias intra-grupo e de distâncias inter-grupos.
• A avaliação da qualidade de um modelo descritivo normalmente é problemática se não dispusermos de informação extra (conhecimento de perícia).
• A busca informada pela melhor configuração é muito mais eficiente.
Informática
UFRGS Prof. Paulo Martins Engel
8
• A descoberta de agrupamentos é uma tarefa descritiva que procura agrupar dados utilizando a similaridadedos valores de seus atributos como fator de decisão quanto a sua pertinência num entre vários agrupamentos possíveis.
• Este processo utiliza técnicas de aprendizagem não supervisionada, pois a similaridade entre os atributos é uma característica intrínseca dos dados, não necessitando de um arquivo de treinamento com classes pré-definidas.
Introdução
Informática
UFRGS Prof. Paulo Martins Engel
9
• Em geral, a identificação dos agrupamentos intrínsecos dos dados permite a descrição de cada agrupamento através de um padrão protótipo.
• O processo normalmente é iterativo e interativo, necessitando que o usuário modifique parâmetros e reapresente os dados até encontrar uma configuração satisfatória de agrupamentos.
• A ênfase nesta tarefa é a descrição dos dados e não a previsão de como um novo caso será classificado.
Introdução
Informática
UFRGS Prof. Paulo Martins Engel
10
Agrupamento de conceitos• O agrupamento de conceitos é uma tarefa onde o sistema de
aprendizagem aceita um conjunto de descrições de objetos (eventos, observações, fatos) e produz um esquema de classificação sobre as observações.
• O sistema não requer um “professor” para pré-classificar os objetos; ele usa uma função de avaliação para descobrir classes com “boas” descrições conceituais.
• Agrupamento de conceitos é um tipo de aprendizagem por observação, se opondo ao aprendizado por exemplos.
• É uma forma importante de sumarizar os dados de uma maneira interpretável.
Informática
UFRGS Prof. Paulo Martins Engel
11
• Em negócios, podem ajudar comerciantes a descobrir grupos distintos em suas bases de clientes e caracterizar grupos baseados em padrões de compras. A maioria das ferramentas de agrupamento trabalha em razão de um número pré-definido de grupos especificado por um usuário.
• Classificação de documentos na Web para a descoberta de informação• Como uma função de MD, para se ter uma visão de distribuição de dados,
para se observar as características de cada agrupamento e para focar em um conjunto particular de grupos para análise posterior.
• Alternativamente, a clusterização pode servir como uma etapa de pré-processamento para outros algoritmos, tais como caracterização e classificação, que irão então operar sobre os agrupamentos detectados.
• Em biologia, podem ser usadas para derivar taxonomias de plantas e animais, categorizar genes com funcionalidades similares e ter uma visão dentro de estruturas inerentes em populações
Aplicações típicas de agrupamentos
Informática
UFRGS Prof. Paulo Martins Engel
12
Tipos de representação de agrupamentosOs grupos podem ser:
(a) exclusivos, instâncias pertencem apenas a um grupo (b) sobrepostos, em que uma instância pode pertencer a diversos grupos(c) probabilísticos, caso em que uma instância pertence a cada grupo com
alguma probabilidade (d) hierárquicos, é feita uma divisão a grosso modo de instâncias em grupos
maiores, os quais são refinados, se decompondo em grupos menores.
(d)
d k b jc i eg a f h
(c) 1 2 3a 0,4 0,1 0,5b 0,1 0,8 0,1c 0,3 0,3 0,4d 0,1 0,1 0,8e 0,4 0,2 0,4f 0,1 0,4 0,5g 0,7 0,2 0,1h 0,5 0,4 0,1...
(a)
a
b
c
d e
kh
j
gi
f
(b)
b
c
fig
k
jh
e
ad
Informática
UFRGS Prof. Paulo Martins Engel
13
Escolha da representação de agrupamentos
• A escolha entre as possíveis representações de agrupamento depende da natureza dos mecanismos que determinam o fenômeno específico do agrupamento considerado.
• Como raramente estes mecanismos são conhecidos, até porque é o que queremos descobrir, por razões pragmáticas, a escolha é normalmente ditada pelas ferramentas computacionais disponíveis.
Informática
UFRGS Prof. Paulo Martins Engel
14
• O método k-médias deriva o seu nome do fato de ele iniciar com um conjunto de k “germes” escolhidos como suposição inicial para os centróides, ou médias, dos agrupamentos.
• No algoritmo original (MacQueen 1967), a inicialização dos centróides é feita tomando-se simplesmente os k primeiros vetores (registros) dos dados.
• Quando os dados possuem algum tipo de ordenação, pode-se escolher registros que estejam mais espaçados entre si.
• Cada um dos k vetores é um agrupamento embrionário com apenas um único elemento.
• No segundo passo do algoritmo, cada vetor de dado recebe o rótulo do agrupamento que estiver mais próximo. Isto é feito, medindo-se a distância entre o vetor e cada centróide dos agrupamentos.
• Após a rotulação de todos os dados, os centróides dos agrupamentos são atualizados, calculando-se cada um como a média de todos os vetores que pertencem ao agrupamento correspondente.
• A atualização dos centróides é repetida até eles não se modificarem mais.
Método k-médias
Informática
UFRGS Prof. Paulo Martins Engel
15
Algoritmo k-médias
Algoritmo: k-médias, para particionamento baseado no valor médio dos objetos no agrupamento.
Entrada: O número de agrupamentos k e um banco de dados contendo n objetos.
Saída: Um conjunto de k agrupamentos que minimizam o critério de erro-quadrático.
Método:
(1) escolher arbitrariamente k objetos como os centros dos agrupamentos iniciais;
(2) repetir
(3) (re)designar cada objeto para o agrupamento ao qual o objeto é mais similar, baseado no valor médio dos objetos no agrupamento;
(4) atualizar as média dos agrupamentos, i.e., calcular o valor médio dos objetos para cada agrupamento;
(5) até que não haja mudanças;
Informática
UFRGS Prof. Paulo Martins Engel
16
Inicialização das médias Atribuição dos rótulos
Exemplo do método k-médias
As figuras abaixo, representam a aplicação dos dois primeiros passos do algoritmo k-médias em um arquivo com 20 dados com dois atributos contínuos, considerando-se um número de médias k = 3.
Informática
UFRGS Prof. Paulo Martins Engel
17
Após o passo de rotulação, as médias são atualizadas considerando-se a nova configuração dos agrupamentos.Após as médias serem atualizadas, os rótulos são atualizados pela distância às novas médias.
Atualização das médias Nova atribuição de rótulos eatualização das médias
Informática
UFRGS Prof. Paulo Martins Engel
18
• A pertinência de um registro num determinado agrupamento depende da medida de similaridade adotada entre os vetores.
• Na versão padrão deste método, a distância euclidiana é utilizada.• A representação geométrica do método k-médias mostra a sua adequação
natural para lidar com atributos numéricos contínuos. • Entretanto, existem diversos tipos de variáveis (numéricas em escalas
diferentes e não numéricas) que podem ser utilizadas como atributo, e cada variável deve ser apropriadamente ajustada para que o método funcione bem.
• Além disso, no método k-médias todos os atributos têm a mesma importância. • Entretanto, em algumas aplicações existe o conhecimento prévio de que alguns
atributos são mais importantes que outros, e gostaríamos que o critério de similaridade levasse isso em conta.
• A importância relativa dos atributos (bias) é fixada através de pesos.• Por ser baseado em distância (euclidiana), o modelo dos agrupamentos é
isotrópico gerando uma partição equivalente a um diagrama de Voronoi.
Medidas de similaridade
Informática
UFRGS Prof. Paulo Martins Engel
19
• No caso de atributos numéricos, em geral basta adotar-se um critério de escalamento das variáveis, para que a importância relativa entre elas seja preservada. Um exemplo aqui seriam as variáveis rendimento e área demoradia.
• Neste caso, a similaridade entre dois registros se dá pela distância entre os dois pontos correspondentes, no espaço normalizado de características. Na versão padrão deste método, a distância euclidiana é utilizada.
• Quando as proporções entre os valores dos atributos é mais importante que o seu valor absoluto, então uma medida de similaridade baseada em ângulos entre vetores é mais apropriada.
gato grande
gato pequeno
peixe grande
peixe pequeno
Informática
UFRGS Prof. Paulo Martins Engel
20
• Diagrama de Voronoi: poliedros convexos em torno dos centróides.
Partição induzida método k-médias
• Limitações do método:• Em métodos baseados em distâncias a médias, as fronteiras de decisão não
levam em conta as diferentes distribuições multivariadas.• Além disso, diferenças entre cardinalidades das distribuições deveriam afetar as
posições das fronteiras de decisão.
Informática
UFRGS Prof. Paulo Martins Engel
21
Limitações do k-médias• O método k-médias tem dificuldades quando os
agrupamentos têm: – Tamanhos diferentes (cardinalidade)– Densidades diferentes (dispersão)– Formas não esféricas
• K-médias tem problemas para lidar com dados estranhos (outliers)
Informática
UFRGS Prof. Paulo Martins Engel
22
Tamanhos diferentes
Dados originais K-médias (3 Clusters)
Informática
UFRGS Prof. Paulo Martins Engel
23
Densidades diferentes
Dados originaisK-médias (3 grupos)
Informática
UFRGS Prof. Paulo Martins Engel
24
Formas não esféricas
Dados originais K-médias (2 grupos)
Informática
UFRGS Prof. Paulo Martins Engel
25
Solução possível
Uma solução é usar muitos agrupamentosEncontra partes dos grupos, mas precisa colocá-los juntos.
Dados originais Grupos encontrados por K-médias
Informática
UFRGS Prof. Paulo Martins Engel
26
Exemplo de solução
Dados originais Grupos encontrados por K-médias
Informática
UFRGS Prof. Paulo Martins Engel
27
Exemplo de solução
Dados originais Grupos encontrados por K-médias
Informática
UFRGS Prof. Paulo Martins Engel
28
Agrupamentos superpostos: Fuzzy C Means
• Considere o problema de agrupar valores escalares em c agrupamentos:Y = {y1, y2, ..., yN}
• O problema é equivalente a encontrar a matriz de partição U que minimiza um critério de desempenho, a dispersão intra-cluster (inércia intra-classe):
( )∑∑= =
=c
i
N
kik
mki vydUVYJ
1 1
2, ),(),;( µ
onde V ∈ ℝ1× c é a matriz que tem vi na sua i-ésima coluna, onde vi é o valor do protótipo do cluster i, U ∈ ℝc × N é a matriz de partição de elementos µi,j, o grau de pertinência do dado yk ao cluster i e d(yk, vi) é a distância entre yk e vi.
• A matriz de partição U que minimiza J, para um determinado conjunto de dados Y e um número c de cluster é obtida iterativamente pelo algoritmo FCM.
Informática
UFRGS Prof. Paulo Martins Engel
29
Algoritmo FCM• Dada a matriz de dados Y, escolher o número de clusters 1 < c < N, o expoente
m > 1 e a tolerância de parada ε > 0.• Inicializar a matriz de partição U(0) aleatoriamente, sujeita às restrições:
1. Calcular o protótipo de cada agrupamento: médias
Nkc
iki ,...,1 ,1
1, ==∑
=
µ
ciNN
kki ,...,1 ,0
1, =<<∑
=
µ
( )
( )∑
∑
=
−
=
−
= N
k
mlki
N
kk
mlki
li
yv
1
)1(,
1
)1(,
)(
µ
µ
Repetir para l = 1, 2, ...
Informática
UFRGS Prof. Paulo Martins Engel
30
Algoritmo FCM – cont.
3. Atualizar a matriz de partição:
Nkci
ddc
j
m
kj
ki
lki ≤≤≤≤
=
∑=
−
1 ,1 , 1
1
12
,
,
)(,µ
se di,k = 0 para algum cluster i = s, faça µs,k = 1 e µi,k = 0, ∀i ≠ s.(repetir...) até que ||U(l) – U (l – 1) || < ε.
2. Calcular a distância (quadrática) de cada dado até o protótipo de cada agrupamento:
( )2)(2,
likki vyd −=
Informática
UFRGS Prof. Paulo Martins Engel
31
Escolha da melhor configuração de agrupamentos
• A escolha do número ótimo de agrupamentos pode ser feita a partir de um índice de desempenho que representa a utilidade da partição:
( ) ( )∑∑= =
−=c
i
N
kpiik
mki yvdvyd
ccVYS
1 1
22, ),(),(1),;( µ
• Este índice representa a diferença entre a soma das flutuações intra-clusters e a soma das flutuações inter-clusters. A divisão por c penaliza configurações com um número grande de agrupamentos.
onde yp é a média de todos os dados:
∑=
=N
kkp y
Ny
1
1
Informática
UFRGS Prof. Paulo Martins Engel
32
Algoritmo de Gustafson – Kessel
• A algoritmo G-K identifica agrupamentos em subespaços utilizando uma medida de distância adaptativa baseada na distância de Mahalanobis.
• A experiência mostra que este algoritmo tem bom desempenho na maioria dos problemas práticos.
• O algoritmo encontra a matriz de partição U que minimiza um critério de desempenho, a dispersão intra-cluster (inércia intra-classe):
( )∑∑= =
=c
i
N
kik
mki dUVYJ
1 1
2, ),(),;( vzµ
onde V ∈ ℝn× c é a matriz que tem vi na sua i-ésima coluna, onde vi é o vetor protótipo do cluster i, U ∈ ℝc × N é a matriz de partição de elementos µi,j, o grau de pertinência do dado zk ao cluster i e d(zk, vi) é a distância entre zk e vi.
• A matriz de partição U que minimiza J, para um determinado conjunto de dados Y e um número c de cluster é obtida iterativamente pelo algoritmo G-K.
Informática
UFRGS Prof. Paulo Martins Engel
33
Distribuição gaussiana multivariada
)()(21
21
2
1
)2(
1)(µxµx
x−∑−− −
∑=
T
ef p
π
Matriz de covariâncias de uma distribuição bivariada:
=∑
2212
1211
σσσσ
onde σ11 e σ22 são as variâncias marginais e σ12 é a covariância
Informática
UFRGS Prof. Paulo Martins Engel
34
Distribuição gaussiana bivariada
Informática
UFRGS Prof. Paulo Martins Engel
35
Algoritmo de Gustafson – Kessel• A forma dos agrupamentos é determinada pela medida de distância escolhida,
que neste algoritmo é uma norma de produto interno:
onde Mi é uma matriz definida positiva adaptada à forma de cada agrupamento, descrita aproximadamente pelas matrizes de covariâncias:
• Pode-se mostrar que a matriz indutora de distância Mi é calculada como a inversa normalizada da matriz de covariância do agrupamento:
)()(),(2iki
Tikikd vzMvzvz −−=
∑
∑
=
=
−−= N
k
mki
N
k
Tikik
mki
i
1,
1,
)(
))(()(
µ
µ vzvzF
11
)det( −= in
ii FFM
Informática
UFRGS Prof. Paulo Martins Engel
36
Algoritmo G-K • Dada a matriz de dados Z, escolher o número de clusters 1 < c < N, o expoente
m > 1 e a tolerância de parada ε > 0.• Inicializar a matriz de partição U(0) aleatoriamente, sujeita às restrições:
1. Calcular o protótipo de cada agrupamento: médias
Nkc
iki ,...,1 ,1
1, ==∑
=
µ
ciNN
kki ,...,1 ,0
1, =<<∑
=
µ
( )
( )ciN
k
mlki
N
kk
mlki
li ≤≤=
∑
∑
=
−
=
−
1 ,
1
)1(,
1
)1(,
)(
µ
µ zv
Repetir para l = 1, 2, ...
Informática
UFRGS Prof. Paulo Martins Engel
37
Algoritmo G-K – cont.
3. Calcular as distâncias:
2. Calcular as matrizes de covariâncias de cada agrupamento:
Nkcid liki
ni
Tlikki ≤≤≤≤−
−= − 1 ,1 , )()det()( )(1
1)(2
, vzFFvz
ciN
k
mlki
N
k
Tlik
lik
mlki
i ≤≤−−
=
∑
∑
=
−
=
−
1 , )(
))(()(
1
)1(,
1
)()()1(,
µ
µ vzvzF
Informática
UFRGS Prof. Paulo Martins Engel
38
Algoritmo G-K – cont.
4. Atualizar a matriz de partição:
Nkci
ddc
j
m
kj
ki
lki ≤≤≤≤
=
∑=
−
1 ,1 , 1
1
12
,
,
)(,µ
se di,k = 0 para algum cluster i = s, faça µs,k = 1 e µi,k = 0, ∀i ≠ s.(repetir...) até que ||U(l) – U (l – 1) || < ε.
Informática
UFRGS Prof. Paulo Martins Engel
39
Problema• Implemente os algoritmos de fuzzy FCM e Gustafson-Kessel, e especifique
com eles os centróides e a matriz de partição para os dados do arquivo dist2.txt. Considere um modelo com dois agrupamentos.
Informática
UFRGS Prof. Paulo Martins Engel
40
Resultados
Processo gerador
Algoritmo FCM Algoritmo G-K
Informática
UFRGS Prof. Paulo Martins Engel
41
• No caso de agrupamentos com densidades variáveis e quantidade de dados desbalanceada em cada agrupamento, é melhor usar uma métrica de distância “exponencial” entre cada dado, zk, e cada protótipo, vi, baseada na estimação por máxima verossimilhança: de
2 (zk, vi):
Algoritmo FMLE: Estimação por Máxima Verossimilhança
• Esta distância, é usada para calcular a probabilidade a posteriori h(i | zk), que faz o papel do grau de pertinência µi,k.
[ ] ( ) ( )[ ]2/exp)det(
),( 12
12
ikiT
iki
iike P
d vzFvzFvz −−= −
• onde Pi é a probabilidade a priori do agrupamento i e Fi é a matriz de covariâncias fuzzy do agrupamento i, calculada por:
( )( )
∑
∑
=
=
−−= N
kk
N
k
Tikikk
i
ih
ih
1
1
)|(
)|(
z
vzvzzF
Informática
UFRGS Prof. Paulo Martins Engel
42
Algoritmo FMLE
e a probabilidade a priori Pi de cada agrupamento:
1. Calcular o protótipo de cada agrupamento:
ciih
ih
N
kk
l
N
kkk
l
li ≤≤=
∑
∑
=
−
=
−
1 , )|(
)|(
1
)1(
1
)1(
)(
z
zzv
• Inicializar as probabilidades a posteriori de todos os vetores de dados a cada agrupamento, h(0) (i | zk), sujeita à restrição:
• Repetir para l = 1, 2, ... até que as alterações de h (i | zk) sejam pequenas:
Nkihc
ik ,...,1 ,1)|(
1
)0( ==∑=
z
∑=
=N
kki ih
NP
1)|(1 z
Informática
UFRGS Prof. Paulo Martins Engel
43
Algoritmo FMLE
2. Calcular a matriz de covariância fuzzy de cada agrupamento:
Nkcid
dih c
i
like
like
kl ≤≤≤≤=
∑=
1 ,1 , ),(/1
),(/1)|(
1
)(2
)(2)(
vz
vzz
( )( )ci
ih
ih
N
kk
l
N
k
Tlik
likk
l
i ≤≤−−
=
∑
∑
=
−
=
−
1 , )|(
)|(
1
)1(
1
)1(
z
vzvzzF
3. Calcular as distâncias quadráticas:
[ ] ( ) ( )[ ] NkciP
d liki
Tlik
i
ilike ≤≤≤≤−−= − 1 ,1 , 2/exp
)det(),( )(1)(
21
)(2 vzFvzFvz
4. Atualizar as probabilidades a posteriori:
Informática
UFRGS Prof. Paulo Martins Engel
44
Identificação do número de agrupamentos
• Idéia: dada uma partição de k agrupamentos, coloca-se um novo centróide numa região de baixo grau de pertinência nos agrupamentos existentes.
• Passos para seleção dos centróides:
1. Calcular a média e desvio padrão (σ) do conjunto de dados.
2. Escolher a posição do primeiro protótipo como a média calculada.
3. Escolher um protótipo adicional igualmente afastado de todos os dados por alguns σ.
4. Calcular nova partição (FCM).
5. Se k for menor que um valor máximo especificado parar, senão ir para 3.
• O número ótimo de agrupamentos pode ser determinado pela partição com a maior densidade média: razão entre o número de pontos dentro de um desvio padrão e o hiper-volume de cada agrupamento.
Informática
UFRGS Prof. Paulo Martins Engel
45
Cálculo da densidade média de uma partição fuzzy• O hiper-volume fuzzy da partição é calculado a partir das matrizes de
covariâncias fuzzy de cada agrupamento:
[ ]∑=
=k
iiHV FF
1
21
)det(
• A “soma dos membros centrais”, correspondente ao número de membros do agrupamento que estão dentro de um hiper-elipsóide cujo raio é um desvio padrão, é calculada por:
{ }1)()(: , 1
1<−−∈∀= −
=∑ iji
Tijjj
N
jiji FuS vzvzzz
• A densidade da partição é calculada pela razão:
HVD F
SP =com:
1∑=
=c
iiSS
Informática
UFRGS Prof. Paulo Martins Engel
46
Classificação desejada
Algoritmo k-médias Algoritmo G-K (multivariado)
Dados do problema
Informática
UFRGS Prof. Paulo Martins Engel
47
• Algoritmo iterativo que considera uma mistura de modelos probabilísticos (desconhecidos) que descreve a distribuição dos grupos.
• No modelo considerado, a função densidade (fdp) é formada por uma combinação linear de k funções de base (gaussianas):
Agrupamento probabilístico (EM)
• Como o k-médias, o algoritmo tem um passo de previsão, onde são calculadas as probabilidades de cada amostra pertencer a cada grupo, “expectativas”.
• Num segundo passo, de estimação, ele atualiza os parâmetros dos modelos probabilísticos: “maximização” da verossimilhança, a probabilidade das distribuições considerando os dados.
∑=
=k
jjpjxprobxprob
1)|()(
( )2
2
2
21),;()|( j
jx
jjjj exfxprob σ
µ
πσσµθ
−−
==
• onde pj são os parâmetros de mistura, relacionados com a probabilidade a priori de x ter sido gerado pela componente j da mistura, e a fdp (verossimilhança) daclasse j é dada por:
Informática
UFRGS Prof. Paulo Martins Engel
48
A 51A 43B 62B 64A 45A 42A 46A 45A 45
B 62A 47A 52B 64A 51B 65A 48A 49A 46
B 64A 51A 52B 62A 49A 48B 62A 43A 40
A 48B 64A 51B 63A 43B 65B 66B 65A 46
A 39B 62B 64A 52B 63B 64A 48B 64A 48
A 51A 48B 64A 42A 48A 41
dados
modelo
µA=50, σA =5, pA=0.6 µB=65, σB =2, pB=0.4
Um modelo mistura de duas classes
Informática
UFRGS Prof. Paulo Martins Engel
49
• O algoritmo inicia com valores arbitrários dos parâmetros do modelo mistura (µA, σA, µB, σB , pA).
• pB é obtido indiretamente: pA + pB = 1.• A partir desses parâmetros, calcula-se as probabilidades de cada amostra
pertencer a cada uma das distribuições, pela regra de Bayes (expectation: valor esperado da classe):
O algoritmo EM
[ ] [ ] [ ][ ] [ ]x
pxfx
AAxxA AAA
Pr),;(
PrPr|Pr|Pr σµ
==
• onde f(x; µA, σA) é a distribuição normal para o grupo A:
( )2
2
2
21),;( σ
µ
πσσµ
−−
=x
exf
Informática
UFRGS Prof. Paulo Martins Engel
50
• A partir das probabilidades, são calculadas novas estimativas dos parâmetros dos grupos (maximization: maximização da probabilidades das distribuições para os dados):
O algoritmo EM
[ ] [ ] [ ][ ] [ ] [ ]n
nnA xAxAxA
xxAxxAxxA|Pr|Pr|Pr|Pr|Pr|Pr
21
2211
++++++
=L
Lµ
[ ]( ) [ ]( ) [ ]( )[ ] [ ] [ ]n
AnnAAA xAxAxA
xxAxxAxxA|Pr|Pr|Pr
|Pr|Pr|Pr
21
2222
2112
+++−++−+−
=L
L µµµσ
∑=
=N
iiA xAprob
Np
1)|(1
Informática
UFRGS Prof. Paulo Martins Engel
51
Mapa Auto-organizável
w6
1
2
3
4
5
6
Φ(x;w)i(x)
w1
w2
w3w4
w1
Espaço de entrada contínuo Espaço de saída discreto
w5
• É uma rede neural com treinamento não-supervisionado, capaz de aprender a agrupar dados, produzindo uma representação numa dimensão reduzida, preservando (na medida do possível) a topologia do espaço de entrada.
Informática
UFRGS Prof. Paulo Martins Engel
52
Arquitetura da rede SOM
Camada Competitiva
Camada de Entrada
Informática
UFRGS Prof. Paulo Martins Engel
53
Processamento do SOM• O processamento da SOM pode ser resumido através do seguinte
procedimento de aprendizado não-supervisionado:– Apresentar um vetor na entrada da rede– Calcular as ativações dos neurônios da camada competitiva– Determinar o neurônio vencedor (neurônio mais próximo da entrada)– Fase de treinamento:
• Modificar o vetor de pesos do vencedor e de todos os neurônios dentro de uma vizinhança do vencedor.
– Fase de recuperação (recordação) ou atuação:• O neurônio vencedor indica o agrupamento ao qual o vetor de
entrada pertence.
Informática
UFRGS Prof. Paulo Martins Engel
54
Treinamento do SOM
• O treinamento do SOM se baseia no ajuste de uma vizinhança centrada no neurônio vencedor, de modo a orientar o vetor de pesos de todos os neurônios da vizinhança em direção ao vetor de entrada.
• O tamanho da vizinhança deve variar no tempo, iniciando com uma abrangência larga e finalizando com uma vizinhança muito estreita.
• A vizinhança pode ser implementada através de uma função contínua, como uma gaussiana, ou discreta, incluindo os vizinhos mais próximos dentro de um quadrado ou hexágono de largura variável.
Informática
UFRGS Prof. Paulo Martins Engel
55
Ajuste dos pesos do SOM
• Na fase de treinamento, os pesos dos neurônios dentro de uma certa vizinhança centrada no neurônio vencedor são ajustados de modo aaproximá-los do vetor de entrada
w8
xw1
w2w6
w4
w3
w5 w9
w7
1 2 3
4 5
7 8
6
9
x1 x2
w1 :
x:
w11 w12
w8
xw1
w2w6
w4
w3
w5
w9
w7
n n + 1
Informática
UFRGS Prof. Paulo Martins Engel
56
Atualização dos pesos
• Dentro da vizinhança os pesos são calculados por:
wi(n + 1) = wi(n) + η(n). (x − wi(n))x
wi(n)
(x - wi(n))
wi(n+1)A taxa de aprendizado, η (n), deve decrescer com o tempo discreto n:
η (n) = η0 exp τ1
_ n( )
τ1 = 5
τ1 = 20
Informática
UFRGS Prof. Paulo Martins Engel
57
Atualização dos pesos para vizinhança contínuaTodos neurônios da rede têm seus pesos atualizados por:
A largura da vizinhança deve também decrescer com o tempo:
σ (n) = σ0 expτ2
_ n( )
Sendo πic a função de vizinhança gaussiana, centrada no neurônio vencedor de índice “c”:
πic (n) = exp2σ2 (n) − d 2ic( )
wi(n+1) = wi(n) + η(n).πic(n).(x(n) − wi(n))
Tipicamente, escolhe-se σ0 de modo que toda a rede sofra ajustes significativos na fase inicial do aprendizado.
σ = 5
σ = 1
πic
Informática
UFRGS Prof. Paulo Martins Engel
58
Simulação do SOM• A simulação discreta do SOM é composta das seguintes etapas:
1. Inicializar os pesos da rede aleatoriamente e os parâmetros η, σ e nmax.
Inicializar a variável de tempo discreto n = 1.
2. Apresentar, aleatoriamente, um vetor de entrada do arquivo de treinamento e calcular a ativação de todos os neurônios da rede.
3. Determinar o neurônio vencedor, de índice c.
4. Calcular o fator de vizinhança (πic) para cada neurônio i da rede, em função da sua distância em relação ao neurônio c, dic.
5. Atualizar os pesos de todos os neurônios da rede, levando em conta o seu fator de vizinhança.
6. Incrementar n e atualizar os parâmetros η e σ.
7. Voltar para 2 enquanto n ≤ nmax.
Informática
UFRGS Prof. Paulo Martins Engel
59
Mapas Semânticos (Contextuais)
• Pode-se formar mapas topográficos para dados abstratos, como palavras, nos quais as relações semânticas são refletidas por suas distâncias relativas no mapa.
• Para tanto, é necessária a inclusão dos contextos nos quais cada símbolo aparece.• Com isso, a rede é capaz de detectar a “similaridade lógica” entre palavras, a partir das
estatísticas de seus contextos.• O problema dos mapas semânticos está relacionado com a formação auto-organizada de
uma organização de categorias (representação interna) por meio de dados que contêm informação implícita relacionada com estas categorias.
• O problema de aplicar a lei de adaptação competitiva (baseada em distância) a símbolos é que o significado de um símbolo é desassociado da sua codificação, não havendo assim uma noção de similaridade “lógica” entre as representações simbólicas.
• Entretanto, a similaridade lógica entre os símbolos pode ser detectada indiretamente se eles forem apresentados juntamente com um conjunto de atributos do item que eles codificam, ou seja, o seu contexto.
• O vetor de entrada para o mapa x seria a concatenação do código simbólico xs com o conjunto de atributos xa: x = [xs xa]T.
Informática
UFRGS Prof. Paulo Martins Engel
60
Mapas Semânticos (Contextuais)
• A entrada do mapeamento semântico é um vetor de duas componentes ortogonais, xs e xa, onde a norma da componente dos atributos predomina sobre a norma da parte simbólica durante o processo de auto-organização.
• Assim, o mapeamento topográfico reflete principalmente as relações métricas do conjunto de atributos.
• Entretanto, como as entradas dos sinais simbólicos estão concomitantemente ativas com a componente simbólica durante o treinamento, são formados traços de memória entre estas entradas e as células do mapa que foram selecionadas pela componente de atributos.
• Por outro lado, durante a fase de reconhecimento de informações de entrada, os sinais de atributo são mais fracos, ou ausentes, mas, mesmo assim, a componente simbólica é capaz de ativar as mesmas unidades do mapa.
• Normalmente, os atributos são variáveis discretas (ausência: 0, ou presença: 1), cuja identidade é claramente dada pela sua posição no “campo de atributos” (xa).
• Exemplo: geração de um mapa semântico cujas entradas representam a codificação do nome de um (entre 16) animal (xs) e um conjunto de 13 atributos discretos (xa), representando características como tamanho, número de patas, cobertura e hábitos.
• xs é um vetor 16-D com apenas um bit igual a a (= 0,2) e os demais são zero.
Informática
UFRGS Prof. Paulo Martins Engel
61
Entradas: nomes de animais e seus atributos
0000000000001100nada0000000001111001voa0111101100000000corre0001111011110000caça0000000001111111tem penas0111001000000000tem crina1110000000000000tem cascos1111111110000000tem pelos1111111110000000tem 4 patas0000000001111111tem 2 patas1111100000000000é grande0000001111000000é médio0000010000111111é pequeno
vaca
zebra
cavalo
leão
tigre
gato
lobo
cão
raposa
águia
falcão
couja
ganso
pato
galinha
pombo
Informática
UFRGS Prof. Paulo Martins Engel
62
Visualização por rotulação• Podemos visualizar um mapa de características rotulando cada neurônio pelo
padrão de teste que excita este neurônio de maneira máxima (melhor estímulo).• A rotulação produz uma partição da grade de neurônios (10 x 10) evidenciando
uma hierarquia de domínios aninhados.
gatogatoraposaraposaraposaáguiaáguiaáguiagalinhagalinha
gatogatoraposaraposaraposaáguiaáguiaáguiagalinhagalinha
gatocãocãocãocãoáguiaáguiaáguiapombopombo
leãocãocãocãocãocorujacorujacorujapombopombo
leãoleãocãocãocãofalcãofalcãocorujacorujapombo
leãoleãolobolobolobofalcãofalcãofalcãocorujaganso
tigretigrelobolobolobofalcãofalcãofalcãogansoganso
tigretigrelobolobozebrazebrazebragansogansoganso
tigretigrevacavacazebrazebrazebracavalopatopato
vacavacavacavacazebrazebracavalocavalopatopato
Informática
UFRGS Prof. Paulo Martins Engel
63
• O algoritmo COBWEB é um método hierárquico incremental de agrupamento de conceitos, que assimila cada objeto seqüencialmente numa hierarquia definida por uma árvore.
• Além disso, COBWEB leva em conta o desempenho geral do classificador resultante para organizar a sua configuração.
• O algoritmo executa uma busca baseada em subida de encosta no espaço de esquemas de classificação hierárquicos
• COBWEB favorece classes que maximizam a informação que pode ser prevista pelo conhecimento da pertinência de classe.
• Com isso, ele maximiza a capacidade de inferência do esquema de classificação gerado.
Agrupamento de conceitos: COBWEB
Elemento deaprendizagemAmbiente
Base de Conhecimento
Elemento dedesempenho
Informática
UFRGS Prof. Paulo Martins Engel
64
• Cada amostra é examinada individualmente. A cada estágio o algoritmo forma uma árvore com casos nas folhas e um nó raiz que representa o conjunto completo de dados.
• No início, a árvore consiste apenas do nó raiz. Cada amostra éacrescentada, uma a uma, e a árvore é atualizada apropriadamente a cada estágio.
• A atualização pode ser meramente encontrar o lugar correto para colocar uma folha representando uma nova amostra, ou pode envolver uma reestruturação radical da parte da árvore afetada pela nova amostra.
• A chave para decidir como e onde atualizar a árvore é uma função chamada de utilidade da configuração que mede a qualidade global de uma partição de amostras em agrupamentos.
Agrupamento incremental (Cobweb)
Informática
UFRGS Prof. Paulo Martins Engel
65
Utilidade de uma configuração de categorias
[ ] [ ] [ ]∑∑∑=
===n
k i jkijiijikiji CvavaCva
1|Pr|PrPr
• A UC mede o balanço entre similaridade intra-classe e dissimilaridade inter-classe de objetos descritos em termos de pares atributo-valor (nominal).
• A similaridade intra-classe se reflete nas probabilidades condicionais:Pr[ai = vij | Ck] que é a probabilidade (de prever) que o atributo ai tenha o valor vij, sabendo que a amostra é do grupo Ck . (k: classe, i: atributo, j: valor)
• Quanto maior ela for, maior a proporção de membros da classe que compartilham o valor e mais previsível é este valor para os membros da classe.
• A similaridade inter-classes é uma função de Pr[Ck | ai = vij] : quanto maior for, menor o número de objetos em classes diferentes que compartilham este valor e mais preditivo este valor é para a classe.
• Pr[ai = vij] é usada para ponderar a importância de cada valor pela sua freqüência de ocorrência; é a probabilidade que uma amostra, sem a informação sobre a que grupo pertence, tenha o valor vij, para o atributo ai.
• Dada uma partição de classes {C1,..., Ck, ..., Cn} podemos escrever o balanço:
Informática
UFRGS Prof. Paulo Martins Engel
66
• UC é derivada da equação do balanço e mede a informação ganha ao se saber que a amostra pertence a uma classe, em relação à falta dessa informação:
Utilidade de uma configuração
[ ] [ ]( )∑∑∑ =−==i j
ijilijil
lk vaCvaCk
CCCUC 2221 Pr|Pr]Pr[1),...,,(
• para k grupos, i atributos, j valores de atributos• Σi Σj Pr[ai = vij | Ck]2 é a média do número de valores de atributos que podem ser
estimados corretamente, conhecendo-se a classe Ck : com a partição {C1, ...,Cn}.• Σi Σj Pr[ai = vij]2 é a média do número de valores de atributos que podem ser
estimados corretamente sem conhecimento a priori das classes.• A divisão por k permite comparação entre diferentes tamanhos de partição.
• Note que, pela regra de Bayes: Pr[ai = vij] Pr[Ck | ai = vij] = Pr[Ck] Pr[ai = vij | Ck]• Com isso:
[ ] [ ] [ ] [ ] [ ]∑ ∑∑∑∑∑==
=====n
k i jkijik
n
k i jkijiijikiji CvaCCvavaCva
1
2
1|PrPr|Pr|PrPr
Informática
UFRGS Prof. Paulo Martins Engel
67
nãoverdadeiroaltaamenachuvoson
simfalsonormalquentenubladom
simverdadeiroaltaamenanubladol
simverdadeironormalamenaensolaradok
simfalsonormalamenachuvosoj
simfalsonormalfriaensolaradoi
nãofalsoaltaamenaensolaradoh
simverdadeironormalfrianubladog
nãoverdadeironormalfriachuvosof
simfalsonormalfriachuvosoe
simfalsoaltaamenachuvosod
simfalsoaltaquentenubladoc
nãoverdadeiroaltaquenteensolaradob
nãofalsoaltaquenteensolaradoa
jogaventosoumidadeTemperaturaTempoID
Dados do tempo com identificadores
Informática
UFRGS Prof. Paulo Martins Engel
68
• A classe não será considerada no processo de agrupamento, ela será mostrada apenas para controle da qualidade do processo.
• A primeira amostra forma um sub-agrupamento próprio abaixo do nó raiz.
• Para cada nova amostra, calcula-se o valor de UCconsiderando todas as possibilidades de ela ser agrupada nas folhas existentes.
• Eventualmente, o maior valor pode resultar da criação de um novo ramo para a amostra.
Agrupamento incremental
Informática
UFRGS Prof. Paulo Martins Engel
69
Passo 1
nãofalsoaltaquenteensolaradoa
jogaventosoumidadeTemperaturaTempoID
[ ] [ ]( )∑∑∑ =−==i j
ijilijil
lk vaCvaCk
CCCUC 2221 Pr|Pr]Pr[1),...,,(a:não
C1
C2
C1
Informática
UFRGS Prof. Paulo Martins Engel
70
Passo 2
[ ] [ ]( )∑∑∑ =−==i j
ijilijil
lk vaCvaCk
CCCUC 2221 Pr|Pr]Pr[1),...,,(
nãoverdadeiroaltaquenteensolaradob
nãofalsoaltaquenteensolaradoa
jogaventosoumidadeTemperaturaTempoID
a:não b:não
C3C2
C1
a:não b:não
C1
C2
Melhor configuração
Informática
UFRGS Prof. Paulo Martins Engel
71
Passos iniciais
a:não a:não b:não c:sim d:sim e:sim
a:não b:não
f:não
c:sim d:sim
e:sim
Informática
UFRGS Prof. Paulo Martins Engel
72
a:não b:não
f:não
c:sim d:sim
e:sim g:sim
b:não
f:não
c:sim
e:sim g:simd:sima:não h:não
Reestruturação por mescla de nós:a e d são mesclados antes de incluir o nó h
Informática
UFRGS Prof. Paulo Martins Engel
73
Hierarquia final
f:não
c:sim
g:sim
d:sima:não h:não l:sim
b:não k:sim
n:nãoj:sim m:sim
e:sim i:sim