Agrupamento de dados



Documentos relacionados
MINERAÇÃO DE DADOS APLICADA. Pedro Henrique Bragioni Las Casas

Projeto de Redes Neurais e MATLAB

Clustering - agrupamento. Baseado no capítulo 8 de. Introduction to Data Mining

Dificuldades de Modelos de PNL. Onde está a solução ótima? Outro exemplo: Condição ótima Local vs. Global Quinta-feira, 25 de abril

Recuperação de Informação em Bases de Texto. Aula 10

MLP (Multi Layer Perceptron)

Organizaçãoe Recuperaçãode Informação GSI521. Prof. Dr. Rodrigo Sanches Miani FACOM/UFU

ORI: Pontuação e o modelo de espaço vetorial

Aprendizagem de Máquina. Ivan Medeiros Monteiro

Organizaçãoe Recuperaçãode Informação GSI521. Prof. Dr. Rodrigo Sanches Miani FACOM/UFU

Prof. Júlio Cesar Nievola Data Mining PPGIa PUCPR

A Otimização Colônia de Formigas

Possui como idéia central a divisão de um universo de dados a ser organizado em subconjuntos mais gerenciáveis.

O modelo espaço de vetores. vetorial. Marcelo Keese Albertini. Faculdade de Computação - UFU. O modelo de espaço vetorial 1 / 25

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento

AS FUNÇÕES ADMINISTRATIVAS

O modelo espaço de vetores. vetorial. Marcelo Keese Albertini. Faculdade de Computação - UFU 12/03/2013. O modelo de espaço vetorial 1 / 27

Aprendizagem de Máquina

ISO/IEC 12207: Gerência de Configuração

Vetor Quantização e Aglomeramento (Clustering)

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2

Inicialização Rápida do Novell Messenger Móvel

Algoritmos de pesquisa. Tabelas de dispersão/hash

4 Estudo de caso: Problema de seqüenciamento de carros

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Figura 5.1.Modelo não linear de um neurônio j da camada k+1. Fonte: HAYKIN, 2001

INTELIGÊNCIA ARTIFICIAL Data Mining (DM): um pouco de prática. (1) Data Mining Conceitos apresentados por

AULA 6 - Operações Espaciais

Apresentando o novo modelo de atendimento Centro Marista de Serviços - CMS. Curitiba, Julho de 2014

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

ESTUDO DE VIABILIDADE. Santander, Victor - Unioeste Aula de Luiz Eduardo Guarino de Vasconcelos

Computadores de Programação (MAB353)

Você consegue dirigir seu carro sem um painel de controle? Você consegue gerenciar um Service Desk sem Indicadores?

AULA 06 CRIAÇÃO DE USUÁRIOS

Resolvendo problemas de conexão de rede wireless no pregão 83/2008

Sistemas Operacionais

TÉCNICAS DE PROGRAMAÇÃO

Tabela de símbolos: tabelas de espalhamento

Backup. Permitir a recuperação de sistemas de arquivo inteiros de uma só vez. Backup é somente uma cópia idêntica de todos os dados do computador?

Análise de Links e Busca na Web

Glossário. Treinamento OTRS Help Desk

4 Segmentação Algoritmo proposto

Status. Barra de Título. Barra de Menu. Barra de. Ferramentas Padrão. Caixa de nomes. Barra de. Ferramentas de Formatação. Indicadores de Coluna

Glossário Treinamento OTRS Help Desk

Clustering: K-means and Aglomerative

O uso da Mineração de Textos para Extração e Organização Não Supervisionada de Conhecimento

15 4 Operação Avançada do Sistema: Inclusão de Nota Fiscal e seus relacionamentos

Departamento de Matemática - UEL Ulysses Sodré. Arquivo: minimaxi.tex - Londrina-PR, 29 de Junho de 2010.

INF INTELIGÊNCIA ARTIFICIAL TRABALHO 1 BUSCA HEURÍSTICA

IA: Busca Competitiva. Ricardo Britto DIE-UFPI

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br 04/08/2012. Aula 7. Prof. Rafael Dias Ribeiro.

Lista de Exercícios Tratamento de Incerteza baseado em Probabilidade

Algoritmos de Agrupamento - Aprendizado Não Supervisionado. Fabrício Jailson Barth

Modelos Pioneiros de Aprendizado

IA Colônia de Formigas. Prof. Ricardo Britto DIE-UFPI

Notas de aula número 1: Otimização *

Resultados Experimentais

Seleção e Monitoramento de Fundos de Investimentos

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

