Plano de Aula Aprendizagem de Máquina Aprendizagem não supervisionada Aprendizagem Não Supervisionada Algoritmos de agrupamento (Clustering) Alessandro L. Koerich Seqüenciais Hierárquicos Baseados na otimização de funções Outros Mestrado em Informática Aplicada Pontifícia Universidade Católica do Paraná (PUCPR) Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Introdução 2 Introdução Previamente, todas as amostras de treinamento estavam rotuladas, ou seja, com o valor do conceito alvo associado vetor de atributos Porém, muitas vezes temos que lidar com exemplos “não–supervisionados”, isto é, exemplos não rotulados, ou seja: 0.43 0.03 0.40 0.19 0.12 0.16 0.04 0.01 0.00 0.01 0.40 0.02 0010 valor do conceito alvo associado ao vetor de atributos Aprendizagem de Máquina sem um conceito alvo associado ou sem um valor de conceito alvo associado Por que? Coletar e rotular um grande conjunto de exemplos pode custar muito (tempo, esforço, dinheiro). Estes exemplos são ditos “supervisionados”, pois, contém tanto a entrada (atributos), quanto a saída (valor do conceito alvo). Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 3 Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 4 Introdução Introdução Porém, podemos utilizar grandes quantidades de dados não rotulados para treinamento e somente então “usar supervisão” para rotular os agrupamentos encontrados. Isto é apropriado para aplicações de datamining, onde o conteúdo de grandes bases de dados não é conhecido antecipadamente. Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 5 Podemos usar métodos não–supervisionados para identificar características que serão então úteis para categorização. Podemos ganhar alguma percepção da natureza (ou estrutura) dos dados. Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Introdução Aprendizagem de Máquina 6 Introdução O interesse principal é desvendar a organização dos padrões em clusters (agrupamentos) consistentes, os quais permitirão descobrir similaridades e diferenças entre padrões bem como derivar conclusões úteis a respeito deles. Exemplo de agrupamentos (clusters) De acordo com a progenitura Existência de pulmões Clustering = Aprendizagem Não Supervisionada = Aprendizado Sem Professor = Taxonomia Numérica = Tipologia = Partição. Ambiente onde vivem Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 7 Alessandro L. Koerich ([email protected]) progênitura e existência de pulmões Mestrado em Informática Aplicada Aprendizagem de Máquina 8 Introdução Introdução Assumimos que: Todos os padrões são representados em termos de atributos (características ou features) que formam vetores de d dimensões Os passos básicos da tarefa de aprendizagem não supervisionada são: 1. 2. 3. 4. ... 1 2 3 4 5 6 7 Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada 5. d 6. Aprendizagem de Máquina 9 Seleção de atributos Medida de proximidade Critério de agrupamento Algoritmo de agrupamento Verificação dos resultados Interpretação dos resultados Alessandro L. Koerich ([email protected]) 1. Seleção de Atributos Atributos devem ser propriamente selecionados para codificar a maior quantidade possível de informações relacionada a tarefa de interesse. Mestrado em Informática Aplicada Aprendizagem de Máquina 11 Aprendizagem de Máquina 10 2. Medida de Proximidade Medida para quantificar quão similar ou dissimilar são dois vetores de atributos. É ideal que todos os atributos contribuam de maneira igual no cálculo da medida de proximidade. Ou seja, que um atributo não seja dominante sobre o outro. Os atributos devem ter também uma redundância mínima entre eles. Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 12 3. Critério de Agrupamento Depende da interpretação que o especialista dá ao termo ”sensível” com base no tipo de cluster que são esperados. Por exemplo, um cluster compacto de vetores de atributos pode ser sensível de acordo com um critério enquanto outro cluster alongado, pode ser sensível de acordo com outro critério. Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 4. Algoritmo de Agrupamento 13 Alessandro L. Koerich ([email protected]) 5. Validação dos Resultados Uma vez obtidos os resultados do algoritmo de agrupamento, devemos verificar sua correção. Isto geralmente é feito através de testes apropriados. Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina Mestrado em Informática Aplicada Aprendizagem de Máquina 14 6. Interpretação dos Resultados 15 Tendo adotado uma medida de proximidade e um critério de agrupamento devemos escolher de um algoritmo de clustering que revele a estrutura agrupada do conjunto de dados. Em geral os resultados de clustering devem ser integrados com outras evidências experimentais e análise para chegar as conclusões corretas. Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 16 Introdução Atenção: Diferentes escolhas de atributos (features), medidas de proximidade, critérios de agrupamento e algoritmos de clustering levam a... Aplicações de Clustering ↓ resultados totalmente diferentes !!! Quatro direções básicas onde clustering é utilizado: Redução de dados Geração de hipóteses Teste de hipóteses Predição baseada em grupos Qual resultado é correto ? Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 17 Alessandro L. Koerich ([email protected]) Definição de Clustering Ci ≠ ∅, m i =1 Mestrado em Informática Aplicada i =X A união de todos os cluster deve ser igual ao conjunto de dados que gerou os clusters, ou seja, X. Ci ∩ C j = ∅ UCi = X Alessandro L. Koerich ([email protected]) i, j = 1,2,..., m Aprendizagem de Máquina i = 1,2,..., m i =1 i = 1,2,..., m i≠ j 18 Nenhum cluster pode ser vazio. UC m Ci ∩ C j = ∅ Aprendizagem de Máquina Definição de Clustering Ci ≠ ∅ , Dado um conjunto de dados X: X = {x1, x2, . . ., xn} definimos como um m–agrupamento de X a partição de X em m conjuntos (clusters ou grupos) C1, C2, ..., Cm tal que as três condições seguintes sejam satisfeitas: Mestrado em Informática Aplicada 19 i≠ j i, j = 1,2,..., m A união de dois clusters deve ser vazio, i.e., dois cluster não podem conter vetores em comum. Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 20 Definição de Clustering Além disso, os vetores contidos em um cluster Ci são mais similares uns aos outros e menos similares aos vetores presentes nos outros clusters. Quantificar os termos “similar” e “dissimilar” depende dos tipos de clusters. Definição alternativa: Um vetor pode pertencer a mais de um cluster fuzzy clustering Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 21 Definição de Clustering Alessandro L. Koerich ([email protected]) Medidas de Proximidade Medidas de Dissimilaridade (DM) Mestrado em Informática Aplicada 1/ p onde xi e yi são as i–ésimas coordenadas de x e y, i=1,2,...,l e wi ≥ 0 é o i–ésimo coeficiente de ponderação. Produto interno (inner) Medida de Tanimoto Alessandro L. Koerich ([email protected]) 22 Métrica lp ponderada (reais): ⎛ l ⎞ d p ( x , y) = ⎜⎜ ∑ wi | x i − yi |p ⎟⎟ ⎝ i =1 ⎠ Medidas de Similaridade (SM) Aprendizagem de Máquina Medidas de Proximidade Métrica lp ponderada Métrica Norma l∞ ponderada Métrica l2 ponderada (Mahalanobis) Métrica lp especial (Manhattan) Distância de Hamming Mestrado em Informática Aplicada Caso particular: p = 2 → Distância Euclidiana. Aprendizagem de Máquina 23 Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 24 Medidas de Proximidade Métrica Norma l∞ ponderada: Medidas de Proximidade Métrica lp especial: d ( x , y ) = max wi | x i − yi | 1≤ i ≤l l d1 ( x , y ) = ∑ wi | x i − yi | i =1 Métrica l2 ponderada: é também chamada de norma Manhattan. d ( x , y ) = ( x − y ) B( x − y ) T onde B é uma matriz simétrica positiva (Mahalanobis) Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 25 Alessandro L. Koerich ([email protected]) Medidas de Proximidade Exemplo: Mestrado em Informática Aplicada Aprendizagem de Máquina 26 Medidas de Proximidade Produto interno (inner): l sinner ( x , y) = x y = ∑ x i yi T i =1 Medida de Tanimoto: sT ( x , y ) = Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 27 Alessandro L. Koerich ([email protected]) 1 ( x − y )T ( x − y ) 1+ xT y Mestrado em Informática Aplicada Aprendizagem de Máquina 28 Medidas de Proximidade Consideramos agora, vetores x cujas coordenadas pertencem ao conjunto finito F = {0,1,2,..., k–1}, onde k é um inteiro positivo. Existem exatamente kl vetores x ∈ Fl Estes vetores podem ser considerados como vértices em um grid l–dimensional. Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina Medidas de Proximidade 29 Grid l–dimensional. Alessandro L. Koerich ([email protected]) Medidas de Proximidade Distância de Hamming: k −1 dH ( x , y) = ∑ 30 Medida de Tanimoto: k −1 ∑a k −1 ∑ aij sT ( x , y ) = isto corresponde a soma de todos os elementos fora da diagonal de A, os quais indicam as posições onde x e y diferem. Mestrado em Informática Aplicada Aprendizagem de Máquina Medidas de Proximidade i =0 j =0, j ≠ i Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina i =1 k −1 k −1 k −1 k −1 ii ∑∑ a + ∑∑ a i =1 j = 0 ij i = 0 j =1 k −1 k −1 ij 1 − ∑∑ aij i =1 j =1 Existem ainda diversas outras medidas . . . 31 Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 32 Medidas de Proximidade Vetores com valores discretos e reais Número de Agrupamentos A melhor maneira de designar quais vetores de atributos xi, i=1, 2, ..., N de um conjunto X vetores pertencem a quais clusters seria: Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 33 identificar todas as partições possíveis e selecionar a mais “sensível” de acordo com um critério pré– estabelecido. Entretanto... fazer isto é muito difícil (trabalhoso !!!) Alessandro L. Koerich ([email protected]) Número de Agrupamentos Fazendo S (N, m) representar número de todos os clusters possíveis de N vetores em m grupos. Mestrado em Informática Aplicada Solução → Números de Stirling: As seguintes condições se mantêm.... S (N,1) = 1 S (N,N) = 1 S (N,m) = 0, Exemplos numéricos: ou será adicionado a um cluster de qualquer membro LmN −1 ou formará um novo cluster para cada membro LmN−−11 Alessandro L. Koerich ([email protected]) Exemplo: Para X={x1, x2, x3}, quais os agrupamentos possíveis dos elementos em 2 clusters ? N–1 vetores em k clusters, para k = m, m–1. O N–ésimo vetor: Mestrado em Informática Aplicada Aprendizagem de Máquina 35 1 m ⎛m⎞ ( −1 ) m − i ⎜ ⎟ i N ∑ m! i =0 ⎝ i ⎠ para m > N LkN −1 : lista contendo todos os agrupamentos possíveis de 34 Número de Agrupamentos S( N , m) = Aprendizagem de Máquina S (15,3) = 2 375 101 S (25,8) = 690 223 721 118 368 580 S (100,5) ≈ 1068 Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 36 Número de Agrupamentos Os resultados anteriores são para um número fixo de clusters, m → fixo Para enumerar todos os clusters possíveis para todos os valores possíveis de m → computacionalmente intratável Exemplo: 100 objetos, 5 clusters, 10-12 seg/cluster → 1048 anos Algoritmos de Clustering Objetivo: Encontrar agrupamentos representativos considerando somente uma pequena fração do conjunto contendo todas as partições possíveis de X. Solução: Algoritmos de Clustering Problema: Os resultados dependem: Entretanto, o objetivo é sempre tentar identificar o agrupamento mais “sensível” ( ou representativo). Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 37 de um algoritmo específico; dos critérios utilizados. Alessandro L. Koerich ([email protected]) Algoritmos de Clustering O que é um algoritmo de Clustering? Os algoritmos de clustering podem ser divididos em categorias: Seqüenciais Hierárquicos Baseados na otimização de funções custo Outros: Fuzzy, LVQ, SOM Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 39 38 Principais características dos algoritmos seqüenciais: Aprendizagem de Máquina Algoritmos Seqüenciais É um procedimento de aprendizagem que tenta identificar características específicas dos agrupamentos intrínsecos (ou existentes) em um conjunto de dados. Mestrado em Informática Aplicada Algoritmos desta categoria produzem um único agrupamento. São algoritmo diretos e rápidos. Geralmente, todos os vetores de características são apresentados ao algoritmo uma ou várias vezes (até 5 ou 6 vezes). O resultado final geralmente depende da ordem de apresentação. Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 40 Algoritmo BSAS Basic Sequential Algorithmic Scheme (BSAS) Algoritmo BSAS Parâmetros do BSAS Todos os vetores são apresentados uma única vez ao algoritmo. Número de clusters não é conhecido a priori. Novos clusters são criados enquanto o algoritmo evolui. Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 41 d (x, C): distância (ou dissimilaridade) entre um vetor de características x e um cluster C. Θ: limiar de dissimilaridade q: número máximo de clusters. m: número de clusters que o algoritmo criou até o momento. Idéia Básica do BSAS: para um dado vetor, designá–lo para um cluster existente ou criar um novo cluster (depende da distância entre o vetor e os clusters já formados). Alessandro L. Koerich ([email protected]) Algoritmo BSAS Mestrado em Informática Aplicada Aprendizagem de Máquina 42 Algoritmo BSAS Para estimar o número de clusters, um procedimento auxiliar é utilizado: 2 Esta instrução é ativada nos casos onde cada cluster é representado por um único vetor. Por exemplo, se cada cluster for representado por um vetor médio, ele deve ser atualizado cada vez que um novo vetor se tornar membro do cluster. Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 43 Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 44 Algoritmo BSAS Melhoramento do Algoritmo BSAS Modified Basic Sequential Algorithmic Scheme (MBSAS) Two–Threshold Sequential Algorithmic Scheme (TTSAS) Estes algoritmos possuem estágios de refinamento, isto é: Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 45 Melhoramento do Algoritmo BSAS Estágio de refinamento: procedimento para unir clusters Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 46 Melhoramento do Algoritmo BSAS 47 um procedimento de unir clusters um procedimento de re–atribuição de vetores aos clusters. Estágio de refinamento: procedimento para re– atribuição, ou seja, retirar um vetor de um cluster e “colocá–lo” em outro mais próximo. Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 48 Algoritmos Hierárquicos Podem ser divididos em 2 subcategorias: Aglomerativos Algoritmos Hierárquicos produzem uma seqüência de agrupamentos com um número decrescente de clusters, m a cada passo. Os agrupamentos produzidos em cada passo resultam do anterior pela fusão de dois clusters em um. Atuam na direção oposta, isto é, eles produzem uma seqüência de agrupamentos com um número crescente de clusters, m a cada passo. Os agrupamentos produzidos em cada passo resultam da partição de um único cluster em dois. Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina ao invés de produzir um único agrupamento, eles produzem uma hierarquia de agrupamentos. Considerando um conjunto de vetores d–dimensionais a serem agrupados: X = {xi, i=1,2, ..., m} Definição de agrupamento: Divisivos Os algoritmos hierárquicos tem uma filosofia diferente dos algoritmos seqüenciais. onde Cj ⊆ X. 49 Alessandro L. Koerich ([email protected]) Algoritmos Hierárquicos Um agrupamento ℜ1 contendo k clusters é dito aninhado (nested) no agrupamento ℜ2, o qual contém r (<k) clusters, se: cada cluster em ℜ1 for um subconjunto de um conjunto em ℜ2 e pelo menos um cluster de ℜ1 for um subconjunto próprio de ℜ2. Neste caso, escrevemos ℜ1 ¤ ℜ2 Exemplo Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 51 ℜ = {Cj, j=1,2, ...,m} Mestrado em Informática Aplicada Aprendizagem de Máquina 50 Algoritmos Hierárquicos Algoritmos hierárquicos de agrupamento produzem uma hierarquia de agrupamentos aninhados. Estes algoritmos envolvem N passos, ou seja, tantos passos quanto o número de vetores. Em cada passo t, um novo agrupamento é obtido baseando–se nos agrupamentos produzidos no passo anterior (t–1). Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 52 Hierárquicos Aglomerativos Hierárquicos Aglomerativos O agrupamento inicial ℜ0 para o algoritmo aglomerativo consiste de N clusters cada um contendo um único elemento de X. No primeiro passo, o agrupamento ℜ1 é produzido. Ele contém N–1 conjuntos, tal que ℜ0 ¤ ℜ1. Este procedimento continua até o agrupamento final, ℜN–1 ser obtido, o qual contém um único conjunto, isto é, o conjunto de dados X. A hierarquia dos agrupamentos resultantes é: ℜ0 ¤ ℜ1 ¤ ℜ2 ¤ . . . ¤ ℜN–1 Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 53 Hierárquicos Aglomerativos Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 55 Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 54 Hierárquicos Aglomerativos Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 56 Hierárquicos Aglomerativos Algoritmos aglomerativos baseados na teoria das matrizes Hierárquicos Aglomerativos MUAS: Matrix Updating Algorithmic Scheme WPGMA: Weighted Pair Group Method Average UPGMA: Unweighted Pair Group Method Average UPGMC: Unweighted Pair Group Method Centroid WPGMC: Weighted Pair Group Method Centroid Ward’s Algorithm Mestrado em Informática Aplicada Aprendizagem de Máquina GTAS: Graph Theory–Based Algorithmic Scheme Algoritmos aglomerativos baseados na árvore mínima MST: Minimum Spanning Tree Referência: S. Theodoridis & K. Koutroumbas, Pattern Recognition, Academic Press, 1999. Referência: S. Theodoridis & K. Koutroumbas, Pattern Recognition, Academic Press, 1999. Alessandro L. Koerich ([email protected]) Algoritmos aglomerativos baseados na teoria dos grafos 57 Alessandro L. Koerich ([email protected]) Hierárquicos Divisivos Os algoritmos divisivos trabalham de maneira inversa. O agrupamento inicial ℜ0 para o algoritmo divisivo consiste de um único conjunto X. Este procedimento continua até que o agrupamento final ℜN–1 seja obtido, o qual contém N conjuntos, cada um consistindo de um único elemento de X. A hierarquia dos agrupamentos resultantes é: ℜN–1 ¤ ℜN–2 ¤ . . . ¤ ℜ0 Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 59 Aprendizagem de Máquina 58 Hierárquicos Divisivos O método direto considera todas as 2N–1–1 possíveis partições de X em dois conjuntos e seleciona o ótimo de acordo com um critério pré–especificado. Este procedimento é aplicado iterativamente a cada um dos dois conjuntos produzidos no estágio precedente. O agrupamento final consiste de N clusters cada um contendo um único vetor de X. No primeiro passo, o agrupamento ℜ1 é produzido. Ele consiste de dois conjuntos tal que ℜ1 ¤ ℜ2. Mestrado em Informática Aplicada Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 60 Hierárquicos Divisivos Algoritmos Hierárquicos Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 61 Escolha do melhor número de clusters O problema é identificar o melhor agrupamento dentro de uma dada hierarquia. Isto corresponde a identificação do número de clusters que melhor se ajusta aos dados. Solução: buscar por clusters que tenham um grande “tempo de vida” em um dendograma de proximidades. Tempo de vida de um cluster: é valor absoluto da diferença entre o nível de proximidade no qual ele é criado e o nível de proximidade no qual ele é absorvido por um cluster maior. Alessandro L. Koerich ([email protected]) Algoritmos Hierárquicos Mestrado em Informática Aplicada Aprendizagem de Máquina 62 Algoritmos Hierárquicos Método Extrínseco requer a determinação do valor de um parâmetro específico, i.e. a definição de uma função h(C) que mede a dissimilaridade entre vetores do mesmo cluster C. Θ : limiar (threshold) apropriado para a h(C) Então o algoritmo termina em ℜt se ∃C j ∈ ℜ t + 1 : h(C j ) > Θ ou seja, ℜt é o agrupamento final se existir um cluster C em ℜt+1, com dissimilaridade entre seus vetores h(C) maior do que Θ. Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 63 Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 64 Algoritmos Hierárquicos Algoritmos Hierárquicos Método Intrínseco O agrupamento final ℜt deve satisfazer a seguinte relação: ss d min (C i , C j ) > max{ h(C i ), h(C j )}, ou seja, no agrupamento final, a dissimilaridade entre cada par de clusters é maior do que a “auto– similaridade” entre cada um deles. h1 (C) = max{d(x, y),x, y ∈C } h2 (C ) = med{d(x, y),x, y ∈C} Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 65 Alessandro L. Koerich ([email protected]) Algoritmos Baseados em Otimização Baseiam–se na otimização de uma função custo J usando diferente técnicas de cálculo. O custo J é uma função dos vetores do conjunto de dados X e ele é parametrizado em termos de um vetor de parâmetros desconhecidos Θ. Meta: estimação do Θ que melhor caracterize os clusters intrínsecos em X. Mestrado em Informática Aplicada Aprendizagem de Máquina 67 Mestrado em Informática Aplicada Aprendizagem de Máquina 66 Algoritmos Baseados em Otimização O número de clusters m Æ assume–se como sendo conhecido. Alessandro L. Koerich ([email protected]) ∀C i , C j ∈ ℜ t Três categorias principais de algoritmos baseados na otimização de uma função custo: Decomposição de misturas Método Fuzzy Métodos Possibilísticos Métodos Hard Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 68 Algoritmos Baseados em Otimização Decomposição de Misturas: a função custo é construída com base em vetores aleatórios e a atribuição aos clusters segue argumentos probabilísticos. Algoritmos Baseados em Otimização Métodos Hard Método Fuzzy: é definida uma função de proximidade entre um vetor e um cluster e o “grau de afiliação (adesão)” de um vetor a um cluster é fornecido por um conjunto de funções afiliação. Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 69 Cada vetor pertence exclusivamente a um único cluster. Por isso estes métodos são chamados de hard. A maioria dos algoritmos de clustering mais conhecidos recaem nesta categoria. k–Means ou c–Means se encaixa nesta categoria ! ! ! Alessandro L. Koerich ([email protected]) Outros Algoritmos Algoritmos que não podem ser incluídos nas categorias prévias. Algoritmos baseados na teoria dos grafos Algoritmos de aprendizagem competitiva Algoritmos branch and bound Algoritmos baseados em transformações morfológicas Algoritmos baseados em limites entre os clusters Algoritmos de regiões compactas Algoritmos baseados na otimização de funções (annealing) Algoritmos baseados em GA Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 71 Mestrado em Informática Aplicada Aprendizagem de Máquina 70 Validade dos Clusters Existem métodos para avaliar quantitativamente os resultados dos algoritmos de agrupamento. Referência: S. Theodoridis & K. Koutroumbas, Pattern Recognition, Academic Press, 1999. Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 72 Resumo Aprendizagem não supervisionada ou clustering (agrupamento) busca extrair informação relevante de dados não rotulados. Uma solução mais geral consiste em definir medidas de similaridade entre dois clusters assim como um critério global como a soma do erro quadrático. Existem vários algoritmos que fazem agrupamento. Os algoritmos de agrupamento são classificados como hierárquicos ou seqüenciais (ou iterativos). Introdução: Aprendizagem treinamento h1 h2 h4 Árvore Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 73 Introdução: Classificação Árvore de Decisão x (exemplo de teste) h1 h2 h4 Valor do Conceito Alvo Hipóteses P(h1), P(D| h1) P(h2), P(D| h2) P(h3), P(D| h3) Bayes Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina H (conjunto de hipóteses) D (exemplos de treinamento) 75 Alessandro L. Koerich ([email protected]) P(h1), P(D| h1) P(h2), P(D| h2) P(h3), P(D| h3) Hipóteses Mestrado em Informática Aplicada Bayes Aprendizagem de Máquina 74