Avaliação de Classificadores
• Existem poucos estudos analíticos sobre o comportamento de algoritmos de aprendizagem.
• A análise de classificadores é fundamentalmente experimental.
• Dimensões de análise: Taxa de erro global
Taxa de erro por classe
Complexidade dos modelos Tempo de aprendizagem Entre outros
Definição: Clustering
• Clustering é um processo para organizar objetos em grupos nos quais seus membros sejam de alguma forma similares.
Técnica de aprendizagem não supervisionada: a
classificação não consta na base de dados.
• Um cluster (agrupamento) será então uma coleção de objetos similares entre si, e que não são semelhantes aos objetos pertencentes a outros grupos.
Aplicações de Clustering
• Reconhecimento de Padrões
Identificar padrões que serão avaliados posteriormente
• Análise de Dados Espacial
detecte clusters espaciais e explique-os no contexto da
mineração de dados espaciais
• Processamento de Imagens
• Economia (especialmente pesquisa de mercado)
• Web
Classificação de documentos
Agrupamento de dados provenientes do Weblog para
Exemplos de Aplicações de
Clustering
Marketing: Ajuda os marqueteiros a descobrir grupos de clientes e usa esse conhecimento para orientar as
campanhas publicitárias
Solo: Identificação de áreas de propriedades similares
Seguro: Identificação de grupos de segurados com um custo médio elevado de reembolso
Planejamento Urbano: Identificação de grupos de
habitação segundo o tipo, valor e localização geográfica
O que é um bom
cluster(agrupamento)?
• Um bom método de agrupamento fornece grupos de alta qualidade com
Alta similaridade intra-grupo baixa similaridade inter-grupo
• A qualidade do resultado de um agrupamento depende tanto da medida de similaridade usada pelo método
como da sua implementação.
• A qualidade de um método de agrupamento é também medido pela sua habilidade para descobrir os padrões escondidos.
Principais Etapas da Formação de
Agrupamentos
1. Aquisição dos dados
Seleção das observações (indivíduos, objetos, casos,
itens)
Seleção das variáveis (caracteres, descritores) e das
correspondentes escalas
Construção da Tabela de Dados
2. Pré-processamento dos dados
Mudança de escala Normalização
Principais Etapas da Formação de
Agrupamentos
3. Construção da Tabela de Dados
4. Cálculo da Proximidade
Escolha de um Índice de Proximidade Construção da Matriz de Proximidades
5. Seleção de um Algoritmo de Formação de Grupos em função do tipo de agrupamento desejado
Requisitos
• Escalabilidade
• Abilidade para tratar com diferentes tipos de atributos
• Descoberta de grupos de forma arbitrária
• Requerimentos mínimos do conhecimento do dominio em relação aos parâmetros de entrada
• Capaz de tratar ruidos e valores aberrantes
• Insensível à ordem dos registros de entrada
• Alta dimensionalidade
• Incorporação de restrições fornecidas pelo usuário
• Interpretabilidade e usabilidade
Problemas
Os principais problemas são:
Técnicas de clustering atuais não endereçam todos os requisitos adequadamente (e concorrentemente);
O tempo gasto para tratar grandes números de dimensões e grandes números de dados é bastante alto;
A eficiência do método dependerá dos critérios de similaridade e dissimilaridades utilizadas;
Caso uma característica não exista, deverá ser definida, especialmente em espaços multidimensionais;
Métodos de Clusterização
Cobertura Partição Hierárquico slide 14 0 1 2 3 4 5 0 1 2 3 4 5 e e e e e 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5 e e e e e 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5 e e e e e 1 2 3 4 5Métodos de Agrupamento
Técnicas de Otimização
Objetivo: obter uma partição. Número de grupos
fornecido pelo usuário
Técnicas Hierárquicas
Objetivo: obter uma hierarquia (ou uma pirâmide)
Pode-se obter uma partição “cortando-se” a hierarquia em um determinado nível.
Técnicas de Cobertura
Objetivo: obter grupos que eventualmente podem
K-Means: Algoritmo
Dado k, o algoritmo k-means é implementado em
4 passos:
1. Partição dos objetos em k grupos não vazios
2. Defina os valores dos centroides dos grupos da partição
atual.
3. Gerar uma matriz de distância entre cada ponto e os
centróides.
4. Volte para o passo 2, pare quando não houver novas
partições ou atingir uma quantidade máxima de iterações.
K-Means: Algoritmo
slide 18 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10K-Means: Exemplo
Passo 1: k = 2 G1={1,2,3} e G2={4,5,6,7} Passo2: g1 = (1.83, 2.33) e g2 = (4.13, 5.38) Passo3: Passo 4: G1={1,2} e G2 = {3,4,5,6,7} Houve modificação dos grupos? Sim. Vá para o passo 2
X X1 X2 1 1.0 1.0 2 1.5 2.0 3 3.0 4.0 4 5.0 7.0 5 3.5 5.0 6 4.5 5.0 7 3.5 4.5 X 1 2 3 4 5 6 7 g1 1.57 0.47 2.04 5.65 3.15 3.78 2.74 g2 5.38 4.28 1.78 1.83 0.74 0.53 1.08
K-Means
Pontos fortes
Relativamente eficiente: O(tkn), onde n é o número de
objetos, k é o número de grupos, e t é o número de iterações. Normalmente, k, t << n.
Frequentemente termina em um otimo local. O otimo global
pode ser encontrado usando tecnicas de otimização.
Pontos fracos
Aplicavel apenas quando a média é definida, o que fazer com
dados categóricos?
É necessário especificar a priori o número de grupos (k) É sensível a ruidos e valores aberrantes
Não é apropriado para a descoberta de grupos não esféricos
K-Means
• Métodos que fornecem uma partição hard: Produz uma partição de uma base de dados D de n objetos em k grupos
• Dado k, encontre uma partição em k grupos que otimiza um dado critério
Otimo global: enumeração exaustiva de todas as partições Heuristicas: k-means
k-means (MacQueen-1967): Cada grupo é representado pelo
seu centro
k-medoids ou PAM (Partition around medoids) (Kaufman &
Rousseeuw-1987): Cada grupo é representado por um objeto no grupo
k-modas (Huang-1998): Troca as medias pelas modas dos
grupos
Fuzzy k-means: Gera uma partição fuzzy. Cada padrão possui
Agrupamento Hierárquico
Aglomerativo
Parte-se de uma tabela de dados e calcula-se uma distância entre os indivíduos
Os métodos ascendentes hierárquicos tem por objetivo a construção de uma seqüência de partições
encaixadas chamada hierarquia. A representação
gráfica dessas hierarquias é realizada por uma árvore hierárquica ou dendrograma.
Agrupamento Hierárquico
Aglomerativo
Algoritmo Geral de Agrupamento Hierárquico Aglomerativo
1. Iniciar o agrupamento formado por grupos unitários
2. Encontre, no agrupamento corrente, o par de grupos de
dissimilaridade mínima (criar uma matriz de dissimilaridade)
3. Construa um novo grupo pela fusão desse par de grupos de dissimilaridade mínima
4. Atualize a matriz de dissimilaridades:
1. suprima as linhas e as colunas correspondentes aos grupos fusionados e; 2. adicione uma linha e uma coluna correspondente as dissimilaridades
entre o novo grupo e os grupos antigos
Pode ser dado pela menor dissimilaridade entre os elementos unidos.
5. Se todos os objetos estão grupados, pare; senão vá para o passo 2
Agrupamento Hierárquico:
Exemplo
Base de Dados:
Matriz de Dissimilaridades:
Ex. Sono Trans Conic Alcool Sair Fome
E01 Pouco Carro Sim Não Não Sim
E02 Pouco Carona Não Não Sim Sim
E03 Sim Carro Não Sim Sim Não
Agrupamento Hierárquico:
Exemplo
Matriz de Dissimilaridades
Passo 1: C1={E01}, C2={E02}, C3={E03}, C4={E04}
Passo 2: dmin = 2 ⇒ C5= C3 ∪ C4 = {E03,E04}
Passo 3:
Agrupamento Hierárquico:
Exemplo
Passo 4: dmin = 3 ⇒ C6= C1 ∪ C2 ={E01,E02}
Passo5
Agrupamento Hierárquico
Aglomerativo
Vantagem
A quantidade de clusters é variável de acordo com o
ponto de análise da árvore
Desvantagem
Pouca escalabilidade: complexidade O(n2), onde n é o
número de objetos;
Redes Auto-Organizáveis
• Em diversas aplicações os dados não possuem a
informação de qual classe um determinado padrão pertence.
• Em outros casos não se sabe nem a quantidade de classes existentes em um determinado grupo de amostras.
• Daí surge a necessidade de uma técnica que organize os padrões similares por si só, gerando assim sua
própria organização dos dados
Redes Auto-Organizáveis
Arquitetura da Rede:
2 Camadas (Entrada e Saída) Neurônio da camada de
entrada são completamente conectados com os neurônios da camada de saída.
Neurônios da camada de saída
são conectados aos vizinhos da mesma camada de acordo com o formato da vizinhança.
Redes Auto-Organizáveis
Arquitetura da Rede:
• Definição da Vizinhança:
Quadrado,hexágono, círculo,
entre outras. O quadrado é a mais comum
A atualização dos pesos pode
ser influenciada de acordo com um raio de distância entre o neurônio vencedor e seus vizinhos
Redes Auto-Organizáveis
Algoritmo de Aprendizagem:
• Inicialização dos pesos:
De forma aleatória e esses não devem ter valores repetidos. Isso evitará que regiões diferentes possuam o mesmo valor de saída do neurônio
• Etapa competitiva:
O algoritmo utiliza a distância euclidiana para buscar o neurônio que possui maior similaridade com o padrão de entrada
• Etapa cooperativa:
Identifica os neurônios que serão atualizados de acordo com a função vizinhança h. Essa função deve ter seu máximo no neurônio vencedor e diminuir a medida que a vizinhança fica distante.
• Etapa adaptativa:
Os pesos do neurônio vencedor e seus vizinhos são atualizados utilizando a seguinte equação:
Wij(t+1) = Wij(t) + (t)hij(Xi(t) - Wij(t)) • Critério de parada:
Atingir a quantidade máxima de ciclos
Redes Auto-Organizáveis
O resultado final do processo de aprendizado de uma rede auto-organizável é um mapa topológico que exibe características estatísticas importantes extraídas dos dados de treinamento
Exercícios
Implementar o K-Means considerando a base de dados fornecida
Considerar o k igual a 2 e 3 e avaliar os resultados obtidos
Apresentar um resumo contendo:
Breve descrição da técnica;
Breve descrição do código;
Experimentos com os resultados obtidos descrevendo os principais pontos observados com a variação do k comparando a classificação desejada da obtida.
Breve conclusão
Referências