Universidade Tecnológica Federal do Paraná UTFPR Programa de Pós-Graduação em Computação Aplicada Disciplina de Mineração de Dados

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Inteligência de Enxame: ACO

Microsoft Project 2003

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo.

Inteligência Computacional Aplicada a Engenharia de Software

Faculdade Boa Viagem Sistemas de Informação Gerenciais EXERCÍCIO PASSO-A-PASSO PEDIDOS E CONTROLE DE ESTOQUE. Microsoft Access.

O Princípio da Complementaridade e o papel do observador na Mecânica Quântica

2. A FERRAMENTA SOLVER (EXCEL)

DESIGN DE INTERAÇÃO. José Alexandre Ducatti

Análise e Complexidade de Algoritmos

Utilizando o EXCEL Solver

Como criar formulário com o Google Drive

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

Módulo 9 A Avaliação de Desempenho faz parte do subsistema de aplicação de recursos humanos.

Testedegeradoresde. Parte X. 38 Testes de Ajuste à Distribuição Teste Chi-Quadrado

ALGORITMOS GENÉTICOS

Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto

Data, Text and Web Mining

Guia de Início Rápido

ÍNDICE... 2 INTRODUÇÃO... 4

Guia do Estudante. Versão 1.2b

PRINCÍPIOS PIOS DO TRATAMENTO DA DEPENDÊNCIA QUÍMICA

Introdução à Informática Professor: Juliano Dornelles

Faculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu

CÓDIGO CRÉDITOS PERÍODO PRÉ-REQUISITO TURMA ANO INTRODUÇÃO

Arquitetura de Computadores. Sistemas Operacionais IV

Google Drive. Passos. Configurando o Google Drive

MANUAL DE UTILIZAÇÃO

1. Avaliação de impacto de programas sociais: por que, para que e quando fazer? (Cap. 1 do livro) 2. Estatística e Planilhas Eletrônicas 3.

CARTILHA PERFIS DE INVESTIMENTOS

Relatório Trabalho Prático 2 : Colônia de Formigas para Otimização e Agrupamento

Sistema TrackMaker de Rastreamento e Logística de Transportes. Solução de Despacho Integrada. Manual do Usuário

Design Web - Percepção. Elisa Maria Pivetta

O CONSELHO FEDERAL DE CONTABILIDADE, no exercício de suas atribuições legais e regimentais,

Algoritmos Genéticos

Sumário. Introdução ao Microsoft Project. 1 Microsoft Project, gerenciamento de projetos e você 3. 2 Visão geral do Project 11.

Tutorial Plone 4. Manutenção de Sites. Universidade Federal de São Carlos Departamento de Sistemas Web Todos os direitos reservados

Transcrição:

Organização e Recuperação de Informação: Agrupamento de dados Marcelo K. A. Faculdade de Computação - UFU Agrupamento de dados / 7

Overview Agrupamento: introdução Agrupamento em ORI 3 K-médias 4 Avaliação 5 Quantos grupos Agrupamento de dados / 7

Conteúdo O que é agrupamento? Aplicações de agrupamento em ORI Algoritmo K-médias Avaliação de agrupamento Quantos grupos? Agrupamento de dados 3 / 7

Agrupamento: definição agrupamento de documentos é o processo de organização documentos em grupos Documentos em um grupo devem ser similares Documentos de grupos distintos devem ser dissimilares agrupamento é a forma mais comum de aprendizado não supervisionado não supervisionado = sem rótulos ou informação auxiliar Agrupamento de dados 5 / 7

Exercício: algoritmo para agrupar dados 0.0 0.5.0.5.0.5 Propor algoritmo para encontrar a estrutura de agrupamento nessa figura 0.0 0.5.0.5.0 Agrupamento de dados 6 / 7

Classificação vs. agrupamento Classificação: aprendizado supervisionado agrupamento: aprendizado não supervisionado Classificação: classes são parte da entrada para o algoritmo de aprendizado agrupamento: grupos são inferidos a partir da proximidade de dados, sem indicação humana/externa Maneira de influenciar a criação de agrupamento: número de grupos, medida de similaridade, representação de documentos,... Agrupamento de dados 7 / 7

Hipótese de agrupamento Documentos no mesmo grupo se comportam de maneira similar à relevância em relação à necessidade de informação Agrupamento de dados 9 / 7

