Aprendizado Não-Supervisionado Aprendizagem de...

19
Aprendizagem de Máquina Prof. Paulo Martins Engel Aprendizado não-supervisionado Formaçã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 Modelo Entradas 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 Modelo comprimento-sepala largura-sepala comprimento-petala largura-petala Rótulo de classe natural Conjunto de medidas uma amostra do domínio ... ... ... ... 1,8 5,8 2,5 6,7 1,8 6,3 2,9 7,3 ... ... ... ... 1,5 4,5 3,2 6,4 1,4 4,7 3,2 7,0 ... ... ... ... 0,2 1,7 3,4 5,4 0,3 1,5 3,8 5,1 l_petala c_petala l_sepala c_sepala

Transcript of Aprendizado Não-Supervisionado Aprendizagem de...

Page 1: Aprendizado Não-Supervisionado Aprendizagem de Máquinaengel/data/media/file/Aprendizagem/agrupamentos.pdf · Aprendizado não-supervisionado Formação de agrupamentos Informática

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

Page 2: Aprendizado Não-Supervisionado Aprendizagem de Máquinaengel/data/media/file/Aprendizagem/agrupamentos.pdf · Aprendizado não-supervisionado Formação de agrupamentos Informática

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

Page 3: Aprendizado Não-Supervisionado Aprendizagem de Máquinaengel/data/media/file/Aprendizagem/agrupamentos.pdf · Aprendizado não-supervisionado Formação de agrupamentos Informática

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

Page 4: Aprendizado Não-Supervisionado Aprendizagem de Máquinaengel/data/media/file/Aprendizagem/agrupamentos.pdf · Aprendizado não-supervisionado Formação de agrupamentos Informática

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.

Page 5: Aprendizado Não-Supervisionado Aprendizagem de Máquinaengel/data/media/file/Aprendizagem/agrupamentos.pdf · Aprendizado não-supervisionado Formação de agrupamentos Informática

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.

Page 6: Aprendizado Não-Supervisionado Aprendizagem de Máquinaengel/data/media/file/Aprendizagem/agrupamentos.pdf · Aprendizado não-supervisionado Formação de agrupamentos Informática

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)

Page 7: Aprendizado Não-Supervisionado Aprendizagem de Máquinaengel/data/media/file/Aprendizagem/agrupamentos.pdf · Aprendizado não-supervisionado Formação de agrupamentos Informática

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.

Page 8: Aprendizado Não-Supervisionado Aprendizagem de Máquinaengel/data/media/file/Aprendizagem/agrupamentos.pdf · Aprendizado não-supervisionado Formação de agrupamentos Informática

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.

Page 9: Aprendizado Não-Supervisionado Aprendizagem de Máquinaengel/data/media/file/Aprendizagem/agrupamentos.pdf · Aprendizado não-supervisionado Formação de agrupamentos Informática

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

Page 10: Aprendizado Não-Supervisionado Aprendizagem de Máquinaengel/data/media/file/Aprendizagem/agrupamentos.pdf · Aprendizado não-supervisionado Formação de agrupamentos Informática

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

Page 11: Aprendizado Não-Supervisionado Aprendizagem de Máquinaengel/data/media/file/Aprendizagem/agrupamentos.pdf · Aprendizado não-supervisionado Formação de agrupamentos Informática

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.

Page 12: Aprendizado Não-Supervisionado Aprendizagem de Máquinaengel/data/media/file/Aprendizagem/agrupamentos.pdf · Aprendizado não-supervisionado Formação de agrupamentos Informática

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

Page 13: Aprendizado Não-Supervisionado Aprendizagem de Máquinaengel/data/media/file/Aprendizagem/agrupamentos.pdf · Aprendizado não-supervisionado Formação de agrupamentos Informática

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

[ ]( ) [ ]( ) [ ]( )[ ] [ ] [ ]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

Page 14: Aprendizado Não-Supervisionado Aprendizagem de Máquinaengel/data/media/file/Aprendizagem/agrupamentos.pdf · Aprendizado não-supervisionado Formação de agrupamentos Informática

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

Page 15: Aprendizado Não-Supervisionado Aprendizagem de Máquinaengel/data/media/file/Aprendizagem/agrupamentos.pdf · Aprendizado não-supervisionado Formação de agrupamentos Informática

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.

Page 16: Aprendizado Não-Supervisionado Aprendizagem de Máquinaengel/data/media/file/Aprendizagem/agrupamentos.pdf · Aprendizado não-supervisionado Formação de agrupamentos Informática

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)

Page 17: Aprendizado Não-Supervisionado Aprendizagem de Máquinaengel/data/media/file/Aprendizagem/agrupamentos.pdf · Aprendizado não-supervisionado Formação de agrupamentos Informática

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

Page 18: Aprendizado Não-Supervisionado Aprendizagem de Máquinaengel/data/media/file/Aprendizagem/agrupamentos.pdf · Aprendizado não-supervisionado Formação de agrupamentos Informática

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

Page 19: Aprendizado Não-Supervisionado Aprendizagem de Máquinaengel/data/media/file/Aprendizagem/agrupamentos.pdf · Aprendizado não-supervisionado Formação de agrupamentos Informática

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