recuperação baseada em agrupamento coleção melhor eficiência: busca mais rápida Agrupamento de dados 0 / 7 Aplicações de agrupamento em ORI aplicação o que é benefício agrupado? agrupamento de resultados de busca Scatter-Gather resultados de busca (subconjuntos da) coleção informação mais efetiva apresentação para usuário interface alternativa: busca sem digitar agrupamento de coleções coleção navegação exploratória

Agrupamento de resultados de busca para melhor navegação Agrupamento de dados / 7

Scatter-Gather Agrupamento de dados / 7

Navegação global: Yahoo Agrupamento de dados 3 / 7

Navegação global: MESH (nível superior) Agrupamento de dados 4 / 7

Navegação global: MESH (nível inferior) Agrupamento de dados 5 / 7

Hierarquias de navegação: criação automática vs. manual Note: Yahoo/MESH não são exemplos de agrupamento. Alguns exemplos basedos em agrupamento: Cartia Themescapes Google News Agrupamento de dados 6 / 7

Navegação global combinada com visualização () Agrupamento de dados 7 / 7

Navegação global combinada com visualização () Agrupamento de dados 8 / 7

Agrupamento para navegação: Google News http://news.google.com Agrupamento de dados 9 / 7

Agrupamento para melhor taxa de recuperação Melhorar recuperação: Agrupar docs na coleção Quando uma consulta obtém um doc d, também retornar docs no grupo com d Esperança que se fizermos isso, a consulta carro também apresentará automóvel Porquê o algoritmo de agrupamento junta documentos contendo carro com aqueles contendo automóvel Ambos tipos de documentos contém palavras como partes, concessionaria e mecânico Agrupamento de dados 0 / 7

Exercício: algoritmo para agrupar dados 0.0 0.5.0.5.0.5 Propor algoritmo para encontrar a estrutura de agrupamento nessa figura 0.0 0.5.0.5.0 Agrupamento de dados / 7

Metas de agrupamento Meta geral: colocar docs relacionados no mesmo grupo, colocar docs não relacionados em grupos diferentes. Há diferentes forma de formalizar essa meta O número de grupos deve ser apropriado para o conjunto de dados que estamos agrupando Inicialmente, assumiremos que o número de grupos K é conhecido Depois, métodos semi-automáticos para determinar K Metas secundárias em agrupamento Evitar grupos muito pequenos e muito grandes Definir grupos que são fáceis de explicar para o usuário e muitos outros... Agrupamento particional vs. hierárquico Agrupamento fechado (hard) vs. flexível (soft) Agrupamento de dados / 7

Agrupamento particional vs. hierárquico Algoritmos particionais Usualmente inicia com uma partição aleatória dos docs em grupos Refinar/corrigir grupos iterativamente Algoritmo principal: K-médias Algoritmos hierárquicos Criar uma hierarquia De baixo para cima, aglomerativo (mais comum) De cima para baixo, divisivo Agrupamento de dados 3 / 7

Agrupamento fechado (hard) vs. flexível (soft) Agrupamento fechado: cada documento pertence a exatamente um grupo Mais comum e fácil de fazer Agrupamento flexível: um documento pode pertencer a mais de um grupo Faz mais sentido para aplicações que necessitam de hierarquias navegáveis Exemplo: documentos sobre tênis podem ser de dois grupos: esportes sapatos Só é possível com agrupamento flexível Agrupamento de dados 4 / 7

Algoritmos particionais Algoritmos particionais obtém uma partição de N documentos em um conjunto de K grupos. Dado: um conjunto de docs e o número K Encontrar: uma partição em K grupos que otimiza o critério de particionamento escolhido Otimização global: enumerar exaustivamente partições, escolhar a melhor de todas de acordo com o critério Não é tratável Método heurístico efetivo: algoritmo K-médias Agrupamento de dados 5 / 7

K-médias Talvez o algoritmo de agrupamento mais bem conhecido Simples, funciona bem em muitos casos Usar como referência para agrupar documentos Agrupamento de dados 7 / 7

Representação de documentos em agrupamento Modelo de espaço vetorial Medimos a relação entre vetores com distância euclidiana......ou similaridade cosseno Agrupamento de dados 8 / 7

Ideia: K-médias Cada grupo é definido por um centroide. Critério de particionamento: minimizar a diferença quadrática média em relação ao centroide Definição de centroide µ(ω) = ω x x ω onde usamos ω para denotar um grupo Buscamos pela diferença quadrática média mínima pela seguinte iteração: reatribuição: atribuir cada vetor ao seu centroide mais próximo recomputação: recomputar cada centroide como a média de vetores que foram escolhidos na reatribuição Agrupamento de dados 9 / 7

Pseudo-código K-médias (µ k é o centroide de ω k ) K-médias({ x,..., x N },K) ( s, s,..., s K ) EscolherInicioAleatório({ x,..., x N },K) for k to K 3 do µ k s k 4 while critério de parada não foi atingido 5 do for k to K 6 do ω k {} 7 for n to N 8 do j argmin j µ j x n 9 ω j ω j { x n } (reatribuição de vetores) 0 for k to K do µ k ω k return { µ,..., µ K } x ω k x (recomputação de centroides) Agrupamento de dados 30 / 7

Exemplo: pontos para agrupamento Cada ponto representa um documento. Exercício: (i) Adivinhar qual é o agrupamento ideal para dois grupos nesse caso ; (ii) computar os centroides dos grupos Agrupamento de dados 3 / 7

Exemplo: encontrar centroides iniciais aleatoriamente Agrupamento de dados 3 / 7

Exemplo: atribuir pontos para o centroide mais próximo Agrupamento de dados 33 / 7

Exemplo: reatribuição Agrupamento de dados 34 / 7

Exemplo: Recalcular os centroides dos grupos Agrupamento de dados 35 / 7

Exemplo: atribuir pontos para o centroide mais próximo Agrupamento de dados 36 / 7

Exemplo: reatribuição Agrupamento de dados 37 / 7

Exemplo: Recalcular os centroides dos grupos Agrupamento de dados 38 / 7

Exemplo: atribuir pontos para o centroide mais próximo Agrupamento de dados 39 / 7

Exemplo: reatribuição Agrupamento de dados 40 / 7

Exemplo: Recalcular os centroides dos grupos Agrupamento de dados 4 / 7

Exemplo: atribuir pontos para o centroide mais próximo Agrupamento de dados 4 / 7

Exemplo: reatribuição Agrupamento de dados 43 / 7

Exemplo: Recalcular os centroides dos grupos Agrupamento de dados 44 / 7

Exemplo: atribuir pontos para o centroide mais próximo Agrupamento de dados 45 / 7

Exemplo: reatribuição Agrupamento de dados 46 / 7

Exemplo: Recalcular os centroides dos grupos Agrupamento de dados 47 / 7

Exemplo: atribuir pontos para o centroide mais próximo Agrupamento de dados 48 / 7

Exemplo: reatribuição Agrupamento de dados 49 / 7

Exemplo: Recalcular os centroides dos grupos Agrupamento de dados 50 / 7

Exemplo: atribuir pontos para o centroide mais próximo Agrupamento de dados 5 / 7

Exemplo: reatribuição Agrupamento de dados 5 / 7

Exemplo: Recalcular os centroides dos grupos Agrupamento de dados 53 / 7

Exemplo: centroides e atribuições após convergência Agrupamento de dados 54 / 7

Convergência do K-médias é garantida: ideia da prova RSS = soma de todas as distâncias quadradas entre documento e centroide RSS reduz durante cada passo de reatribuição porque cada vetor é atribuido para o centroide mais perto RSS reduz durante cada passo de recálculo Somente há um número finito de agrupamentos. Então chegaremos a um ponto fixo (onde centroides não mais se alteram) Premisa: empates são resolvidos consistentemente Conjunto finito & monotonicamente decrescente convergência Agrupamento de dados 55 / 7

Recomputação decresce a distância média RSS = K k= RSS k soma residual de distâncias quadradas (medida de adequação) RSS k ( v) = v x = M (v m x m ) x ω k x ω k RSS k ( v) v m = x ω k (v m x m ) = 0 m= v m = x m ω k x ω k A última linha é a definição do centroide por componente Minimizamos RSS k quando o centroide anterior é substituido com um novo centroide. RSS, a soma de RSS k, precisa então também reduzir durante os recalculos. Agrupamento de dados 56 / 7

K-médias converge Mas não sabemos quanto tempo levará Se não nos importamos com alguns docs trocando de grupo repetidamente então, convergência será rápida (< 0-0 iterações). Porém, convergência completa pode levar mais iterações Agrupamento de dados 57 / 7

Otimalidade do K-médias Convergência otimalidade Convergência não significa que encontramos o agrupamento ótimo Fraqueza do K-médias. Se iniciamos com centroides ruins, o resultado pode ser longe do ótimo Agrupamento de dados 58 / 7

Exercício: agrupamento subótimo 3 0 d d d 3 0 3 4 d 4 d 5 d 6 Para que é o agrupamento ótimo K =? Convergimos nesse agrupamento para aleatórios d i,d j? Agrupamento de dados 59 / 7

Inicialização de K-médias Inicialização aleatória é uma das muitas maneiras que K-médias pode usar Inicialização aleatória leva frequentemente a agrupamentos subótimos Outras maneiras: Usar heurística: não escolher elementos espúrios ou encontrar centroides bem espalhados no espaço Usar vários conjuntos de centroides aleatórios iniciais, rodar o algoritmo para cada conjunto e escolher o agrupamento com menor RSS Agrupamento de dados 60 / 7

Complexidade de tempo do K-médias Calcular uma distância entre dois vetores é O(M). Passo de reatribuição: O(KNM) (precisamos calcular KN distâncias centroide-documento, sendo K grupos) Passo de recomputação: O(NM) (adicionamos cada um dos < M valores do documento para um dos centroides) Número de iterações delimitado por I Complexidade geral: O(IKNM) linear em todas as dimensões importantes Porém, essa não é uma análise de pior caso Em casos patológicos, complexidades podem ser pior que linear Agrupamento de dados 6 / 7

O que é um bom agrupamento? Critério interno Exemplo de um critério interno: RSS no K-médias Mas um critério interno não avalia diretamente a utilidade de um agrupamento na aplicação Alternativa: critério externo Avaliar de acordo com uma classificação definida previamente Agrupamento de dados 63 / 7

Critério externo para qualidade de agrupamento Usar conjunto de documentos conhecido Meta: agrupamento deve reproduzir classes conhecidas Mas somente queremos reproduzir como os documento são dividos em grupos, sem usar os rótulos para treinamento Medida de quão bem conseguimos reproduzir as classes: pureza Agrupamento de dados 64 / 7

Critério externo: pureza pureza(ω,c) = N k max ω k c j j Ω = {ω,ω,...,ω K } é o conjunto de grupos e C = {c,c,...,c J } é o conjunto de classes. Para cada grupo ω k : encontrar classe c j com mais membros n kj em ω k Soma todos os n kj e dividir pelo número total de pontos Agrupamento de dados 65 / 7

Exemplo: pureza grupo grupo grupo 3 x o x x x x x o o o o x x Para calcular a pureza: 5 = max j ω c j (classe x, grupo ); 4 = max j ω c j (classe o, grupo ); e 3 = max j ω 3 c j (classe, grupo 3). Pureza é (/7)(5+4+3) 0.7. Agrupamento de dados 66 / 7

Outras medidas de avaliação externa Informação mútua normalizada (IMN) Quanta informação o agrupamento tem sobre a classificação? Grupos unitários (número de grupos = número de docs) tem informação mútua máxima Portanto: normalizar pela entropia dos grupos e classes Medida F Agrupamento de dados 67 / 7

Quantos grupos? Número de grupos K é conhecido em muitos casos E.g., pode haver restrição externa em K. Exemplo: No caso de Scatter-Gather, difícil mostrar mais que 0 0 grupos ao mesmo tempo E se não há limitação em K? Há um número correto de grupos? Uma forma: definir um critério de otimização Dados os docs, encontrar K para os quais o ótimo é encontrado Qual critério de otimização podemos usar? Não podemos usar RSS ou distância média quadrática ao centroide como critério: definiria sempre K = N. Agrupamento de dados 69 / 7

Função objetivo simples para K: ideia básica Iniciar com grupo (K = ) Continuar adicionando grupos (= continua aumentando K) Adicionar uma penalidade para cada novo grupo Então ponderar a penalidade do grupo em relação à distância quadrática média Escolher valore de K com melhor ponderação penalidade/distância quadrática média Agrupamento de dados 70 / 7

Função objetivo simples para K Dado um agrupamento, definir o custo para um documento como a distância quadrática para o centroide Definir distorção total RSS(K) como a soma de todos os custos individuais de cada documento (corresponde à distância média) Então, penalizar cada grupo com um custo λ Então para cada agrupamento com K grupo, penalidade total de grupos é Kλ Definir o custo total de um agrupamento como a distorção mais a penalidade total de grupo: RSS(K) + Kλ Selecionar K que minimiza (RSS(K) + Kλ) Ainda precisa determinar bom valor para λ... Agrupamento de dados 7 / 7

Encontrar o joelho da curva residual sum of squares 750 800 850 900 950 4 6 8 0 number of clusters Escolher o número de grupos onda a curva dobra. Aqui: 4 ou 9. Agrupamento de dados 7 / 7